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

        Fix my WebPreferences revert check-in

        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-04-30  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        This patch does three things:
        1. Adds support for the "img" ARIA role
        2. Switches over to a HashMap for converting ARIA role attributes 
        to WebCore's AccessibilityRole type. 
        3. Fixes a crash in the new ARIA code that I ran into while 
        browsing with VoiceOver enabled.

        * page/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::headingLevel): This is the crash 
        fix. Make sure the node's renderer is not null before looking up 
        its corresponding AccessibilityObject in the cache.
        (WebCore::AccessibilityObject::accessibilityIsIgnored): Account for 
        ARIA images.
        (WebCore::createARIARoleMap): Switch to HashMap, and add "img" to 
        the Map.
        (WebCore::RoleEntry::): Same.
        (WebCore::ariaRoleToWebCoreRole): Same.
        (WebCore::AccessibilityObject::ariaRoleAttribute): Same.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore:

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

        Reviewed by Adam.

        Add new Cocoa event model type declarations.
        
        * bridge/npapi.h:

WebKit:

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

        Reviewed by Adam.

        Add Cocoa event handler.
        
        * WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

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

        Reviewed by Adam.

        Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
        
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (PluginTimer::PluginTimer):
        (PluginTimer::start):
        (PluginTimer::fired):
        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
        (-[WebBaseNetscapePluginView stopTimers]):
        (-[WebBaseNetscapePluginView restartTimers]):
        (-[WebBaseNetscapePluginView scrollWheel:]):
        (-[WebBaseNetscapePluginView flagsChanged:]):
        (-[WebBaseNetscapePluginView start]):
        (-[WebBaseNetscapePluginView eventModel]):
        (-[WebBaseNetscapePluginView fini]):
        (-[WebBaseNetscapePluginView getVariable:value:]):
        (-[WebBaseNetscapePluginView setVariable:value:]):
        (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
        (-[WebBaseNetscapePluginView unscheduleTimer:]):
        * Plugins/WebBaseNetscapePluginViewInternal.h:
        * Plugins/WebBaseNetscapePluginViewPrivate.h:
        * Plugins/WebNetscapePluginEventHandler.h:
        * Plugins/WebNetscapePluginEventHandler.mm:
        (WebNetscapePluginEventHandler::create):
        * Plugins/WebNetscapePluginEventHandlerCarbon.h:
        * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
        (WebNetscapePluginEventHandlerCarbon::scrollWheel):
        (WebNetscapePluginEventHandlerCarbon::flagsChanged):
        (WebNetscapePluginEventHandlerCarbon::platformWindow):
        * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
        (WebNetscapePluginEventHandlerCocoa::startTimers):
        (WebNetscapePluginEventHandlerCocoa::stopTimers):
        * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
        (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
        (WebNetscapePluginEventHandlerCocoa::drawRect):
        (WebNetscapePluginEventHandlerCocoa::mouseDown):
        (WebNetscapePluginEventHandlerCocoa::mouseDragged):
        (WebNetscapePluginEventHandlerCocoa::mouseEntered):
        (WebNetscapePluginEventHandlerCocoa::mouseExited):
        (WebNetscapePluginEventHandlerCocoa::mouseMoved):
        (WebNetscapePluginEventHandlerCocoa::mouseUp):
        (WebNetscapePluginEventHandlerCocoa::scrollWheel):
        (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
        (WebNetscapePluginEventHandlerCocoa::keyDown):
        (WebNetscapePluginEventHandlerCocoa::keyUp):
        (WebNetscapePluginEventHandlerCocoa::flagsChanged):
        (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
        (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
        (WebNetscapePluginEventHandlerCocoa::focusChanged):
        (WebNetscapePluginEventHandlerCocoa::platformWindow):
        (WebNetscapePluginEventHandlerCocoa::sendEvent):
        * Plugins/WebNetscapePluginPackage.m:
        (-[WebNetscapePluginPackage load]):
        * Plugins/npapi.m:
        (NPN_ScheduleTimer):
        (NPN_UnscheduleTimer):
        * Plugins/npfunctions.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-04-30  Julien Chaffraix  <jchaffraix@webkit.org>

        Qt 4.3 build fix.

        Fixes a brace error that made Qt 4.4 build but not Qt 4.3.

        * Api/qwebview.cpp:
        (QWebView::event):




git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Anders.

        GTK+ build fix for changes in r32752. Use int32, not int32_t types in
        npapi.h.

        Additional fix to use same signedness in npapi.h and Mac for the
        interval parameter.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        <rdar://problem/5770054> JavaScript profiler (10928)
        - Fix "sample" output so that it can be imported into Instruments
        - Also keep track of number of times a function is profiled.

        * JavaScriptCore.xcodeproj/project.pbxproj: Add StrHash.h which needed
        to be pulled out of identifier.cpp so that it could be used by the
        profiler and identifiers.
        * kjs/identifier.cpp: Ditto.
        * profiler/FunctionCallProfile.cpp:
        (KJS::FunctionCallProfile::printDataInspectorStyle): Inspector style
        printing should show microseconds.
        (KJS::FunctionCallProfile::printDataSampleStyle): Sample style printing
        now counts the number of times a function is in the stack tree and does
        not print microseconds since that does not make sense for a sampler.
        * profiler/FunctionCallProfile.h: Keep track of number of times a
        function is profiled.
        (KJS::FunctionCallProfile::numberOfCalls):
        * profiler/Profiler.cpp:
        (KJS::functionNameCountPairComparator): Comparator for sort function in
        printDataSampleStyle.
        (KJS::Profiler::printDataSampleStyle): Print the number of times that a
        function is listed in the stack tree in order of most times listed.
        * wtf/HashCountedSet.h: Added copyToVector since it didn't exist and is
        a more standard way to copy a HashSet to a Vector. I added on variant
        that takes a pair as the Vector's type and so the HashCountedSet simply
        fills in that pair with its internal pair, and another variant that
        takes a Vector of the type of the HashCountedSet and only fills in the
        Vector with the first element of the pair.
        (WTF::copyToVector):
        * wtf/StrHash.h: Added.
        (WTF::):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Dan Winship  <danw@gnome.org>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=18490
        Add mostly-working file: support and mostly-broken ftp: support to
        the soup backend.

        * platform/network/soup/ResourceHandleSoup.cpp (start): after
        doing basic checks, delegate to one of three submethods
        (startData): handles data: URLs
        (startHttp): handles http: and https: URLs, via libsoup
        (startGio, etc): handles file: and ftp: URLs, via gio. Lots of
        FIXMEs detailing the parts that don't fully work yet.

        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h: add new member
        variables for gio-based loading


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Move management of cache groups to ApplicationCacheStorage. Also,
        application caches now start out with a null group and will have their group set
        when the cache has finished loading. 

        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::ApplicationCache):
        Initialize m_group to 0.
        
        (WebCore::ApplicationCache::~ApplicationCache):
        Null check the group.
        
        (WebCore::ApplicationCache::setGroup):
        New method for setting the group.
        
        * loader/appcache/ApplicationCache.h:        
        (WebCore::ApplicationCache::create):
        Remove the group argument.
        
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
        Let the storage know that the cache group has been destroyed.
        
        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
        Call into the storage.
        
        (WebCore::ApplicationCacheGroup::selectCache):
        Call into the storage.
        
        (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
        When there are no document loaders associated with the cache group,
        set the newest cache to 0.
        
        (WebCore::ApplicationCacheGroup::cacheDestroyed):
        Delete the group if there are no associated caches.
        
        (WebCore::ApplicationCacheGroup::setNewestCache):
        New method that will set the newest cache and associate the group with the cache.
        
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        Call setNewestCache instead.
        
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::urlHostHash):
        Move host hash method here.
        
        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
        New method that finds a cache group with a given manifest URL or creates a new one.

        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
        New method that returns a cache group for a given URL.
        
        (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
        When the cache group has been destroyed, remove it from the hash map.
        
        * loader/appcache/ApplicationCacheStorage.h:
        Add new methods.I b



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JavaScriptCore:

2008-05-01  Sam Weinig  <sam@webkit.org>

        Fix build.

        * JavaScriptCore.xcodeproj/project.pbxproj:

WebCore:

2008-05-01  Sam Weinig  <sam@webkit.org>

        Fix build.

        * ForwardingHeaders/wtf/StrHash.h: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Sam Weinig  <sam@webkit.org>

        Update results with -webkit-box-reflect values.

        * fast/css/computed-style-expected.txt:
        * fast/css/computed-style-without-renderer-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Turn off deprecated warnings for WebNetscapePluginEventHandlerCarbon.mm.

        * WebKit.xcodeproj/project.pbxproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>

        Reviewed by Alp Toker.
        Qt parts OK'ed by Simon Hausmann.

        Based on work by several authors.

        https://bugs.webkit.org/show_bug.cgi?id=14750
        Added support for NPAPI plugins on Gtk and Qt-x11 ports.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Clean up configuration usage in run-webkit-tests

        Reviewed by Adam.

        * Scripts/run-webkit-tests: Parse configuration switches using
        passedConfiguration() from webkitdirs.pm like every other script.
        Note that we must still call setConfiguration() afterwards in
        case the --configuration switch was used.  Use $configurationOption
        when running build-dumprendertree instead of recreating the switch.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cleaned up ugly if/else statement.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Alice Liu  <alice.liu@apple.com>

        Rubber-stamped by Sam Weinig.

        fast/events/tabindex-focus-blur-all.html was timing out on some machines
        Make this test faster by not doing += on innerHTML. 

        * fast/events/resources/tabindex-focus-blur-all.js:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Forward mouse move events to the Netscape plug-in view.
        
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView handleMouseMoved:]):
        New method that just calls the current event handler.
        
        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
        (WebNetscapePluginEventHandlerCocoa::flagsChanged):
        NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
        don't work on it so don't call them.
        
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (NetscapePluginWidget::NetscapePluginWidget):
        New Widget subclass to be used for Netscape plug-ins.
        
        (NetscapePluginWidget::handleEvent):
        Forward NSMouseMoved events to the plug-in.
        
        (WebFrameLoaderClient::createPlugin):
        Wrap the plug-in view in a NetscapePluginWidget.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Versioning.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Versioning.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32774 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2008-05-01  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Export methods needed to subclass Widget.  (See r32770.)

        * WebCore.base.exp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32775 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Rubber-stamped by Sam Weinig.
        
        Mark a couple UTF16 files as binary so windows-svn doesn't mutilate them on checkout.

        * fast/xsl/xslt-enc16.xml: add svn:mime-type application/octet-stream
        * fast/xsl/xslt-enc16to16.xml: add svn:mime-type application/octet-stream


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