13 years ago Windows build fixes
aroben@apple.com [Tue, 29 Apr 2008 21:48:49 +0000 (21:48 +0000)]
    Windows build fixes

        Replace COMPtr::operator& with COMPtr::adoptionPointer.

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

13 years agoJavaScriptCore:
ddkilzer@apple.com [Tue, 29 Apr 2008 21:31:09 +0000 (21:31 +0000)]

2008-04-29  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Darin.

        Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)

        * wtf/Platform.h:


2008-04-29  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Darin.

        Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)

        * DerivedSources.make:
        * WebCore.DashboardSupport.exp: Added.
        * WebCore.base.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSParser.cpp:
        * css/CSSPrimitiveValue.cpp:
        * css/CSSPropertyNames.in:
        * css/CSSStyleSelector.cpp:
        * css/DashboardRegion.h:
        * css/DashboardSupportCSSPropertyNames.in: Added.
        * dom/DOMImplementation.cpp:
        * dom/Document.cpp:
        * dom/Document.h:
        * html/CanvasRenderingContext2D.cpp:
        * html/CanvasRenderingContext2D.h:
        * html/HTMLCanvasElement.cpp:
        * html/HTMLCanvasElement.h:
        * page/Chrome.cpp:
        * page/ChromeClient.h:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * page/Settings.cpp:
        * page/Settings.h:
        * page/mac/EventHandlerMac.mm:
        * page/mac/FrameMac.mm:
        * page/mac/WebDashboardRegion.h:
        * page/mac/WebDashboardRegion.m:
        * rendering/RenderLayer.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderStyle.cpp:
        * rendering/RenderStyle.h:
        * xml/XMLHttpRequest.cpp:


2008-04-29  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Darin.

        Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        * WebView/WebClipView.m:
        (-[WebClipView scrollWheel:]):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView addMouseMovedObserver]):
        (-[WebHTMLView removeMouseMovedObserver]):
        (-[WebHTMLView acceptsFirstMouse:]):
        * WebView/WebUIDelegatePrivate.h:
        * WebView/WebView.mm:
        (-[WebViewPrivate init]):
        * WebView/WebViewPrivate.h:

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

13 years agoWindows build fix
aroben@apple.com [Tue, 29 Apr 2008 21:07:07 +0000 (21:07 +0000)]
Windows build fix


        Windows build fix

        This removes COMPtr::operator&, which didn't jive with HashTable. It
        is replaced by COMPtr::adoptionPointer.

        Discussed with Darin Adler and Anders Carlsson.

        * platform/win/COMPtr.h: Replaced operator& with adoptionPointer.


        Windows build fix

        Replaced uses of COMPtr::operator& with COMPtr::adoptionPointer.

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

13 years ago Fix a Windows build error
aroben@apple.com [Tue, 29 Apr 2008 21:02:37 +0000 (21:02 +0000)]
    Fix a Windows build error

        * WebScriptCallFrame.cpp:
        (WebScriptCallFrame::variableNames): Don't use ::adopt now that
        PropertyNameArray has no swap function.

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

13 years agoAdd reflection example photo.
hyatt@apple.com [Tue, 29 Apr 2008 20:49:16 +0000 (20:49 +0000)]
Add reflection example photo.

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

13 years agoWebCore:
hyatt@apple.com [Tue, 29 Apr 2008 20:34:44 +0000 (20:34 +0000)]

2008-04-29  David Hyatt  <hyatt@apple.com>

        Implement the new box-reflect property in CSS.  This property enables real-time reflections on
        objects (yes you can reflect <video>!).

        Reviewed by Dan Bernstein

        Test cases added in fast/reflections/

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSParser.cpp:
        * css/CSSParser.h:
        * css/CSSPropertyNames.in:
        * css/CSSReflectValue.cpp: Added.
        * css/CSSReflectValue.h: Added.
        * css/CSSStyleSelector.cpp:
        * css/CSSStyleSelector.h:
        * rendering/InlineFlowBox.cpp:
        * rendering/Length.h:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBox.cpp:
        * rendering/RenderFlexibleBox.cpp:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::operator delete):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderReplica.cpp: Added.
        * rendering/RenderReplica.h: Added.
        * rendering/RenderStyle.cpp:
        * rendering/RenderStyle.h:
        * rendering/RenderTable.cpp:
        * rendering/RenderTableCell.cpp:


2008-04-29  David Hyatt  <hyatt@apple.com>

        Implement support for the new box-reflect property.  Tests of the new property.

        Reviewed by Dan Bernstein

        * fast/reflections: Added.
        * fast/reflections/reflection-computed-style-expected.txt: Added.
        * fast/reflections/reflection-computed-style.html: Added.
        * fast/reflections/reflection-direction.html: Added.
        * fast/reflections/reflection-masks.html: Added.
        * fast/reflections/reflection-nesting.html: Added.
        * fast/reflections/resources: Added.
        * fast/reflections/resources/kate.png: Added.
        * fast/reflections/resources/vignette-mask.png: Added.

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

13 years ago2008-04-29 Beth Dakin <bdakin@apple.com>
bdakin@apple.com [Tue, 29 Apr 2008 20:27:42 +0000 (20:27 +0000)]
2008-04-29  Beth Dakin  <bdakin@apple.com>

        Reviewed by Alice.

        Initial implementation of the following ARIA roles: button,
        checkbox, heading, link, radio, textbox.

        * html/HTMLAttributeNames.in: Add 'role' to list of attributes.

        * page/AccessibilityObject.cpp:
         When an ARIA role is set, the role overrides whatever the actual

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

13 years ago2008-04-29 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Tue, 29 Apr 2008 18:09:04 +0000 (18:09 +0000)]
2008-04-29  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoff.

        -<rdar://problem/5770054> JavaScript profiler (10928)
        -Keep call count.

        * profiler/FunctionCallProfile.cpp:
        (KJS::FunctionCallProfile::didExecute): Implements call count and fixed a bug where a stackIndex
        of 0 was causing the assert to be hit.
        * profiler/FunctionCallProfile.h:

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

13 years agoMake the exceptions that the InspectorController catches log the
timothy@apple.com [Tue, 29 Apr 2008 17:36:06 +0000 (17:36 +0000)]
Make the exceptions that the InspectorController catches log the
original file and line number, if present on the exception object.

Reviewed by Adam Roben.

* page/InspectorController.cpp:
(WebCore::InspectorController::callFunction): Pass the context to HANDLE_EXCEPTION.
(WebCore::InspectorController::~InspectorController): Ditto.
(WebCore::InspectorController::scriptObjectReady): Ditto.
(WebCore::InspectorController::addScriptResource): Ditto.
(WebCore::InspectorController::updateScriptResourceRequest): Ditto.
(WebCore::InspectorController::updateScriptResourceResponse): Ditto.
(WebCore::InspectorController::updateScriptResource): Ditto.
(WebCore::InspectorController::addDatabaseScriptResource): Ditto.
(WebCore::InspectorController::addScriptConsoleMessage): Ditto.
(WebCore::InspectorController::handleException): Take a context. Pull the line
and sourceURL properties off the exception if it is an object.
* page/InspectorController.h: Change handleException to take a context.

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

13 years agoRemove .idl and .in files from WebCore's framework Resources.
timothy@apple.com [Tue, 29 Apr 2008 17:12:09 +0000 (17:12 +0000)]
Remove .idl and .in files from WebCore's framework Resources.

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

13 years agoFixes a regression where the Page's debugger would not be reattached
timothy@apple.com [Tue, 29 Apr 2008 17:05:43 +0000 (17:05 +0000)]
Fixes a regression where the Page's debugger would not be reattached
when a new JSDOMWindow is created.

Reviewed by Sam Weinig.

* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::clear): Call attachDebugger after creating the JSDOMWindow.
* history/CachedPage.cpp:
(WebCore::CachedPage::restore): For the case where the CachedPage doesn't
contain a window, reattach the debugger to the new JSDOMWindow by calling
proxy->attachDebugger. Also restore the setPageGroupIdentifier.

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

13 years agoWebCore:
mitz@apple.com [Tue, 29 Apr 2008 16:50:58 +0000 (16:50 +0000)]

2008-04-29  Anatoli Papirovski  <apapirovski@mac.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
        Fixed RGB and RGBA parsing to ignore the declaration when the value is not
        "either three integer values or three percentage values."

        * css/CSSParser.cpp:


2008-04-29  Anatoli Papirovski  <apapirovski@mac.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18355
        Updated the results of the layout test for "RGB color syntax error handling".

        * platform/mac/css2.1/t040306-syntax-01-f-expected.checksum:
        * platform/mac/css2.1/t040306-syntax-01-f-expected.png:
        * platform/mac/css2.1/t040306-syntax-01-f-expected.txt:

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Tue, 29 Apr 2008 14:41:55 +0000 (14:41 +0000)]
Holger Hans Peter Freyther  <zecke@selfish.org>

Fix crash when setHtml gets called from slots connected to QWebPage::unsupportedContent

Ben found this crash in the demo browser.

In void MainResourceLoader::continueAfterContentPolicy(PolicyAction contentPolicy,

case PolicyDownload:
    frameLoader()->client()->download(m_handle.get(), request(), m_handle.get()->request(), r);

We are in a policy check, the download() call will call setHtml, which will start loading
the data into a frame. The loading will cancel all policy checks and call ResourceLoader::releaseResources
which will set m_frame to 0. Then we return and invoke interruptionForPolicyChangeError() which
will use the m_frame->loader() but it is gone. Do not call into receivedError and
interruptionForPolicyChangeError if we are gone anyway...

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

13 years agoQt/Windows build fix. The externally declared hash tables are actually
hausmann@webkit.org [Tue, 29 Apr 2008 14:34:13 +0000 (14:34 +0000)]
Qt/Windows build fix. The externally declared hash tables are actually
declared const and the const is mangled in the symbol name, so when
importing they also need to be marked const.

When compiling without MULTIPLE_THREADS use a const HashTable&
instead of a HashTable& in ThreadClassInfoHashTables to avoid
initializing the latter with a const reference.

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

13 years agoSimon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Tue, 29 Apr 2008 14:16:23 +0000 (14:16 +0000)]
Simon Hausmann  <hausmann@webkit.org>

Updated the layout tests after the latest submits to the Qt port
to our new baseline, after numerous fixes in RenderThemeQt
and assorted.

Updated the Skipped file with new expected failures that need

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

13 years agoLincoln Ramsay <lincoln.ramsay@trolltech.com>
hausmann@webkit.org [Tue, 29 Apr 2008 09:47:55 +0000 (09:47 +0000)]
Lincoln Ramsay <lincoln.ramsay@trolltech.com>

Fix compilation with QT_NO_PRINTER

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

13 years agoAriya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Tue, 29 Apr 2008 08:51:42 +0000 (08:51 +0000)]
Ariya Hidayat <ariya.hidayat@trolltech.com>

Ensure that relative URL is converted to absolute URL.

This is necessary because loading a relative URL is not really supported
(the web page may load, but the subsequent URLs for images and links will
not be resolved properly).
This also fixes https://bugs.webkit.org/show_bug.cgi?id=18484

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

13 years agoAriya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Tue, 29 Apr 2008 08:51:29 +0000 (08:51 +0000)]
Ariya Hidayat <ariya.hidayat@trolltech.com>

Simplification of Qt Launcher (no animation and use standard progress bar widget)

Status bar shows the hovered link without any animation. Progress bar just uses the standard QProgressBar (no custom widget). The launcher is leaner and faster to use under the debugger and/or valgrind.

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

13 years agoAriya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Tue, 29 Apr 2008 08:51:16 +0000 (08:51 +0000)]
Ariya Hidayat <ariya.hidayat@trolltech.com>

Update the cursor when the frame/page loading is finished.

This fixes https://bugs.webkit.org/show_bug.cgi?id=18712

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

13 years agoSimon Hausmann <shausman@trolltech.com>
hausmann@webkit.org [Tue, 29 Apr 2008 08:51:02 +0000 (08:51 +0000)]
Simon Hausmann <shausman@trolltech.com>

Fixes: QWebPage::acceptNavigationRequest not being called / linkClicked() not being emitted when clicking on <a href="..." target="_blank"> kind of links.

Call QWebPage::acceptNavigationRequest when the creation of a new window with
URL is requested. The frame pointer is set to null in this case.

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Tue, 29 Apr 2008 08:47:47 +0000 (08:47 +0000)]
Holger Hans Peter Freyther <zecke@selfish.org>

Rely on auto-boxing of C++ for the QCursor c'tor

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Tue, 29 Apr 2008 08:47:32 +0000 (08:47 +0000)]
Holger Hans Peter Freyther <zecke@selfish.org>

Add the remaining cursors that defaulted to PointerCursor

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Tue, 29 Apr 2008 08:47:12 +0000 (08:47 +0000)]
Holger Hans Peter Freyther  <zecke@selfish.org>

Use the WebCore facility to do the scrolling. Move some code around.

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

13 years agoWebCore:
alice.liu@apple.com [Tue, 29 Apr 2008 08:42:22 +0000 (08:42 +0000)]

2008-04-29  Alice Liu  <alice.liu@apple.com>

        Reviewed by Beth Dakin.

        Comply with HTML5 spec about parsing tabindex property according to
        integer parsing rules

        Test: fast/parser/tabindex-parsing.html

        * html/HTMLElement.cpp:


2008-04-29  Alice Liu  <alice.liu@apple.com>

        Reviewed by Beth Dakin.

        Comply with HTML5 spec about parsing tabindex property according to
        integer parsing rules

        * fast/parser/tabindex-parsing-expected.txt: Added.
        * fast/parser/tabindex-parsing.html: Added.

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

13 years agoFixes: Fix timing problem where scrollbars in subframes were sometimes not property...
hausmann@webkit.org [Tue, 29 Apr 2008 08:36:24 +0000 (08:36 +0000)]
Fixes: Fix timing problem where scrollbars in subframes were sometimes not property repainted.


We need to repaint scrollbars after a geometry change, and also make sure
the computed clipping rect for the corners between scrollbars is propagated
to the chrome client without beeing intersected by the visible content rect
of the frame.

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

13 years agoAriya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Tue, 29 Apr 2008 07:49:04 +0000 (07:49 +0000)]
Ariya Hidayat <ariya.hidayat@trolltech.com>

fix potential crash when loading image(s)

Crash may occur. If compiled with 4.3, the variable is not initialized.

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Tue, 29 Apr 2008 07:43:40 +0000 (07:43 +0000)]
Holger Hans Peter Freyther  <zecke@selfish.org>

Calling QWebView::setCursor will override the WebCore Cursor.
Calling QWebView::setCursor will override the WebCore Cursor using
QWidget::unsetCursor will revert to the WebCore Cursor.

For detecting the unset we have to compare the shape of the
cursor to the default arrow. Qt::WA_SetCursor can not be used
as it is set unconditionally but conditionally removed.

Calling QWidget::setCursor will immediately send the CursorChange
event. We listen to this event to decide if we currently use a
WebCore cursor, got a cursor from outside, or revert to the default.

This should be race free and work reliable, the manual test for this
is WebCore/manual-tests/cursor.html

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

13 years agoKavindra Devi Palaraja <kdpalara@trolltech.com>
hausmann@webkit.org [Tue, 29 Apr 2008 07:34:59 +0000 (07:34 +0000)]
Kavindra Devi Palaraja <kdpalara@trolltech.com>

Documentation fixes:

- Fixed a qdoc warning
- Mention that fav icons can be of arbitrary size
- Fix signature of QWebPage::acceptNavigationRequest show in the documentation

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

13 years ago Reviewed by Maciej.
rwlbuis@webkit.org [Tue, 29 Apr 2008 06:14:46 +0000 (06:14 +0000)]
    Reviewed by Maciej.

        Build fix for Tiger.

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

13 years agoWebCore:
mitz@apple.com [Tue, 29 Apr 2008 06:05:37 +0000 (06:05 +0000)]

        Reviewed by Maciej Stachowiak.

        - fix https://bugs.webkit.org/show_bug.cgi?id=18795
          REGRESSION (r32660): Text heavier with text-shadow

        * rendering/InlineTextBox.cpp:
        (WebCore::paintTextWithShadows): The loop was doing one extra pass
        without shadow even in cases where the last pass with a shadow was
        painting the text at the right position (rather than outside the clip).
        Fixed that. The only case where a separate pass without shadow is needed
        is when there is text-stroke, since in that case all shadow passes
        paint the text outside the clip.


        Reviewed by Maciej Stachowiak.

        - updated results for https://bugs.webkit.org/show_bug.cgi?id=18795
          REGRESSION (r32660): Text heavier with text-shadow

        * platform/mac/fast/css/shadow-multiple-expected.checksum:
        * platform/mac/fast/css/shadow-multiple-expected.png:
        * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.checksum:
        * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png:
        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum:
        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
        * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum:
        * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:
        * platform/mac/fast/repaint/shadow-multiple-vertical-expected.checksum:
        * platform/mac/fast/repaint/shadow-multiple-vertical-expected.png:

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

13 years agoWebCore:
beidson@apple.com [Tue, 29 Apr 2008 03:14:28 +0000 (03:14 +0000)]

2008-04-28  Brady Eidson <beidson@apple.com>

        Reviewed by Sam Weinig

        Add Storage.clear(), per updates to HTML5

        Tests: storage/domstorage/localstorage/clear.html

        * storage/LocalStorageArea.cpp:
        * storage/LocalStorageArea.h:

        * storage/SessionStorageArea.cpp:
        * storage/SessionStorageArea.h:

        * storage/Storage.cpp:
        * storage/Storage.h:
        * storage/Storage.idl:

        * storage/StorageArea.cpp:
        * storage/StorageArea.h:


2008-04-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Add Storage.clear(), per updates to HTML5

        * storage/domstorage/localstorage/clear-expected.txt: Added.
        * storage/domstorage/localstorage/clear.html: Added.
        * storage/domstorage/sessionstorage/clear-expected.txt: Added.
        * storage/domstorage/sessionstorage/clear.html: Added.

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

13 years agoWebCore:
adele@apple.com [Tue, 29 Apr 2008 01:30:20 +0000 (01:30 +0000)]

2008-04-28  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.

        WebCore part of fix for <rdar://problem/3709505>
        Safari should have a way to upload bundles from the file upload control (as zip)

        * WebCore.base.exp: Added symbols.

        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ask the application if a file will need to be replaced before it's uploaded.
          It will also give the replacement filename which is used to determine the correct mime-type and to construct the correct header.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm): Asks the application to generate any files for the form data before a form submission starts.
        (WebCore::FrameLoader::loadItem): ditto.
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didReceiveResponse): Tells the FormData from the request to remove any generated files if it needs to.
        (WebCore::ResourceLoader::didCancel): ditto.
        (WebCore::ResourceLoader::didFail): ditto.

        * platform/network/FormData.cpp:
        (WebCore::FormData::FormData): Initializes m_hasGeneratedFiles, which keeps track of whether there are files that will need to be removed.
        (WebCore::FormData::~FormData): Added.  Assert that there are no files that need to be removed, but if there are, release builds will still remove them here.
        (WebCore::FormData::appendFile): Passes along a shouldGenerateFile flag to the FormDataElement.
        (WebCore::FormData::generateFiles): Added. Iterates through the FormDataElements, and using the ChromeClient pointer, asks the application to
         create any compressed files so the FormDataElements can store the paths.
        (WebCore::FormData::removeGeneratedFilesIfNeeded): Added.  Removes generated files and their directories (if empty).
        * platform/network/FormData.h:
        (WebCore::FormDataElement::FormDataElement): Added a boolean to track whether the file will need to be generated,
         and a string to hold the path of the generated file.

        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::advanceCurrentStream): Uses the generated file path instead of the original file path when streaming the file.
        (WebCore::setHTTPBody): Uses the generated file path when determining the size of the file to be uploaded.

        * platform/FileSystem.h: Added directoryName.
        * platform/posix/FileSystemPOSIX.cpp: (WebCore::directoryName): Added.
        * platform/gtk/FileSystemGtk.cpp: (WebCore::directoryName): Added empty implementation.
        * platform/qt/FileSystemQt.cpp: (WebCore::directoryName): ditto.
        * platform/win/FileSystemWin.cpp: (WebCore::directoryName): ditto.
        * platform/wx/FileSystemWx.cpp: (WebCore::directoryName): ditto.

        Added new ChromeClient methods to give the application control over the file compression for uploading.
        * page/Chrome.cpp:
        (WebCore::ChromeClient::shouldReplaceWithGeneratedFileForUpload): Added a default implementation.
        (WebCore::ChromeClient::generateReplacementFile): ditto.
        * page/ChromeClient.h:


2008-04-28  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.

        WebKit part of fix for <rdar://problem/3709505>
        Safari should have a way to upload bundles from the file upload control (as zip)

        Added UIDelegate methods to let the application handle generating replacement files for uploads.
        In this case, Safari will create archived files for bundles so they can be uploaded properly.

        * DefaultDelegates/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
        (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        * WebView/WebUIDelegatePrivate.h:

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

13 years agoWebCore:
andersca@apple.com [Tue, 29 Apr 2008 01:28:14 +0000 (01:28 +0000)]

2008-04-28  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam, Mark, Adele and Darin.

        Add a (currently not called) method for opening the application cache database.

        * WebCore.base.exp:
        * loader/appcache/ApplicationCacheStorage.cpp:
        * loader/appcache/ApplicationCacheStorage.h:


2008-04-28  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam, Mark, Adele and Darin.

        Initialize the application cache path.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

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

13 years agoWebCore:
alice.liu@apple.com [Tue, 29 Apr 2008 01:18:52 +0000 (01:18 +0000)]

2008-04-28  Alice Liu  <alice.liu@apple.com>

        Reviewed by Darin.

        Fix <rdar://problem/4911289> Add tabindex property to all children
        of HTMLElement (7138)

        Test: fast/events/tabindex-focus-blur-all.html

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMPrivate.h:
        -DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h are no
         longer needed

        * bindings/objc/PublicDOMInterfaces.h:
        -Moving focus, blur, tabindex to HTMLElement from its descendants.

        * dom/Node.cpp:
        -The concept of being focusable now needs to account for tabindex

        * dom/Node.h:
        -Need to use a bit to keep track of whether tabindex was explicitly set
         to 0 or was just initialized to 0.
        -Make this virtual so that Anchors and GenericFormElements can determine
         tabindex without accounting for focusability
        -Renamed setTabIndex() to setTabIndexExplicitly() so as not to hide
         behind and/or be confused for HTMLElement::setTabIndex

        * html/HTMLAnchorElement.cpp:
        * html/HTMLAnchorElement.h:
        * html/HTMLGenericFormElement.cpp:
        * html/HTMLGenericFormElement.h:
        -Anchors and form elements are normally focusable, and need to avert the
         check for focusability in HTMLElement::tabIndex
         because tabIndex could be queried before a first layout happens.

        * html/HTMLElement.cpp:
        -Function Node::setTabIndex changed to Node::setTabIndexExplicitly
        -The concept of being focusable now needs to account for tabindex
        -HTML5 specifies that querying tabindex for elements that aren't
         focusable shall return -1
        -New default implementation
        * html/HTMLElement.h:

        * html/HTMLLegendElement.cpp:
        -Now with HTML5's enhanced specification of tabindex, legend elements
         themselves shall focus (if they should), and not the first form element
         they encapsulate.  This matches Firefox behavior.  HTMLLabelElements
         still forward focus to the encapsulated element.  This also matches
         other browsers.

        * html/HTMLAreaElement.cpp:
        * html/HTMLAreaElement.h:
        -HTMLAreaElement isn't subject to the same focusability requirements as
         its parent, HTMLAnchorElement. Default HTMLElement implementation is

        * html/HTMLFieldSetElement.cpp:
        * html/HTMLLegendElement.cpp:
        * html/HTMLOptGroupElement.cpp:
        * html/HTMLOptionElement.cpp:
        -These elements aren't subject to the same focusability requirements as
         their parent, HTMLGenericFormElement. Default HTMLElement
         implementation is desired.

        * html/HTMLAnchorElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        -Moving tabindex attribute, focus and blur methods from descendants of
         HTMLElement to HTMLElement


2008-04-28  Alice Liu  <alice.liu@apple.com>

        Reviewed by Darin.

        Fix <rdar://problem/4911289> Add tabindex property to all children
        of HTMLElement (7138)

        * MigrateHeaders.make:
        Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
        because now that focus() has been moved to DOMHTMLElement.h, these
        files are no longer needed.


2008-04-28  Alice Liu  <alice.liu@apple.com>

        Reviewed by Sam Weinig.

        Fix <rdar://problem/4911289> Add tabindex property to all children
        of HTMLElement (7138)

        minor updates to these existing tests:
        * fast/dom/domListEnumeration-expected.txt:
        * fast/dom/plugin-attributes-enumeration-expected.txt:
        * fast/dom/resources/domListEnumeration.js:

        * fast/events/resources/abe.png: Added.
        * fast/events/resources/tabindex-focus-blur-all-frame1.html: Added.
        * fast/events/resources/tabindex-focus-blur-all-frame2.html: Added.
        * fast/events/resources/tabindex-focus-blur-all-iframe1.html: Added.
        * fast/events/resources/tabindex-focus-blur-all-iframe2.html: Added.
        * fast/events/resources/tabindex-focus-blur-all.js: Added.
        * fast/events/tabindex-focus-blur-all-expected.txt: Added.
        * fast/events/tabindex-focus-blur-all.html: Added.

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

13 years agoWebCore:
mitz@apple.com [Mon, 28 Apr 2008 21:28:51 +0000 (21:28 +0000)]

        Reviewed by Dave Hyatt.

        - support multiple box- and text-shadows

        Tests: fast/css/shadow-multiple.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForShadow): Changed to account for reversing the order
        of the shadow values in the ShadowData list.

        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::prepend): Added.
        * css/CSSValueList.h:

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for
        all shadows in overflow calculation.
        (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
        (WebCore::InlineFlowBox::paint): Changed to account for all shadows
        when testing for intersection with the damage rect.
        (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all

        * rendering/InlineTextBox.cpp:
        (WebCore::paintTextWithShadows): Factored out from paint() and changed
        to paint all shadows.
        (WebCore::InlineTextBox::paint): Moved the text painting code out to
        paintTextWithShadows(). Changed to not paint shadows for markers and
        composition underlines and in "force black text" mode.
        (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows.
        * rendering/InlineTextBox.h: Changed some public methods to private
        or protected.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::overflowHeight): Changed to account for all
        (WebCore::RenderBlock::overflowWidth): Ditto.
        (WebCore::RenderBlock::overflowLeft): Ditto.
        (WebCore::RenderBlock::overflowTop): Ditto.
        (WebCore::RenderBlock::overflowRect): Ditto.
        (WebCore::RenderBlock::layoutBlock): Ditto.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateRects): Ditto.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows.
        Changed to avoid clipping out the box if it has a fully opaque
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account
        for all shadows.
        (WebCore::RenderObject::selectionForegroundColor): Cleaned up.
        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to
        account for all shadows.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto.

        * rendering/RenderStyle.cpp:
        (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding
        so that the stacking order of shadows when painting will be "first o
        (WebCore::RenderStyle::setBoxShadow): Ditto.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout): Changed to account for all shadows.


        Reviewed by Dave Hyatt.

        - add rendering and invalidation tests for multiple shadows

        * fast/css/shadow-multiple.html: Added.
        * fast/repaint/shadow-multiple-horizontal.html: Added.
        * fast/repaint/shadow-multiple-strict-horizontal.html: Added.
        * fast/repaint/shadow-multiple-strict-vertical.html: Added.
        * fast/repaint/shadow-multiple-vertical.html: Added.
        * platform/mac/fast/css/shadow-multiple-expected.checksum: Added.
        * platform/mac/fast/css/shadow-multiple-expected.png: Added.
        * platform/mac/fast/css/shadow-multiple-expected.txt: Added.
        * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.checksum: Added.
        * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
        * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.txt: Added.
        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum: Added.
        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.txt: Added.
        * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum: Added.
        * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
        * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.txt: Added.
        * platform/mac/fast/repaint/shadow-multiple-vertical-expected.checksum: Added.
        * platform/mac/fast/repaint/shadow-multiple-vertical-expected.png: Added.
        * platform/mac/fast/repaint/shadow-multiple-vertical-expected.txt: Added.

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

13 years ago Fix some more Windows build errors in COMPtr
aroben@apple.com [Mon, 28 Apr 2008 19:47:23 +0000 (19:47 +0000)]
    Fix some more Windows build errors in COMPtr

        * platform/win/COMPtr.h:
        (WTF::): Define DefaultHash<COMPtr<P> > by using PtrHash<COMPtr<P> >,
        which is just a copy of PtrHash<RefPtr<P> >.

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

13 years ago Fix some Windows build errors in WebKit
aroben@apple.com [Mon, 28 Apr 2008 19:39:43 +0000 (19:39 +0000)]
    Fix some Windows build errors in WebKit

        * Interfaces/WebKit.idl: Touched to force Interfaces to rebuild.
        * WebKitPrefix.cpp: Touched to force WebKit to rebuild.

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

13 years ago Fix some Windows build errors in COMPtr
aroben@apple.com [Mon, 28 Apr 2008 19:28:20 +0000 (19:28 +0000)]
    Fix some Windows build errors in COMPtr

        * platform/win/COMPtr.h: Explicitly name the WTF namespace when using

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

13 years ago Fix some Windows build errors in FontPlatfomrData
aroben@apple.com [Mon, 28 Apr 2008 19:22:38 +0000 (19:22 +0000)]
    Fix some Windows build errors in FontPlatfomrData

        * platform/graphics/win/FontPlatformData.h: Removed the Deleted
        constructor and replaced it with a HashTableDeletedValueType
        constructor. Also added isHashTableDeletedValue() and

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

13 years agoWebCore:
hyatt@apple.com [Mon, 28 Apr 2008 19:14:20 +0000 (19:14 +0000)]

2008-04-28  David Hyatt  <hyatt@apple.com>


        Canvas can't draw itself into its own buffer.  Make sure the dirtying call comes after the image()
        has been accessed.  Technically willDraw should be renamed to didDraw and all calls should be moved
        to after draws have occurred (since if the draw op itself wants to reference the image it shouldn't get
        a dirty copy either), but I'll take that up with olliej when he wakes up. :)

        Reviewed by Dan Bernstein

        Added fast/canvas/canvasDrawsIntoSelf.html

        * html/CanvasRenderingContext2D.cpp:


2008-04-28  David Hyatt  <hyatt@apple.com>

        Add layout test for canvas self-drawing bug.

        Reviewed by Dan Bernstein

        * fast/canvas/canvasDrawingIntoSelf.html: Added.
        * platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.checksum: Added.
        * platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.png: Added.
        * platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.txt: Added.

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

13 years ago Windows build fix.
ap@webkit.org [Mon, 28 Apr 2008 19:12:43 +0000 (19:12 +0000)]
    Windows build fix.

        * kjs/ExecState.h: For whatever reason, MSVC couldn't generate a default constructor for
        a struct that had a "const List" member. Removing the const qualifier makes the problem go away.

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

13 years ago Reviewed by Geoff Garen.
ap@webkit.org [Mon, 28 Apr 2008 18:58:11 +0000 (18:58 +0000)]
    Reviewed by Geoff Garen.

        <rdar://problem/5825192> Replace use of Gestalt with BSD sysctl

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::isAvailable): There is no need to check QuickTime version post-Tiger,
        as it will never be below 7.3 again. This change may make library loading happen earlier in
        some cases, hopefully, that's not a big deal.

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

13 years ago Reviewed by Darin.
ap@webkit.org [Mon, 28 Apr 2008 18:22:14 +0000 (18:22 +0000)]
    Reviewed by Darin.

        Fix run-webkit-tests --threading
        and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
        Proxy server issue in Sunday's Nightly

        Changed ClassInfo objects for built-in objects to hold a getter function returning
        a per-thread instance. This makes it safe to share these ClassInfo objects between threads -
        and these are the only ones that need to be shared.

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

13 years agoWebCore:
hyatt@apple.com [Mon, 28 Apr 2008 18:15:34 +0000 (18:15 +0000)]

2008-04-28  David Hyatt  <hyatt@apple.com>


        The arguments in drawImage were reversed when I switched away from the image buffer method.

        Reviewed by Tim Hatcher

        Added fast/canvas/drawImage.html

        * html/CanvasRenderingContext2D.cpp:


2008-04-28  David Hyatt  <hyatt@apple.com>

        Add layout test for canvas.

        Reviewed by Tim Hatcher

        * fast/canvas/drawImage.html: Added.
        * platform/mac/fast/canvas/drawImage-expected.checksum: Added.
        * platform/mac/fast/canvas/drawImage-expected.png: Added.
        * platform/mac/fast/canvas/drawImage-expected.txt: Added.

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

13 years ago2008-04-28 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 28 Apr 2008 17:18:15 +0000 (17:18 +0000)]
2008-04-28  Darin Adler  <darin@apple.com>

        Reviewed by Adam.

        - make sure RefPtr's default hash doesn't ref/deref when computing the hash
        - remove remnants of the hash table storage type optimization

        * wtf/HashFunctions.h: Used "using" to get the hash and equal functions
        from PtrHash<P*> into PtrHash<RefPtr<P>>.

        * wtf/HashMap.h: Replaced uses of PairBaseHashTraits with PairHashTraits.
        Eliminated storage-related typedefs. Removed constructor, destructor,
        copy constructor, and destructor since the compiler-generated ones are
        fine. Removed refAll and derefAll. Took out unnnecessary typecasts.
        Removed use of RefCounter.

        * wtf/HashSet.h: Eliminated storage-related typedefs. Removed constructor,
        destructor, copy constructor, and destructor since the compiler-generated
        ones are fine. Removed refAll and derefAll. Removed unneeded template
        arguents from HashSetTranslatorAdapter. Eliminated unneeded HashSetTranslator

        * wtf/HashTable.h: Tweaked formatting. Removed NeedsRef, RefCounterBase,
        RefCounter, HashTableRefCounterBase, HashTableRefCounter, and Assigner
        class templates.

        * wtf/HashTraits.h: Removed StorageTraits, needsRef, PairBaseHashTraits,
        and HashKeyStorageTraits.

        * wtf/RefPtrHashMap.h: Made all the same fixes as in HashMap. Also made
        the corresponding changes to RefPtrHashMapRawKeyTranslator.

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

13 years ago2008-04-28 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 28 Apr 2008 17:06:57 +0000 (17:06 +0000)]
2008-04-28  Darin Adler  <darin@apple.com>

        Reviewed by Adam.

        - fix Windows build

        * win/tools/vsprops/common.vsprops: Add warning 4344 to the list of disabled warnings.
        It's really a warning about a bug they fixed in MSVC -- not helpful to us in WebKit.

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

13 years ago2008-04-28 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 28 Apr 2008 16:54:24 +0000 (16:54 +0000)]
2008-04-28  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix assertion hit every time you view www.apple.com

        * kjs/PropertyNameArray.cpp:
        (KJS::PropertyNameArray::add): Changed assertion to allow null and empty strings.
        Now to find out why we have a property named "" and if that's a bug!

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Mon, 28 Apr 2008 15:25:12 +0000 (15:25 +0000)]
Holger Hans Peter Freyther <zecke@selfish.org>

Fix the crash on http://www.orad.pl. We called end too early.

    1. we need a ::write that will pause the parser due a pending
    2. we need a second write to queue data (tricky part)
    3. we need to get a finish call (document loaded)
    4. we resume the script and parse, schedule loading of a new script
       and have called end
    5. we resume the new script and we get a crash

This bug is hard to trigger, e.g. if the web server is only allowing
one connection per client/IP. This is why we need to sleep in the scripts. We
want to make sure that the page is first fully received before serving the

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Mon, 28 Apr 2008 15:24:48 +0000 (15:24 +0000)]
Holger Hans Peter Freyther <zecke@selfish.org>

Update the Skipped list, we pass most of the http/tests/misc

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Mon, 28 Apr 2008 15:24:34 +0000 (15:24 +0000)]
Holger Hans Peter Freyther <zecke@selfish.org>

Reset dumping resource load callbacks to false for the next test

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

13 years agoAriya Hidayat <ahidayat@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 15:14:58 +0000 (15:14 +0000)]
Ariya Hidayat <ahidayat@trolltech.com>

Fix rounded corner on combo box with CSS border

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

13 years agoTor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 15:14:38 +0000 (15:14 +0000)]
Tor Arne Vestbø  <tavestbo@trolltech.com>

Fix QWebView::loadFinished isn't always emitted

Replaced loadDone() with loadFinished(bool) and moved the signals for progress
tracking (start, progres, and finish) to the page instead of the frame. This
ensures that we emit loadFinished even when a subframe started the actual load.

This causes a few regressions in the layout tests that we for now accept for
the sake of the correct API. Layout tests we can fix any time though, including
patch release, the API however we can't change anymore in patch releases.

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

13 years agoAriya Hidayat <ahidayat@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 15:09:38 +0000 (15:09 +0000)]
Ariya Hidayat <ahidayat@trolltech.com>

Fix CSS border does not show up for combo boxes

Do not clear the border when painting the combo box for 'select' form element

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

13 years agoKavindra Devi Palaraja <kdpalara@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 15:09:22 +0000 (15:09 +0000)]
Kavindra Devi Palaraja  <kdpalara@trolltech.com>

Added more documentation for QWebSettings, QWebPluginFactory and QWebFrame

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

13 years agoAriya Hidayat <ahidayat@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 15:09:02 +0000 (15:09 +0000)]
Ariya Hidayat <ahidayat@trolltech.com>

Fix document/frame title not reset when loading a new URI

We should assume first the frame has no title. If it has, then the dispatchDidReceiveTitle()
will be called very soon with the correct title.
This properly resets the title when we navigate to a URI without a title.

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

13 years agoOlivier Goffart <ogoffart@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 15:08:46 +0000 (15:08 +0000)]
Olivier Goffart <ogoffart@trolltech.com>

Avoid comparing to 0 in qFuzzyCompare for increased
numeric stability.

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

13 years agoDavid Boddie <dboddie@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 14:51:23 +0000 (14:51 +0000)]
David Boddie  <dboddie@trolltech.com>

Minor documentation changes.

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

13 years agoBenjamin Meyer <bmeyer@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 14:51:11 +0000 (14:51 +0000)]
Benjamin Meyer <bmeyer@trolltech.com>

Fixes: Pages returning 404 with content are not displayed.

A web page that returns 404 can still have content.

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

13 years agoPaul Olav Tvete <paul@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 14:50:51 +0000 (14:50 +0000)]
Paul Olav Tvete <paul@trolltech.com>

Fix compiler warning

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

13 years agoTor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 14:29:57 +0000 (14:29 +0000)]
Tor Arne Vestbø <tavestbo@trolltech.com>

Prevent middle-click from triggering open URL from clipboard when the event has already been accepted.

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

13 years agoTor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 14:29:32 +0000 (14:29 +0000)]
Tor Arne Vestbø <tavestbo@trolltech.com>

Fix scrollbar behavior in QtWebKit to match QScrollBar.

Right click context menu is now supported, along with
middle click to center slider thumb over mouse cursor.

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

13 years agoTor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 14:24:42 +0000 (14:24 +0000)]
Tor Arne Vestbø  <tavestbo@trolltech.com>

Implemented channel-based logging for QtWebKit.

Comma-separated log channels are read from the QT_WEBKIT_LOG environment variable.
Warnings for notImplemented() is still output by default, but can be disabled

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

13 years agoSimon Hausmann <shausman@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:52:56 +0000 (13:52 +0000)]
Simon Hausmann <shausman@trolltech.com>

Removed setHtml(const QByteArray &) overload as it breaks the common use of the setHtml() API.

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

13 years agoKavindra Devi Palaraja <kdpalara@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:52:39 +0000 (13:52 +0000)]
Kavindra Devi Palaraja <kdpalara@trolltech.com>

Doc - adding more documentation to QWebFrame, QWebPage and QWebView

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

13 years agoSimon Hausmann <shausman@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:50:05 +0000 (13:50 +0000)]
Simon Hausmann <shausman@trolltech.com>

Fixes: Popups/Context menu in WebKit appearing at the wrong location when embedded in the graphics view or using multiple screens

Give the popups the right parent widget and the right coordinates relative within the parent.

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

13 years agoBenjamin Meyer <bmeyer@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:45:48 +0000 (13:45 +0000)]
Benjamin Meyer <bmeyer@trolltech.com>

Doc: Add see also's (and a few minor whitespace/typo corrections)

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

13 years agoKavindra Devi Palaraja <kdpalara@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:45:32 +0000 (13:45 +0000)]
Kavindra Devi Palaraja <kdpalara@trolltech.com>

Submitting more documentation for QWebPage

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

13 years agoTor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:45:19 +0000 (13:45 +0000)]
Tor Arne Vestbø <tavestbo@trolltech.com>

Fixes: Tabbing to a checkbox/button doesn't work on Win/X11

Respect platform settings for tabbing to all controls.

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

13 years agoTor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:45:05 +0000 (13:45 +0000)]
Tor Arne Vestbø <tavestbo@trolltech.com>

First part of the fix for tabbing to a checkbox/button doesn't work on Win/X11

Draw controls instead of pimitive elements, to get focus rects for free.

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

13 years agoLincoln Ramsay <lincoln.ramsay@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:44:50 +0000 (13:44 +0000)]
Lincoln Ramsay <lincoln.ramsay@trolltech.com>

Compile when QT_NO_CLIPBOARD is defined.

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

13 years agoDavid Boddie <dboddie@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:44:24 +0000 (13:44 +0000)]
David Boddie <dboddie@trolltech.com>

Minor documentation fix.

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

13 years agoAriya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 13:34:48 +0000 (13:34 +0000)]
Ariya Hidayat  <ariya.hidayat@trolltech.com>

Draw the arrow button on the styled combo box using the fallback ("Windows") style

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

13 years agoFix positioning of native widgets (plugins).
hausmann@webkit.org [Mon, 28 Apr 2008 13:30:23 +0000 (13:30 +0000)]
Fix positioning of native widgets (plugins).

Correctly convert the coordinates of the Widget in Widget::setFrameGeometry()
to be relative to the containing toplevel QWidget using convertToContainingWindow().

Note: convertToContainingWindow() takes child coordinates.

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Mon, 28 Apr 2008 13:30:08 +0000 (13:30 +0000)]
Holger Hans Peter Freyther  <zecke@selfish.org>

plugins: fix scrolling issues

    When scrolling you can see artefacts that remain on the screen, they
    seem to originate from the backingstore handling. I'm not entirely sure
    where they come from, my workarounds involved a
    data->m_widget->parentWidget()->update() call in Widget::geometryChanged or
    handling widgets with a native QWidget embedded like web pages with a
    static background. This needs more investigations, I think the ScrollView
    change is cleaner than the brute force in Widget::geometryChanged

    Focus handling seems to be broken as well and needs further work, we don't
    clip plugin QWidgets and they can draw out of their bounds, e.g. on the ScrollBar,
    the z-order is likely not honored as well.

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Mon, 28 Apr 2008 13:29:52 +0000 (13:29 +0000)]
Holger Hans Peter Freyther <zecke@selfish.org>

Add manual test to test placement of QWidgets in iframe's

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

13 years agoHolger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Mon, 28 Apr 2008 13:29:36 +0000 (13:29 +0000)]
Holger Hans Peter Freyther <zecke@selfish.org>

Implement QWebPage::createPlugin

    The code is coming from the demo browser and needed here
    for some manual tests.

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

13 years agoQt/Win build fix. Include config.h to get the implicit MathExtras.h
hausmann@webkit.org [Mon, 28 Apr 2008 11:59:41 +0000 (11:59 +0000)]
Qt/Win build fix. Include config.h to get the implicit MathExtras.h
inclusion correct with regards to rand_s.

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

13 years agoFix the build with ENABLE_DATABASE=0 (Qt/Windows) by including
hausmann@webkit.org [Mon, 28 Apr 2008 11:21:33 +0000 (11:21 +0000)]
Fix the build with ENABLE_DATABASE=0 (Qt/Windows) by including
SecurityOrigin.h. It's used in the file and also implicitly included
through the database headers.

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

13 years agoProspective Wx build fix.
hausmann@webkit.org [Mon, 28 Apr 2008 10:52:38 +0000 (10:52 +0000)]
Prospective Wx build fix.

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

13 years ago2008-04-28 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 28 Apr 2008 10:52:13 +0000 (10:52 +0000)]
2008-04-28  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Alp.

        Gtk build fix, similar to the changes done in r32609.

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

13 years ago2008-04-28 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 28 Apr 2008 10:24:57 +0000 (10:24 +0000)]
2008-04-28  Simon Hausmann  <hausmann@webkit.org>

        Prospective build fix. After r32609 it seems the workaround here
        is not needed anymore. With gcc 4.2/4.3 before 32609 the workaround
        is needed for compilation, after 32609 compilation only succeeds
        without the workaround.

        * plugins/PluginPackage.h: Removed workaround of extra StorageTraits
        specification for the custom hash function of PluginPackage used in

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

13 years ago2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Mon, 28 Apr 2008 10:10:07 +0000 (10:10 +0000)]
2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.


        Fix scrollbar painting issues in QtWebKit.

        Hovering and click-draging outside of the scrollbar would
        produce unexpected and inconcistent results. We also didn't
        pass on leave-events to the underlying WebKit code, which
        was nessecary to implement the paint fix.

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

13 years agoBug 17173: HTML5 Canvas API requires us to ignore certain operations
oliver@apple.com [Mon, 28 Apr 2008 07:41:28 +0000 (07:41 +0000)]
Bug 17173: HTML5 Canvas API requires us to ignore certain operations

Reviewed by Maciej

This fixes the semantics of a number of Canvas functions to match
the new HTML5 non-throwing semantics.

Test: fast/canvas/canvas-path-with-inf-nan-dimensions.html

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

13 years ago2008-04-27 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Mon, 28 Apr 2008 06:57:31 +0000 (06:57 +0000)]
2008-04-27  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej Stachowiak.

        Fix crash inside PtrHash::hash when loading a page.

        * wtf/HashFunctions.h: Explicitly use the superclass implementation of hash to avoid infinite recursion.

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

13 years ago Reviewed by Adele.
rwlbuis@webkit.org [Mon, 28 Apr 2008 06:49:52 +0000 (06:49 +0000)]
    Reviewed by Adele.

        onchange events don't seem to fire for input[type=range] controls.

        Fire changeEvent when dragging the slider.

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

13 years agoJavaScriptCore:
darin@apple.com [Mon, 28 Apr 2008 05:59:07 +0000 (05:59 +0000)]

2008-04-25  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix <rdar://problem/5657459> REGRESSION: JavaScriptCore no longer builds with
          GCC 4.2 due to pointer aliasing warnings

        Fix this by removing the HashTable optimizations that allowed us to share a back end
        implementation between hash tables with integers, pointers, RefPtr, and String objects
        as keys. The way it worked was incompatible with strict aliasing.

        This increases code size. On Mac OS X we'll have to regenerate .order files to avoid
        slowing down Safari startup times.

        This creates a slight slowdown in SunSpider, mitigated by the following four speedups:

        - speed up array put slightly by moving a branch (was already done for get)

        - speed up symbol table access by adding a function named inlineGet to HashMap
          and using that in symbolTableGet/Put

        - speed up PropertyNameArray creation by reducing the amount of reference count
          churn and uniqueness checking when adding names and not doing any allocation at
          all when building small arrays

        - speed up conversion of strings to floating point numbers by eliminating the
          malloc/free of the buffer for the ASCII copy of the string; a way to make
          things even faster would be to change strtod to take a UTF-16 string

        Note that there is considerable unused complexity now in HashSet/Map/Table to support
        "storage types", which is no longer used. Will do in a separate patch.

        * API/JSCallbackObjectFunctions.h:
        (KJS::JSCallbackObject<Base>::getPropertyNames): Removed explicit cast to Identifier to
        take advantage of the new PropertyNameArray::add overload and avoid reference count churn.
        * API/JSObjectRef.cpp:
        (JSPropertyNameAccumulatorAddName): Ditto.
        * JavaScriptCore.exp: Updated PropertyNameArray::add entry point name.

        * kjs/JSVariableObject.cpp: Removed now-unneeded IdentifierRepHashTraits::nullRepPtr
        definition (see below).
        (KJS::JSVariableObject::getPropertyNames): Removed explicit cast to Identifier.

        * kjs/JSVariableObject.h:
        (KJS::JSVariableObject::symbolTableGet): Use inlineGet for speed. Also changed to do
        early exit instead of nesting the body inside an if.
        (KJS::JSVariableObject::symbolTablePut): Ditto.

        * kjs/PropertyNameArray.cpp:
        (KJS::PropertyNameArray::add): Changed implementation to take a raw pointer instead of
        a reference to an identifier. Do uniqueness checking by searching the vector when the
        vector is short, only building the set once the vector is large enough.

        * kjs/PropertyNameArray.h: Added an overload of add for a raw pointer, and made the old
        add function call that one. Added an addKnownUnique function for use when the new
        name is known to be different from any other in the array. Changed the vector to have
        an inline capacity of 20.

        * kjs/SymbolTable.h: Changed IdentifierRepHash to inherit from the default hash for
        a RefPtr so we don't have to define so much. Added an overload of the hash function for
        a raw pointer as required by the new RefPtrHashMap. Got rid of the now-unneeded
        IdentifierRepHashTraits -- the default traits now work fine. Added a definition of
        empthValueIsZero to SymbolTableIndexHashTraits; not having it was incorrect, but harmless.

        * kjs/array_instance.cpp:
        (KJS::ArrayInstance::put): Move the maxArrayIndex check inside the branch that checks
        the index against the length, as done in the get function.

        * kjs/function.cpp:
        (KJS::globalFuncKJSPrint): Changed to use the new getCString instead of cstring.

        * kjs/internal.cpp: Removed printInfo debugging function, a client of cstring.
        If we need a debugging function we can easily make a better one and we haven't
        used this one in a long time.
        * kjs/internal.h: Ditto.

        * kjs/object.cpp:
        (KJS::JSObject::getPropertyNames): Removed explicit cast to Identifier.
        * kjs/property_map.cpp:
        (KJS::PropertyMap::getEnumerablePropertyNames): Ditto. Also added a special case for
        the case where the propertyNames array is empty -- in that case we know we're adding
        a set of names that are non-overlapping so we can use addKnownUnique.
        * kjs/ustring.cpp:
        (KJS::UString::getCString): Replaces cstring. Puts the C string into a CStringBuffer,
        which is a char Vector with an inline capacity. Also returns a boolean to indicate if
        the converion was lossy, which eliminates the need for a separate is8Bit call.
        (KJS::UString::toDouble): Changed to call getCString instead of cstring.
        * kjs/ustring.h: Ditto.

        * wtf/HashFunctions.h: Overload the hash and equal functions for RefPtr's default
        hash to take raw pointers. This works with the changes to RefPtrHashMap to avoid
        introducing refcount churn.

        * wtf/HashMap.h: Removed special code to convert the deleted value to the empty value
        when writing a new value into the map. This is now handled elsewhere.
        (WTF::HashMap::get): Removed code that checks for an empty hash table before calling
        HashTable::lookup; it's slightly more efficient to do this check inside lookup.

        * wtf/HashTable.h:
        (WTF::HashTable::isDeletedBucket): Changed to use isDeletedValue instead of using
        deletedValue and the equality operator.
        (WTF::HashTable::deleteBucket): Changed to use constructDeletedValue instead of
        using deletedValue and the assignment operator.
        (WTF::HashTable::checkKey): Added. Factors out the check for values that are empty
        or deleted keys that's used in various functions below.
        (WTF::HashTable::lookup): Changed to use checkKey, check for a 0 table, and also
        made public for use by RefPtrHashMap.
        (WTF::HashTable::lookupForWriting): Changed to use checkKey.
        (WTF::HashTable::fullLookupForWriting): Changed to use checkKey.
        (WTF::HashTable::add): Changed to use checkKey, and call initializeBucket on a
        deleted bucket before putting a new entry into it.
        (WTF::HashTable::addPassingHashCode): Ditto.
        (WTF::HashTable::deallocateTable): Check isDeletedBucket before calling ~ValueType.

        * wtf/HashTraits.h: Got ridd of all the HashTraits specialization for the integer
        types, since GeneicHashTraitsBase already deals with integers separately. Put the
        deleted value support into GenericHashTraitsBase. Changed FloatHashTraits to
        inherit from GenericHashTraits, and define construct/isDeletedValue rather than
        deletedValue. Removed the ref and deref functions from RefPtr's HashTraits, and
        defined construct/isDeletedValue. Eliminated DeletedValueAssigner. Changed
        PairHashTraits to define construct/isDeletedValue, and also merged
        PairBaseHashTraits in with PairHashTraits. Got rid of all specialization of
        HashKeyStorageTraits. We'll remove that, and the needsRef data member, later.

        * wtf/RefPtr.h: Added HashTableDeletedValueType, an enum type with a single value,
        HashTableDeletedValue. Used that type to make a new constructor to construct
        deleted values and also added an isHashTableDeletedValue function.

        * wtf/RefPtrHashMap.h: Added RefPtrHashMapRawKeyTranslator and used it to implement
        the raw pointer functions. This is a way to continue to avoid refcount thrash. We
        can't use the old way because it depended on the underlying map using a non-RefPtr
        (WTF::HashMap::find): Use find with RefPtrHashMapRawKeyTranslator.
        (WTF::HashMap::contains): Use contains with RefPtrHashMapRawKeyTranslator.
        (WTF::HashMap::inlineAdd): Use add with RefPtrHashMapRawKeyTranslator.
        (WTF::HashMap::get): Removed code that checks for an empty hash table before calling
        HashTable::lookup; it's slightly more efficient to do this check inside lookup.
        (WTF::HashMap::inlineGet): Added. Just like get, but marked inline for use in the
        symbol table code.


2008-04-25  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - update for compatibility with HashTable that no longer has optimization to share
          implementation between hash tables with integers, pointers, RefPtr, and String
          objects as keys

        * bindings/js/JSSVGPODTypeWrapper.h:
        (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor
        for HashTableDeletedValue.
        (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added.
        (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added.
        (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added.

        * dom/Document.cpp: Made changedDocuments internal to the file rather than a
        static data member of Document.
        (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this
        will never be called on a deleted element.
        (WebCore::FormElementKey::deref): Ditto.

        * dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue
        to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue.
        Got rid of the changedDocuments data member. Changed iconURL to be an inline that
        returns a const String&.

        * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use

        * page/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue.

        * platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work
        with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated
        SecurityOriginTraits, since we can now use the default traits. Changed the value of
        safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted
        value using this hash function. I don't think it was safe before either; I'm not sure
        why it didn't cause a problem before.

        * platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no
        longer needed.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor
        for HashTableDeletedValue.
        (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added.
        (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added.
        (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added.
        (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added.
        (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added.
        (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added.

        * platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use

        * platform/graphics/mac/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData): Added constructor for
        (WebCore::FontPlatformData::isHashTableDeletedValue): Added.
        (WebCore::FontPlatformData::hashTableDeletedFontValue): Added.

        * platform/text/PlatformString.h:
        (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings.
        (WebCore::String::String): Added constructor for HashTableDeletedValue.
        (WebCore::String::isHashTableDeletedValue): Added.
        (WebCore::swap): Added. Avoids any refcount churn when swapping two strings.

        * platform/text/StringHash.h: Changed specialization of HashTraits for
        WebCore::String to use the deleted value now defined in that class and removed
        the code to do ref/deref. Removed HashKeyStorageTraits specializations.

        * platform/win/COMPtr.h: Changed specialization of HashTraits for
        COMPtr to use the deleted value now defined in that class and removed
        the code to do ref/deref. Removed HashKeyStorageTraits specializations.
        (COMPtr::COMPtr): Added constructor for HashTableDeletedValue.
        (COMPtr::isHashTableDeletedValue): Added.
        (COMPtr::query): Removed inline keyword not needed since functions defined in the
        class definition are automatically marked inline.
        (COMPtr::hashTableDeletedValue): Added.

        * storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits.
        * storage/LocalStorage.h: Ditto.
        * storage/OriginQuotaManager.h: Ditto.
        * storage/SessionStorage.h: Ditto.

        * svg/SVGAnimatedTemplate.h:
        (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor
        for HashTableDeletedValue.
        (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added.
        (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added.
        (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added.

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

13 years ago2008-04-27 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Mon, 28 Apr 2008 05:44:13 +0000 (05:44 +0000)]
2008-04-27  Mark Rowe  <mrowe@apple.com>

        Reviewed by Tim Hatcher.

        Initialize the extra member of the xmlEntity struct when using libxml2 >= 2.6.27.

        * dom/XMLTokenizer.cpp:

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

13 years agoAdd methods to check if there is a previous/next page in the history. Also some codin...
kevino@webkit.org [Mon, 28 Apr 2008 05:37:05 +0000 (05:37 +0000)]
Add methods to check if there is a previous/next page in the history. Also some coding style cleanup.


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

13 years agoWebCore:
mitz@apple.com [Mon, 28 Apr 2008 04:46:17 +0000 (04:46 +0000)]

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=3729
          <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text

        Test: editing/selection/move-left-right.html

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyMovingRight): Added. Currently
        implemented for character granularity, all other being treated as
        (WebCore::SelectionController::modifyMovingForward): Renamed
        modifyMovingRightForward() to this.
        (WebCore::SelectionController::modifyMovingLeft): Added. Currently
        implemented for character granularity, all other being treated as
        (WebCore::SelectionController::modifyMovingBackward): Renamed
        modifyMovingLeftBackward() to this.
        (WebCore::SelectionController::modify): Changed to call either the
        visual (left/right) or logical (backward/forward) methods depending on
        the 'dir' argument for moves.
        * editing/SelectionController.h:
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Added.
        (WebCore::VisiblePosition::left): Added.
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Added.
        (WebCore::VisiblePosition::right): Added.
        * editing/VisiblePosition.h:


        Reviewed by Darin Adler.

        - test for https://bugs.webkit.org/show_bug.cgi?id=3729
          <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text

        * editing/selection/move-left-right-expected.txt: Added.
        * editing/selection/move-left-right.html: Added.
        * platform/mac/editing/selection/move-left-right-expected.txt: Added.

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

13 years agoWebCore:
weinig@apple.com [Mon, 28 Apr 2008 04:32:48 +0000 (04:32 +0000)]

2008-04-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Fix for <rdar://problem/5893385> Need to provide access to the CanvasRenderingContext2D prototype
        Add a JS constructor for CanvasRenderingContext2D.

        * html/CanvasRenderingContext2D.idl:
        * page/DOMWindow.idl:


2008-04-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Update test to reflect add the CanvasRenderingContext2d constructor.

        * fast/dom/Window/window-properties-expected.txt:

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

13 years ago Removed temp files and added appropriate svn:ignore properties.
ddkilzer@apple.com [Sun, 27 Apr 2008 03:10:44 +0000 (03:10 +0000)]
    Removed temp files and added appropriate svn:ignore properties.

        Rubber-stamped by Mark Rowe.

        * data: Added svn:ignore property for "versioncache" and "versioncache.*" files.

        * data/template: Added svn:ignore property for "template" subdirectory.
        * data/template/template: Removed precompiled template subdirectory.

        * data/versioncache: Removed.
        * data/versioncache.*: Removed backup versioncache files.

        * data/webdot: Added svn:ignore property for "*.dot" files.
        * data/webdot/*.dot: Removed cached webdot files.

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

13 years agoDelete the DerivedSources after make clean has been done so that the DerivedSouces...
kevino@webkit.org [Sun, 27 Apr 2008 02:29:22 +0000 (02:29 +0000)]
Delete the DerivedSources after make clean has been done so that the DerivedSouces don't get re-created. Also, use the proper extension for the Win wxPython extension.


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

13 years agoVersioning.
mrowe@apple.com [Sun, 27 Apr 2008 02:24:14 +0000 (02:24 +0000)]

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

13 years agoWebCore:
weinig@apple.com [Sun, 27 Apr 2008 01:56:37 +0000 (01:56 +0000)]

2008-04-26  Adam Barth  <hk9565@gmail.com>

        Reviewed by Adam Roben and Sam Weinig.

        Fixes bug http://bugs.webkit.org/show_bug.cgi?id=17331
        Fixes bug http://bugs.webkit.org/show_bug.cgi?id=16848

        Updates postMessage implementation to match HTML 5 specification:
        1) Adds origin parameter to postMessage.
        2) Removes domain and uri attributes of MessageEvent in favor of
           origin attribute.

        In order to do this correctly, we need to distinguish between hosts and domains
        in the SecurityOrigin class. There are now three ways to compare security origins:
        1) isSameSchemeHostPort compares scheme, host, and port, and is used for postMessage
        2) equal compares all aspects of the security origin, and is used for hash keys
        3) canAccess understands the semantics of schemes such as file:// and data:// URLs,
           and should be used for scripting access checks.

        Changed SecurityOrigin::toString() to generate identifiers that are suitable for
        being used as a MessageEvent's origin property. In the future, they could be used
        as database string identifiers as well. Re-used KURL parser to parse serialized

        Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

        Tests: http/tests/security/postMessage/invalid-origin-throws-exception.html

        * WebCore.base.exp:
        * bindings/js/JSDOMWindowCustom.cpp:
        * dom/Document.cpp:
        * dom/MessageEvent.cpp:
        * dom/MessageEvent.h:
        * dom/MessageEvent.idl:
        * html/CanvasRenderingContext2D.cpp:
        * page/DOMWindow.cpp:
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * platform/SecurityOrigin.cpp:
        * platform/SecurityOrigin.h:
        * platform/SecurityOriginHash.h:
        * storage/DatabaseTracker.cpp:


2008-04-20 Adam Barth <hk9565@gmail.com>

        Reviewed by Adam Roben and Sam Weinig.

        Updated WebSecurityOrigin to match new SecurityOrigin API.

        Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

        * Storage/WebSecurityOrigin.mm:
        (-[WebSecurityOrigin host]):
        (-[WebSecurityOrigin domain]):
        * Storage/WebSecurityOriginPrivate.h:


2008-04-26  Adam Barth <hk9565@gmail.com>

        Reviewed by Adam Roben and Sam Weinig.

        Renamed "domain" method to "host" to match SecurityOrigin.

        * Interfaces/IWebSecurityOrigin.idl:
        * WebSecurityOrigin.cpp:
        * WebSecurityOrigin.h:


2008-04-26  Adam Barth <hk9565@gmail.com>

        Reviewed by Adam Roben and Sam Weinig.

        Updates LayoutTestController to use host instead of domain.

        Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]):


2008-04-26  Adam Barth  <hk9565@gmail.com>

        Reviewed by Adam Roben and Sam Weinig.

        Update LayoutTests for new postMessage API.

        Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.

        * http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag-expected.txt: Removed.
        * http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html: Removed.
        * http/tests/security/postMessage/domain-unaffected-by-document-domain-expected.txt: Removed.
        * http/tests/security/postMessage/domain-unaffected-by-document-domain.html: Removed.
        * http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt: Added.
        * http/tests/security/postMessage/invalid-origin-throws-exception.html: Added.
        * http/tests/security/postMessage/javascript-page-still-sends-domain-expected.txt: Removed.
        * http/tests/security/postMessage/javascript-page-still-sends-domain.html: Removed.
        * http/tests/security/postMessage/javascript-page-still-sends-origin-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/javascript-page-still-sends-domain-expected.txt.
        * http/tests/security/postMessage/javascript-page-still-sends-origin.html: Copied from LayoutTests/http/tests/security/postMessage/javascript-page-still-sends-domain.html.
        * http/tests/security/postMessage/origin-unaffected-by-base-tag-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag-expected.txt.
        * http/tests/security/postMessage/origin-unaffected-by-base-tag.html: Copied from LayoutTests/http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html.
        * http/tests/security/postMessage/origin-unaffected-by-document-domain-expected.txt: Copied from LayoutTests/http/tests/security/postMessage/domain-unaffected-by-document-domain-expected.txt.
        * http/tests/security/postMessage/origin-unaffected-by-document-domain.html: Copied from LayoutTests/http/tests/security/postMessage/domain-unaffected-by-document-domain.html.
        * http/tests/security/postMessage/target-origin-expected.txt: Added.
        * http/tests/security/postMessage/target-origin.html: Added.

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

13 years agoAnother round of build fixes, hopefully the last this time.
kevino@webkit.org [Sun, 27 Apr 2008 01:52:18 +0000 (01:52 +0000)]
Another round of build fixes, hopefully the last this time.

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

13 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Sun, 27 Apr 2008 00:35:41 +0000 (00:35 +0000)]
Reviewed by Kevin Ollivier.

Allow the user to set the path to SWIG using an environment variable.


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

13 years agowx build fix. Add needed wx includes for compilation.
kevino@webkit.org [Sun, 27 Apr 2008 00:28:25 +0000 (00:28 +0000)]
wx build fix. Add needed wx includes for compilation.

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

13 years agowx build fix. Download the latest libpng version for building the dependencies.
kevino@webkit.org [Sun, 27 Apr 2008 00:21:54 +0000 (00:21 +0000)]
wx build fix. Download the latest libpng version for building the dependencies.

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

13 years agoWebCore:
mitz@apple.com [Sat, 26 Apr 2008 16:41:23 +0000 (16:41 +0000)]

2008-04-26  Anatoli Papirovski  <apapirovski@mac.com>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18583
        WebKit should ignore declarations with a negative value for
        line-height and font-size, including in the shorthand font form.

        Tests: fast/css/font-size-negative.html

        * css/CSSParser.cpp:


2008-04-26  Anatoli Papirovski  <apapirovski@mac.com>

        Reviewed by Dave Hyatt.

        Test for https://bugs.webkit.org/show_bug.cgi?id=18583
        Negative values are invalid for font-size and line-height,
        including in the shorthand "font".

        * fast/css/font-size-negative.html: Added.
        * fast/css/line-height-negative.html: Added.
        * platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.checksum:
        * platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.png:
        * platform/mac/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt:
        * platform/mac/fast/css/font-size-negative-expected.checksum: Added.
        * platform/mac/fast/css/font-size-negative-expected.png: Added.
        * platform/mac/fast/css/font-size-negative-expected.txt: Added.
        * platform/mac/fast/css/line-height-negative-expected.checksum: Added.
        * platform/mac/fast/css/line-height-negative-expected.png: Added.
        * platform/mac/fast/css/line-height-negative-expected.txt: Added.

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

13 years ago<rdar://problem/5891264> Don't install the JavaScriptGlue headers
mrowe@apple.com [Sat, 26 Apr 2008 03:28:08 +0000 (03:28 +0000)]
<rdar://problem/5891264> Don't install the JavaScriptGlue headers

Reviewed by Adele Peterson.

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