Timeline



Nov 12, 2007:

11:12 PM Changeset in webkit [27746] by ap@webkit.org
  • 11 edits
    2 adds in trunk/JavaScriptCore

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15953
Add UTF-8 encoding/decoding to WTF

  • kjs/ustring.h: Moved UTF8SequenceLength() and decodeUTF8Sequence() to wtf/unicode.
  • kjs/ustring.cpp: (KJS::UString::UTF8String): Changed this function to take a strict/lenient parameter. Callers are not interested in getting decoding results in strict mode, so this allows for bailing out as soon as an error is seen.
  • kjs/function.cpp: (KJS::encode): Updated for new UString::UTF8String() signature.
  • API/JSStringRef.cpp: (JSStringCreateWithCharacters): Disambiguate UChar. (JSStringCreateWithUTF8CString): Actually use UTF-8 when creating the string!
  • bindings/c/c_utility.cpp: (KJS::Bindings::convertUTF8ToUTF16): Use ConvertUTF8ToUTF16().
  • wtf/unicode/UTF8.cpp: Added. (WTF::Unicode::inlineUTF8SequenceLengthNonASCII): (WTF::Unicode::inlineUTF8SequenceLength): (WTF::Unicode::UTF8SequenceLength): (WTF::Unicode::decodeUTF8Sequence): (WTF::Unicode::): (WTF::Unicode::ConvertUTF16ToUTF8): (WTF::Unicode::isLegalUTF8): (WTF::Unicode::ConvertUTF8ToUTF16):
  • wtf/unicode/UTF8.h: Added. (WTF::Unicode::): Some code moved from ustring.h, some adapted from unicode.org sources.
10:48 PM Changeset in webkit [27745] by weinig@apple.com
  • 4 edits in trunk

JavaScriptCore:

Reviewed by Darin.

  • bindings/npapi.h:

WebKit/mac:

Reviewed by Darin.

  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setVariable:value:]):
10:21 PM Changeset in webkit [27744] by ap@webkit.org
  • 11 edits in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15954
Move DOM Selection operations out of SelectionController

No change in functionality.

WebCore:

  • editing/SelectionController.cpp: (WebCore::SelectionController::setSelectedRange):
  • editing/SelectionController.h:
  • page/DOMSelection.cpp: (WebCore::DOMSelection::anchorNode): (WebCore::DOMSelection::baseNode): (WebCore::DOMSelection::anchorOffset): (WebCore::DOMSelection::baseOffset): (WebCore::DOMSelection::focusNode): (WebCore::DOMSelection::extentNode): (WebCore::DOMSelection::focusOffset): (WebCore::DOMSelection::extentOffset): (WebCore::DOMSelection::isCollapsed): (WebCore::DOMSelection::type): (WebCore::DOMSelection::rangeCount): (WebCore::DOMSelection::collapse): (WebCore::DOMSelection::collapseToEnd): (WebCore::DOMSelection::collapseToStart): (WebCore::DOMSelection::empty): (WebCore::DOMSelection::setBaseAndExtent): (WebCore::DOMSelection::setPosition): (WebCore::DOMSelection::modify): (WebCore::DOMSelection::extend): (WebCore::DOMSelection::getRangeAt): (WebCore::DOMSelection::removeAllRanges): (WebCore::DOMSelection::addRange): (WebCore::DOMSelection::deleteFromDocument): (WebCore::DOMSelection::containsNode): (WebCore::DOMSelection::selectAllChildren): (WebCore::DOMSelection::toString):
  • page/DOMSelection.h: Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange() to return its result directly instead of via an ExceptionCode that no caller wanted.
  • editing/Editor.cpp: (WebCore::Editor::deleteRange): (WebCore::Editor::removeFormattingAndStyle): (WebCore::Editor::selectComposition): (WebCore::Editor::setComposition):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Adapted for SelectionController::setSelectedRange() now returning a bool. SelectionController::toString() is no longer avasilable, use plainText() explicitly.
  • WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.

WebKit:

  • WebView/WebHTMLView.mm: (-[WebHTMLView _expandSelectionToGranularity:]): (-[WebHTMLView selectToMark:]): (-[WebHTMLView swapWithMark:]):
  • WebView/WebView.mm: (-[WebView setSelectedDOMRange:affinity:]): Adapted for SelectionController::setSelectedRange() now returning a bool.
8:53 PM Changeset in webkit [27743] by mitz@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: fast/repaint/invisible-objects.html

Avoid repainting invisible blocks if they are enclosed in a layer that
contains no visible objects.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absoluteClippedOverflowRect):

LayoutTests:

Reviewed by Darin Adler.

  • fast/repaint/invisible-objects.html: Added.
  • platform/mac/fast/repaint/invisible-objects-expected.checksum: Added.
  • platform/mac/fast/repaint/invisible-objects-expected.png: Added.
  • platform/mac/fast/repaint/invisible-objects-expected.txt: Added.
7:57 PM Changeset in webkit [27742] by oliver@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)

Reviewed by John S.

EventHandler needs to reset these fields when a drag terminates, otherwise
EventHandler is left in an inconsistent state when a drag is initiated on a
page with multiple frames.

6:33 PM Changeset in webkit [27741] by wsiegrist@apple.com
  • 1 edit in trunk/WebKitSite/test.txt
6:23 PM Changeset in webkit [27740] by wsiegrist@apple.com
  • 1 edit in trunk/WebKitSite/test.txt

test 4

6:10 PM Changeset in webkit [27739] by wsiegrist@apple.com
  • 1 edit in trunk/WebKitSite/test.txt

3

6:04 PM Changeset in webkit [27738] by wsiegrist@apple.com
  • 1 edit in trunk/WebKitSite/test.txt

2++

5:58 PM Changeset in webkit [27737] by wsiegrist@apple.com
  • 1 edit in trunk/WebKitSite/test.txt

take 2

5:53 PM Changeset in webkit [27736] by wsiegrist@apple.com
  • 1 add in trunk/WebKitSite/test.txt

testing post-commit.

5:39 PM Changeset in webkit [27735] by timothy@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

Prevent selecting a word in the breadcrumb or the styles section when double
clicking on a DOM node in the outline tree.

  • page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event with a detail of 2 or higher comes in. This prevents the selection.
  • page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
5:33 PM Changeset in webkit [27734] by weinig@apple.com
  • 5 edits in trunk

WebKitTools:

Reviewed by Adam Roben.

Implement LayoutTestController.setPrivateBrowsingEnabled(bool) for windows.

  • DumpRenderTree/win/DumpRenderTree.cpp: (runTest):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setPrivateBrowsingEnabled):

LayoutTests:

Reviewed by Adam Roben.

  • platform/win/Skipped: Remove http/tests/security/cross-frame-acdcess-private-browsing.html from the windows skipped list now that LayoutTestController.setPrivateBrowsingEnabled has been implmented.
4:22 PM Changeset in webkit [27733] by Darin Adler
  • 3 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Sam.

Test: fast/js/regexp-many-brackets.html

  • pcre/pcre_exec.cpp: (match): Added back accidentally-removed case for the BRANUMBER opcode.

LayoutTests:

Reviewed by Sam.

  • fast/js/regexp-many-brackets-expected.txt: Added.
  • fast/js/regexp-many-brackets.html: Added.
  • fast/js/resources/regexp-many-brackets.js: Added.
3:53 PM Changeset in webkit [27732] by oliver@apple.com
  • 2 edits in trunk/WebCore

Return behaviour for 0 sized pattern back to what it was prior to r27704

Reviewed by Darin and Antti.

This change in behaviour broke two layout tests in DRT, so correcting it
corrects existing tests.

3:27 PM Changeset in webkit [27731] by timothy@apple.com
  • 2 edits in trunk/WebCore

Reviewed by John.

<rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]

  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): If the SharedBuffer is null insert an empty NSData instead of nil.
3:04 PM Changeset in webkit [27730] by Darin Adler
  • 17 edits
    1 delete in trunk/JavaScriptCore

Reviewed by Geoff.

  • fix use of prefix and config.h, got rid of a few unneeded things in the PCRE code; no behavior changes
  • API/JSBase.cpp: Added include of config.h.
  • API/JSCallbackConstructor.cpp: Ditto.
  • API/JSCallbackFunction.cpp: Ditto.
  • API/JSCallbackObject.cpp: Ditto.
  • API/JSClassRef.cpp: Ditto.
  • API/JSContextRef.cpp: Ditto.
  • API/JSObjectRef.cpp: Ditto.
  • API/JSStringRef.cpp: Ditto.
  • API/JSValueRef.cpp: Ditto.
  • JavaScriptCorePrefix.h: Removed obsolete <ctype.h> workaround. Moved new/delete macros after includes, as they are in WebCore's prefix. Removed "config.h".
  • pcre/dftables.cpp: (main): Changed back to not use a separate maketables function. This is needed for PCRE, but not helpful for our use. Also changed the tables to all be 128 entries long instead of 256, since only the first 128 are ever used.
  • pcre/pcre_compile.cpp: Added include of config.h. Eliminated digitab, which was only being used to check hex digits. Changed all uses of TRUE and FALSE to use the C++ true and false instead. (check_escape): Just the TRUE/FALSE thing. (is_counted_repeat): Ditto. (could_be_empty_branch): Ditto. (get_othercase_range): Ditto. (compile_branch): Ditto. (compile_regex): Ditto. (is_anchored): Ditto. (is_startline): Ditto. (find_firstassertedchar): Ditto. (jsRegExpCompile): Ditto.
  • pcre/pcre_exec.cpp: Added include of config.h. Changed all uses of TRUE and FALSE to use the C++ true and false instead. (match_ref): Just the TRUE/FALSE thing. (match): Ditto. Removed some unneeded braces. (jsRegExpExecute): Just the TRUE/FALSE thing.
  • pcre/pcre_internal.h: Moved the constants needed by dftables.cpp to the top of the file instead of the bottom, so they can be used. Also changed the table sizes to 128 instead of 256. Removed macro definitions of FALSE and TRUE. Set array sizes for all the const arrays. Changed _pcre_utf8_table1_size to be a macro instead of a extern int.
  • pcre/pcre_maketables.cpp: Removed. It's all in dftables.cpp now.
  • pcre/pcre_tables.cpp: Made table sizes explicit.
  • pcre/pcre_xclass.cpp: Just the TRUE/FALSE thing.
2:28 PM Changeset in webkit [27729] by Darin Adler
  • 3 edits in trunk/WebCore

Reviewed by Tim.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange): Factored out the slow case of isScheduledLocationChangePending into this.
  • loader/FrameLoader.h: (WebCore::FrameLoader::isScheduledLocationChangePending): Added an inline check of the far and away most common case, where m_scheduledRedirection is 0; the rest is in the isLocationChange function.
2:11 PM Changeset in webkit [27728] by oliver@apple.com
  • 1 edit in trunk/WebKit/mac/ChangeLog

Appease geoff :D

2:06 PM Changeset in webkit [27727] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/kde/completion-expected.txt:
  • fast/js/kde/resources/completion.js:
2:04 PM Changeset in webkit [27726] by oliver@apple.com
  • 2 edits in trunk/WebKit/mac

<rdar://problem/5522011> The content of the password field of Safari is displayed by reconversion.

Reviewed by Darin.

Some input methods (notably Kotoeri) can incorrectly provide
access to the raw text of a password field. To work around
this we forcefully override the inputContext whenever a password
field is active.

1:59 PM Changeset in webkit [27725] by ggaren@apple.com
  • 3 edits
    3 adds in trunk/LayoutTests

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/kde/lval-exceptions-expected.txt: Added.
  • fast/js/kde/lval-exceptions.html: Added.
  • fast/js/kde/operators-expected.txt:
  • fast/js/kde/resources/lval-exceptions.js: Added.
  • fast/js/kde/resources/operators.js:
1:57 PM Changeset in webkit [27724] by ggaren@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/kde/func-decl-expected.txt: Added.
  • fast/js/kde/func-decl.html: Added.
  • fast/js/kde/resources/func-decl.js: Added.
1:55 PM Changeset in webkit [27723] by ggaren@apple.com
  • 1 edit
    6 adds in trunk/LayoutTests

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/rehash-assign-expected.txt: Added.
  • fast/js/rehash-assign.html: Added.
  • fast/js/resize-array-assign-expected.txt: Added.
  • fast/js/resize-array-assign.html: Added.
  • fast/js/resources/rehash-assign.js: Added.
  • fast/js/resources/resize-array-assign.js: Added.
1:48 PM Changeset in webkit [27722] by ggaren@apple.com
  • 3 edits
    3 adds in trunk/LayoutTests

Rubber-stamped by Oliver Hunt.


Landing a few layout tests from http://bugs.webkit.org/show_bug.cgi?id=14868
Import variable lookup optimizations from KJS

  • fast/js/kde/arguments-scope-expected.txt: Added.
  • fast/js/kde/arguments-scope.html: Added.
  • fast/js/kde/resources/arguments-scope.js: Added.
  • fast/js/kde/resources/scope.js:
  • fast/js/kde/scope-expected.txt:
12:11 PM Changeset in webkit [27721] by staikos@webkit.org
  • 4 edits in trunk/WebCore

2007-11-12 George Staikos <staikos@kde.org>

Reviewed by Tim.

Extract the text match marker highlight color into RenderTheme instead
of the hardcoded yellow.

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintTextMatchMarker):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::platformTextSearchHighlightColor):
  • rendering/RenderTheme.h:
11:49 AM Changeset in webkit [27720] by mrowe@apple.com
  • 2 edits in trunk/WebKitSite

2007-11-12 Mark Rowe <mrowe@apple.com>

  • building/tools.html: Remove extra >.
11:45 AM Changeset in webkit [27719] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-12 Mark Rowe <mrowe@apple.com>

Fix deadlock on launch on the Mac.

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
10:51 AM Changeset in webkit [27718] by sullivan@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Tim Hatcher


  • speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit: -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56


The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
by this class, but should be. (It is retained by WebHTMLView, e.g.).

  • WebView/WebPDFView.mm: (-[WebPDFView dealloc]): release dataSource ivar (-[WebPDFView setDataSource:]): retain dataSource ivar
10:34 AM Changeset in webkit [27717] by mrowe@apple.com
  • 5 edits in trunk/WebCore

2007-11-12 Justin Haygood <jhaygood@reaktix.com>

Reviewed by Brady.

http://bugs.webkit.org/show_bug.cgi?id=15955
Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): (WebCore::IconDatabase::close):
  • loader/icon/IconDatabase.h:
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::open): (WebCore::SQLiteDatabase::close):
  • platform/sql/SQLiteDatabase.h:
8:31 AM TracStandalone edited by trac
(diff)
8:31 AM TracModPython edited by trac
(diff)
8:31 AM InterTrac created by trac
8:31 AM TracSearch edited by trac
(diff)
8:31 AM TracSupport edited by trac
(diff)
8:31 AM TracPlugins edited by trac
(diff)
8:31 AM TracChangeset edited by trac
(diff)
8:31 AM TracRevisionLog created by trac
8:31 AM TracUnicode edited by trac
(diff)
8:31 AM TracUpgrade edited by trac
(diff)
8:31 AM TracTimeline edited by trac
(diff)
8:31 AM TracRoadmap edited by trac
(diff)
8:31 AM TracReports edited by trac
(diff)
8:31 AM TracQuery edited by trac
(diff)
8:31 AM WikiRestructuredTextLinks edited by trac
(diff)
8:31 AM TracAccessibility edited by trac
(diff)
8:31 AM TracEnvironment edited by trac
(diff)
8:31 AM CamelCase edited by trac
(diff)
8:31 AM InterMapTxt created by trac
8:31 AM TracSyntaxColoring edited by trac
(diff)
8:31 AM WikiFormatting edited by trac
(diff)
8:31 AM TracTicketsCustomFields edited by trac
(diff)
8:31 AM TracNotification edited by trac
(diff)
8:31 AM WikiDeletePage edited by trac
(diff)
8:31 AM InterWiki created by trac
8:31 AM WikiHtml edited by trac
(diff)
8:31 AM TracWiki edited by trac
(diff)
8:31 AM TracIni edited by trac
(diff)
8:31 AM TracCgi edited by trac
(diff)
8:31 AM TracRss edited by trac
(diff)
8:31 AM WikiProcessors edited by trac
(diff)
8:31 AM TracPermissions edited by trac
(diff)
8:31 AM TracLinks edited by trac
(diff)
8:31 AM TracInterfaceCustomization edited by trac
(diff)
8:31 AM TracBrowser edited by trac
(diff)
8:31 AM WikiMacros edited by trac
(diff)
8:31 AM TracImport edited by trac
(diff)
8:31 AM TracInstall edited by trac
(diff)
8:31 AM TracFastCgi edited by trac
(diff)
8:31 AM TracGuide edited by trac
(diff)
8:31 AM TracBackup edited by trac
(diff)
8:31 AM WikiRestructuredText edited by trac
(diff)
8:31 AM TracAdmin edited by trac
(diff)
8:31 AM WikiPageNames edited by trac
(diff)
8:31 AM TracTickets edited by trac
(diff)
3:02 AM Changeset in webkit [27716] by Adam Roben
  • 3 edits in trunk/WebCore

Windows build fix

  • config.h: Touch because VS apparently can't figure out which files depend on ResourceResponse.h.
  • WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to project and remove old ResourceResponse files.
2:39 AM Changeset in webkit [27715] by Adam Roben
  • 4 edits in trunk

Change update-webkit-localizable-strings to only scan mac and win directories

WebKit:

  • StringsNotToBeLocalized.txt: Updated.

WebKitTools:

  • Scripts/update-webkit-localizable-strings: Changed to only scan the mac and win subdirectories.
2:33 AM Changeset in webkit [27714] by mrowe@apple.com
  • 4 edits
    2 moves
    4 adds in trunk/WebCore

2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15334
Split ResourceResponse into platform specific files

  • WebCore.base.exp:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/ResourceResponse.cpp: Removed.
  • platform/network/ResourceResponse.h: Removed.
  • platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp. (WebCore::ResourceResponseBase::asResourceResponse): (WebCore::ResourceResponseBase::isHTTP): (WebCore::ResourceResponseBase::url): (WebCore::ResourceResponseBase::setUrl): (WebCore::ResourceResponseBase::mimeType): (WebCore::ResourceResponseBase::setMimeType): (WebCore::ResourceResponseBase::expectedContentLength): (WebCore::ResourceResponseBase::setExpectedContentLength): (WebCore::ResourceResponseBase::textEncodingName): (WebCore::ResourceResponseBase::setTextEncodingName): (WebCore::ResourceResponseBase::suggestedFilename): (WebCore::ResourceResponseBase::setSuggestedFilename): (WebCore::ResourceResponseBase::httpStatusCode): (WebCore::ResourceResponseBase::setHTTPStatusCode): (WebCore::ResourceResponseBase::httpStatusText): (WebCore::ResourceResponseBase::setHTTPStatusText): (WebCore::ResourceResponseBase::httpHeaderField): (WebCore::ResourceResponseBase::setHTTPHeaderField): (WebCore::ResourceResponseBase::httpHeaderFields): (WebCore::ResourceResponseBase::isAttachment): (WebCore::ResourceResponseBase::setExpirationDate): (WebCore::ResourceResponseBase::expirationDate): (WebCore::ResourceResponseBase::setLastModifiedDate): (WebCore::ResourceResponseBase::lastModifiedDate): (WebCore::ResourceResponseBase::updateResourceResponse):
  • platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h. (WebCore::ResourceResponseBase::ResourceResponseBase):
  • platform/network/cf/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse):
  • platform/network/curl/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::doUpdateResourceResponse):
  • platform/network/mac/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse):
  • platform/network/qt/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::doUpdateResourceResponse):
2:27 AM Changeset in webkit [27713] by Adam Roben
  • 3 edits in trunk/WebKit/win

Windows build fix

  • WebKit.vcproj/WebKit.def: Export fastZeroedMalloc.
  • WebKit.vcproj/WebKit_debug.def: Ditto.
1:59 AM Changeset in webkit [27712] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Build fix

  • wtf/FastMalloc.h: Add missing using statement.
12:00 AM Changeset in webkit [27711] by oliver
  • 7 edits in trunk/JavaScriptCore

Add special fastZeroedMalloc function to replace a
number of fastCalloc calls where one argument was 1.

Reviewed by Darin.

This results in a 0.4% progression in SunSpider, more
than making up for the earlier regression caused by
additional overflow checks.

Nov 11, 2007:

10:44 PM Changeset in webkit [27710] by Adam Roben
  • 4 edits in trunk/JavaScriptCore

Fix <rdar://5578982> ASSERT in HashTable::checkTableConsistencyExceptSize beneath WebNotificationCenter

The bug was due to a mismatch between HashMap::remove and
HashTable::checkTableConsistency. HashMap::remove can delete the value
stored in the HashTable (by derefing it), which is not normally
allowed by HashTable. It's OK in this case because the value is about
to be removed from the table, but HashTable wasn't aware of this.

HashMap::remove now performs the consistency check itself before
derefing the value.

Darin noticed that the same bug would occur in HashSet, so I've fixed
it there as well.

Reviewed by Darin.

  • wtf/HashMap.h: (WTF::HashMap::remove): Perform the HashTable consistency check manually before calling deref.
  • wtf/HashSet.h: (WTF::HashSet::remove): Ditto.
  • wtf/HashTable.h: Made checkTableConsistency public so that HashMap and HashSet can call it. (WTF::HashTable::removeAndInvalidateWithoutEntryConsistencyCheck): Added. (WTF::HashTable::removeAndInvalidate): Added. (WTF::HashTable::remove): (WTF::HashTable::removeWithoutEntryConsistencyCheck): Added.
10:16 PM Changeset in webkit [27709] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Roll out r27708 as it breaks the Mac PowerPC build.

10:00 PM Changeset in webkit [27708] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2007-11-11 Mike Hommey <mh+webkit@glandium.org>

Reviewed by Maciej.

Fix http://bugs.webkit.org/show_bug.cgi?id=14521
Bug 14521: JavaScriptCore fails to build on Linux/PPC gcc 4.1.2

  • wtf/TCSpinLock.h: (TCMalloc_SpinLock::Unlock): Change constraint from o to m.
9:54 PM Changeset in webkit [27707] by mrowe@apple.com
  • 5 edits in trunk/WebCore

2007-11-11 Justin Haygood <jhaygood@reaktix.com>

Reviewed by Adam Roben.

http://bugs.webkit.org/show_bug.cgi?id=15939
Adds a currentThread API for use by SQLiteDatabase, etc.

  • platform/Threading.h:
  • platform/ThreadingNone.cpp: (WebCore::currentThread):
  • platform/gtk/ThreadingGtk.cpp: (WebCore::identifierByGthreadHandle): (WebCore::):
  • platform/pthreads/ThreadingPthreads.cpp: (WebCore::identifierByPthreadHandle): (WebCore::currentThread):
9:40 PM Changeset in webkit [27706] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Adam Roben.

Test: editing/selection/cleared-by-relayout.html

  • editing/Selection.cpp: (WebCore::Selection::toRange): Check if the selection has been cleared by updating layout.

LayoutTests:

Reviewed by Adam Roben.

  • editing/selection/cleared-by-relayout-expected.txt: Added.
  • editing/selection/cleared-by-relayout.html: Added.
8:51 PM Changeset in webkit [27705] by Darin Adler
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

  • fix line numbers that were off since my recent patch
  • platform/SegmentedString.h: (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers and rename it to m_doNotExcludeLineNumbers. (WebCore::SegmentedSubstring::excludeLineNumbers): Updated. (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added. (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated. (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix the regression, but keep the speediness. I accidentally had removed a ! here.
  • platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
8:48 PM Changeset in webkit [27704] by oliver
  • 2 edits in trunk/WebCore

Fix for <rdar://problem/5585334>

Reviewed by Darin.

Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
malformed SVG file in WebCore::ImageBuffer::create. Add protection
against a potential overflow.

8:37 PM Changeset in webkit [27703] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2007-11-11 Mark Rowe <mrowe@apple.com>

Build fix. Use the correct filename case.

  • kjs/nodes.h:
8:27 PM Changeset in webkit [27702] by ggaren@apple.com
  • 8 edits in trunk/JavaScriptCore

Reviewed by Sam Weinig.


Fixed http://bugs.webkit.org/show_bug.cgi?id=15902
15% of string-validate-input.js is spent compiling the same regular expression


Store a compiled representation of the regular expression in the AST.


Only a .2% SunSpider speedup overall, but a 10.6% speedup on
string-validate-input.js.

  • kjs/nodes.cpp: (KJS::RegExpNode::evaluate):
  • kjs/nodes.h: (KJS::RegExpNode::):
  • kjs/nodes2string.cpp: (KJS::RegExpNode::streamTo):
  • kjs/regexp.cpp: (KJS::RegExp::flags):
  • kjs/regexp.h: (KJS::RegExp::pattern):
  • kjs/regexp_object.cpp: (KJS::RegExpObjectImp::construct): (KJS::RegExpObjectImp::createRegExpImp):
  • kjs/regexp_object.h:
8:26 PM Changeset in webkit [27701] by Antti Koivisto
  • 11 edits in trunk/WebCore

Reviewed by Darin.

Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.

  • bindings/js/kjs_binding.cpp: (KJS::setDOMException):
  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Document.cpp: (WebCore::Document::createElement):
  • dom/Element.cpp: (WebCore::Element::setPrefix):
  • dom/Range.cpp: (WebCore::Range::setStart): (WebCore::Range::setEnd): (WebCore::Range::isPointInRange): (WebCore::Range::comparePoint): (WebCore::Range::compareBoundaryPoints): (WebCore::Range::deleteContents): (WebCore::Range::processContents): (WebCore::Range::extractContents): (WebCore::Range::insertNode): (WebCore::Range::setStartAfter): (WebCore::Range::setEndBefore): (WebCore::Range::setEndAfter): (WebCore::Range::selectNode): (WebCore::Range::surroundContents): (WebCore::Range::setStartBefore):
  • editing/TextIterator.cpp: (WebCore::TextIterator::TextIterator):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern):
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::add): (WebCore::HTMLSelectElement::setOption):
  • xml/XPathEvaluator.cpp: (WebCore::XPathEvaluator::evaluate):
8:14 PM Changeset in webkit [27700] by Darin Adler
  • 3 edits in trunk/WebCore

Reviewed by Mitz.

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no longer know if the transform is identity or not. (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant CGContextSave/RestoreGState. (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no longer know if the transform is identity or not. (WebCore::GraphicsContext::endTransparencyLayer): Ditto. (WebCore::GraphicsContext::scale): Ditto. (WebCore::GraphicsContext::rotate): Ditto. (WebCore::GraphicsContext::translate): Ditto. (WebCore::GraphicsContext::concatCTM): Ditto. (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform is known to be identity, and record that fact when we discover it otherwise.
  • platform/graphics/cg/GraphicsContextPlatformPrivate.h: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
8:09 PM Changeset in webkit [27699] by Darin Adler
  • 7 edits in trunk/WebCore

Reviewed by Mitz.

I measured a speed-up of the page load test while developing this patch. I don't
have a precise figure, though.

  • html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed lineno to m_lineNumber.
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function since we don't want to update a line number. (WebCore::HTMLTokenizer::parseSpecial): Ditto. (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly instead of lineNumberPtr() since the advance function now takes a reference. (WebCore::HTMLTokenizer::parseServer): Ditto. (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. (WebCore::HTMLTokenizer::parseText): Ditto. (WebCore::HTMLTokenizer::parseEntity): Ditto. (WebCore::HTMLTokenizer::parseTag): Ditto. (WebCore::HTMLTokenizer::write): Ditto.
  • loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
  • loader/TextDocument.cpp: (WebCore::TextTokenizer::write): Don't pass 0 to the advance function.
  • platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined the most common case, and pushed less common cases into a separate function that is not inlined. Also got rid of a branch by separating the case with a line number from the case without one.
  • platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase): Added. The aforementioned less common cases are here.
7:36 PM Changeset in webkit [27698] by oliver
  • 2 edits in trunk/JavaScriptCore

Partial fix for <rdar://problem/5585334> numfuzz: integer overflows opening malformed SVG file in WebCore::ImageBuffer::create

Reviewed By Eric.

Unfortunately this is a very slight regression, but is unavoidable.

6:02 PM Changeset in webkit [27697] by Antti Koivisto
  • 2 edits in trunk/WebCore

Forgot to do this review change (and test HTTP commit).

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::play):
5:54 PM Changeset in webkit [27696] by antti
  • 7 edits
    8 adds in trunk

WebCore:

Reviewed by Darin.


  • Update play() and pause() to match current HTML5 draft
    • send events asynchronously
    • add timeupdate event to pause
    • rethrow load() exception, not others
  • Use list for async events to get ordering right

Tests: media/video-pause-empty-events.html

media/video-play-empty-events.html
media/video-play-pause-events.html
media/video-play-pause-exception.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::dispatchEventAsync): (WebCore::HTMLMediaElement::asyncEventTimerFired): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause):
  • html/HTMLMediaElement.h:

LayoutTests:

Reviewed by Darin.


Add tests for play() and pause() events.
Update one test to match new behavior.

  • media/video-currentTime-expected.txt:
  • media/video-currentTime.html:
  • media/video-pause-empty-events-expected.txt: Added.
  • media/video-pause-empty-events.html: Added.
  • media/video-play-empty-events-expected.txt: Added.
  • media/video-play-empty-events.html: Added.
  • media/video-play-pause-events-expected.txt: Added.
  • media/video-play-pause-events.html: Added.
  • media/video-play-pause-exception-expected.txt: Added
  • media/video-play-pause-exception.html: Added
  • media/video-test.js:
4:34 PM Changeset in webkit [27695] by eseidel
  • 13 edits in trunk

2007-11-10 Eric Seidel <eric@webkit.org>

Reviewed by darin.

Add simple type inferencing to the parser, and create custom
AddNode and LessNode subclasses based on inferred types.
http://bugs.webkit.org/show_bug.cgi?id=15884

SunSpider claims this is at least a 0.5% speedup.

  • JavaScriptCore.exp:
  • kjs/grammar.y:
  • kjs/internal.cpp: (KJS::NumberImp::getPrimitiveNumber): (KJS::GetterSetterImp::getPrimitiveNumber):
  • kjs/internal.h:
  • kjs/lexer.cpp: (KJS::Lexer::lex):
  • kjs/nodes.cpp: (KJS::Node::Node): (KJS::StringNode::evaluate): (KJS::StringNode::evaluateToNumber): (KJS::StringNode::evaluateToBoolean): (KJS::RegExpNode::evaluate): (KJS::UnaryPlusNode::optimizeVariableAccess): (KJS::AddNode::evaluate): (KJS::AddNode::evaluateToNumber): (KJS::AddNumbersNode::inlineEvaluateToNumber): (KJS::AddNumbersNode::evaluate): (KJS::AddNumbersNode::evaluateToNumber): (KJS::AddStringsNode::evaluate): (KJS::AddStringLeftNode::evaluate): (KJS::AddStringRightNode::evaluate): (KJS::lessThan): (KJS::lessThanEq): (KJS::LessNumbersNode::evaluate): (KJS::LessStringsNode::evaluate):
  • kjs/nodes.h: (KJS::ExpressionNode::): (KJS::RegExpNode::): (KJS::RegExpNode::precedence): (KJS::TypeOfResolveNode::): (KJS::LocalVarTypeOfNode::): (KJS::UnaryPlusNode::): (KJS::UnaryPlusNode::precedence): (KJS::AddNode::): (KJS::AddNode::precedence): (KJS::AddNumbersNode::): (KJS::AddStringLeftNode::): (KJS::AddStringRightNode::): (KJS::AddStringsNode::): (KJS::LessNode::): (KJS::LessNode::precedence): (KJS::LessNumbersNode::): (KJS::LessStringsNode::):
  • kjs/nodes2string.cpp: (KJS::StringNode::streamTo):
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/value.h: (KJS::JSValue::getPrimitiveNumber):
4:25 PM Changeset in webkit [27694] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2007-11-11 Alp Toker <alp@atoker.com>

Reviewed by Anders.

Initialize m_userAgent.

Fix typos in GDK_WINDOWING conditionals.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::FrameLoaderClient): (WebKit::agentPlatform):
2:36 PM Changeset in webkit [27693] by Nikolas Zimmermann
  • 1 edit in trunk/WebCore/ChangeLog

Forgot to commit ChangeLog, in my last commit.

2:33 PM Changeset in webkit [27692] by Nikolas Zimmermann
  • 2 edits
    9 adds in trunk

Reviewed by Eric.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)

Add (basic) support for dominant-baseline / alignment-baseline text properties.
Note: there are no official testcases, and no-one implemented it before. Only ASV3

supported dominant-baseline, but not correct it seems.

12:51 PM Changeset in webkit [27691] by Adam Roben
  • 7 edits in trunk

Fix <rdar://5133816> keepWebHistory is not implemented

WebCore:

Add wrappers around CoCreateInstance to COMPtr

I followed the example of the Query constructor and query method by
adding a Create constructor and create method.

Reviewed by Darin.

  • platform/win/COMPtr.h: (COMPtr::COMPtr): Added a new constructor that calls CoCreateInstance. (COMPtr::create): Added. (COMPtr::createInstance): Added.

WebKitTools:

Fix <rdar://5133816> keepWebHistory is not implemented

Fixes fast/history/clicked-link-is-visited.html.

Reviewed by Darin.

  • DumpRenderTree/win/DumpRenderTree.cpp: (runTest): Clear the optionalSharedHistory.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::keepWebHistory): Set the optionalSharedHistory.

LayoutTests:

Remove a now-passing test from the Windows Skipped file

Reviewed by Darin.

  • platform/win/Skipped:
12:28 PM Changeset in webkit [27690] by ap@webkit.org
  • 32 edits in trunk/WebCore

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15896
More editing cleanup

No functionality changes.

  • dom/Node.h: Moved several editing-related methods elsewhere.
  • dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset() to highlight that it is a match to offsetInCharacters(), and much different from other offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check offsetInCharacters() before calling this.
  • dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
  • dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode): Updated for above renamings.
  • dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
  • dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
  • dom/Position.h:
  • dom/Position.cpp: (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset(). (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset(). (WebCore::Position::previous): Adapted to the above move. (WebCore::Position::next): Ditto. (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think), and BR elements are covered by editingIgnoresContent(). (WebCore::Position::downstream): Ditto. (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset(). (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
  • dom/PositionIterator.h: Added a comment describing this class from the original check-in.
  • dom/PositionIterator.cpp: (WebCore::PositionIterator::increment): Updated for the above moves. (WebCore::PositionIterator::decrement): Ditto.
  • dom/ProcessingInstruction.h:
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset): ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset(). I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
  • dom/Range.cpp: (WebCore::Range::selectNodeContents):
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): (WebCore::ApplyStyleCommand::applyInlineStyle): (WebCore::maxRangeOffset): (WebCore::ApplyStyleCommand::removeInlineStyle): (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded): (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded): (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded): (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded): (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertNodeAt): (WebCore::CompositeEditCommand::positionOutsideTabSpan):
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::handleGeneralDelete):
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
  • editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::insertTab):
  • editing/visible_units.cpp: (WebCore::previousLinePosition): (WebCore::nextLinePosition): Updated for the above moves.
  • editing/Editor.cpp: (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
  • editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases. (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
  • editing/htmlediting.h:
  • editing/htmlediting.cpp: (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept child nodes, other than via DOM manipulation, which is not specific to BRs. (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent(). (WebCore::maxDeepOffset): Ditto. (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions. (WebCore::caretMaxOffset): Ditto.
  • page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor will take care of adjusting the offset.
  • page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing. Changed some runtime checks that seemingly cannot fail into assertions.
11:24 AM Changeset in webkit [27689] by Darin Adler
  • 6 edits in trunk/JavaScriptCore
  • try another way of fixing dftables builds -- refactor pcre_internal.h a bit
  • pcre/pcre_internal.h: Make most of this header do nothing when DFTABLES is set. Later we can break it into two files.
  • JavaScriptCore.vcproj/dftables/dftables.vcproj: Take out now-unneeded include paths.
  • pcre/dftables.cpp: Set DFTABLES. Use delete instead of free.
  • pcre/dftables.pro: Take out now-unneeded include paths.
  • pcre/pcre_maketables.cpp: Use new instead of malloc.
11:05 AM Changeset in webkit [27688] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • pcre/dftables.pro: Try fixing Qt builds (I looked at qt-win) by adding another include path.
11:03 AM Changeset in webkit [27687] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • JavaScriptCore.xcodeproj/project.pbxproj: Try fixing Mac Tiger builds by adding another include path.
10:56 AM Changeset in webkit [27686] by Darin Adler
  • 22 edits
    9 moves
    4 deletes in trunk

JavaScriptCore:

Reviewed by Sam.

This is a combination of converting to C++, tweaking the API, and adding
some additional optimizations.

Future steps will involve getting rid of the use of UTF-8 completely
(we'll use UTF-16 exclusively instead), eliminating more source files,
and some more speed-ups.

SunSpider says the current round is an 0.9% speed-up overall, and a
5.3% speed-up for regexp.

  • kjs/regexp.cpp: (KJS::RegExp::RegExp): Changed to use the error message without calling strdup on it and to pass the new types and options. (KJS::RegExp::~RegExp): Removed the now-unneeded free of the error message. (KJS::RegExp::match): Pass the new types and options.
  • kjs/regexp.h: Update type of m_constructionError.
  • pcre/AUTHORS: Update to reflect the status of the project -- we don't include the Google parts, and this isn't the PCRE library, per se.
  • pcre/COPYING: Ditto.
  • pcre/dftables.cpp: Copied from JavaScriptCore/pcre/dftables.c. (main): Removed unneeded ctype_digit.
  • pcre/pcre.h: Convert to C++, tweak API a bit. Use UChar instead of JSRegExpChar.
  • pcre/pcre_compile.cpp: Copied from JavaScriptCore/pcre/pcre_compile.c. Moved a lot of private stuff used only within this file here from pcre_internal.h. Renumbered the error codes. (error_text): Use a single string with embedded nulls for the error text (I got this idea from newer versions of PCRE). (check_escape): Changed return type to be enum instead of int. Replaced ctype_digit uses with isASCIIDigit. (is_counted_repeat): Ditto. (read_repeat_counts): Ditto. (first_significant_code): Ditto. (find_fixedlength): Ditto. (could_be_empty_branch): Ditto. (compile_branch): Ditto. Also removed some code that handles changing options. JavaScript doesn't have any of the features that allow options to change. (compile_regex): Updated for change to options parameter. (is_anchored): Ditto. (find_firstassertedchar): Ditto. (jsRegExpCompile): Changed to take separate flags instead of an options int. Also changed to call new/delete instead of pcre_malloc/free. (jsRegExpFree): Ditto.
  • pcre/pcre_exec.cpp: Copied from JavaScriptCore/pcre/pcre_exec.c. Added a case that uses computed goto for the opcode loop, but did not turn it on. Changed the RMATCH macro to handle returns more efficiently by putting the where pointer in the new frame instead of the old one, allowing us to branch to the return with a single statement. Switched to new/delete from pcre_malloc/free. Changed many RRETURN callers to not set the return value since it's already set correctly. Replaced the rrc variable with an is_match variable. Values other than "match" and "no match" are now handled differently. This allows us to remove the code to check for those cases in various rules. (match): All the case statements use a macro BEGIN_OPCODE instead. And all the continue statements, or break statements that break out of the outer case use a macro NEXT_OPCODE instead. Replaced a few if statements with assertions. (jsRegExpExecute): Use new/delete instead of pcre_malloc/free. Removed unused start_match field from the match block.
  • pcre/pcre_internal.h: Moved the last few configuration macros from pcre-config.h in here. Removed various unused types. Converted from JSRegExpChar to UChar. Eliminated pcre_malloc/free. Replaced the opcode enum with a macro that can be used in multiple places. Unfortunately we lose the comments for each opcode; we should find a place to put those back. Removed ctype_digit.
  • pcre/pcre_maketables.cpp: Copied from JavaScriptCore/pcre/pcre_maketables.c. (pcre_maketables): Got rid of the conditional code that allows this to be compiled in -- it's only used for dftables now (and soon may be obsolete entirely). Changed code for cbit_digit to not use isdigit, and took the "_" case out of the loop. Removed ctype_digit.
  • pcre/pcre_ord2utf8.cpp: Copied from JavaScriptCore/pcre/pcre_ord2utf8.c.
  • pcre/pcre_tables.cpp: Copied from JavaScriptCore/pcre/pcre_tables.c. Moved _pcre_OP_lengths out of here into pcre_exec.cpp.
  • pcre/pcre_ucp_searchfuncs.cpp: Copied from JavaScriptCore/pcre/pcre_ucp_searchfuncs.c. Updated for other file name changes.
  • pcre/ucpinternal.h: Updated header.
  • wtf/ASCIICType.h: (WTF::isASCIIDigit): Removed a branch by changing from && to & for this operation. Also added an overload that takes an int because that's useful for PCRE. Later we could optimize for int and overload other functions in this file; stuck to this simple one for now.
  • wtf/unicode/icu/UnicodeIcu.h: Removed unused isUpper.
  • wtf/unicode/qt4/UnicodeQt4.h: Ditto.
  • pcre/LICENCE: Removed.
  • pcre/pcre-config.h: Removed.
  • wtf/FastMallocPCRE.cpp: Removed.
  • pcre/dftables.c: Renamed to cpp.
  • pcre/pcre_compile.c: Ditto.
  • pcre/pcre_exec.c: Ditto.
  • pcre/pcre_maketables.c: Ditto.
  • pcre/pcre_ord2utf8.c: Ditto.
  • pcre/pcre_tables.c: Ditto.
  • pcre/pcre_ucp_searchfuncs.c: Ditto.
  • pcre/pcre_xclass.c: Ditto.
  • pcre/ucptable.c: Ditto.

WebCore:

Reviewed by Sam.

  • updated for JSRegExp function changes
  • platform/RegularExpression.cpp: (WebCore::RegularExpression::Private::compile): (WebCore::RegularExpression::match):
1:32 AM Changeset in webkit [27685] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2007-11-11 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

Mention Safari in the UserAgent string to improve site compatibility.

Also bump the hard-coded AppleWebKit version number.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::composeUserAgent):
12:34 AM Changeset in webkit [27684] by eseidel
  • 2 edits in trunk/JavaScriptCore

2007-11-11 Eric Seidel <eric@webkit.org>

Reviewed by Oliver.

Add KJS_CHECKEXCEPTIONBOOLEAN to match rest of nodes.cpp

  • kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToBoolean): (KJS::LessNode::evaluateToBoolean): (KJS::GreaterNode::evaluateToBoolean): (KJS::LessEqNode::evaluateToBoolean): (KJS::GreaterEqNode::evaluateToBoolean): (KJS::InstanceOfNode::evaluateToBoolean): (KJS::InNode::evaluateToBoolean): (KJS::EqualNode::evaluateToBoolean): (KJS::NotEqualNode::evaluateToBoolean): (KJS::StrictEqualNode::evaluateToBoolean): (KJS::NotStrictEqualNode::evaluateToBoolean): (KJS::LogicalAndNode::evaluateToBoolean): (KJS::LogicalOrNode::evaluateToBoolean): (KJS::ConditionalNode::evaluateToBoolean):

Nov 10, 2007:

8:05 PM Changeset in webkit [27683] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-10 Mark Rowe <mrowe@apple.com>

Qt Linux build fix.

  • platform/UnicodeRange.h:
7:52 PM Changeset in webkit [27682] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-10 Mark Rowe <mrowe@apple.com>

Qt Windows build fix.

  • platform/UnicodeRange.h:
7:33 PM Changeset in webkit [27681] by Darin Adler
  • 2 edits in trunk/LayoutTests
6:12 PM Changeset in webkit [27680] by Nikolas Zimmermann
  • 24 edits in trunk

Reviewed by Eric.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)

Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)

5:38 PM Changeset in webkit [27679] by Nikolas Zimmermann
  • 9 edits in trunk/LayoutTests

Rubberstamped by Eric.
Update some SVG pixel test results - which show changes lately -> repainting fixes.

5:07 PM Changeset in webkit [27678] by Darin Adler
  • 4 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Sam.

Test: fast/js/delete-then-put.html

  • kjs/property_map.cpp: (KJS::PropertyMap::put): Added a missing "- 1"; code to find an empty slot was not working. (KJS::PropertyMap::checkConsistency): Added a missing range check that would have caught this problem before.
  • roll out a last-minute change to my evaluateToBoolean patch that was incorrect.
  • kjs/nodes.h: (KJS::ExprStatementNode::ExprStatementNode): Take out call to optimizeForUnnecessaryResult, since the result is used in some cases.

LayoutTests:

Reviewed by Sam.

  • fast/js/delete-then-put-expected.txt: Added.
  • fast/js/delete-then-put.html: Added.
  • fast/js/resources/delete-then-put.js: Added.
4:49 PM Changeset in webkit [27677] by timothy@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • page/inspector/StylesSidebarPane.js: Fix the wording of a comment and switch over to use getUniqueProperties in another place.
4:30 PM Changeset in webkit [27676] by weinig@apple.com
  • 8 edits
    2 adds in trunk

WebKitTools:

Reviewed by Tim Hatcher.

Follow up to <rdar://problem/5394877> Safari should not log unsafe JavaScript
attempts when in private browsing mode (only an issue if Log JavaScript Exceptions
is turned on)

  • Add LayoutTestController.setPrivateBrowsingEnabled(bool) (stub out implementation for windows)

Added test: http/tests/security/cross-frame-access-private-browsing.html

  • DumpRenderTree/LayoutTestController.cpp: (setPrivateBrowsingEnabledCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/DumpRenderTree.mm: (runTest): Default to private browsing disabled.
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setPrivateBrowsingEnabled):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setPrivateBrowsingEnabled):

LayoutTests:

Reviewed by Tim Hatcher.

Follow up to <rdar://problem/5394877> Safari should not log unsafe JavaScript
attempts when in private browsing mode (only an issue if Log JavaScript Exceptions
is turned on)

Test using the new LayoutTestController.setPrivateBrowsingEnabled(bool)

  • http/tests/security/cross-frame-access-private-browsing-expected.txt: Added.
  • http/tests/security/cross-frame-access-private-browsing.html: Added.
  • platform/win/Skipped: Add new test to windows skip list until we have an implementation of LayoutTestController.setPrivateBrowsingEnabled(bool) for it.
3:38 PM Changeset in webkit [27675] by sullivan@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig

Rest of fix for 5394877

  • bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript): Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in private browsing mode either.
3:16 PM Changeset in webkit [27674] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

Fix function name difference - header said 'unicodeRangeForCharacter', actually
implemented function is 'findCharUnicodeRange'. They are not compiled yet.

2:24 PM Changeset in webkit [27673] by hausmann
  • 2 edits in trunk/WebKit/qt

When populating the context menu with sub-menus don't add sub-menus if they're empty.

Signed-off-by: Nikolas

2:24 PM Changeset in webkit [27672] by hausmann
  • 3 edits in trunk/WebKit/qt

Added support for the Bold/Italic/Underline toggle actions.

Signed-off-by: Nikolas

2:24 PM Changeset in webkit [27671] by hausmann
  • 3 edits in trunk/WebKit/qt

Before adding an action to the context menu call checkOrEnableIfNeeded for each action
to update the enable/checked state correctly.

Signed-off-by: Nikolas

2:24 PM Changeset in webkit [27670] by hausmann
  • 2 edits in trunk/WebKit/qt

Mark the text direction actions as checkable actions.

Signed-off-by: Nikolas

2:18 PM Changeset in webkit [27669] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

Roll out some changes that were (seemingly accidentally) checked in
with r27664.

1:12 PM Changeset in webkit [27668] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

  • fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link

No test because context menu events cannot be tested in DumpRenderTree.

  • page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added. If the click occurred in an active link, selects the entire link element. Otherwise selects the closest word. (WebCore::EventHandler::sendContextMenuEvent): Call selectClosestWordOrLinkFromMouseEvent().
  • page/EventHandler.h:
1:08 PM Changeset in webkit [27667] by sullivan@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Tim Hatcher

  • fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
  • bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript): Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
12:29 PM Changeset in webkit [27666] by ap@webkit.org
  • 8 edits
    8 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15922
Implement more of Mozilla Selection API

Tests: editing/selection/containsNode.html

editing/selection/deleteFromDocument.html
editing/selection/extend.html
editing/selection/selectAllChildren.html

  • editing/SelectionController.cpp: (WebCore::SelectionController::deleteFromDocument): (WebCore::SelectionController::containsNode): (WebCore::SelectionController::selectAllChildren): (WebCore::SelectionController::extend):
  • editing/SelectionController.h: Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(), which existed, but didn't match Firefox behavior and wasn't exposed via bindings. Removed a comment mentioning removeRange(), as this method makes no sense without multiple selection range support.
  • page/DOMSelection.cpp: (WebCore::DOMSelection::extend): (WebCore::DOMSelection::deleteFromDocument): (WebCore::DOMSelection::containsNode): (WebCore::DOMSelection::selectAllChildren):
  • page/DOMSelection.h:
  • page/DOMSelection.idl: Exposed the new methods.
12:24 PM Changeset in webkit [27665] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15892
DOM Range operations are not implemented for ProcessingInstruction nodes

Test: fast/dom/Range/range-processing-instructions.html

  • dom/Range.cpp: (WebCore::Range::processContents): Implemented ProcessingInstruction cases. (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed to use ProcessingInstruction.data.
10:29 AM Changeset in webkit [27664] by Darin Adler
  • 7 edits
    3 adds in trunk/JavaScriptCore

Reviewed by Sam.

Gives 1.1% on SunSpider.

  • kjs/grammar.y: Create TrueNode and FalseNode instead of BooleanNode.
  • kjs/nodes.h: Changed to use Noncopyable. Moved optimizeForUnnecessaryResult down from Node to ExpressionNode. Changed some classes to not inherit from ExpressionNode where not necessary, and removed unnneeded evaluate functions as well as evaluate functions that need not be virtual. Call the optimizeForUnnecessaryResult function on the start of a for loop too.
  • kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToBoolean): Added. (KJS::FalseNode::evaluate): Added. (KJS::TrueNode::evaluate): Added. (KJS::NumberNode::evaluateToBoolean): Added. (KJS::StringNode::evaluateToBoolean): Added. (KJS::LocalVarAccessNode::evaluateToBoolean): Added. (KJS::BracketAccessorNode::evaluateToBoolean): Added. (KJS::LogicalNotNode::evaluate): Changed to call evaluateToBoolean. (KJS::LogicalNotNode::evaluateToBoolean): Added. (KJS::lessThan): Changed to return bool. (KJS::lessThanEq): Ditto. (KJS::LessNode::evaluate): Changed since lessThan returns bool. (KJS::LessNode::evaluateToBoolean): Added. (KJS::GreaterNode::evaluate): Changed since lessThanEq returns bool. (KJS::GreaterNode::evaluateToBoolean): Added. (KJS::LessEqNode::evaluate): Changed since lessThanEq returns bool. (KJS::LessEqNode::evaluateToBoolean): Added. (KJS::GreaterEqNode::evaluate): Changed since lessThan returns bool. (KJS::GreaterEqNode::evaluateToBoolean): Added. (KJS::InstanceOfNode::evaluateToBoolean): Added. (KJS::InNode::evaluateToBoolean): Added. (KJS::EqualNode::evaluateToBoolean): Added. (KJS::NotEqualNode::evaluateToBoolean): Added. (KJS::StrictEqualNode::evaluateToBoolean): Added. (KJS::NotStrictEqualNode::evaluateToBoolean): Added. (KJS::ConditionalNode::evaluate): Changed to call evaluateToBoolean. (KJS::IfNode::execute): Ditto. (KJS::DoWhileNode::execute): Ditto. (KJS::WhileNode::execute): Ditto. (KJS::ForNode::execute): Ditto.
  • kjs/nodes2string.cpp: (KJS::FalseNode::streamTo): Added. (KJS::TrueNode::streamTo): Added.
5:01 AM Applications using WebKit edited by joe@funkeemonk.com
(diff)
12:02 AM Changeset in webkit [27663] by timothy@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
http://bugs.webkit.org/show_bug.cgi?id=12054

  • Add support code for routing copy events to the focused element.
  • Implement copying the currently selected DOM node. The node and it's subtree is copied to the clipboard. If the node has no outerHTML, the nodeValue is copied (text nodes, etc.)
  • Implement copy for the resource sidebar. The URL is copied for the currently selected resource.
  • page/inspector/DocumentPanel.js:
  • page/inspector/inspector.js:

Nov 9, 2007:

11:50 PM Changeset in webkit [27662] by ap@webkit.org
  • 2 edits in trunk/SunSpider

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15925
SunSpider should check for Shark being installed

  • sunspider: Explicitly test that shark command line tool is installed.
6:28 PM Changeset in webkit [27661] by honeycutt
  • 2 edits in trunk/WebKit/win

2007-11-09 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Sam.

<rdar://5585900>: Safari crashes when selected in context menu to open
audio format files (au, aif) with QT 7.3

The crash occurred on a machine where QT 7.3 was failing to initialize.
The fix is to avoid sending streams to full-page plugins that've failed
to load

  • WebFrame.cpp: (WebFrame::finishedLoading): Check plugin status before calling manual stream methods (WebFrame::setMainDocumentError): Same (WebFrame::committedLoad): Same
5:53 PM Changeset in webkit [27660] by antti
  • 1 edit
    2 adds in trunk/WebKitSite

Rubber stamped by bdash.


Add directory for blog resources (and one image).

  • blog-files: Added.
  • blog-files/touch-poster.png: Added.
4:59 PM Changeset in webkit [27659] by antti
  • 2 edits in trunk/WebCore

Reviewed by Adele.

Fix occasional blank video with poster attribute.

  • ChangeLog:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::didRestoreFromCache): Just calling updateFromElement() does the right thing for both poster image and video.
4:29 PM Changeset in webkit [27658] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2007-11-09 Xan Lopez <xan@gnome.org>

Reviewed by Alp.

Fix http://bugs.webkit.org/show_bug.cgi?id=15926
[GTK] WebKitPage map handler is redundant.

  • Api/webkitgtkpage.cpp: The map handler for WebKitPage is redundant, GtkContainer does the same (and more correctly).
3:51 PM Changeset in webkit [27657] by tristan
  • 1 edit
    1 move in trunk/LayoutTests

Reviewed by Sam Weinig.

  • fast/dom/Window/window-resize-nan.html: Removed.
  • fast/dom/Window/window-resize-nan.html-disabled: Copied from fast/dom/Window/window-resize-nan.html.


Disabled nan test until window resize issues can be resolved.

3:34 PM Changeset in webkit [27656] by weinig
  • 2 edits in trunk/WebKit/win

Rubber stamped by Oliver.

Make WebCore a dependency of Interfaces.

  • WebKit.vcproj/WebKit.sln:
3:04 PM Changeset in webkit [27655] by weinig
  • 8 edits
    11 adds in trunk

WebCore:

Reviewed by Adam Roben.

<rdar://problem/5435940>
The COM bindings for the DOM should be autogenerated like the other DOM bindings

Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
is being introduced in this patch and to insure that no conflicts arise, a temporary
prefix of "GEN_" has been used for all the new classes.

The build architecture for these bindings differs slightly from the other autogenerated
bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
is done for the Objective-C bindigs currently), the IDLs and generation scripts are
migrated to WebKit and built there. This is done with a series of scripts and Makefiles.

This commit includes:

  • Hand rolled root class/Interface GEN_DOMObject used to facilated object creation and ref-counting.
  • Generating all of the Core DOM and most of HTML and CSS
  • Generating Event, EventTarget, and EventListener
  • WebCore.vcproj/MigrateIDLAndScripts.make: Added.
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/migrate-idls.sh: Added.
  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorCOM.pm: Added.
  • dom/EventListener.h: Make the isWindowEvent parameter default to false to allow autogeneration based on the IDL.

WebKit/win:

Reviewed by Adam Roben.

<rdar://problem/5435940>
The COM bindings for the DOM should be autogenerated like the other DOM bindings

Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
is being introduced in this patch and to insure that no conflicts arise, a temporary
prefix of "GEN_" has been used for all the new classes.

The build architecture for these bindings differs slightly from the other autogenerated
bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
is done for the Objective-C bindigs currently), the IDLs and generation scripts are
migrated to WebKit and built there. This is done with a series of scripts and Makefiles.

This commit includes:

  • Hand rolled root class/Interface GEN_DOMObject used to facilated object creation and ref-counting.
  • Generating all of the Core DOM and most of HTML and CSS
  • Generating Event, EventTarget, and EventListener
  • DOMCreateInstance.cpp: Added. (domWrapperCache): (getDOMWrapper): (setDOMWrapper): (removeDOMWrapper): (GEN_DOMNode::createInstance): (GEN_DOMImplementation::createInstance): (GEN_DOMCSSRule::createInstance): (GEN_DOMStyleSheet::createInstance): (GEN_DOMCSSValue::createInstance):
  • DOMCreateInstance.h: Added. Temporary location for createInstance/object caching methods. This will be broken up into seperate files in the near future.
  • GEN_DOMObject.cpp: Added. (GEN_DOMObject::GEN_DOMObject): (GEN_DOMObject::~GEN_DOMObject): (GEN_DOMObject::QueryInterface): (GEN_DOMObject::AddRef): (GEN_DOMObject::Release):
  • GEN_DOMObject.h: Added. Hand rolled base class.
  • Interfaces/IGEN_DOMObject.idl: Added. Hand rolled base interface.
  • WebKit.vcproj/DerivedSources.make: Added.
  • WebKit.vcproj/FixMIDLHeaders.pl: Added. This script is required because MIDL is producing un-buildable code due to circular dependencies.
  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:
  • WebKit.vcproj/build-generated-files.sh: Added.
2:54 PM Changeset in webkit [27654] by tristan
  • 5 edits in trunk

mac:

Reviewed by Timothy Hatcher.


This patch is for the WebKit side of <rdar://problem/5591115>.
We need a way to tell context menu navigations, such as "Open in New Window"
to override any sort of browser preference for tab based navigation.

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::createWindow): Pass up the new preferredType parameter as a string.

WebCore:

Reviewed by Timothy Hatcher.


This patch is for the WebKit side of <rdar://problem/5591115>.
We need a way to tell context menu navigations, such as "Open in New Window"
to override any sort of browser preference for tab based navigation.

  • bridge/WindowFeatures.h: (WebCore::WindowFeatures::WindowFeatures): Added a new struct member var, preferredType and an accompanying enum type PreferredType to send a window type recommendation up to the Chrome.


  • page/ContextMenuController.cpp: (WebCore::openNewWindow): Set the window features to recommend a new Window for "Open in New Window" context menu action.
2:25 PM Changeset in webkit [27653] by timothy@apple.com
  • 4 edits in trunk/WebKit/mac

Reviewed by John.

<rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used

Extend the linked on or after check to every application when a script passed to
stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
was limited to VitalSource Bookshelf, but other developers are running into this.

  • Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
  • WebView/WebDocumentLoaderMac.mm: (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
  • WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
1:43 PM SpecSupport edited by mjs@apple.com
(diff)
1:39 PM SpecSupport edited by mjs@apple.com
(diff)
1:36 PM SpecSupport edited by mjs@apple.com
(diff)
1:31 PM SpecSupport edited by mjs@apple.com
(diff)
1:31 PM SpecSupport edited by mjs@apple.com
(diff)
1:27 PM SpecSupport edited by mjs@apple.com
(diff)
1:23 PM SpecSupport edited by mjs@apple.com
(diff)
1:11 PM SpecSupport edited by mjs@apple.com
(diff)
12:04 PM Changeset in webkit [27652] by Adam Roben
  • 4 edits
    2 adds in trunk

Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick

LayoutTests:

Add a test for <rdar://5483519> Pressing Enter on selected buttons should fire onclick

Reviewed by Adele.

  • fast/forms/enter-clicks-buttons-expected.txt: Added.
  • fast/forms/enter-clicks-buttons.html: Added.

WebCore:

Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick

We now match the behavior of Firefox and IE, which is to always just
send a click event to the focused button when the Enter key is pressed
(previously we were submitting forms directly in some cases).

Reviewed by Adele.

Test: fast/forms/enter-clicks-buttons.html

  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything fancy when Enter is pressed on a <button type=button> -- just send a click event like we do for other button types.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button the same way we treat type=submit and type=reset: just send a click event when Enter is pressed.
12:03 PM Changeset in webkit [27651] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Antti Koivisto.

  • fix a bug in invisible layer culling: dynamically changing a descendant of an invisible layer to be visible did not work

Test: fast/layers/layer-content-visibility-change.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::setHasVisibleContent): If we got visible content, make sure that our stacking context rebuilds its z-order lists to include us.

LayoutTests:

Reviewed by Antti Koivisto.

  • test that dynamically changing a descendant of an invisible layer to be visible works
  • fast/layers/layer-content-visibility-change.html: Added.
  • platform/mac/fast/layers/layer-content-visibility-change-expected.checksum: Added.
  • platform/mac/fast/layers/layer-content-visibility-change-expected.png: Added.
  • platform/mac/fast/layers/layer-content-visibility-change-expected.txt: Added.
11:57 AM Changeset in webkit [27650] by hyatt
  • 3 edits in trunk/WebCore

Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
args can be lengths or numbers or percents.

Reviewed by Beth

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSParser.cpp: (WebCore::TransformOperationInfo::TransformOperationInfo): (WebCore::CSSParser::parseTransform):
  • rendering/RenderStyle.h: (WebCore::MatrixTransformOperation::apply):
11:05 AM Changeset in webkit [27649] by Beth Dakin
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Oliver.

Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
math leads to crazy problems

Transform matrices accept the first four parameters as CSS lengths.
CSS lengths get mapped into WebCore::Lengths as percents by
WebCore::convertToLength(). Percent lengths cannot call value(). It
does not yield a correct result and it asserts on Debug builds.

  • rendering/RenderStyle.h: (WebCore::MatrixTransformOperation::apply): Instead of calling value() on the lengths, call calcValue. This fixes the assert and the bad rendering.

LayoutTests:

Reviewed by Oliver.

Test for <rdar://problem/5586370> CSS Transform - incorrect matrix
math leads to crazy problems

  • fast/transforms/identity-matrix.html: Added.
  • platform/mac/fast/transforms/identity-matrix-expected.checksum: Added.
  • platform/mac/fast/transforms/identity-matrix-expected.png: Added.
  • platform/mac/fast/transforms/identity-matrix-expected.txt: Added.
9:56 AM Changeset in webkit [27648] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

Reviewed by Darin.

  • kjs/value.h: (KJS::jsNumber): Add some explicit casts.
9:16 AM Changeset in webkit [27647] by sfalken
  • 2 edits in trunk/WebCore

Roll out r27641 since the same bug was already fixed by r27568.

7:35 AM SpecSupport edited by philippe.kalaf@collabora.co.uk
(diff)
7:26 AM SpecSupport edited by mrowe@apple.com
(diff)
6:44 AM WikiStart edited by philippe.kalaf@collabora.co.uk
(diff)
6:41 AM SpecSupport edited by philippe.kalaf@collabora.co.uk
(diff)
6:40 AM SpecSupport edited by philippe.kalaf@collabora.co.uk
(diff)
6:36 AM SpecSupport created by philippe.kalaf@collabora.co.uk
6:33 AM Changeset in webkit [27646] by hausmann
  • 2 edits in trunk/WebCore

userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
define it twice for the Qt/Windows build.

5:09 AM Changeset in webkit [27645] by hausmann
  • 3 edits in trunk/WebKit/qt

Implemented the webcore actions for changing the text direction.

Signed-off-by: Holger

5:09 AM Changeset in webkit [27644] by hausmann
  • 9 edits in trunk

Fix ContextMenu allocation in the Qt port.

Store all items and submenus value based in ContextMenu and ContextMenuItem.
That fixes the crashes when the context menu was populated with sub-menus because
of the use of temporary ContextMenu objects like this:

ContextMenu subMenu(...);
subMenu.appendItem(...);
subMenu.appendItem(...);

subMenuItem.setSubMenu(&subMenu); temporary pointer, need to _copy_ contents

Signed-off-by: Holger

5:09 AM Changeset in webkit [27643] by hausmann
  • 3 edits in trunk/WebKit/qt

Renamed QWebPage::NumWebActions to QWebPage::WebActionCount (for consistency) and fixed its value.

Signed-off-by: Holger

4:51 AM Changeset in webkit [27642] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-09 Peter Kasting <zerodpx@gmail.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15909
Malformed GIFs should not result in memory corruption.

  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::haveDecodedRow):
1:01 AM Changeset in webkit [27641] by sfalken
  • 2 edits in trunk/WebCore

Initialize WindowFeatures struct before using it.


Reviewed by Oliver.

  • page/ContextMenuController.cpp: (WebCore::openNewWindow):
12:29 AM Changeset in webkit [27640] by kmccullo
  • 5 edits in trunk/WebKit/win

Reviewed by Adam.

  • This patch does two main things. 1) It adds pragma warning guards around WebCore includes in WebKit files that were previously overlooked. 2) It implements almost the entireity of WebScriptDebugger. Only one function remains and that implementation is dependent on finishing the implementation of WebScriptScope.
  • WebScriptCallFrame.h:
  • WebScriptDebugServer.h:
  • WebScriptDebugger.cpp: (WebScriptDebugger::WebScriptDebugger): (WebScriptDebugger::sourceParsed): (WebScriptDebugger::callEvent): (WebScriptDebugger::atStatement): (WebScriptDebugger::returnEvent): (WebScriptDebugger::exception): (WebScriptDebugger::enterFrame): (WebScriptDebugger::leaveFrame):
  • WebScriptDebugger.h:
12:26 AM Changeset in webkit [27639] by kmccullo
  • 4 edits
    5 adds in trunk/WebKitTools

Reviewed by Adam.

  • Changed the vcproj file to use Drosera's ForwardingHeaders and not WebCore's!
  • Drosera/ForwardingHeaders/wtf/Assertions.h: Added.
  • Drosera/ForwardingHeaders/wtf/HashTraits.h: Added.
  • Drosera/ForwardingHeaders/wtf/Noncopyable.h: Added.
  • Drosera/ForwardingHeaders/wtf/OwnPtr.h: Added.
  • Drosera/ForwardingHeaders/wtf/RetainPtr.h: Added.
  • Drosera/win/Drosera.cpp:
  • Drosera/win/Drosera.vcproj/Drosera.vcproj:

Nov 8, 2007:

11:06 PM Changeset in webkit [27638] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-08 Timothy Hatcher <timothy@apple.com>

Reviewed by Sam Weinig.

Some Web Inspector CSS editing changes.

  • Only delete the property if all the text is delete or the new user input correctly parses. This prevents deleting the existing property if the new text is invalid.
  • Intercept the Escape key and cancel editing, not saving any changes.
  • page/inspector/StylesSidebarPane.js:
9:57 PM Changeset in webkit [27637] by Darin Adler
  • 4 edits in trunk/JavaScriptCore
  • fix build
  • kjs/grammar.y:
  • kjs/nodes.h:
  • kjs/property_map.cpp:
9:56 PM Changeset in webkit [27636] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • roll out accidentally-checked in changes
  • kjs/nodes.cpp: Back to previous version.
  • kjs/nodes.h: Ditto.
  • kjs/grammar.y: Ditto.
9:55 PM Changeset in webkit [27635] by Darin Adler
  • 3 edits in trunk/JavaScriptCore
  • roll out accidentally-checked in changes
  • kjs/nodes.cpp: Back to previous version.
  • kjs/nodes.h: Ditto.
9:51 PM Changeset in webkit [27634] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • kjs/property_map.cpp: (KJS::PropertyMap::getEnumerablePropertyNames): Use insertion sort instead of qsort for small sets of property names. We can probably do some even-better speedups of for/in, but this nets 0.6% overall and 6.7% on fasta.
9:50 PM Changeset in webkit [27633] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

This fixes one source of the slowness -- the conversion to an unused
Identifier as we call the get function from the slot -- but doesn't
fix others, such as the fact that we have to allocate a new UString::Rep
for every single character.

Speeds up string-base64 30%, and at least 0.5% overall.
But does slow down access-fannkuch quite a bit. Might be worth
revisiting in the future to see what we can do about that (although
I did look at a profile for a while).

  • kjs/property_slot.h: Add a new marker for "numeric" property slots; slots where we don't need to pass the identifier to the get function. (KJS::PropertySlot::getValue): Added code to call the numeric get function. (KJS::PropertySlot::setCustomNumeric): Added.
  • kjs/string_object.cpp: (KJS::StringInstance::indexGetter): Changed to use substr() instead of constructing a wholly new UString each time. (KJS::stringInstanceNumericPropertyGetter): Added. Like indexGetter, but takes advantage of setCustomNumeric to avoid creating an Identifier. (KJS::StringInstance::getOwnPropertySlot): Changed to use setCustomNumeric.
9:48 PM Changeset in webkit [27632] by Darin Adler
  • 6 edits in trunk/JavaScriptCore

Reviewed by Oliver.

1% improvement of SunSpider

  • kjs/JSImmediate.h: Eliminate the now-unneeded FPBitValues struct template. (KJS::JSImmediate::from): Overload for most numeric types; many types can do fewer branches and checks. (KJS::JSImmediate::getUInt32): Removed unneeded check for undefined. (KJS::JSImmediate::getTruncatedInt32): Ditto. (KJS::JSImmediate::getTruncatedUInt32): Ditto. There's no difference any more between getUInt32 and getTruncatedUInt32, so that's worth a rename and merge later.
  • kjs/grammar.y: Update since fromDouble is now just from.
  • kjs/nodes.h: Ditto.
  • kjs/value.h: (KJS::jsNumber): Overload for most numeric types.
9:38 PM Changeset in webkit [27631] by kevino@webkit.org
  • 3 edits
    37 adds in trunk

Adding Bakefiles for JSCore, WebCore, and WebKit, and adding wxWebKit implementation.

Reviewed by Mark Rowe

8:32 PM Changeset in webkit [27630] by oliver
  • 3 edits
    2 adds in trunk

Fix regression caused by earlier bitwise and optimisation. 1 & undefined != 1.

Reviewed by Maciej.

The implementation of JSImmediate::areBothImmediateNumbers relies on
(JSImmediate::getTag(immediate1) & JSImmediate::getTag(immediate2)) having
a unique result when both immediate values are numbers.

The regression was due to UndefinedType & NumberType returning NumberType (3 & 1).
By swapping the value of NumberType and UndefinedType this ceases to be a problem.

7:13 PM Changeset in webkit [27629] by mrowe@apple.com
  • 3 edits in trunk/WebCore

2007-11-08 Justin Haygood <jhaygood@reaktix.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15905

Fix builds with HTML 5 Storage support disabled.
ENABLE(DATABASE) needs to be added in a few places.

  • page/InspectorController.cpp:
  • storage/Database.h:
6:03 PM Changeset in webkit [27628] by sfalken
  • 3 edits in trunk/WebKit/win

Bump versions for submit

5:48 PM Changeset in webkit [27627] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

5:39 PM Changeset in webkit [27626] by sfalken
  • 1 edit in trunk/WebKit/win/ChangeLog

Fix typo in ChangeLog.

5:32 PM Changeset in webkit [27625] by sfalken
  • 2 edits in trunk/WebKit/win

<rdar://problem/5491463> Wrong dates shown in History menu.


Fix off-by-one error in Windows epoch.


For the Windows DATE type, 1/1/1900 should be 2.0, not 1.0.
DATE is the number of dates since 12/30/1899.


Reviewed by Ada.

  • MarshallingHelpers.cpp: (MarshallingHelpers::windowsEpochAbsoluteTime):
5:13 PM Changeset in webkit [27624] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2007-11-08 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15653
[GTK] Text editor does not handle common keystrokes

Handle more keystrokes in EditorClientGtk. Note that this is a
temporary measure pending a proper solution using GtkBindingSet (see
http://bugs.webkit.org/show_bug.cgi?id=15911).

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::handleKeypress):
5:04 PM Changeset in webkit [27623] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • fix build
  • kjs/nodes.h: Add missing parameter name.
4:43 PM Changeset in webkit [27622] by eseidel
  • 4 edits in trunk/JavaScriptCore

2007-11-08 Eric Seidel <eric@webkit.org>

Reviewed by darin.

Add ExpressionNode subclass of Node, use it.

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::ForInNode::ForInNode):
  • kjs/nodes.h: (KJS::ExpressionNode::): (KJS::NullNode::): (KJS::NullNode::precedence): (KJS::BooleanNode::): (KJS::BooleanNode::precedence): (KJS::RegExpNode::): (KJS::RegExpNode::precedence): (KJS::ThisNode::): (KJS::ThisNode::precedence): (KJS::ResolveNode::): (KJS::ElementNode::): (KJS::ArrayNode::): (KJS::PropertyNode::): (KJS::PropertyNode::precedence): (KJS::PropertyNode::name): (KJS::PropertyListNode::): (KJS::ObjectLiteralNode::): (KJS::ObjectLiteralNode::precedence): (KJS::BracketAccessorNode::): (KJS::DotAccessorNode::): (KJS::DotAccessorNode::precedence): (KJS::ArgumentListNode::): (KJS::ArgumentsNode::): (KJS::NewExprNode::): (KJS::NewExprNode::precedence): (KJS::FunctionCallValueNode::): (KJS::FunctionCallValueNode::precedence): (KJS::FunctionCallResolveNode::): (KJS::FunctionCallBracketNode::): (KJS::FunctionCallBracketNode::precedence): (KJS::FunctionCallDotNode::): (KJS::FunctionCallDotNode::precedence): (KJS::PrePostResolveNode::): (KJS::PostfixBracketNode::): (KJS::PostfixBracketNode::precedence): (KJS::PostIncBracketNode::): (KJS::PostIncBracketNode::isIncrement): (KJS::PostDecBracketNode::): (KJS::PostDecBracketNode::isIncrement): (KJS::PostfixDotNode::): (KJS::PostfixDotNode::precedence): (KJS::PostIncDotNode::): (KJS::PostIncDotNode::isIncrement): (KJS::PostDecDotNode::): (KJS::PostDecDotNode::isIncrement): (KJS::PostfixErrorNode::): (KJS::PostfixErrorNode::precedence): (KJS::DeleteResolveNode::): (KJS::DeleteBracketNode::): (KJS::DeleteBracketNode::precedence): (KJS::DeleteDotNode::): (KJS::DeleteDotNode::precedence): (KJS::DeleteValueNode::): (KJS::DeleteValueNode::precedence): (KJS::VoidNode::): (KJS::VoidNode::precedence): (KJS::TypeOfResolveNode::): (KJS::TypeOfValueNode::): (KJS::PrefixBracketNode::): (KJS::PrefixBracketNode::precedence): (KJS::PreIncBracketNode::): (KJS::PreIncBracketNode::isIncrement): (KJS::PreDecBracketNode::): (KJS::PreDecBracketNode::isIncrement): (KJS::PrefixDotNode::): (KJS::PrefixDotNode::precedence): (KJS::PreIncDotNode::): (KJS::PreIncDotNode::isIncrement): (KJS::PreDecDotNode::): (KJS::PreDecDotNode::isIncrement): (KJS::PrefixErrorNode::): (KJS::PrefixErrorNode::precedence): (KJS::UnaryPlusNode::): (KJS::UnaryPlusNode::precedence): (KJS::NegateNode::): (KJS::NegateNode::precedence): (KJS::BitwiseNotNode::): (KJS::BitwiseNotNode::precedence): (KJS::LogicalNotNode::): (KJS::LogicalNotNode::precedence): (KJS::AddNode::): (KJS::AddNode::precedence): (KJS::LeftShiftNode::): (KJS::LeftShiftNode::precedence): (KJS::RightShiftNode::): (KJS::RightShiftNode::precedence): (KJS::UnsignedRightShiftNode::): (KJS::UnsignedRightShiftNode::precedence): (KJS::LessNode::): (KJS::LessNode::precedence): (KJS::GreaterNode::): (KJS::GreaterNode::precedence): (KJS::LessEqNode::): (KJS::LessEqNode::precedence): (KJS::GreaterEqNode::): (KJS::GreaterEqNode::precedence): (KJS::InstanceOfNode::): (KJS::InstanceOfNode::precedence): (KJS::InNode::): (KJS::InNode::precedence): (KJS::EqualNode::): (KJS::EqualNode::precedence): (KJS::NotEqualNode::): (KJS::NotEqualNode::precedence): (KJS::StrictEqualNode::): (KJS::StrictEqualNode::precedence): (KJS::NotStrictEqualNode::): (KJS::NotStrictEqualNode::precedence): (KJS::BitAndNode::): (KJS::BitAndNode::precedence): (KJS::BitOrNode::): (KJS::BitOrNode::precedence): (KJS::BitXOrNode::): (KJS::BitXOrNode::precedence): (KJS::LogicalAndNode::): (KJS::LogicalAndNode::precedence): (KJS::LogicalOrNode::): (KJS::LogicalOrNode::precedence): (KJS::ConditionalNode::): (KJS::ConditionalNode::precedence): (KJS::ReadModifyResolveNode::): (KJS::ReadModifyResolveNode::precedence): (KJS::AssignResolveNode::): (KJS::AssignResolveNode::precedence): (KJS::ReadModifyBracketNode::): (KJS::ReadModifyBracketNode::precedence): (KJS::AssignBracketNode::): (KJS::AssignBracketNode::precedence): (KJS::AssignDotNode::): (KJS::AssignDotNode::precedence): (KJS::ReadModifyDotNode::): (KJS::ReadModifyDotNode::precedence): (KJS::AssignErrorNode::): (KJS::AssignErrorNode::precedence): (KJS::CommaNode::): (KJS::CommaNode::precedence): (KJS::AssignExprNode::): (KJS::AssignExprNode::precedence): (KJS::ExprStatementNode::): (KJS::IfNode::): (KJS::DoWhileNode::): (KJS::WhileNode::): (KJS::ReturnNode::): (KJS::WithNode::): (KJS::ThrowNode::): (KJS::ParameterNode::): (KJS::CaseClauseNode::): (KJS::CaseClauseNode::precedence): (KJS::ClauseListNode::): (KJS::SwitchNode::):
4:09 PM Changeset in webkit [27621] by weinig@apple.com
  • 2 edits in trunk

Correct ChangeLogs to reflect that the speedup was 1% not .5%. Turns out you are not supposed to test in Debug builds.

3:51 PM Changeset in webkit [27620] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fixed bug title in old check-in.

3:49 PM Changeset in webkit [27619] by sfalken
  • 2 edits in trunk/WebCore

<rdar://problem/5524082> Allow images to be dragged out directly into other apps


We weren't including CF_HDROP in our image drops. This broke drag of
images out of the browser window directly into other apps (examples
include notepad, mspaint, msword).


Reviewed by Oliver, Ada.

  • platform/win/ClipboardWin.cpp: (WebCore::createGlobalImageFileContent): Removed unused variable. (WebCore::createGlobalHDropContent): Added (WebCore::writeFileToDataObject): Write HDROP data if available. (WebCore::writeImageToDataObject): Write HDROP for dragged images. (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
3:31 PM Changeset in webkit [27618] by alp@webkit.org
  • 3 edits in trunk/WebCore

2007-11-08 Xan Lopez <xan@gnome.org>

Reviewed by Alp.

http://bugs.webkit.org/show_bug.cgi?id=15908
Use g_object_ref_sink when available

  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::show):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::setGtkAdjustments):
2:59 PM Changeset in webkit [27617] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Beth Dakin.

  • fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely

Test: fast/dom/length-attribute-mapping.html

  • dom/StyledElement.cpp: (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping logic to stop after the first "%" or "*" in the string. This allows for "100%25" to be mapped to "100%" like it is in Firefox and WinIE.

LayoutTests:

Reviewed by Beth Dakin.

  • test for <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
  • fast/dom/length-attribute-mapping-expected.txt: Added.
  • fast/dom/length-attribute-mapping.html: Added.
2:26 PM Changeset in webkit [27616] by kmccullo
  • 4 edits in trunk

WebCore:

  • Build fix.
  • loader/FrameLoaderClient.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):

WebKit/mac:

Build Fix.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::windowObjectCleared):
2:23 PM Changeset in webkit [27615] by oliver
  • 4 edits in trunk/JavaScriptCore

Add a fast path for bitwise-and of two immediate numbers for a 0.7% improvement in SunSpider (4% bitop improvement).

Reviewed by Sam.

This only improves bitwise-and performance, as the additional logic required
for similar code paths on or, xor, and shifting requires additional operations
and branches that negate (and in certain cases, regress) any advantage we might
otherwise receive.

This improves performance on all bitop tests, the cryptography tests, as well as
the string-base64 and string-unpack-code tests. No significant degradation on
any other tests.

1:49 PM Changeset in webkit [27614] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Stop using KJS inside of MathExtras.h

Reviewed by Darin.

  • wtf/MathExtras.h: Removed an unused header, and a now-unused forward-declaration. (wtf_atan2): Use std::numeric_limits intead of KJS.
1:45 PM Changeset in webkit [27613] by kmccullo
  • 3 edits in trunk/WebKitTools

Reviewed by Sam.

  • Use the new IWebFrame [local] function signature and get the shared server correctly.
  • Drosera/win/DebuggerClient.cpp: (DebuggerClient::didFinishLoadForFrame):
  • Drosera/win/ServerConnection.cpp: (ServerConnection::attemptToCreateServerConnection):
1:43 PM Changeset in webkit [27612] by kmccullo
  • 24 edits
    2 adds in trunk

WebCore:

Reviewed by Sam.

  • windowObjectCleared() is no longer const. It needs to setup the script debugger and cannot be const to do so.
  • loader/FrameLoaderClient.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):

WebKit/gtk:

Reviewed by Sam.

  • windowObjectCleared() is no longer const. It needs to setup the script debugger and cannot be const to do so.
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::windowObjectCleared):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/qt:

Reviewed by Sam.

  • windowObjectCleared() is no longer const. It needs to setup the script debugger and cannot be const to do so.
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::windowObjectCleared):
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

Reviewed by Sam.

  • With this change Drosera can now get the source of a website and the listings of the sources it gets. This also lays the foundation for letting Drosera show the scope chain of the JavaScript stack.
  • Interfaces/IWebFrame.idl: Changed the signature of the local function, globalContext(), because COM was unable to marshal this object with the other signature.
  • Interfaces/IWebScriptDebugServer.idl: Of course adding and removing a listener cannot be done in a const function.
  • WebChromeClient.h: Added accessor to the WebView for the new added kit() function in WebFrame. (WebChromeClient::webView):
  • WebFrame.cpp: Added a script debugger object and the necessary functions to attach and communicate with it. Also needed to change the local function, globalContext(), because of a COM issue. (kit): (WebFrame::WebFrame): (WebFrame::globalContext): (WebFrame::loadData): (WebFrame::attachScriptDebugger): (WebFrame::detachScriptDebugger): (WebFrame::dispatchDidLoadMainResource): (WebFrame::windowObjectCleared):
  • WebFrame.h: Ditto.
  • WebHTMLRepresentation.cpp: Implemented documentSource so Drosera has some source code to display. (WebHTMLRepresentation::WebHTMLRepresentation): (WebHTMLRepresentation::documentSource):
  • WebKit.vcproj/WebKit.vcproj: Added the new WebScriptDebugger class.
  • WebScriptCallFrame.cpp: Implemented much of this class' functionality. (EnumScopes::EnumScopes): Made an EnumScopes class to create an IEnumVARIANT to wrap a ScopeChain for Drosera. (EnumScopes::QueryInterface): (EnumScopes::AddRef): (EnumScopes::Release): (EnumScopes::Next): (EnumScopes::Skip): (EnumScopes::Reset): (EnumScopes::Clone): (WebScriptCallFrame::caller): (WebScriptCallFrame::scopeChain): (WebScriptCallFrame::functionName): (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
  • WebScriptCallFrame.h: Added member data needed for the above functions
  • WebScriptDebugServer.cpp: Began implementing. (WebScriptDebugServer::listenerCount): (EnumViews::QueryInterface): (EnumViews::AddRef): (EnumViews::Release): (EnumViews::Next): (EnumViews::Skip): (EnumViews::Reset): (EnumViews::Clone): (WebScriptDebugServer::WebScriptDebugServer): (WebScriptDebugServer::createInstance): (WebScriptDebugServer::sharedWebScriptDebugServer): (WebScriptDebugServer::AddRef): (WebScriptDebugServer::Release): (WebScriptDebugServer::addListener): (WebScriptDebugServer::removeListener): (WebScriptDebugServer::step): (WebScriptDebugServer::pause): (WebScriptDebugServer::resume): (WebScriptDebugServer::isPaused): (WebScriptDebugServer::suspendProcessIfPaused): (WebScriptDebugServer::didLoadMainResourceForDataSource): (WebScriptDebugServer::didParseSource): (WebScriptDebugServer::failedToParseSource): (WebScriptDebugServer::didEnterCallFrame): (WebScriptDebugServer::willExecuteStatement): (WebScriptDebugServer::willLeaveCallFrame): (WebScriptDebugServer::exceptionWasRaised):
  • WebScriptDebugServer.h: Began implementing.
  • WebScriptDebugger.cpp: Added. (WebScriptDebugger::WebScriptDebugger): (WebScriptDebugger::sourceParsed):
  • WebScriptDebugger.h: Added.
  • WebScriptScope.cpp: Make this class use createInstance which is more in line with our guidelines. (WebScriptScope::WebScriptScope): (WebScriptScope::createInstance):
  • WebScriptScope.h:
1:27 PM Changeset in webkit [27611] by Adam Roben
  • 2 edits in trunk/WebCore

Hopeful Windows build fix

  • rendering/RenderObject.cpp: Touch this file to make it recompile.
1:26 PM Changeset in webkit [27610] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

  • kjs/date_object.cpp: (KJS::DateProtoFuncToLocaleString::callAsFunction): Fix unused arg warning. (KJS::DateProtoFuncToLocaleDateString::callAsFunction): ditto (KJS::DateProtoFuncToLocaleTimeString::callAsFunction): ditto
1:03 PM Changeset in webkit [27609] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • kjs/lookup.h: Add missing include.
12:31 PM Changeset in webkit [27608] by weinig@apple.com
  • 29 edits in trunk

JavaScriptCore:

Reviewed by Darin.

Convert JavaScript internal function objects to use one class per
function. This avoids a switch statement inside what used to be
the shared function classes and will allow Shark to better analyze
the code.

To make this switch, the value property of the HashEntry was changed
to a union of an intptr_t (which is used to continue handle valueGetters)
and function pointer which points to a static constructor for the
individual new function objects.

SunSpider claims this is a 0.5% speedup.

  • kjs/array_object.cpp: (KJS::ArrayPrototype::getOwnPropertySlot): (KJS::getProperty): (KJS::ArrayProtoFuncToString::callAsFunction): (KJS::ArrayProtoFuncToLocaleString::callAsFunction): (KJS::ArrayProtoFuncJoin::callAsFunction): (KJS::ArrayProtoFuncConcat::callAsFunction): (KJS::ArrayProtoFuncPop::callAsFunction): (KJS::ArrayProtoFuncPush::callAsFunction): (KJS::ArrayProtoFuncReverse::callAsFunction): (KJS::ArrayProtoFuncShift::callAsFunction): (KJS::ArrayProtoFuncSlice::callAsFunction): (KJS::ArrayProtoFuncSort::callAsFunction): (KJS::ArrayProtoFuncSplice::callAsFunction): (KJS::ArrayProtoFuncUnShift::callAsFunction): (KJS::ArrayProtoFuncFilter::callAsFunction): (KJS::ArrayProtoFuncMap::callAsFunction): (KJS::ArrayProtoFuncEvery::callAsFunction): (KJS::ArrayProtoFuncForEach::callAsFunction): (KJS::ArrayProtoFuncSome::callAsFunction): (KJS::ArrayProtoFuncIndexOf::callAsFunction): (KJS::ArrayProtoFuncLastIndexOf::callAsFunction):
  • kjs/array_object.h: (KJS::ArrayPrototype::classInfo):
  • kjs/create_hash_table:
  • kjs/date_object.cpp: (KJS::DatePrototype::getOwnPropertySlot): (KJS::DateProtoFuncToString::callAsFunction): (KJS::DateProtoFuncToUTCString::callAsFunction): (KJS::DateProtoFuncToDateString::callAsFunction): (KJS::DateProtoFuncToTimeString::callAsFunction): (KJS::DateProtoFuncToLocaleString::callAsFunction): (KJS::DateProtoFuncToLocaleDateString::callAsFunction): (KJS::DateProtoFuncToLocaleTimeString::callAsFunction): (KJS::DateProtoFuncValueOf::callAsFunction): (KJS::DateProtoFuncGetTime::callAsFunction): (KJS::DateProtoFuncGetFullYear::callAsFunction): (KJS::DateProtoFuncGetUTCFullYear::callAsFunction): (KJS::DateProtoFuncToGMTString::callAsFunction): (KJS::DateProtoFuncGetMonth::callAsFunction): (KJS::DateProtoFuncGetUTCMonth::callAsFunction): (KJS::DateProtoFuncGetDate::callAsFunction): (KJS::DateProtoFuncGetUTCDate::callAsFunction): (KJS::DateProtoFuncGetDay::callAsFunction): (KJS::DateProtoFuncGetUTCDay::callAsFunction): (KJS::DateProtoFuncGetHours::callAsFunction): (KJS::DateProtoFuncGetUTCHours::callAsFunction): (KJS::DateProtoFuncGetMinutes::callAsFunction): (KJS::DateProtoFuncGetUTCMinutes::callAsFunction): (KJS::DateProtoFuncGetSeconds::callAsFunction): (KJS::DateProtoFuncGetUTCSeconds::callAsFunction): (KJS::DateProtoFuncGetMilliSeconds::callAsFunction): (KJS::DateProtoFuncGetUTCMilliseconds::callAsFunction): (KJS::DateProtoFuncGetTimezoneOffset::callAsFunction): (KJS::DateProtoFuncSetTime::callAsFunction): (KJS::DateProtoFuncSetMilliSeconds::callAsFunction): (KJS::DateProtoFuncSetUTCMilliseconds::callAsFunction): (KJS::DateProtoFuncSetSeconds::callAsFunction): (KJS::DateProtoFuncSetUTCSeconds::callAsFunction): (KJS::DateProtoFuncSetMinutes::callAsFunction): (KJS::DateProtoFuncSetUTCMinutes::callAsFunction): (KJS::DateProtoFuncSetHours::callAsFunction): (KJS::DateProtoFuncSetUTCHours::callAsFunction): (KJS::DateProtoFuncSetDate::callAsFunction): (KJS::DateProtoFuncSetUTCDate::callAsFunction): (KJS::DateProtoFuncSetMonth::callAsFunction): (KJS::DateProtoFuncSetUTCMonth::callAsFunction): (KJS::DateProtoFuncSetFullYear::callAsFunction): (KJS::DateProtoFuncSetUTCFullYear::callAsFunction): (KJS::DateProtoFuncSetYear::callAsFunction): (KJS::DateProtoFuncGetYear::callAsFunction):
  • kjs/date_object.h:
  • kjs/lookup.cpp: (KJS::Lookup::find):
  • kjs/lookup.h: (KJS::HashEntry::): (KJS::staticFunctionGetter): (KJS::staticValueGetter): (KJS::getStaticPropertySlot): (KJS::getStaticFunctionSlot): (KJS::lookupPut):
  • kjs/math_object.cpp: (KJS::MathObjectImp::getOwnPropertySlot): (KJS::MathProtoFuncAbs::callAsFunction): (KJS::MathProtoFuncACos::callAsFunction): (KJS::MathProtoFuncASin::callAsFunction): (KJS::MathProtoFuncATan::callAsFunction): (KJS::MathProtoFuncATan2::callAsFunction): (KJS::MathProtoFuncCeil::callAsFunction): (KJS::MathProtoFuncCos::callAsFunction): (KJS::MathProtoFuncExp::callAsFunction): (KJS::MathProtoFuncFloor::callAsFunction): (KJS::MathProtoFuncLog::callAsFunction): (KJS::MathProtoFuncMax::callAsFunction): (KJS::MathProtoFuncMin::callAsFunction): (KJS::MathProtoFuncPow::callAsFunction): (KJS::MathProtoFuncRandom::callAsFunction): (KJS::MathProtoFuncRound::callAsFunction): (KJS::MathProtoFuncSin::callAsFunction): (KJS::MathProtoFuncSqrt::callAsFunction): (KJS::MathProtoFuncTan::callAsFunction):
  • kjs/math_object.h: (KJS::MathObjectImp::classInfo): (KJS::MathObjectImp::):
  • kjs/string_object.cpp: (KJS::StringPrototype::getOwnPropertySlot): (KJS::StringProtoFuncToString::callAsFunction): (KJS::StringProtoFuncValueOf::callAsFunction): (KJS::StringProtoFuncCharAt::callAsFunction): (KJS::StringProtoFuncCharCodeAt::callAsFunction): (KJS::StringProtoFuncConcat::callAsFunction): (KJS::StringProtoFuncIndexOf::callAsFunction): (KJS::StringProtoFuncLastIndexOf::callAsFunction): (KJS::StringProtoFuncMatch::callAsFunction): (KJS::StringProtoFuncSearch::callAsFunction): (KJS::StringProtoFuncReplace::callAsFunction): (KJS::StringProtoFuncSlice::callAsFunction): (KJS::StringProtoFuncSplit::callAsFunction): (KJS::StringProtoFuncSubstr::callAsFunction): (KJS::StringProtoFuncSubstring::callAsFunction): (KJS::StringProtoFuncToLowerCase::callAsFunction): (KJS::StringProtoFuncToUpperCase::callAsFunction): (KJS::StringProtoFuncToLocaleLowerCase::callAsFunction): (KJS::StringProtoFuncToLocaleUpperCase::callAsFunction): (KJS::StringProtoFuncLocaleCompare::callAsFunction): (KJS::StringProtoFuncBig::callAsFunction): (KJS::StringProtoFuncSmall::callAsFunction): (KJS::StringProtoFuncBlink::callAsFunction): (KJS::StringProtoFuncBold::callAsFunction): (KJS::StringProtoFuncFixed::callAsFunction): (KJS::StringProtoFuncItalics::callAsFunction): (KJS::StringProtoFuncStrike::callAsFunction): (KJS::StringProtoFuncSub::callAsFunction): (KJS::StringProtoFuncSup::callAsFunction): (KJS::StringProtoFuncFontcolor::callAsFunction): (KJS::StringProtoFuncFontsize::callAsFunction): (KJS::StringProtoFuncAnchor::callAsFunction): (KJS::StringProtoFuncLink::callAsFunction):
  • kjs/string_object.h:

WebCore:

Reviewed by Darin.

Convert JavaScript internal function objects to use one class per
function. This avoids a switch statement inside what used to be
the shared function classes and will allow Shark to better analyze
the code.

To make this switch, the value property of the HashEntry was changed
to a union of an intptr_t (which is used to continue handle valueGetters)
and function pointer which points to a static constructor for the
individual new function objects.

SunSpider claims this is a 0.5% speedup.

  • On the WebCore side, I updated CodeGeneratorJS.pm to generate the new classes and hand updated the remain non-generated (groan) classes.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  • bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction): (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction): (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
  • bindings/js/JSEventTargetNode.h:
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  • bindings/js/JSHTMLInputElementBase.h: (WebCore::JSHTMLInputElementBase::):
  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
  • bindings/js/JSXMLHttpRequest.h: (KJS::JSXMLHttpRequest::impl):
  • bindings/js/JSXSLTProcessor.cpp: (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
  • bindings/js/JSXSLTProcessor.h:
  • bindings/js/kjs_events.cpp: (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction): (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction): (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction): (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
  • bindings/js/kjs_events.h:
  • bindings/js/kjs_navigator.cpp: (KJS::Plugins::): (KJS::Navigator::getOwnPropertySlot): (KJS::Plugins::getOwnPropertySlot): (KJS::PluginsFunctionRefresh::callAsFunction): (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
  • bindings/js/kjs_navigator.h: (KJS::Navigator::):
  • bindings/js/kjs_window.cpp: (KJS::Window::getOwnPropertySlot): (KJS::Window::put): (KJS::WindowProtoFuncAToB::callAsFunction): (KJS::WindowProtoFuncBToA::callAsFunction): (KJS::WindowProtoFuncOpen::callAsFunction): (KJS::WindowProtoFuncScrollBy::callAsFunction): (KJS::WindowProtoFuncScrollTo::callAsFunction): (KJS::WindowProtoFuncMoveBy::callAsFunction): (KJS::WindowProtoFuncMoveTo::callAsFunction): (KJS::WindowProtoFuncResizeBy::callAsFunction): (KJS::WindowProtoFuncResizeTo::callAsFunction): (KJS::WindowProtoFuncSetTimeout::callAsFunction): (KJS::WindowProtoFuncClearTimeout::callAsFunction): (KJS::WindowProtoFuncSetInterval::callAsFunction): (KJS::WindowProtoFuncAddEventListener::callAsFunction): (KJS::WindowProtoFuncRemoveEventListener::callAsFunction): (KJS::WindowProtoFuncShowModalDialog::callAsFunction): (KJS::WindowProtoFuncNotImplemented::callAsFunction): (KJS::Location::getOwnPropertySlot): (KJS::Location::put): (KJS::LocationProtoFuncReplace::callAsFunction): (KJS::LocationProtoFuncReload::callAsFunction): (KJS::LocationProtoFuncAssign::callAsFunction): (KJS::LocationProtoFuncToString::callAsFunction):
  • bindings/js/kjs_window.h: (KJS::Window::):
  • bindings/scripts/CodeGeneratorJS.pm:
12:22 PM Changeset in webkit [27607] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

Reviewed by Sam and Ada.

  • wtf/MathExtras.h: Get rid of a circular #include dependency to fix the build.
11:58 AM Changeset in webkit [27606] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Fix a precedence warning on Windows

  • kjs/JSImmediate.h: (KJS::JSImmediate::toBoolean):
11:49 AM Changeset in webkit [27605] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Build fix for JavaScriptGlue.

  • wtf/MathExtras.h: Include stdlib.h for srand and RAND_MAX.
11:45 AM Changeset in webkit [27604] by mrowe@apple.com
  • 1 edit
    1 add in trunk/JavaScriptGlue

2007-11-08 Mark Rowe <mrowe@apple.com>

Build fix.

  • ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
11:38 AM Changeset in webkit [27603] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • Windows build fix
  • kjs/JSImmediate.h: Include MathExtras.h rather than math.h since this file uses "signbit".
10:27 AM Changeset in webkit [27602] by oliver
  • 3 edits in trunk/JavaScriptCore

Replace the use of floats for immediate values with the use of integers for a 4.5% improvement in SunSpider.

Reviewed by Darin.

Unfortunately this change results in NaN, +Inf, -Inf, and -0 being heap allocated now, but
we should now have faster array access, faster immediate to double conversion, and the
potential to further improve bitwise operators in future.

This also removes the need for unions to avoid strict aliasing problems when extracting
a value from immediates.

  • kjs/JSImmediate.h:

(KJS::):
(KJS::JSImmediate::trueImmediate):
(KJS::JSImmediate::falseImmediate):
(KJS::JSImmediate::undefinedImmediate):
(KJS::JSImmediate::nullImmediate):
(KJS::JSImmediate::toBoolean):

  • kjs/value.h:

(KJS::jsNaN):

9:18 AM Changeset in webkit [27601] by mrowe@apple.com
  • 4 edits in trunk/WebCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Fix the Gtk, Qt and Wx builds.

  • platform/gtk/TemporaryLinkStubs.cpp:
  • platform/qt/TemporaryLinkStubs.cpp:
  • platform/wx/TemporaryLinkStubs.cpp:
8:50 AM Changeset in webkit [27600] by mrowe@apple.com
  • 3 edits in trunk/WebCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Not reviewed. Fix two instances of includes using the wrong case in the filename.

  • platform/graphics/mac/MoviePrivateQTKit.mm:
  • platform/wx/MimeTypeRegistryWx.cpp:
7:42 AM Changeset in webkit [27599] by Darin Adler
  • 5 edits in trunk

WebCore:

Reviewed by Adam.

  • fix <rdar://problem/5552943> accesskey does not focus <button> elements

Test: fast/forms/access-key.html

  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction): Added a call to focus.

LayoutTests:

Reviewed by Adam.

  • test changes for <rdar://problem/5552943> accesskey does not focus <button> elements
  • fast/forms/access-key.html: Check for both focus and click events on all elements, but resisted the urge to switch to the American spelling for "focused".
  • fast/forms/access-key-expected.txt: Updated to reflect the bug fix ("1 button focussed"), the fact that <input type=button>, <input type=checkbox>, <input type=submit>, and <input type=reset> are all both focused and clicked ("2 input type button clicked", "3 input type checkbox clicked", "5 input type submit focussed", and "6 input type reset focussed"). Unfortunately this now also demonstrates that we don't send a click to <input type=text> and Gecko does. And there are still quite a few types that are not covered.
7:40 AM Changeset in webkit [27598] by Darin Adler
  • 31 edits
    3 deletes in trunk

WebCore:

Reviewed by Steve.

  • cut down on notImplemented() functions on Windows
  • bridge/AXObjectCache.h: Put #if around the accessibility global.
  • bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles): Moved here from TemporaryLinkStubs.
  • dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented using the ResourceResponse that's now available from the DocumentLoader.
  • editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on the Editor instead of the obsolete one on the Frame.
  • loader/DocumentLoader.h: Removed getResponseModifiedHeader.
  • loader/FrameLoader.h: Removed overrideMediaType.
  • loader/gtk/DocumentLoaderGtk.cpp: Removed.
  • loader/mac/DocumentLoaderMac.mm: Removed.
  • loader/qt/DocumentLoaderQt.cpp: Removed.
  • page/Frame.cpp: Removed transpose.
  • page/Frame.h: Ditto.
  • page/FrameView.h: Removed updateBorder.
  • page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
  • page/mac/FrameMac.mm: Ditto.
  • page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and overrideMediaType.
  • page/qt/FrameQt.cpp: Removed issueTransposeCommand.
  • platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
  • platform/qt/TemporaryLinkStubs.cpp: Ditto.
  • platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
  • platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled, issueTransposeCommand, and overrideMediaType.
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs. (WebCore::ResourceHandle::willLoadFromCache): Ditto.
  • platform/win/GraphicsContextWin.cpp: (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
  • platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
  • platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
  • WebCore.pro: Updated for removed files.
  • WebCore.xcodeproj/project.pbxproj: Updated for removed file.

WebKit/mac:

Reviewed by Steve.

  • removed some unused WebCore bridge methods
  • WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of using the bridge object.

WebKit/win:

Reviewed by Steve.

  • Interfaces/IWebUIDelegate.idl: Added the functions needed below.
  • WebChromeClient.cpp: (WebChromeClient::setMenubarVisible): Eliminated the notImplemented() here by calling through the UI delegate. (WebChromeClient::menubarVisible): Ditto. (WebChromeClient::runDatabaseSizeLimitPrompt): Ditto.
7:12 AM Changeset in webkit [27597] by mrowe@apple.com
  • 3 edits in trunk/WebCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Build fix for case-sensitive file systems. Fix case of file names
in #include's.

  • html/HTMLMediaElement.cpp:
  • platform/graphics/Movie.cpp:
6:18 AM Changeset in webkit [27596] by hausmann
  • 2 edits in trunk/WebKit/qt

Build fix for Qt 4.3.

12:20 AM Changeset in webkit [27595] by hausmann
  • 2 edits in trunk/WebCore

Remove some warnings about not implemented methods.

  • ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are specific to the NS API and won't be implemented on Qt.
  • ResourceHandle::bufferedData can not be reached as we return false in ResourceHandle::supportsBufferedData.

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:20 AM Changeset in webkit [27594] by hausmann
  • 4 edits in trunk

Cleanup checking for the request method.

  • Check the request method only in QWebNetworkManager::add.
  • Currently HEAD, GET, POST are allowed and for everything else QWebNetworkManager::add returns false.
  • Returning false is compatible with ResourceHandle::start and it can be used in ResourceHandle::loadResourceSynchronously to generate a ResourceError

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:20 AM Changeset in webkit [27593] by hausmann
  • 2 edits in trunk/WebCore

Implement WebCore::callOnMainThread

Implemented using a global QObject, that is moved to the main thread
and then sending a custom event to it.
Picked a number below QEvent::User but above any other documented value.

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:20 AM Changeset in webkit [27592] by hausmann
  • 3 edits in trunk/WebKit/qt

Fix bug in the implementation of synchronous network jobs.

  • George (pmax) reviewed the networking patches and found the following bug (thanks for reviewing)
  • if (jobMode == AsynchronousJob) {

+ if (jobMode == SynchronousJob) {

add job to synchronous list/hash

  • Just applying the above change will lead to crashes because we can finish jobs before we started them.
  • Avoid these issues by saving all work (starting a job, sending data and finishing it) inside one list. JobWork will contain any of the above three work types and doWork will just work on this list (m_pendingWork). As foreach takes a copy of the list calling started, data and finished will not add new work and we gurantee that if we have JobStarted it will be in the list before JobData and JobFinished.
  • Observation: We might just kill the code to handle sync jobs.

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:20 AM Changeset in webkit [27591] by hausmann
  • 2 edits in trunk/WebCore

Avoid problems with calling QPainter::begin() on an already active paintdevice

  • Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
  • If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar used by the ScrollView on a layout triggered by QWebPage::paintEvent.

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:03 AM Changeset in webkit [27590] by eric@webkit.org
  • 2 edits in trunk/WebCore

2007-11-08 Eric Seidel <eric@webkit.org>

No review.

  • ksvg2/svg/SVGPathElement.h: remove old comment
Note: See TracTimeline for information about the timeline view.