WebKit-https.git
13 years ago Fix <rdar://5133816> keepWebHistory is not implemented
aroben@apple.com [Sun, 11 Nov 2007 20:51:09 +0000 (20:51 +0000)]
 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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27691 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Darin.
ap@webkit.org [Sun, 11 Nov 2007 20:28:51 +0000 (20:28 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27690 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago - try another way of fixing dftables builds -- refactor pcre_internal.h a bit
darin@apple.com [Sun, 11 Nov 2007 19:24:37 +0000 (19:24 +0000)]
    - 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27689 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago * pcre/dftables.pro: Try fixing Qt builds (I looked at qt-win) by adding
darin@apple.com [Sun, 11 Nov 2007 19:05:53 +0000 (19:05 +0000)]
    * pcre/dftables.pro: Try fixing Qt builds (I looked at qt-win) by adding
        another include path.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27688 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago * JavaScriptCore.xcodeproj/project.pbxproj: Try fixing Mac Tiger builds
darin@apple.com [Sun, 11 Nov 2007 19:03:35 +0000 (19:03 +0000)]
    * JavaScriptCore.xcodeproj/project.pbxproj: Try fixing Mac Tiger builds
        by adding another include path.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27687 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoJavaScriptCore:
darin@apple.com [Sun, 11 Nov 2007 18:56:13 +0000 (18:56 +0000)]
JavaScriptCore:

        Reviewed by Sam.

        - http://bugs.webkit.org/show_bug.cgi?id=15924
          next round of changes to JSRegExp (formerly PCRE)

        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.

        * JavaScriptCore.exp: Updated for new entry points.

        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.vcproj/dftables/dftables.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * jscore.bkl:
        Updated for new source file names and ForwardingHeaders.

        * 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/pcre_xclass.cpp: Copied from JavaScriptCore/pcre/pcre_xclass.c.

        * pcre/ucpinternal.h: Updated header.

        * pcre/ucptable.cpp: Copied from JavaScriptCore/pcre/ucptable.c.

        * 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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27686 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-11 Alp Toker <alp@atoker.com>
alp@webkit.org [Sun, 11 Nov 2007 09:32:03 +0000 (09:32 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27685 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-11 Eric Seidel <eric@webkit.org>
eseidel [Sun, 11 Nov 2007 08:34:39 +0000 (08:34 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27684 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-10 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Sun, 11 Nov 2007 04:05:39 +0000 (04:05 +0000)]
2007-11-10  Mark Rowe  <mrowe@apple.com>

        Qt Linux build fix.

        * platform/UnicodeRange.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27683 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-10 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Sun, 11 Nov 2007 03:52:34 +0000 (03:52 +0000)]
2007-11-10  Mark Rowe  <mrowe@apple.com>

        Qt Windows build fix.

        * platform/UnicodeRange.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27682 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago * platform/win/fast/dom/Window/window-properties-expected.txt: Update for
darin@apple.com [Sun, 11 Nov 2007 03:33:33 +0000 (03:33 +0000)]
    * platform/win/fast/dom/Window/window-properties-expected.txt: Update for
        fix for http://bugs.webkit.org/show_bug.cgi?id=15922.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27681 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoReviewed by Eric.
zimmermann@webkit.org [Sun, 11 Nov 2007 02:12:09 +0000 (02:12 +0000)]
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)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27680 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoRubberstamped by Eric.
zimmermann@webkit.org [Sun, 11 Nov 2007 01:38:53 +0000 (01:38 +0000)]
Rubberstamped by Eric.
Update some SVG pixel test results - which show changes lately -> repainting fixes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27679 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoJavaScriptCore:
darin@apple.com [Sun, 11 Nov 2007 01:07:00 +0000 (01:07 +0000)]
JavaScriptCore:

        Reviewed by Sam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15927
          REGRESSION(r27487): delete a.c followed by __defineGetter__("c", ...) incorrectly deletes another property
          and <rdar://problem/5586384> REGRESSION (r27487): Can't switch out of Edit HTML Source mode on Leopard Wiki

        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.

        - test for http://bugs.webkit.org/show_bug.cgi?id=15927
          delete a.c followed by __defineGetter__("c", ...) incorrectly deletes another property

        * fast/js/delete-then-put-expected.txt: Added.
        * fast/js/delete-then-put.html: Added.
        * fast/js/resources/delete-then-put.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27678 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Sam Weinig.
timothy@apple.com [Sun, 11 Nov 2007 00:49:55 +0000 (00:49 +0000)]
    Reviewed by Sam Weinig.

        * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
          and switch over to use getUniqueProperties in another place.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27677 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebKitTools:
weinig@apple.com [Sun, 11 Nov 2007 00:30:06 +0000 (00:30 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27676 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Sam Weinig
sullivan@apple.com [Sat, 10 Nov 2007 23:38:43 +0000 (23:38 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27675 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoReviewed by Oliver.
zimmermann@webkit.org [Sat, 10 Nov 2007 23:16:16 +0000 (23:16 +0000)]
Reviewed by Oliver.

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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27674 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWhen populating the context menu with sub-menus don't add sub-menus if they're empty.
hausmann [Sat, 10 Nov 2007 22:24:34 +0000 (22:24 +0000)]
When populating the context menu with sub-menus don't add sub-menus if they're empty.

Signed-off-by: Nikolas
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27673 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoAdded support for the Bold/Italic/Underline toggle actions.
hausmann [Sat, 10 Nov 2007 22:24:29 +0000 (22:24 +0000)]
Added support for the Bold/Italic/Underline toggle actions.

Signed-off-by: Nikolas
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27672 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoBefore adding an action to the context menu call checkOrEnableIfNeeded for each action
hausmann [Sat, 10 Nov 2007 22:24:23 +0000 (22:24 +0000)]
Before adding an action to the context menu call checkOrEnableIfNeeded for each action
to update the enable/checked state correctly.

Signed-off-by: Nikolas
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27671 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoMark the text direction actions as checkable actions.
hausmann [Sat, 10 Nov 2007 22:24:17 +0000 (22:24 +0000)]
Mark the text direction actions as checkable actions.

Signed-off-by: Nikolas
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27670 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Windows build fix
aroben@apple.com [Sat, 10 Nov 2007 22:18:17 +0000 (22:18 +0000)]
    Windows build fix

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

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27669 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Darin Adler.
mitz@apple.com [Sat, 10 Nov 2007 21:12:44 +0000 (21:12 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27668 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Tim Hatcher
sullivan@apple.com [Sat, 10 Nov 2007 21:08:17 +0000 (21:08 +0000)]
    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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27667 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Darin.
ap@webkit.org [Sat, 10 Nov 2007 20:29:27 +0000 (20:29 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27666 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Darin.
ap@webkit.org [Sat, 10 Nov 2007 20:24:18 +0000 (20:24 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27665 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Sam.
darin@apple.com [Sat, 10 Nov 2007 18:29:17 +0000 (18:29 +0000)]
    Reviewed by Sam.

        - http://bugs.webkit.org/show_bug.cgi?id=15915
          add an evaluation path for booleans like the one we have for numbers

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27664 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Mark Rowe.
timothy@apple.com [Sat, 10 Nov 2007 08:02:49 +0000 (08:02 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27663 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Darin.
ap@webkit.org [Sat, 10 Nov 2007 07:50:20 +0000 (07:50 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27662 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-09 Jon Honeycutt <jhoneycutt@apple.com>
honeycutt [Sat, 10 Nov 2007 02:28:57 +0000 (02:28 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27661 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Rubber stamped by bdash.
antti [Sat, 10 Nov 2007 01:53:37 +0000 (01:53 +0000)]
    Rubber stamped by bdash.

        Add directory for blog resources (and one image).

        * blog-files: Added.
        * blog-files/touch-poster.png: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27660 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Adele.
antti [Sat, 10 Nov 2007 00:59:21 +0000 (00:59 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27659 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-09 Xan Lopez <xan@gnome.org>
alp@webkit.org [Sat, 10 Nov 2007 00:29:44 +0000 (00:29 +0000)]
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).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27658 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Sam Weinig.
tristan [Fri, 9 Nov 2007 23:51:48 +0000 (23:51 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27657 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Rubber stamped by Oliver.
weinig [Fri, 9 Nov 2007 23:34:19 +0000 (23:34 +0000)]
    Rubber stamped by Oliver.

        Make WebCore a dependency of Interfaces.

        * WebKit.vcproj/WebKit.sln:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27656 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
weinig [Fri, 9 Nov 2007 23:04:17 +0000 (23:04 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27655 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agomac:
tristan [Fri, 9 Nov 2007 22:54:56 +0000 (22:54 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27654 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by John.
timothy@apple.com [Fri, 9 Nov 2007 22:25:58 +0000 (22:25 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27653 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
aroben@apple.com [Fri, 9 Nov 2007 20:04:41 +0000 (20:04 +0000)]
 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27652 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
mitz@apple.com [Fri, 9 Nov 2007 20:03:17 +0000 (20:03 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27651 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Clean up matrix() parsing. Make sure the first four arguments can be lengths...
hyatt [Fri, 9 Nov 2007 19:57:39 +0000 (19:57 +0000)]
    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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
bdakin@apple.com [Fri, 9 Nov 2007 19:05:55 +0000 (19:05 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Windows build fix
aroben@apple.com [Fri, 9 Nov 2007 17:56:12 +0000 (17:56 +0000)]
    Windows build fix

        Reviewed by Darin.

        * kjs/value.h:
        (KJS::jsNumber): Add some explicit casts.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoRoll out r27641 since the same bug was already fixed by r27568.
sfalken [Fri, 9 Nov 2007 17:16:39 +0000 (17:16 +0000)]
Roll out r27641 since the same bug was already fixed by r27568.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agouserIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
hausmann [Fri, 9 Nov 2007 14:33:24 +0000 (14:33 +0000)]
userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
define it twice for the Qt/Windows build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoImplemented the webcore actions for changing the text direction.
hausmann [Fri, 9 Nov 2007 13:09:20 +0000 (13:09 +0000)]
Implemented the webcore actions for changing the text direction.

Signed-off-by: Holger
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27645 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix ContextMenu allocation in the Qt port.
hausmann [Fri, 9 Nov 2007 13:09:15 +0000 (13:09 +0000)]
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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27644 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoRenamed QWebPage::NumWebActions to QWebPage::WebActionCount (for consistency) and...
hausmann [Fri, 9 Nov 2007 13:09:02 +0000 (13:09 +0000)]
Renamed QWebPage::NumWebActions to QWebPage::WebActionCount (for consistency) and fixed its value.

Signed-off-by: Holger
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-09 Peter Kasting <zerodpx@gmail.com>
mrowe@apple.com [Fri, 9 Nov 2007 12:51:03 +0000 (12:51 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Initialize WindowFeatures struct before using it.
sfalken [Fri, 9 Nov 2007 09:01:56 +0000 (09:01 +0000)]
    Initialize WindowFeatures struct before using it.

        Reviewed by Oliver.

        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27641 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Adam.
kmccullo [Fri, 9 Nov 2007 08:29:20 +0000 (08:29 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27640 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Adam.
kmccullo [Fri, 9 Nov 2007 08:26:05 +0000 (08:26 +0000)]
    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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Timothy Hatcher <timothy@apple.com>
mrowe@apple.com [Fri, 9 Nov 2007 07:06:33 +0000 (07:06 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27638 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago - fix build
darin@apple.com [Fri, 9 Nov 2007 05:57:46 +0000 (05:57 +0000)]
    - fix build

        * kjs/grammar.y:
        * kjs/nodes.h:
        * kjs/property_map.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27637 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago - roll out accidentally-checked in changes
darin@apple.com [Fri, 9 Nov 2007 05:56:30 +0000 (05:56 +0000)]
    - roll out accidentally-checked in changes

        * kjs/nodes.cpp: Back to previous version.
        * kjs/nodes.h: Ditto.
        * kjs/grammar.y: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27636 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago - roll out accidentally-checked in changes
darin@apple.com [Fri, 9 Nov 2007 05:55:22 +0000 (05:55 +0000)]
    - roll out accidentally-checked in changes

        * kjs/nodes.cpp: Back to previous version.
        * kjs/nodes.h: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Maciej.
darin@apple.com [Fri, 9 Nov 2007 05:51:13 +0000 (05:51 +0000)]
    Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=15912
          fasta spends a lot of time in qsort

        * 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27634 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Maciej.
darin@apple.com [Fri, 9 Nov 2007 05:50:19 +0000 (05:50 +0000)]
    Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=15906
          getting characters by indexing into a string is very slow

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Oliver.
darin@apple.com [Fri, 9 Nov 2007 05:48:49 +0000 (05:48 +0000)]
    Reviewed by Oliver.

        - http://bugs.webkit.org/show_bug.cgi?id=15904
          more speed-ups possible by tightening up int version of JSImmediate

        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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27632 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoAdding Bakefiles for JSCore, WebCore, and WebKit, and adding wxWebKit implementation.
kevino@webkit.org [Fri, 9 Nov 2007 05:38:39 +0000 (05:38 +0000)]
Adding Bakefiles for JSCore, WebCore, and WebKit, and adding wxWebKit implementation.

Reviewed by Mark Rowe

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27631 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix regression caused by earlier bitwise and optimisation. 1 & undefined != 1.
oliver [Fri, 9 Nov 2007 04:32:55 +0000 (04:32 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27630 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Justin Haygood <jhaygood@reaktix.com>
mrowe@apple.com [Fri, 9 Nov 2007 03:13:19 +0000 (03:13 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27629 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoBump versions for submit
sfalken [Fri, 9 Nov 2007 02:03:40 +0000 (02:03 +0000)]
Bump versions for submit

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27628 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoVersioning.
mrowe@apple.com [Fri, 9 Nov 2007 01:48:46 +0000 (01:48 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27627 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix typo in ChangeLog.
sfalken [Fri, 9 Nov 2007 01:39:16 +0000 (01:39 +0000)]
Fix typo in ChangeLog.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27626 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago <rdar://problem/5491463> Wrong dates shown in History menu.
sfalken [Fri, 9 Nov 2007 01:32:49 +0000 (01:32 +0000)]
    <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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27625 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Alp Toker <alp@atoker.com>
alp@webkit.org [Fri, 9 Nov 2007 01:13:28 +0000 (01:13 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27624 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago - fix build
darin@apple.com [Fri, 9 Nov 2007 01:04:54 +0000 (01:04 +0000)]
    - fix build

        * kjs/nodes.h: Add missing parameter name.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27623 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Eric Seidel <eric@webkit.org>
eseidel [Fri, 9 Nov 2007 00:43:52 +0000 (00:43 +0000)]
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::):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoCorrect ChangeLogs to reflect that the speedup was 1% not .5%. Turns out you are...
weinig@apple.com [Fri, 9 Nov 2007 00:09:48 +0000 (00:09 +0000)]
Correct ChangeLogs to reflect that the speedup was 1% not .5%.  Turns out you are not supposed to test in Debug builds.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27621 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFixed bug title in old check-in.
ggaren@apple.com [Thu, 8 Nov 2007 23:51:44 +0000 (23:51 +0000)]
Fixed bug title in old check-in.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27620 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago <rdar://problem/5524082> Allow images to be dragged out directly into other...
sfalken [Thu, 8 Nov 2007 23:49:56 +0000 (23:49 +0000)]
    <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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27619 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Xan Lopez <xan@gnome.org>
alp@webkit.org [Thu, 8 Nov 2007 23:31:16 +0000 (23:31 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27618 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
mitz@apple.com [Thu, 8 Nov 2007 22:59:42 +0000 (22:59 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27617 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
kmccullo [Thu, 8 Nov 2007 22:26:29 +0000 (22:26 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27616 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoAdd a fast path for bitwise-and of two immediate numbers for a 0.7% improvement in...
oliver [Thu, 8 Nov 2007 22:23:39 +0000 (22:23 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27615 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Stop using KJS inside of MathExtras.h
aroben@apple.com [Thu, 8 Nov 2007 21:49:20 +0000 (21:49 +0000)]
     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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27614 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Reviewed by Sam.
kmccullo [Thu, 8 Nov 2007 21:45:18 +0000 (21:45 +0000)]
    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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27613 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
kmccullo [Thu, 8 Nov 2007 21:43:31 +0000 (21:43 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27612 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Hopeful Windows build fix
aroben@apple.com [Thu, 8 Nov 2007 21:27:13 +0000 (21:27 +0000)]
    Hopeful Windows build fix

        * rendering/RenderObject.cpp: Touch this file to make it recompile.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27611 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Windows build fix.
weinig@apple.com [Thu, 8 Nov 2007 21:26:49 +0000 (21:26 +0000)]
    Windows build fix.

        * kjs/date_object.cpp:
        (KJS::DateProtoFuncToLocaleString::callAsFunction): Fix unused arg warning.
        (KJS::DateProtoFuncToLocaleDateString::callAsFunction): ditto
        (KJS::DateProtoFuncToLocaleTimeString::callAsFunction): ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27610 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Thu, 8 Nov 2007 21:03:13 +0000 (21:03 +0000)]
2007-11-08  Mark Rowe  <mrowe@apple.com>

        Gtk build fix.

        * kjs/lookup.h: Add missing include.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27609 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoJavaScriptCore:
weinig@apple.com [Thu, 8 Nov 2007 20:31:26 +0000 (20:31 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27608 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Windows build fix
aroben@apple.com [Thu, 8 Nov 2007 20:22:38 +0000 (20:22 +0000)]
    Windows build fix

        Reviewed by Sam and Ada.

        * wtf/MathExtras.h: Get rid of a circular #include dependency to fix
        the build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27607 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago Fix a precedence warning on Windows
aroben@apple.com [Thu, 8 Nov 2007 19:58:20 +0000 (19:58 +0000)]
    Fix a precedence warning on Windows

        * kjs/JSImmediate.h:
        (KJS::JSImmediate::toBoolean):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27606 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Thu, 8 Nov 2007 19:49:23 +0000 (19:49 +0000)]
2007-11-08  Mark Rowe  <mrowe@apple.com>

        Build fix for JavaScriptGlue.

        * wtf/MathExtras.h: Include stdlib.h for srand and RAND_MAX.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27605 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Thu, 8 Nov 2007 19:45:49 +0000 (19:45 +0000)]
2007-11-08  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27604 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago - Windows build fix
darin@apple.com [Thu, 8 Nov 2007 19:38:49 +0000 (19:38 +0000)]
    - Windows build fix

        * kjs/JSImmediate.h: Include MathExtras.h rather than math.h since this file uses "signbit".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoReplace the use of floats for immediate values with the use of integers for a 4.5...
oliver [Thu, 8 Nov 2007 18:27:21 +0000 (18:27 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27602 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Thu, 8 Nov 2007 17:18:22 +0000 (17:18 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Thu, 8 Nov 2007 16:50:03 +0000 (16:50 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27600 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
darin@apple.com [Thu, 8 Nov 2007 15:42:46 +0000 (15:42 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27599 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoWebCore:
darin@apple.com [Thu, 8 Nov 2007 15:40:40 +0000 (15:40 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27598 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years ago2007-11-08 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Thu, 8 Nov 2007 15:12:14 +0000 (15:12 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoBuild fix for Qt 4.3.
hausmann [Thu, 8 Nov 2007 14:18:55 +0000 (14:18 +0000)]
Build fix for Qt 4.3.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27596 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoRemove some warnings about not implemented methods.
hausmann [Thu, 8 Nov 2007 08:20:46 +0000 (08:20 +0000)]
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>
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27595 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoCleanup checking for the request method.
hausmann [Thu, 8 Nov 2007 08:20:40 +0000 (08:20 +0000)]
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>
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27594 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoImplement WebCore::callOnMainThread
hausmann [Thu, 8 Nov 2007 08:20:33 +0000 (08:20 +0000)]
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>
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27593 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 years agoFix bug in the implementation of synchronous network jobs.
hausmann [Thu, 8 Nov 2007 08:20:27 +0000 (08:20 +0000)]
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>
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27592 268f45cc-cd09-0410-ab3c-d52691b4dbfc