text:
- 23:56 Changeset [28314] by
Reviewed by Tim
Added a default database quota of 5mb to the default WebPreferences
- WebView/WebPreferences.m: (+[WebPreferences initialize]):
- 22:43 Changeset [28313] by
2007-12-01 Alp Toker <firstname.lastname@example.com>
Reviewed by Adam Roben.
[Gtk] Allow API clients to interact with JavaScript in web pages
Include the necessary JavaScriptCore headers directly in the public
API headers.
This is the last of a series of changes needed to allow GTK+
applications to access the JS API.
Until http://bugs.webkit.org/show_bug.cgi?id=16029 is resolved,
developers will still have to include the individual JS API headers
individually if they want to use it in their applications.
Patch also removes some old legacy use of GDK that was in
WebKitWebFrame. No ABI change.
- WebView/webkitdefines.h:
- WebView/webkitwebframe.h:
- WebView/webkitwebview.h:
- 22:14 Changeset [28312] by
Reviewed by Adam.
- Fix a crash when removing a loading media element from the tree.
- Follow the spec by invoking pause() when element is removed from the tree instead of unloading.
Tests: http/tests/media/remove-while-loading.html
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::removedFromDocument):
Reviewed by Adam.
Test that removing a media element when it is loading does not crash.
Test that media is paused when it is removed from the tree.
- http/tests/media/remove-while-loading-expected.txt: Added.
- http/tests/media/remove-while-loading.html: Added.
- media/remove-from-document-expected.txt: Added.
- media/remove-from-document.html: Added.
- 21:24 Changeset [28311] by
2007-12-01 Alp Toker <email@example.com>
Reviewed by Adam Roben.
kJSClassDefinitionEmpty is not exported with JS_EXPORT
Add JS_EXPORT to kJSClassDefinitionEmpty.
Make the gcc compiler check take precedence over the WIN32 _WIN32
check to ensure that symbols are exported on Windows when using gcc.
Add a TODO referencing the bug about JS_EXPORT in the Win build
Don't define JS_EXPORT as 'extern' when the compiler is unknown since
it would result in the incorrect expansion:
extern extern const JSClassDefinition kJSClassDefinitionEmpty;
(This was something we inherited from CFBase.h that doesn't make sense
for JSBase.h)
- API/JSBase.h:
- API/JSObjectRef.h:
- 15:59 Changeset [28310] by
Reviewed by Beth Dakin.
Restored the test string in this test.
- manual-tests/window-open-features-parsing.html:
- 15:56 Changeset [28309] by
Reviewed by Beth Dakin.
Reversed the ownership relationship between Interpreter and JSGlobalObject.
Now, the JSGlobalObject owns the Interpreter, and top-level objects
that need the two to persist just protect the JSGlobalObject from GC.
Global object bootstrapping looks a little odd right now, but it will
make much more sense soon, after further rounds of refactoring.
- bindings/runtime_root.h: Made this class inherit from RefCounted, to avoid code duplication.
- kjs/collector.cpp: (KJS::Collector::collect): No need to give special GC treatment to Interpreters, since we mark their global objects, which mark them.
- kjs/interpreter.cpp: (KJS::Interpreter::mark): No need to mark our global object, since it marks us.
- kjs/interpreter.h: Don't inherit from RefCounted -- JSGlobalObject owns us directly.
- kjs/testkjs.cpp: Modified to follow the new rules. (createGlobalObject): (runWithScripts):
Reviewed by Beth Dakin.
Modified to follow new JSGlobalObject/Interpreter ownership rules
in JavaScriptCore.
- JSRun.cpp: (JSRun::JSRun): (JSRun::GetInterpreter): (JSRun::Evaluate): (JSRun::CheckSyntax):
- JSRun.h:
- JSValueWrapper.cpp: (unprotectGlobalObject): (initializeGlobalObjectKey): (getThreadGlobalExecState):
Reviewed by Beth Dakin.
Modified WebCore to follow the new JSGlobalObject/Interpreter ownership
rules in JavaScriptCore.
- bindings/js/kjs_binding.cpp:
- bindings/js/kjs_binding.h: Removed stale, unused interpreterForGlobalObject().
- bindings/js/kjs_proxy.cpp: Changed to store a global object, rather than an interpreter. (WebCore::KJSProxy::finishedWithEvent): Need to NULL check m_globalObject here because we no longer unnecessarily instantiate it.
- bindings/js/kjs_window.cpp: (KJS::ScheduledAction::execute):
- bindings/js/kjs_window.h: Removed redundant and less efficient interpreter() function -- global objects have direct access to their interpreters now.
Changed these functions to pass around JSGlobalObjects instead of
- page/Frame.cpp: (WebCore::Frame::bindingRootObject): (WebCore::Frame::createRootObject):
- page/Frame.h:
- page/mac/WebCoreFrameBridge.mm: (createRootObject):
- 15:35 Changeset [28308] by
- Check to see if the directory exists and exit if not.
- 14:32 BuildingGtk edited by
- Add links to distribution packages (diff)
- 14:29 Changeset [28307] by
Rename IWebViewPrivate::selectionImageRect to IWebViewPrivate::selectionRect.
Rubber stamped by Adam Roben.
- Interfaces/IWebViewPrivate.idl:
- WebView.cpp: (WebView::selectionRect):
- WebView.h:
- 14:15 Changeset [28306] by
Reviewed by Mark Rowe.
- config.ini: Correct blog name.
- 13:08 Changeset [28305] by
Update StringsNotToBeLocalized.txt.
- 11:43 UsingGitWithWebKit edited by
- (diff)
- 11:04 Changeset [28304] by
Reviewed by Mitz.
- fix problem tracked by these bugs: http://bugs.webkit.org/show_bug.cgi?id=16097 <rdar://problem/5619305> Safari crashes during load of LexisNexis search results <rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at WebCore::DocumentLoader::isLoadingMultipartContent const
- loader/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement instead of an HTMLImageElement. (WebCore::ImageDocument::scale): Added a null check for m_imageElement. (WebCore::ImageDocument::resizeImageToFit): Ditto. (WebCore::ImageDocument::restoreImageSize): Ditto. (WebCore::ImageDocument::imageFitsInWindow): Ditto. (WebCore::ImageDocument::windowSizeChanged): Ditto. (WebCore::ImageDocumentElement::~ImageDocumentElement): Call disconnectImageElement so m_imageElement will be set to 0 if we're still connected to the document. (WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto.
- loader/ImageDocument.h: Changed image element type to be ImageDocumentElement instead of HTMLImageElement. Also added a disconnectImageElement function that sets m_imageElement to 0.
- 10:44 Changeset [28303] by
- remove the empty directories
- ksvg2: Removed.
- ksvg2/css: Removed.
- ksvg2/events: Removed.
- ksvg2/misc: Removed.
- ksvg2/scripts: Removed.
- 10:09 Changeset [28302] by
Ignore another file that's now part of hosted SunSpider.
- 08:51 Changeset [28301] by
2007-12-01 Julien Chaffraix <firstname.lastname@example.com>
Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers
Reviewed by Darin Adler.
- xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader):
Test: http/tests/xmlhttprequest/set-dangerous-headers.html
2007-12-01 Julien Chaffraix <email@example.com>
Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers
Reviewed by Darin Adler.
- http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
- http/tests/xmlhttprequest/set-dangerous-headers.html: Added tests for new headers
- 08:41 Changeset [28300] by
2007-12-01 Rahul Abrol <email@example.com>
Reviewed by Adam Roben.
Ignore resizable=no for window.open().
- bindings/js/kjs_window.cpp: (KJS::setWindowFeature): (KJS::parseWindowFeatures):
- manual-tests/window-open-features-parsing.html:
- 08:33 Changeset [28299] by
Reviewed by Darin Adler.
- fix <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout)
Test: fast/dynamic/subtree-common-root.html
- page/FrameView.cpp: (WebCore::FrameView::layoutRoot): Added a parameter to let this method return the layout root for a pending layout as well. (WebCore::FrameView::scheduleRelayoutOfSubtree): Pass the new root to markContainingBlocksForLayout(). Otherwise, markContainingBlocksForLayout() could mark past the new root, if it had previously been marked as having a normal child needing layout and then was reached via a positioned child.
- page/FrameView.h:
- rendering/RenderBox.cpp: (WebCore::RenderBox::calcWidth):
- rendering/RenderObject.cpp: (WebCore::RenderObject::~RenderObject): Fixed the ASSERT so that it would really catch deletion of the layout root. (WebCore::RenderObject::markContainingBlocksForLayout): Added the newRoot parameter, which tells this method where to stop marking.
- rendering/RenderObject.h:
Reviewed by Darin Adler.
- test for <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout)
- fast/dynamic/subtree-common-root-expected.txt: Added.
- fast/dynamic/subtree-common-root.html: Added.
- 08:28 Changeset [28298] by
Reviewed by Darin Adler.
- fold FontStyle into TextRun
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/Font.cpp: (WebCore::WidthIterator::WidthIterator): (WebCore::WidthIterator::advance): (WebCore::Font::width): (WebCore::Font::drawSimpleText): (WebCore::Font::drawGlyphBuffer): (WebCore::Font::drawText): (WebCore::Font::floatWidth): (WebCore::Font::floatWidthForSimpleText): (WebCore::Font::selectionRectForText): (WebCore::Font::selectionRectForSimpleText): (WebCore::Font::offsetForPosition): (WebCore::Font::offsetForPositionForSimpleText):
- platform/graphics/Font.h: (WebCore::TextRun::TextRun): (WebCore::TextRun::setText): (WebCore::TextRun::allowTabs): (WebCore::TextRun::xPos): (WebCore::TextRun::padding): (WebCore::TextRun::rtl): (WebCore::TextRun::ltr): (WebCore::TextRun::directionalOverride): (WebCore::TextRun::applyRunRounding): (WebCore::TextRun::applyWordRounding): (WebCore::TextRun::spacingDisabled): (WebCore::TextRun::disableSpacing): (WebCore::TextRun::disableRoundingHacks): (WebCore::TextRun::setRTL): (WebCore::TextRun::setDirectionalOverride):
- platform/graphics/FontStyle.h: Removed.
- platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): (WebCore::GraphicsContext::drawBidiText): (WebCore::GraphicsContext::drawHighlightForText):
- platform/graphics/GraphicsContext.h:
- platform/graphics/StringTruncator.cpp: (WebCore::stringWidth):
- platform/graphics/gtk/FontGtk.cpp: (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText):
- platform/graphics/mac/FontMac.mm: (WebCore::ATSULayoutParameters::ATSULayoutParameters): (WebCore::addDirectionalOverride): (WebCore::overrideLayoutOperation): (WebCore::ATSULayoutParameters::initialize): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText):
- platform/graphics/qt/FontQt.cpp: (WebCore::generateComponents): (WebCore::Font::drawText): (WebCore::Font::width): (WebCore::Font::offsetForPosition): (WebCore::cursorToX): (WebCore::Font::selectionRectForText):
- platform/graphics/win/FontWin.cpp: (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText):
- platform/graphics/wx/FontWx.cpp: (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText):
- platform/mac/WebCoreTextRenderer.mm: (WebCoreDrawTextAtPoint): (WebCoreTextFloatWidth):
- platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::paint):
- platform/win/UniscribeController.cpp: (WebCore::UniscribeController::UniscribeController): (WebCore::UniscribeController::offsetForPosition): (WebCore::UniscribeController::advance): (WebCore::UniscribeController::itemizeShapeAndPlace): (WebCore::UniscribeController::resetControlAndState): (WebCore::UniscribeController::shapeAndPlaceItem):
- platform/win/UniscribeController.h:
- platform/win/WebCoreTextRenderer.cpp: (WebCore::doDrawTextAtPoint):
- rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint):
- rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset):
- rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): (WebCore::RenderFileUploadControl::calcPrefWidths):
- rendering/RenderImage.cpp:
- rendering/RenderListBox.cpp: (WebCore::RenderListBox::updateFromElement): (WebCore::RenderListBox::paintItemForeground):
- rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateOptionsWidth):
- rendering/RenderText.cpp: (WebCore::RenderText::widthFromCache): (WebCore::RenderText::calcPrefWidths): (WebCore::RenderText::width):
- rendering/RenderText.h: (WebCore::RenderText::allowTabs):
- rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::calcPrefWidths):
- rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateGlyphWidth): (WebCore::SVGInlineTextBox::paintCharacters): (WebCore::SVGInlineTextBox::paintSelection):
- rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): (WebCore::cummulatedWidthOfInlineBoxCharacterRange): (WebCore::svgTextRunForInlineTextBox):
- rendering/SVGRootInlineBox.h:
- 04:58 Changeset [28297] by
Merge r26782 to Safari-3-branch.
- 04:34 Changeset [28296] by
- 04:33 Changeset [28295] by
Merge r28225.
- 04:31 Changeset [28294] by
Merge r28056.
- 04:29 Changeset [28293] by
Merge r27433.
- 04:27 Changeset [28292] by
Merge r26780.
- 04:22 Changeset [28291] by
- 04:21 Changeset [28290] by
Merge r28225.
- 04:19 Changeset [28289] by
Merge r28056.
- 04:17 Changeset [28288] by
Merge r27433.
- 04:15 Changeset [28287] by
Merge r26780.
- 04:07 Changeset [28286] by
Merge r28225 to Safari-3-branch.
- 04:04 Changeset [28285] by
Merge r28056 to Safari-3-branch.
- 04:01 Changeset [28284] by
Merge r27433 to Safari-3-branch.
- 03:59 Changeset [28283] by
Merge r26780 to Safari-3-branch.
- 03:08 Changeset [28282] by
New tag.
- 03:07 Changeset [28281] by
Remove bogus tag.
- 03:05 Changeset [28280] by
New tag.
- 03:04 Changeset [28279] by
New tag.
- 22:56 Changeset [28278] by
Add another feed
- config.ini:
- 22:48 Changeset [28277] by
Add a simple script to update the site
- update.pl: Added.
- 22:41 HackingGtk edited by
- More fixes to track the latest WebKit/GTK+ API change (diff)
- 22:34 Changeset [28276] by
Include all WebKit posts from Trolltech Labs
- config.ini:
- 21:46 Changeset [28275] by
- Don't hide symbols when in Debug mode
- On Linux (glibc) provide a backtrace in the test output for debugging purposes
Signed-off-by: Simon
- 21:29 Changeset [28274] by
2007-11-30 Jan Michael Alonzo <email@example.com>
Fix for GTK+ Debug build breakage introduced in r28273.
- WebView/webkitprivate.cpp: (WebKit::kit):
- 21:04 HackingGtk edited by
- Update to track API changes (diff)
- 20:24 Changeset [28273] by
2007-11-30 Alp Toker <firstname.lastname@example.com>
Reviewed by Adam Roben.
[GTK] Public API does not follow GTK+ conventions
Refactor the WebKit/GTK+ public API. Changes:
WebKitPage -> WebKitWebView
WebKitFrame -> WebKitWebFrame
Public API source and header names have been updated to mirror the API
The API is now kept in WebKit/gtk/WebView to match other ports in the
same class such as Mac and Win.
API/ABI-breaking change.
- 20:10 BuildingOnWindows edited by
- (diff)
- 18:25 Changeset [28272] by
Reviewed by Eric.
- ChangeLog:
- pcre/pcre_compile.cpp: (compile_branch):
- 17:57 Changeset [28271] by
Reviewed by Adam.
Link to the commit and review policy.
- coding/contributing.html:
- nav.inc:
- 17:47 Changeset [28270] by
- coding/commit-review-policy.html: A couple more typos and very minor grammatical stuff. No substantive change.
- 17:42 Changeset [28269] by
- coding/commit-review-policy.html: Fixed a typo, added a footer.
- 17:37 Changeset [28268] by
Initial checkin of Planet WebKit
Rubberstamped by Sam.
- README: Added.
- config.ini: Added.
- planet/AUTHORS: Added.
- planet/INSTALL: Added.
- planet/LICENCE: Added.
- planet/NEWS: Added.
- planet/PKG-INFO: Added.
- planet/README: Added.
- planet/THANKS: Added.
- planet/TODO: Added.
- planet/examples/atom.xml.tmpl: Added.
- planet/examples/basic/config.ini: Added.
- planet/examples/basic/index.html.tmpl: Added.
- planet/examples/fancy/config.ini: Added.
- planet/examples/fancy/index.html.tmpl: Added.
- planet/examples/foafroll.xml.tmpl: Added.
- planet/examples/opml.xml.tmpl: Added.
- planet/examples/output/images/edd.png: Added.
- planet/examples/output/images/evolution.png: Added.
- planet/examples/output/images/feed-icon-10x10.png: Added.
- planet/examples/output/images/jdub.png: Added.
- planet/examples/output/images/keybuk.png: Added.
- planet/examples/output/images/logo.png: Added.
- planet/examples/output/images/opml.png: Added.
- planet/examples/output/images/planet.png: Added.
- planet/examples/output/images/thom.png: Added.
- planet/examples/output/planet.css: Added.
- planet/examples/rss10.xml.tmpl: Added.
- planet/examples/rss20.xml.tmpl: Added.
- planet/planet-cache.py: Added.
- planet/planet.py: Added.
- planet/planet/init.py: Added.
- planet/planet/atomstyler.py: Added.
- planet/planet/cache.py: Added.
- planet/planet/compat_logging/init.py: Added.
- planet/planet/compat_logging/config.py: Added.
- planet/planet/compat_logging/handlers.py: Added.
- planet/planet/feedparser.py: Added.
- planet/planet/htmltmpl.py: Added.
- planet/planet/sanitize.py: Added.
- planet/planet/tests/init.py: Added.
- planet/planet/tests/data/simple.tmpl: Added.
- planet/planet/tests/data/simple2.tmpl: Added.
- planet/planet/tests/test_channel.py: Added.
- planet/planet/tests/test_main.py: Added.
- planet/planet/tests/test_sanitize.py: Added.
- planet/planet/tests/test_sub.py: Added.
- planet/planet/timeoutsocket.py: Added.
- planet/runtests.py: Added.
- planet/setup.py: Added.
- templates/atom.xml.tmpl: Added.
- templates/foafroll.xml.tmpl: Added.
- templates/index.html.tmpl: Added.
- templates/opml.xml.tmpl: Added.
- templates/rss10.xml.tmpl: Added.
- templates/rss20.xml.tmpl: Added.
- wwwroot/images/feed-icon-10x10.png: Added.
- wwwroot/images/planet.png: Added.
- wwwroot/planet.css: Added.
- 16:48 Changeset [28267] by
Reviewed by Maciej.
Clean up a couple of typos from Maciej's last patch.
- coding/commit-review-policy.html:
- 16:47 Changeset [28266] by
<rdar://problem/5621373> Added a way for the client to clear undo/redo
operations from a WebView.
Reviewed by Steve.
- Interfaces/IWebViewPrivate.idl:
- WebView.cpp: (WebView::clearUndoRedoOperations):
- WebView.h:
- 16:27 Changeset [28265] by
Reviewed by Bertrand.
New commit and review policy.
- coding/commit-review-policy.html: Added.
- 16:18 Changeset [28264] by
Add platform/text project group.
- WebCore.vcproj/WebCore.vcproj:
- 16:05 Changeset [28263] by
2007-11-30 Eric Seidel <email@example.com>
No review, build fix only.
Fix uninitialized var warnings in release build.
- JavaScriptCore.xcodeproj/project.pbxproj:
- pcre/pcre_compile.cpp: (compile_regex):
- 15:57 Changeset [28262] by
Remove extra </Filter> tag which prevented the vcproj from being parsed correctly.
- WebCore.vcproj/WebCore.vcproj:
- 15:47 Changeset [28261] by
Reviewed by Geoff Garen
Added another symbol for WebDatabaseManager clients
- WebKit.exp: added .objc_class_name_WebSecurityOrigin
- 15:43 Changeset [28260] by
2007-11-30 Eric Seidel <email@example.com>
Reviewed by darin.
PCRE crashes under GuardMalloc
check against patternEnd to make sure we don't walk off the end of the string
- pcre/pcre_compile.cpp: (compile_branch): (calculateCompiledPatternLengthAndFlags):
- 15:25 Changeset [28259] by
Not reviewed. Try to fix qt/gtk build.
- 15:19 Changeset [28258] by
Rubber stamped by Eric.
Final integration of ksvg2 in WebKit. Moving ksvg2/ to svg/ and killing all it's subdirectories,
by moving the files into approriate locations (css, rendering, ...) - as dicsussed on the
mailing list and on IRC with David/Darin & Eric.
Updated all build files - though I can't guarantee it builds on non-mac. Need buildbot to verify.
- 14:22 Changeset [28257] by
wx build fix. Add WebCore/platform/graphics/wx to includes.
- 14:08 Changeset [28256] by
Reviewed by Geoff
Further hookup of Database API
With this change, any database operation that writes to the database (UPDATE, INSERT, CREATE, etc) will
result in a didModifyDatabase notification when the transaction is successfully committed
- storage/DatabaseAuthorizer.cpp: Global rename of "m_lastActionIncreasedSize" to "m_lastActionChangedDatabase" (WebCore::DatabaseAuthorizer::reset): (WebCore::DatabaseAuthorizer::createTable): (WebCore::DatabaseAuthorizer::allowAlterTable): (WebCore::DatabaseAuthorizer::createIndex): (WebCore::DatabaseAuthorizer::createTrigger): (WebCore::DatabaseAuthorizer::createVTable): (WebCore::DatabaseAuthorizer::allowInsert): (WebCore::DatabaseAuthorizer::allowUpdate):
- storage/DatabaseAuthorizer.h: (WebCore::DatabaseAuthorizer::lastActionChangedDatabase):
- storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::notifyDatabaseChanged): Added. Allow external entities (SQLTransaction) to be able to request a didModifyDatabase notification to the delegate
- storage/DatabaseTracker.h:
- storage/SQLTransaction.cpp: Added m_modifiedDatabase flag which tracks if any statement over the course of a transaction resulted in a change to the database. (WebCore::SQLTransaction::SQLTransaction): (WebCore::SQLTransaction::runCurrentStatement): Set m_modifiedDatabase to true if the authorizer reports a mutation statement occurred (WebCore::SQLTransaction::postflightAndCommit): If the transaction successfully commits, call DatabaseTracker::notifyDatabaseChanged (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
- storage/SQLTransaction.h:
- 14:04 Changeset [28255] by
Reviewed by Geoff
Add isEqual operator to WebSecurityOrigin
- Storage/WebSecurityOrigin.mm: (-[WebSecurityOrigin isEqual:]):
- 13:55 Changeset [28254] by
Hopefully the final build fix
- Drosera/win/Drosera.vcproj/Drosera.vcproj: Link against WTF.lib to pull in WTF's assertion/logging functions.
- 13:44 Changeset [28253] by
Another build fix
- Drosera/win/Drosera.vcproj/Drosera.vcproj: Use the right suffix for WebKit.lib.
- 13:27 Changeset [28252] by
Debug build fix
- Drosera/win/Drosera.vcproj/Drosera.vcproj: Added a Debug_Internal configuration.
- Drosera/win/Drosera.vcproj/debug.vsprops: Updated to match other projects.
- Drosera/win/Drosera.vcproj/release.vsprops: Ditto.
- Drosera/win/Drosera.vcproj/debug_internal.vsprops: Copied from WebKitTools/DumpRenderTree/win/debug_internal.vsprops.
- 12:35 Changeset [28251] by
Rubber stamped by David.
Next round of moves - platform reorganization.
Move text/font/glyph related files from the individual port directories
into platform/text/<port> or platform/graphics/<port>.
- 12:15 Changeset [28250] by
Other wx port fixes needed to restore the build bot.
- 12:11 Changeset [28249] by
Reviewed by Adam Roben.
Fix drawSelectionRect to actually draw the selection rect.
- DumpRenderTree/cg/PixelDumpSupportCG.cpp: (drawSelectionRect):
- 11:33 Changeset [28248] by
Fix the build with DATABASE=0.
- 11:32 Changeset [28247] by
Copy some cross-platform results into platform/win to avoid picking up the platform/mac versions
- platform/win/fast/dom/Window/window-resize-expected.txt: Copied from LayoutTests/fast/dom/Window/window-resize-expected.txt.
- platform/win/fast/dom/wrapper-classes-expected.txt: Copied from LayoutTests/fast/dom/wrapper-classes-expected.txt.
- 11:21 Changeset [28246] by
Rubber stamped by Darin.
Fix misplaced file. The name "FontStyle" is not correct though - it probably
needs yet another move - but this time inside platform/graphics - as soon
as we agree on a better name.
- 11:04 Changeset [28245] by
Reviewed by Darin
Tweaks to newly-declared NSString * constants to make them usable from clients
- Storage/WebDatabaseManagerPrivate.h:
- Storage/WebDatabaseManager.mm: removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
- WebKit.exp: export new NSNotification names and userInfo keys so clients can use them
- 11:02 QtWebKitTodo edited by
- (diff)
- 10:56 Changeset [28244] by
Merge r26734
- 10:54 Changeset [28243] by
Reviewed by Adam Roben.
- fix http://bugs.webkit.org/show_bug.cgi?id=16207 JavaScript regular expressions should match UTF-16 code units rather than characters
SunSpider says this is 5.5% faster on the regexp test, 0.4% faste overall.
Test: fast/js/regexp-non-bmp.html
Renamed ANY_CHAR to NOT_NEWLINE to more-accurately reflect its meaning.
- pcre/pcre_compile.cpp: (compile_branch): Removed calls to the UTF-16 character accessor functions, replacing them with simple pointer dereferences in some cases, and no code at all in others. (calculateCompiledPatternLengthAndFlags): Ditto.
- pcre/pcre_exec.cpp: (match): Fixed indentation of some case labels (including all the BEGIN_OPCODE). Removed calls to the UTF-16 character accessor functions, replacing them with simple pointer dereferences in some cases, and no code at all in others. Also removed some explicit UTF-16 support code in a few cases. Removed the unneeded "UTF-8" code path in the ANY_CHAR repeat code, and in another case, eliminated the code to check against end_subject in because it is already done outside the loop. (jsRegExpExecute):
- pcre/pcre_internal.h: Removed all the UTF-16 helper functions.
Reviewed by Adam Roben.
- test for http://bugs.webkit.org/show_bug.cgi?id=16207 JavaScript regular expressions should match UTF-16 code units rather than characters
- fast/js/regexp-non-bmp-expected.txt: Added.
- fast/js/regexp-non-bmp.html: Added.
- fast/js/resources/regexp-non-bmp.js: Added.
- 10:47 Changeset [28242] by
- Scripts/do-webcore-rename: WildFox already did the TextStyle -> FontStyle one.
- 10:44 Changeset [28241] by
Build fix after platform/text changes.
- 10:43 Changeset [28240] by
Reviewed by Sam.
Rename "FontStyle FontStyle(...)" to "FontStyle fontStyle(...)".
I scripted a bit too much while doing the TextStyle -> FontStyle change.
- 10:38 Changeset [28239] by
2007-11-30 Alp Toker <email@example.com>
GTK+ build fix following the recent text reorganization.
- WebCore.pro:
- 10:30 QtWebKitContrib edited by
- (diff)
- 10:08 Changeset [28238] by
2007-11-29 Jon Honeycutt <firstname.lastname@example.com>
Reviewed by Adam.
Part of <rdar://problem/5506522> Seed: cannot type into text box in
Facebook, don't see plugin content (Adobe Flash)
- plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::handleMouseEvent): Focus the plugin's parent frame
- 10:06 Changeset [28237] by
- Scripts/do-webcore-rename: Get ready for some future renaming.
- 10:03 Changeset [28236] by
Reviewed by Adam.
- Removed some unnecessary functions and changed an unused return type.
- Drosera/win/DebuggerClient.cpp: (registerConsoleClass):
- Drosera/win/DebuggerClient.h:
- Drosera/win/Drosera.cpp: (registerDroseraClass):
- 09:54 Changeset [28235] by
Not reviewed. Trying to fix gtk/qt/wx build. (I expected problems because of the moves)
- 09:41 Changeset [28234] by
Rubber stamped by Brady.
Started platform reorganization (platform/text addition).
Moving string/text/font related classes into new places - as discussed on webkit-dev.
In a follow-up commit I'll move classes out of platform/{mac,win,...} into
platform/text/{mac,win,...}, and also do the ksvg2/ -> svg/ move.
- 09:02 Changeset [28233] by
Reviewed by Darin.
Fix for http://bugs.webkit.org/show_bug.cgi?id=16072
<rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button (16072)
Test: fast/events/mousemove-after-drag-over-scrollbar.html
- page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): If the mouse is pressed, and we've moved over a new scrollbar, then we can clear m_lastScrollbarUnderMouse. We should only need to show the hover effect when the mouse isn't pressed.
Reviewed by Darin.
Test for http://bugs.webkit.org/show_bug.cgi?id=16072
<rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button
- fast/events/mousemove-after-drag-over-scrollbar-expected.txt: Added.
- fast/events/mousemove-after-drag-over-scrollbar.html: Added.
- 06:12 Changeset [28232] by
- platform/win/Skipped: Added editing/selection/5241148.html, which crashes for me.
- 04:40 Changeset [28231] by
2007-11-28 Alp Toker <firstname.lastname@example.com>
Reviewed by Timothy Hatcher.
[GTK] Use "URI" not "URL" in public API
Replace use of the term "URL" with "URI" in public headers,
documentation and some internal code to match GLib/GTK+ convention.
This is now mentioned in the API guidelines:
API/ABI-breaking change.
- 01:34 Changeset [28230] by
- Self destruct the clients like the ohter ports do
Signed-off-by: Simon
- 00:49 Changeset [28229] by
2007-11-30 Eric Seidel <firstname.lastname@example.com>
Reviewed by Maciej.
Fix layout test regressions caused by r28186
change first_byte and req_byte back to shorts instead of chars
(I think PCRE stuffs information in the high bits)
- pcre/pcre_internal.h:
- 00:44 QtWebKit edited by
- (diff)
- 23:01 Changeset [28228] by
Reviewed by Tim
Part of <rdar://problem/5556377> - Need to accurately track and enforce database quota
SQLite has the ability to enforce the page usage for databases. This gives us bulletproof
enforcement of the database size limit with reasonable granularity (within 1023 bytes by
default on OS X with SQLite 3.4.0)
This also involved enhancing the ability to install/remove the authorizer to run the PRAGMA
statements involved
Note this patch does not actually use the new maximumSize() functionality of the
SQLiteDatabase class - that can be reviewed/landed seperately
- platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::maximumSize): Return the current maximum size in bytes (WebCore::SQLiteDatabase::setMaximumSize): Based on m_pageSize, set the maximum page count to enforce the maximum size in bytes (WebCore::SQLiteDatabase::pageSize): Fetch m_pageSize if it hasn't been fetched, or return the cached value (WebCore::SQLiteDatabase::setAuthorizer): Use enableAuthorizer for the sqlite_* level authorizer setup (WebCore::SQLiteDatabase::enableAuthorizer): Install or remove the sqlite authorizer handler
- platform/sql/SQLiteDatabase.h: Add the m_pageSize member so we only have to fetch it once
- 21:50 Changeset [28227] by
- Fix fast/events/mousedown_in_scrollbar.html
- This test used to crash in PlatformScrollbarQt::mouse*Event due parent() returning 0.
- Extend the current check that the scrollbar in the mev can be go away. This happens if we destroy a RenderLayer as the result of a click. In the case of Qt we can have this scrollbar in m_lastScrollbarUnderMouse. The RenderLayer is the ScrollbarClient, m_lastScrollbarUnderMouse is a RefPtr and keeps the last reference. When calling into this scrollbar the m_client pointer is a dangling pointer. We extend the check to set m_lastScrollbarUnderMouse back to zero when it was the scrollbar in the old mev and is gone in the new one.
- This happens only on the Qt port because we send more/different move events.
- 21:25 Changeset [28226] by
Reviewed by Mitz.
Fix aspect ratio calculation of video.
Video should always be treated as a replaced element in size calculation.
Test: media/video-aspect-ratio.html
- rendering/RenderBox.cpp: (WebCore::RenderBox::calcWidth): (WebCore::RenderBox::calcHeight):
- rendering/RenderBox.h: (WebCore::RenderBox::shouldCalculateSizeAsReplaced):
- rendering/RenderMedia.h: (WebCore::RenderMedia::shouldCalculateSizeAsReplaced):
Reviewed by Mitz.
Test for video aspect ratio calculation.
- media/video-aspect-ratio.html: Added.
- platform/mac/media: Added.
- platform/mac/media/video-aspect-ratio-expected.checksum: Added.
- platform/mac/media/video-aspect-ratio-expected.png: Added.
- platform/mac/media/video-aspect-ratio-expected.txt: Added.
- 21:20 Changeset [28225] by
Reviewed by Oliver.
Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
- More closely match IE's policy for frame navigation.
- bindings/js/kjs_window.cpp: (KJS::WindowProtoFuncOpen::callAsFunction):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldAllowNavigation):
- page/FrameTree.cpp: (WebCore::FrameTree::top):
- page/FrameTree.h:
- 20:34 Changeset [28224] by
Reviewed by Adam Roben and John Sullivan.
- make the recent searches popup extend only along the straight part of the search field (unless it needs to be wider).
- platform/PopupMenuClient.h: Added clientInsetLeft() and clientInsetRight() for clients to specify desired horizontal insets for the menu.
- platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::calculatePositionAndSize): (WebCore::PopupMenu::paint):
- rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0. (WebCore::RenderMenuList::clientInsetRight): Ditto.
- rendering/RenderMenuList.h:
- rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the control's height, which is the radius of the cap on the left. (WebCore::RenderTextControl::clientInsetRight): Added.
- rendering/RenderTextControl.h:
- 19:02 Changeset [28223] by
Make the JS collector work with multiple threads
Reviewed by Maciej and Darin.
Under heavy contention it was possible the GC to suspend other
threads inside the pthread spinlock, which could lead to the GC
thread blocking on the pthread spinlock itself.
We now determine and store each thread's stack base when it is
registered, thus removing the need for any calls to pthread_get_stackaddr_np
that needed the pthread spinlock.
- 18:42 Changeset [28222] by
Reviewed by Sam.
FrameLoadDelegate callbacks are not dumped in DRT.
- DumpRenderTree/win/DumpRenderTree.cpp: (shouldLogFrameLoadDelegates): (runTest): (main):
- DumpRenderTree/win/FrameLoaderDelegate.cpp: (BSTRtoString): (descriptionSuitableForTestResult): (FrameLoadDelegate::QueryInterface): (FrameLoadDelegate::didStartProvisionalLoadForFrame): (FrameLoadDelegate::didFailProvisionalLoadWithError): (FrameLoadDelegate::didCommitLoadForFrame): (FrameLoadDelegate::didFinishLoadForFrame): (FrameLoadDelegate::willCloseFrame): (FrameLoadDelegate::didClearWindowObject): (FrameLoadDelegate::didFinishDocumentLoadForFrame): (FrameLoadDelegate::didHandleOnloadEventsForFrame):
- DumpRenderTree/win/FrameLoaderDelegate.h: (FrameLoadDelegate::windowScriptObjectAvailable): (FrameLoadDelegate::didFirstLayoutInFrame):
Reviewed by Sam.
FrameLoadDelegate callbacks are not dumped in DRT.
Remove now passing tests.
- platform/win/Skipped:
- 18:38 Changeset [28221] by
Reviewed by Sam.
Add an IWebFrameLoadDelegate2 interface with a didClearWindowObject method
that passes in the frame whose window has been cleared. This matches a newly
added delegate method on the Mac.
- Interfaces/IWebFrameLoadDelegate.idl:
- WebFrame.cpp: (WebFrame::windowObjectCleared):
- 18:26 Changeset [28220] by
Reviewed by Adam.
- platform/win/Skipped: Removed two Mac-specific tests.
- 18:21 Changeset [28219] by
Move incorrect, Mac-specific results of fast/dom/Window/window-resize.html into platform/mac and replace them with non-Mac results
The incorrect results are tracked by <rdar://5563578>.
Reviewed by Adam.
- fast/dom/Window/window-resize-expected.txt: Replaced.
- platform/mac/fast/dom/Window/window-resize-expected.txt: Copied from fast/dom/Window/window-resize-expected.txt.
- platform/win/Skipped: Removed window-resize tests.
- 18:19 Changeset [28218] by
Reviewed by Anders.
Add database quota UIDelegates methods to DRT UIDelegate.
- DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:quotaForSecurityOrigin:toCreateDatabase:withEstimatedSize:]): (-[UIDelegate webView:quotaForSecurityOrigin:fromProposedQuota:database:]):
Reviewed by Anders.
Revert r28213 which added an error callback that was not needed and changed
the results.
- storage/transaction_callback_exception_crash.html:
- 18:07 Changeset [28217] by
Reviewed by Adam.
- platform/win/Skipped: Removed a passing test.
- 18:01 Changeset [28216] by
Group failures related to dumpResourceLoadCallbacks being unimplemented
Reviewed by Adam.
- platform/win/Skipped:
- 18:00 Changeset [28215] by
2007-11-30 Alp Toker <email@example.com>
Reviewed by Maciej.
Licensing change
Change license from BSD to LGPL.
This is being done to encourage vendors to contribute their fixes back
- 17:44 Changeset [28214] by
Group failures related to using Cygwin paths
Reviewed by Adam.
- platform/win/Skipped:
- 17:02 Changeset [28213] by
Not reviewed.
Fixed a hang in the layout tests.
My checkin earlier today broke things such that the transaction call errors out instead of succeeds.
Therefore LayoutTestController is never notified that the test is done.
This changes modifies the test such that the controller is notified of completion even if
there's a transaction error.
The net effect of this fix is to transform the hang to a single layout test failure, so people
and the bots don't have their run-webkit-tests hang while I try to fix the real regression.
- storage/transaction_callback_exception_crash.html:
- 16:53 Changeset [28212] by
Reviewed by Adele.
- fix http://bugs.webkit.org/show_bug.cgi?id=16191 REGRESSION: cannot tab to radio input after setting checked to false
Test: fast/forms/input-radio-checked-tab.html
- html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code so that it doesn't call setChecked(false) until after the map has been updated. Otherwise, we can end up deallocating the map before manipulating it. As long as I was changing the function, I decided to make it do only a single hash table lookup.
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): Remove the button from the radio buttons set before changing the checked state. This matches the idiom used elsewhere and fixes the problem where setting checked to false would not remove it from the set.
Reviewed by Adele.
- test for http://bugs.webkit.org/show_bug.cgi?id=16191 REGRESSION: cannot tab to radio input after setting checked to false
- fast/forms/input-radio-checked-tab-expected.txt: Added.
- fast/forms/input-radio-checked-tab.html: Added.
- 16:50 Changeset [28211] by
Move Mac-specific results of fast/dom/wrapper-classes.html into platform/mac and replace them with non-Mac results
Reviewed by Adam.
- fast/dom/wrapper-classes-expected.txt: Replaced.
- platform/mac/fast/dom/wrapper-classes-expected.txt: Copied from fast/dom/wrapper-classes-expected.txt.
- 16:43 Changeset [28210] by
Group drag-n-drop related failures under one bug
We don't know the specific causes of these failures, but we believe
they're due to bugs in DRT's drag-n-drop implementation.
Reviewed by Adam.
- platform/win/Skipped:
- 16:36 Changeset [28209] by
Reviewed by Sam.
- <rdar://5618976> Drosera: should listen for the WebScriptDebugServer dying and vice versa.
- Interfaces/IWebScriptDebugListener.idl: Added the new function to the interface.
- WebKit.vcproj/WebKit.def: Added the new function to the def file so Safari can tell WebKit when the server is dying.
- WebKit.vcproj/WebKit_debug.def: Ditto.
- WebKitDLL.cpp: Added the new function for Safari to call. (RunAsLocalServer): (LocalServerDidDie):
- WebScriptDebugServer.cpp: (WebScriptDebugServer::WebScriptDebugServer): Removed unused member. (WebScriptDebugServer::sharedWebScriptDebugServer): Ditto, and added new member to prevent adding or removing listeners when the server is dying. (WebScriptDebugServer::addListener): Don't let new listeners be added when the server is dying. (WebScriptDebugServer::removeListener): Don't let listeners remove themselves when the server is dying. The server will remove them all anyways. (WebScriptDebugServer::serverDidDie): Notify all listeners that the server is dying and remove all listeners.
- WebScriptDebugServer.h: Added the new method and removed an unused member.
Reviewed by Sam.
- <rdar://5618976> Drosera: should listen for the WebScriptDebugServer dying and vice versa.
- This fix will allow Drosera and Safari to reconnect if either of them closes correctly, but does not fix the case where one of them dies silently.
- Drosera/win/ServerConnection.cpp: (ServerConnection::attemptToCreateServerConnection): Added a safety check, because it's possilbe to try to connect to a server that's dying. (ServerConnection::serverDidDie): Implemented. This resets Drosera when the server has died.
- Drosera/win/ServerConnection.h: Added the new function and removed an unnecessary member.
- 16:29 Changeset [28208] by
Reviewed by Adam.
- platform/win/Skipped: Removed another passing test.
- 16:26 Changeset [28207] by
Reviewed by Adam.
- platform/win/Skipped: Recategorized one failing test and removed a passing test.
- 16:26 Changeset [28206] by
Reviewed by Darin Adler.
<rdar://problem/5620093> Brief hang when Safari caches page text of XML document
- editing/TextIterator.cpp: (WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is expensive. So, we perform the inexpensive checks on m_node to see if it necessitates emitting a character first and will early return before encountering shouldRepresentNodeOffsetZero()s worse case behavior.
- 16:23 Changeset [28205] by
- DumpRenderTree/win/DumpRenderTree.vcproj: Add shlwapi.lib to all configurations.
- 15:30 Changeset [28204] by
Removing <rdar://5507350> from skipped list because it's not failing.
- platform/win/Skipped:
- 14:15 Changeset [28203] by
Reviewed by Alexey.
Move Mac-specific tests to platform/mac.
- fast/events/objc-event-api-expected.txt: Removed.
- fast/events/objc-event-api.html: Removed.
- fast/events/objc-keyboard-event-creation-expected.txt: Removed.
- fast/events/objc-keyboard-event-creation.html: Removed.
- platform/mac/fast/events/objc-event-api-expected.txt: Copied from fast/events/objc-event-api-expected.txt.
- platform/mac/fast/events/objc-event-api.html: Copied from fast/events/objc-event-api.html.
- platform/mac/fast/events/objc-keyboard-event-creation-expected.txt: Copied from fast/events/objc-keyboard-event-creation-expected.txt.
- platform/mac/fast/events/objc-keyboard-event-creation.html: Copied from fast/events/objc-keyboard-event-creation.html.
- 14:10 Changeset [28202] by
Reviewed by John.
Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
is using the setter and not messing around with NSUserDefaults.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.m: (+[WebPreferences initialize]): (-[WebPreferences shrinksStandaloneImagesToFit]): (-[WebPreferences setShrinksStandaloneImagesToFit:]):
- 13:57 Changeset [28201] by
Windows build fix
Removed some unreachable code (ironically, the code was some
- pcre/pcre_compile.cpp: (compile_branch):
- pcre/pcre_exec.cpp: (match):
- 13:53 Changeset [28200] by
Reviewed by Sam.
Don't install event handlers or set the zoom cursor if auto-shrink has been disabled.
- loader/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure): (WebCore::ImageDocument::imageChanged):
- 13:51 Changeset [28199] by
Removing some fixed tests
- platform/win/Skipped:
- 13:49 Changeset [28198] by
Build fix that works...?
- WebChromeClient.h:
- 13:26 Changeset [28197] by
- Build fix. Added additional includes for VS Express to the Release project.
- Drosera/win/Drosera.vcproj/Drosera.vcproj:
- 13:13 Changeset [28196] by
Better build fix for Gtk
- WebCoreSupport/ChromeClientGtk.h:
- 13:09 Changeset [28195] by
Build fix
- WebChromeClient.cpp: (WebChromeClient::requestQuotaIncreaseForNewDatabase): (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
- 11:53 Changeset [28194] by
Reviewed by Adam.
setUserStyleSheetEnabled is not fully implemented in Windows DRT.
- DumpRenderTree/win/DumpRenderTree.vcproj: Add shlwapi.lib
- DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setUserStyleSheetEnabled): Implement this.
New method which wraps the Win32 API PathAppend.
New method which checks if a file points to a shortcut and
follows the shortcut.
New method that takes a cygwin unix-style path and returns the Win32 path.
Implement this.
Reviewed by Adam.
setUserStyleSheetEnabled is not fully implemented in Windows DRT.
- platform/win/Skipped:
- 11:38 Changeset [28193] by
Reviewed by Geoff.
image for <img> and CSS images
- 11:29 Changeset [28192] by
Reviewed by Anders
Support for <rdar://problem/5556381> and <rdar://problem/5556379>
The Database feature in the engine needs to support delegate calls for policy decisions and
also provide notifications when origins and databases change their state.
This patch also polishes off the missing features of the management API
- page/Chrome.cpp: Implement the two UIDelegate methods (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation
- page/Chrome.h:
- page/ChromeClient.h:
- platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase): (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
- storage/Database.cpp: (WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high enough and if it isn't, the UIDelegate should have a change to bump the quota. Also update the UI-relevant details (display name and estimated size) upon successful opening of the database
- storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a site database and is not important to API clients (WebCore::DatabaseDetails::DatabaseDetails): (WebCore::DatabaseDetails::isValid): (WebCore::DatabaseDetails::name):
- storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would prevent you from having two databases of the same name from two different origins. Also simplify the origin-management schema (WebCore::DatabaseTracker::canEstablishDatabase): Added. Does some estimated size vs quota checks, and asks the UI delegate for more space if necessary (WebCore::DatabaseTracker::hasEntryForOrigin): (WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota Also notifies the client of the new origin (WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database (WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes (WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table (WebCore::DatabaseTracker::origins): (WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management (WebCore::DatabaseTracker::usageForDatabase): (WebCore::DatabaseTracker::usageForOrigin): (WebCore::DatabaseTracker::quotaForOrigin): (WebCore::DatabaseTracker::setQuota): Notify the client (WebCore::DatabaseTracker::addDatabase): Notify the client (WebCore::DatabaseTracker::deleteAllDatabases): (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): (WebCore::DatabaseTracker::deleteDatabase): (WebCore::DatabaseTracker::deleteDatabaseFile):
- storage/DatabaseTracker.h:
Keep it building with new client method
- WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::requestQuotaIncreaseForNewDatabase): (WebKit::ChromeClient::requestQuotaIncreaseForDatabaseOperation):
- WebCoreSupport/ChromeClientGtk.h:
Reviewed by Anders
Support for <rdar://problem/5556381> and <rdar://problem/5556379>
Hook up UI Delegate calls for the database engine feature and other small tweaks
- Storage/WebDatabaseManager.mm: (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
- Storage/WebDatabaseManagerPrivate.h:
- Storage/WebDatabaseTrackerClient.h:
- Storage/WebDatabaseTrackerClient.mm: (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm: (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
- WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
- WebView/WebView.mm: (CallDelegateReturningUnsignedLongLong): (CallUIDelegateReturningUnsignedLongLong):
- WebView/WebViewInternal.h:
Keep it building with new client method
- WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::requestQuotaIncreaseForNewDatabase): (WebCore::ChromeClientQt::requestQuotaIncreaseForDatabaseOperation):
- WebCoreSupport/ChromeClientQt.h:
Keep it building with new client method
- WebChromeClient.cpp: (ChromeClient::requestQuotaIncreaseForNewDatabase): (ChromeClient::requestQuotaIncreaseForDatabaseOperation):
- WebChromeClient.h:
Keep it building with new client method
- WebKitSupport/ChromeClientWx.cpp: (WebCore::ChromeClient::requestQuotaIncreaseForNewDatabase): (WebCore::ChromeClient::requestQuotaIncreaseForDatabaseOperation):
- WebKitSupport/ChromeClientWx.h:
- 11:21 Changeset [28191] by
Reviewed by Adam.
Fixed <rdar://5133828> fast/frames/iframe-window-focus.html output is lowercase
- DumpRenderTree/win/EventSender.cpp: (keyDownCallback): uppercase letters were being sent as lowercase letters without the shift key down.
- 10:56 Drosera edited by
- Added new information about the design of Drosera, specifically to add … (diff)
- 10:48 Changeset [28190] by
Fix typo
- 10:46 Changeset [28189] by
- Windows build fix. VS express needs some love.
- Drosera/win/Drosera.vcproj/Drosera.vcproj:
- 10:45 Changeset [28188] by
Reviewed by Beth Dakin and Darin Adler.
- manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
- manual-tests/context-click-unfocused-frame.html: Added.
Reviewed by Beth Dakin and Darin Adler.
- fix <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
- WebView.cpp: (WebView::handleContextMenuEvent): Send the context menu event to the frame containing the node that was hit.
- 10:36 Changeset [28187] by
Reviewed by Sam.
- Added recursive runloop guards.
- DefaultDelegates/WebScriptDebugServer.m: (-[WebScriptDebugServer suspendProcessIfPaused]):
- 06:48 BuildingGtk edited by
- let people know about ccache (diff)
- 06:38 UsingGitWithWebKit edited by
- initial setup (diff)
- 04:49 Changeset [28186] by
2007-11-29 Eric Seidel <firstname.lastname@example.com>
Reviewed by Mark Rowe.
Fix for --guard crash of fast/js/regexp-charclass-crash introduced by r28151.
- pcre/pcre_compile.cpp: (is_anchored):
- 03:57 Changeset [28185] by
Gtk build fix.
- 03:44 Changeset [28184] by
2007-11-29 Eric Seidel <email@example.com>
Reviewed by Mark Rowe.
Attempt to fix non-mac builds after PCRE cleanup.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
- JavaScriptCoreSources.bkl:
- pcre/pcre.pri:
- 03:39 Changeset [28183] by
2007-11-26 Eric Seidel <email@example.com>
Reviewed by Sam.
Give consistent naming to the RegExp options/compile flags
- pcre/pcre_compile.cpp: (compile_branch): (is_anchored): (find_firstassertedchar): (printCompiledRegExp): (jsRegExpCompile):
- pcre/pcre_exec.cpp: (jsRegExpExecute):
- pcre/pcre_internal.h:
- 03:38 Changeset [28182] by
2007-11-26 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
Give consistent naming to the RegExp options/compile flags
- pcre/pcre_compile.cpp: (compile_branch): (is_anchored): (find_firstassertedchar): (printCompiledRegExp): (jsRegExpCompile):
- pcre/pcre_exec.cpp: (jsRegExpExecute):
- pcre/pcre_internal.h:
- 03:37 Changeset [28181] by
2007-11-26 Eric Seidel <email@example.com>
Reviewed by Sam.
Pull first_byte and req_byte optimizations out into separate static funtions, SunSpider reported this as a win.
- pcre/pcre_exec.cpp: (tryFirstByteOptimization): (tryRequiredByteOptimization): (jsRegExpExecute):
- pcre/pcre_internal.h:
- 03:37 Changeset [28180] by
2007-11-26 Eric Seidel <firstname.lastname@example.com>
Reviewed by Maciej.
give PCRE_MULTILINE a better name: OptionMatchAcrossMultipleLines
- pcre/pcre_compile.cpp: (compile_branch): (is_anchored): (printCompiledRegExp): (jsRegExpCompile):
- pcre/pcre_exec.cpp: (jsRegExpExecute):
- pcre/pcre_internal.h:
- 03:35 Changeset [28179] by
2007-11-26 Eric Seidel <email@example.com>
Reviewed by Oliver.
Deprecate jsRegExpExecute's offset-vector fallback code
- pcre/pcre_exec.cpp: (jsRegExpExecute):
- 03:34 Changeset [28178] by
2007-11-28 Eric Seidel <firstname.lastname@example.com>
Reviewed by Maciej.
Centralize code for subjectPtr adjustments using inlines, only ever check for a single trailing surrogate (as UTF16
only allows one), possibly fix PCRE bugs involving char classes and garbled UTF16 strings.
- pcre/pcre_exec.cpp: (match): (jsRegExpExecute):
- pcre/pcre_internal.h: (getPreviousChar): (movePtrToPreviousChar): (movePtrToNextChar): (movePtrToStartOfCurrentChar):
- 03:33 Changeset [28177] by
2007-11-26 Eric Seidel <firstname.lastname@example.com>
Reviewed by Maciej.
Make cur_is_word and prev_is_word locals, and change OP_ANY to OP_ANY_CHAR for clarity
- pcre/pcre_compile.cpp: (find_fixedlength): (compile_branch): (canApplyFirstCharOptimization):
- pcre/pcre_exec.cpp: (match):
- pcre/pcre_internal.h:
- 03:32 Changeset [28176] by
2007-11-26 Eric Seidel <firstname.lastname@example.com>
Reviewed by Mitz & Maciej.
Change _NC operators to use _IGNORING_CASE for clarity
- pcre/pcre_compile.cpp: (find_fixedlength): (compile_branch): (find_firstassertedchar):
- pcre/pcre_exec.cpp: (match):
- pcre/pcre_internal.h:
- 03:32 Changeset [28175] by
2007-11-26 Eric Seidel <email@example.com>
Reviewed by Mitz.
Remove branch from return
- pcre/pcre_compile.cpp: (compile_branch):
- pcre/pcre_exec.cpp: (match):
- 03:31 Changeset [28174] by
2007-11-26 Eric Seidel <email@example.com>
Reviewed by Maciej.
Add repeatInformationFromInstructionOffset inline
- pcre/pcre_exec.cpp: (repeatInformationFromInstructionOffset): (match):
- 03:30 Changeset [28173] by
2007-11-26 Eric Seidel <email@example.com>
Reviewed by Maciej.
Remove no longer used error code JSRegExpErrorMatchLimit
- kjs/regexp.cpp: (KJS::RegExp::match):
- pcre/pcre.h:
- pcre/pcre_internal.h:
- 03:30 Changeset [28172] by
2007-11-28 Eric Seidel <firstname.lastname@example.com>
Reviewed by Maciej.
change getChar* functions to return result and push 'c' into local scopes for clarity
- pcre/pcre_compile.cpp: (compile_branch): (calculateCompiledPatternLengthAndFlags):
- pcre/pcre_exec.cpp: (match):
- pcre/pcre_internal.h: (getChar): (getCharAndAdvance): (getCharAndLength): (getCharAndAdvanceIfSurrogate):
- 03:29 Changeset [28171] by
2007-11-26 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
Make i locally scoped for better code clarity
- pcre/pcre_exec.cpp: (match):
- 03:29 Changeset [28170] by
2007-11-28 Eric Seidel <email@example.com>
Reviewed by Sam.
Comment cleanup
- pcre/pcre_exec.cpp: (match):
- 03:28 Changeset [28169] by
2007-11-26 Eric Seidel <firstname.lastname@example.com>
Reviewed by Maciej.
Give subjectPtr and instructionPtr sane names, reduce size of MatchFrame for a 0.2% speedup.
- pcre/pcre_compile.cpp: (compile_branch): (calculateCompiledPatternLengthAndFlags):
- pcre/pcre_exec.cpp: (match_ref): (MatchStack::pushNewFrame): (getUTF8CharAndIncrementLength): (match):
- pcre/pcre_internal.h: (getChar): (getCharAndAdvance): (getCharAndLength): (getCharAndAdvanceIfSurrogate):
- pcre/pcre_xclass.cpp: (getUTF8CharAndAdvancePointer):
- 03:27 Changeset [28168] by
2007-11-26 Eric Seidel <email@example.com>
Reviewed by Sam.
Small speedup (0.7%) by simplifying canUseStackBufferForNextFrame() check
- pcre/pcre_exec.cpp: (MatchStack::MatchStack): (MatchStack::popCurrentFrame):
- 03:27 Changeset [28167] by
2007-11-25 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
Lower MATCH_LIMIT_RECURSION to more sane levels to prevent hangs on run-javascriptcore-tests
- pcre/pcre_internal.h:
- 03:26 Changeset [28166] by
2007-11-25 Eric Seidel <email@example.com>
Reviewed by Maciej.
Remove match_is_group variable for another 5% speedup
- pcre/pcre_compile.cpp:
- pcre/pcre_exec.cpp: (startNewGroup): (match):
- 03:25 Changeset [28165] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
Remove redundant eptrblock struct
- pcre/pcre_exec.cpp: (MatchStack::pushNewFrame): (match):
- 03:25 Changeset [28164] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Maciej.
Remove redundant match_call_count and move recursion check out of super-hot code path
SunSpider says this is at least an 8% speedup for regexp.
- pcre/pcre_exec.cpp: (MatchStack::MatchStack): (MatchStack::pushNewFrame): (MatchStack::popCurrentFrame): (MatchStack::popAllFrames): (match): (jsRegExpExecute):
- pcre/pcre_internal.h:
- 03:24 Changeset [28163] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
Get rid of GETCHAR* macros, replacing them with better named inlines
- pcre/pcre_compile.cpp: (compile_branch): (calculateCompiledPatternLengthAndFlags):
- pcre/pcre_exec.cpp: (match):
- pcre/pcre_internal.h: (getCharAndAdvance): (getCharAndLength): (getCharAndAdvanceIfSurrogate):
- 03:24 Changeset [28162] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
Further cleanup GET/PUT inlines
- pcre/pcre_internal.h: (putOpcodeValueAtOffset): (getOpcodeValueAtOffset): (putOpcodeValueAtOffsetAndAdvance): (put2ByteOpcodeValueAtOffset): (get2ByteOpcodeValueAtOffset): (put2ByteOpcodeValueAtOffsetAndAdvance):
- 03:23 Changeset [28161] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
Give GET, PUT better names, and add (poor) moveOpcodePtrPastAnyAlternateBranches
- pcre/pcre_compile.cpp: (firstSignificantOpCodeSkippingAssertions): (find_fixedlength): (complete_callout): (compile_branch): (compile_regex): (is_anchored): (canApplyFirstCharOptimization): (find_firstassertedchar):
- pcre/pcre_exec.cpp: (match):
- pcre/pcre_internal.h: (putOpcodeValueAtOffset): (getOpcodeValueAtOffset): (putOpcodeValueAtOffsetAndAdvance): (put2ByteOpcodeValueAtOffset): (get2ByteOpcodeValueAtOffset): (moveOpcodePtrPastAnyAlternateBranches):
- pcre/pcre_ucp_searchfuncs.cpp: (_pcre_ucp_othercase):
- 03:22 Changeset [28160] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
Add inlines for toLowerCase, isWordChar, isSpaceChar for further regexp speedup
- pcre/pcre_compile.cpp: (compile_branch): (jsRegExpCompile):
- pcre/pcre_exec.cpp: (match): (jsRegExpExecute):
- pcre/pcre_internal.h: (toLowerCase): (flipCase): (classBitmapForChar): (charTypeForChar): (isWordChar): (isSpaceChar): (CompileData::CompileData):
- pcre/pcre_xclass.cpp: (_pcre_xclass):
- 03:21 Changeset [28159] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
cleanup _pcre_ucp_othercase
- pcre/pcre_ucp_searchfuncs.cpp: (_pcre_ucp_othercase):
- 03:21 Changeset [28158] by
2007-11-28 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
Abstract frame variables into locals and args
- pcre/pcre_compile.cpp: (compile_branch):
- pcre/pcre_exec.cpp: (match):
- pcre/pcre_internal.h:
- 03:20 Changeset [28157] by
2007-11-28 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
Section off MatchData arguments into args struct
- pcre/pcre_exec.cpp: (MatchStack::pushNewFrame): (match):
- 03:19 Changeset [28156] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
split first_significant_code into two simpler functions
- pcre/pcre_compile.cpp: (firstSignificantOpCode): (firstSignificantOpCodeSkippingAssertions): (is_anchored): (canApplyFirstCharOptimization): (find_firstassertedchar):
- 03:18 Changeset [28155] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
split first_significant_code into two simpler functions
- pcre/pcre_compile.cpp: (firstSignificantOpCode): (firstSignificantOpCodeSkippingAssertions): (is_anchored): (canApplyFirstCharOptimization): (find_firstassertedchar):
- 03:18 Changeset [28154] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
clean up is_counted_repeat
- pcre/pcre_compile.cpp: (is_counted_repeat):
- 03:17 Changeset [28153] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
clean up check_escape
- pcre/pcre_compile.cpp: (check_escape):
- 03:16 Changeset [28152] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
Reformat find_fixedlength
- pcre/pcre_compile.cpp: (find_fixedlength):
- 03:16 Changeset [28151] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
reformat is_anchored
- pcre/pcre_compile.cpp: (is_anchored):
- 03:15 Changeset [28150] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Maciej.
Remove unused function could_be_empty_branch
- pcre/pcre_compile.cpp: (first_significant_code): (find_fixedlength): (compile_branch): (canApplyFirstCharOptimization):
- 03:14 Changeset [28149] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
Pass around MatchData objects by reference
- pcre/pcre_exec.cpp: (pchars): (match_ref): (match): (jsRegExpExecute):
- 03:13 Changeset [28148] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
give PCRE_STARTLINE a better name and rename match_data to MatchData
- pcre/pcre_compile.cpp: (compile_branch): (canApplyFirstCharOptimization): (find_firstassertedchar): (printCompiledRegExp): (jsRegExpCompile):
- pcre/pcre_exec.cpp: (pchars): (jsRegExpExecute):
- pcre/pcre_internal.h:
- 03:12 Changeset [28147] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
Clean up find_firstassertedchar
- pcre/pcre_compile.cpp: (get_othercase_range): (find_firstassertedchar): (calculateCompiledPatternLengthAndFlags):
- 03:11 Changeset [28146] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Tim Hatcher.
Pass around CompileData& instead of CompileData*
- pcre/pcre_compile.cpp: (compile_branch): (jsRegExpCompile):
- 03:10 Changeset [28145] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
Clean up compile_branch, move _pcre_ord2utf8, and rename CompileData
- JavaScriptCore.xcodeproj/project.pbxproj:
- pcre/pcre_compile.cpp: (_pcre_ord2utf8): (calculateCompiledPatternLengthAndFlags): (jsRegExpCompile):
- pcre/pcre_internal.h:
- pcre/pcre_ord2utf8.cpp: Removed.
- 03:09 Changeset [28144] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
removing more macros
- pcre/pcre_compile.cpp: (could_be_empty_branch): (compile_branch): (calculateCompiledPatternLengthAndFlags):
- pcre/pcre_exec.cpp: (match): (jsRegExpExecute):
- pcre/pcre_internal.h:
- pcre/pcre_xclass.cpp:
- 03:08 Changeset [28143] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Maciej.
clean up formating in compile_branch
- pcre/pcre_compile.cpp: (compile_branch):
- 03:07 Changeset [28142] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
Fix spacing for read_repeat_counts
- pcre/pcre_compile.cpp: (read_repeat_counts):
- 03:06 Changeset [28141] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Sam.
Get rid of PCRE custom char types
- pcre/pcre_compile.cpp: (check_escape): (complete_callout): (compile_branch): (compile_regex): (calculateCompiledPatternLengthAndFlags): (jsRegExpCompile):
- pcre/pcre_exec.cpp: (match_ref): (match): (jsRegExpExecute):
- pcre/pcre_internal.h:
- 03:06 Changeset [28140] by
2007-11-24 Eric Seidel <firstname.lastname@example.com>
Reviewed by Sam.
reformat get_othercase_range
- pcre/pcre_compile.cpp: (get_othercase_range):
- 03:05 Changeset [28139] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Maciej.
Remove register keyword and more cleanup
- pcre/pcre_compile.cpp: (find_fixedlength): (compile_branch): (is_anchored): (is_startline): (find_firstassertedchar): (calculateCompiledPatternLengthAndFlags): (jsRegExpCompile):
- pcre/pcre_exec.cpp: (MatchStack::canUseStackBufferForNextFrame): (MatchStack::allocateNextFrame): (MatchStack::pushNewFrame): (MatchStack::frameIsStackAllocated): (MatchStack::popCurrentFrame): (MatchStack::unrollAnyHeapAllocatedFrames): (getUTF8CharAndIncrementLength): (match): (jsRegExpExecute):
- pcre/pcre_internal.h: (PUT2INC): (isLeadingSurrogate): (isTrailingSurrogate): (decodeSurrogatePair): (getChar):
- pcre/pcre_ord2utf8.cpp: (_pcre_ord2utf8):
- pcre/pcre_xclass.cpp: (getUTF8CharAndAdvancePointer): (_pcre_xclass):
- 03:04 Changeset [28138] by
2007-11-24 Eric Seidel <email@example.com>
Reviewed by Maciej.
Clean up jsRegExpExecute
- pcre/pcre_compile.cpp: (returnError): (jsRegExpCompile):
- pcre/pcre_exec.cpp: (jsRegExpExecute):
- pcre/pcre_internal.h:
- 02:16 Changeset [28137] by
Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
Reviewed by Maciej.
- JSValueWrapper.cpp:
(getThreadGlobalExecState): Set the global object on the Interpreter before using it.
- 01:05 Changeset [28136] by
Fix an assertion failure seen on the layout tests, and when closing the window after visiting <http://www.coudal.com/losalamos/>.
Reviewed by Oliver Hunt.
- Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
descriptor even when the stream is being destroyed without the load completing. This
avoids leaking the path and file descriptor, and leaving the temporary file on disk.
- 00:46 Changeset [28135] by
Merging updated system alloc and spinlock code from r38 of TCMalloc.
Reviewed by Geoff
This is needed as a precursor to the merge of TCMalloc proper.
- 23:57 IconContestIdeas edited by
- (diff)
- 23:40 IconContestIdeas edited by
- (diff)
- 23:39 IconContestIdeas edited by
- Stole a judging criterion from the SVG logo contest (diff)
- 23:32 IconContestIdeas edited by
- Change start of submissions to be the same as the announcement (diff)
- 22:20 Changeset [28134] by
Unreviewed layout test fix. Fix typos in the name of four files used by HTTP layout tests.
- 22:07 Changeset [28133] by
Reviewed by Geoff.
Fallback content inside media elements should not be rendered.
Test: media/fallback.html
- rendering/RenderMedia.h: (WebCore::RenderMedia::canHaveChildren):
Reviewed by Geoff.
Test that fallback content inside media elements is not be rendered.
- media/fallback-expected.txt: Added.
- media/fallback.html: Added.
- 22:04 Changeset [28132] by
Reviewed by Geoff
Add copyKeysToVector utility, mirroring copyValuesToVector
Also change the copyValuesToVector implementation to be a little more attractive
- wtf/HashMap.h: (WTF::copyKeysToVector): (WTF::copyValuesToVector):
- 21:33 Changeset [28131] by
Windows build fix.
- 21:29 Changeset [28130] by
Gtk build fix.
- 20:50 Changeset [28129] by
Reviewed by Oliver.
Make QTMovieView fill color transparent. This behavior matches the specification
(and allows nice alpha blended video).
- platform/graphics/mac/MoviePrivateQTKit.mm: (WebCore::MoviePrivate::createQTMovieView):
- 18:54 IconContestIdeas edited by
- (diff)
- 18:48 IconContestIdeas edited by
- (diff)
- 18:48 IconContestIdeas edited by
- (diff)
- 18:25 Changeset [28128] by
just some more typo fixes
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level-expected.txt:
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level.html:
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url-expected.txt:
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url.html:
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt:
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-expected.txt:
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html:
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe.html:
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html:
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html:
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html:
- 18:02 Changeset [28127] by
Reviewed by Darin.
Test: media/video-controls.html
Implement controls attribute for video element
- Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented later by just instantiating RenderMedia as renderer.
- Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can have child nodes (for controls).
- Controls are implemented as a shadow DOM.
- Current look is a placeholder. It is defined purely in CSS.
- Some things like volume controls are not yet implemented.
- Fade-in/out is done manually, CSS animations don't work well in shadow trees.
- WebCore.xcodeproj/project.pbxproj:
- css/html4.css:
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attributeChanged): (WebCore::HTMLMediaElement::updateMovie): (WebCore::HTMLMediaElement::defaultEventHandler):
- html/HTMLMediaElement.h:
- rendering/RenderMedia.cpp: Added. (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): (WebCore::MediaControlShadowRootElement::isShadowNode): (WebCore::MediaControlShadowRootElement::shadowParentNode): (WebCore::MediaControlInputElement::MediaControlInputElement): (WebCore::MediaControlInputElement::attachToParent): (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): (WebCore::MediaControlPlayButtonElement::inPausedState): (WebCore::MediaControlPlayButtonElement::defaultEventHandler): (WebCore::MediaControlPlayButtonElement::update): (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): (WebCore::MediaControlTimelineElement::defaultEventHandler): (WebCore::MediaControlTimelineElement::update): (WebCore::RenderMedia::RenderMedia): (WebCore::RenderMedia::~RenderMedia): (WebCore::RenderMedia::mediaElement): (WebCore::RenderMedia::movie): (WebCore::RenderMedia::setStyle): (WebCore::RenderMedia::createControlsShadowRoot): (WebCore::RenderMedia::createPanel): (WebCore::RenderMedia::createPlayButton): (WebCore::RenderMedia::createTimeline): (WebCore::RenderMedia::createTimeDisplay): (WebCore::RenderMedia::updateFromElement): (WebCore::RenderMedia::updateControls): (WebCore::RenderMedia::timeUpdateTimerFired): (WebCore::RenderMedia::updateTimeDisplay): (WebCore::RenderMedia::updateControlVisibility): (WebCore::RenderMedia::changeOpacity): (WebCore::RenderMedia::opacityAnimationTimerFired): (WebCore::RenderMedia::forwardEvent):
- rendering/RenderMedia.h: Added. (WebCore::RenderMedia::renderName): (WebCore::RenderMedia::isMedia): (WebCore::RenderMedia::intrinsicSize):
- rendering/RenderObject.h: (WebCore::RenderObject::isMedia):
- rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo): (WebCore::RenderVideo::videoSizeChanged): (WebCore::RenderVideo::paintObject): (WebCore::RenderVideo::layout): (WebCore::RenderVideo::updateFromElement): (WebCore::RenderVideo::calcAspectRatioWidth): (WebCore::RenderVideo::calcAspectRatioHeight):
- rendering/RenderVideo.h:
Reviewed by Darin.
Implement controls attribute for video element
- A new test for the controls attribute.
- Add the controls attibute to all existing video tests. This will give the code some additional exercise without affecting test results.
- media/progress-event.html:
- media/video-append-source.html:
- media/video-autoplay.html:
- media/video-buffered.html:
- media/video-controls-expected.txt: Added.
- media/video-controls.html: Added.
- media/video-currentTime-set.html:
- media/video-currentTime-set2.html:
- media/video-currentTime.html:
- media/video-dom-autoplay.html:
- media/video-dom-end.html:
- media/video-dom-loopcount.html:
- media/video-dom-loopend.html:
- media/video-dom-loopstart.html:
- media/video-dom-src.html:
- media/video-dom-start.html:
- media/video-end.html:
- media/video-error-abort.html:
- media/video-error-does-not-exist.html:
- media/video-load-networkState.html:
- media/video-load-readyState.html:
- media/video-loopcount.html:
- media/video-loopend.html:
- media/video-loopstart.html:
- media/video-muted.html:
- media/video-no-autoplay.html:
- media/video-pause-empty-events.html:
- media/video-play-empty-events.html:
- media/video-play-pause-events.html:
- media/video-play-pause-exception.html:
- media/video-poster.html:
- media/video-seek-past-end-paused.html:
- media/video-seek-past-end-playing.html:
- media/video-seekable.html:
- media/video-seeking.html:
- media/video-size.html:
- media/video-source-media.html:
- media/video-source-type.html:
- media/video-source.html:
- media/video-src-change.html:
- media/video-src-remove.html:
- media/video-src-set.html:
- media/video-src-source.html:
- media/video-src.html:
- media/video-start.html:
- media/video-volume.html:
- media/video-width-height.html:
- 17:33 Changeset [28126] by
Reviewed by Darin Adler.
<rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating
In the new beta, Google has added some custom code on top of our RemoveFormat
to work around a bug where fully selected lists aren't removed. This code corrupts
the undo stack and causes crashes. This change fixes two problems with RemoveFormat
so that Google doesn't have to have any custom code. After checking this in I'll
work on bulletproofing the undo stack
- WebCore.xcodeproj/project.pbxproj:
- editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method. (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not just the last paragraph. Added code to support an input string with '\n's.
- editing/CompositeEditCommand.h:
- editing/Editor.cpp: (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand.
- editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here. (WebCore::RemoveFormatCommand::RemoveFormatCommand): (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists.
- editing/RemoveFormatCommand.h: Added. (WebCore::RemoveFormatCommand::editingAction):
Reviewed by Darin Adler.
<rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating
Added to demonstrate fixes:
- editing/execCommand/5573879.html: Added.
- platform/mac/editing/execCommand/5573879-expected.checksum: Added.
- platform/mac/editing/execCommand/5573879-expected.png: Added.
- platform/mac/editing/execCommand/5573879-expected.txt: Added.
Fixes (RemoveFormat now preserves the selection correctly):
- platform/mac/editing/execCommand/4920742-1-expected.checksum:
- platform/mac/editing/execCommand/4920742-1-expected.png:
- platform/mac/editing/execCommand/4920742-1-expected.txt:
- platform/mac/editing/execCommand/remove-formatting-2-expected.checksum:
- platform/mac/editing/execCommand/remove-formatting-2-expected.png:
- platform/mac/editing/execCommand/remove-formatting-2-expected.txt:
- platform/mac/editing/execCommand/remove-formatting-expected.checksum:
- platform/mac/editing/execCommand/remove-formatting-expected.png:
- platform/mac/editing/execCommand/remove-formatting-expected.txt:
- 17:17 IconContestIdeas edited by
- Little re-organziation (diff)
- 17:16 IconContestIdeas edited by
- Added a submissions section (diff)
- 17:13 WebKit Team edited by
- (diff)
- 17:06 IconContestIdeas edited by
- (diff)
- 17:05 Changeset [28125] by
Make this test not depend on the screen size.
- fast/dom/Window/window-resize-expected.txt:
- fast/dom/Window/window-resize.html:
- 17:04 IconContestIdeas edited by
- (diff)
- 17:02 IconContestIdeas edited by
- Added a disclaimer (diff)
- 16:59 IconContestIdeas edited by
- Added a preliminary schedule (diff)
- 16:44 IconContestIdeas edited by
- Added voting section (diff)
- 16:43 Changeset [28124] by
Reviewed by Adam Roben.
- DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController keyDown:withModifiers:]): Send capital letters through as lowercase letters with the shift key down rather than sending them as if they were highly unusual "capital letter keys".
- Scripts/update-javascriptcore-test-results: Add a "--force" option for cases where you need to update results and more tests are failing than before.
- 16:33 Changeset [28123] by
Reviewed by Darin.
contextClick is not implemented in DRT on Windows.
- DumpRenderTree/win/EventSender.cpp: (contextClickCallback): Add a callback for contextClick, which sends a WM_RBUTTONDOWN message followed by a WM_RBUTTONUP message.
- DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::hasCustomMenuImplementation): (UIDelegate::trackCustomPopupMenu):
- DumpRenderTree/win/UIDelegate.h: Add a no-op implementation of trackCustomPopupMenu, to prevent the default popup menu from being shown (and causing the DRT to hang).
Reviewed by Darin.
contextClick is not implemented in DRT on Windows.
Remove tests that pass now that we have contextClick.
- platform/win/Skipped:
- 15:05 Changeset [28122] by
Removing some tests tracked by <rdar://5130762> because they don't fail.
- platform/win/Skipped:
- 15:01 IconContestIdeas edited by
- Rename resolution to size. (diff)
- 14:54 HackingGtk edited by
- Add an API rationale (diff)
- 14:51 IconContestIdeas edited by
- (diff)
- 14:45 Changeset [28121] by
Removing fixed tests tracked by <rdar://5128229>
- platform/win/Skipped:
- 14:41 IconContestIdeas edited by
- (diff)
- 14:29 IconContestIdeas edited by
- (diff)
- 14:29 IconContestIdeas edited by
- (diff)
- 14:27 Changeset [28120] by
Rubberstamped by Sam.
Fixing a typo in some filenames
- http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt: Removed.
- http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe.html: Removed.
- http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt: Removed.
- http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open.html: Removed.
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe-expected.txt.
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe.html: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-subframe.html.
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open-expected.txt.
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html: Copied from http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foreign-domain-window-open.html.
- http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt: Removed.
- http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe.html: Removed.
- http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt: Removed.
- http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open.html: Removed.
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe-expected.txt.
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-subframe.html.
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open-expected.txt.
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html: Copied from http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foreign-domain-window-open.html.
- platform/win/Skipped:
- 14:25 IconContestIdeas created by
- Initial ideas for a WebKit icon contest
- 14:24 Changeset [28119] by
Reviewed by Tim.
- Added guards to the wait loop so execution would not hang and now the console window can process JavaScript.
- WebScriptDebugServer.cpp: (WebScriptDebugServer::suspendProcessIfPaused):
- 14:04 Changeset [28118] by
Reviewed by Dave Hyatt.
- fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046
Test: fast/table/empty-auto-column-zero-divide.html
- rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn): (WebCore::AutoTableLayout::fullRecalc): (WebCore::AutoTableLayout::calcEffectiveWidth): (WebCore::AutoTableLayout::layout): When distributing the remaining width among columns, skip those whose effective (rather than specified) width is auto and contain only empty cells.
Reviewed by Dave Hyatt.
- test for <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046
- fast/table/empty-auto-column-zero-divide-expected.txt: Added.
- fast/table/empty-auto-column-zero-divide.html: Added.
- 14:03 Changeset [28117] by
Reviewed by Darin.
Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in
WebHTMLView to prevent future problems in other methods as well.
- WebView/WebHTMLView.mm: (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): (-[WebHTMLView keyDown:]): (-[WebHTMLView keyUp:]): (-[WebHTMLView flagsChanged:]): (-[WebHTMLView _selectionStartFontAttributesAsRTF]): (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): (-[WebHTMLView checkSpelling:]): (-[WebHTMLView showGuessPanel:]): (-[WebHTMLView indent:]): (-[WebHTMLView outdent:]): (-[WebHTMLView paste:]): (-[WebHTMLView _lookUpInDictionaryFromMenu:]): (-[WebHTMLView insertText:]): (-[WebHTMLView selectionTextRects]):
- 13:17 Changeset [28116] by
Reviewed by Adam.
Implement the last bits of the WebDatabaseManager API.
- Interfaces/IWebDatabaseManager.idl:
- WebDatabaseManager.cpp: (isEqual): (WebDatabaseManager::sharedWebDatabaseManager): (WebDatabaseManager::dispatchDidModifyOrigin): (WebDatabaseManager::dispatchDidModifyDatabase):
- WebDatabaseManager.h:
- 12:55 WebKit Team edited by
- (diff)
- 12:12 Changeset [28115] by
Get Drosera working again for real.
- COMEnumVariant.h: (::Next):
- 11:57 Changeset [28114] by
2007-11-28 Peter Kasting <email@example.com>
Reviewed by Alp Toker.
GIF decoder needs to set hasAlpha() correctly on subsequent frames.
This also removes the workaround for this problem in
- platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::frameHasAlphaAtIndex):
- platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::initFrameBuffer):
- 11:37 Changeset [28113] by
2007-11-28 Jon Honeycutt <email@example.com>
Reviewed by Dan.
<rdar://problem/5507360> plugins/return-error-from-new-stream-callback-
in-full-frame-plugin.html is crashing
Alice fixed this in r28046
- platform/win/Skipped:
- 10:08 HackingGtk edited by
- Codify URL vs. URI public API policy (diff)
- 09:46 Changeset [28112] by
Reviewed by Maciej and Adam.
- Added Drosera to the WebKit project.
- WebKit.vcproj/WebKit.sln:
- 08:47 Changeset [28111] by
Reviewed by Darin Adler and Adam Roben.
- <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented
- platform/win/SearchPopupMenuWin.cpp: (WebCore::SearchPopupMenu::enabled): Changed to return true. (WebCore::autosaveKey): Added. Returns a preferences key for the autosave name by prefixing it with "com.apple.WebKit.searchField:". (WebCore::SearchPopupMenu::saveRecentSearches): Implemented. (WebCore::SearchPopupMenu::loadRecentSearches): Implemented.
- 05:12 Changeset [28110] by
Roll out r28106 and r28108. These introduced a frequent assertion failure on page load and broke all non-Mac builds.
- 04:47 Changeset [28109] by
2007-11-28 Alp Toker <firstname.lastname@example.com>
Reviewed by Mark Rowe.
[GTK] Background of loading images is always black
frameHasAlphaAtIndex() exists only to allow optimization for cases we
are certain the image can be blitted rather than composited.
Thus we need to be conservative, returning false only when we are
absolutely certain there is no need for composited copying, and true
CG doesn't even bother with this optimization at all and always
returns true.
Patch includes a workaround for
GIF ImageDecoder hasAlpha() return value incorrect
- platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::frameHasAlphaAtIndex):
- 03:03 Changeset [28108] by
Add files missing from previous commit.
- kjs/MarkStack.h: Added.
add files missing from previous commit.
- fast/js/gc-breadth-2-expected.txt: Added.
- fast/js/gc-breadth-2.html: Added.
- fast/js/gc-breadth-expected.txt: Added.
- fast/js/gc-breadth.html: Added.
- fast/js/gc-depth-expected.txt: Added.
- fast/js/gc-depth.html: Added.
- fast/js/resources/gc-breadth-2.js: Added.
- fast/js/resources/gc-breadth.js: Added.
- fast/js/resources/gc-depth.js: Added.
- 02:42 Changeset [28107] by
2007-11-26 Rodney Dawes <email@example.com>
Reviewed by Mark Rowe.
Set CONFIG option for the window system GTK+ is using
- WebKit.pri:
- 02:08 Changeset [28106] by
Reviewed by Darin and Geoff.
- Fixed "Stack overflow crash in JavaScript garbage collector mark pass" http://bugs.webkit.org/show_bug.cgi?id=12216
Implement mark stack. This version is not suitable for prime time because it makes a
huge allocation on every collect, and potentially makes marking of detached subtrees
slow. But it is an 0.4% SunSpider speedup even without much tweaking.
The basic approach is to replace mark() methods with
markChildren(MarkStack&) methods. Reachable references are pushed
onto a mark stack (which encapsulates ignoring already-marked
Objects are no longer responsible for actually setting their own
mark bits, the collector does that. This means that for objects on
the number heap we don't have to call markChildren() at all since
we know there aren't any.
The mark phase of collect pushes roots onto the mark stack
and drains it as often as possible.
To make this approach viable requires a constant-size mark stack
and a slow fallback approach for when the stack size is exceeded,
plus optimizations to make the required stack small in common
cases. This should be doable.
- JavaScriptCore.exp: Export new symbols.
- JavaScriptCore.xcodeproj/project.pbxproj: Add new file.
- kjs/collector.cpp: (KJS::Collector::heapAllocate): (KJS::drainMarkStack): Helper for all of the below. (KJS::Collector::markStackObjectsConservatively): Use mark stack. (KJS::Collector::markCurrentThreadConservatively): ditto (KJS::Collector::markOtherThreadConservatively): ditto (KJS::Collector::markProtectedObjects): ditto (KJS::Collector::markMainThreadOnlyObjects): ditto (KJS::Collector::collect): ditto
- kjs/collector.h: (KJS::Collector::cellMayHaveRefs): Helper for MarkStack.
- kjs/MarkStack.h: Added. The actual mark stack implementation. (KJS::MarkStack::push): (KJS::MarkStack::pushAtom): (KJS::MarkStack::pop): (KJS::MarkStack::isEmpty): (KJS::MarkStack::reserveCapacity):
Changed mark() methods to markChildren() methods:
- kjs/ExecState.cpp: (KJS::ExecState::markChildren):
- kjs/ExecState.h:
- kjs/JSWrapperObject.cpp: (KJS::JSWrapperObject::markChildren):
- kjs/JSWrapperObject.h:
- kjs/array_instance.cpp: (KJS::ArrayInstance::markChildren):
- kjs/array_instance.h:
- kjs/bool_object.cpp: (BooleanInstance::markChildren):
- kjs/bool_object.h:
- kjs/error_object.cpp:
- kjs/error_object.h:
- kjs/function.cpp: (KJS::FunctionImp::markChildren): (KJS::Arguments::Arguments): (KJS::Arguments::markChildren): (KJS::ActivationImp::markChildren):
- kjs/function.h:
- kjs/internal.cpp: (KJS::GetterSetterImp::markChildren):
- kjs/interpreter.cpp: (KJS::Interpreter::markRoots):
- kjs/interpreter.h:
- kjs/list.cpp: (KJS::List::markProtectedListsSlowCase):
- kjs/list.h: (KJS::List::markProtectedLists):
- kjs/object.cpp: (KJS::JSObject::markChildren):
- kjs/object.h: (KJS::ScopeChain::markChildren):
- kjs/property_map.cpp: (KJS::PropertyMap::markChildren):
- kjs/property_map.h:
- kjs/scope_chain.h:
- kjs/string_object.cpp: (KJS::StringInstance::markChildren):
- kjs/string_object.h:
Reviewed by Darin and Geoff.
Fixups for JavaScriptCore mark stack.
- JSObject.cpp: (JSUserObject::Mark):
- JSObject.h:
- JSValueWrapper.cpp: (JSValueWrapper::JSObjectMark):
- JSValueWrapper.h:
- UserObjectImp.cpp:
- UserObjectImp.h:
Reviewed by Darin and Geoff.
Implement mark stack. This version is not suitable for prime time because it makes a
huge allocation on every collect, and potentially makes marking of detached subtrees
slow. But it is a .2% - .4% speedup even without much tweaking.
I replaced mark() methods with markChildren() as usual. One
optimization that is lost is avoiding walking detached DOM
subtrees more than once to mark them; since marking is not
recursive there's no obvious way to bracket operation on the tree
any more.
- bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::markChildren):
- bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren):
- bindings/js/JSNodeFilterCondition.cpp:
- bindings/js/JSNodeFilterCondition.h:
- bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::markChildren):
- bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::markChildren):
- bindings/js/JSTreeWalkerCustom.cpp: (WebCore::JSTreeWalker::markChildren):
- bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::markChildren):
- bindings/js/JSXMLHttpRequest.h:
- bindings/js/kjs_binding.cpp: (KJS::ScriptInterpreter::markDOMNodesForDocument):
- bindings/js/kjs_binding.h:
- bindings/js/kjs_events.cpp: (WebCore::JSUnprotectedEventListener::markChildren):
- bindings/js/kjs_events.h:
- bindings/js/kjs_window.cpp: (KJS::Window::markChildren):
- bindings/js/kjs_window.h:
- bindings/scripts/CodeGeneratorJS.pm:
- dom/Node.cpp: (WebCore::Node::Node):
- dom/Node.h:
- dom/NodeFilter.h:
- dom/NodeFilterCondition.h:
Not reviewed.
- Test cases for "Stack overflow crash in JavaScript garbage collector mark pass" http://bugs.webkit.org/show_bug.cgi?id=12216
I have fixed this with the mark stack work.
- fast/js/gc-breadth-2-expected.txt: Added.
- fast/js/gc-breadth-2.html: Added.
- fast/js/gc-breadth-expected.txt: Added.
- fast/js/gc-breadth.html: Added.
- fast/js/gc-depth-expected.txt: Added.
- fast/js/gc-depth.html: Added.
- fast/js/resources/gc-breadth-2.js: Added.
- fast/js/resources/gc-breadth.js: Added.
- fast/js/resources/gc-depth.js: Added.
- 01:24 Changeset [28105] by
Not reviewer for this patch.
- 01:04 Changeset [28104] by
Reviewed by Maciej Stachowiak.
- fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
- WebView/WebHTMLView.mm: (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver because addMouseMovedObserver returns early if the dataSource is not nil. But if the dataSource is already set (which happens when a WebHTMLView is being reused) then addMouseMovedObserver must not be called again.
- 00:27 Changeset [28103] by
2007-11-27 Alp Toker <firstname.lastname@example.com>
Reviewed by Mark Rowe.
Install the JavaScriptCore headers as part of the GTK+ port.
- 22:31 Changeset [28102] by
Reviewed by Oliver.
Fix for <rdar://problem/5616052> SVGs with width or height of 100%
hang when used as a background-image (16164)
- platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::size): Use valueAsPercentage() for percents instead of valueInSpecifiedUnits(). valueInSpecifiedUnits() returns, for example, 50 for 50%, so multiplying percentages by the default size of 300 x 150 led to ridiculously huge dimensions for SVG images, and the subsequent hang.
Reviewed by Oliver.
Test for <rdar://problem/5616052> SVGs with width or height of 100%
hang when used as a background-image (16164)
- fast/images/resources/width-100-percent.svg: Added.
- fast/images/svg-width-100p-as-background.html: Added.
- platform/mac/fast/images/svg-width-100p-as-background-expected.checksum: Added.
- platform/mac/fast/images/svg-width-100p-as-background-expected.png: Added.
- platform/mac/fast/images/svg-width-100p-as-background-expected.txt: Added.
- 21:54 Changeset [28101] by
Not reviewed.
Fix DumpRenderTree ObjC bug comparing strings.
- DumpRenderTree/mac/ObjCController.m: (-[ObjCController identityIsEqual::]): Compare strings with string equality instead of identiy equality.
- 21:48 Changeset [28100] by
2007-11-27 Alp Toker <firstname.lastname@example.com>
Prospective MSVC build fix.
Roll back dllexport/dllimport support for now.
- API/JSBase.h:
- 20:50 Changeset [28099] by
2007-11-27 Jon Honeycutt <firstname.lastname@example.com>
Reviewed by Adam.
Return bool from registerWebViewWindowClass, as nothing uses the ATOM.
Set haveRegisteredWindowClass to true
- WebView.cpp: (registerWebViewWindowClass):
- 20:47 Changeset [28098] by
2007-11-27 Jon Honeycutt <email@example.com>
Reviewed by Adam.
Set haveRegisteredWindowClass when we register the window class.
- plugins/win/PluginViewWin.cpp: (WebCore::registerPluginView):
- 20:31 Changeset [28097] by
2007-11-27 Alp Toker <firstname.lastname@example.com>
Reviewed by Maciej.
[gtk] GTK JavaScriptCore needs to export symbols for JSC API and WTF
Introduce JS_EXPORT to mark symbols to be exported as public API.
Export all public symbols in the JavaScriptCore C API.
This matches conventions for exporting symbols set by the CF and CG
- API/JSBase.h:
- API/JSContextRef.h:
- API/JSObjectRef.h:
- API/JSStringRef.h:
- API/JSStringRefBSTR.h:
- API/JSStringRefCF.h:
- API/JSValueRef.h:
- 18:47 Changeset [28096] by
Speculative fix to get Drosera working.
- COMEnumVariant.h: (::Next): Update the number of elements fetched correctly.
- 17:34 Changeset [28095] by
Reviewed by Brady.
- Storage/WebDatabaseManager.mm:
- Storage/WebDatabaseManagerPrivate.h:
- Storage/WebDatabaseTrackerClient.mm: (WebDatabaseTrackerClient::dispatchDidModifyOrigin): (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
- Storage/WebSecurityOrigin.mm: (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
- Storage/WebSecurityOriginInternal.h:
- 17:22 Changeset [28094] by
Reviewed by Sam.
Reset the authorAndUserStylesEnabled preference
back to YES for each test. Fixes the broken tests.
- DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting):
- 17:12 Changeset [28093] by
Reviewed by Sam Weinig.
Bug 16165: Dragging the inspector toolbar should move the window
- page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code.
- page/inspector/inspector.css: Only make the toolbar transparent in detached mode.
- page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add toolbar drag functions that move the window.
- 17:12 Changeset [28092] by
Reviewed by Adam.
Some COM cleanup.
- CFDictionaryPropertyBag.cpp: (CFDictionaryPropertyBag::QueryInterface):
- CFDictionaryPropertyBag.h:
- WebBackForwardList.cpp: (WebBackForwardList::addItem): (WebBackForwardList::removeItem):
- WebDownload.cpp: (WebDownload::initWithRequest):
- WebFrame.cpp: (WebFrame::loadRequest): (WebFrame::initWithWebFrameView): (WebFrame::webHistory): (WebFrame::dispatchWillSendRequest):
- WebURLAuthenticationChallenge.cpp: (WebURLAuthenticationChallenge::QueryInterface): (WebURLAuthenticationChallenge::initWithProtectionSpace):
- WebURLAuthenticationChallenge.h:
- WebURLAuthenticationChallengeSender.cpp: (WebURLAuthenticationChallengeSender::QueryInterface):
- WebURLAuthenticationChallengeSender.h:
- WebURLResponse.cpp: (WebURLResponse::QueryInterface):
- WebURLResponse.h:
- WebView.cpp: (WebView::notifyDidAddIcon): (WebView::goToBackForwardItem): (WebView::canHandleRequest): (WebView::loadBackForwardListFromOtherView): (core):
- 16:35 Changeset [28091] by
Reviewed by Adam.
- Drosera now displays the console window, although it cannot currently process JavaScript.
- Drosera/win/DebuggerClient.cpp: Shows the console window. (registerConsoleClass): Implemented. (consoleWndProc): Implemented. (DebuggerClient::onSize): Implemented. (DebuggerClient::createWebViewWithRequest): Implemented, now creates a new window.
- Drosera/win/DebuggerClient.h: Added needed method and members for creating and maintaining a new window.
- Drosera/win/Drosera.cpp: Fixed some minor bugs, and moved a couple of lines of code to more appropriate places. (Drosera::handleCommand): (Drosera::initUI): (Drosera::onSize): (Drosera::attach):
- 16:12 Changeset [28090] by
Add COMEnumVariant.h to the project.
- WebKit.vcproj/WebKit.vcproj:
- 16:11 Changeset [28089] by
Reviewed by Adam.
Return E_INVALIDARG if the databaseName BSTR is null;
- WebDatabaseManager.cpp: (WebDatabaseManager::detailsForDatabaseWithOrigin): (WebDatabaseManager::deleteDatabaseWithOrigin):
- 15:57 Changeset [28088] by
Reviewed by Adam.
Implement the rest of the WebDatabaseManager API.
- COMEnumVariant.h:
- Interfaces/IWebDatabaseManager.idl:
- WebDatabaseManager.cpp: (isEqual): (DatabaseDetailsPropertyBag::DatabaseDetailsPropertyBag): (DatabaseDetailsPropertyBag::~DatabaseDetailsPropertyBag): (DatabaseDetailsPropertyBag::createInstance): (DatabaseDetailsPropertyBag::AddRef): (DatabaseDetailsPropertyBag::Release): (DatabaseDetailsPropertyBag::QueryInterface): (DatabaseDetailsPropertyBag::Read): (DatabaseDetailsPropertyBag::Write): (WebDatabaseManager::detailsForDatabaseWithOrigin): (WebDatabaseManager::deleteAllDatabases): (WebDatabaseManager::deleteDatabasesWithOrigin): (WebDatabaseManager::deleteDatabaseWithOrigin):
- WebDatabaseManager.h:
- 15:34 Changeset [28087] by
Land results for my last test change,
- 15:32 Changeset [28086] by
<rdar://problem/5616098> The BSTR returned by WebHistoryItem::alternateTitle
was not allocated correctly.
Reviewed by Anders.
- WebHistoryItem.cpp: (WebHistoryItem::setAlternateTitle): (WebHistoryItem::alternateTitle):
- WebHistoryItem.h:
- 15:30 Changeset [28085] by
Reviewed by Mitz.
Small changes to make RenderSlider a bit more generic so it can be used in video controls.
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events.
- rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events. (WebCore::RenderSlider::setStyle): (WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset. (WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events.
- rendering/RenderSlider.h:
- 15:27 Changeset [28084] by
Reviewed by Darin.
- Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles generally exist when asked for so the optimization does not do much. This reverses the continuing growth of the _pseudoBits bitfield in RenderStyle.
- Add some pseudo elements for media controls
- css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
- css/CSSSelector.h: (WebCore::CSSSelector::):
- css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRulesForList): (WebCore::CSSStyleSelector::checkOneSelector):
- rendering/RenderObject.cpp: (WebCore::RenderObject::getPseudoStyle):
- rendering/RenderStyle.cpp: (WebCore::pseudoBit): (WebCore::RenderStyle::hasPseudoStyle): (WebCore::RenderStyle::setHasPseudoStyle):
- rendering/RenderStyle.h: (WebCore::RenderStyle::):
- 15:05 Changeset [28083] by
Reviewed by Kevin McCullough.
Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
Removed the "Adjust the window rect to be in the coordinate space of
the screen rect" step which was always adding (0,22) to the window
position (on the main screen). Instead, account for screen X and Y
in the bottom and right constrain step.
Added more test cases to: fast/dom/Window/window-resize.html
- bindings/js/kjs_window.cpp: (KJS::adjustWindowRect):
Reviewed by Kevin McCullough.
Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
Added test cases for moveBy(0, 0), moveBy(0, 1) and moveBy(1, 0).
- fast/dom/Window/window-resize.html:
- 15:00 Changeset [28082] by
Build fix.
- JSUtils.cpp: (KJSValueToCFTypeInternal):
- JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames):
- 14:30 Changeset [28081] by
Reviewed by Darin, landed by Anders.
Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
database will compare bundle versions and always load the latest version.
- Plugins/WebBasePluginPackage.h:
- Plugins/WebBasePluginPackage.m: (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes, but we think for now it's good enough for us.
- Plugins/WebPluginDatabase.m: (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number. If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
- 14:27 Changeset [28080] by
Reviewed by Adam.
Use COMEnumVariant in WebScriptCallFrame and WebScriptScope.
- WebScriptCallFrame.cpp: (WebScriptCallFrame::scopeChain):
- WebScriptScope.cpp: (WebScriptScope::variableNames):
- 14:21 Changeset [28079] by
Reviewed by Adam.
Make PropertyNameArray and ScopeChain COMEnumVariant friendly.
- kjs/PropertyNameArray.cpp: (KJS::PropertyNameArray::swap): Implement PropertyNameArray::swap.
- kjs/PropertyNameArray.h: Add ValueType typedef. Replace PropertyNameArrayIterator with PropertyNameArray::const_iterator.
- kjs/nodes.cpp: (KJS::ForInNode::execute):
- kjs/scope_chain.cpp: (KJS::ScopeChain::print): Update for changes to PropertyNameArray.
- kjs/scope_chain.h: Add const_iterator and ValueType typedef.
- 13:48 Changeset [28078] by
Reviewed by Adam.
Use the correct include paths.
- COMEnumVariant.h:
- 13:43 Changeset [28077] by
Reviewed by Darin.
Add COMEnumVariant, a templatized class with implements IEnumVARIANT and lets
you enumerate over a C++ container, be it WTF or STL.
- COMEnumVariant.h: Added.
- WebDatabaseManager.cpp: (WebDatabaseManager::origins): (WebDatabaseManager::databasesWithOrigin): Implement these using COMEnumVariant.
- WebSecurityOrigin.cpp: (WebSecurityOrigin::QueryInterface):
- WebSecurityOrigin.h: Add a UUID for the implementation so that other parts of WebKit can access the WebCore::SecurityOriginData object.
- 13:27 Changeset [28076] by
Reviewed by Darin.
Add a ValueType typedef.
- wtf/Vector.h:
- 13:23 Changeset [28075] by
Reviewed by Adam Roben.
- page/inspector/inspector.css: Make the text in the Network panel legend more readable.
- 12:51 Changeset [28074] by
Reviewed by Adam Roben.
Don't call setNeedsReapplyStylesInAllFrames if the
authorAndUserStylesEnabled setting didn't change.
- page/Settings.cpp: (WebCore::Settings::setAuthorAndUserStylesEnabled):
- 10:53 Changeset [28073] by
2007-11-27 Alp Toker <email@example.com>
Fix potential broken build due to a missing DEPENDPATH.
- WebCore.pro:
- 10:48 Changeset [28072] by
Fixed 5614525, caused by a recent bug in WKGetExtensionsForMIMEType
that affects Safari.
reviewed by Kevin Decker
- libWebKitSystemInterfaceLeopard.a:
- libWebKitSystemInterfaceTiger.a:
- 09:15 Changeset [28071] by
Reviewed by Dave Hyatt.
<rdar://problem/5569233> Add the ability to disable author and user CSS styles
- WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
- css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter. (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before matching user and author rules. (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
- css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
- dom/Document.cpp: (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector. (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
- page/Settings.cpp: (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true. (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames when the setting changes.
- page/Settings.h: Add m_authorAndUserStylesEnabled. (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.
Reviewed by Dave Hyatt.
<rdar://problem/5569233> Add the ability to disable author and user CSS styles
- WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
- WebView/WebPreferences.m: (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES. (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value. (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
- WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
- WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
Reviewed by Dave Hyatt.
<rdar://problem/5569233> Add the ability to disable author and user CSS styles
Add support for disabling author and user styles for testing.
- DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- DumpRenderTree/LayoutTestController.cpp: (setAuthorAndUserStylesEnabledCallback): (LayoutTestController::staticFunctions):
- DumpRenderTree/LayoutTestController.h:
- DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setAuthorAndUserStylesEnabled):
- DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setAuthorAndUserStylesEnabled):
Reviewed by Dave Hyatt.
Test for: <rdar://problem/5569233> Add the ability to disable author and user CSS styles
- fast/css/disabled-author-styles.html: Added.
- platform/mac/fast/css/disabled-author-styles-expected.txt: Added.
- 07:06 QtWebKitGitInstructions edited by
- (diff)
- 01:48 HackingGtk edited by
- Link to OptimizingGtk (diff)
- 00:15 Changeset [28070] by
2007-11-27 Alp Toker <firstname.lastname@example.com>
Reviewed by Mark Rowe.
Based on changes by Mike Emmel.
CURL HTTP backend local file fixes:
Set a MIME type for local files based on the file extension.
Remove any HTTP query part sent to a local file.
- platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::startJob):