summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'webkit')
-rw-r--r--webkit/SConscript.port1
-rw-r--r--webkit/build/WebCore/SConscript5
-rw-r--r--webkit/build/WebCore/WebCore.vcproj44
-rw-r--r--webkit/build/port/port.vcproj8
-rw-r--r--webkit/port/DerivedSources.make11
-rw-r--r--webkit/port/bindings/scripts/CodeGeneratorV8.pm6
-rw-r--r--webkit/port/bindings/v8/v8_collection.h106
-rw-r--r--webkit/port/bindings/v8/v8_custom.cpp13
-rw-r--r--webkit/port/bindings/v8/v8_custom.h6
-rw-r--r--webkit/port/bindings/v8/v8_proxy.cpp44
-rw-r--r--webkit/port/bridge/chromium/PluginsChromium.cpp3
-rw-r--r--webkit/port/page/Navigator.cpp79
-rw-r--r--webkit/port/page/Navigator.h274
-rw-r--r--webkit/port/page/Navigator.idl63
-rw-r--r--webkit/port/plugins/chromium/PluginDataChromium.cpp25
-rw-r--r--webkit/webkit.xcodeproj/project.pbxproj34
16 files changed, 173 insertions, 549 deletions
diff --git a/webkit/SConscript.port b/webkit/SConscript.port
index 5e79476..1b90402 100644
--- a/webkit/SConscript.port
+++ b/webkit/SConscript.port
@@ -36,7 +36,6 @@ input_files = [
'$PORT_DIR/loader/IconDatabaseNone.cpp',
'$PORT_DIR/page/Location.cpp',
- '$PORT_DIR/page/Navigator.cpp',
'$PORT_DIR/page/chromium/AccessibilityObjectChromium.cpp',
'$PORT_DIR/page/chromium/AXObjectCacheChromium.cpp',
'$PORT_DIR/page/chromium/DragControllerChromium.cpp',
diff --git a/webkit/build/WebCore/SConscript b/webkit/build/WebCore/SConscript
index 8a0f9e8..4cc20d1 100644
--- a/webkit/build/WebCore/SConscript
+++ b/webkit/build/WebCore/SConscript
@@ -363,6 +363,7 @@ input_files = [
'$WEBCORE_DIR/page/FrameView.cpp',
'$WEBCORE_DIR/page/History.cpp',
'$WEBCORE_DIR/page/MouseEventWithHitTestResults.cpp',
+ '$WEBCORE_DIR/page/Navigator.cpp',
'$WEBCORE_DIR/page/Page.cpp',
'$WEBCORE_DIR/page/PageGroup.cpp',
'$WEBCORE_DIR/page/Screen.cpp',
@@ -454,6 +455,10 @@ input_files = [
'$WEBCORE_DIR/platform/text/TextStream.cpp',
'$WEBCORE_DIR/platform/text/UnicodeRange.cpp',
+ '$WEBCORE_DIR/plugins/MimeType.cpp',
+ '$WEBCORE_DIR/plugins/MimeTypeArray.cpp',
+ '$WEBCORE_DIR/plugins/Plugin.cpp.cpp',
+ '$WEBCORE_DIR/plugins/PluginArray.cpp',
'$WEBCORE_DIR/plugins/PluginData.cpp',
'$WEBCORE_DIR/rendering/AutoTableLayout.cpp',
diff --git a/webkit/build/WebCore/WebCore.vcproj b/webkit/build/WebCore/WebCore.vcproj
index fb61b6b..7a41044 100644
--- a/webkit/build/WebCore/WebCore.vcproj
+++ b/webkit/build/WebCore/WebCore.vcproj
@@ -369,6 +369,14 @@
RelativePath="..\..\..\third_party\WebKit\WebCore\page\MouseEventWithHitTestResults.h"
>
</File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\Navigator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\Navigator.h"
+ >
+ </File>
<File
RelativePath="..\..\..\third_party\WebKit\WebCore\page\Page.cpp"
>
@@ -386,10 +394,6 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\WebCore\page\Plugin.h"
- >
- </File>
- <File
RelativePath="..\..\..\third_party\WebKit\WebCore\page\Screen.cpp"
>
</File>
@@ -5986,10 +5990,42 @@
Name="plugins"
>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\MimeType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\MimeType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\MimeTypeArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\MimeTypeArray.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\npfunctions.h"
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\Plugin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\Plugin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\PluginArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\PluginArray.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\plugins\PluginData.cpp"
>
</File>
diff --git a/webkit/build/port/port.vcproj b/webkit/build/port/port.vcproj
index a4e0856..6be5a6a 100644
--- a/webkit/build/port/port.vcproj
+++ b/webkit/build/port/port.vcproj
@@ -168,14 +168,6 @@
>
</File>
<File
- RelativePath="..\..\port\page\Navigator.cpp"
- >
- </File>
- <File
- RelativePath="..\..\port\page\Navigator.h"
- >
- </File>
- <File
RelativePath="..\..\port\dom\ScheduledAction.h"
>
</File>
diff --git a/webkit/port/DerivedSources.make b/webkit/port/DerivedSources.make
index ea2e50f..f0a0dad 100644
--- a/webkit/port/DerivedSources.make
+++ b/webkit/port/DerivedSources.make
@@ -43,6 +43,7 @@ VPATH = \
$(WebCore)/dom \
$(WebCore)/html \
$(WebCore)/page \
+ $(WebCore)/plugins \
$(WebCore)/storage \
$(WebCore)/xml \
$(WebCore)/svg \
@@ -921,6 +922,10 @@ all : \
V8InspectorController.h \
V8Location.h \
V8Navigator.h \
+ V8MimeType.h \
+ V8MimeTypeArray.h \
+ V8Plugin.h \
+ V8PluginArray.h \
V8RGBColor.h \
V8SVGAnimatedPoints.h \
V8SVGURIReference.h \
@@ -1129,7 +1134,7 @@ OBJC_BINDINGS_SCRIPTS = \
#
DOM%.h : %.idl $(OBJC_BINDINGS_SCRIPTS) $(PUBLICDOMINTERFACES)
- perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC --include dom --include html --include css --include page --include xml --include svg --include bindings/js --outputdir . $<
+ perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC --include dom --include html --include css --include page --include xml --include svg --include bindings/js --include plugins --outputdir . $<
# new-style JavaScript bindings
@@ -1142,7 +1147,7 @@ JS_BINDINGS_SCRIPTS = \
#
JS%.h : %.idl $(JS_BINDINGS_SCRIPTS)
- perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --include css --include page --include xml --include svg --include bindings/js --outputdir . $<
+ perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --include css --include page --include xml --include svg --include bindings/js --include plugins --outputdir . $<
# new-style V8 bindings
@@ -1160,5 +1165,5 @@ V8%.h : %.idl $(V8_SCRIPTS)
rm -f $@; \
for i in 1 2 3 4 5 6 7 8 9 10; do \
if test -e $@; then break; fi; \
- perl -w -I $(PORTROOT)/bindings/scripts -I $(WebCore)/bindings/scripts $(PORTROOT)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT V8_BINDING" --generator V8 --include ../../../webkit/pending --include ../../../webkit/port/dom --include ../../../webkit/port/html --include ../../../webkit/port/page --include ../../../webkit/port/xml --include svg --include dom --include html --include css --include page --include xml --outputdir . $< ; \
+ perl -w -I $(PORTROOT)/bindings/scripts -I $(WebCore)/bindings/scripts $(PORTROOT)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT V8_BINDING" --generator V8 --include ../../../webkit/pending --include ../../../webkit/port/dom --include ../../../webkit/port/html --include ../../../webkit/port/page --include ../../../webkit/port/xml --include svg --include dom --include html --include css --include page --include xml --include plugins --outputdir . $< ; \
done
diff --git a/webkit/port/bindings/scripts/CodeGeneratorV8.pm b/webkit/port/bindings/scripts/CodeGeneratorV8.pm
index 81391b9..2121862 100644
--- a/webkit/port/bindings/scripts/CodeGeneratorV8.pm
+++ b/webkit/port/bindings/scripts/CodeGeneratorV8.pm
@@ -225,10 +225,6 @@ sub GetImplementationFileName
my $iface = shift;
return "HTMLCollection.h" if $iface eq "UndetectableHTMLCollection";
return "HTMLInputElement.h" if $iface eq "HTMLSelectionInputElement";
- return "Navigator.h" if $iface eq "MimeType";
- return "Navigator.h" if $iface eq "MimeTypeArray";
- return "Navigator.h" if $iface eq "Plugin";
- return "Navigator.h" if $iface eq "PluginArray";
return "Event.h" if $iface eq "DOMTimeStamp";
return "NamedAttrMap.h" if $iface eq "NamedNodeMap";
return "NameNodeList.h" if $iface eq "NodeList";
@@ -1433,11 +1429,13 @@ sub IsRefPtrType
return 1 if $type eq "HTMLElement";
return 1 if $type eq "HTMLOptionsCollection";
return 1 if $type eq "ImageData";
+ return 1 if $type eq "MimeType";
return 1 if $type eq "Node";
return 1 if $type eq "NodeList";
return 1 if $type eq "NodeFilter";
return 1 if $type eq "NodeIterator";
return 1 if $type eq "NSResolver";
+ return 1 if $type eq "Plugin";
return 1 if $type eq "ProcessingInstruction";
return 1 if $type eq "Range";
return 1 if $type eq "Text";
diff --git a/webkit/port/bindings/v8/v8_collection.h b/webkit/port/bindings/v8/v8_collection.h
index c468a0e..ef0b3c5 100644
--- a/webkit/port/bindings/v8/v8_collection.h
+++ b/webkit/port/bindings/v8/v8_collection.h
@@ -11,8 +11,26 @@
namespace WebCore {
+static v8::Handle<v8::Value> GetV8Object(
+ void * result,
+ v8::Local<v8::Value> data) {
+ if (!result) return v8::Handle<v8::Value>();
+ V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(data);
+ if (type == V8ClassIndex::NODE)
+ return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
+ else
+ return V8Proxy::ToV8Object(type, result);
+}
+
+template <class D>
+static v8::Handle<v8::Value> GetV8Object(
+ PassRefPtr<D> result,
+ v8::Local<v8::Value> data) {
+ return GetV8Object(result.get(), data);
+}
+
// Returns named property of a collection.
-template <class C>
+template <class C, class D>
static v8::Handle<v8::Value> GetNamedPropertyOfCollection(
v8::Local<v8::String> name,
v8::Local<v8::Object> object,
@@ -23,20 +41,14 @@ static v8::Handle<v8::Value> GetNamedPropertyOfCollection(
ASSERT(t != V8ClassIndex::NODE);
C* collection = V8Proxy::ToNativeObject<C>(t, object);
String prop_name = ToWebCoreString(name);
- void* result = collection->namedItem(prop_name);
- if (!result) return v8::Handle<v8::Value>();
- V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(data);
- if (type == V8ClassIndex::NODE)
- return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
- else
- return V8Proxy::ToV8Object(type, result);
+ return GetV8Object<D>(collection->namedItem(prop_name), data);
}
// A template of named property accessor of collections.
-template <class C>
+template <class C, class D>
static v8::Handle<v8::Value> CollectionNamedPropertyGetter(
v8::Local<v8::String> name, const v8::AccessorInfo& info) {
- return GetNamedPropertyOfCollection<C>(name, info.Holder(), info.Data());
+ return GetNamedPropertyOfCollection<C, D>(name, info.Holder(), info.Data());
}
@@ -50,34 +62,12 @@ static v8::Handle<v8::Value> NodeCollectionNamedPropertyGetter(
C* collection = V8Proxy::DOMWrapperToNode<C>(info.Holder());
String prop_name = ToWebCoreString(name);
void* result = collection->namedItem(prop_name);
- if (!result) return v8::Handle<v8::Value>();
- V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(info.Data());
- if (type == V8ClassIndex::NODE)
- return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
- else
- return V8Proxy::ToV8Object(type, result);
-}
-
-
-// A template returns whether a collection has a named property.
-// This function does not cause JS heap allocation.
-template <class C>
-static bool HasNamedPropertyOfCollection(v8::Local<v8::String> name,
- v8::Local<v8::Object> object,
- v8::Local<v8::Value> data) {
- // TODO: assert object is a collection type
- ASSERT(V8Proxy::MaybeDOMWrapper(object));
-
- V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
- C* collection = V8Proxy::ToNativeObject<C>(t, object);
- String prop_name = ToWebCoreString(name);
- void* result = collection->namedItem(prop_name);
- return result != NULL;
+ return GetV8Object(result, info.Data());
}
// Returns the property at the index of a collection.
-template <class C>
+template <class C, class D>
static v8::Handle<v8::Value> GetIndexedPropertyOfCollection(
uint32_t index, v8::Local<v8::Object> object, v8::Local<v8::Value> data) {
// TODO, assert that object must be a collection type
@@ -85,21 +75,15 @@ static v8::Handle<v8::Value> GetIndexedPropertyOfCollection(
V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
ASSERT(t != V8ClassIndex::NODE);
C* collection = V8Proxy::ToNativeObject<C>(t, object);
- void* result = collection->item(index);
- if (!result) return v8::Handle<v8::Value>();
- V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(data);
- if (type == V8ClassIndex::NODE)
- return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
- else
- return V8Proxy::ToV8Object(type, result);
+ return GetV8Object<D>(collection->item(index), data);
}
// A template of index interceptor of collections.
-template <class C>
+template <class C, class D>
static v8::Handle<v8::Value> CollectionIndexedPropertyGetter(
uint32_t index, const v8::AccessorInfo& info) {
- return GetIndexedPropertyOfCollection<C>(index, info.Holder(), info.Data());
+ return GetIndexedPropertyOfCollection<C, D>(index, info.Holder(), info.Data());
}
@@ -111,12 +95,7 @@ static v8::Handle<v8::Value> NodeCollectionIndexedPropertyGetter(
ASSERT(V8Proxy::GetDOMWrapperType(info.Holder()) == V8ClassIndex::NODE);
C* collection = V8Proxy::DOMWrapperToNode<C>(info.Holder());
void* result = collection->item(index);
- if (!result) return v8::Handle<v8::Value>();
- V8ClassIndex::V8WrapperType type = V8ClassIndex::ToWrapperType(info.Data());
- if (type == V8ClassIndex::NODE)
- return V8Proxy::NodeToV8Object(static_cast<Node*>(result));
- else
- return V8Proxy::ToV8Object(type, result);
+ return GetV8Object(result, info.Data());
}
@@ -158,21 +137,6 @@ static v8::Handle<v8::Array> CollectionIndexedPropertyEnumerator(
}
-// Returns whether a collection has a property at a given index.
-// This function does not cause JS heap allocation.
-template <class C>
-static bool HasIndexedPropertyOfCollection(uint32_t index,
- v8::Local<v8::Object> object,
- v8::Local<v8::Value> data) {
- // TODO, assert that object must be a collection type
- ASSERT(V8Proxy::MaybeDOMWrapper(object));
- V8ClassIndex::V8WrapperType t = V8Proxy::GetDOMWrapperType(object);
- C* collection = V8Proxy::ToNativeObject<C>(t, object);
- void* result = collection->item(index);
- return result != NULL;
-}
-
-
// A template for indexed getters on collections of strings that should return
// null if the resulting string is a null string.
template <class C>
@@ -188,11 +152,11 @@ static v8::Handle<v8::Value> CollectionStringOrNullIndexedPropertyGetter(
// Add indexed getter to the function template for a collection.
-template <class T>
+template <class T, class D>
static void SetCollectionIndexedGetter(v8::Handle<v8::FunctionTemplate> desc,
V8ClassIndex::V8WrapperType type) {
desc->InstanceTemplate()->SetIndexedPropertyHandler(
- CollectionIndexedPropertyGetter<T>,
+ CollectionIndexedPropertyGetter<T, D>,
0,
0,
0,
@@ -202,11 +166,11 @@ static void SetCollectionIndexedGetter(v8::Handle<v8::FunctionTemplate> desc,
// Add named getter to the function template for a collection.
-template <class T>
+template <class T, class D>
static void SetCollectionNamedGetter(v8::Handle<v8::FunctionTemplate> desc,
V8ClassIndex::V8WrapperType type) {
desc->InstanceTemplate()->SetNamedPropertyHandler(
- CollectionNamedPropertyGetter<T>,
+ CollectionNamedPropertyGetter<T, D>,
0,
0,
0,
@@ -216,21 +180,21 @@ static void SetCollectionNamedGetter(v8::Handle<v8::FunctionTemplate> desc,
// Add named and indexed getters to the function template for a collection.
-template <class T>
+template <class T, class D>
static void SetCollectionIndexedAndNamedGetters(
v8::Handle<v8::FunctionTemplate> desc, V8ClassIndex::V8WrapperType type) {
// If we interceptor before object, accessing 'length' can trigger
// a webkit assertion error.
// (see fast/dom/HTMLDocument/document-special-properties.html
desc->InstanceTemplate()->SetNamedPropertyHandler(
- CollectionNamedPropertyGetter<T>,
+ CollectionNamedPropertyGetter<T, D>,
0,
0,
0,
0,
v8::External::New(reinterpret_cast<void*>(type)));
desc->InstanceTemplate()->SetIndexedPropertyHandler(
- CollectionIndexedPropertyGetter<T>,
+ CollectionIndexedPropertyGetter<T, D>,
0,
0,
0,
diff --git a/webkit/port/bindings/v8/v8_custom.cpp b/webkit/port/bindings/v8/v8_custom.cpp
index 1d36ccc..0904839 100644
--- a/webkit/port/bindings/v8/v8_custom.cpp
+++ b/webkit/port/bindings/v8/v8_custom.cpp
@@ -114,6 +114,8 @@
#include "SVGPathSeg.h"
#endif
+#include "Navigator.h"
+
#undef LOG
#include "webkit/glue/webplugin_impl.h"
@@ -3145,6 +3147,17 @@ CALLBACK_FUNC_DECL(EventTargetNodeRemoveEventListener) {
}
+// Navigator ------------------------------------------------------------------
+ACCESSOR_GETTER(NavigatorAppVersion) {
+ INC_STATS(L"DOM.Navigator.appVersion");
+ v8::Handle<v8::Object> holder = info.Holder();
+ Navigator* imp = V8Proxy::ToNativeObject<Navigator>(V8ClassIndex::NAVIGATOR,
+ holder);
+ String v = ToString(imp->appVersion());
+ return v8StringOrUndefined(v);
+}
+
+
// TreeWalker ------------------------------------------------------------------
CALLBACK_FUNC_DECL(TreeWalkerParentNode) {
diff --git a/webkit/port/bindings/v8/v8_custom.h b/webkit/port/bindings/v8/v8_custom.h
index 101a1a5..302b80a 100644
--- a/webkit/port/bindings/v8/v8_custom.h
+++ b/webkit/port/bindings/v8/v8_custom.h
@@ -279,6 +279,12 @@ DECLARE_CALLBACK(ElementSetAttributeNodeNS)
DECLARE_CALLBACK(EventTargetNodeAddEventListener)
DECLARE_CALLBACK(EventTargetNodeRemoveEventListener)
+// Custom implementation is Navigator properties.
+// We actually only need this because WebKit has
+// navigator.appVersion as custom. Our version just
+// passes through.
+DECLARE_PROPERTY_ACCESSOR(NavigatorAppVersion)
+
// Custom implementation of XMLHttpRequest properties
DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnabort)
DECLARE_PROPERTY_ACCESSOR(XMLHttpRequestOnerror)
diff --git a/webkit/port/bindings/v8/v8_proxy.cpp b/webkit/port/bindings/v8/v8_proxy.cpp
index bc8f183..81df91f 100644
--- a/webkit/port/bindings/v8/v8_proxy.cpp
+++ b/webkit/port/bindings/v8/v8_proxy.cpp
@@ -73,20 +73,24 @@
#include "EventTarget.h"
#include "Event.h"
#include "HTMLInputElement.h"
-#include "XMLHttpRequest.h"
-#include "StyleSheet.h"
-#include "StyleSheetList.h"
#include "CSSRule.h"
#include "CSSRuleList.h"
#include "CSSValueList.h"
#include "CSSVariablesDeclaration.h"
#include "FrameLoader.h"
#include "FrameTree.h"
+#include "MimeTypeArray.h"
+#include "NodeFilter.h"
+#include "Plugin.h"
+#include "PluginArray.h"
#include "RangeException.h"
#include "ScriptController.h"
-#include "NodeFilter.h"
#include "SecurityOrigin.h"
+#include "Settings.h"
+#include "StyleSheet.h"
+#include "StyleSheetList.h"
#include "WebKitCSSTransformValue.h"
+#include "XMLHttpRequest.h"
#include "XMLHttpRequestException.h"
#include "XPathException.h"
@@ -1123,10 +1127,13 @@ v8::Persistent<v8::FunctionTemplate> V8Proxy::GetTemplate(
SetCollectionStringOrNullIndexedGetter<CSSStyleDeclaration>(desc);
break;
case V8ClassIndex::CSSRULELIST:
- SetCollectionIndexedGetter<CSSRuleList>(desc, V8ClassIndex::CSSRULE);
+ SetCollectionIndexedGetter<CSSRuleList, CSSRule>(desc,
+ V8ClassIndex::CSSRULE);
break;
case V8ClassIndex::CSSVALUELIST:
- SetCollectionIndexedGetter<CSSValueList>(desc, V8ClassIndex::CSSVALUE);
+ SetCollectionIndexedGetter<CSSValueList, CSSValue>(
+ desc,
+ V8ClassIndex::CSSVALUE);
break;
case V8ClassIndex::CSSVARIABLESDECLARATION:
SetCollectionStringOrNullIndexedGetter<CSSVariablesDeclaration>(desc);
@@ -1138,10 +1145,13 @@ v8::Persistent<v8::FunctionTemplate> V8Proxy::GetTemplate(
USE_NAMED_PROPERTY_GETTER(HTMLCollection));
desc->InstanceTemplate()->SetCallAsFunctionHandler(
USE_CALLBACK(HTMLCollectionCallAsFunction));
- SetCollectionIndexedGetter<HTMLCollection>(desc, V8ClassIndex::NODE);
+ SetCollectionIndexedGetter<HTMLCollection, Node>(desc,
+ V8ClassIndex::NODE);
break;
case V8ClassIndex::HTMLOPTIONSCOLLECTION:
- SetCollectionNamedGetter<HTMLOptionsCollection>(desc, V8ClassIndex::NODE);
+ SetCollectionNamedGetter<HTMLOptionsCollection, Node>(
+ desc,
+ V8ClassIndex::NODE);
desc->InstanceTemplate()->SetIndexedPropertyHandler(
USE_INDEXED_PROPERTY_GETTER(HTMLOptionsCollection),
USE_INDEXED_PROPERTY_SETTER(HTMLOptionsCollection));
@@ -1251,7 +1261,7 @@ v8::Persistent<v8::FunctionTemplate> V8Proxy::GetTemplate(
SetCollectionStringOrNullIndexedGetter<MediaList>(desc);
break;
case V8ClassIndex::MIMETYPEARRAY:
- SetCollectionIndexedAndNamedGetters<MimeTypeArray>(
+ SetCollectionIndexedAndNamedGetters<MimeTypeArray, MimeType>(
desc,
V8ClassIndex::MIMETYPE);
break;
@@ -1267,22 +1277,26 @@ v8::Persistent<v8::FunctionTemplate> V8Proxy::GetTemplate(
v8::External::New(reinterpret_cast<void*>(V8ClassIndex::NODE)));
break;
case V8ClassIndex::NODELIST:
- SetCollectionIndexedGetter<NodeList>(desc, V8ClassIndex::NODE);
+ SetCollectionIndexedGetter<NodeList, Node>(desc, V8ClassIndex::NODE);
desc->InstanceTemplate()->SetNamedPropertyHandler(
USE_NAMED_PROPERTY_GETTER(NodeList));
break;
case V8ClassIndex::PLUGIN:
- SetCollectionIndexedAndNamedGetters<Plugin>(desc, V8ClassIndex::MIMETYPE);
+ SetCollectionIndexedAndNamedGetters<Plugin, MimeType>(
+ desc,
+ V8ClassIndex::MIMETYPE);
break;
case V8ClassIndex::PLUGINARRAY:
- SetCollectionIndexedAndNamedGetters<PluginArray>(desc,
- V8ClassIndex::PLUGIN);
+ SetCollectionIndexedAndNamedGetters<PluginArray, Plugin>(
+ desc,
+ V8ClassIndex::PLUGIN);
break;
case V8ClassIndex::STYLESHEETLIST:
desc->InstanceTemplate()->SetNamedPropertyHandler(
USE_NAMED_PROPERTY_GETTER(StyleSheetList));
- SetCollectionIndexedGetter<StyleSheetList>(desc,
- V8ClassIndex::STYLESHEET);
+ SetCollectionIndexedGetter<StyleSheetList, StyleSheet>(
+ desc,
+ V8ClassIndex::STYLESHEET);
break;
case V8ClassIndex::DOMWINDOW: {
v8::Local<v8::Signature> default_signature = v8::Signature::New(desc);
diff --git a/webkit/port/bridge/chromium/PluginsChromium.cpp b/webkit/port/bridge/chromium/PluginsChromium.cpp
index ef7572a..eb6188d 100644
--- a/webkit/port/bridge/chromium/PluginsChromium.cpp
+++ b/webkit/port/bridge/chromium/PluginsChromium.cpp
@@ -35,6 +35,7 @@
#include "config.h"
+#include "PluginData.h"
#pragma warning(push, 0)
#include "PluginInfoStore.h"
#pragma warning(pop)
@@ -68,6 +69,8 @@ void LoadPlugins(bool refresh)
// deleting contents of the PluginInfo.
PluginInfo* PluginInfoStore::createPluginInfoForPluginAtIndex(unsigned int index)
{
+ LoadPlugins(false);
+
WebCore::PluginInfo* rv = new WebCore::PluginInfo();
const WebPluginInfo& plugin = g_plugins[index];
rv->name = webkit_glue::StdWStringToString(plugin.name);
diff --git a/webkit/port/page/Navigator.cpp b/webkit/port/page/Navigator.cpp
deleted file mode 100644
index 4be2995..0000000
--- a/webkit/port/page/Navigator.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright (c) 2008, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#include "config.h"
-#include "Navigator.h"
-#include "PluginInfoStore.h"
-
-namespace WebCore {
-
-void PluginArray::refresh(bool reload) {
- m_navigator->Refresh(reload);
-}
-
-Navigator::Navigator(Frame* frame) : m_frame(frame) {
-}
-
-Navigator::~Navigator() {
-}
-
-void Navigator::Initialize(bool refresh) {
- if (!m_mimetypes)
- m_mimetypes = new MimeTypeArray();
- if (!m_plugins)
- m_plugins = new PluginArray(this);
-
- if (refresh)
- WebCore::refreshPlugins(refresh);
-
- PluginInfoStore c;
- for (unsigned i = 0; i < c.pluginCount(); ++i) {
- PluginInfo* info = c.createPluginInfoForPluginAtIndex(i);
- if (info) {
- Plugin* plugin = new Plugin(info);
- m_plugins->Add(plugin);
-
- for (unsigned j = 0; j < info->mimes.size(); ++j)
- m_mimetypes->Add(new MimeType(info->mimes[j], plugin));
- }
- }
-}
-
-void Navigator::Refresh(bool reload) {
- if (!m_frame) return;
-
- if (m_mimetypes)
- m_mimetypes->Clear();
- if (m_plugins)
- m_plugins->Clear();
-
- Initialize(reload);
-}
-
-} // namespace WebCore
diff --git a/webkit/port/page/Navigator.h b/webkit/port/page/Navigator.h
deleted file mode 100644
index b757cec..0000000
--- a/webkit/port/page/Navigator.h
+++ /dev/null
@@ -1,274 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef Navigator_h
-#define Navigator_h
-
-#include "Language.h"
-#include "CookieJar.h"
-#include "Frame.h"
-#include "FrameLoader.h"
-#include "Document.h"
-#include "NetworkStateNotifier.h"
-#include "Settings.h"
-#include "PluginInfoStore.h"
-#include <wtf/RefCounted.h>
-
-// Navigator strings copied from KJS, must be updated whenever
-// Apple updated theirs.
-#ifndef WEBCORE_NAVIGATOR_PLATFORM
-#if PLATFORM(MAC) && PLATFORM(PPC)
-#define WEBCORE_NAVIGATOR_PLATFORM "MacPPC"
-#elif PLATFORM(MAC) && PLATFORM(X86)
-#define WEBCORE_NAVIGATOR_PLATFORM "MacIntel"
-#elif PLATFORM(WIN_OS)
-#define WEBCORE_NAVIGATOR_PLATFORM "Win32"
-#else
-#define WEBCORE_NAVIGATOR_PLATFORM ""
-#endif
-#endif // ifndef WEBCORE_NAVIGATOR_PLATFORM
-
-#ifndef WEBCORE_NAVIGATOR_PRODUCT
-#define WEBCORE_NAVIGATOR_PRODUCT "Gecko"
-#endif // ifndef WEBCORE_NAVIGATOR_PRODUCT
-
-#ifndef WEBCORE_NAVIGATOR_PRODUCT_SUB
-#define WEBCORE_NAVIGATOR_PRODUCT_SUB "20030107"
-#endif // ifndef WEBCORE_NAVIGATOR_PRODUCT_SUB
-
-#ifndef WEBCORE_NAVIGATOR_VENDOR
-#define WEBCORE_NAVIGATOR_VENDOR "Apple Computer, Inc."
-#endif // ifndef WEBCORE_NAVIGATOR_VENDOR
-
-#ifndef WEBCORE_NAVIGATOR_VENDOR_SUB
-#define WEBCORE_NAVIGATOR_VENDOR_SUB ""
-#endif // ifndef WEBCORE_NAVIGATOR_VENDOR_SUB
-
-namespace WebCore {
-
-class Plugin;
-class Navigator;
-
-// The following two classes (MimeType and Plugin) are wrappers around
-// MimeClassInfo and PluginInfo structs defined by WebKit. These are created
-// by PluginInfoStore::createPluginInfoForPluginAtIndex and are responsible
-// for cleaning up *info objects on deletion. The cleanup for MimeClassInfo
-// as well as PluginInfo is done by Plugin wrapper because each Plugin has its
-// own list of supported mime_types that should not be needed once the plugin
-// is gone.
-class MimeType : public RefCounted<MimeType> {
- public:
- explicit MimeType(MimeClassInfo* info, Plugin* plugin)
- : m_info(info), m_plugin(plugin) { }
-
- String description() const { return m_info->desc; }
- Plugin* enabledPlugin() const { return m_plugin; }
- String suffixes() const { return m_info->suffixes; }
- String type() const { return m_info->type; }
- private:
- MimeClassInfo* m_info;
- Plugin* m_plugin;
-};
-
-class Plugin : public RefCounted<Plugin> {
- public:
- explicit Plugin(PluginInfo* info) : m_info(info) {
- }
- ~Plugin() {
- if (m_info) {
- for (size_t i = 0; i < m_info->mimes.size(); i++) {
- if (m_info->mimes[i]) {
- delete m_info->mimes[i];
- m_info->mimes[i] = NULL;
- }
- }
- delete m_info;
- m_info = NULL;
- }
- }
- String description() const { return m_info->desc; }
- String filename() const { return m_info->file; }
- String name() const { return m_info->name; }
- int length() const { return m_info->mimes.size(); }
-
- MimeType* item(int index) {
- if (index >= 0 && index < length())
- return new MimeType(m_info->mimes[index], this);
- return NULL;
- }
-
- MimeType* namedItem(const String& name) {
- for (int i = 0; i < length(); ++i) {
- MimeClassInfo* m = m_info->mimes[i];
- if (m->type == name)
- return new MimeType(m, this);
- }
- return NULL;
- }
- private:
- PluginInfo* m_info;
-};
-
-
-template<class T>
-class ArrayOf {
- public:
- ~ArrayOf() {
- // release contents
- Clear();
- }
-
- int length() const {
- return m_contents.size();
- }
-
- T* item(int index) {
- if (index >= 0 && index < length())
- return m_contents[index];
- return NULL;
- }
-
- protected:
- Vector<T*> m_contents;
-
- private:
- void Add(T* el) {
- el->ref();
- m_contents.append(el);
- }
-
- void Clear() {
- while (m_contents.size() > 0) {
- m_contents[0]->deref();
- m_contents.remove(0);
- }
- }
-
- friend class Navigator;
-};
-
-class MimeTypeArray : public ArrayOf<MimeType>,
- public RefCounted<MimeTypeArray> {
- public:
- MimeType* namedItem(const String& name) {
- for (int i = 0; i < length(); ++i) {
- if (m_contents[i]->type() == name)
- return m_contents[i];
- }
- return NULL;
- }
-};
-
-class PluginArray : public ArrayOf<Plugin>, public RefCounted<PluginArray> {
- public:
- explicit PluginArray(Navigator* nav) : m_navigator(nav) { }
- Plugin* namedItem(const String& name) {
- for (int i = 0; i < length(); ++i) {
- if (m_contents[i]->name() == name)
- return m_contents[i];
- }
- return NULL;
- }
-
- void refresh(bool reloadDocuments);
- private:
- Navigator* m_navigator;
-};
-
-class Navigator : public RefCounted<Navigator> {
- public:
- static PassRefPtr<Navigator> create(Frame* frame)
- {
- return adoptRef(new Navigator(frame));
- }
- ~Navigator();
- String appCodeName() const { return "Mozilla"; }
- String appName() const { return "Netscape"; }
-
- String appVersion() const {
- if (!m_frame)
- return String();
-
- KURL url;
- if (m_frame->document()) {
- url = m_frame->document()->url();
- }
- const String user_agent = m_frame->loader()->userAgent(url);
- return user_agent.substring(user_agent.find('/') + 1);
- }
- String language() { return defaultLanguage(); }
-
- MimeTypeArray* mimeTypes() {
- if (!m_frame)
- return NULL;
-
- if (!m_mimetypes)
- Initialize(false);
- return m_mimetypes.get();
- }
- String platform() const { return WEBCORE_NAVIGATOR_PLATFORM; }
- String vendor() const { return WEBCORE_NAVIGATOR_VENDOR; }
- String vendorSub() const { return WEBCORE_NAVIGATOR_VENDOR_SUB; }
- String product() const { return WEBCORE_NAVIGATOR_PRODUCT; }
- String productSub() const { return WEBCORE_NAVIGATOR_PRODUCT_SUB; }
-
- PluginArray* plugins() {
- if (!m_frame)
- return NULL;
-
- if (!m_plugins)
- Initialize(false);
- return m_plugins.get();
- }
-
- String userAgent() const {
- if (!m_frame)
- return String();
-
- KURL url;
- if (m_frame->document()) {
- url = m_frame->document()->url();
- }
- return m_frame->loader()->userAgent(url);
- }
-
- bool cookieEnabled() {
- if (!m_frame)
- return false;
-
- return cookiesEnabled(m_frame->document());
- }
-
- bool javaEnabled() {
- if (!m_frame)
- return false;
-
- return m_frame->settings()->isJavaEnabled();
- }
-
- bool onLine() const {
- return networkStateNotifier().onLine();
- }
-
- Frame* frame() { return m_frame; }
-
- void disconnectFrame() { m_frame = NULL; }
-
- private:
- Navigator(Frame* frame);
-
- Frame* m_frame;
- RefPtr<MimeTypeArray> m_mimetypes;
- RefPtr<PluginArray> m_plugins;
-
- void Initialize(bool refresh);
-
- friend class PluginArray; // need to call Refresh
- void Refresh(bool reload);
-};
-
-} // namespace WebCore
-
-#endif
-
diff --git a/webkit/port/page/Navigator.idl b/webkit/port/page/Navigator.idl
deleted file mode 100644
index 6ed8243..0000000
--- a/webkit/port/page/Navigator.idl
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright (c) 2008 The Chromium Authors. All rights reserved. Use of this
-// source code is governed by a BSD-style license that can be found in the
-// LICENSE file.
-
-module core {
-#if defined(V8_BINDING)
-// V8 specific
-interface Navigator {
- readonly attribute DOMString appCodeName;
- readonly attribute DOMString appName;
- readonly attribute DOMString appVersion;
- readonly attribute DOMString language;
- readonly attribute MimeTypeArray mimeTypes;
- readonly attribute DOMString platform;
-// readonly attribute DOMString oscpu;
- readonly attribute DOMString vendor;
- readonly attribute DOMString vendorSub;
- readonly attribute DOMString product;
- readonly attribute DOMString productSub;
- readonly attribute PluginArray plugins;
-// readonly attribute DOMString securityPolicy;
- readonly attribute DOMString userAgent;
- readonly attribute boolean cookieEnabled;
- readonly attribute boolean onLine;
-// readonly attribute DOMString buildID;
-
- boolean javaEnabled();
-// boolean taintEnabled();
-};
-
-interface MimeType {
- readonly attribute DOMString description;
- readonly attribute Plugin enabledPlugin;
- readonly attribute DOMString suffixes;
- readonly attribute DOMString type;
-};
-
-interface Plugin {
- readonly attribute DOMString description;
- readonly attribute DOMString filename;
- readonly attribute DOMString name;
-
- readonly attribute unsigned long length;
- MimeType item(in unsigned long index);
- MimeType namedItem(in DOMString name);
-};
-
-interface MimeTypeArray {
- readonly attribute unsigned long length;
- MimeType item(in unsigned long index);
- MimeType namedItem(in DOMString name);
-};
-
-interface PluginArray {
- readonly attribute unsigned long length;
- Plugin item(in unsigned long index);
- Plugin namedItem(in DOMString name);
- void refresh(in boolean reloadDocuments);
-};
-
-#endif // V8_BINDING
-
-} // module
diff --git a/webkit/port/plugins/chromium/PluginDataChromium.cpp b/webkit/port/plugins/chromium/PluginDataChromium.cpp
index c289464..7670e22 100644
--- a/webkit/port/plugins/chromium/PluginDataChromium.cpp
+++ b/webkit/port/plugins/chromium/PluginDataChromium.cpp
@@ -5,6 +5,8 @@
#include "config.h"
#include "PluginData.h"
+#include "PluginInfoStore.h"
+
#undef LOG
#include "webkit/glue/glue_util.h"
#include "webkit/glue/webkit_glue.h"
@@ -20,28 +22,9 @@ void PluginData::initPlugins()
return;
refreshData = false;
+ PluginInfoStore c;
for (size_t i = 0; i < plugins.size(); ++i) {
- const WebPluginInfo& sourceInfo = plugins[i];
-
- PluginInfo* info = new PluginInfo;
- info->name = webkit_glue::StdWStringToString(sourceInfo.name);
- info->file = webkit_glue::StdWStringToString(sourceInfo.file);
- info->desc = webkit_glue::StdWStringToString(sourceInfo.desc);
-
- for (size_t j = 0; j < sourceInfo.mime_types.size(); ++j) {
- const WebPluginMimeType& mimeType = sourceInfo.mime_types[j];
-
- MimeClassInfo* mime = new MimeClassInfo;
- mime->type = webkit_glue::StdStringToString(mimeType.mime_type);
- mime->desc = webkit_glue::StdWStringToString(mimeType.description);
-
- for (size_t k = 0; k < mimeType.file_extensions.size(); ++k) {
- if (k > 0)
- mime->suffixes += ",";
- mime->suffixes += webkit_glue::StdStringToString(mimeType.file_extensions[k]);
- }
- info->mimes.append(mime);
- }
+ PluginInfo* info = c.createPluginInfoForPluginAtIndex(i);
m_plugins.append(info);
}
}
diff --git a/webkit/webkit.xcodeproj/project.pbxproj b/webkit/webkit.xcodeproj/project.pbxproj
index 7fa7b54..88e923f 100644
--- a/webkit/webkit.xcodeproj/project.pbxproj
+++ b/webkit/webkit.xcodeproj/project.pbxproj
@@ -126,6 +126,11 @@
4DB7FA670E9BF24600C66CE0 /* NetworkStateNotifierMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DB7F9EE0E9BECEC00C66CE0 /* NetworkStateNotifierMac.cpp */; };
4DB7FE770E9BF6D800C66CE0 /* WebSystemInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DB7FE6A0E9BF69A00C66CE0 /* WebSystemInterface.m */; };
4DBB28F70EA611B200A0A427 /* V8SVGAltGlyphElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DBB28F50EA611B200A0A427 /* V8SVGAltGlyphElement.cpp */; };
+ 4DDC62A30EAD140400FB5EBE /* Navigator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABA23E6B0E9FC43700C96905 /* Navigator.cpp */; };
+ 4DDC62B60EAD142D00FB5EBE /* MimeType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DDC62AE0EAD142D00FB5EBE /* MimeType.cpp */; };
+ 4DDC62B70EAD142D00FB5EBE /* MimeTypeArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DDC62B00EAD142D00FB5EBE /* MimeTypeArray.cpp */; };
+ 4DDC62B80EAD142D00FB5EBE /* Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DDC62B20EAD142D00FB5EBE /* Plugin.cpp */; };
+ 4DDC62B90EAD142D00FB5EBE /* PluginArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DDC62B40EAD142D00FB5EBE /* PluginArray.cpp */; };
7B0091350DAFEFBE00F72082 /* CSSGrammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B00912B0DAFEFBE00F72082 /* CSSGrammar.cpp */; };
7B0091370DAFEFBE00F72082 /* HTMLNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B00912D0DAFEFBE00F72082 /* HTMLNames.cpp */; };
7B0091390DAFEFBE00F72082 /* SVGElementFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B00912F0DAFEFBE00F72082 /* SVGElementFactory.cpp */; };
@@ -393,7 +398,6 @@
7B0096060DAFF0DD00F72082 /* v8_npobject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B0095E80DAFF0DD00F72082 /* v8_npobject.cpp */; };
7B00960B0DAFF0DD00F72082 /* v8_vectornodelist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B0095ED0DAFF0DD00F72082 /* v8_vectornodelist.cpp */; };
7B0096220DAFF19C00F72082 /* Location.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B0096150DAFF19C00F72082 /* Location.cpp */; };
- 7B0096240DAFF19C00F72082 /* Navigator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B0096180DAFF19C00F72082 /* Navigator.cpp */; };
7B00962A0DAFF1D000F72082 /* InspectorController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B0096290DAFF1D000F72082 /* InspectorController.cpp */; };
7B1438070E7874FC00901940 /* webframeloaderclient_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8254053F0D92E3DA0006B936 /* webframeloaderclient_impl.cc */; };
7B14AAA90DE3340400F4E646 /* CharsetData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B14AAA80DE3340400F4E646 /* CharsetData.cpp */; };
@@ -1546,6 +1550,15 @@
4DB7FE6F0E9BF6AC00C66CE0 /* libwebcoresysteminterface.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwebcoresysteminterface.a; sourceTree = BUILT_PRODUCTS_DIR; };
4DBB28F50EA611B200A0A427 /* V8SVGAltGlyphElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = V8SVGAltGlyphElement.cpp; sourceTree = "<group>"; };
4DBB28F60EA611B200A0A427 /* V8SVGAltGlyphElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = V8SVGAltGlyphElement.h; sourceTree = "<group>"; };
+ 4DDC62A20EAD13EF00FB5EBE /* Navigator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Navigator.h; sourceTree = "<group>"; };
+ 4DDC62AE0EAD142D00FB5EBE /* MimeType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MimeType.cpp; sourceTree = "<group>"; };
+ 4DDC62AF0EAD142D00FB5EBE /* MimeType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MimeType.h; sourceTree = "<group>"; };
+ 4DDC62B00EAD142D00FB5EBE /* MimeTypeArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MimeTypeArray.cpp; sourceTree = "<group>"; };
+ 4DDC62B10EAD142D00FB5EBE /* MimeTypeArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MimeTypeArray.h; sourceTree = "<group>"; };
+ 4DDC62B20EAD142D00FB5EBE /* Plugin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Plugin.cpp; sourceTree = "<group>"; };
+ 4DDC62B30EAD142D00FB5EBE /* Plugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Plugin.h; sourceTree = "<group>"; };
+ 4DDC62B40EAD142D00FB5EBE /* PluginArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PluginArray.cpp; sourceTree = "<group>"; };
+ 4DDC62B50EAD142D00FB5EBE /* PluginArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginArray.h; sourceTree = "<group>"; };
7B00912B0DAFEFBE00F72082 /* CSSGrammar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSGrammar.cpp; sourceTree = "<group>"; };
7B00912C0DAFEFBE00F72082 /* CSSGrammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSGrammar.h; sourceTree = "<group>"; };
7B00912D0DAFEFBE00F72082 /* HTMLNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLNames.cpp; sourceTree = "<group>"; };
@@ -2087,8 +2100,6 @@
7B0095EE0DAFF0DD00F72082 /* v8_vectornodelist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = v8_vectornodelist.h; sourceTree = "<group>"; };
7B0096150DAFF19C00F72082 /* Location.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Location.cpp; sourceTree = "<group>"; };
7B0096160DAFF19C00F72082 /* Location.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Location.h; sourceTree = "<group>"; };
- 7B0096180DAFF19C00F72082 /* Navigator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Navigator.cpp; sourceTree = "<group>"; };
- 7B0096190DAFF19C00F72082 /* Navigator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Navigator.h; sourceTree = "<group>"; };
7B00961D0DAFF19C00F72082 /* ScheduledAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScheduledAction.h; sourceTree = "<group>"; };
7B0096290DAFF1D000F72082 /* InspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InspectorController.cpp; path = port/page/inspector/InspectorController.cpp; sourceTree = "<group>"; };
7B0E595B0DB3D195007D4907 /* IconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconDatabase.h; sourceTree = "<group>"; };
@@ -5065,6 +5076,7 @@
7B5E8F090D7F3C49001ECF42 /* MouseEventWithHitTestResults.cpp */,
7B5E8F0A0D7F3C49001ECF42 /* MouseEventWithHitTestResults.h */,
ABA23E6B0E9FC43700C96905 /* Navigator.cpp */,
+ 4DDC62A20EAD13EF00FB5EBE /* Navigator.h */,
7B5E8F0B0D7F3C49001ECF42 /* Page.cpp */,
7B5E8F0C0D7F3C49001ECF42 /* Page.h */,
4DB7F1FB0E9BAE2900C66CE0 /* PageGroup.cpp */,
@@ -5523,6 +5535,14 @@
7B5E94F70D7F3E5B001ECF42 /* plugins */ = {
isa = PBXGroup;
children = (
+ 4DDC62AE0EAD142D00FB5EBE /* MimeType.cpp */,
+ 4DDC62AF0EAD142D00FB5EBE /* MimeType.h */,
+ 4DDC62B00EAD142D00FB5EBE /* MimeTypeArray.cpp */,
+ 4DDC62B10EAD142D00FB5EBE /* MimeTypeArray.h */,
+ 4DDC62B20EAD142D00FB5EBE /* Plugin.cpp */,
+ 4DDC62B30EAD142D00FB5EBE /* Plugin.h */,
+ 4DDC62B40EAD142D00FB5EBE /* PluginArray.cpp */,
+ 4DDC62B50EAD142D00FB5EBE /* PluginArray.h */,
7B5E94FD0D7F3E5B001ECF42 /* PluginInfoStore.h */,
);
path = plugins;
@@ -7170,8 +7190,6 @@
7B5E8EFF0D7F3C48001ECF42 /* EventHandlerMac.mm */,
7B0096150DAFF19C00F72082 /* Location.cpp */,
7B0096160DAFF19C00F72082 /* Location.h */,
- 7B0096180DAFF19C00F72082 /* Navigator.cpp */,
- 7B0096190DAFF19C00F72082 /* Navigator.h */,
);
path = page;
sourceTree = "<group>";
@@ -7490,7 +7508,6 @@
4DB7F5620E9BD69A00C66CE0 /* JSNSResolver.cpp in Sources */,
7B0095F10DAFF0DD00F72082 /* JSXPathNSResolver.cpp in Sources */,
7B0096220DAFF19C00F72082 /* Location.cpp in Sources */,
- 7B0096240DAFF19C00F72082 /* Navigator.cpp in Sources */,
7B0095F30DAFF0DD00F72082 /* np_v8object.cpp in Sources */,
7B0095F50DAFF0DD00F72082 /* npruntime.cpp in Sources */,
7B0091390DAFEFBE00F72082 /* SVGElementFactory.cpp in Sources */,
@@ -8141,6 +8158,8 @@
E45623A30E268E87005E4685 /* MediaQueryExp.cpp in Sources */,
E45624060E268E87005E4685 /* MergeIdenticalElementsCommand.cpp in Sources */,
E45623CB0E268E87005E4685 /* MessageEvent.cpp in Sources */,
+ 4DDC62B60EAD142D00FB5EBE /* MimeType.cpp in Sources */,
+ 4DDC62B70EAD142D00FB5EBE /* MimeTypeArray.cpp in Sources */,
E45625180E268E87005E4685 /* MIMETypeRegistry.cpp in Sources */,
E45624FF0E268E87005E4685 /* MIMETypeRegistryMac.mm in Sources */,
E45624070E268E87005E4685 /* ModifySelectionListLevel.cpp in Sources */,
@@ -8154,6 +8173,7 @@
E45623D10E268E87005E4685 /* NameNodeList.cpp in Sources */,
E456265B0E268E87005E4685 /* NativeXPathNSResolver.cpp in Sources */,
E45624910E268E87005E4685 /* NavigationAction.cpp in Sources */,
+ 4DDC62A30EAD140400FB5EBE /* Navigator.cpp in Sources */,
E45624920E268E87005E4685 /* NetscapePlugInStreamLoader.cpp in Sources */,
4DB7F9DD0E9BEC9500C66CE0 /* NetworkStateNotifier.cpp in Sources */,
4DB7FA670E9BF24600C66CE0 /* NetworkStateNotifierMac.cpp in Sources */,
@@ -8180,6 +8200,8 @@
E45625010E268E87005E4685 /* PlatformMouseEventMac.mm in Sources */,
E45625020E268E87005E4685 /* PlatformScreenMac.mm in Sources */,
E45625030E268E87005E4685 /* PlatformScrollBarMac.mm in Sources */,
+ 4DDC62B80EAD142D00FB5EBE /* Plugin.cpp in Sources */,
+ 4DDC62B90EAD142D00FB5EBE /* PluginArray.cpp in Sources */,
E45624930E268E87005E4685 /* PluginDocument.cpp in Sources */,
E45625570E268E87005E4685 /* PointerEventsHitRules.cpp in Sources */,
E45625050E268E87005E4685 /* PopupMenuMac.mm in Sources */,