mjs [Sun, 21 Oct 2007 23:16:05 +0000 (23:16 +0000)]
Reviewed by Adam.
- rebalance new tests
Scaled the new tests so they take 400-600ms on a reasonably normal user setup:
Internet Explorer 7, Window XP, Dell Latitude D810 with a 2.13GHz Pentium M
This balances them with the existing tests.
* tests/access-binary-trees.js:
* tests/access-nsieve.js:
* tests/bitops-nsieve-bits.js:
* tests/math-partial-sums.js:
* tests/math-spectral-norm.js:
* tests/string-fasta.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26855
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp [Sun, 21 Oct 2007 22:44:54 +0000 (22:44 +0000)]
2007-10-21 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Cairo canvas fixes:
Fix a refcounting issue leading to leaks and crashes on canvas
content.
Delegate memory management of canvas images to Cairo.
Mark unhandled conditions with notImplemented() instead of silently
ignoring them.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
* html/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyStrokeColor):
* html/CanvasStyle.h:
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::createDrawingContext):
(WebCore::HTMLCanvasElement::createPlatformImage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26854
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Sun, 21 Oct 2007 21:17:31 +0000 (21:17 +0000)]
Not reviewed.
Forgot to land the new computed style results in fast/css - after the addition of glyph-orientation-*.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26853
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Sun, 21 Oct 2007 20:35:24 +0000 (20:35 +0000)]
Reviewed by Eric.
Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.
The SVG layouting code itself doesn't handle these properties yet,
it's just about recognizing them in the SVG CSS engine.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26852
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Sun, 21 Oct 2007 18:40:57 +0000 (18:40 +0000)]
WebKitSite:
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=15592
DOM Exception opening up client-side database example for the first time
There was a race condition when creating the WebKitStickyNotes table for the
first time in which the loaded() function (renamed to loadNotes()) could be
called before the table was created. Prevent this by only calling loadNotes()
in an executeSql() callback after we know the table exists, or after we know
the table has been created.
* misc/DatabaseExample.html: Renamed loaded() function to loadNotes().
Created a new loaded() function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26851
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 21 Oct 2007 18:37:23 +0000 (18:37 +0000)]
- fix Windows build
* kjs/array_instance.h: Removed unused ExecState parameter.
* kjs/array_object.cpp:
(KJS::ArrayInstance::put): Ditto.
(KJS::ArrayInstance::setLength): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26850
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp [Sun, 21 Oct 2007 18:36:11 +0000 (18:36 +0000)]
2007-10-21 Christian Dywan <christian@twotoasts.de>
Reviewed by Alp.
http://bugs.webkit.org/show_bug.cgi?id=15589
Use glib's path separator on gtk
* platform/gtk/FileSystemGtk.cpp:
(WebCore::pathByAppendingComponent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26849
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 21 Oct 2007 16:53:12 +0000 (16:53 +0000)]
* kjs/array_object.cpp: (KJS::ArrayInstance::put):
Add missing assignment that was causing regression test crash.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26848
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 21 Oct 2007 15:12:08 +0000 (15:12 +0000)]
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15585
speed up sparse arrays by using a custom map
Speeds up SunSpider by 10%.
* kjs/array_object.cpp:
(allocateStorage): Leave room for an additional pointer.
(reallocateStorage): Ditto.
(freeStorage): Ditto.
(ArrayInstance::~ArrayInstance): Delete the overflow map if present.
(ArrayInstance::getItem): Read values from the overflow map if present.
Removed the check of length, since it slows down the common case.
(ArrayInstance::getOwnPropertySlot): Ditto. Also removed the fallback
to the property map.
(ArrayInstance::put): Write values into the overflow map as needed.
Also create overflow map when needed.
(ArrayInstance::deleteProperty): Remove values from the overflow map
as appropriate.
(ArrayInstance::getPropertyNames): Add a name for each identifier in
the property map. This is extremely inefficient.
(ArrayInstance::setLength): Remove any values in the overflow map
that are past the new length, as we formerly did with the property map.
(ArrayInstance::mark): Mark any values in the overflow map.
(compareByStringForQSort): Removed unneeded undefined case, since
compactForSorting guarantees we will have no undefined values.
(compareWithCompareFunctionForQSort): Ditto.
(ArrayInstance::compactForSorting): Copy all the values out of the
overflow map and destroy it.
* kjs/property_map.h: Removed now-unused getSparseArrayPropertyNames.
* kjs/property_map.cpp: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26847
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz [Sun, 21 Oct 2007 07:10:55 +0000 (07:10 +0000)]
WebCore:
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15259
<rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
Test: fast/text/word-space.html
* rendering/RenderBlock.cpp:
(WebCore::stripTrailingSpace): Added word-spacing to the width of the
space being stripped out.
* rendering/RenderText.cpp:
(WebCore::RenderText::trimmedPrefWidths): Changed handling of
leading space. Since Font::width includes leading space width but not
leading word spacing, this method needs to either remove the width of a
space character or add word spacing,
depending on stripFrontSpaces.
(WebCore::RenderText::calcPrefWidths): Corrected the check for adding
trailing word spacing so that it would work in the case where the last
space is ignored.
* rendering/bidi.cpp:
(WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
actually add word spacing to the total width.
LayoutTests:
Reviewed by Dave Hyatt.
- test for http://bugs.webkit.org/show_bug.cgi?id=15259
<rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
* fast/text/word-space.html: Added.
* platform/mac/fast/css/word-space-extra-expected.txt: Updated result.
* platform/mac/fast/text/word-space-expected.checksum: Added.
* platform/mac/fast/text/word-space-expected.png: Added.
* platform/mac/fast/text/word-space-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26846
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sun, 21 Oct 2007 06:48:49 +0000 (06:48 +0000)]
Add new transforms directory along with an initial layout test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26845
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sun, 21 Oct 2007 06:44:27 +0000 (06:44 +0000)]
Add new transforms directory along with an initial layout test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26844
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sun, 21 Oct 2007 06:39:56 +0000 (06:39 +0000)]
Land support for the transform CSS property. Basic painting now works properly. There are many open issues
that will have to be covered by individual bugs.
Reviewed by olliej
* css/CSSParser.cpp:
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::parseTransform):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateTransform):
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::boundingBox):
* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):
(WebCore::RenderObject::container):
* rendering/RenderStyle.cpp:
(WebCore::RenderStyle::applyTransform):
* rendering/RenderStyle.h:
(WebCore::TransformOperation::isScaleOperation):
(WebCore::TransformOperation::isRotateOperation):
(WebCore::TransformOperation::isSkewOperation):
(WebCore::TransformOperation::isTranslateOperation):
(WebCore::TransformOperation::isMatrixOperation):
(WebCore::ScaleTransformOperation::isScaleOperation):
(WebCore::RotateTransformOperation::isRotateOperation):
(WebCore::SkewTransformOperation::isSkewOperation):
(WebCore::TranslateTransformOperation::isTranslateOperation):
(WebCore::MatrixTransformOperation::isMatrixOperation):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::requiresLayer):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26843
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Sun, 21 Oct 2007 06:36:44 +0000 (06:36 +0000)]
Reviewed by Adam.
Add basic @font-face to the Web Inspector.
* page/InspectorController.cpp:
(WebCore::InspectorResource::type): Check for CachedResource::FontResource.
* page/inspector/Resource.js: Add support for Font types and font preview in the icon.
* page/inspector/ResourcePanel.js: Show a font preview for font resources.
* page/inspector/inspector.css: Style for the font preview and font icon.
* page/inspector/inspector.js: Add font mime types.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26842
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sun, 21 Oct 2007 05:19:13 +0000 (05:19 +0000)]
Reviewed by Mark Rowe.
Fixes:
- http://bugs.webkit.org/show_bug.cgi?id=14393
Column on the left side of the Web Inspector should have a smaller minimum width for resizing
- http://bugs.webkit.org/show_bug.cgi?id=14394
Left pane of the Web Inspector "shakes" when resizing it to maximum width
* page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
and window.innerWidth - 100 max-width for the sidebar. The change also makes the viewbuttons
move with the sidebar.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26841
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz [Sun, 21 Oct 2007 04:00:28 +0000 (04:00 +0000)]
WebCore:
Reviewed by Dave Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=15208
display:table causes the collapsed text to show at a different position when expanded
Test: fast/table/insert-before-anonymous-ancestors.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
that change was supposed to accomplish has since been done in other
places in the code.
LayoutTests:
Reviewed by Dave Hyatt.
- test and updated results for http://bugs.webkit.org/show_bug.cgi?id=15208
display:table causes the collapsed text to show at a different position when expanded
* fast/table/form-in-table-before-misnested-text-crash-css-expected.txt:
* fast/table/form-in-table-before-misnested-text-crash-expected.txt:
* fast/table/insert-before-anonymous-ancestors.html: Added.
* fast/table/section-in-table-before-misnested-text-crash-css-expected.txt:
* fast/table/section-in-table-before-misnested-text-crash-expected.txt:
* platform/mac/fast/table/insert-before-anonymous-ancestors-expected.checksum: Added.
* platform/mac/fast/table/insert-before-anonymous-ancestors-expected.png: Added.
* platform/mac/fast/table/insert-before-anonymous-ancestors-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26840
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Sun, 21 Oct 2007 03:06:33 +0000 (03:06 +0000)]
2007-10-20 Eric Seidel <eric@webkit.org>
Reviewed by aroben.
* Scripts/find-extra-includes: fix path matching regex to not match ".patch"
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26839
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Sun, 21 Oct 2007 02:43:49 +0000 (02:43 +0000)]
2007-10-20 Eric Seidel <eric@webkit.org>
Reviewed by darin.
Add improved argument handling to run-sunspider, including
--runs=<number>, --shell=<path>, --tests=<pattern>, --shark, and --help
Also re-factor code into subroutines
* Scripts/build-dumprendertree: removed bogus comments
* Scripts/build-testkjs: Added.
* Scripts/run-javascriptcore-tests: use build-testkjs
* Scripts/run-sunspider: improved argument handling, abstraction
* Scripts/run-webkit-tests: improved abstraction
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26838
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sun, 21 Oct 2007 02:41:03 +0000 (02:41 +0000)]
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Dave Hyatt.
Fix http://bugs.webkit.org/show_bug.cgi?id=15584
Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance
* platform/Font.cpp:
(WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
glyph for the character, fall back to the missing glyph data rather than returning an
invalid GlyphData.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26837
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Sat, 20 Oct 2007 23:01:19 +0000 (23:01 +0000)]
Reviewed by Mark.
- Add more new tests, mostly from the computer language shootout. Not normalized yet.
* TODO:
* tests/LIST:
* tests/access-binary-trees.js: Added.
* tests/access-nsieve.js: Added.
* tests/bitops-nsieve-bits.js: Added.
* tests/math-partial-sums.js: Added.
* tests/math-spectral-norm.js: Added.
* tests/string-fasta.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26836
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 20 Oct 2007 22:54:46 +0000 (22:54 +0000)]
2007-10-20 Jasper Bryant-Greene <m@ni.ac.nz>
Reviewed by Maciej.
Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
as suggested by George Wright in #15108 (which this patch will
resolve).
This gives a more sane scrolling behaviour, rather than the
jumping to the end or start of the document as occurred previously.
* platform/gtk/WheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26835
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Sat, 20 Oct 2007 22:43:10 +0000 (22:43 +0000)]
Fix reviewer in ChangeLog.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26834
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Sat, 20 Oct 2007 22:42:45 +0000 (22:42 +0000)]
Reviewed by Eric.
* TODO: Updated to note areas that are now well-covered.
- Change the tests and the driver to avoid leaving large object
graphs hanging around, since that throws off the subsequent tests.
* resources/sunspider-standalone-driver.js:
* tests/3d-cube.js:
* tests/3d-morph.js:
* tests/3d-raytrace.js:
* tests/bitops-bitwise-and.js:
* tests/string-base64.js:
* tests/string-tagcloud.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26833
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 20 Oct 2007 22:38:44 +0000 (22:38 +0000)]
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15579
stop churning identifier reference counts copying Completion objects
* kjs/completion.h: Replace the Identifier with an Identifier*.
* kjs/nodes.cpp:
(ForInNode::execute): Update for change to Completion constructor.
(ContinueNode::execute): Ditto.
(BreakNode::execute): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26832
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp [Sat, 20 Oct 2007 22:10:04 +0000 (22:10 +0000)]
2007-10-20 Alp Toker <alp@atoker.com>
Reviewed by Eric.
Support text boundary detection.
Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
Split out and implement some TemporaryLinkStubs.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
* platform/gtk/Language.cpp: Added.
(WebCore::defaultLanguage):
* platform/gtk/TemporaryLinkStubs.cpp:
* platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
(WebCore::currentTextBreakLocaleID):
* platform/win/TextBoundariesWin.cpp: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26831
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 20 Oct 2007 21:00:53 +0000 (21:00 +0000)]
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
Bug 15574: Web Inspector doesn't work with the new Database feature
The executeSql callback is executed in the security domain of the web page that owns the database,
while the inspector's window object is in the callback functions scope chain. This is leading to a
security violation when the callback attempts to access "document". We can work around this by
ensuring that "document" can be found in the scope chain before the window object.
* page/inspector/DatabasePanel.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26830
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose [Sat, 20 Oct 2007 18:57:23 +0000 (18:57 +0000)]
Windows build fix
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26829
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 20 Oct 2007 18:25:59 +0000 (18:25 +0000)]
2007-10-20 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Adam.
Convert TIFFs to PNGs so that the demo page is fully-functional in the Gtk port.
* misc/DatabaseExample.html:
* misc/deleteButton.png: Added.
* misc/deleteButton.tiff: Removed.
* misc/deleteButtonPressed.png: Added.
* misc/deleteButtonPressed.tiff: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26828
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 20 Oct 2007 17:30:30 +0000 (17:30 +0000)]
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15567
speed up hashing const char* by removing call to strlen
This includes one other fix as well. Both were from a day where I did some
profiling to find hot spots when running the page load test.
* platform/StringImpl.cpp:
(WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
Also change the argument names to not confusingly use m_ prefixes.
(WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
don't have null.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26827
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 20 Oct 2007 17:29:25 +0000 (17:29 +0000)]
WebKitTools:
Reviewed by Tim Hatcher.
- http://bugs.webkit.org/show_bug.cgi?id=15544
<rdar://problem/5076426> fast/events/arrow-navigation.html needs to
not rely on Apple-specific key codes
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController keyDown:withModifiers:]):
Added named key "rightArrow". Later we could have a whole table of these.
Also tweaked modifiers code a little.
* DumpRenderTree/win/EventSender.cpp: (keyDownCallback): Ditto.
LayoutTests:
Reviewed by Tim Hatcher.
- http://bugs.webkit.org/show_bug.cgi?id=15544
<rdar://problem/5076426> fast/events/arrow-navigation.html needs to
not rely on Apple-specific key codes
* fast/events/arrow-navigation.html: Use "rightArrow" instead.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26826
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 20 Oct 2007 17:26:10 +0000 (17:26 +0000)]
Reviewed by Eric.
- http://bugs.webkit.org/show_bug.cgi?id=15566
possible fix for leak seen in DumpRenderTree
* DumpRenderTree/WorkQueue.cpp: (WorkQueue::queue):
Delete the item if it's not put on the queue, since the caller has
no way of knowing that. Would be better to have the parameter type
be auto_ptr to express the fact that we take ownership.
- unrelated change
* Drosera/mac/main.m: Add missing include.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26825
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 20 Oct 2007 13:54:48 +0000 (13:54 +0000)]
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Alp.
Gtk changes needed to enable HTML 5 client-side database storage.
JavaScriptCore:
* wtf/Platform.h: Have Gtk use pthreads for now.
WebCore:
* WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
* platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.
WebKit/gtk:
* Api/webkitgtkglobal.cpp: Set a default database path based on the user data directory.
This should become configurable by client applications in the future.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26824
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 20 Oct 2007 13:01:18 +0000 (13:01 +0000)]
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Alp.
Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
from the main event loop.
* WebCore.pro:
* platform/gtk/TemporaryLinkStubs.cpp:
* platform/gtk/ThreadingGtk.cpp: Added.
(WebCore::callFunctionOnMainThread):
(WebCore::callOnMainThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26823
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 20 Oct 2007 13:00:56 +0000 (13:00 +0000)]
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Eric.
Don't allow control characters to be inserted into editable regions.
* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::handleKeypress):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26822
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Sat, 20 Oct 2007 12:55:49 +0000 (12:55 +0000)]
Reviewed by Eric.
Fix non-functional display="inline" / display="none" for SVG text.
Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26821
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 20 Oct 2007 11:17:13 +0000 (11:17 +0000)]
2007-10-20 Mark Rowe <mrowe@apple.com>
Reviewed by Alp.
Replace #ifdef'd code with the appropriate use of a forwarding header.
* ForwardingHeaders/kjs/array_instance.h: Added.
* bindings/js/JSDatabaseCustom.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26820
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Sat, 20 Oct 2007 10:37:17 +0000 (10:37 +0000)]
Reviewed by Oliver.
Add support for 'kerning' property in SVG text layout code.
Support all textLength/lengthAdjust modes on normal text & textPaths.
Support letter & word spacing on textPath.
Fix text selection when any spacing (letter/word/kerning) is involved.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
svg/batik/text/textLayout.svg (kerning support)
svg/text/text-spacing-01-b.svg (text selection)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26819
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Sat, 20 Oct 2007 10:37:12 +0000 (10:37 +0000)]
Fix typo
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26818
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Sat, 20 Oct 2007 10:30:45 +0000 (10:30 +0000)]
Make the notes sticky!
Reviewed by Mark.
* misc/DatabaseExample.html:
* misc/deleteButton.tiff: Added.
* misc/deleteButtonPressed.tiff: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26817
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 20 Oct 2007 10:20:09 +0000 (10:20 +0000)]
2007-10-20 Rodney Dawes <dobey@wayofthemonkey.com>
Reviewd by Darin.
http://bugs.webkit.org/show_bug.cgi?id=15563
Fix conflict with X11 Window type in WebCore
* WebCore/bindings/js/JSDocumentCustom.cpp:
* WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
* WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
* WebCore/bindings/js/kjs_dom.cpp:
* WebCore/bindings/js/kjs_events.cpp:
* WebCore/bindings/js/kjs_proxy.cpp:
* WebCore/history/CachedPage.cpp:
* WebCore/page/Chrome.cpp:
* WebCore/page/Frame.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26816
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann [Sat, 20 Oct 2007 09:45:01 +0000 (09:45 +0000)]
Fix the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26815
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Sat, 20 Oct 2007 08:51:48 +0000 (08:51 +0000)]
Reviewed by Nikolas.
- Rebalance test complexity.
Scaled all the tests so they take 400-600ms on a reasonably normal user setup:
Internet Explorer 7, Window XP, Dell Latitude D810 with a 2.13GHz Pentium M
However, for some tests, IE7 was a huge outlier compared to other
major browsers. For those tests, I used Firefox 2.0.0.8 on the
same OS and hardware as a normalization basis.
* tests/3d-morph.js:
* tests/3d-raytrace.js:
* tests/bitops-3bit-bits-in-byte.js:
* tests/bitops-bits-in-byte.js:
* tests/bitops-bitwise-and.js:
* tests/math-cordic.js:
* tests/string-base64.js:
* tests/string-tagcloud.js:
* tests/string-unpack-code.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26814
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Sat, 20 Oct 2007 08:11:55 +0000 (08:11 +0000)]
Reviewed by Oliver.
- Fix the browser-hosted driver to be compatible with Safari 2
* hosted/sunspider-driver.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26813
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Sat, 20 Oct 2007 08:05:36 +0000 (08:05 +0000)]
Rubber stamped by Hyatt.
- Add BSD license notice to cordic test, the original author said to do so.
* tests/math-cordic.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26812
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Sat, 20 Oct 2007 07:11:53 +0000 (07:11 +0000)]
Reviewed by Maciej Stachowiak.
Fixed http://bugs.webkit.org/show_bug.cgi?id=15570
Store gathered declaration nodes in the function body node.
This means that you only have to gather the declaration nodes the first
time the function executes. Performance gain of 2.10% on SunSpider,
0.90% on command-line JS iBench.
* kjs/nodes.cpp: Split declaration stack initialization code off into
initializeDeclarationStacks().
(FunctionBodyNode::FunctionBodyNode):
(FunctionBodyNode::initializeDeclarationStacks):
(FunctionBodyNode::processDeclarations):
* kjs/nodes.h: Changed DeclarationStacks structure to hold references,
since the actual Vectors are now stored either on the stack or in the
function body node.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26811
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp [Sat, 20 Oct 2007 05:37:07 +0000 (05:37 +0000)]
2007-10-19 Alp Toker <alp@atoker.com>
Reviewed by Oliver.
GTK+ build fix enabling the new local database storage feature.
There is also a prospective Qt build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26810
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Sat, 20 Oct 2007 05:20:20 +0000 (05:20 +0000)]
Added Bugzilla link to ChangeLog
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26809
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Sat, 20 Oct 2007 05:18:23 +0000 (05:18 +0000)]
Reviewed by Darin Adler.
To improve encapsulation, moved processDeclarations call into
FunctionBodyNode::execute. Also marked processDeclarations
ALWAYS_INLINE, since it has only 1 caller now. This is a .71% speedup
on command-line JS iBench.
* kjs/function.cpp:
(KJS::FunctionImp::callAsFunction):
(KJS::GlobalFuncImp::callAsFunction):
* kjs/function.h:
* kjs/interpreter.cpp:
(KJS::Interpreter::evaluate):
* kjs/nodes.cpp:
(FunctionBodyNode::execute):
* kjs/nodes.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26808
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andrew [Sat, 20 Oct 2007 04:08:30 +0000 (04:08 +0000)]
Reviewed by Brady Eidson.
Mac build fix.
* WebCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26806
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sat, 20 Oct 2007 03:09:43 +0000 (03:09 +0000)]
Updating window properties to include new features from HTML5 database support
RS=Mark
* fast/dom/Window/window-properties-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26805
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Sat, 20 Oct 2007 02:20:01 +0000 (02:20 +0000)]
Reviewed by Mark Rowe.
Fix a couple of exceptions for first time users.
* misc/DatabaseExample.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26804
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp [Sat, 20 Oct 2007 01:48:21 +0000 (01:48 +0000)]
2007-10-19 Alp Toker <alp@atoker.com>
Reviewed by Oliver.
Use platform colors for text selection.
Update the cache when the GTK style is changed.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::gtkStyleSet):
(WebCore::RenderThemeGtk::gtkEntry):
* platform/gtk/RenderThemeGtk.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26803
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Sat, 20 Oct 2007 01:18:27 +0000 (01:18 +0000)]
WebCore:
Reviewed by Beth.
Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
Test: fast/forms/menulist-no-overflow.html
* rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.
LayoutTests:
Reviewed by Beth.
Test for <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
* fast/forms/menulist-no-overflow.html: Added.
* platform/mac/fast/forms/menulist-no-overflow-expected.checksum: Added.
* platform/mac/fast/forms/menulist-no-overflow-expected.png: Added.
* platform/mac/fast/forms/menulist-no-overflow-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26802
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Sat, 20 Oct 2007 01:06:26 +0000 (01:06 +0000)]
Reviewed by Brady.
Move some SQL-related classes to platform/sql.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* loader/icon/SQLDatabase.cpp: Removed.
* loader/icon/SQLDatabase.h: Removed.
* loader/icon/SQLStatement.cpp: Removed.
* loader/icon/SQLStatement.h: Removed.
* loader/icon/SQLTransaction.cpp: Removed.
* loader/icon/SQLTransaction.h: Removed.
* platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
* platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
* platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
* platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
* platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
* platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26801
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Sat, 20 Oct 2007 00:49:20 +0000 (00:49 +0000)]
Reviewed by Brady.
Make example actually work.
* misc/DatabaseExample.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26800
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Sat, 20 Oct 2007 00:45:33 +0000 (00:45 +0000)]
WebCore:
Reviewed by Adam.
Update to match the latest version of the spec. Now, executeSQL takes an array
of SQL parameters instead of them being passed as arguments.
* bindings/js/JSDatabaseCustom.cpp:
(WebCore::JSDatabase::executeSql):
* page/inspector/DatabasePanel.js:
* storage/Database.idl:
WebKitSite:
Reviewed by Adam.
Update example.
* misc/DatabaseExample.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26799
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Sat, 20 Oct 2007 00:38:37 +0000 (00:38 +0000)]
Reviewed by Adam.
- This change should be identical but for some reason was not working
on my machine.
* Scripts/prepare-ChangeLog:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26798
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 20 Oct 2007 00:22:56 +0000 (00:22 +0000)]
WebCore:
Reviewed by Tim
Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
* storage/Database.cpp:
(WebCore::Database::performOpenAndVerify):
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::DatabaseTracker):
WebKitSite:
Reviewed by Tim
Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
* misc/DatabaseExample.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26797
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Fri, 19 Oct 2007 23:57:36 +0000 (23:57 +0000)]
Release build fix.
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26796
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 19 Oct 2007 23:37:09 +0000 (23:37 +0000)]
Remove stray printfs
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26793
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Fri, 19 Oct 2007 23:36:21 +0000 (23:36 +0000)]
Reviewed by Brady.
Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
already been locked, so lock the mutex first.
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThread):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26792
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 19 Oct 2007 23:34:03 +0000 (23:34 +0000)]
Better build fix
* loader/icon/SQLDatabase.cpp:
(WebCore::SQLDatabase::authorizerFunction): Definite works by 3.3.13
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26791
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 19 Oct 2007 23:25:46 +0000 (23:25 +0000)]
Build fix
* loader/icon/SQLDatabase.cpp:
(WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
added to SQLite, but I know they were by 3.4.0
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26790
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 19 Oct 2007 22:50:08 +0000 (22:50 +0000)]
JavaScriptCore:
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Sam
Queue -> Deque! and small style tweaks
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
* wtf/Deque.h: Added.
(WTF::DequeNode::DequeNode):
(WTF::Deque::Deque):
(WTF::Deque::~Deque):
(WTF::Deque::size):
(WTF::Deque::isEmpty):
(WTF::Deque::append):
(WTF::Deque::prepend):
(WTF::Deque::first):
(WTF::Deque::last):
(WTF::Deque::removeFirst):
(WTF::Deque::clear):
* wtf/Queue.h: Removed.
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Oliver
Added a simple LinkedList based Queue to wtf
We can make a better, more sophisticated an efficient one later, but have
needed one for some time, now!
* JavaScriptCore.xcodeproj/project.pbxproj:
* wtf/Queue.h: Added.
(WTF::QueueNode::QueueNode):
(WTF::Queue::Queue):
(WTF::Queue::~Queue):
(WTF::Queue::size):
(WTF::Queue::isEmpty):
(WTF::Queue::append):
(WTF::Queue::prepend):
(WTF::Queue::first):
(WTF::Queue::last):
(WTF::Queue::removeFirst):
(WTF::Queue::clear):
WebCore:
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Windows specific changes, as well as renaming Queue -> Deque
* ForwardingHeaders/wtf/Deque.h: Added.
* ForwardingHeaders/wtf/Queue.h: Removed.
* platform/win/FileSystemWin.cpp:
(WebCore::fileSize):
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::pathByAppendingComponent):
(WebCore::fileSystemRepresentation):
(WebCore::makeAllDirectories):
(WebCore::homeDirectoryPath):
* storage/Database.h:
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::documentGoingAway):
(WebCore::DatabaseThread::databaseGoingAway):
(WebCore::DatabaseThread::dispatchNextTaskIdentifier):
(WebCore::DatabaseThread::scheduleTask):
(WebCore::DatabaseThread::scheduleImmediateTask):
* storage/DatabaseThread.h:
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Tim and Anders
Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)
The specification is still in flux but the fundamentals are pretty solid and we can start using and testing
this implementation even while filing bugs to track changes in the spec as it becomes more final
There are some implementation details in this patch that seem unused or useless, but they remain in place
while the spec is in flux and might go one way or another.
* platform/Logging.cpp: Add StorageAPI logging channel
* platform/Logging.h:
* storage/Database.cpp: Added.
(WebCore::Database::databaseInfoTableName):
(WebCore::databaseVersionKey):
(WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
(WebCore::Database::Database):
(WebCore::Database::~Database):
(WebCore::Database::openAndVerifyVersion):
(WebCore::retrieveTextResultFromDatabase):
(WebCore::Database::getVersionFromDatabase):
(WebCore::setTextValueInDatabase):
(WebCore::Database::setVersionInDatabase):
(WebCore::Database::databaseThreadGoingAway): May be removed in the future
(WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
(WebCore::Database::enableAuthorizer):
(WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.
The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
(WebCore::Database::resetAuthorizer):
(WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage
(WebCore::Database::scheduleDatabaseCallback):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::performChangeVersion):
(WebCore::Database::performExecuteSql):
(WebCore::Database::performCloseTransaction):
(WebCore::Database::performGetTableNames):
(WebCore::Database::version): C++ version of the javascript API
(WebCore::Database::changeVersion): Ditto
(WebCore::Database::executeSql): Ditto
(WebCore::Database::closeTransaction): Ditto
(WebCore::Database::tableNames): For internal (WebInspector) use
(WebCore::Database::deliverAllPendingCallbacks):
(WebCore::Database::deliverPendingCallbacks):
* storage/Database.h: Added.
(WebCore::Database::databaseDebugName): For debug logging purposes
* storage/Database.idl: Added.
* storage/DatabaseAuthorizer.cpp: Added.
The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
tracking when effects certain sql statements might have (such as increasing the size of the database)
(WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
(WebCore::DatabaseAuthorizer::reset):
(WebCore::DatabaseAuthorizer::createTable):
(WebCore::DatabaseAuthorizer::createTempTable):
(WebCore::DatabaseAuthorizer::dropTable):
(WebCore::DatabaseAuthorizer::dropTempTable):
(WebCore::DatabaseAuthorizer::allowAlterTable):
(WebCore::DatabaseAuthorizer::createIndex):
(WebCore::DatabaseAuthorizer::createTempIndex):
(WebCore::DatabaseAuthorizer::dropIndex):
(WebCore::DatabaseAuthorizer::dropTempIndex):
(WebCore::DatabaseAuthorizer::createTrigger):
(WebCore::DatabaseAuthorizer::createTempTrigger):
(WebCore::DatabaseAuthorizer::dropTrigger):
(WebCore::DatabaseAuthorizer::dropTempTrigger):
(WebCore::DatabaseAuthorizer::createVTable):
(WebCore::DatabaseAuthorizer::dropVTable):
(WebCore::DatabaseAuthorizer::allowDelete):
(WebCore::DatabaseAuthorizer::allowInsert):
(WebCore::DatabaseAuthorizer::allowUpdate):
(WebCore::DatabaseAuthorizer::allowRead):
(WebCore::DatabaseAuthorizer::allowAnalyze):
(WebCore::DatabaseAuthorizer::allowPragma):
(WebCore::DatabaseAuthorizer::allowAttach):
(WebCore::DatabaseAuthorizer::allowDetach):
(WebCore::DatabaseAuthorizer::allowFunction):
(WebCore::DatabaseAuthorizer::disable):
(WebCore::DatabaseAuthorizer::enable):
(WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
it should be invisible to scripts
* storage/DatabaseAuthorizer.h: Added.
(WebCore::DatabaseAuthorizer::lastActionWasInsert):
(WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
* storage/DatabaseCallback.cpp: Added.
Generic item to queue up for callbacks on the main thread for database activities that take place on
a secondary thread
(WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
(WebCore::DatabaseChangeVersionCallback::performCallback):
(WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
(WebCore::DatabaseExecuteSqlCallback::performCallback):
* storage/DatabaseCallback.h: Added.
(WebCore::DatabaseCallback::~DatabaseCallback):
(WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
(WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
* storage/DatabaseTask.h: Added.
Generic work-item to be queued up on the background database thread
(WebCore::DatabaseTask::isComplete):
(WebCore::DatabaseOpenTask::exceptionCode):
(WebCore::DatabaseOpenTask::openSuccessful):
(WebCore::DatabaseTableNamesTask::tableNames):
* storage/DatabaseTask.cpp: Added.
(WebCore::DatabaseTask::DatabaseTask):
(WebCore::DatabaseTask::~DatabaseTask):
(WebCore::DatabaseTask::performTask):
(WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished
synchronously
(WebCore::DatabaseTask::waitForSynchronousCompletion):
(WebCore::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseOpenTask::doPerformTask):
(WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
(WebCore::DatabaseExecuteSqlTask::doPerformTask):
(WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
(WebCore::DatabaseChangeVersionTask::doPerformTask):
(WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
(WebCore::DatabaseTableNamesTask::doPerformTask):
* storage/DatabaseThread.cpp: Added.
The current design is that each Document will have its own DatabaseThread. This makes scripts on each
individual document more response at the cost of adding more threads and potentially creating concurrency
issues when the same database is open twice from two different documents
(WebCore::DatabaseThread::DatabaseThread):
(WebCore::DatabaseThread::~DatabaseThread):
(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
(WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
(WebCore::DatabaseThread::databaseThreadStart):
(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::dispatchNextTaskIdentifier):
(WebCore::DatabaseThread::scheduleTask):
(WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
the main thread requires a task be performed synchronously
(WebCore::DatabaseThread::wakeWorkThread):
* storage/DatabaseThread.h: Added.
* storage/DatabaseTracker.cpp: Added.
The DatabaseTracker is the master management of all databases. It will keep track of the filename for a given
unique database, keep track of the total disk usage per-origin, and policys per database/origin
(WebCore::DatabaseTracker::setDatabasePath):
(WebCore::DatabaseTracker::databasePath):
(WebCore::DatabaseTracker::tracker):
(WebCore::DatabaseTracker::DatabaseTracker):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::populateOrigins):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::addDatabase):
(WebCore::DatabaseTracker::deleteAllDatabases):
(WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
* storage/DatabaseTracker.h: Added.
* storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
(WebCore::SQLCallback::~SQLCallback):
* storage/SQLCallback.idl: Added.
* storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
(WebCore::SQLResultSet::SQLResultSet):
(WebCore::SQLResultSet::insertId):
(WebCore::SQLResultSet::rowsAffected):
(WebCore::SQLResultSet::errorCode):
(WebCore::SQLResultSet::error):
(WebCore::SQLResultSet::rows):
(WebCore::SQLResultSet::setInsertId):
(WebCore::SQLResultSet::setRowsAffected):
(WebCore::SQLResultSet::setErrorCode):
(WebCore::SQLResultSet::setErrorMessage):
* storage/SQLResultSet.h: Added.
* storage/SQLResultSet.idl: Added.
* storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
(WebCore::SQLResultSetRowList::length):
* storage/SQLResultSetRowList.h: Added.
(WebCore::SQLResultSetRowList::columnNames):
(WebCore::SQLResultSetRowList::values):
(WebCore::SQLResultSetRowList::addColumn):
(WebCore::SQLResultSetRowList::addResult):
* storage/SQLResultSetRowList.idl: Added.
* storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
(WebCore::VersionChangeCallback::~VersionChangeCallback):
* storage/VersionChangeCallback.idl: Added.
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Oliver + Same
Forwarding header for the new wtf/Queue.h
* ForwardingHeaders/wtf/Queue.h: Added.
2007-10-19 Anders Carlsson <beidson@apple.com>
Reviewed by Sam Weinig
Most of the Javascript binding support for the Storage API
* bindings/js/JSCustomSQLCallback.cpp: Added.
(WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
(WebCore::JSCustomSQLCallback::handleEvent):
* bindings/js/JSCustomSQLCallback.h: Added.
Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
handleEvent to a JS function or a JS object with a handleEvent function.
* bindings/js/JSCustomVersionChangeCallback.cpp: Added.
(WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
(WebCore::JSCustomVersionChangeCallback::handleEvent):
* bindings/js/JSCustomVersionChangeCallback.h: Added.
Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
handleEvent to a JS function or a JS object with a handleEvent function.
* bindings/js/JSDatabaseCustom.cpp: Added.
(WebCore::JSDatabase::executeSql):
Custom implementation of executeSql that takes an array of parameters.
(WebCore::JSDatabase::changeVersion):
Custom implementation of changeVersion.
* bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
(WebCore::JSSQLResultSetRowList::item):
Custom method that returns a JS object that corresponds to a given row in the database.
* bindings/scripts/CodeGeneratorJS.pm:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::openDatabase):
* page/DOMWindow.h:
* page/DOMWindow.idl:
Add openDatabase implementation.
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Oliver
Added tons of utility to the FileSystem abstractions, including moving
some stuff over from IconDatabase
* platform/FileSystem.h:
* platform/cf/FileSystemCF.cpp: Added.
(WebCore::fileSystemRepresentation):
* platform/mac/FileSystemMac.mm:
* platform/posix/FileSystemPOSIX.cpp: Added.
(WebCore::fileExists):
(WebCore::deleteFile):
(WebCore::fileSize):
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
2007-10-19 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam Roben
Preliminary Web Inspector support for the Storage API
(This patch does not include the support artwork)
* page/InspectorController.cpp:
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::setScriptObject):
(WebCore::databaseTableNames): Return the table names for a Database object.
(WebCore::InspectorController::setWindowVisible):
(WebCore::InspectorController::windowScriptObjectAvailable):
(WebCore::InspectorController::populateScriptResources):
(WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
(WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
(WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
(WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
(WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
* page/InspectorController.h:
* page/inspector/Database.js: Added.
* page/inspector/DatabasePanel.js: Added.
* page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
* page/inspector/inspector.css: Add styles for the database panel.
* page/inspector/inspector.html: Include DatabasePanel.js
* page/inspector/inspector.js: Support for adding and removing Database resources.
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Tim Hatcher
Added support for Chrome prompts required by the Storage API
* page/Chrome.cpp:
(WebCore::Chrome::runDatabaseSizeLimitPrompt):
* page/Chrome.h:
* page/ChromeClient.h:
* platform/graphics/svg/SVGImageEmptyClients.h:
2007-10-19 Brady Eidson <beidson@apple.com>
Contributions and Review by Anders
Various SQLite tweaks in preparation for the storage API
* loader/icon/SQLDatabase.cpp:
(WebCore::SQLDatabase::~SQLDatabase):
(WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
(WebCore::SQLDatabase::setAuthorizer):
(WebCore::SQLDatabase::lock):
(WebCore::SQLDatabase::unlock):
* loader/icon/SQLDatabase.h:
* loader/icon/SQLStatement.cpp:
(WebCore::SQLStatement::prepare): Switch to prepare16_v2
(WebCore::SQLStatement::bindDouble): Added
(WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
(WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
* loader/icon/SQLStatement.h:
(WebCore::SQLStatement::isPrepared):
* platform/sql/SQLAuthorizer.cpp: Added. Fully virtual interface to implement your own SQLite authorizer
* platform/sql/SQLAuthorizer.h: Added.
(WebCore::SQLAuthorizer::~SQLAuthorizer):
(WebCore::SQLAuthorizer::createTable):
(WebCore::SQLAuthorizer::createTempTable):
(WebCore::SQLAuthorizer::dropTable):
(WebCore::SQLAuthorizer::dropTempTable):
(WebCore::SQLAuthorizer::allowAlterTable):
(WebCore::SQLAuthorizer::createIndex):
(WebCore::SQLAuthorizer::createTempIndex):
(WebCore::SQLAuthorizer::dropIndex):
(WebCore::SQLAuthorizer::dropTempIndex):
(WebCore::SQLAuthorizer::createTrigger):
(WebCore::SQLAuthorizer::createTempTrigger):
(WebCore::SQLAuthorizer::dropTrigger):
(WebCore::SQLAuthorizer::dropTempTrigger):
(WebCore::SQLAuthorizer::createView):
(WebCore::SQLAuthorizer::createTempView):
(WebCore::SQLAuthorizer::dropView):
(WebCore::SQLAuthorizer::dropTempView):
(WebCore::SQLAuthorizer::createVTable):
(WebCore::SQLAuthorizer::dropVTable):
(WebCore::SQLAuthorizer::allowDelete):
(WebCore::SQLAuthorizer::allowInsert):
(WebCore::SQLAuthorizer::allowUpdate):
(WebCore::SQLAuthorizer::allowTransaction):
(WebCore::SQLAuthorizer::allowSelect):
(WebCore::SQLAuthorizer::allowRead):
(WebCore::SQLAuthorizer::allowAttach):
(WebCore::SQLAuthorizer::allowDetach):
(WebCore::SQLAuthorizer::allowReindex):
(WebCore::SQLAuthorizer::allowAnalyze):
(WebCore::SQLAuthorizer::allowFunction):
* platform/sql/SQLValue.cpp: Added. Contains a value for a SQLite database that can be one of a few types.
For now, just a String or a double
(WebCore::SQLValue::SQLValue):
(WebCore::SQLValue::string):
(WebCore::SQLValue::number):
* platform/sql/SQLValue.h: Added.
(WebCore::SQLValue::):
(WebCore::SQLValue::SQLValue):
(WebCore::SQLValue::type):
2007-10-19 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
Changed IconDatabase over to use new FileSystem apis
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::open):
WebKit:
Reviewed by Tim Hatcher
Added support for Chrome prompts required by the Storage API
Added support API for future managing of databases from the WebKit client
Added preference and initialization for the databases path
* Misc/WebDatabaseManager.h: Added. WebDatabaseManager is how a WebKit application can list and
remove the current available databases
* Misc/WebDatabaseManager.mm: Added.
(+[WebDatabaseManager origins]):
(+[WebDatabaseManager databasesWithOrigin:]):
(+[WebDatabaseManager deleteAllDatabases]):
(+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
(+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
(WebKitSetWebDatabasesPathIfNecessary): Setup the database path
* Misc/WebDatabaseManagerPrivate.h: Added.
* WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for
an origin exceeding its size limit
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::runDatabaseSizeLimitPrompt):
* WebKit.xcodeproj/project.pbxproj:
* WebView/WebUIDelegate.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
* WebView/WebViewInternal.h:
WebKitSite:
Reviewed by Tim Hatcher
Sample database API usage
* misc/DatabaseExample.html: Added.
WebKit/win:
Reviewed by Anders
Keep windows building with new Chrome additions
* WebChromeClient.cpp:
* WebChromeClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26787
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Fri, 19 Oct 2007 22:21:57 +0000 (22:21 +0000)]
Reviewed by Oliver and Tim.
- Made use of RetainPtr to avoid retain and release issues and moved the
log function to DebuggerDocumentPlatform, which seems to be a more
logical place for it to live.
- Also moved knownServers from the ServerConnection to
DebuggerApplication to match the Windows code and because it makes sense
that a connection knows its own server but not all of them.
* Drosera/mac/DebuggerClient.h: Moved the log function to
DebuggerDocumentPlatform.
* Drosera/mac/DebuggerClient.mm: Ditto. Also do not release the server
Because it's owned by an own Ptr in DebuggerDocument. Also moved the
call for the server name up from the ServerConnection class.
(-[DebuggerClient dealloc]):
(-[DebuggerClient webView:didReceiveTitle:forFrame:]): Moved the call
for the server name up from the ServerConnection.
* Drosera/mac/DebuggerDocumentPlatform.mm: Made the server an OwnPtr.
(DebuggerDocument::platformPause):
(DebuggerDocument::platformResume):
(DebuggerDocument::platformStepInto):
(DebuggerDocument::platformEvaluateScript):
(DebuggerDocument::getPlatformCurrentFunctionStack):
(DebuggerDocument::getPlatformLocalScopeVariableNamesForCallFrame):
(DebuggerDocument::platformValueForScopeVariableNamed):
(DebuggerDocument::platformLog): Log directly from here. No need to call
DebuggerClient.
* Drosera/mac/ServerConnection.h: Removed the knownServers function. The
way I see it, a ServerConnection should only know about its connection
and the group of all possible servers should be kept by the
application.
* Drosera/mac/ServerConnection.mm: Removed knownServer but added
currentServerName, it makes sense that the connection should know that
name.
(-[ServerConnection currentServerName]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26786
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 19 Oct 2007 22:00:16 +0000 (22:00 +0000)]
Fix for ebay parser crash.
Reviewed by Beth
fast/invalid/table-residual-style-crash.html added as a test
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26785
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 19 Oct 2007 21:58:46 +0000 (21:58 +0000)]
Add new layout test for parser crash.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26784
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Fri, 19 Oct 2007 21:25:53 +0000 (21:25 +0000)]
Reviewed by Anders.
Try to fix Qt/Win build slave, by including windows.h also on Qt/Win.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26783
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Fri, 19 Oct 2007 21:17:03 +0000 (21:17 +0000)]
Fix Windows, Qt and GTK builds.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26782
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Fri, 19 Oct 2007 21:03:44 +0000 (21:03 +0000)]
Rubberstamped by Oliver.
Land tiger baseline matching my MBP, as discussed with Oliver.
Mostly differences regarding the size of "(" / ")" characters.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26781
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Fri, 19 Oct 2007 20:53:22 +0000 (20:53 +0000)]
WebCore:
Reviewed by Darin.
Encapsulate the same origin check into the new SecurityOrigin class.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::defaultEventHandler):
* dom/Document.h:
(WebCore::Document::securityOrigin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::setOpener):
* loader/FrameLoader.h:
* platform/SecurityOrigin.cpp: Added.
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::clear):
(WebCore::SecurityOrigin::isEmpty):
(WebCore::SecurityOrigin::setForFrame):
(WebCore::SecurityOrigin::setDomainFromDOM):
(WebCore::SecurityOrigin::allowsAccessFrom):
(WebCore::SecurityOrigin::isSecureTransitionTo):
* platform/SecurityOrigin.h: Added.
LayoutTests:
Reviewed by Darin.
Update results after changing the warning message in isSafeScript to print the frame URL
rather than the security domain URL. This now also prints the warning when using data:
URLs because we no longer return early.
* http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
* http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt:
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt:
* http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26780
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullo [Fri, 19 Oct 2007 20:04:57 +0000 (20:04 +0000)]
Reviewed by Adam.
- Integrated changes from mac drosera. Recently I've encapsulated
out the server connection object from the rest of Drosera because
it is very platform dependent right now and RPC is not implemented on
windows. This functionality, of communicating with the WebKit server
is the next area I will be focusing on in Windows.
- Other changes and cleanup were made to organize the code and add notes
on which parts still need work. Also some mac code is added and
commented out, to act as pseudocode for the logic of those parts.
* Drosera/DebuggerDocument.h: Make the ServerConnection live in a smart
pointer.
* Drosera/config.h: Added whitespace.
* Drosera/win/DebuggerApplication.cpp: Removed. The functionality of
these files got moved into Drosera.h/cpp
* Drosera/win/DebuggerApplication.h: Removed.
* Drosera/win/DebuggerClient.cpp: Lots of cleanup and restructuring
happened here to better match the logic flow of the same code on the
mac side and to use the new ServerConnection class.
(DebuggerClient::DebuggerClient): Constructor that takes a server name.
(DebuggerClient::initWithServerName): Initializer that will set up the
class to use a ServerConnection object. This was necessary so I could
create a DebuggerClient without having to initilaize it at
construction.
(DebuggerClient::QueryInterface): Moved from Drosera.cpp, the Client
will be the UIDelegate and FrameLoadDelegate.
(DebuggerClient::AddRef): For IUnknown.
(DebuggerClient::Release): For IUnknown.
(DebuggerClient::didFinishLoadForFrame): Part of the FrameLoadDelegate
this still needs to set the global context of the server, but
IWebFrame does not have an accessor for the global context yet.
(DebuggerClient::windowScriptObjectAvailable): Part of FrameLoadDelegate
this is a pass through for the same function in the document.
(DebuggerClient::didReceiveTitle): Unimplemented part of
FrameLoadDelegate this would change the title of the window.
(DebuggerClient::createWebViewWithRequest): Part of the
FrameLoadDelegate. This is about new windows via Window.open() and
how their delegates are set.
(DebuggerClient::runJavaScriptAlertPanelWithMessage): Part of the
UIDelegate. Just a debug function for printing messages.
* Drosera/win/DebuggerClient.h: Moved functionality from Drosera.h
because the Client should be the UIDelegate and FrameLoadDelegate
to match the delegates on mac.
(DebuggerClient::webViewLoaded): Added accessor method.
* Drosera/win/DebuggerDocumentPlatform.cpp: Added. I had apperently
forgotten to add this file before. This is where the platform
dependent versions of the Documents functions live. Most of these are
unimplemented because some piece of functionality does not exist on
Windows yet.
(DebuggerDocument::platformPause):
(DebuggerDocument::platformResume):
(DebuggerDocument::platformStepInto):
(DebuggerDocument::platformEvaluateScript):
(DebuggerDocument::getPlatformCurrentFunctionStack):
(DebuggerDocument::getPlatformLocalScopeVariableNamesForCallFrame):
(DebuggerDocument::platformValueForScopeVariableNamed):
(DebuggerDocument::platformLog):
* Drosera/win/Drosera.cpp: Removed UIDelegate and FrameLoadDelegate
responsibilities becaue they belong in the Client. Also I laid the
groundwork for attaching Drosera to a WebKit process
(attachWndProc): Now if a server is selected the Client becomes it's
delegate.
(Drosera::Drosera): Added the construction of the Client and dictionary
of server names.
(Drosera::initUI): This is no longer the delegates, the Client is.
(Drosera::webViewLoaded): Now asks the Client instead of holding local
state.
(Drosera::applicationDidFinishLaunching): Placeholder for needed
notification registration when it's possible to implement.
(Drosera::serverLoaded): Ditto
(Drosera::serverUnloaded): Ditto
(Drosera::attach): Attach Drosera to the WebKit server.
* Drosera/win/Drosera.h: Ditto for Drosera.cpp comment.
(Drosera::getInst):
(Drosera::setInst):
(Drosera::knownServers):
* Drosera/win/Drosera.vcproj/Drosera.vcproj: Removed DebuggerApplication
and added the ServerConnection.
* Drosera/win/DroseraPrefix.h: Added an ifndef check.
* Drosera/win/ServerConnection.cpp: Added. This is the interesting part
Most of the functions are completely unimlemented because they cannot
connect with the WebKit server, because one does not exist on Windows
yet.
(ServerConnection::initWithServerName):
(ServerConnection::~ServerConnection):
(ServerConnection::setGlobalContext):
(ServerConnection::pause):
(ServerConnection::resume):
(ServerConnection::stepInto):
(ServerConnection::switchToServerNamed):
(ServerConnection::applicationTerminating):
(ServerConnection::serverConnectionDidDie):
(ServerConnection::currentFrame):
* Drosera/win/ServerConnection.h: Added. Ditto.
(ServerConnection::ServerConnection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26779
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aliceli1 [Fri, 19 Oct 2007 18:12:36 +0000 (18:12 +0000)]
Reviewed by Darin.
Fix for these broken layout tests on Windows:
fast/forms/focus-selection-input.html
fast/forms/focus-selection-textarea.html
fast/forms/select-accesskey.html
* DumpRenderTree/win/EventSender.cpp:
(keyDownCallback):
correct the VK code for alt key.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26778
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aliceli1 [Fri, 19 Oct 2007 18:05:46 +0000 (18:05 +0000)]
Reviewed by Darin.
* DumpRenderTree/win/EventSender.cpp:
(keyDownCallback):
correct the VK code for alt key.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26777
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 19 Oct 2007 17:51:57 +0000 (17:51 +0000)]
Reviewed by Tim Hatcher
- fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
* History/WebHistory.mm:
(-[WebHistoryPrivate removeAllItems]):
This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
to the other places where it's cleared.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26776
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz [Fri, 19 Oct 2007 17:33:38 +0000 (17:33 +0000)]
Rubber-stamped by Sam Weinig.
removing a commented-out test and a test that no longer fails
* platform/mac-leopard/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26775
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Fri, 19 Oct 2007 17:14:26 +0000 (17:14 +0000)]
LayoutTests:
Reviewed by Darin.
Provide the functionality of js-test-post.js in a function named isSuccessfullyParsed().
* fast/encoding/char-encoding.html: Updated to use js-test-post-function.js instead of local hack.
* fast/js/resources/js-test-post-function.js: Copied from LayoutTests/fast/js/resources/js-test-post.js.
Modified to create isSuccessfullyParsed() function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26774
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann [Fri, 19 Oct 2007 15:13:28 +0000 (15:13 +0000)]
Fix the Qt/Windows build: Added missing FontSelector.h include and re-order moc inclusion.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26773
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann [Fri, 19 Oct 2007 14:46:28 +0000 (14:46 +0000)]
Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26772
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann [Fri, 19 Oct 2007 14:14:13 +0000 (14:14 +0000)]
Fix compilation on Windows when wchar_t is a typedef instead of a native type (triggered by -Zc:wchar_t-).
Don't provide the wchar_t overloads then as they conflict with the unsigned short ones.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26771
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann [Fri, 19 Oct 2007 11:28:58 +0000 (11:28 +0000)]
Another build fix for the windows/qt build: Apply the same fix as in revision 26686 also to kjs/config.h to disable the disallowctype feature.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26770
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann [Fri, 19 Oct 2007 11:12:18 +0000 (11:12 +0000)]
Fix the windows/qt build by including config.h first to fix wtf/MathExtras.h inclusion.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26769
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann [Fri, 19 Oct 2007 10:38:45 +0000 (10:38 +0000)]
Fix the qt/windows build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26768
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 19 Oct 2007 08:58:14 +0000 (08:58 +0000)]
2007-10-19 Eric Seidel <eric@webkit.org>
Reviewed by Mark Rowe.
Make the GtkLauncher code slightly more readable.
* GtkLauncher/main.cpp:
(setupMainMenu): Added.
(setupMainWindowUI): Added.
(main):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26767
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 19 Oct 2007 08:01:39 +0000 (08:01 +0000)]
Rubber stamped by Adam.
- don't delay-load WebKit in DumpRenderTree.
* DumpRenderTree/win/DumpRenderTree.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26766
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz [Fri, 19 Oct 2007 02:45:24 +0000 (02:45 +0000)]
Rubber-stamped by Mark Rowe.
removing tests that no longer fail
* platform/mac-leopard/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26762
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Fri, 19 Oct 2007 02:19:44 +0000 (02:19 +0000)]
WebCore:
Reviewed by Kevin McCullough.
<rdar://problem/5483526>
GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
* editing/TextIterator.cpp:
(WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
between every VisiblePosition. We weren't emitting a space after some tables, because
we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
was emitted.
LayoutTests:
Reviewed by Kevin McCullough.
<rdar://problem/5483526>
GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
Demonstrates fix for the hang:
* editing/execCommand/5483526-expected.txt: Added.
* editing/execCommand/5483526.html: Added.
Fixed selection endpoint (problems with selection painting prevent this
from being reflected in the pixel test results):
* platform/mac/editing/execCommand/5432254-2-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26761
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 19 Oct 2007 02:14:09 +0000 (02:14 +0000)]
Reviewed by Adam.
- use __declspec(thread) for fast thread-local storage on Windows
- 2.2% speedup on sunspider (on Windows)
- 7% speedup on the string section
- 6% speedup on JS iBench
- fixed <rdar://problem/5473084> PLT on Windows got 2.5% slower between r25406 and r25422
- fixed at least some of <rdar://5527965? i-Bench JS was 14% slower in 310A11 than 310A10
* wtf/FastMalloc.cpp:
(WTF::getThreadHeap):
(WTF::setThreadHeap):
(WTF::TCMalloc_ThreadCache::GetCache):
(WTF::TCMalloc_ThreadCache::GetCacheIfPresent):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26760
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz [Fri, 19 Oct 2007 00:49:23 +0000 (00:49 +0000)]
Tiger build fix.
* WebView/WebDataSource.mm:
(-[WebDataSource _MIMETypeOfResponse:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26759
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz [Fri, 19 Oct 2007 00:33:19 +0000 (00:33 +0000)]
WebCore:
Reviewed by Adam Roben.
- fix <rdar://problem/5313523>
REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::doUpdateResourceResponse): Work around
<rdar://problem/5321972> by testing for the case of a response
with a MIME type of application/octet-stream and a Content-Type header
starting with text/plain and setting the MIME type to text/plain in
that case.
WebKit:
Reviewed by Adam Roben.
- fix <rdar://problem/5313523>
REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
* WebView/WebDataSource.mm:
(-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
<rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
with a MIMEType of application/octet-stream and a Content-Type header
starting with text/plain and returning text/plain as the MIME type in
that case.
(-[WebDataSource _responseMIMEType]): Added. Used to get the correct
response MIME type.
(-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
(-[WebDataSource _makeRepresentation]): Ditto.
(-[WebDataSource mainResource]): Ditto.
(-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
pass the MIME type explicitly.
(-[WebDataSource subresourceForURL:]): Ditto.
* WebView/WebDataSourcePrivate.h:
* WebView/WebFrameView.mm:
(-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
_responseMIMEType.
* WebView/WebResource.mm:
(-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
method to take a MIME type instead of extracting it from the response,
so that WebDataSource could pass the correct MIME type.
* WebView/WebResourcePrivate.h:
WebKitTools:
Reviewed by Adam Roben.
- fix <rdar://problem/5313523>
REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
* DumpRenderTree/mac/DumpRenderTree.mm:
(dump): Changed to use _responseMIMEType.
LayoutTests:
Reviewed by Adam Roben.
- removing fixed test
* platform/mac-leopard/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26758
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Thu, 18 Oct 2007 23:11:34 +0000 (23:11 +0000)]
2007-10-18 Mark Rowe <mrowe@apple.com>
Fix the no-SVG build.
* css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
LineCap, LineJoin and WindRule inside #if ENABLE(SVG).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26757
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 18 Oct 2007 21:59:23 +0000 (21:59 +0000)]
Reviewed by Anders.
- some small tweaks to the threading implementation
I had trouble building on Windows. Either the problem went away by itself
or one of these changes fixed it.
* platform/Threading.h: Eliminated the use of friend, and shared a single
declaration for the initializeThreading function.
* platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
Call impl() here.
* platform/win/ThreadingWin.cpp: Got rid of two globals here with static
constructors. Also added a typedef for the type of the function queue.
(WebCore::functionQueueMutex): Added function.
(WebCore::functionQueue): Ditto.
(WebCore::callFunctionsOnMainThread): Use functions instead of using the
globals directly.
(WebCore::callOnMainThread): Ditto.
* css/CSSParser.cpp: Had to touch this file to make things build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26756
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Thu, 18 Oct 2007 21:35:32 +0000 (21:35 +0000)]
Fix <rdar://5547784> ProgIDMacros.h should explicitly use wide strings
Reviewed by Adele.
* ProgIDMacros.h: Always use wide strings instead of relying on the
TEXT macro.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26755
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Thu, 18 Oct 2007 20:26:43 +0000 (20:26 +0000)]
Fix <rdar://5547462> Need to copy Inspector resources in Production builds
I also added an excludes file for the xcopy command to avoid copying
.svn folders.
Reviewed by Geoff.
* WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
resources.
* WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
xcopy.
* WebCore.vcproj/xcopy.excludes: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26751
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 18 Oct 2007 17:00:19 +0000 (17:00 +0000)]
WebCore:
Reviewed by Sam.
- fix http://bugs.webkit.org/show_bug.cgi?id=15541
REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
* page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.
LayoutTests:
Reviewed by Sam.
- test update for http://bugs.webkit.org/show_bug.cgi?id=15541
REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
* fast/dom/Window/alert-undefined-expected.txt: Back to expecting empty string for default value.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26750
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Thu, 18 Oct 2007 16:44:04 +0000 (16:44 +0000)]
Build fix. Not reviewed.
Hopefully fix win build by including wtf/MathExtras.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26749
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz [Thu, 18 Oct 2007 16:21:34 +0000 (16:21 +0000)]
WebCore:
Reviewed by Nikolas Zimmermann.
- fix http://bugs.webkit.org/show_bug.cgi?id=15367
Assertion failure inspecting a document including soft hyphen code (0xad)
Test: fast/text/word-break-soft-hyphen.html
* rendering/RenderText.cpp:
(WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as
word boundaries. This fixes the bug and is consistent with the fact that
run rounding does occur at soft hyphens.
LayoutTests:
Reviewed by Nikolas Zimmermann.
- test for http://bugs.webkit.org/show_bug.cgi?id=15367
Assertion failure inspecting a document including soft hyphen code (0xad)
* fast/text/word-break-soft-hyphen.html: Added.
* platform/mac/fast/text/word-break-soft-hyphen-expected.checksum: Added.
* platform/mac/fast/text/word-break-soft-hyphen-expected.png: Added.
* platform/mac/fast/text/word-break-soft-hyphen-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26746
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann [Thu, 18 Oct 2007 15:19:40 +0000 (15:19 +0000)]
Reviewed by Anders.
Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"
Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
to avoid excessive mallocs (in the testcase above 1000000x1000000)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26745
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Thu, 18 Oct 2007 09:57:20 +0000 (09:57 +0000)]
Windows build fix.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26744
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Thu, 18 Oct 2007 08:57:30 +0000 (08:57 +0000)]
Release build fix.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@26743
268f45cc-cd09-0410-ab3c-
d52691b4dbfc