WebKit-https.git
12 years ago - fix Tiger build (my fault it was broken)
darin@apple.com [Sun, 16 Dec 2007 20:14:25 +0000 (20:14 +0000)]
    - fix Tiger build (my fault it was broken)

        * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.

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

12 years agoWebCore:
darin@apple.com [Sun, 16 Dec 2007 19:26:02 +0000 (19:26 +0000)]
WebCore:

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=6129
        Incomplete implementation of CSS 2.1 system colors

        Test: fast/css/css2-system-color.html

        Based on original patch by Rob Buis.

        System colors are retrieved from NSColor as appropriate. If the color is a pattern color
        (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
        color and sample that to get a solid color.

        * css/CSSStyleSelector.cpp:
        (WebCore::):
        (WebCore::colorForCSSValue):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::systemColor):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::getSystemColor):
        (WebCore::RenderThemeMac::platformColorsDidChange):
        (WebCore::RenderThemeMac::systemColor):

LayoutTests:

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=6129
        Incomplete implementation of CSS 2.1 system colors

        Add layout test for this bug and update tests for new system-derived colors

        * fast/css/css2-system-color.html: Added.
        * platform/mac/fast/css/css2-system-color-expected.checksum: Added.
        * platform/mac/fast/css/css2-system-color-expected.png: Added.
        * platform/mac/fast/css/css2-system-color-expected.txt: Added.
        * platform/mac/fast/css/css2-system-fonts-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug103533-expected.txt:

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

12 years agoWebCore:
mitz@apple.com [Sun, 16 Dec 2007 18:40:02 +0000 (18:40 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - fix http://bugs.webkit.org/show_bug.cgi?id=16426
          Divs with overflow:auto: scrollbars not correctly updated when contents change

        Test: fast/overflow/scrollbar-position-update.html

        * platform/mac/PlatformScrollBarMac.mm:
        (WebCore::PlatformScrollbar::updateThumbProportion): Update the
        NSScroller's value for the new proportions.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
        repaint(). Scrollbars repaint themselves as needed.

LayoutTests:

        Reviewed by Darin Adler.

        - test for http://bugs.webkit.org/show_bug.cgi?id=16426
          Divs with overflow:auto: scrollbars not correctly updated when contents change

        * fast/overflow/scrollbar-position-update.html: Added.
        * platform/mac-leopard/fast/overflow: Added.
        * platform/mac-leopard/fast/overflow/scrollbar-position-update-expected.checksum: Added.
        * platform/mac-leopard/fast/overflow/scrollbar-position-update-expected.png: Added.
        * platform/mac/fast/overflow/scrollbar-position-update-expected.txt: Added.

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

12 years ago - try to fix the build
darin@apple.com [Sun, 16 Dec 2007 18:13:32 +0000 (18:13 +0000)]
    - try to fix the build

        * WebView.cpp:
        (wxWebView::OnKeyEvents): Add a WebCore prefix.

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

12 years ago Reviewed by Darin.
ap@webkit.org [Sun, 16 Dec 2007 17:37:42 +0000 (17:37 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=14140
        <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly

WebCore:
        * dom/KeyboardEvent.h:
        (WebCore::KeypressCommand::KeypressCommand):
        (WebCore::KeyboardEvent::keypressCommands):
        Change stored command class to preserve complete information about commands.

        * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
        command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
        as a command.

        * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
        a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.

WebKit:
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
        when handling keypress, too.
        (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
        (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
        restore the state for additional commands to be saved correctly.

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

12 years ago Reviewed by Darin.
ap@webkit.org [Sun, 16 Dec 2007 17:31:35 +0000 (17:31 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=16162
        Problems with float parsing on Linux (locale-dependent parsing was used).

        * kjs/dtoa.cpp: Removed USE_LOCALE to reduce future confusion.
        * kjs/lexer.cpp: (KJS::Lexer::lex): Parse with kjs_strtod, not the system one.

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

12 years ago Reviewed by Darin.
ap@webkit.org [Sun, 16 Dec 2007 16:16:17 +0000 (16:16 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=16462
        REGRESSION: access keys broken on Windows

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

12 years ago2007-12-16 Xan Lopez <xan@gnome.org>
alp@webkit.org [Sun, 16 Dec 2007 13:20:11 +0000 (13:20 +0000)]
2007-12-16  Xan Lopez  <xan@gnome.org>

        Reviewed by Alexey Proskuryakov.

        http://bugs.webkit.org/show_bug.cgi?id=16454
        [GTK] Text input doesn't work consistently on PPC

        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::singleCharacterString):

        UChar is 2 bytes (UTF-16), so transform accordingly from
        gunichar (UCS-4). Fixes keyboard input on big endian systems.

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

12 years ago Reviewed by Mark Rowe.
weinig@apple.com [Sun, 16 Dec 2007 06:57:04 +0000 (06:57 +0000)]
    Reviewed by Mark Rowe.

        Fix urlSuitableForTestResult to correctly identify wstring::npos as
        the case when wstring.find doesn't find anything.

        * DumpRenderTree/win/DumpRenderTree.cpp:
        (urlSuitableForTestResult):

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

12 years ago Reviewed by Mark Rowe.
darin@apple.com [Sun, 16 Dec 2007 02:00:09 +0000 (02:00 +0000)]
    Reviewed by Mark Rowe.

        - better build fix for the problem affecting GTK and some other platforms
          "this time for sure"

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
        * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
        which won't work, declare the tables that are in the .lut.h file in the header.

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

12 years agoFixed the Wx port's FontPlatformData for use in HashTable.
kevino@webkit.org [Sun, 16 Dec 2007 01:54:59 +0000 (01:54 +0000)]
Fixed the Wx port's FontPlatformData for use in HashTable.

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

12 years ago Reviewed by Darin Adler.
mitz@apple.com [Sun, 16 Dec 2007 01:33:57 +0000 (01:33 +0000)]
    Reviewed by Darin Adler.

        - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::metaFileEnumProc): Added. Called during metafile record
        enumeration and extracts the font from the create font record.
        (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
        let Uniscribe draw the characters and see what font it chooses.

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

12 years ago * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
darin@apple.com [Sun, 16 Dec 2007 01:31:37 +0000 (01:31 +0000)]
    * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.

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

12 years ago Disabled the smallFonts.svg test, which has been failing for weeks. I heard...
darin@apple.com [Sun, 16 Dec 2007 01:30:17 +0000 (01:30 +0000)]
    Disabled the smallFonts.svg test, which has been failing for weeks. I heard that Niko
        is going to fix this soon. He should rename it back at that time.

        Removed the svn:executable flag from many .svg, .png, and .css files that had it set
        for no good reason.

        * svg/batik/text/smallFonts.svg: Removed.
        * svg/batik/text/smallFonts.svg-disabled: Copied from svg/batik/text/smallFonts.svg.

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

12 years ago Another try at a GTK build fix.
darin@apple.com [Sun, 16 Dec 2007 01:11:22 +0000 (01:11 +0000)]
    Another try at a GTK build fix.

        * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.

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

12 years ago Force windows to regenerate COM DOM bindings.
weinig@apple.com [Sun, 16 Dec 2007 00:07:31 +0000 (00:07 +0000)]
    Force windows to regenerate COM DOM bindings.

        * WebCore.vcproj/build-generated-files.sh: Add license.
        * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.

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

12 years ago Fix Windows and wx builds.
weinig@apple.com [Sat, 15 Dec 2007 23:32:57 +0000 (23:32 +0000)]
    Fix Windows and wx builds.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCoreSources.bkl:

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

12 years agoGtk build fix. Add JSEventTargetBase.cpp to SOURCES.
mrowe@apple.com [Sat, 15 Dec 2007 23:31:23 +0000 (23:31 +0000)]
Gtk build fix.  Add JSEventTargetBase.cpp to SOURCES.

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

12 years ago Fix wx build.
weinig@apple.com [Sat, 15 Dec 2007 23:24:22 +0000 (23:24 +0000)]
    Fix wx build.

        * WebCoreSources.bkl:

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

12 years agoNot reviewed. Build fix for Qt/Gtk.
zimmermann@webkit.org [Sat, 15 Dec 2007 23:23:35 +0000 (23:23 +0000)]
Not reviewed. Build fix for Qt/Gtk.

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

12 years agoReviewed by Eric.
zimmermann@webkit.org [Sat, 15 Dec 2007 22:48:55 +0000 (22:48 +0000)]
Reviewed by Eric.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)

Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
in the base class. Applied the same refactorization to EventTargetNode.

This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
to share as much code as possible with the EventTargetNode classes.

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

12 years ago2007-12-15 Eric Seidel <eric@webkit.org>
eric@webkit.org [Sat, 15 Dec 2007 20:03:38 +0000 (20:03 +0000)]
2007-12-15  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver.

        Width of SVG elements not applied to container elements
        http://bugs.webkit.org/show_bug.cgi?id=16305
        Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
        This is caused by poor factoring in the render tree.  RenderContainer probably should be a template.

        svg/css/css-box-min-width.html

        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::calcPrefWidths): Added.
        * rendering/RenderSVGRoot.h:
        * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds

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

12 years ago Fix comment after isSafeScript() was renamed to allowsAccessFrom().
ddkilzer@apple.com [Sat, 15 Dec 2007 14:46:15 +0000 (14:46 +0000)]
    Fix comment after isSafeScript() was renamed to allowsAccessFrom().

        * bindings/js/kjs_window.cpp:
        (KJS::createWindow):

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

12 years ago2007-12-15 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 15 Dec 2007 14:13:15 +0000 (14:13 +0000)]
2007-12-15  Alp Toker  <alp@atoker.com>

        GTK+ DRT build fix for GLib < 2.14.

        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
        (LayoutTestController::setWaitToDump):

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

12 years ago2007-12-15 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 15 Dec 2007 13:40:20 +0000 (13:40 +0000)]
2007-12-15  Alp Toker  <alp@atoker.com>

        http://bugs.webkit.org/show_bug.cgi?id=16449
        cairo_arc() functions hang or crash when passed inf as radius or start/end angle

        Fixed in r28751. Remove these tests from the skip list:
          fast/canvas/arc-crash.html
          fast/canvas/canvas-with-incorrect-args.html

        * platform/gtk/Skipped:

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

12 years ago2007-12-15 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 15 Dec 2007 13:12:34 +0000 (13:12 +0000)]
2007-12-15  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=16449
        cairo_arc() functions hang or crash when passed inf as radius or start/end angle

        Add checks. This matches a similar workaround for a CG bug in the CG
        graphics backend: <rdar://problem/5189233>

        Fixes:
          fast/canvas/arc-crash.html
          fast/canvas/canvas-with-incorrect-args.html

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::addArc):

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

12 years agoAdd a watchdog timer to Gtk DumpRenderTree, and implement alert/prompt/confirm.
mrowe@apple.com [Sat, 15 Dec 2007 12:39:48 +0000 (12:39 +0000)]
Add a watchdog timer to Gtk DumpRenderTree, and implement alert/prompt/confirm.
This prevents many layout tests from hanging while waiting on user responses to dialogs.

Reviewed by Alp Toker.

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

12 years agoAdd a skeleton Gtk skipped list containing only tests that hang run-webkit-tests.
mrowe@apple.com [Sat, 15 Dec 2007 12:39:14 +0000 (12:39 +0000)]
Add a skeleton Gtk skipped list containing only tests that hang run-webkit-tests.

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

12 years agoFlesh out DumpRenderTree for Gtk. After these changes, the majority of the tests...
mrowe@apple.com [Sat, 15 Dec 2007 11:00:11 +0000 (11:00 +0000)]
Flesh out DumpRenderTree for Gtk.  After these changes, the majority of the tests in fast/js pass.

Reviewed by Alp Toker.

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

12 years agoCorrect a mistake in ChangeLog.
ap@webkit.org [Sat, 15 Dec 2007 09:30:33 +0000 (09:30 +0000)]
Correct a mistake in ChangeLog.

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

12 years ago Reviewed by Maciej.
ap@webkit.org [Sat, 15 Dec 2007 09:07:58 +0000 (09:07 +0000)]
    Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=16436
        Alt+Space works incorrectly

        Test: platform/win/fast/events/alt-space-scroll.html

        * WebView.cpp:
        (WebView::keyDown):
        (WebView::keyPress):
        We do not handle WM_SYSCHAR events.

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

12 years ago Reviewed by Darin.
ap@webkit.org [Sat, 15 Dec 2007 09:03:52 +0000 (09:03 +0000)]
    Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=16078
        Google Maps zooming via the scroll wheel (almost) always zooms IN only.

        * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
        Ensure that delta is never rounded down to zero - we are getting values less than 1 from
        many mice on OS X, and Google Maps code assumes scrolling down if event.wheelDelta is zero.

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

12 years ago2007-12-14 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 15 Dec 2007 06:24:09 +0000 (06:24 +0000)]
2007-12-14  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Enable the AllInOneFile.cpp optimization for the GTK+ port.

        * JavaScriptCore.pri:

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

12 years agoRemove commented out fprintf's that were for debugging purposes only.
mrowe@apple.com [Sat, 15 Dec 2007 04:35:07 +0000 (04:35 +0000)]
Remove commented out fprintf's that were for debugging purposes only.

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

12 years agoDon't use the MADV_DONTNEED code path for now as it has no effect on Mac OS X and...
mrowe@apple.com [Sat, 15 Dec 2007 04:31:39 +0000 (04:31 +0000)]
Don't use the MADV_DONTNEED code path for now as it has no effect on Mac OS X and is currently untested on other platforms.

Reviewed by Maciej Stachowiak.

* wtf/TCSystemAlloc.cpp:
(TCMalloc_SystemRelease): Return after releasing memory rather than potentially falling
through into another mechanism if multiple are supported.

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

12 years ago2007-12-14 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 15 Dec 2007 04:21:40 +0000 (04:21 +0000)]
2007-12-14  Alp Toker  <alp@atoker.com>

        Build fix for GTK+/Qt and ports that don't use AllInOneFile.cpp.

        Include UnusedParam.h.

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

12 years agoFix build on windows
oliver@apple.com [Sat, 15 Dec 2007 03:53:52 +0000 (03:53 +0000)]
Fix build on windows

Reviewd by Stephanie

* wtf/FastMalloc.cpp:
(WTF::TCMalloc_PageHeap::IncrementalScavenge):

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

12 years ago - Windows build fix
mitz@apple.com [Sat, 15 Dec 2007 03:26:35 +0000 (03:26 +0000)]
    - Windows build fix

        * WebCore.vcproj/WebCore.vcproj:

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

12 years ago - yet another build fix
mitz@apple.com [Sat, 15 Dec 2007 03:02:14 +0000 (03:02 +0000)]
    - yet another build fix

        * DOMHTMLClasses.cpp:
        (DOMHTMLDocument::URL):

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

12 years ago2007-12-14 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 15 Dec 2007 03:00:45 +0000 (03:00 +0000)]
2007-12-14  Alp Toker  <alp@atoker.com>

        Fix inconsistent indentation in the license header. Maciej was right!

        * WebCoreSupport/FrameLoaderClientGtk.cpp:

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

12 years ago2007-12-14 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 15 Dec 2007 02:51:01 +0000 (02:51 +0000)]
2007-12-14  Alp Toker  <alp@atoker.com>

        GTK+/Qt build fix. Track added files in r28722.

        * WebCore.pro:

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

12 years ago <rdar://problem/5647272> Remove user agent string hack for flickr.com
ddkilzer@apple.com [Sat, 15 Dec 2007 02:16:20 +0000 (02:16 +0000)]
    <rdar://problem/5647272> Remove user agent string hack for flickr.com

        Reviewed by Darin.

        * WebView/WebView.mm:
        (-[WebView _userAgentForURL:]): Removed hack.

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

12 years ago <rdar://problem/5647261> Remove user agent string hack for yahoo.com
ddkilzer@apple.com [Sat, 15 Dec 2007 02:15:06 +0000 (02:15 +0000)]
    <rdar://problem/5647261> Remove user agent string hack for yahoo.com

        Reviewed by Darin.

        * WebView/WebView.mm:
        (-[WebView _userAgentForURL:]): Removed hack.

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

12 years ago - try again to fix the Windows build
mitz@apple.com [Sat, 15 Dec 2007 02:09:16 +0000 (02:09 +0000)]
    - try again to fix the Windows build

        * wtf/TCSystemAlloc.cpp:
        (TCMalloc_SystemRelease):

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

12 years ago - try to fix the Windows build
mitz@apple.com [Sat, 15 Dec 2007 02:00:08 +0000 (02:00 +0000)]
    - try to fix the Windows build

        * wtf/TCSystemAlloc.cpp:
        (TCMalloc_SystemRelease):

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

12 years ago - build fix
mitz@apple.com [Sat, 15 Dec 2007 01:35:30 +0000 (01:35 +0000)]
    - build fix

        * WebIconDatabase.h:

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

12 years agoFix ChangeLog
weinig@apple.com [Sat, 15 Dec 2007 01:19:19 +0000 (01:19 +0000)]
Fix ChangeLog

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

12 years ago Reviewed by Geoff.
weinig@apple.com [Sat, 15 Dec 2007 01:17:50 +0000 (01:17 +0000)]
    Reviewed by Geoff.

        Speed up getElementByClassName.
        - This makes getElementByClassName take 33% faster on the stress test
          linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.

        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.

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

12 years ago2007-12-14 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 15 Dec 2007 01:03:59 +0000 (01:03 +0000)]
2007-12-14  Alp Toker  <alp@atoker.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=16432
        [GTK] Update license headers

        Consent has been given by the authors of these files to change license
        to the LGPL as outlined in the bug report.

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

12 years agoAdd logic for TCMalloc to release memory to the system
oliver@apple.com [Sat, 15 Dec 2007 00:25:45 +0000 (00:25 +0000)]
Add logic for TCMalloc to release memory to the system

Reviewed by Maciej and Oliver.

Add final changes to make TCMalloc release memory to the system.
This results in a 0.4% regression against ToT, but this is offset
against the gains made by the original TCMalloc r38 merge - in fact
we retain around 0.3-0.4% progression overall.

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

12 years ago Reviewed by Adele.
darin@apple.com [Fri, 14 Dec 2007 23:42:32 +0000 (23:42 +0000)]
    Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=16442
          navigation policy delegate gets called twice for each load

        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
        That's handled by FrameLoader.

        * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
        and continueAfterNavigationPolicy.

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

12 years ago Reviewed by Adele.
darin@apple.com [Fri, 14 Dec 2007 23:41:16 +0000 (23:41 +0000)]
    Reviewed by Adele.

        - http://bugs.webkit.org/show_bug.cgi?id=16443
          implement some missing Windows WebKit functions

        * DOMHTMLClasses.cpp:
        (DOMHTMLDocument::URL): Implemented.

        * WebActionPropertyBag.cpp:
        (WebActionPropertyBag::Read): Fixed the WebActionElementKey case.

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

12 years ago - share the results of this test between Tiger and Leopard
mitz@apple.com [Fri, 14 Dec 2007 23:06:44 +0000 (23:06 +0000)]
    - share the results of this test between Tiger and Leopard

        * platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt: Removed.
        * platform/mac/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt: Copied from LayoutTests/platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt.

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

12 years agoWebCore:
andersca@apple.com [Fri, 14 Dec 2007 22:06:50 +0000 (22:06 +0000)]
WebCore:

        Reviewed by Brady.

        Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
        return nil in that case.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didExplicitOpen):

WebKitTools:

        Reviewed by Brady.

        Assert that a web frame that's loading a resource always has either a data source or
        a provisional data source.

        * DumpRenderTree/mac/ResourceLoadDelegate.mm:
        (-[ResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):

LayoutTests:

        Reviewed by Brady.

        Add test that calls window.open and then immediately writes into the document
        of the newly opened window.

        * http/tests/misc/resources/compass.jpg: Added.
        * http/tests/misc/window-open-then-write-expected.txt: Added.
        * http/tests/misc/window-open-then-write.html: Added.
        * platform/win/Skipped:

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

12 years agoWebCore:
weinig@apple.com [Fri, 14 Dec 2007 21:48:20 +0000 (21:48 +0000)]
WebCore:

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14955
          Implement getElementsByClassName.

        This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
        and takes advantage of admitting that it's class-specific to encapsulate class attribute
        parsing so it can be shared.  It also changes the class to use a Vector, rather than a linked
        list to store the class names.

        Tests: fast/dom/getElementsByClassName/001.html
               fast/dom/getElementsByClassName/002.html
               fast/dom/getElementsByClassName/003.html
               fast/dom/getElementsByClassName/004.html
               fast/dom/getElementsByClassName/005.html
               fast/dom/getElementsByClassName/006.html
               fast/dom/getElementsByClassName/007.html
               fast/dom/getElementsByClassName/008.html
               fast/dom/getElementsByClassName/009.html
               fast/dom/getElementsByClassName/010.xml
               fast/dom/getElementsByClassName/011.xml
               fast/dom/getElementsByClassName/012.html
               fast/dom/getElementsByClassName/013.html
               fast/dom/getElementsByClassName/014.html
               fast/dom/getElementsByClassName/array/001.html
               fast/dom/getElementsByClassName/array/002.html
               fast/dom/getElementsByClassName/array/003.html
               fast/dom/getElementsByClassName/array/004.html
               fast/dom/getElementsByClassName/dumpNodeList.html

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::checkOneSelector):
        * dom/AtomicStringList.h: Removed.
        * dom/ClassNames.cpp: Added.
        (WebCore::ClassNames::contains):
        (WebCore::ClassNames::parseClassAttribute):
        * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
        (WebCore::ClassNames::ClassNames):
        (WebCore::ClassNames::size):
        (WebCore::ClassNames::clear):
        (WebCore::ClassNames::operator[]):
        (WebCore::isClassWhitespace):
        * dom/ClassNodeList.cpp: Added.
        (WebCore::ClassNodeList::ClassNodeList):
        (WebCore::ClassNodeList::length):
        (WebCore::ClassNodeList::item):
        (WebCore::ClassNodeList::nodeMatches):
        * dom/ClassNodeList.h: Added.
        * dom/Document.cpp:
        (WebCore::Document::getElementsByName):
        (WebCore::Document::getElementsByClassName):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/Element.cpp:
        (WebCore::Element::getClassNames):
        (WebCore::Element::getElementsByClassName):
        * dom/Element.h:
        * dom/Element.idl:
        * dom/NameNodeList.cpp:
        (WebCore::NameNodeList::NameNodeList):
        (WebCore::NameNodeList::item):
        (WebCore::NameNodeList::nodeMatches):
        * dom/NameNodeList.h:
        * dom/NamedMappedAttrMap.cpp:
        (WebCore::NamedMappedAttrMap::clearAttributes):
        (WebCore::NamedMappedAttrMap::parseClassAttribute):
        * dom/NamedMappedAttrMap.h:
        (WebCore::NamedMappedAttrMap::getClassNames):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::getClassNames):
        * dom/StyledElement.h:

LayoutTests:

        Reviewed by Mitz.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14955
          Implement getElementsByClassName

        Tests added from http://tc.labs.opera.com/apis/getElementsByClassName/

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/getElementsByClassName: Added.
        * fast/dom/getElementsByClassName/001-expected.txt: Added.
        * fast/dom/getElementsByClassName/001.html: Added.
        * fast/dom/getElementsByClassName/002-expected.txt: Added.
        * fast/dom/getElementsByClassName/002.html: Added.
        * fast/dom/getElementsByClassName/003-expected.txt: Added.
        * fast/dom/getElementsByClassName/003.html: Added.
        * fast/dom/getElementsByClassName/004-expected.txt: Added.
        * fast/dom/getElementsByClassName/004.html: Added.
        * fast/dom/getElementsByClassName/005-expected.txt: Added.
        * fast/dom/getElementsByClassName/005.html: Added.
        * fast/dom/getElementsByClassName/006-expected.txt: Added.
        * fast/dom/getElementsByClassName/006.html: Added.
        * fast/dom/getElementsByClassName/007-expected.txt: Added.
        * fast/dom/getElementsByClassName/007.html: Added.
        * fast/dom/getElementsByClassName/008-expected.txt: Added.
        * fast/dom/getElementsByClassName/008.html: Added.
        * fast/dom/getElementsByClassName/009-expected.txt: Added.
        * fast/dom/getElementsByClassName/009.html: Added.
        * fast/dom/getElementsByClassName/010-expected.txt: Added.
        * fast/dom/getElementsByClassName/010.xml: Added.
        * fast/dom/getElementsByClassName/011-expected.txt: Added.
        * fast/dom/getElementsByClassName/011.xml: Added.
        * fast/dom/getElementsByClassName/012-expected.txt: Added.
        * fast/dom/getElementsByClassName/012.html: Added.
        * fast/dom/getElementsByClassName/013-expected.txt: Added.
        * fast/dom/getElementsByClassName/013.html: Added.
        * fast/dom/getElementsByClassName/014-expected.txt: Added.
        * fast/dom/getElementsByClassName/014.html: Added.
        * fast/dom/getElementsByClassName/array: Added.
        * fast/dom/getElementsByClassName/array/001-expected.txt: Added.
        * fast/dom/getElementsByClassName/array/001.html: Added.
        * fast/dom/getElementsByClassName/array/002-expected.txt: Added.
        * fast/dom/getElementsByClassName/array/002.html: Added.
        * fast/dom/getElementsByClassName/array/003-expected.txt: Added.
        * fast/dom/getElementsByClassName/array/003.html: Added.
        * fast/dom/getElementsByClassName/array/004-expected.txt: Added.
        * fast/dom/getElementsByClassName/array/004.html: Added.
        * fast/dom/getElementsByClassName/dumpNodeList-expected.txt: Added.
        * fast/dom/getElementsByClassName/dumpNodeList.html: Added.
        * fast/dom/getElementsByClassName/resources: Added.
        * fast/dom/getElementsByClassName/resources/common.js: Added.

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

12 years agoJavaScriptCore:
darin@apple.com [Fri, 14 Dec 2007 20:50:30 +0000 (20:50 +0000)]
JavaScriptCore:

        Reviewed by Sam.

        - removed unnecessary includes of "Vector.h"

        * wtf/HashMap.h:
        (WTF::copyKeysToVector): Make the type of the vector be a template parameter.
        This allows copying keys into a vector of a base class or one with an inline capacity.
        (WTF::copyValuesToVector): Ditto.
        * wtf/HashSet.h:
        (WTF::copyToVector): Ditto.

WebCore:

        Reviewed by Sam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=16351
          FontFallbackList.h doesn't include wtf/PassRefPtr.h

        * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
        * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.

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

12 years ago - fix mistake causing nearly all tests to fail on Windows
darin@apple.com [Fri, 14 Dec 2007 20:42:24 +0000 (20:42 +0000)]
    - fix mistake causing nearly all tests to fail on Windows

        * DumpRenderTree/win/UIDelegate.cpp:
        (UIDelegate::webViewAddMessageToConsole): Need to compare the result of find with
        npos, not 0. Also pass URL in to URL function rather than passing the entire message.

        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webView:addMessageToConsole:]): Pass path only to path function rather
        than passing the entire message.

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

12 years ago - fix Tiger build
darin@apple.com [Fri, 14 Dec 2007 20:34:49 +0000 (20:34 +0000)]
    - fix Tiger build

        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webView:addMessageToConsole:]): Re-implement this without using any
        new-to-Leopard methods.

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

12 years agoWebKit/mac:
darin@apple.com [Fri, 14 Dec 2007 20:25:33 +0000 (20:25 +0000)]
WebKit/mac:

        Reviewed by Brady.

        - fix http://bugs.webkit.org/show_bug.cgi?id=16296
          <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called

        * WebView/WebView.mm:
        (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
        a didReceiveIcon method is present.

WebKitTools:

        * DumpRenderTree/mac/FrameLoadDelegate.mm: Don't implement didReceiveIcon delegate method
        since it now triggers unwanted icon loading. We only had it because we implemented "all"
        delegate methods here.

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

12 years agoWebCore:
darin@apple.com [Fri, 14 Dec 2007 20:03:16 +0000 (20:03 +0000)]
WebCore:

        Reviewed by Alexey.

        - http://bugs.webkit.org/show_bug.cgi?id=16420
          change regression tests to use document.execCommand instead of textInputController.doCommand

        Add a few more operations to document.execCommand.

        Finished up the transition to the new Editor::Command, including removing
        the Editor::execCommand function.

        * WebCore.base.exp: Added Editor::Command::isSupported.
        * editing/Editor.h: Removed execCommand.
        * editing/EditorCommand.cpp:
        (WebCore::expandSelectionToGranularity): Added.
        (WebCore::verticalScrollDistance): Added; replaces canScroll.
        (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
        (WebCore::executeDeleteForward): Ditto.
        (WebCore::executeDeleteToBeginningOfLine): Ditto.
        (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
        (WebCore::executeDeleteToEndOfLine): Ditto.
        (WebCore::executeDeleteToEndOfParagraph): Ditto.
        (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
        Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
        removing the explicit scrolling, and letting it be done automatically by code that makes
        the caret visible. In some cases the old code would scroll twice which was harmless but
        unnecessary.
        (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
        (WebCore::executeMovePageUp): See MovePageDown above.
        (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
        (WebCore::executeSelectLine): Ditto.
        (WebCore::executeSelectParagraph): Ditto.
        (WebCore::executeSelectSentence): Ditto.
        (WebCore::executeSelectWord): Ditto.
        (WebCore::executeSwapWithMark): Some small tweaks.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
        instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
        bit more, but I didn't do that this time.

        - Removed some obsolete unused code.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
        NSTextView. This was left over from when we used NSTextField and NSTextView for form
        elements and is no longer used at all.

        * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
        of the bridge or another. We really need to find a time to tear down the rest of the
        bridge, but that's not this patch.

        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
        instead of using a method.
        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
        Took out obsolete comment about matching enums (we use a single enum now and have for some
        time).
        (-[WebCoreFrameBridge selectionGranularity]): Ditto.

WebKit:

        * StringsNotToBeLocalized.txt: Updated.

WebKit/gtk:

        Reviewed by Alexey.

        * WebCoreSupport/EditorClientGtk.cpp:
        (WebKit::EditorClient::handleKeyboardEvent): Changed to use Editor::command
        instead of Editor::execCommand.
        * WebView/webkitwebview.cpp: Ditto.

WebKit/mac:

        Reviewed by Alexey.

        - Changed a few more editing operations to use WebCore instead of WebKit.
        - Removed some obsolete unused code.

        * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
        defined and used on the WebKit side to here. These no longer belong on the bridge
        and should be moved to the WebFrame class (or elsewhere).
        * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.

        * WebView/WebFrameView.mm:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
        (-[WebHTMLViewPrivate clear]): Ditto.
        (-[WebHTMLView _setMouseDownEvent:]): Ditto.
        (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
        pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
        to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
        disambiguated with the word "Move"). Added deleteBackward:,
        deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
        deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
        pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
        selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
        forwarded to WebCore.
        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
        operations that we forward to WebCore. Instead, look up any command that WebCore can
        handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
        an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
        would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
        (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
        (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
        (-[WebHTMLView resignFirstResponder]): Ditto.
        (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.

        * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
        firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
        _willMakeFirstResponderForNodeFocus.

WebKit/qt:

        Reviewed by Alexey.

        * Api/qwebpage.cpp:
        (QWebPage::triggerAction): Removed some use of Editor member functions we plan
        to eventually eliminate. Switch from Editor::execCommand to Editor::command.
        * WebCoreSupport/EditorClientQt.cpp:
        (WebCore::EditorClientQt::handleKeyboardEvent): Ditto. Also updated name from
        MoveUpByPageAndModifyCaret to MovePageUp and from MoveDownByPageAndModifyCaret
        to MovePageDown.

WebKit/win:

        Reviewed by Alexey.

        * WebView.cpp:
        (WebView::execCommand): Switched from Editor::execCommand to Editor:command.
        Updated name from MoveUpByPageAndModifyCaret to MovePageUp and from
        MoveDownByPageAndModifyCaret to MovePageDown.
        (WebView::copy): Switched from Editor::execCommand to Editor:command.
        (WebView::cut): Ditto.
        (WebView::paste): Ditto.
        (WebView::delete_): Ditto.

WebKit/wx:

        Reviewed by Alexey.

        * WebKitSupport/EditorClientWx.cpp:
        (WebCore::EditorClientWx::handleKeyboardEvent): Switched from Editor::execCommand
        to Edtor::command.

LayoutTests:

        Reviewed by Alexey.

        - http://bugs.webkit.org/show_bug.cgi?id=16420
          change regression tests to use document.execCommand instead of textInputController.doCommand

        To avoid changing results at this time, I didn't correct the many tests that now have
        misleading "this test cannot be run manually" text or references to "NSResponder" or
        uneeded instructions for running the test manually. We can do that on a later pass.

        * editing/deleting/5300379.html: Use execCommand instead of doCommand.
        * editing/deleting/delete-to-end-of-paragraph.html: Ditto.
        * editing/deleting/smart-delete-003.html: Ditto.
        * editing/deleting/smart-delete-004.html: Ditto.
        * editing/execCommand/nsresponder-indent.html: Ditto.
        * editing/execCommand/nsresponder-outdent.html: Ditto.
        * editing/selection/4947387.html: Ditto.
        * editing/selection/5195166-1.html: Ditto.
        * editing/selection/5195166-2.html: Ditto.
        * editing/selection/select-line.html: Ditto.
        * editing/selection/selection-actions.html: Ditto.

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

12 years agoWebCore:
justin.garcia@apple.com [Fri, 14 Dec 2007 19:55:37 +0000 (19:55 +0000)]
WebCore:

        Reviewed by Darin Adler.

        <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
        * editing/CompositeEditCommand.h:
        * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
        * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
        it and listNode, if they exists, so that moving listChildNode doesn't put it out
        of order.  Added a test case to cover each change.
        * editing/SplitElementCommand.cpp:
        (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
        tries to split a container at a bogus child, and an early return to avoid a
        hang in that case.

LayoutTests:

        Reviewed by Darin Adler.

        <rdar://problem/5575101> Hang in SplitElementCommand::doApply when outdenting a list item in a particular list

        * editing/execCommand/5575101-1-expected.txt: Added.
        * editing/execCommand/5575101-1.html: Added.
        * editing/execCommand/5575101-2-expected.txt: Added.
        * editing/execCommand/5575101-2.html: Added.
        * editing/execCommand/5575101-3-expected.txt: Added.
        * editing/execCommand/5575101-3.html: Added.

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

12 years agoJavaScriptCore:
andersca@apple.com [Fri, 14 Dec 2007 19:47:16 +0000 (19:47 +0000)]
JavaScriptCore:

        Reviewed by Darin and Geoff.

        <rdar://problem/5619295>
        REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)

        Get rid of unnecessary and incorrect security checks for plug-ins accessing JavaScript objects.

        The way this used to work was that each NPObject that wrapped a JSObject would have a root object
        corresponding to the frame object (used for managing the lifecycle) and an origin root object (used for
        doing security checks).

        This would prevent a plug-in from accessing a frame's window object if it's security origin was different
        (some parts of the window, such as the location object, can be accessed from frames with different security
        origins, and those checks are being done in WebCore).

        Also, if a plug-in were to access a window object of a frame that later went away, it could lead to that
        Window JSObject being garbage collected and the NPObject pointing to freed memory.

        How this works now is that there is no origin root object anymore, and all NPObject wrappers that are created
        for a plug-in will have the root object of the containing frame of that plug-in.

        * bindings/NP_jsobject.cpp:
        (jsDeallocate):
        Don't free the origin root object.

        (_NPN_CreateScriptObject):
        Remove the origin root object parameter.

        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Evaluate):
        (_NPN_GetProperty):
        (_NPN_SetProperty):
        (_NPN_RemoveProperty):
        (_NPN_HasProperty):
        (_NPN_HasMethod):
        (_NPN_Enumerate):
        Get rid of all security checks.

        * bindings/NP_jsobject.h:
        Remove originRootObject from the JavaScriptObject struct.

        * bindings/c/c_utility.cpp:
        (KJS::Bindings::convertValueToNPVariant):
        Always use the root object from the ExecState.

WebCore:

        Reviewed by Darin and Geoff.

        <rdar://problem/5619295>
        REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)

        _NPN_CreateScriptObject doesn't take an origin root object anymore.

        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::createNPObject):
        * page/Frame.cpp:
        (WebCore::Frame::windowScriptNPObject):

WebKitTools:

        Reviewed by Darin and Geoff.

        <rdar://problem/5619295>
        REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)

        Add property getting methods to the plug-in.

        * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
        (pluginInvoke):

LayoutTests:

        Reviewed by Darin and Geoff.

        <rdar://problem/5619295>
        REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)

        Add cross frame plug/in test where a plug/in inside an iframe tries to access properties of the
        top-level frame.

        * http/tests/plugins/cross-frame-object-access-expected.txt: Added.
        * http/tests/plugins/cross-frame-object-access.html: Added.
        * http/tests/plugins/resources/cross-frame-object-access.html: Added.

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

12 years ago Reviewed by Darin Adler.
mitz@apple.com [Fri, 14 Dec 2007 19:37:12 +0000 (19:37 +0000)]
    Reviewed by Darin Adler.

        - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
          which is the root cause of:
          http://bugs.webkit.org/show_bug.cgi?id=12943
          box-shadow: small values don't affect shadow position
          http://bugs.webkit.org/show_bug.cgi?id=14736
          Safari implementation of text-shadow off by 1px

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
        of the offsets passed to CGContextSetShadow* to ensure that the end
        result after truncation is the desired integer offsets.

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

12 years agoMove layout test to mac skipped list until mac frt bug fixed.
oliver@apple.com [Fri, 14 Dec 2007 18:34:16 +0000 (18:34 +0000)]
Move layout test to mac skipped list until mac frt bug fixed.

Reviewed by Adam.

Fix test output, and move test to mac skipped list until
<rdar://problem/5647952> fast/events/mouseout-on-window.html
is fixed.

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

12 years ago Reviewed by Darin.
kmccullough@apple.com [Fri, 14 Dec 2007 18:19:15 +0000 (18:19 +0000)]
    Reviewed by Darin.

        - Layout test fix for mac. When dumped to the console local file paths
        now only show the name of the resource not the whole path.  This is to
        make the results machine and OS independent.

        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webView:addMessageToConsole:]):

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

12 years ago2007-12-13 Alp Toker <alp@atoker.com>
alp@webkit.org [Fri, 14 Dec 2007 06:56:45 +0000 (06:56 +0000)]
2007-12-13  Alp Toker  <alp@atoker.com>

        curl backend build fix for breakage introduced in r28709.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):

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

12 years agoWebCore:
justin.garcia@apple.com [Fri, 14 Dec 2007 05:32:35 +0000 (05:32 +0000)]
WebCore:

        Reviewed by Oliver Hunt.

        <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element

        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
        handle editing positions, like [input, 0];
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
        off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
        the input element itself.
        Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
        nesting a <div>.

LayoutTests:

        Reviewed by Oliver Hunt.

        <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element

        * editing/inserting/5607069-1-expected.checksum: Added.
        * editing/inserting/5607069-1-expected.png: Added.
        * editing/inserting/5607069-1-expected.txt: Added.
        * editing/inserting/5607069-1.html: Added.
        * editing/inserting/5607069-2.html: Added.
        * editing/inserting/5607069-3.html: Added.
        * platform/mac/editing/inserting/5607069-2-expected.checksum: Added.
        * platform/mac/editing/inserting/5607069-2-expected.png: Added.
        * platform/mac/editing/inserting/5607069-2-expected.txt: Added.
        * platform/mac/editing/inserting/5607069-3-expected.checksum: Added.
        * platform/mac/editing/inserting/5607069-3-expected.png: Added.
        * platform/mac/editing/inserting/5607069-3-expected.txt: Added.

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

12 years ago2007-12-13 Alp Toker <alp@atoker.com>
alp@webkit.org [Fri, 14 Dec 2007 03:37:49 +0000 (03:37 +0000)]
2007-12-13  Alp Toker  <alp@atoker.com>

        Reviewed by Oliver Hunt.

        http://bugs.webkit.org/show_bug.cgi?id=16365
        [cURL] Acid2 test segmentation fault

        This patch makes the Acid2 test pass.

        Defer the cleanup of cancelled jobs and halt further transfer as early
        as possible.

        Bug found by and initial patch provided by Luca Bruno.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::writeCallback):
        (WebCore::headerCallback):
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::ResourceHandleManager::cancel):

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

12 years ago Reviewed by Mark Rowe.
weinig@apple.com [Fri, 14 Dec 2007 03:32:18 +0000 (03:32 +0000)]
    Reviewed by Mark Rowe.

        Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.

        * page/InspectorController.cpp:
        (WebCore::moveByUnrestricted):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::moveWindowBy):
        * page/InspectorController.h:
        * page/inspector/inspector.js:

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

12 years agoWebCore:
mitz@apple.com [Fri, 14 Dec 2007 02:25:29 +0000 (02:25 +0000)]
WebCore:

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function

        Test: fast/css/transition-timing-function.html

        * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
        not reject non-primitive non-list values, and instead made sure that the
        mapping functions rejected them if necessary. This allows non-primitive
        timing functions to be mapped.
        (WebCore::CSSStyleSelector::mapBackgroundAttachment):
        (WebCore::CSSStyleSelector::mapBackgroundClip):
        (WebCore::CSSStyleSelector::mapBackgroundComposite):
        (WebCore::CSSStyleSelector::mapBackgroundOrigin):
        (WebCore::CSSStyleSelector::mapBackgroundImage):
        (WebCore::CSSStyleSelector::mapBackgroundRepeat):
        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
        (WebCore::CSSStyleSelector::mapBackgroundYPosition):
        (WebCore::CSSStyleSelector::mapTransitionDuration):
        (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
        (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
        (WebCore::CSSStyleSelector::mapTransitionProperty):
        * css/CSSTimingFunctionValue.cpp:
        (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
        regression test.
        * css/CSSTimingFunctionValue.h:
        (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
        Added. Returns true.
        * css/CSSValue.h:
        (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
        false.

LayoutTests:

        Reviewed by Dave Hyatt.

        - test for <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function

        * fast/css/transition-timing-function-expected.txt: Added.
        * fast/css/transition-timing-function.html: Added.

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

12 years ago Reviewed by Oliver.
mjs@apple.com [Fri, 14 Dec 2007 02:14:58 +0000 (02:14 +0000)]
    Reviewed by Oliver.

        - Add some explanatory test and a dumb logo to SunSpider web hosted version

        * hosted/sunspider-driver.html:
        * hosted/sunspider-results.html:
        * hosted/sunspider.css:
        * hosted/sunspider.html:

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

12 years agoWebKitTools:
kmccullough@apple.com [Fri, 14 Dec 2007 02:07:18 +0000 (02:07 +0000)]
WebKitTools:

        Reviewed by Adam.

        - Layout tests fix.  We need a way to remove machine-dependent
        information from paths in layout test results. The UIDelegate now does
        this.

        * DumpRenderTree/DumpRenderTree.h:
        * DumpRenderTree/win/DumpRenderTree.cpp:
        (urlSuitableForTestResult):
        * DumpRenderTree/win/DumpRenderTreeWin.h:
        * DumpRenderTree/win/ResourceLoadDelegate.cpp:
        * DumpRenderTree/win/UIDelegate.cpp:
        (UIDelegate::webViewAddMessageToConsole):

LayoutTests:

        Reviewed by Adam.

        - Layout tests fix.  Removed machine dependant results and generated new
        results without machine specific information.

        * fast/dom/frame-loading-via-document-write-expected.txt: Added.
        * http/tests/security/frame-loading-via-document-write-expected.txt: Added.
        * http/tests/security/local-CSS-from-remote-expected.txt:
        * http/tests/security/local-JavaScript-from-remote-expected.txt:
        * http/tests/security/local-iFrame-from-remote-expected.txt:
        * http/tests/security/local-image-from-remote-expected.txt:
        * platform/mac/fast/dom/frame-loading-via-document-write-expected.checksum: Removed.
        * platform/mac/fast/dom/frame-loading-via-document-write-expected.png: Removed.
        * platform/mac/fast/dom/frame-loading-via-document-write-expected.txt: Removed.
        * platform/mac/http/tests/security: Removed.
        * platform/mac/http/tests/security/frame-loading-via-document-write-expected.checksum: Removed.
        * platform/mac/http/tests/security/frame-loading-via-document-write-expected.png: Removed.
        * platform/mac/http/tests/security/frame-loading-via-document-write-expected.txt: Removed.
        * platform/win/Skipped:
        * platform/win/http: Removed.
        * platform/win/http/tests: Removed.
        * platform/win/http/tests/security: Removed.
        * platform/win/http/tests/security/frame-loading-via-document-write-expected.txt: Removed.

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

12 years agoWebCore:
sfalken@apple.com [Fri, 14 Dec 2007 01:23:11 +0000 (01:23 +0000)]
WebCore:

        Move source file generation into its own vcproj to fix build dependencies.

        Reviewed by Adam.

        * WebCore.vcproj/WebCore.make:
        * WebCore.vcproj/WebCore.sln:
        * WebCore.vcproj/WebCore.submit.sln:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreGenerated.vcproj: Added.

WebKit/win:

        Move source file generation into its own vcproj to fix build dependencies.

        Reviewed by Adam.

        * WebKit.vcproj/Interfaces.vcproj:
        * WebKit.vcproj/InterfacesGenerated.vcproj: Added.
        * WebKit.vcproj/WebKit.sln:
        * WebKit.vcproj/WebKit.submit.sln:
        * WebKit.vcproj/build-generated-files.sh:

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

12 years agoFix the build.
justin.garcia@apple.com [Fri, 14 Dec 2007 01:22:39 +0000 (01:22 +0000)]
Fix the build.

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

12 years ago Reviewed by Oliver Hunt.
justin.garcia@apple.com [Fri, 14 Dec 2007 01:12:02 +0000 (01:12 +0000)]
    Reviewed by Oliver Hunt.

        <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black

        Some of the operations performed in removeHTMLFontStyle were non-undoable.

        I'm having trouble writing a layout test for this because I can't get DRT to
        perform editing operations in separate Undo steps without adding unacceptably long
        wait times between operations.  I filed:

        <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeHTMLFontStyle):

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

12 years ago Reviewed by Anders.
weinig@apple.com [Fri, 14 Dec 2007 01:10:00 +0000 (01:10 +0000)]
    Reviewed by Anders.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
        Toolbar dragged inspector cannot be moved beyond screen edges

        * page/InspectorController.cpp:
        (WebCore::moveByUnrestricted):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::moveByUnrestricted):
        * page/InspectorController.h:
        * page/inspector/inspector.js:

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

12 years agoFix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
aroben@apple.com [Fri, 14 Dec 2007 01:07:19 +0000 (01:07 +0000)]
Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked

WebCore:

        Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked

        Windows Media Player has a modal message loop that will deliver
        messages to us at inappropriate times and we will crash if we handle
        them when they are delivered. In PluginViewWin, we add a quirk for
        Media Player to set a flag whenever we give the plugin a chance to
        execute code, and in SharedTimerWin we check if the plugin is
        executing code and repost messages if so.

        Reviewed by Anders.

        * platform/win/SharedTimerWin.cpp:
        (WebCore::TimerWindowWndProc): Repost messages if we're calling a
        plugin.
        * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
        setCallingPlugin(true/false).
        (WebCore::PluginViewWin::updateWindow):
        (WebCore::PluginViewWin::dispatchNPEvent):
        (WebCore::PluginViewWin::setNPWindowRect):
        (WebCore::PluginViewWin::start):
        (WebCore::PluginViewWin::stop):
        (WebCore::PluginViewWin::performRequest):
        (WebCore::PluginViewWin::bindingInstance):
        (WebCore::PluginViewWin::determineQuirks):
        (WebCore::PluginViewWin::setCallingPlugin): Added.
        (WebCore::PluginViewWin::isCallingPlugin): Added.
        * plugins/win/PluginViewWin.h: Added a new quirk.

WebKit/win:

        Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked

        Reviewed by Anders.

        * WebView.cpp:
        (WebViewWndProc): Repost paint messages and ignore all other messages
        when we're calling a plugin.

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

12 years ago2007-12-13 Alp Toker <alp@atoker.com>
alp@webkit.org [Fri, 14 Dec 2007 00:56:10 +0000 (00:56 +0000)]
2007-12-13  Alp Toker  <alp@atoker.com>

        Build fix for DRT breakage introduced in r28690.

        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
        (LayoutTestController::pathToLocalResource):

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

12 years ago2007-12-13 Alp Toker <alp@atoker.com>
alp@webkit.org [Fri, 14 Dec 2007 00:32:23 +0000 (00:32 +0000)]
2007-12-13  Alp Toker  <alp@atoker.com>

        Add a missing DEPENDPATH. Fixes non-clean builds following networking
        header changes.

        * WebCore.pro:

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

12 years agoJavaScriptCore:
sfalken@apple.com [Thu, 13 Dec 2007 23:48:14 +0000 (23:48 +0000)]
JavaScriptCore:

        Move source file generation into its own vcproj to fix build dependencies.

        Reviewed by Adam.

        * JavaScriptCore.vcproj/JavaScriptCore.sln:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Added.
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj: Added.
        * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln:

WebKit/win:

        Fix project dependencies based on JavaScriptCore change.

        * WebKit.vcproj/WebKit.sln:

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

12 years ago Reviewed by Anders Carlsson.
mitz@apple.com [Thu, 13 Dec 2007 22:59:42 +0000 (22:59 +0000)]
    Reviewed by Anders Carlsson.

        - fix regression in fast/text/international/bidi-override on Tiger

        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
        too. I forgot to add them when I added them to treatAsZeroWidthSpace in
        an earlier patch.

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

12 years ago Reviewed by Adele.
ap@webkit.org [Thu, 13 Dec 2007 22:17:13 +0000 (22:17 +0000)]
    Reviewed by Adele.

        http://bugs.webkit.org/show_bug.cgi?id=16421
        REGRESSION(r28669): Page scrolls down when you hit space key in text area

        Test: fast/events/space-scroll-event.html

        * WebView.cpp:
        (WebView::keyDown):
        (WebView::keyPress):
        Moved space handliing to keyPress() to fix this bug and to match IE. Scrolling via arrow keys is correctly handled
        in keyDown().

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

12 years agoWebCore:
justin.garcia@apple.com [Thu, 13 Dec 2007 21:32:12 +0000 (21:32 +0000)]
WebCore:

        Reviewed by Darin Adler.

        <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text

        The code that checks the selected Range to see if it's inside an anchor
        checks ancestors of the Range's commonAncestor() but not the
        commonAncestor() itself, and so we'd fail to add markup for the enclosing
        anchor to the pasteboard.

        Some enclosing element getters check the node passed to the getter and some
        don't.  There were a few places where we incorrectly assumed that enclosing
        element getters check the node passed to the getter, but this is the only
        case that I'm able to write a test case for at the moment.

        In this patch I've:
        Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
        like the newer enclosing element getters.  This is important because we must
        soon add code to the getters so that they understand that some editing positions
        inside nodes don't actually refer to positions inside those nodes but positions
        before and after them.  Like [table, 0].
        Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
        n where [n, o] is the position passed to the getter, instead of starting the the parent
        of n.  This makes all but a few of the enclosing element getters behave consistently.
        Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable
        nodes if the input position was editable.  This fixes a bug that that the above change
        exposed.
        Changed enclosingTableCell to simply call enclosingNodeWithType.  We should do
        this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
        unless doing so would affect readability, like it would in the case of enclosingTableCell.
        Ditto for enclosingBlock.

        * editing/AppendNodeCommand.cpp:
        (WebCore::AppendNodeCommand::doApply):
        * editing/DeleteButtonController.cpp:
        (WebCore::enclosingDeletableElement):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData):
        (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
        * editing/Editor.cpp:
        (WebCore::Editor::selectionUnorderedListState):
        (WebCore::Editor::selectionOrderedListState):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
        (WebCore::IndentOutdentCommand::outdentParagraph):
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::shouldMerge):
        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
        (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
        * editing/TextIterator.cpp:
        * editing/htmlediting.cpp:
        (WebCore::enclosingBlock):
        (WebCore::enclosingNodeWithTag):
        (WebCore::enclosingNodeOfType):
        (WebCore::enclosingTableCell):
        (WebCore::isTableCell):
        * editing/htmlediting.h:
        * editing/markup.cpp:
        (WebCore::appendStartMarkup):
        (WebCore::createMarkup):

LayoutTests:

        Reviewed by Darin Adler.

        <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text

        * editing/pasteboard/5601583-1.html: Added.
        * platform/mac/editing/pasteboard/5601583-1-expected.checksum: Added.
        * platform/mac/editing/pasteboard/5601583-1-expected.png: Added.
        * platform/mac/editing/pasteboard/5601583-1-expected.txt: Added.

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

12 years ago Reviewed by Darin.
ap@webkit.org [Thu, 13 Dec 2007 20:40:29 +0000 (20:40 +0000)]
    Reviewed by Darin.

        Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.

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

12 years ago2007-12-13 Alp Toker <alp@atoker.com>
alp@webkit.org [Thu, 13 Dec 2007 19:38:13 +0000 (19:38 +0000)]
2007-12-13  Alp Toker  <alp@atoker.com>

        http://bugs.webkit.org/show_bug.cgi?id=16406
        [Gtk] JavaScriptCore needs -lpthread

        Build fix for Debian and any other platforms that don't implicitly
        link to pthread.

        Link to pthread on non-Windows platforms until this dependency is
        removed from JSC.

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

12 years ago - build fix
mitz@apple.com [Thu, 13 Dec 2007 19:36:57 +0000 (19:36 +0000)]
    - build fix

        * platform/network/cf/ResourceErrorCF.cpp:

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

12 years agoWebKitTools:
kmccullough@apple.com [Thu, 13 Dec 2007 19:07:39 +0000 (19:07 +0000)]
WebKitTools:

        Reviewed by Alice and Sam.

        - <rdar://5621435> Need a way to specify local resources (being loaded
        from HTTP tests) on Windows.
        - Implemented pathToLocalResource which exposes the functionality of
        converting a given unix path to the correct location on Windows.

        * DumpRenderTree/LayoutTestController.cpp:
        (pathToLocalResourceCallback):
        (LayoutTestController::staticFunctions):
        * DumpRenderTree/LayoutTestController.h:
        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
        (LayoutTestController::pathToLocalResource):
        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
        (LayoutTestController::pathToLocalResource):

LayoutTests:

        Reviewed by Alice and Sam.

        - <rdar://5621435> Need a way to specify local resources (being loaded
        from HTTP tests) on Windows.
        - Updated the following tests to use the new layoutTestController
        function, pathToLocalResource to get a Windows viable path (when on
        Windows) to the local resources they are attempting to access.
        - Also clarified and updated some results.

        * fast/dom/frame-loading-via-document-write.html:
        * fast/loader/local-CSS-from-local-expected.txt:
        * fast/loader/local-CSS-from-local.html:
        * fast/loader/local-JavaScript-from-local-expected.txt:
        * fast/loader/local-JavaScript-from-local.html:
        * fast/loader/local-iFrame-source-from-local-expected.txt:
        * fast/loader/local-iFrame-source-from-local.html:
        * fast/loader/local-image-from-local-expected.txt:
        * fast/loader/local-image-from-local.html:
        * http/tests/security/frame-loading-via-document-write.html:
        * http/tests/security/local-CSS-from-remote-expected.txt:
        * http/tests/security/local-CSS-from-remote.html:
        * http/tests/security/local-JavaScript-from-remote-expected.txt:
        * http/tests/security/local-JavaScript-from-remote.html:
        * http/tests/security/local-iFrame-from-remote-expected.txt:
        * http/tests/security/local-iFrame-from-remote.html:
        * http/tests/security/local-image-from-remote-expected.txt:
        * http/tests/security/local-image-from-remote.html:
        * http/tests/security/local-user-CSS-from-remote.html:
        * platform/mac/fast/dom/frame-loading-via-document-write-expected.txt:
        * platform/win/Skipped:
        * platform/win/http: Added.
        * platform/win/http/tests: Added.
        * platform/win/http/tests/security: Added.
        * platform/win/http/tests/security/frame-loading-via-document-write-expected.txt: Added.

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

12 years ago Reviewed by Tim Hatcher.
antti@apple.com [Thu, 13 Dec 2007 18:55:28 +0000 (18:55 +0000)]
    Reviewed by Tim Hatcher.

        Fix <rdar://problem/5605674>
        Make <video> display WebKit context menu instead of the QTKit one.

        It doesn't really matter where the QTMovieView is.

        * ChangeLog:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovieView):
        (WebCore::MediaPlayerPrivate::setRect):

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

12 years agoWebCore:
mitz@apple.com [Thu, 13 Dec 2007 18:45:03 +0000 (18:45 +0000)]
WebCore:

        Reviewed by Adam Roben.

        - ensure that Unicode bidi control characters are rendered as zero width
          spaces

        Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html

        * platform/graphics/Font.h:
        (WebCore::Font::treatAsZeroWidthSpace):
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage):
        * platform/text/CharacterNames.h:

LayoutTests:

        Reviewed by Adam Roben.

        - test that Unicode bidi control characters are rendered as zero width
          spaces

        * fast/text/international/bidi-control-chars-treated-as-ZWS.html: Added.
        * platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.checksum: Added.
        * platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.png: Added.
        * platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt: Added.

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

12 years ago Reviewed by Oliver.
mjs@apple.com [Thu, 13 Dec 2007 09:50:18 +0000 (09:50 +0000)]
    Reviewed by Oliver.

        - Make the web-hosted version of SunSpider look a little bit less drab.

        * hosted/sunspider-driver.html:
        * hosted/sunspider-results.html:
        * hosted/sunspider.css: Added.
        * hosted/sunspider.html:
        * resources/TEMPLATE.html:

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

12 years ago Build fix
beidson@apple.com [Thu, 13 Dec 2007 08:24:05 +0000 (08:24 +0000)]
    Build fix

        * platform/wx/TemporaryLinkStubs.cpp:

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

12 years ago Build fix
beidson@apple.com [Thu, 13 Dec 2007 07:55:20 +0000 (07:55 +0000)]
    Build fix

        * platform/gtk/TemporaryLinkStubs.cpp:

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

12 years ago Build fix
beidson@apple.com [Thu, 13 Dec 2007 07:51:56 +0000 (07:51 +0000)]
    Build fix

        * WebCore.pro:
        * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed

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

12 years ago Build fix
beidson@apple.com [Thu, 13 Dec 2007 07:28:42 +0000 (07:28 +0000)]
    Build fix

        * platform/win/TemporaryLinkStubs.cpp:

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

12 years agoWebCore:
beidson@apple.com [Thu, 13 Dec 2007 07:17:21 +0000 (07:17 +0000)]
WebCore:

        Reviewed by Sam Weinig

        Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)

        All back/forward list and page cache related items used to be in WebKit.
        When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
        Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive.  We accomplished this via some #ifdefs
        in CachedPage and having the Mac-only CachedPageMac.mm

        To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the
        concept of "CachedPagePlatformData" which can contain anything the platform API wants.

        I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.

        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:

        * history/CachedPage.cpp:
        (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
        (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists.  Also delete the CachedPagePlatformData.
        (WebCore::CachedPage::setCachedPagePlatformData):
        (WebCore::CachedPage::cachedPagePlatformData):
        * history/CachedPage.h:

        * history/CachedPagePlatformData.h: Added.
        (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
        (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().

        * history/PageCache.cpp:
        (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"

        * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::transitionToCommitted): Call the new client methods.  Make some work previously done by WebKitMac cross platform
          (setting the cached DocumentLoader to the Frame).
        (WebCore::FrameLoader::cachePageForHistoryItem):  Renamed the client methods

        * loader/FrameLoaderClient.h:  The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
          become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly

        * svg/graphics/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
        (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
        (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):

WebKit:

        Reviewed by Sam Weinig

                Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)

        * WebKit.xcodeproj/project.pbxproj: Added a new file

WebKit/gtk:

        Reviewed by Sam Weinig

        As part of doing some CachedPage and client cleanup, keep GTK building

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::FrameLoaderClient::savePlatformDataToCachedPage):
        (WebKit::FrameLoaderClient::transitionToCommittedFromCachedPage):
        (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
        * WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

        Reviewed by Sam Weinig

        Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)

        * WebCoreSupport/WebCachedPagePlatformData.h: Added.
        (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
        (WebCachedPagePlatformData::clear):
        (WebCachedPagePlatformData::webDocumentView):

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::savePlatformDataToCachedPage):
        (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here,
          because that is now done in WebCore.
        (WebFrameLoaderClient::transitionToCommittedForNewPage):

WebKit/qt:

        Reviewed by Sam Weinig

        As part of doing some CachedPage and client cleanup, keep Qt building

        * WebCoreSupport/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::savePlatformDataToCachedPage):
        (WebCore::FrameLoaderClientQt::transitionToCommittedFromCachedPage):
        (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
        * WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

        Reviewed by Sam Weinig

        Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)

        Even though this new code isn't exercised yet because the page cache is still turned off for Windows, local testing
        has indicated it works well.

        * WebCachedPagePlatformData.h: Added.
        (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes an IWebDataSource and the object retains it
        (WebCachedPagePlatformData::clear):
        (WebCachedPagePlatformData::webDataSource):

        * WebFrame.cpp:
        (WebFrame::savePlatformDataToCachedPage):
        (WebFrame::transitionToCommittedFromCachedPage):
        (WebFrame::transitionToCommittedForNewPage):
        * WebFrame.h:

        * WebKit.vcproj/WebKit.vcproj:

WebKit/wx:

        Reviewed by Sam Weinig

        As part of doing some CachedPage and client cleanup, keep Wx building

        * WebKitSupport/FrameLoaderClientWx.cpp:
        (WebCore::FrameLoaderClientWx::savePlatformDataToCachedPage):
        (WebCore::FrameLoaderClientWx::transitionToCommittedFromCachedPage):
        (WebCore::FrameLoaderClientWx::transitionToCommittedForNewPage):
        * WebKitSupport/FrameLoaderClientWx.h:

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

12 years agoWebCore:
mitz@apple.com [Thu, 13 Dec 2007 07:04:30 +0000 (07:04 +0000)]
WebCore:

        Reviewed by Oliver Hunt.

        - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): When the font property is
        set to 'initial', set the font size to its initial value, 'medium',
        and the font family to the standard family.

LayoutTests:

        Reviewed by Oliver Hunt.

        - updated results and skipped tests file for
          <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)

        * platform/mac-leopard/fast/text/font-initial-expected.checksum: Copied from LayoutTests/platform/mac/fast/text/font-initial-expected.checksum.
        * platform/mac-leopard/fast/text/font-initial-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-initial-expected.png.
        * platform/mac/fast/text/font-initial-expected.checksum: Removed.
        * platform/mac/fast/text/font-initial-expected.png: Removed.
        * platform/mac/fast/text/font-initial-expected.txt:
        * platform/win/Skipped:

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

12 years agoWebCore:
justin.garcia@apple.com [Thu, 13 Dec 2007 06:56:28 +0000 (06:56 +0000)]
WebCore:

        Reviewed by Darin Adler.

        <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
        Don't remove the table row that contained the end of the selection if it is where we are
        about to place the ending selection.
        Don't remove all empty rows after the row that contained the start of the selection,
        they might come after the row that contained the end of the selection.

LayoutTests:

        Reviewed by Darin Adler.

        <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection

        * editing/deleting/5433862-1-expected.txt: Added.
        * editing/deleting/5433862-1.html: Added.
        * editing/deleting/5433862-2.html: Added.
        * platform/mac/editing/deleting/5433862-2-expected.checksum: Added.
        * platform/mac/editing/deleting/5433862-2-expected.txt: Added.

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

12 years ago Reviewed by Sam.
mjs@apple.com [Thu, 13 Dec 2007 05:33:50 +0000 (05:33 +0000)]
    Reviewed by Sam.

        - Change sunspider-compare-results output from showing "% faster" values to "x as fast" values.

        A sample of what new-style results would look like:

        TEST                   COMPARISON            FROM                 TO             DETAILS
        ...
        ** TOTAL **:           1.41x as fast     6613.6ms +/- 0.1%   4703.0ms +/- 0.1%     significant
        ...
            3bit-bits-in-byte: *1.36x as slow*     88.8ms +/- 0.6%    121.1ms +/- 0.6%     significant

        * resources/sunspider-compare-results.js:

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

12 years ago Reviewed by Anders Carlsson.
weinig@apple.com [Thu, 13 Dec 2007 01:47:30 +0000 (01:47 +0000)]
    Reviewed by Anders Carlsson.

        Add button to clear the Web Inspector's console.

        * English.lproj/InspectorLocalizedStrings.js:
        * page/inspector/ConsolePanel.js:
        * page/inspector/inspector.css:

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

12 years ago Reviewed by Adam and Jon.
andersca@apple.com [Thu, 13 Dec 2007 00:44:21 +0000 (00:44 +0000)]
    Reviewed by Adam and Jon.

        <rdar://problem/5349282>
        popup blocking is not applied to plugins on Windows.

        Implement popup blocking. If the plug-in supports the new
        NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
        to determine if a plug-in request can open new windows.

        If a plug-in does not support the new API, we assume that a plug-in can open new windows
        in response to either mouse click or key press events.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginRequestWin::PluginRequestWin):
        (WebCore::PluginRequestWin::shouldAllowPopups):
        Add new shouldAllowPopups member.

        (WebCore::PluginViewWin::popPopupsStateTimerFired):
        Reset the popup state.

        (WebCore::isWindowsMessageUserGesture):
        New function that given a windows message id returns whether it's a user gesture or not.

        (WebCore::PluginViewWin::wndProc):
        Allow popups if the window message is a user gesture.

        (WebCore::PluginViewWin::dispatchNPEvent):
        New method that dispatches an NPEvent, turning on popups if necessary.

        (WebCore::PluginViewWin::paint):
        (WebCore::PluginViewWin::handleKeyboardEvent):
        (WebCore::PluginViewWin::handleMouseEvent):
        Call dispatchNPEvent().

        (WebCore::PluginViewWin::performRequest):
        (WebCore::PluginViewWin::load):
        Add calls to shouldAllowPopups().

        (WebCore::PluginViewWin::pushPopupsEnabledState):
        (WebCore::PluginViewWin::popPopupsEnabledState):
        New methods that maintain the popup state stack.

        (WebCore::PluginViewWin::arePopupsAllowed):
        New method that returns whether popups are allowed.

        (WebCore::PluginViewWin::PluginViewWin):
        * plugins/win/PluginViewWin.h:
        Add new instance variables.

        * plugins/win/npapi.cpp:
        (NPN_PushPopupsEnabledState):
        (NPN_PopPopupsEnabledState):
        Implement these.

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