Changeset 30923 in webkit


Ignore:
Timestamp:
Mar 10, 2008 4:52:27 AM (16 years ago)
Author:
Simon Hausmann
Message:

2008-03-07 Simon Hausmann <Simon Hausmann>

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

Reviewed by Darin.

Done with Lars.

WebCore:

Ported the manually written JS bindings of window.navigator,
window.navigator.plugins and window.navigator.mimeTypes to
auto-generated bindings.

Moved the globally cached plugin and mimetype information to a
per WebCore::Page shared PluginData structure.

Implemented window.navigator.plugins.refresh() in a
platform-independent way.

LayoutTests:

Added a testcase for http://bugs.webkit.org/show_bug.cgi?id=16815

WebKit/qt:

Replaced the QWebObjectPlugin interfaces with QWebPluginFactory.

WebKit/mac:

Simplified WebViewFactory's refreshPlugins method to only refresh the
plugins and not reload the frames anymore since that's now done in a
platform independent manner by WebCore::Page.

Also removed the now unused pluginNameForMIMEType and
pluginSupportsMIMEType methods.

WebKitTools/DumpRenderTree/qt:

Ported the netscape test plugin to QWebPluginFactory.

Location:
trunk
Files:
30 added
9 deleted
45 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r30915 r30923  
     12008-03-07  Simon Hausmann  <hausmann@webkit.org>
     2
     3        Reviewed by Darin.
     4
     5        Done with Lars.
     6
     7        Added plugins subdirectory to the include path.
     8
     9        * WebKit.pri:
     10
    1112008-03-09  Alp Toker  <alp@atoker.com>
    212
  • trunk/LayoutTests/ChangeLog

    r30905 r30923  
     12008-03-07  Simon Hausmann  <hausmann@webkit.org>
     2
     3        Reviewed by Darin.
     4
     5        Done with Lars.
     6
     7        Added a testcase for http://bugs.webkit.org/show_bug.cgi?id=16815
     8
     9        * fast/js/navigator-plugins-crash-expected.txt: Added.
     10        * fast/js/navigator-plugins-crash.html: Added.
     11
    1122008-03-08 Oliver Hunt  <oliver@apple.com>
    213
  • trunk/WebCore/ChangeLog

    r30922 r30923  
     12008-03-07  Simon Hausmann  <hausmann@webkit.org>
     2
     3        Reviewed by Darin.
     4
     5        Done with Lars.
     6
     7        http://bugs.webkit.org/show_bug.cgi?id=16815
     8
     9        Ported the manually written JS bindings of window.navigator,
     10        window.navigator.plugins and window.navigator.mimeTypes to
     11        auto-generated bindings.
     12
     13        Moved the globally cached plugin and mimetype information to a
     14        per WebCore::Page shared PluginData structure.
     15
     16        Implemented window.navigator.plugins.refresh() in a
     17        platform-independent way.
     18
     19        * DerivedSources.make:
     20        * GNUmakefile.am:
     21        * WebCore.pro:
     22        * WebCore.vcproj/WebCore.vcproj:
     23        * WebCore.xcodeproj/project.pbxproj:
     24        * bindings/js/JSDOMWindowBase.cpp:
     25        (WebCore::JSDOMWindowBase::getValueProperty):
     26        * bindings/js/JSMimeTypeArrayCustom.cpp: Added.
     27        (WebCore::JSMimeTypeArray::canGetItemsForName):
     28        (WebCore::JSMimeTypeArray::nameGetter):
     29        * bindings/js/JSNavigatorCustom.cpp: Added.
     30        (WebCore::needsYouTubeQuirk):
     31        (WebCore::JSNavigator::appVersion):
     32        * bindings/js/JSPluginArrayCustom.cpp: Added.
     33        (WebCore::JSPluginArray::canGetItemsForName):
     34        (WebCore::JSPluginArray::nameGetter):
     35        * bindings/js/JSPluginCustom.cpp: Added.
     36        (WebCore::JSPlugin::canGetItemsForName):
     37        (WebCore::JSPlugin::nameGetter):
     38        * bindings/js/kjs_navigator.cpp: Removed.
     39        * bindings/js/kjs_navigator.h: Removed.
     40        * dom/Clipboard.cpp:
     41        * dom/DOMImplementation.cpp:
     42        (WebCore::DOMImplementation::createDocument):
     43        * loader/FrameLoader.cpp:
     44        (WebCore::FrameLoader::shouldUsePlugin):
     45        * page/DOMWindow.cpp:
     46        (WebCore::DOMWindow::clear):
     47        (WebCore::DOMWindow::navigator):
     48        * page/DOMWindow.h:
     49        * page/DOMWindow.idl:
     50        * page/DragController.cpp:
     51        * page/Frame.cpp:
     52        * page/Frame.h:
     53        * page/Navigator.cpp: Added.
     54        (WebCore::Navigator::Navigator):
     55        (WebCore::Navigator::~Navigator):
     56        (WebCore::Navigator::disconnectFrame):
     57        (WebCore::Navigator::appCodeName):
     58        (WebCore::Navigator::appName):
     59        (WebCore::Navigator::appVersion):
     60        (WebCore::Navigator::language):
     61        (WebCore::Navigator::userAgent):
     62        (WebCore::Navigator::platform):
     63        (WebCore::Navigator::plugins):
     64        (WebCore::Navigator::mimeTypes):
     65        (WebCore::Navigator::product):
     66        (WebCore::Navigator::productSub):
     67        (WebCore::Navigator::vendor):
     68        (WebCore::Navigator::vendorSub):
     69        (WebCore::Navigator::cookieEnabled):
     70        (WebCore::Navigator::javaEnabled):
     71        * page/Navigator.h: Added.
     72        (WebCore::Navigator::create):
     73        (WebCore::Navigator::frame):
     74        * page/Navigator.idl: Added.
     75        * page/Page.cpp:
     76        (WebCore::Page::refreshPlugins):
     77        (WebCore::Page::pluginData):
     78        * page/Page.h:
     79        * page/Plugin.h: Removed.
     80        * page/mac/FrameMac.mm:
     81        * page/mac/WebCoreFrameBridge.mm:
     82        (-[WebCoreFrameBridge canProvideDocumentSource]):
     83        * page/mac/WebCoreViewFactory.h:
     84        * page/qt/FrameQt.cpp:
     85        * page/win/FrameWin.cpp:
     86        * platform/gtk/TemporaryLinkStubs.cpp:
     87        * platform/mac/PlugInInfoStoreMac.mm: Removed.
     88        * platform/qt/MIMETypeRegistryQt.cpp:
     89        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
     90        * plugins/MimeType.cpp: Added.
     91        (WebCore::MimeType::MimeType):
     92        (WebCore::MimeType::~MimeType):
     93        (WebCore::MimeType::type):
     94        (WebCore::MimeType::suffixes):
     95        (WebCore::MimeType::description):
     96        (WebCore::MimeType::enabledPlugin):
     97        * plugins/MimeType.h: Added.
     98        (WebCore::MimeType::create):
     99        * plugins/MimeType.idl: Added.
     100        * plugins/MimeTypeArray.cpp: Added.
     101        (WebCore::MimeTypeArray::MimeTypeArray):
     102        (WebCore::MimeTypeArray::~MimeTypeArray):
     103        (WebCore::MimeTypeArray::length):
     104        (WebCore::MimeTypeArray::item):
     105        (WebCore::MimeTypeArray::canGetItemsForName):
     106        (WebCore::MimeTypeArray::nameGetter):
     107        (WebCore::MimeTypeArray::getPluginData):
     108        * plugins/MimeTypeArray.h: Added.
     109        (WebCore::MimeTypeArray::create):
     110        (WebCore::MimeTypeArray::disconnectFrame):
     111        * plugins/MimeTypeArray.idl: Added.
     112        * plugins/Plugin.cpp: Added.
     113        (WebCore::Plugin::Plugin):
     114        (WebCore::Plugin::~Plugin):
     115        (WebCore::Plugin::name):
     116        (WebCore::Plugin::filename):
     117        (WebCore::Plugin::description):
     118        (WebCore::Plugin::length):
     119        (WebCore::Plugin::item):
     120        (WebCore::Plugin::canGetItemsForName):
     121        (WebCore::Plugin::nameGetter):
     122        * plugins/Plugin.h: Added.
     123        (WebCore::Plugin::create):
     124        * plugins/Plugin.idl: Added.
     125        * plugins/PluginArray.cpp: Added.
     126        (WebCore::PluginArray::PluginArray):
     127        (WebCore::PluginArray::~PluginArray):
     128        (WebCore::PluginArray::length):
     129        (WebCore::PluginArray::item):
     130        (WebCore::PluginArray::canGetItemsForName):
     131        (WebCore::PluginArray::nameGetter):
     132        (WebCore::PluginArray::refresh):
     133        (WebCore::PluginArray::getPluginData):
     134        * plugins/PluginArray.h: Added.
     135        (WebCore::PluginArray::create):
     136        (WebCore::PluginArray::disconnectFrame):
     137        * plugins/PluginArray.idl: Added.
     138        * plugins/PluginData.cpp: Added.
     139        (WebCore::PluginData::PluginData):
     140        (WebCore::PluginData::~PluginData):
     141        (WebCore::PluginData::supportsMimeType):
     142        (WebCore::PluginData::pluginNameForMimeType):
     143        * plugins/PluginData.h: Added.
     144        (WebCore::PluginData::create):
     145        (WebCore::PluginData::disconnectPage):
     146        (WebCore::PluginData::page):
     147        (WebCore::PluginData::plugins):
     148        (WebCore::PluginData::mimes):
     149        * plugins/mac/PluginDataMac.mm: Added.
     150        (WebCore::PluginData::initPlugins):
     151        (WebCore::PluginData::refresh):
     152        * plugins/qt/PluginDataQt.cpp: Added.
     153        (WebCore::PluginData::initPlugins):
     154        * plugins/win/PluginDataWin.cpp: Added.
     155        (WebCore::PluginData::initPlugins):
     156        (WebCore::PluginData::refresh):
     157
    11582008-03-10  Simon Hausmann  <hausmann@webkit.org>
    2159
  • trunk/WebCore/DerivedSources.make

    r30919 r30923  
    3434    $(WebCore)/html \
    3535    $(WebCore)/page \
     36    $(WebCore)/plugins \
    3637    $(WebCore)/storage \
    3738    $(WebCore)/xml \
     
    344345    JSEventTargetBase.lut.h \
    345346    JSLocation.lut.h \
     347    JSPlugin.h \
     348    JSPluginArray.h \
     349    JSNavigator.h \
     350    JSMimeType.h \
     351    JSMimeTypeArray.h \
    346352    JSRGBColor.lut.h \
    347353    JSXMLHttpRequest.lut.h \
    348354    JSXSLTProcessor.lut.h \
    349     kjs_navigator.lut.h \
    350355    \
    351356    JSHTMLInputElementBaseTable.cpp \
  • trunk/WebCore/GNUmakefile.am

    r30874 r30923  
    5555        WebCore/bindings/js/JSXMLHttpRequest.lut.h \
    5656        WebCore/bindings/js/JSXSLTProcessor.lut.h \
    57         WebCore/bindings/js/kjs_navigator.lut.h \
    5857        WebCore/bindings/js/JSHTMLInputElementBaseTable.cpp
    5958
     
    172171        DerivedSources/JSKeyboardEvent.h \
    173172        DerivedSources/JSMediaList.h \
     173        DerivedSources/JSMimeType.h \
     174        DerivedSources/JSMimeTypeArray.h \
    174175        DerivedSources/JSMouseEvent.h \
    175176        DerivedSources/JSMutationEvent.h \
    176177        DerivedSources/JSNamedNodeMap.h \
     178        DerivedSources/JSNavigator.h \
    177179        DerivedSources/JSNode.h \
    178180        DerivedSources/JSNodeFilter.h \
     
    181183        DerivedSources/JSNotation.h \
    182184        DerivedSources/JSOverflowEvent.h \
     185        DerivedSources/JSPlugin.h \
     186        DerivedSources/JSPluginArray.h \
    183187        DerivedSources/JSProcessingInstruction.h \
    184188        DerivedSources/JSProgressEvent.h \
     
    298302        DerivedSources/JSKeyboardEvent.cpp \
    299303        DerivedSources/JSMediaList.cpp \
     304        DerivedSources/JSMimeType.cpp \
     305        DerivedSources/JSMimeTypeArray.cpp \
    300306        DerivedSources/JSMouseEvent.cpp \
    301307        DerivedSources/JSMutationEvent.cpp \
    302308        DerivedSources/JSNamedNodeMap.cpp \
     309        DerivedSources/JSNavigator.cpp \
    303310        DerivedSources/JSNode.cpp \
    304311        DerivedSources/JSNodeFilter.cpp \
     
    307314        DerivedSources/JSNotation.cpp \
    308315        DerivedSources/JSOverflowEvent.cpp \
     316        DerivedSources/JSPlugin.cpp \
     317        DerivedSources/JSPluginArray.cpp \
    309318        DerivedSources/JSProcessingInstruction.cpp \
    310319        DerivedSources/JSProgressEvent.cpp \
     
    444453        WebCore/page/DOMWindow.idl \
    445454        WebCore/page/History.idl \
     455        WebCore/page/Navigator.idl \
    446456        WebCore/page/Screen.idl \
     457        WebCore/plugins/MimeType.idl \
     458        WebCore/plugins/MimeTypeArray.idl \
     459        WebCore/plugins/Plugin.idl \
     460        WebCore/plugins/PluginArray.idl \
    447461        WebCore/xml/DOMParser.idl \
    448462        WebCore/xml/XMLHttpRequestException.idl \
     
    488502        WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp \
    489503        WebCore/bindings/js/JSHTMLSelectElementCustom.cpp \
     504        WebCore/bindings/js/JSMimeTypeArrayCustom.cpp \
    490505        WebCore/bindings/js/JSNamedNodeMapCustom.cpp \
    491506        WebCore/bindings/js/JSNamedNodesCollection.cpp  \
     507        WebCore/bindings/js/JSNavigatorCustom.cpp  \
    492508        WebCore/bindings/js/JSNodeCustom.cpp \
    493509        WebCore/bindings/js/JSNodeFilterCondition.cpp \
     
    496512        WebCore/bindings/js/JSNodeListCustom.cpp \
    497513        WebCore/bindings/js/JSRGBColor.cpp \
     514        WebCore/bindings/js/JSPluginArrayCustom.cpp \
     515        WebCore/bindings/js/JSPluginCustom.cpp \
    498516        WebCore/bindings/js/JSStyleSheetCustom.cpp \
    499517        WebCore/bindings/js/JSStyleSheetListCustom.cpp \
     
    504522        WebCore/bindings/js/kjs_events.cpp \
    505523        WebCore/bindings/js/kjs_html.cpp \
    506         WebCore/bindings/js/kjs_navigator.cpp \
    507524        WebCore/bindings/js/kjs_proxy.cpp \
    508525        WebCore/bindings/js/PausedTimeouts.cpp \
     
    804821        WebCore/page/JavaScriptDebugServer.cpp \
    805822        WebCore/page/MouseEventWithHitTestResults.cpp \
     823        WebCore/page/Navigator.cpp \
    806824        WebCore/page/Page.cpp \
    807825        WebCore/page/PageGroup.cpp \
     
    865883        WebCore/platform/text/UnicodeRange.cpp \
    866884        WebCore/platform/Widget.cpp \
     885        WebCore/plugins/MimeType.cpp \
     886        WebCore/plugins/MimeTypeArray.cpp \
     887        WebCore/plugins/Plugin.cpp \
     888        WebCore/plugins/PluginArray.cpp \
     889        WebCore/plugins/PluginData.cpp \
    867890        WebCore/plugins/PluginDatabase.cpp \
    868891        WebCore/plugins/PluginInfoStore.cpp \
     
    20512074    $(WebCore)/storage \
    20522075    $(WebCore)/svg \
    2053     $(WebCore)/xml
     2076    $(WebCore)/xml \
     2077    $(WebCore)/plugins
    20542078
    20552079DerivedSources/JS%.h: DerivedSources/JS%.cpp;
     
    20712095        JSRGBColor.lut.h \
    20722096        JSXMLHttpRequest.lut.h \
    2073         JSXSLTProcessor.lut.h \
    2074         kjs_navigator.lut.h
    2075 
     2097        JSXSLTProcessor.lut.h
     2098
  • trunk/WebCore/WebCore.pro

    r30874 r30923  
    254254    bindings/js/JSRGBColor.cpp \
    255255    bindings/js/JSXMLHttpRequest.cpp \
    256     bindings/js/JSXSLTProcessor.cpp \
    257     bindings/js/kjs_navigator.cpp
     256    bindings/js/JSXSLTProcessor.cpp
    258257
    259258LUT_TABLE_FILES += \
     
    386385    page/History.idl \
    387386    page/Screen.idl \
     387    page/Navigator.idl \
     388    plugins/Plugin.idl \
     389    plugins/MimeType.idl \
     390    plugins/PluginArray.idl \
     391    plugins/MimeTypeArray.idl \
    388392    xml/DOMParser.idl \
    389393    xml/XMLHttpRequestException.idl \
     
    429433    bindings/js/JSNamedNodeMapCustom.cpp \
    430434    bindings/js/JSNamedNodesCollection.cpp  \
     435    bindings/js/JSNavigatorCustom.cpp  \
    431436    bindings/js/JSNodeCustom.cpp \
    432437    bindings/js/JSNodeFilterCondition.cpp \
     
    440445    bindings/js/JSXMLHttpRequest.cpp \
    441446    bindings/js/JSXSLTProcessor.cpp \
     447    bindings/js/JSPluginCustom.cpp \
     448    bindings/js/JSPluginArrayCustom.cpp \
     449    bindings/js/JSMimeTypeArrayCustom.cpp \
    442450    bindings/js/kjs_binding.cpp \
    443451    bindings/js/kjs_events.cpp \
    444452    bindings/js/kjs_html.cpp \
    445     bindings/js/kjs_navigator.cpp \
    446453    bindings/js/kjs_proxy.cpp \
    447454    bindings/js/PausedTimeouts.cpp \
     
    733740    page/DOMSelection.cpp \
    734741    page/DOMWindow.cpp \
     742    page/Navigator.cpp \
    735743    page/DragController.cpp \
    736744    page/EventHandler.cpp \
     
    748756    page/Settings.cpp \
    749757    page/WindowFeatures.cpp \
     758    plugins/PluginData.cpp \
     759    plugins/PluginArray.cpp \
     760    plugins/Plugin.cpp \
     761    plugins/MimeType.cpp \
     762    plugins/MimeTypeArray.cpp \
    750763    platform/Arena.cpp \
    751764    platform/text/AtomicString.cpp \
     
    912925    $$PWD/../WebKit/qt/Api/qwebview.h \
    913926    $$PWD/../WebKit/qt/Api/qwebhistoryinterface.h \
     927    $$PWD/../WebKit/qt/Api/qwebpluginfactory.h \
    914928    $$PWD/../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h \
    915929    $$PWD/platform/network/qt/QNetworkReplyHandler.h
     
    977991    platform/qt/WheelEventQt.cpp \
    978992    platform/qt/WidgetQt.cpp \
     993    plugins/qt/PluginDataQt.cpp \
    979994    ../WebKit/qt/WebCoreSupport/ChromeClientQt.cpp \
    980995    ../WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp \
     
    9901005    ../WebKit/qt/Api/qwebsettings.cpp \
    9911006    ../WebKit/qt/Api/qwebhistoryinterface.cpp \
     1007    ../WebKit/qt/Api/qwebpluginfactory.cpp
    9921008
    9931009    unix: SOURCES += platform/qt/SystemTimeQt.cpp
     
    9991015            $$PWD/../WebKit/qt/Api/qwebnetworkinterface.h \
    10001016            $$PWD/../WebKit/qt/Api/qwebnetworkinterface_p.h \
    1001             $$PWD/../WebKit/qt/Api/qwebobjectplugin.h \
    1002             $$PWD/../WebKit/qt/Api/qwebobjectplugin_p.h \
    1003             $$PWD/../WebKit/qt/Api/qwebobjectpluginconnector.h \
    10041017            $$PWD/../WebKit/qt/Api/qcookiejar.h
    10051018
    10061019        SOURCES += \
    10071020            ../WebKit/qt/Api/qwebnetworkinterface.cpp \
    1008             ../WebKit/qt/Api/qwebobjectplugin.cpp \
    1009             ../WebKit/qt/Api/qwebobjectpluginconnector.cpp \
    10101021            ../WebKit/qt/Api/qcookiejar.cpp
    10111022
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r30920 r30923  
    13671367                        </File>
    13681368                        <File
     1369                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSMimeType.cpp"
     1370                                >
     1371                        </File>
     1372                        <File
     1373                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSMimeType.h"
     1374                                >
     1375                        </File>
     1376                        <File
     1377                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSMimeTypeArray.cpp"
     1378                                >
     1379                        </File>
     1380                        <File
     1381                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSMimeTypeArray.h"
     1382                                >
     1383                        </File>
     1384                        <File
    13691385                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSMouseEvent.cpp"
    13701386                                >
     
    13911407                        </File>
    13921408                        <File
     1409                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSNavigator.cpp"
     1410                                >
     1411                        </File>
     1412                        <File
     1413                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSNavigator.h"
     1414                                >
     1415                        </File>
     1416                        <File
    13931417                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSNode.cpp"
    13941418                                >
     
    14361460                        <File
    14371461                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSOverflowEvent.h"
     1462                                >
     1463                        </File>
     1464                        <File
     1465                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSPlugin.cpp"
     1466                                >
     1467                        </File>
     1468                        <File
     1469                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSPlugin.h"
     1470                                >
     1471                        </File>
     1472                        <File
     1473                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSPluginArray.cpp"
     1474                                >
     1475                        </File>
     1476                        <File
     1477                                RelativePath="..\..\WebKitBuild\obj\WebCore\DerivedSources\JSPluginArray.h"
    14381478                                >
    14391479                        </File>
     
    29933033                        </File>
    29943034                        <File
     3035                                RelativePath="..\page\Navigator.cpp"
     3036                                >
     3037                        </File>
     3038                        <File
     3039                                RelativePath="..\page\Navigator.h"
     3040                                >
     3041                        </File>
     3042                        <File
    29953043                                RelativePath="..\page\Page.cpp"
    2996                                 >
    2997                         </File>
    2998                         <File
    2999                                 RelativePath="..\page\Page.h"
    30003044                                >
    30013045                        </File>
     
    94749518                                </File>
    94759519                                <File
     9520                                        RelativePath="..\bindings\js\JSMimeTypeArrayCustom.cpp"
     9521                                        >
     9522                                </File>
     9523                                <File
    94769524                                        RelativePath="..\bindings\js\JSNamedNodeMapCustom.cpp"
    94779525                                        >
     
    94869534                                </File>
    94879535                                <File
     9536                                        RelativePath="..\bindings\js\JSNavigatorCustom.cpp"
     9537                                        >
     9538                                </File>
     9539                                <File
    94889540                                        RelativePath="..\bindings\js\JSNodeCustom.cpp"
    94899541                                        >
     
    95189570                                </File>
    95199571                                <File
     9572                                        RelativePath="..\bindings\js\JSPluginArrayCustom.cpp"
     9573                                        >
     9574                                </File>
     9575                                <File
     9576                                        RelativePath="..\bindings\js\JSPluginCustom.cpp"
     9577                                        >
     9578                                </File>
     9579                                <File
    95209580                                        RelativePath="..\bindings\js\JSSQLResultSetRowListCustom.cpp"
    95219581                                        >
     
    96159675                                <File
    96169676                                        RelativePath="..\bindings\js\kjs_html.h"
    9617                                         >
    9618                                 </File>
    9619                                 <File
    9620                                         RelativePath="..\bindings\js\kjs_navigator.cpp"
    9621                                         >
    9622                                 </File>
    9623                                 <File
    9624                                         RelativePath="..\bindings\js\kjs_navigator.h"
    96259677                                        >
    96269678                                </File>
     
    96559707                        >
    96569708                        <File
     9709                                RelativePath="..\plugins\MimeType.cpp"
     9710                                >
     9711                        </File>
     9712                        <File
     9713                                RelativePath="..\plugins\MimeType.h"
     9714                                >
     9715                        </File>
     9716                        <File
     9717                                RelativePath="..\plugins\MimeTypeArray.cpp"
     9718                                >
     9719                        </File>
     9720                        <File
     9721                                RelativePath="..\plugins\MimeTypeArray.h"
     9722                                >
     9723                        </File>
     9724                        <File
    96579725                                RelativePath="..\plugins\npapi.cpp"
    96589726                                >
     
    96609728                        <File
    96619729                                RelativePath="..\plugins\npfunctions.h"
     9730                                >
     9731                        </File>
     9732                        <File
     9733                                RelativePath="..\plugins\Plugin.cpp"
     9734                                >
     9735                        </File>
     9736                        <File
     9737                                RelativePath="..\plugins\Plugin.h"
     9738                                >
     9739                        </File>
     9740                        <File
     9741                                RelativePath="..\plugins\PluginArray.cpp"
     9742                                >
     9743                        </File>
     9744                        <File
     9745                                RelativePath="..\plugins\PluginArray.h"
     9746                                >
     9747                        </File>
     9748                        <File
     9749                                RelativePath="..\plugins\PluginData.cpp"
     9750                                >
     9751                        </File>
     9752                        <File
     9753                                RelativePath="..\plugins\PluginData.h"
    96629754                                >
    96639755                        </File>
     
    97119803                                <File
    97129804                                        RelativePath="..\plugins\win\PluginDatabaseWin.cpp"
     9805                                        >
     9806                                </File>
     9807                                <File
     9808                                        RelativePath="..\plugins\win\PluginDataWin.cpp"
    97139809                                        >
    97149810                                </File>
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r30897 r30923  
    560560                65CBFEF90974F607001DAC25 /* FrameView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65CBFEF70974F607001DAC25 /* FrameView.cpp */; };
    561561                65CBFEFA0974F607001DAC25 /* FrameView.h in Headers */ = {isa = PBXBuildFile; fileRef = 65CBFEF80974F607001DAC25 /* FrameView.h */; settings = {ATTRIBUTES = (Private, ); }; };
    562                 65D1C1CA09932B22000CB324 /* Plugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 65D1C1C909932B22000CB324 /* Plugin.h */; };
    563562                65DF31DA09D1C123000BE325 /* JSAttr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65DF31D809D1C122000BE325 /* JSAttr.cpp */; };
    564563                65DF31DB09D1C123000BE325 /* JSAttr.h in Headers */ = {isa = PBXBuildFile; fileRef = 65DF31D909D1C123000BE325 /* JSAttr.h */; };
     
    16401639                93B70D6B09EB0C7C009D8468 /* kjs_html.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93B70D4F09EB0C7C009D8468 /* kjs_html.cpp */; };
    16411640                93B70D6C09EB0C7C009D8468 /* kjs_html.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B70D5009EB0C7C009D8468 /* kjs_html.h */; };
    1642                 93B70D6D09EB0C7C009D8468 /* kjs_navigator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93B70D5109EB0C7C009D8468 /* kjs_navigator.cpp */; };
    1643                 93B70D6E09EB0C7C009D8468 /* kjs_navigator.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B70D5209EB0C7C009D8468 /* kjs_navigator.h */; };
    16441641                93B70D6F09EB0C7C009D8468 /* kjs_proxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93B70D5309EB0C7C009D8468 /* kjs_proxy.cpp */; };
    16451642                93B70D7009EB0C7C009D8468 /* kjs_proxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B70D5409EB0C7C009D8468 /* kjs_proxy.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    20442041                A81872240977D3C0005826D9 /* NameNodeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A81872190977D3C0005826D9 /* NameNodeList.cpp */; };
    20452042                A81872250977D3C0005826D9 /* ChildNodeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A818721A0977D3C0005826D9 /* ChildNodeList.cpp */; };
    2046                 A82398A809B3ACF500B60641 /* PlugInInfoStoreMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A82398A709B3ACF500B60641 /* PlugInInfoStoreMac.mm */; };
    20472043                A8239E0009B3CF8A00B60641 /* Logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8239DFE09B3CF8A00B60641 /* Logging.cpp */; };
    20482044                A8239E0109B3CF8A00B60641 /* Logging.h in Headers */ = {isa = PBXBuildFile; fileRef = A8239DFF09B3CF8A00B60641 /* Logging.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    25752571                A8F4FB940C169E7B002AFED5 /* SVGRenderSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A8F4FB930C169E7B002AFED5 /* SVGRenderSupport.h */; };
    25762572                A8F4FB960C169E85002AFED5 /* SVGRenderSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8F4FB950C169E85002AFED5 /* SVGRenderSupport.cpp */; };
     2573                A9C6E4E30D745E05006442E9 /* MimeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E4E10D745E05006442E9 /* MimeType.cpp */; };
     2574                A9C6E4E40D745E05006442E9 /* MimeType.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C6E4E20D745E05006442E9 /* MimeType.h */; };
     2575                A9C6E4E70D745E18006442E9 /* MimeTypeArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E4E50D745E18006442E9 /* MimeTypeArray.cpp */; };
     2576                A9C6E4E80D745E18006442E9 /* MimeTypeArray.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C6E4E60D745E18006442E9 /* MimeTypeArray.h */; };
     2577                A9C6E4EB0D745E2B006442E9 /* Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E4E90D745E2B006442E9 /* Plugin.cpp */; };
     2578                A9C6E4EC0D745E2B006442E9 /* Plugin.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C6E4EA0D745E2B006442E9 /* Plugin.h */; };
     2579                A9C6E4EF0D745E38006442E9 /* PluginArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E4ED0D745E38006442E9 /* PluginArray.cpp */; };
     2580                A9C6E4F00D745E38006442E9 /* PluginArray.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C6E4EE0D745E38006442E9 /* PluginArray.h */; };
     2581                A9C6E4F30D745E48006442E9 /* PluginData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E4F10D745E48006442E9 /* PluginData.cpp */; };
     2582                A9C6E4F40D745E48006442E9 /* PluginData.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C6E4F20D745E48006442E9 /* PluginData.h */; };
     2583                A9C6E4F60D745E61006442E9 /* PluginDataMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E4F50D745E61006442E9 /* PluginDataMac.mm */; };
     2584                A9C6E5A50D746458006442E9 /* Navigator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E5A30D746458006442E9 /* Navigator.cpp */; };
     2585                A9C6E5A60D746458006442E9 /* Navigator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C6E5A40D746458006442E9 /* Navigator.h */; };
     2586                A9C6E6470D7465CA006442E9 /* JSMimeTypeArrayCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E6460D7465CA006442E9 /* JSMimeTypeArrayCustom.cpp */; };
     2587                A9C6E6490D7465D8006442E9 /* JSNavigatorCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E6480D7465D8006442E9 /* JSNavigatorCustom.cpp */; };
     2588                A9C6E64C0D7465E7006442E9 /* JSPluginArrayCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E64A0D7465E7006442E9 /* JSPluginArrayCustom.cpp */; };
     2589                A9C6E64D0D7465E7006442E9 /* JSPluginCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9C6E64B0D7465E7006442E9 /* JSPluginCustom.cpp */; };
     2590                A9D247F70D757E3400FDF959 /* JSNavigator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D247F50D757E3300FDF959 /* JSNavigator.cpp */; };
     2591                A9D247F80D757E3400FDF959 /* JSNavigator.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D247F60D757E3300FDF959 /* JSNavigator.h */; };
     2592                A9D247FE0D757E6900FDF959 /* JSPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D247FA0D757E6900FDF959 /* JSPlugin.cpp */; };
     2593                A9D247FF0D757E6900FDF959 /* JSPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D247FB0D757E6900FDF959 /* JSPlugin.h */; };
     2594                A9D248000D757E6900FDF959 /* JSPluginArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D247FC0D757E6900FDF959 /* JSPluginArray.cpp */; };
     2595                A9D248010D757E6900FDF959 /* JSPluginArray.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D247FD0D757E6900FDF959 /* JSPluginArray.h */; };
     2596                A9D248060D757E7D00FDF959 /* JSMimeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D248020D757E7D00FDF959 /* JSMimeType.cpp */; };
     2597                A9D248070D757E7D00FDF959 /* JSMimeType.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D248030D757E7D00FDF959 /* JSMimeType.h */; };
     2598                A9D248080D757E7D00FDF959 /* JSMimeTypeArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9D248040D757E7D00FDF959 /* JSMimeTypeArray.cpp */; };
     2599                A9D248090D757E7D00FDF959 /* JSMimeTypeArray.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D248050D757E7D00FDF959 /* JSMimeTypeArray.h */; };
    25772600                AA0972CC0B6947A800A705E9 /* SVGInlineTextBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0972CA0B6947A800A705E9 /* SVGInlineTextBox.cpp */; };
    25782601                AA0972CD0B6947A800A705E9 /* SVGInlineTextBox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0972CB0B6947A800A705E9 /* SVGInlineTextBox.h */; };
     
    48974920                65CBFEF70974F607001DAC25 /* FrameView.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FrameView.cpp; sourceTree = "<group>"; };
    48984921                65CBFEF80974F607001DAC25 /* FrameView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FrameView.h; sourceTree = "<group>"; };
    4899                 65D1C1C909932B22000CB324 /* Plugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Plugin.h; sourceTree = "<group>"; };
    49004922                65DF31D809D1C122000BE325 /* JSAttr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSAttr.cpp; sourceTree = "<group>"; };
    49014923                65DF31D909D1C123000BE325 /* JSAttr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSAttr.h; sourceTree = "<group>"; };
     
    59275949                93B70D4F09EB0C7C009D8468 /* kjs_html.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kjs_html.cpp; sourceTree = "<group>"; };
    59285950                93B70D5009EB0C7C009D8468 /* kjs_html.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kjs_html.h; sourceTree = "<group>"; };
    5929                 93B70D5109EB0C7C009D8468 /* kjs_navigator.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kjs_navigator.cpp; sourceTree = "<group>"; };
    5930                 93B70D5209EB0C7C009D8468 /* kjs_navigator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kjs_navigator.h; sourceTree = "<group>"; };
    59315951                93B70D5309EB0C7C009D8468 /* kjs_proxy.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kjs_proxy.cpp; sourceTree = "<group>"; };
    59325952                93B70D5409EB0C7C009D8468 /* kjs_proxy.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kjs_proxy.h; sourceTree = "<group>"; };
     
    61656185                A81872190977D3C0005826D9 /* NameNodeList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = NameNodeList.cpp; sourceTree = "<group>"; };
    61666186                A818721A0977D3C0005826D9 /* ChildNodeList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChildNodeList.cpp; sourceTree = "<group>"; };
    6167                 A82398A709B3ACF500B60641 /* PlugInInfoStoreMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = PlugInInfoStoreMac.mm; sourceTree = "<group>"; };
    61686187                A8239DFE09B3CF8A00B60641 /* Logging.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Logging.cpp; sourceTree = "<group>"; };
    61696188                A8239DFF09B3CF8A00B60641 /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = "<group>"; };
     
    65696588                A8F4FB930C169E7B002AFED5 /* SVGRenderSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGRenderSupport.h; sourceTree = "<group>"; };
    65706589                A8F4FB950C169E85002AFED5 /* SVGRenderSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGRenderSupport.cpp; sourceTree = "<group>"; };
     6590                A9C6E4E10D745E05006442E9 /* MimeType.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MimeType.cpp; sourceTree = "<group>"; };
     6591                A9C6E4E20D745E05006442E9 /* MimeType.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MimeType.h; sourceTree = "<group>"; };
     6592                A9C6E4E50D745E18006442E9 /* MimeTypeArray.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MimeTypeArray.cpp; sourceTree = "<group>"; };
     6593                A9C6E4E60D745E18006442E9 /* MimeTypeArray.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MimeTypeArray.h; sourceTree = "<group>"; };
     6594                A9C6E4E90D745E2B006442E9 /* Plugin.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Plugin.cpp; sourceTree = "<group>"; };
     6595                A9C6E4EA0D745E2B006442E9 /* Plugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Plugin.h; sourceTree = "<group>"; };
     6596                A9C6E4ED0D745E38006442E9 /* PluginArray.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PluginArray.cpp; sourceTree = "<group>"; };
     6597                A9C6E4EE0D745E38006442E9 /* PluginArray.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PluginArray.h; sourceTree = "<group>"; };
     6598                A9C6E4F10D745E48006442E9 /* PluginData.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PluginData.cpp; sourceTree = "<group>"; };
     6599                A9C6E4F20D745E48006442E9 /* PluginData.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PluginData.h; sourceTree = "<group>"; };
     6600                A9C6E4F50D745E61006442E9 /* PluginDataMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = PluginDataMac.mm; path = mac/PluginDataMac.mm; sourceTree = "<group>"; };
     6601                A9C6E5A30D746458006442E9 /* Navigator.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Navigator.cpp; sourceTree = "<group>"; };
     6602                A9C6E5A40D746458006442E9 /* Navigator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Navigator.h; sourceTree = "<group>"; };
     6603                A9C6E6460D7465CA006442E9 /* JSMimeTypeArrayCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSMimeTypeArrayCustom.cpp; sourceTree = "<group>"; };
     6604                A9C6E6480D7465D8006442E9 /* JSNavigatorCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSNavigatorCustom.cpp; sourceTree = "<group>"; };
     6605                A9C6E64A0D7465E7006442E9 /* JSPluginArrayCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSPluginArrayCustom.cpp; sourceTree = "<group>"; };
     6606                A9C6E64B0D7465E7006442E9 /* JSPluginCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSPluginCustom.cpp; sourceTree = "<group>"; };
     6607                A9C6E65D0D746694006442E9 /* Navigator.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Navigator.idl; sourceTree = "<group>"; };
     6608                A9C6E65E0D7466F2006442E9 /* MimeType.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = MimeType.idl; sourceTree = "<group>"; };
     6609                A9C6E65F0D746700006442E9 /* MimeTypeArray.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = MimeTypeArray.idl; sourceTree = "<group>"; };
     6610                A9C6E6600D74670C006442E9 /* Plugin.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Plugin.idl; sourceTree = "<group>"; };
     6611                A9C6E6610D74671E006442E9 /* PluginArray.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = PluginArray.idl; sourceTree = "<group>"; };
     6612                A9D247F50D757E3300FDF959 /* JSNavigator.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSNavigator.cpp; sourceTree = "<group>"; };
     6613                A9D247F60D757E3300FDF959 /* JSNavigator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSNavigator.h; sourceTree = "<group>"; };
     6614                A9D247FA0D757E6900FDF959 /* JSPlugin.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSPlugin.cpp; sourceTree = "<group>"; };
     6615                A9D247FB0D757E6900FDF959 /* JSPlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSPlugin.h; sourceTree = "<group>"; };
     6616                A9D247FC0D757E6900FDF959 /* JSPluginArray.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSPluginArray.cpp; sourceTree = "<group>"; };
     6617                A9D247FD0D757E6900FDF959 /* JSPluginArray.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSPluginArray.h; sourceTree = "<group>"; };
     6618                A9D248020D757E7D00FDF959 /* JSMimeType.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSMimeType.cpp; sourceTree = "<group>"; };
     6619                A9D248030D757E7D00FDF959 /* JSMimeType.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSMimeType.h; sourceTree = "<group>"; };
     6620                A9D248040D757E7D00FDF959 /* JSMimeTypeArray.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSMimeTypeArray.cpp; sourceTree = "<group>"; };
     6621                A9D248050D757E7D00FDF959 /* JSMimeTypeArray.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSMimeTypeArray.h; sourceTree = "<group>"; };
    65716622                AA0972CA0B6947A800A705E9 /* SVGInlineTextBox.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGInlineTextBox.cpp; sourceTree = "<group>"; };
    65726623                AA0972CB0B6947A800A705E9 /* SVGInlineTextBox.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGInlineTextBox.h; sourceTree = "<group>"; };
     
    81728223                                A83B79220CCB00F0000B0825 /* XML */,
    81738224                                A83B790C0CCAFF83000B0825 /* XPath */,
     8225                                A9D247F90D757E4100FDF959 /* Plugins */,
    81748226                        );
    81758227                        name = "Derived Sources";
     
    84038455                        isa = PBXGroup;
    84048456                        children = (
     8457                                A9C6E6610D74671E006442E9 /* PluginArray.idl */,
     8458                                A9C6E6600D74670C006442E9 /* Plugin.idl */,
     8459                                A9C6E65F0D746700006442E9 /* MimeTypeArray.idl */,
     8460                                A9C6E65E0D7466F2006442E9 /* MimeType.idl */,
     8461                                A9C6E4F50D745E61006442E9 /* PluginDataMac.mm */,
     8462                                A9C6E4F10D745E48006442E9 /* PluginData.cpp */,
     8463                                A9C6E4F20D745E48006442E9 /* PluginData.h */,
     8464                                A9C6E4ED0D745E38006442E9 /* PluginArray.cpp */,
     8465                                A9C6E4EE0D745E38006442E9 /* PluginArray.h */,
     8466                                A9C6E4E90D745E2B006442E9 /* Plugin.cpp */,
     8467                                A9C6E4EA0D745E2B006442E9 /* Plugin.h */,
     8468                                A9C6E4E50D745E18006442E9 /* MimeTypeArray.cpp */,
     8469                                A9C6E4E60D745E18006442E9 /* MimeTypeArray.h */,
     8470                                A9C6E4E10D745E05006442E9 /* MimeType.cpp */,
     8471                                A9C6E4E20D745E05006442E9 /* MimeType.h */,
    84058472                                5DCF836C0D59159800953BC6 /* PluginInfoStore.h */,
    84068473                        );
     
    85288595                                BC3FCAA80AC3DB5800BA54AD /* PlatformScrollBar.h */,
    85298596                                BC7B2AF90450824100A8000F /* PlatformScrollBarMac.mm */,
    8530                                 A82398A709B3ACF500B60641 /* PlugInInfoStoreMac.mm */,
    85318597                                0668E18E0ADD9640004128E0 /* PopupMenuMac.mm */,
    85328598                                1CE24F960D7CAF0E007E04C2 /* SchedulePairMac.mm */,
     
    85648630                        isa = PBXGroup;
    85658631                        children = (
     8632                                A9C6E65D0D746694006442E9 /* Navigator.idl */,
     8633                                A9C6E5A30D746458006442E9 /* Navigator.cpp */,
     8634                                A9C6E5A40D746458006442E9 /* Navigator.h */,
    85668635                                06693F450BFBC91600216072 /* inspector */,
    85678636                                93C09A820B064F05005ABD4D /* mac */,
     
    1078710856                        sourceTree = "<group>";
    1078810857                };
     10858                A9D247F90D757E4100FDF959 /* Plugins */ = {
     10859                        isa = PBXGroup;
     10860                        children = (
     10861                                A9D248020D757E7D00FDF959 /* JSMimeType.cpp */,
     10862                                A9D248030D757E7D00FDF959 /* JSMimeType.h */,
     10863                                A9D248040D757E7D00FDF959 /* JSMimeTypeArray.cpp */,
     10864                                A9D248050D757E7D00FDF959 /* JSMimeTypeArray.h */,
     10865                                A9D247FA0D757E6900FDF959 /* JSPlugin.cpp */,
     10866                                A9D247FB0D757E6900FDF959 /* JSPlugin.h */,
     10867                                A9D247FC0D757E6900FDF959 /* JSPluginArray.cpp */,
     10868                                A9D247FD0D757E6900FDF959 /* JSPluginArray.h */,
     10869                        );
     10870                        name = Plugins;
     10871                        sourceTree = "<group>";
     10872                };
    1078910873                B22277CA0D00BF1E0071B782 /* svg */ = {
    1079010874                        isa = PBXGroup;
     
    1165311737                                93B70D4F09EB0C7C009D8468 /* kjs_html.cpp */,
    1165411738                                93B70D5009EB0C7C009D8468 /* kjs_html.h */,
    11655                                 93B70D5109EB0C7C009D8468 /* kjs_navigator.cpp */,
    11656                                 93B70D5209EB0C7C009D8468 /* kjs_navigator.h */,
    1165711739                                93B70D5309EB0C7C009D8468 /* kjs_proxy.cpp */,
    1165811740                                93B70D5409EB0C7C009D8468 /* kjs_proxy.h */,
     
    1171011792                        isa = PBXGroup;
    1171111793                        children = (
     11794                                A9C6E64A0D7465E7006442E9 /* JSPluginArrayCustom.cpp */,
     11795                                A9C6E64B0D7465E7006442E9 /* JSPluginCustom.cpp */,
     11796                                A9C6E6480D7465D8006442E9 /* JSNavigatorCustom.cpp */,
     11797                                A9C6E6460D7465CA006442E9 /* JSMimeTypeArrayCustom.cpp */,
     11798                                A766F3520D6BDE3500ABDDB3 /* JSCanvasPixelArrayCustom.cpp */,
    1171211799                                BC2ED6BB0C6BD2F000920BFF /* JSAttrCustom.cpp */,
    1171311800                                A766F3520D6BDE3500ABDDB3 /* JSCanvasPixelArrayCustom.cpp */,
     
    1177211859                                BC98543B0CD3D98B00069BC1 /* JSConsole.cpp */,
    1177311860                                BC98543C0CD3D98B00069BC1 /* JSConsole.h */,
     11861                                A9D247F50D757E3300FDF959 /* JSNavigator.cpp */,
     11862                                A9D247F60D757E3300FDF959 /* JSNavigator.h */,
    1177411863                                BC5A86B30C3367E800EEA649 /* JSDOMSelection.cpp */,
    1177511864                                BC5A86B40C3367E800EEA649 /* JSDOMSelection.h */,
     
    1391714006                                B2C3DA2B0D006C1D00EF6F26 /* PlatformString.h in Headers */,
    1391814007                                935C476B09AC4D4F00A6AAB4 /* PlatformWheelEvent.h in Headers */,
    13919                                 65D1C1CA09932B22000CB324 /* Plugin.h in Headers */,
    1392014008                                1AC694C80A3B1676003F5049 /* PluginDocument.h in Headers */,
    1392114009                                B2B1F7170D00CAA8004AEA64 /* PointerEventsHitRules.h in Headers */,
     
    1434514433                                93B70D6A09EB0C7C009D8468 /* kjs_events.h in Headers */,
    1434614434                                93B70D6C09EB0C7C009D8468 /* kjs_html.h in Headers */,
    14347                                 93B70D6E09EB0C7C009D8468 /* kjs_navigator.h in Headers */,
    1434814435                                656581F509D1508D000E61D7 /* kjs_navigator.lut.h in Headers */,
    1434914436                                93B70D7009EB0C7C009D8468 /* kjs_proxy.h in Headers */,
     
    1444614533                                C02B14C20D81E02A00D8A970 /* JavaScriptDebugListener.h in Headers */,
    1444714534                                C02B14C40D81E02A00D8A970 /* JavaScriptDebugServer.h in Headers */,
     14535                                A9C6E4E40D745E05006442E9 /* MimeType.h in Headers */,
     14536                                A9C6E4E80D745E18006442E9 /* MimeTypeArray.h in Headers */,
     14537                                A9C6E4EC0D745E2B006442E9 /* Plugin.h in Headers */,
     14538                                A9C6E4F00D745E38006442E9 /* PluginArray.h in Headers */,
     14539                                A9C6E4F40D745E48006442E9 /* PluginData.h in Headers */,
     14540                                A9C6E5A60D746458006442E9 /* Navigator.h in Headers */,
     14541                                A9D247F80D757E3400FDF959 /* JSNavigator.h in Headers */,
     14542                                A9D247FF0D757E6900FDF959 /* JSPlugin.h in Headers */,
     14543                                A9D248010D757E6900FDF959 /* JSPluginArray.h in Headers */,
     14544                                A9D248070D757E7D00FDF959 /* JSMimeType.h in Headers */,
     14545                                A9D248090D757E7D00FDF959 /* JSMimeTypeArray.h in Headers */,
    1444814546                        );
    1444914547                        runOnlyForDeploymentPostprocessing = 0;
     
    1556115659                                BC94D1080C274F88006BC617 /* PlatformScreenMac.mm in Sources */,
    1556215660                                93F19ADC08245E59001E9ABC /* PlatformScrollBarMac.mm in Sources */,
    15563                                 A82398A809B3ACF500B60641 /* PlugInInfoStoreMac.mm in Sources */,
    1556415661                                1AC694C70A3B1676003F5049 /* PluginDocument.cpp in Sources */,
    1556515662                                B2B1F7160D00CAA8004AEA64 /* PointerEventsHitRules.cpp in Sources */,
     
    1598416081                                93B70D6909EB0C7C009D8468 /* kjs_events.cpp in Sources */,
    1598516082                                93B70D6B09EB0C7C009D8468 /* kjs_html.cpp in Sources */,
    15986                                 93B70D6D09EB0C7C009D8468 /* kjs_navigator.cpp in Sources */,
    1598716083                                93B70D6F09EB0C7C009D8468 /* kjs_proxy.cpp in Sources */,
    1598816084                                BCB16C2C0979C3BD00467741 /* loader.cpp in Sources */,
     
    1606816164                                BC6932730D7E293900AE44D1 /* JSDOMWindowBase.cpp in Sources */,
    1606916165                                C02B14C30D81E02A00D8A970 /* JavaScriptDebugServer.cpp in Sources */,
     16166                                A9C6E4E30D745E05006442E9 /* MimeType.cpp in Sources */,
     16167                                A9C6E4E70D745E18006442E9 /* MimeTypeArray.cpp in Sources */,
     16168                                A9C6E4EB0D745E2B006442E9 /* Plugin.cpp in Sources */,
     16169                                A9C6E4EF0D745E38006442E9 /* PluginArray.cpp in Sources */,
     16170                                A9C6E4F30D745E48006442E9 /* PluginData.cpp in Sources */,
     16171                                A9C6E4F60D745E61006442E9 /* PluginDataMac.mm in Sources */,
     16172                                A9C6E5A50D746458006442E9 /* Navigator.cpp in Sources */,
     16173                                A9C6E6470D7465CA006442E9 /* JSMimeTypeArrayCustom.cpp in Sources */,
     16174                                A9C6E6490D7465D8006442E9 /* JSNavigatorCustom.cpp in Sources */,
     16175                                A9C6E64C0D7465E7006442E9 /* JSPluginArrayCustom.cpp in Sources */,
     16176                                A9C6E64D0D7465E7006442E9 /* JSPluginCustom.cpp in Sources */,
     16177                                A9D247F70D757E3400FDF959 /* JSNavigator.cpp in Sources */,
     16178                                A9D247FE0D757E6900FDF959 /* JSPlugin.cpp in Sources */,
     16179                                A9D248000D757E6900FDF959 /* JSPluginArray.cpp in Sources */,
     16180                                A9D248060D757E7D00FDF959 /* JSMimeType.cpp in Sources */,
     16181                                A9D248080D757E7D00FDF959 /* JSMimeTypeArray.cpp in Sources */,
    1607016182                        );
    1607116183                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/bindings/js/JSDOMWindowBase.cpp

    r30787 r30923  
    6161#include "htmlediting.h"
    6262#include "kjs_events.h"
    63 #include "kjs_navigator.h"
    6463#include "kjs_proxy.h"
    6564#include <wtf/AlwaysInline.h>
     
    162161  event                 WebCore::JSDOMWindowBase::Event_             DontDelete
    163162  location              WebCore::JSDOMWindowBase::Location_          DontDelete
    164   navigator             WebCore::JSDOMWindowBase::Navigator_         DontDelete
    165   clientInformation     WebCore::JSDOMWindowBase::ClientInformation  DontDelete
    166163# -- Event Listeners --
    167164  onabort               WebCore::JSDOMWindowBase::Onabort            DontDelete
     
    454451    case Location_:
    455452      return location();
    456     case Navigator_:
    457     case ClientInformation: {
    458       if (!allowsAccessFrom(exec))
    459         return jsUndefined();
    460       // Store the navigator in the object so we get the same one each time.
    461       Navigator* n = new Navigator(exec->lexicalGlobalObject()->objectPrototype(), impl()->frame());
    462       // FIXME: this will make the "navigator" object accessible from windows that fail
    463       // the security check the first time, but not subsequent times, seems weird.
    464       const_cast<JSDOMWindowBase*>(this)->putDirect("navigator", n, DontDelete);
    465       const_cast<JSDOMWindowBase*>(this)->putDirect("clientInformation", n, DontDelete);
    466       return n;
    467     }
    468453    case Image:
    469454      if (!allowsAccessFrom(exec))
  • trunk/WebCore/dom/Clipboard.cpp

    r30735 r30923  
    3131#include "FrameLoader.h"
    3232#include "Image.h"
    33 #include "PluginInfoStore.h"
    3433
    3534namespace WebCore {
  • trunk/WebCore/dom/DOMImplementation.cpp

    r30490 r30923  
    3939#include "MIMETypeRegistry.h"
    4040#include "Page.h"
     41#include "PluginData.h"
    4142#include "PluginDocument.h"
    42 #include "PluginInfoStore.h"
    4343#include "RegularExpression.h"
    4444#include "Settings.h"
     
    367367#endif
    368368
     369    PluginData* pluginData = 0;
     370    if (frame && frame->page())
     371        pluginData = frame->page()->pluginData();
     372
    369373    // PDF is one image type for which a plugin can override built-in support.
    370374    // We do not want QuickTime to take over all image types, obviously.
    371     if ((type == "application/pdf" || type == "text/pdf") && PluginInfoStore::supportsMIMEType(type))
     375    if ((type == "application/pdf" || type == "text/pdf") && pluginData && pluginData->supportsMimeType(type))
    372376        return new PluginDocument(this, frame);
    373377    if (Image::supportsType(type))
     
    376380    // Disallowing plug-ins to use text/plain prevents plug-ins from hijacking a fundamental type that the browser is expected to handle,
    377381    // and also serves as an optimization to prevent loading the plug-in database in the common case.
    378     if (type != "text/plain" && PluginInfoStore::supportsMIMEType(type))
     382    if (type != "text/plain" && pluginData && pluginData->supportsMimeType(type))
    379383        return new PluginDocument(this, frame);
    380384    if (isTextMIMEType(type))
  • trunk/WebCore/loader/FrameLoader.cpp

    r30890 r30923  
    6868#include "PageCache.h"
    6969#include "PageGroup.h"
    70 #include "PluginInfoStore.h"
     70#include "PluginData.h"
    7171#include "ProgressTracker.h"
    7272#include "RenderPart.h"
     
    15971597    // Allow other plug-ins to win over QuickTime because if the user has installed a plug-in that
    15981598    // can handle TIFF (which QuickTime can also handle) they probably intended to override QT.
    1599     if ((mimeType == "image/tiff" || mimeType == "image/tif" || mimeType == "image/x-tiff")) {
    1600         String pluginName = PluginInfoStore::pluginNameForMIMEType(mimeType);
     1599    if (m_frame->page() && (mimeType == "image/tiff" || mimeType == "image/tif" || mimeType == "image/x-tiff")) {
     1600        String pluginName = m_frame->page()->pluginData()->pluginNameForMimeType(mimeType);
    16011601        if (!pluginName.isEmpty() && !pluginName.contains("QuickTime", false))
    16021602            return true;
  • trunk/WebCore/page/DOMWindow.cpp

    r30434 r30923  
    4343#include "History.h"
    4444#include "MessageEvent.h"
     45#include "Navigator.h"
    4546#include "Page.h"
    4647#include "PlatformScreen.h"
     
    155156        m_console->disconnectFrame();
    156157    m_console = 0;
     158
     159    if (m_navigator)
     160        m_navigator->disconnectFrame();
     161    m_navigator = 0;
    157162}
    158163
     
    218223        m_console = Console::create(m_frame);
    219224    return m_console.get();
     225}
     226
     227Navigator* DOMWindow::navigator() const
     228{
     229    if (!m_navigator)
     230        m_navigator = Navigator::create(m_frame);
     231    return m_navigator.get();
    220232}
    221233
  • trunk/WebCore/page/DOMWindow.h

    r30434 r30923  
    4545    class Frame;
    4646    class History;
     47    class Navigator;
    4748    class Screen;
    4849
     
    7071        BarInfo* statusbar() const;
    7172        BarInfo* toolbar() const;
     73        Navigator* navigator() const;
     74        Navigator* clientInformation() const { return navigator(); }
    7275
    7376        DOMSelection* getSelection();
     
    171174        mutable RefPtr<BarInfo> m_toolbar;
    172175        mutable RefPtr<Console> m_console;
     176        mutable RefPtr<Navigator> m_navigator;
    173177    };
    174178
  • trunk/WebCore/page/DOMWindow.idl

    r30735 r30923  
    4545        attribute [Replaceable] BarInfo statusbar;
    4646        attribute [Replaceable] BarInfo toolbar;
     47        attribute [Replaceable] Navigator navigator;
     48        attribute [Replaceable] Navigator clientInformation;
    4749
    4850        DOMSelection getSelection();
  • trunk/WebCore/page/DragController.cpp

    r30015 r30923  
    5252#include "Node.h"
    5353#include "Page.h"
    54 #include "PluginInfoStore.h"
    5554#include "RenderFileUploadControl.h"
    5655#include "RenderImage.h"
  • trunk/WebCore/page/Frame.cpp

    r30897 r30923  
    5656#include "Logging.h"
    5757#include "MediaFeatureNames.h"
     58#include "Navigator.h"
    5859#include "NodeList.h"
    5960#include "Page.h"
  • trunk/WebCore/page/Frame.h

    r30900 r30923  
    100100class Node;
    101101class Page;
     102class PluginData;
    102103class Range;
    103104class RegularExpression;
  • trunk/WebCore/page/Page.cpp

    r30874 r30923  
    2626#include "ContextMenuController.h"
    2727#include "EditorClient.h"
     28#include "DOMWindow.h"
    2829#include "DragController.h"
    2930#include "FileSystem.h"
     
    3738#include "JavaScriptDebugServer.h"
    3839#include "Logging.h"
     40#include "Navigator.h"
    3941#include "PageGroup.h"
     42#include "PluginData.h"
    4043#include "ProgressTracker.h"
    4144#include "RenderWidget.h"
     
    220223}
    221224
     225void Page::refreshPlugins(bool reload)
     226{
     227    if (!allPages)
     228        return;
     229
     230    PluginData::refresh();
     231
     232    Vector<RefPtr<Frame> > framesNeedingReload;
     233
     234    HashSet<Page*>::iterator end = allPages->end();
     235    for (HashSet<Page*>::iterator it = allPages->begin(); it != end; ++it) {
     236        (*it)->m_pluginData = 0;
     237
     238        if (reload) {
     239            for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
     240                if (frame->loader()->containsPlugins())
     241                    framesNeedingReload.append(frame);
     242            }
     243        }
     244    }
     245
     246    for (size_t i = 0; i < framesNeedingReload.size(); ++i)
     247        framesNeedingReload[i]->loader()->reload();
     248}
     249
     250PluginData* Page::pluginData() const
     251{
     252    if (!m_pluginData)
     253        m_pluginData = PluginData::create(this);
     254    return m_pluginData.get();
     255}
     256
    222257static Frame* incrementFrame(Frame* curr, bool forward, bool wrapFlag)
    223258{
  • trunk/WebCore/page/Page.h

    r30840 r30923  
    5757    class Node;
    5858    class PageGroup;
     59    class PluginData;
    5960    class ProgressTracker;
    6061    class Selection;
     
    7374        ~Page();
    7475       
     76        static void refreshPlugins(bool reload);
     77        PluginData* pluginData() const;
     78
    7579        EditorClient* editorClient() const { return m_editorClient; }
    7680
     
    166170        RefPtr<Node> m_focusedNode;
    167171
     172        mutable RefPtr<PluginData> m_pluginData;
     173
    168174        EditorClient* m_editorClient;
    169175
  • trunk/WebCore/page/mac/FrameMac.mm

    r30900 r30923  
    7070#import "PlatformScrollBar.h"
    7171#import "PlatformWheelEvent.h"
    72 #import "Plugin.h"
    7372#import "RegularExpression.h"
    7473#import "RenderImage.h"
  • trunk/WebCore/page/mac/WebCoreFrameBridge.mm

    r30816 r30923  
    6565#import "PlatformMouseEvent.h"
    6666#import "PlatformScreen.h"
    67 #import "PluginInfoStore.h"
     67#import "PluginData.h"
    6868#import "RenderImage.h"
    6969#import "RenderPart.h"
     
    11531153    if (WebCore::DOMImplementation::isTextMIMEType(mimeType) ||
    11541154        Image::supportsType(mimeType) ||
    1155         PluginInfoStore::supportsMIMEType(mimeType))
     1155        (m_frame->page() && m_frame->page()->pluginData()->supportsMimeType(mimeType)))
    11561156        return NO;
    11571157   
  • trunk/WebCore/page/mac/WebCoreViewFactory.h

    r30168 r30923  
    3636
    3737- (NSArray *)pluginsInfo; // array of id <WebCorePluginInfo>
    38 - (void)refreshPlugins:(BOOL)reloadPages;
    39 - (NSString *)pluginNameForMIMEType:(NSString *)MIMEType;
    40 - (BOOL)pluginSupportsMIMEType:(NSString *)MIMEType;
     38- (void)refreshPlugins;
    4139
    4240- (NSString *)inputElementAltText;
  • trunk/WebCore/page/qt/FrameQt.cpp

    r30788 r30923  
    4949#include "Document.h"
    5050#include "Settings.h"
    51 #include "Plugin.h"
    5251#include "FrameView.h"
    5352#include "FramePrivate.h"
  • trunk/WebCore/page/win/FrameWin.cpp

    r30787 r30923  
    4646#include "NotImplemented.h"
    4747#include "Page.h"
    48 #include "Plugin.h"
    4948#include "PluginDatabase.h"
    5049#include "PluginView.h"
  • trunk/WebCore/platform/gtk/TemporaryLinkStubs.cpp

    r30840 r30923  
    3636#include "PluginDatabase.h"
    3737#include "PluginPackage.h"
     38#include "PluginData.h"
    3839#include "SharedBuffer.h"
    3940
     
    7879
    7980PassRefPtr<SharedBuffer> SharedBuffer::createWithContentsOfFile(const String&) { notImplemented(); return 0; }
     81
     82void PluginData::initPlugins() { notImplemented(); }
     83void PluginData::refresh() { notImplemented(); }
     84
    8085}
    8186
  • trunk/WebCore/platform/qt/MIMETypeRegistryQt.cpp

    r29663 r30923  
    2828#include "config.h"
    2929#include "MIMETypeRegistry.h"
    30 
    31 #include "NotImplemented.h"
    32 #if QT_VERSION < 0x040400
    33 #include "qwebobjectplugin_p.h"
    34 #endif
    3530
    3631namespace WebCore {
     
    8075        ++e;
    8176    }
    82     // ### FIXME: Qt 4.4
    83 #if QT_VERSION < 0x040400
    84     QString type = QWebFactoryLoader::self()->mimeTypeForExtension(ext);
    85     if (!type.isEmpty())
    86         return type;
    87 #endif
    8877
    8978    return "application/octet-stream";
  • trunk/WebKit.pri

    r29898 r30923  
    9898    $$BASE_DIR/WebCore/history \
    9999    $$BASE_DIR/WebCore/xml \
    100     $$BASE_DIR/WebCore/html
     100    $$BASE_DIR/WebCore/html \
     101    $$BASE_DIR/WebCore/plugins
    101102
    102103
  • trunk/WebKit/mac/ChangeLog

    r30902 r30923  
     12008-03-07  Simon Hausmann  <hausmann@webkit.org>
     2
     3        Reviewed by Darin.
     4
     5        Done with Lars.
     6
     7        Simplified WebViewFactory's refreshPlugins method to only refresh the
     8        plugins and not reload the frames anymore since that's now done in a
     9        platform independent manner by WebCore::Page.
     10
     11        Also removed the now unused pluginNameForMIMEType and
     12        pluginSupportsMIMEType methods.
     13
     14        * WebCoreSupport/WebViewFactory.mm:
     15        * WebView/WebFrame.mm:
     16        * WebView/WebFrameInternal.h:
     17        * WebView/WebView.mm:
     18
    1192008-03-08  Mark Rowe  <mrowe@apple.com>
    220
  • trunk/WebKit/mac/WebCoreSupport/WebViewFactory.mm

    r30168 r30923  
    7272}
    7373
    74 - (NSString *)pluginNameForMIMEType:(NSString *)MIMEType
    75 {
    76     return [[[WebPluginDatabase sharedDatabase] pluginForMIMEType:MIMEType] name];
    77 }
    78 
    79 - (void)refreshPlugins:(BOOL)reloadPages
     74- (void)refreshPlugins
    8075{
    8176    [[WebPluginDatabase sharedDatabase] refresh];
    82     if (reloadPages) {
    83         [WebView _makeAllWebViewsPerformSelector:@selector(_reloadForPluginChanges)];
    84     }
    85 }
    86 
    87 - (BOOL)pluginSupportsMIMEType:(NSString *)MIMEType
    88 {
    89     return [[WebPluginDatabase sharedDatabase] pluginForMIMEType:MIMEType] != nil;
    9077}
    9178
  • trunk/WebKit/mac/WebView/WebFrame.mm

    r30897 r30923  
    362362}
    363363
    364 - (void)_reloadForPluginChanges
    365 {
    366     Frame* coreFrame = core(self);
    367     for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
    368         NSView <WebDocumentView> *documentView = [[kit(frame) frameView] documentView];
    369         if (([documentView isKindOfClass:[WebHTMLView class]] && coreFrame->loader()->containsPlugins()))
    370             [kit(frame) reload];
    371     }
    372 }
    373 
    374364- (void)_attachScriptDebugger
    375365{
  • trunk/WebKit/mac/WebView/WebFrameInternal.h

    r30897 r30923  
    150150- (int)_numPendingOrLoadingRequests:(BOOL)recurse;
    151151
    152 - (void)_reloadForPluginChanges;
    153 
    154152- (void)_attachScriptDebugger;
    155153- (void)_detachScriptDebugger;
  • trunk/WebKit/mac/WebView/WebView.mm

    r30836 r30923  
    12821282}
    12831283
    1284 - (void)_reloadForPluginChanges
    1285 {
    1286     [[self mainFrame] _reloadForPluginChanges];
    1287 }
    1288 
    12891284- (NSCachedURLResponse *)_cachedResponseForURL:(NSURL *)URL
    12901285{
  • trunk/WebKit/qt/Api/qwebnetworkinterface.cpp

    r30388 r30923  
    2727#include "qwebnetworkinterface.h"
    2828#include "qwebnetworkinterface_p.h"
    29 #include "qwebobjectpluginconnector.h"
    3029#include "qwebpage.h"
    3130#include "qcookiejar.h"
     
    362361bool QWebNetworkJob::cancelled() const
    363362{
    364     return !d->resourceHandle && !d->connector;
     363    return !d->resourceHandle;
    365364}
    366365
     
    451450    job->d->resourceHandle = handle;
    452451    job->d->interface = interface;
    453     job->d->connector = 0;
    454452
    455453    job->d->request.init(handle->request());
     
    480478    DEBUG() << "QWebNetworkManager::cancel:" <<  job->d->request.httpHeader.toString();
    481479    job->d->resourceHandle = 0;
    482     job->d->connector = 0;
    483480    job->d->interface->cancelJob(job);
    484481    handle->getInternal()->m_job = 0;
     
    497494        if (!client)
    498495            return;
    499     } else if (!job->d->connector) {
     496    } else {
    500497        return;
    501498    }
     
    572569    if (client)
    573570        client->didReceiveResponse(job->d->resourceHandle, response);
    574     if (job->d->connector)
    575         emit job->d->connector->started(job);
    576571
    577572}
     
    588583        if (!client)
    589584            return;
    590     } else if (!job->d->connector) {
     585    } else {
    591586        return;
    592587    }
     
    598593    if (client)
    599594        client->didReceiveData(job->d->resourceHandle, data.constData(), data.length(), data.length() /*FixMe*/);
    600     if (job->d->connector)
    601         emit job->d->connector->data(job, data);
    602595
    603596}
     
    618611        if (!client)
    619612            return;
    620     } else if (!job->d->connector) {
     613    } else {
    621614        job->deref();
    622615        return;
     
    645638        }
    646639    }
    647 
    648     if (job->d->connector)
    649         emit job->d->connector->finished(job, errorCode);
    650640
    651641    DEBUG() << "receivedFinished done" << job->d->request.url;
  • trunk/WebKit/qt/Api/qwebnetworkinterface_p.h

    r29663 r30923  
    5858        , redirected(false)
    5959        , interface(0)
    60         , connector(0)
    6160        , jobStatus(QWebNetworkJob::JobCreated)
    6261        {}
     
    7069
    7170    QWebNetworkInterface *interface;
    72     QWebObjectPluginConnector *connector;
    7371    QWebNetworkJob::JobStatus jobStatus;
    7472    QString errorString;
  • trunk/WebKit/qt/Api/qwebpage.cpp

    r29731 r30923  
    129129#else
    130130    networkManager = 0;
     131    pluginFactory = 0;
    131132#endif
    132133    insideOpenCall = false;
     
    14071408}
    14081409
     1410void QWebPage::setPluginFactory(QWebPluginFactory *factory)
     1411{
     1412    d->pluginFactory = factory;
     1413}
     1414
     1415QWebPluginFactory *QWebPage::pluginFactory() const
     1416{
     1417    return d->pluginFactory;
     1418}
     1419
    14091420#endif
    14101421
  • trunk/WebKit/qt/Api/qwebpage.h

    r29730 r30923  
    4343class QWebFrameData;
    4444class QWebNetworkInterface;
     45class QWebPluginFactory;
    4546
    4647namespace WebCore {
     
    172173    void setNetworkAccessManager(QNetworkAccessManager *manager);
    173174    QNetworkAccessManager *networkAccessManager() const;
     175
     176    void setPluginFactory(QWebPluginFactory *factory);
     177    QWebPluginFactory *pluginFactory() const;
    174178#endif
    175179
  • trunk/WebKit/qt/Api/qwebpage_p.h

    r29713 r30923  
    155155
    156156    QAction *actions[QWebPage::WebActionCount];
     157
     158#if QT_VERSION >= 0x040400
     159    QWebPluginFactory *pluginFactory;
     160#endif
    157161};
    158162
  • trunk/WebKit/qt/ChangeLog

    r30870 r30923  
     12008-03-07  Simon Hausmann  <hausmann@webkit.org>
     2
     3        Reviewed by Darin.
     4
     5        Done with Lars.
     6
     7        Replaced the QWebObjectPlugin interfaces with QWebPluginFactory.
     8
     9        * Api/qwebnetworkinterface.cpp:
     10        (QWebNetworkManager::add):
     11        (QWebNetworkManager::cancel):
     12        (QWebNetworkManager::started):
     13        (QWebNetworkManager::data):
     14        (QWebNetworkManager::finished):
     15        * Api/qwebnetworkinterface_p.h:
     16        (QWebNetworkJobPrivate::QWebNetworkJobPrivate):
     17        * Api/qwebobjectplugin.cpp: Removed.
     18        * Api/qwebobjectplugin.h: Removed.
     19        * Api/qwebobjectplugin_p.h: Removed.
     20        * Api/qwebobjectpluginconnector.cpp: Removed.
     21        * Api/qwebobjectpluginconnector.h: Removed.
     22        * Api/qwebpage.cpp:
     23        (QWebPagePrivate::QWebPagePrivate):
     24        (QWebPage::setPluginFactory):
     25        (QWebPage::pluginFactory):
     26        * Api/qwebpage.h:
     27        * Api/qwebpage_p.h:
     28        * Api/qwebpluginfactory.cpp: Added.
     29        (QWebPluginFactory::QWebPluginFactory):
     30        (QWebPluginFactory::~QWebPluginFactory):
     31        (QWebPluginFactory::refreshPlugins):
     32        (QWebPluginFactory::extension):
     33        * Api/qwebpluginfactory.h: Added.
     34        (MimeType::):
     35        * WebCoreSupport/FrameLoaderClientQt.cpp:
     36        (WebCore::FrameLoaderClientQt::objectContentType):
     37        (WebCore::FrameLoaderClientQt::createPlugin):
     38
    1392008-03-07  Simon Hausmann  <hausmann@webkit.org>
    240
  • trunk/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp

    r30549 r30923  
    3838#include "ResourceResponse.h"
    3939#include "Page.h"
     40#include "PluginData.h"
    4041#include "ProgressTracker.h"
    4142#include "ResourceRequest.h"
     
    5152#include "qwebframe_p.h"
    5253#include "qwebhistoryinterface.h"
     54#include "qwebpluginfactory.h"
    5355
    5456#include <qfileinfo.h>
     
    6163#else
    6264#include "qwebnetworkinterface_p.h"
    63 #include "qwebobjectplugin_p.h"
    6465#endif
    6566
     
    908909        return ObjectContentImage;
    909910
    910     // ### FIXME Qt 4.4
    911 #if QT_VERSION < 0x040400
    912     if (QWebFactoryLoader::self()->supportsMimeType(mimeType))
    913         return ObjectContentNetscapePlugin;
    914 #endif
     911    if (m_frame->page() && m_frame->page()->pluginData()->supportsMimeType(mimeType))
     912        return ObjectContentOtherPlugin;
    915913
    916914    if (MIMETypeRegistry::isSupportedNonImageMIMEType(mimeType))
     
    973971    }
    974972
    975     // ### FIXME: qt 4.4
    976 #if QT_VERSION < 0x040400
    977     if (!object)
    978         object = QWebFactoryLoader::self()->create(m_webFrame, qurl, mimeType, params, values);
    979 #endif
     973    if (!object) {
     974        QWebPluginFactory* factory = m_webFrame->page()->pluginFactory();
     975        if (factory)
     976            object = factory->create(mimeType, qurl, params, values);
     977    }
    980978
    981979    if (object) {
  • trunk/WebKitTools/ChangeLog

    r30920 r30923  
     12008-03-07  Simon Hausmann  <hausmann@webkit.org>
     2
     3        Reviewed by Darin.
     4
     5        Done with Lars.
     6
     7        Ported the netscape test plugin to QWebPluginFactory.
     8
     9        * DumpRenderTree/qt/DumpRenderTree.cpp:
     10        (WebCore::WebPage::WebPage):
     11        * DumpRenderTree/qt/main.cpp:
     12        * DumpRenderTree/qt/testplugin.cpp:
     13        (TestPlugin::plugins):
     14        (TestPlugin::create):
     15        * DumpRenderTree/qt/testplugin.h:
     16
    1172008-03-09  Steve Falkenburg  <sfalken@apple.com>
    218
  • trunk/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp

    r29689 r30923  
    3030#include "DumpRenderTree.h"
    3131#include "jsobjects.h"
     32#include "testplugin.h"
    3233
    3334#include <QDir>
     
    8889    connect(this, SIGNAL(geometryChangeRequest(const QRect &)),
    8990            this, SLOT(setViewGeometry(const QRect & )));
     91
     92    setPluginFactory(new TestPlugin(this));
    9093}
    9194
  • trunk/WebKitTools/DumpRenderTree/qt/main.cpp

    r29663 r30923  
    2929
    3030#include "DumpRenderTree.h"
    31 #include "testplugin.h"
    3231
    3332#include <qstringlist.h>
     
    4847#if defined(__GLIBC__)
    4948#include <execinfo.h>
    50 #endif
    51 
    52 #if QT_VERSION < 0x040400
    53 Q_IMPORT_PLUGIN(testplugin)
    5449#endif
    5550
  • trunk/WebKitTools/DumpRenderTree/qt/testplugin.cpp

    r29663 r30923  
    2828#include "testplugin.h"
    2929
    30 #if QT_VERSION < 0x040400
    31 
    3230TestPlugin::TestPlugin(QObject *parent)
    33     : QWebObjectPlugin(parent)
     31    : QWebPluginFactory(parent)
    3432{
    3533}
     
    3937}
    4038
    41 QStringList TestPlugin::keys() const
     39QList<QWebPluginFactory::Plugin> TestPlugin::plugins() const
    4240{
    43     return QStringList(QLatin1String("testplugin"));
     41    QWebPluginFactory::Plugin plugin;
     42
     43    plugin.name = "testplugin";
     44    plugin.description = "testdescription";
     45    MimeType mimeType;
     46    mimeType.name = "testtype";
     47    mimeType.fileExtensions.append("testsuffixes");
     48    plugin.mimeTypes.append(mimeType);
     49
     50    plugin.name = "testplugin2";
     51    plugin.description = "testdescription2";
     52    mimeType.name = "testtype2";
     53    mimeType.fileExtensions.append("testsuffixes2");
     54    mimeType.fileExtensions.append("testsuffixes3");
     55    plugin.mimeTypes.append(mimeType);
     56
     57    return QList<QWebPluginFactory::Plugin>() << plugin;
    4458}
    4559
    46 QString TestPlugin::descriptionForKey(const QString &) const
    47 {
    48     return QLatin1String("testdescription");
    49 }
    50 
    51 QStringList TestPlugin::mimetypesForKey(const QString &) const
    52 {
    53     return QStringList(QLatin1String("testtype"));
    54 }
    55 
    56 QStringList TestPlugin::extensionsForMimetype(const QString &) const
    57 {
    58     return QStringList(QLatin1String("testsuffixes"));
    59 }
    60 
    61 QObject *TestPlugin::create(QWebObjectPluginConnector *,
    62                             const QUrl &,
    63                             const QString &,
    64                             const QStringList &,
    65                             const QStringList &) const
     60QObject *TestPlugin::create(const QString &mimeType,
     61                            const QUrl &url,
     62                            const QStringList &argumentNames,
     63                            const QStringList &argumentValues) const
    6664{
    6765    return 0;
    6866}
    6967
    70 Q_EXPORT_PLUGIN2(testplugin, TestPlugin)
    71 #endif
  • trunk/WebKitTools/DumpRenderTree/qt/testplugin.h

    r29663 r30923  
    2626 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2727 */
    28 #include <qglobal.h>
    29 #if QT_VERSION < 0x040400
    30 #define QT_STATICPLUGIN
    31 #include <qwebobjectplugin.h>
     28#include <qwebpluginfactory.h>
    3229
    3330
    34 class TestPlugin : public QWebObjectPlugin
     31class TestPlugin : public QWebPluginFactory
    3532{
    3633public:
     
    3835    virtual ~TestPlugin();
    3936
    40     virtual QStringList keys() const;
     37    virtual QList<Plugin> plugins() const;
    4138
    42     virtual QString descriptionForKey(const QString &key) const;
    43     virtual QStringList mimetypesForKey(const QString &key) const;
    44     virtual QStringList extensionsForMimetype(const QString &mimeType) const;
    45     virtual QObject *create(QWebObjectPluginConnector *connector,
     39    virtual QObject *create(const QString &mimeType,
    4640                            const QUrl &url,
    47                             const QString &mimeType,
    4841                            const QStringList &argumentNames,
    4942                            const QStringList &argumentValues) const;
     43
    5044};
    5145
    52 #endif
Note: See TracChangeset for help on using the changeset viewer.