summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DEPS2
-rwxr-xr-xwebkit/build/JSConfig/create-config.sh6
-rw-r--r--webkit/build/JavaScriptCore/JavaScriptCore.vcproj298
-rw-r--r--webkit/build/JavaScriptCore/SConscript1
-rw-r--r--webkit/build/JavaScriptCore/javascriptcore.vsprops2
-rw-r--r--webkit/build/KJSBindings/KJSBindings.vcproj52
-rw-r--r--webkit/build/WebCore/SConscript6
-rw-r--r--webkit/build/WebCore/WebCore.vcproj92
-rw-r--r--webkit/build/js_engine_kjs.vsprops2
-rw-r--r--webkit/build/port/port.vcproj4
-rw-r--r--webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/README9
-rw-r--r--webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt17
-rw-r--r--webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-history-put-expected.txt25
-rw-r--r--webkit/data/layout_tests/pending/security/block-test.html1
-rw-r--r--webkit/glue/autocomplete_input_listener.cc8
-rw-r--r--webkit/glue/autocomplete_input_listener_unittest.cc6
-rw-r--r--webkit/glue/chrome_client_impl.cc8
-rw-r--r--webkit/glue/chrome_client_impl.h6
-rw-r--r--webkit/glue/cpp_bound_class.cc2
-rw-r--r--webkit/glue/inspector_client_impl.cc17
-rw-r--r--webkit/glue/inspector_client_impl.h6
-rw-r--r--webkit/glue/npruntime_util.cc1
-rw-r--r--webkit/glue/webframe_impl.cc143
-rw-r--r--webkit/glue/webframe_impl.h28
-rw-r--r--webkit/glue/webframeloaderclient_impl.cc31
-rw-r--r--webkit/glue/webframeloaderclient_impl.h1
-rw-r--r--webkit/glue/webplugin_impl.cc14
-rw-r--r--webkit/glue/webview_impl.cc186
-rw-r--r--webkit/glue/webview_impl.h16
-rw-r--r--webkit/port/bindings/v8/ScriptController.cpp28
-rw-r--r--webkit/port/bindings/v8/ScriptController.h2
-rw-r--r--webkit/port/bindings/v8/V8MessagePortCustom.cpp15
-rw-r--r--webkit/port/bindings/v8/V8XMLHttpRequestCustom.cpp31
-rw-r--r--webkit/port/bindings/v8/v8_custom.cpp18
-rw-r--r--webkit/port/bindings/v8/v8_events.cpp8
-rw-r--r--webkit/port/bindings/v8/v8_events.h4
-rw-r--r--webkit/port/bindings/v8/v8_proxy.cpp59
-rw-r--r--webkit/port/bindings/v8/v8_proxy.h16
-rw-r--r--webkit/port/page/Console.idl51
-rw-r--r--webkit/port/page/chromium/ChromeClientChromium.h4
-rw-r--r--webkit/port/platform/chromium/CursorChromium.cpp10
-rw-r--r--webkit/port/platform/chromium/FileChooserChromium.cpp17
-rw-r--r--webkit/port/platform/chromium/IconLinux.cpp8
-rw-r--r--webkit/port/platform/chromium/RenderThemeGtk.cpp34
-rw-r--r--webkit/port/platform/graphics/BitmapImageSingleFrameSkia.h2
-rw-r--r--webkit/port/platform/graphics/IconWin.cpp12
-rw-r--r--webkit/port/platform/graphics/mac/IconMac.cpp7
-rw-r--r--webkit/port/platform/graphics/svg/SVGPaintServerGradientSkia.cpp6
-rw-r--r--webkit/port/rendering/RenderThemeMac.mm148
-rw-r--r--webkit/port/rendering/RenderThemeWin.cpp65
-rw-r--r--webkit/port/rendering/RenderThemeWin.h2
-rw-r--r--webkit/tools/layout_tests/test_lists/win/tests_fixable.txt58
-rw-r--r--webkit/webkit.xcodeproj/project.pbxproj120
53 files changed, 1028 insertions, 687 deletions
diff --git a/DEPS b/DEPS
index 0bd6572..e22e1f5 100644
--- a/DEPS
+++ b/DEPS
@@ -12,7 +12,7 @@ deps = {
"http://googletest.googlecode.com/svn/trunk@63",
"src/third_party/WebKit":
- "/trunk/deps/third_party/WebKit@4887",
+ "/trunk/deps/third_party/WebKit@5109",
"src/third_party/icu38":
"/trunk/deps/third_party/icu38@5041",
diff --git a/webkit/build/JSConfig/create-config.sh b/webkit/build/JSConfig/create-config.sh
index 228a14d..e561229 100755
--- a/webkit/build/JSConfig/create-config.sh
+++ b/webkit/build/JSConfig/create-config.sh
@@ -87,6 +87,12 @@ then
$CP $JavaScriptCoreSrcDir/API/JSRetainPtr.h $JSHeadersDir/JavaScriptCore
$CP $JavaScriptCoreSrcDir/API/OpaqueJSString.h $JSHeadersDir/JavaScriptCore
$CP $JavaScriptCoreSrcDir/API/WebKitAvailability.h $JSHeadersDir/JavaScriptCore
+ # TODO(dglazkov): we should really look into adopting their ways of doing this
+ # WebKit uses ForwardingHeaders and copies them to make this work
+ $CP $JavaScriptCoreSrcDir/kjs/ustring.h $JSHeadersDir/JavaScriptCore
+ $CP $JavaScriptCoreSrcDir/kjs/identifier.h $JSHeadersDir/JavaScriptCore
+ $CP $JavaScriptCoreSrcDir/kjs/collector.h $JSHeadersDir/JavaScriptCore
+ $CP $JavaScriptCoreSrcDir/kjs/TypeInfo.h $JSHeadersDir/JavaScriptCore
else
$CP $WebCoreSrcDir/bridge/npapi.h $JSHeadersDir
$CP $WebCoreSrcDir/bridge/npruntime.h $JSHeadersDir
diff --git a/webkit/build/JavaScriptCore/JavaScriptCore.vcproj b/webkit/build/JavaScriptCore/JavaScriptCore.vcproj
index 2c7e76d..fbb09b6 100644
--- a/webkit/build/JavaScriptCore/JavaScriptCore.vcproj
+++ b/webkit/build/JavaScriptCore/JavaScriptCore.vcproj
@@ -125,71 +125,71 @@
Name="KJS"
>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ArgList.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ArgList.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ArgList.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ArgList.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\Arguments.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\Arguments.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\Arguments.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\Arguments.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ArrayConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ArrayConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ArrayConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ArrayConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ArrayPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ArrayPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ArrayPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ArrayPrototype.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\BooleanConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\BooleanConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\BooleanConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\BooleanConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\BooleanObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\BooleanObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\BooleanObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\BooleanObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\BooleanPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\BooleanPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\BooleanPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\BooleanPrototype.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\CallData.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\CallData.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\CallData.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\CallData.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ClassInfo.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ClassInfo.h"
>
</File>
<File
@@ -201,11 +201,15 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\CommonIdentifiers.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\CollectorHeapIntrospector.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\CommonIdentifiers.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\CommonIdentifiers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\CommonIdentifiers.h"
>
</File>
<File
@@ -217,59 +221,59 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ConstructData.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ConstructData.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ConstructData.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ConstructData.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DateConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\DateConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DateConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\DateConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DateInstance.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\DateInstance.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DateInstance.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\DateInstance.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DateMath.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\DateMath.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DateMath.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\DateMath.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DatePrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\DatePrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DatePrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\DatePrototype.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\debugger.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\debugger\debugger.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\debugger.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\debugger\debugger.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DebuggerCallFrame.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\debugger\DebuggerCallFrame.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\DebuggerCallFrame.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\debugger\DebuggerCallFrame.h"
>
</File>
<File
@@ -281,75 +285,75 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\Error.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\Error.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\Error.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\Error.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ErrorConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ErrorConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ErrorConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ErrorConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ErrorInstance.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ErrorInstance.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ErrorInstance.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ErrorInstance.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ErrorPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ErrorPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ErrorPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ErrorPrototype.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ExecState.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ExecState.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ExecState.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ExecState.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\FunctionConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\FunctionConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\FunctionConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\FunctionConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\FunctionPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\FunctionPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\FunctionPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\FunctionPrototype.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\GetterSetter.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\GetterSetter.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\GetterSetter.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\GetterSetter.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\GlobalEvalFunction.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\GlobalEvalFunction.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\GlobalEvalFunction.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\GlobalEvalFunction.h"
>
</File>
<File
@@ -361,19 +365,19 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\InitializeThreading.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\InitializeThreading.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\InitializeThreading.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\InitializeThreading.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\InternalFunction.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\InternalFunction.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\InternalFunction.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\InternalFunction.h"
>
</File>
<File
@@ -385,147 +389,143 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSActivation.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSActivation.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSActivation.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSActivation.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSArray.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSArray.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSArray.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSArray.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSCell.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSCell.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSCell.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSCell.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSFunction.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSFunction.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSFunction.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSFunction.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSGlobalData.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSGlobalData.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSGlobalData.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSGlobalData.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSGlobalObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSGlobalObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSGlobalObjectFunctions.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSGlobalObjectFunctions.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSGlobalObjectFunctions.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSGlobalObjectFunctions.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSImmediate.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSImmediate.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSImmediate.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSImmediate.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSLock.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSLock.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSLock.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSLock.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSNotAnObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSNotAnObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSNotAnObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSNotAnObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSNumberCell.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSNumberCell.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSNumberCell.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSNumberCell.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\jsobject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSStaticScopeObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSStaticScopeObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSStaticScopeObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSStaticScopeObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSString.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSString.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSString.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSString.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSType.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSType.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSValue.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSValue.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSValue.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSValue.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSVariableObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSVariableObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSVariableObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSVariableObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSWrapperObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSWrapperObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\JSWrapperObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSWrapperObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\LabelStack.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\LabelStack.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\LabelScope.h"
>
</File>
<File
@@ -545,27 +545,27 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\MathObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\MathObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\MathObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\MathObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NativeErrorConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NativeErrorConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NativeErrorConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NativeErrorConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NativeErrorPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NativeErrorPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NativeErrorPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NativeErrorPrototype.h"
>
</File>
<File
@@ -585,43 +585,43 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NumberConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NumberConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NumberConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NumberConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NumberObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NumberObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NumberObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NumberObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NumberPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NumberPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\NumberPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\NumberPrototype.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ObjectConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ObjectConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ObjectConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ObjectConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ObjectPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ObjectPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ObjectPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ObjectPrototype.h"
>
</File>
<File
@@ -641,27 +641,23 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\PropertyMap.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\PropertyMap.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\PropertyMapHashTable.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\PropertyNameArray.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\PropertyNameArray.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\PropertyNameArray.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\PropertyNameArray.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\PropertySlot.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\PropertySlot.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\PropertySlot.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\PropertySlot.h"
>
</File>
<File
@@ -669,11 +665,11 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\PrototypeFunction.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\PrototypeFunction.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\PrototypeFunction.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\PrototypeFunction.h"
>
</File>
<File
@@ -685,47 +681,47 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\RegExpConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\RegExpConstructor.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\RegExpConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\RegExpConstructor.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\RegExpObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\RegExpObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\RegExpObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\RegExpObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\RegExpPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\RegExpPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\RegExpPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\RegExpPrototype.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ScopeChain.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ScopeChain.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ScopeChain.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ScopeChain.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\ScopeChainMark.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\ScopeChainMark.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\SmallStrings.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\SmallStrings.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\SmallStrings.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\SmallStrings.h"
>
</File>
<File
@@ -733,47 +729,59 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\SourceRange.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\SourceCode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StringConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StringConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StringObject.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StringConstructor.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StringObject.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StringConstructor.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StringObjectThatMasqueradesAsUndefined.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StringObject.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StringPrototype.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StringObject.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StringPrototype.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StringObjectThatMasqueradesAsUndefined.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StructureID.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StringPrototype.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StructureID.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StringPrototype.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StructureIDChain.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StructureID.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StructureIDChain.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\StructureID.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\StructureIDTransitionTable.h"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\kjs\SymbolTable.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\SymbolTable.h"
>
</File>
<File
@@ -1037,11 +1045,11 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\VM\JSPropertyNameIterator.cpp"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSPropertyNameIterator.cpp"
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\VM\JSPropertyNameIterator.h"
+ RelativePath="..\..\..\third_party\WebKit\JavaScriptCore\runtime\JSPropertyNameIterator.h"
>
</File>
<File
diff --git a/webkit/build/JavaScriptCore/SConscript b/webkit/build/JavaScriptCore/SConscript
index 8772d17..14a5d68 100644
--- a/webkit/build/JavaScriptCore/SConscript
+++ b/webkit/build/JavaScriptCore/SConscript
@@ -85,7 +85,6 @@ copies = [
'../WebCore/bridge/runtime_object.h',
'../WebCore/bridge/runtime_root.h',
'kjs/collector.h',
- 'kjs/JSLock.h',
'kjs/interpreter.h',
'wtf/HashCountedSet.h',
]
diff --git a/webkit/build/JavaScriptCore/javascriptcore.vsprops b/webkit/build/JavaScriptCore/javascriptcore.vsprops
index 1bc7e16..60c61c7 100644
--- a/webkit/build/JavaScriptCore/javascriptcore.vsprops
+++ b/webkit/build/JavaScriptCore/javascriptcore.vsprops
@@ -13,7 +13,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(IntDir)&quot;;&quot;$(IntDir)\DerivedSources&quot;;../../../third_party/WebKit/JavaScriptCore;&quot;../../../third_party/WebKit/JavaScriptCore/os-win32&quot;;../../../third_party/WebKit/JavaScriptCore/pcre;../../../third_party/WebKit/JavaScriptCore/kjs;../../../third_party/WebKit/JavaScriptCore/wtf;../../../third_party/WebKit/JavaScriptCore/API;../../../third_party/WebKit/JavaScriptCore/VM;../../../third_party/WebKit/JavaScriptCore/profiler;../../../third_party/WebKit/JavaScriptCore/bindings;../../../third_party/WebKit/JavaScriptCore/bindings/c;../../../third_party/WebKit/JavaScriptCore/bindings/jni;../../pending;../../pending/kjs;../../pending/wtf"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(IntDir)&quot;;&quot;$(IntDir)\DerivedSources&quot;;../../../third_party/WebKit/JavaScriptCore;&quot;../../../third_party/WebKit/JavaScriptCore/os-win32&quot;;../../../third_party/WebKit/JavaScriptCore/pcre;../../../third_party/WebKit/JavaScriptCore/kjs;../../../third_party/WebKit/JavaScriptCore/runtime;../../../third_party/WebKit/JavaScriptCore/debugger;../../../third_party/WebKit/JavaScriptCore/wtf;../../../third_party/WebKit/JavaScriptCore/API;../../../third_party/WebKit/JavaScriptCore/VM;../../../third_party/WebKit/JavaScriptCore/profiler;../../../third_party/WebKit/JavaScriptCore/bindings;../../../third_party/WebKit/JavaScriptCore/bindings/c;../../../third_party/WebKit/JavaScriptCore/bindings/jni;../../pending;../../pending/kjs;../../pending/wtf"
PreprocessorDefinitions="ENABLE_JSC_MULTIPLE_THREADS=0;__STD_C"
/>
</VisualStudioPropertySheet>
diff --git a/webkit/build/KJSBindings/KJSBindings.vcproj b/webkit/build/KJSBindings/KJSBindings.vcproj
index 07662e4..9c47076 100644
--- a/webkit/build/KJSBindings/KJSBindings.vcproj
+++ b/webkit/build/KJSBindings/KJSBindings.vcproj
@@ -509,6 +509,14 @@
>
</File>
<File
+ RelativePath="$(IntDir)\DerivedSources\JSGeolocation.h"
+ >
+ </File>
+ <File
+ RelativePath="$(IntDir)\DerivedSources\JSGeoposition.h"
+ >
+ </File>
+ <File
RelativePath="$(IntDir)\DerivedSources\JSHistory.cpp"
>
</File>
@@ -1213,6 +1221,14 @@
>
</File>
<File
+ RelativePath="$(IntDir)\DerivedSources\JSPositionError.h"
+ >
+ </File>
+ <File
+ RelativePath="$(IntDir)\DerivedSources\JSPositionOptions.h"
+ >
+ </File>
+ <File
RelativePath="$(IntDir)\DerivedSources\JSProcessingInstruction.cpp"
>
</File>
@@ -2846,6 +2862,14 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSCustomPositionCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSCustomPositionErrorCallback.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSCustomSQLStatementCallback.cpp"
>
</File>
@@ -2918,6 +2942,14 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSDOMGlobalObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSDOMGlobalObject.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSDOMWindowBase.cpp"
>
</File>
@@ -2970,6 +3002,10 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSGeolocationCustom.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSHistoryCustom.cpp"
>
</File>
@@ -3030,14 +3066,6 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSHTMLOptionElementConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSHTMLOptionElementConstructor.h"
- >
- </File>
- <File
RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSHTMLOptionsCollectionCustom.cpp"
>
</File>
@@ -3142,6 +3170,14 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSOptionConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSOptionConstructor.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\bindings\js\JSPluginArrayCustom.cpp"
>
</File>
diff --git a/webkit/build/WebCore/SConscript b/webkit/build/WebCore/SConscript
index cf44db8..bff3591 100644
--- a/webkit/build/WebCore/SConscript
+++ b/webkit/build/WebCore/SConscript
@@ -97,6 +97,7 @@ input_files = [
'$WEBCORE_DIR/css/WebKitCSSKeyframesRule.cpp',
'$WEBCORE_DIR/css/WebKitCSSTransformValue.cpp',
+ '$WEBCORE_DIR/dom/ActiveDOMObject.cpp',
'$WEBCORE_DIR/dom/Attr.cpp',
'$WEBCORE_DIR/dom/Attribute.cpp',
'$WEBCORE_DIR/dom/BeforeTextInsertedEvent.cpp',
@@ -151,6 +152,7 @@ input_files = [
'$WEBCORE_DIR/dom/Range.cpp',
'$WEBCORE_DIR/dom/RegisteredEventListener.cpp',
'$WEBCORE_DIR/dom/ScriptElement.cpp',
+ '$WEBCORE_DIR/dom/ScriptExecutionContext.cpp',
'$WEBCORE_DIR/dom/SelectorNodeList.cpp',
'$WEBCORE_DIR/dom/StaticNodeList.cpp',
'$WEBCORE_DIR/dom/StyledElement.cpp',
@@ -370,6 +372,7 @@ input_files = [
'$WEBCORE_DIR/page/Frame.cpp',
'$WEBCORE_DIR/page/FrameTree.cpp',
'$WEBCORE_DIR/page/FrameView.cpp',
+ '$WEBCORE_DIR/page/Geolocation.cpp',
'$WEBCORE_DIR/page/History.cpp',
'$WEBCORE_DIR/page/MouseEventWithHitTestResults.cpp',
'$WEBCORE_DIR/page/Navigator.cpp',
@@ -393,7 +396,9 @@ input_files = [
'$WEBCORE_DIR/platform/DragData.cpp',
'$WEBCORE_DIR/platform/DragImage.cpp',
'$WEBCORE_DIR/platform/FileChooser.cpp',
+ '$WEBCORE_DIR/platform/GeolocationService.cpp',
'$WEBCORE_DIR/platform/KURL.cpp',
+ '$WEBCORE_DIR/platform/Length.cpp',
'$WEBCORE_DIR/platform/Logging.cpp',
'$PORT_DIR/platform/MIMETypeRegistry.cpp',
'$WEBCORE_DIR/platform/Scrollbar.cpp',
@@ -491,7 +496,6 @@ input_files = [
'$WEBCORE_DIR/rendering/InlineFlowBox.cpp',
'$WEBCORE_DIR/rendering/InlineTextBox.cpp',
'$WEBCORE_DIR/rendering/LayoutState.cpp',
- '$WEBCORE_DIR/rendering/Length.cpp',
'$WEBCORE_DIR/rendering/ListMarkerBox.cpp',
'$WEBCORE_DIR/rendering/MediaControlElements.cpp',
'$WEBCORE_DIR/rendering/PointerEventsHitRules.cpp',
diff --git a/webkit/build/WebCore/WebCore.vcproj b/webkit/build/WebCore/WebCore.vcproj
index 88ffac5..8586a05 100644
--- a/webkit/build/WebCore/WebCore.vcproj
+++ b/webkit/build/WebCore/WebCore.vcproj
@@ -354,6 +354,22 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\Geolocation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\Geolocation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\Geoposition.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\Geoposition.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\page\History.cpp"
>
</File>
@@ -398,6 +414,22 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\PositionCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\PositionError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\PositionErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\page\PositionOptions.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\page\Screen.cpp"
>
</File>
@@ -934,6 +966,14 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\GeolocationService.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\GeolocationService.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\platform\HostWindow.h"
>
</File>
@@ -950,6 +990,22 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\Length.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\Length.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\LengthBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\LengthSize.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\platform\LocalizedStrings.h"
>
</File>
@@ -1090,6 +1146,14 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\Theme.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\ThemeTypes.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\platform\Timer.cpp"
>
</File>
@@ -1437,6 +1501,10 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\platform\text\AtomicStringHash.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\platform\text\AtomicStringImpl.h"
>
</File>
@@ -2310,14 +2378,6 @@
>
</File>
<File
- RelativePath="..\..\..\third_party\WebKit\WebCore\rendering\Length.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\third_party\WebKit\WebCore\rendering\Length.h"
- >
- </File>
- <File
RelativePath="..\..\..\third_party\WebKit\WebCore\rendering\ListMarkerBox.cpp"
>
</File>
@@ -3442,6 +3502,14 @@
Name="dom"
>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\dom\ActiveDOMObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\dom\ActiveDOMObject.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\dom\AtomicStringList.h"
>
</File>
@@ -3914,6 +3982,14 @@
>
</File>
<File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\dom\ScriptExecutionContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\third_party\WebKit\WebCore\dom\ScriptExecutionContext.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\third_party\WebKit\WebCore\dom\SelectorNodeList.cpp"
>
</File>
diff --git a/webkit/build/js_engine_kjs.vsprops b/webkit/build/js_engine_kjs.vsprops
index 103227c..f5e02e2 100644
--- a/webkit/build/js_engine_kjs.vsprops
+++ b/webkit/build/js_engine_kjs.vsprops
@@ -7,6 +7,6 @@
>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..\..\pending\kjs&quot;;&quot;$(IntDir)\..\KJSBindings\DerivedSources&quot;;&quot;..\..\..\third_party\WebKit\WebCore\bindings\js&quot;;&quot;..\..\build\JavaScriptCore&quot;;&quot;..\..\..\third_party\WebKit\JavaScriptCore\VM&quot;"
+ AdditionalIncludeDirectories="&quot;..\..\pending\kjs&quot;;&quot;$(IntDir)\..\KJSBindings\DerivedSources&quot;;&quot;..\..\..\third_party\WebKit\WebCore\bindings\js&quot;;&quot;..\..\build\JavaScriptCore&quot;;&quot;..\..\..\third_party\WebKit\JavaScriptCore\VM&quot;;..\..\..\third_party\WebKit\JavaScriptCore\runtime;..\..\..\third_party\WebKit\JavaScriptCore\debugger"
/>
</VisualStudioPropertySheet>
diff --git a/webkit/build/port/port.vcproj b/webkit/build/port/port.vcproj
index e3f4f4c..2259920 100644
--- a/webkit/build/port/port.vcproj
+++ b/webkit/build/port/port.vcproj
@@ -183,6 +183,10 @@
>
</File>
<File
+ RelativePath="..\..\port\page\chromium\ChromeClientChromium.h"
+ >
+ </File>
+ <File
RelativePath="..\..\port\page\chromium\DragControllerChromium.cpp"
>
</File>
diff --git a/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/README b/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/README
index f8b3810..788b1c3 100644
--- a/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/README
+++ b/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/README
@@ -3,7 +3,6 @@ This file documents why the various tests have been rebaselined.
cross-frame-access-custom-expected.txt
cross-frame-access-get-expected.txt
cross-frame-access-get-override-expected.txt
-cross-frame-access-history-put-expected.txt
cross-frame-access-history-get-override-expected.txt
cross-frame-access-location-get-override-expected.txt
cross-frame-access-location-put-expected.txt
@@ -17,3 +16,11 @@ cross-frame-access-history-get-expected.txt
Chrome does not allow cross-domain access History.toString,
same as Firefox.
+cross-frame-access-history-put-expected.txt
+===============================================================
+Differs in function printing.
+
+cross-frame-access-call-expected.txt
+===============================================================
+Error message differs because we don't have window.openDatabase.
+The error message from showModalDialog is more sane than the layout tests expect.
diff --git a/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt b/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt
index a8267b7..abc671f 100644
--- a/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt
+++ b/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-call-expected.txt
@@ -50,6 +50,8 @@ CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http
CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-get-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-call.html. Domains, protocols and ports must match.
+CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-get-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-call.html. Domains, protocols and ports must match.
+
----- tests for calling methods of another frame using Function.call -----
@@ -66,4 +68,19 @@ PASS: window.getMatchedCSSRules.call(targetWindow, document.body, '', false) sho
PASS: window.atob.call(targetWindow, 'string') should be 'undefined' and is.
PASS: window.btoa.call(targetWindow, 'string') should be 'undefined' and is.
PASS: window.open.call(targetWindow, '') should be 'undefined' and is.
+PASS: window.addEventListener.call(targetWindow, 'load', null, false); should be 'undefined' and is.
+PASS: window.removeEventListener.call(targetWindow, 'load', null, false); should be 'undefined' and is.
+PASS: window.clearTimeout.call(targetWindow, 0); should be 'undefined' and is.
+PASS: window.clearInterval.call(targetWindow, 0); should be 'undefined' and is.
+PASS: window.print.call(targetWindow); should be 'undefined' and is.
+PASS: window.stop.call(targetWindow); should be 'undefined' and is.
+PASS: window.alert.call(targetWindow, 'message'); should be 'undefined' and is.
+PASS: window.scrollBy.call(targetWindow, 0, 0); should be 'undefined' and is.
+PASS: window.scrollTo.call(targetWindow, 0, 0); should be 'undefined' and is.
+PASS: window.scroll.call(targetWindow, 0, 0); should be 'undefined' and is.
+PASS: window.moveBy.call(targetWindow, 0, 0); should be 'undefined' and is.
+PASS: window.moveTo.call(targetWindow, 0, 0); should be 'undefined' and is.
+PASS: window.resizeBy.call(targetWindow, 0, 0); should be 'undefined' and is.
+PASS: window.resizeTo.call(targetWindow, 0, 0); should be 'undefined' and is.
+*** FAIL: window.showModalDialog.call(targetWindow); should be 'TypeError: Result of expression 'window.showModalDialog' [undefined] is not an object.' but instead is undefined. ***
PASS: window.location.toString.call(targetWindow.location) should be 'undefined' and is.
diff --git a/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-history-put-expected.txt b/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-history-put-expected.txt
index 89a07bc..d920c58 100644
--- a/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-history-put-expected.txt
+++ b/webkit/data/layout_test_results/v8/LayoutTests/http/tests/security/cross-frame-access-history-put-expected.txt
@@ -1,12 +1,27 @@
+CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-history-put-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-history-put.html. Domains, protocols and ports must match.
+
+CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-history-put-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-history-put.html. Domains, protocols and ports must match.
+
+CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-history-put-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-history-put.html. Domains, protocols and ports must match.
+
+CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-history-put-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-history-put.html. Domains, protocols and ports must match.
+
+CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-history-put-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-history-put.html. Domains, protocols and ports must match.
+
+CONSOLE MESSAGE: line 1: Unsafe JavaScript attempt to access frame with URL http://localhost:8000/security/resources/cross-frame-iframe-for-history-put-test.html from frame with URL http://127.0.0.1:8000/security/cross-frame-access-history-put.html. Domains, protocols and ports must match.
-YOUR BROWSER DOES NOT SUPPORT window.postMessage
-To run this test manually, first click the button titled 'Step 1 - Set Test' in this frame.
-Then click the button in the sub frame titled 'Step 2 - Set Check' to finish the test.
-Step 1 - Set Test
--------
Frame: '<!--framePath //<!--frame0-->-->'
--------
-Step 2 - Set Check
+
+----- tests for putting window.history's properties -----
+
+PASS: window.history.back should be 'function () { [native code] }' and is.
+PASS: window.history.forward should be 'function () { [native code] }' and is.
+PASS: window.history.go should be 'function () { [native code] }' and is.
+PASS: window.history.toString should be 'function toString() { var c = ClassOf(this); if (c === 'Arguments') c = 'Object'; return "[object " + c + "]";}' and is.
+PASS: window.history.length matched the expected value.
+PASS: window.history.customAttribute should be 'customAttribute' and is.
diff --git a/webkit/data/layout_tests/pending/security/block-test.html b/webkit/data/layout_tests/pending/security/block-test.html
index edc1483..e9c9f85 100644
--- a/webkit/data/layout_tests/pending/security/block-test.html
+++ b/webkit/data/layout_tests/pending/security/block-test.html
@@ -29,6 +29,7 @@
testIMG.setAttribute("onError", "ftp21Test();");
var newURL = "ftp://" + baseURL + "/test.jpg";
testIMG.src = newURL;
+ finishTesting();
}
function ftp21Test() {
diff --git a/webkit/glue/autocomplete_input_listener.cc b/webkit/glue/autocomplete_input_listener.cc
index 02ac67f..25af5e9 100644
--- a/webkit/glue/autocomplete_input_listener.cc
+++ b/webkit/glue/autocomplete_input_listener.cc
@@ -172,9 +172,9 @@ void AutocompleteInputListener::handleEvent(WebCore::Event* event,
bool /*is_window_event*/) {
const WebCore::AtomicString& webcore_type = event->type();
const std::wstring& user_input = edit_delegate_->GetValue();
- if (webcore_type == WebCore::EventNames::DOMFocusOutEvent) {
+ if (webcore_type == WebCore::eventNames().DOMFocusOutEvent) {
OnBlur(user_input);
- } else if (webcore_type == WebCore::EventNames::inputEvent) {
+ } else if (webcore_type == WebCore::eventNames().inputEvent) {
// Perform inline autocomplete if it is safe to do so.
if (ShouldInlineAutocomplete(user_input))
OnInlineAutocompleteNeeded(user_input);
@@ -186,10 +186,10 @@ void AutocompleteInputListener::handleEvent(WebCore::Event* event,
void AttachForInlineAutocomplete(
WebCore::HTMLInputElement* target,
AutocompleteInputListener* listener) {
- target->addEventListener(WebCore::EventNames::DOMFocusOutEvent,
+ target->addEventListener(WebCore::eventNames().DOMFocusOutEvent,
listener,
false);
- target->addEventListener(WebCore::EventNames::inputEvent,
+ target->addEventListener(WebCore::eventNames().inputEvent,
listener,
false);
}
diff --git a/webkit/glue/autocomplete_input_listener_unittest.cc b/webkit/glue/autocomplete_input_listener_unittest.cc
index 47b9ac5..b23fac8 100644
--- a/webkit/glue/autocomplete_input_listener_unittest.cc
+++ b/webkit/glue/autocomplete_input_listener_unittest.cc
@@ -23,6 +23,7 @@ MSVC_PUSH_WARNING_LEVEL(0);
#include "EventNames.h"
#include "Event.h"
#include "EventListener.h"
+#include "wtf/Threading.h"
MSVC_POP_WARNING();
#undef LOG
@@ -107,11 +108,12 @@ namespace {
class DomAutocompleteTests : public testing::Test {
public:
void SetUp() {
+ WTF::initializeThreading();
WebCore::EventNames::init();
}
void FireAndHandleInputEvent(AutocompleteInputListener* listener) {
- RefPtr<Event> event(Event::create(WebCore::EventNames::inputEvent,
+ RefPtr<Event> event(Event::create(WebCore::eventNames().inputEvent,
false, false));
listener->handleEvent(event.get(), false);
}
@@ -130,7 +132,7 @@ TEST_F(DomAutocompleteTests, OnBlur) {
// Simulate a blur event and ensure it is properly dispatched.
// Listener takes ownership of its delegate.
TestAutocompleteInputListener listener(new TestAutocompleteEditDelegate());
- RefPtr<Event> event(Event::create(WebCore::EventNames::DOMFocusOutEvent,
+ RefPtr<Event> event(Event::create(WebCore::eventNames().DOMFocusOutEvent,
false, false));
listener.handleEvent(event.get(), false);
EXPECT_TRUE(listener.blurred());
diff --git a/webkit/glue/chrome_client_impl.cc b/webkit/glue/chrome_client_impl.cc
index 081d4c7..4142548 100644
--- a/webkit/glue/chrome_client_impl.cc
+++ b/webkit/glue/chrome_client_impl.cc
@@ -438,13 +438,15 @@ void ChromeClientImpl::exceededDatabaseQuota(WebCore::Frame* frame,
// TODO(tc): If we enable the storage API, we need to implement this function.
}
-void ChromeClientImpl::runFileChooser(const WebCore::String& default_path,
- PassRefPtr<WebCore::FileChooser> fileChooser) {
+void ChromeClientImpl::runOpenPanel(WebCore::Frame* frame,
+ PassRefPtr<WebCore::FileChooser> fileChooser) {
WebViewDelegate* delegate = webview_->delegate();
if (!delegate)
return;
- std::wstring suggestion = webkit_glue::StringToStdWString(default_path);
+ std::wstring suggestion = webkit_glue::StringToStdWString(
+ fileChooser->filenames()[0]);
+
WebFileChooserCallbackImpl* chooser = new WebFileChooserCallbackImpl(fileChooser);
delegate->RunFileChooser(suggestion, chooser);
}
diff --git a/webkit/glue/chrome_client_impl.h b/webkit/glue/chrome_client_impl.h
index 7bb132b..c8951ee 100644
--- a/webkit/glue/chrome_client_impl.h
+++ b/webkit/glue/chrome_client_impl.h
@@ -110,10 +110,10 @@ public:
virtual void print(WebCore::Frame*);
virtual void exceededDatabaseQuota(WebCore::Frame*,
- const WebCore::String& databaseName);
+ const WebCore::String& databaseName);
- virtual void runFileChooser(const WebCore::String&,
- PassRefPtr<WebCore::FileChooser>);
+ virtual void runOpenPanel(WebCore::Frame*,
+ PassRefPtr<WebCore::FileChooser>);
virtual void popupOpened(WebCore::FramelessScrollView* popup_view,
const WebCore::IntRect& bounds,
bool focus_on_show);
diff --git a/webkit/glue/cpp_bound_class.cc b/webkit/glue/cpp_bound_class.cc
index 95d67c0..3abb406 100644
--- a/webkit/glue/cpp_bound_class.cc
+++ b/webkit/glue/cpp_bound_class.cc
@@ -27,7 +27,7 @@ MSVC_POP_WARNING()
#if USE(JSC)
#pragma warning(push, 0)
-#include <kjs/JSLock.h>
+#include <runtime/JSLock.h>
#pragma warning(pop)
#endif
diff --git a/webkit/glue/inspector_client_impl.cc b/webkit/glue/inspector_client_impl.cc
index dfc89fb..03e6f3c 100644
--- a/webkit/glue/inspector_client_impl.cc
+++ b/webkit/glue/inspector_client_impl.cc
@@ -134,6 +134,7 @@ void WebInspectorClient::detachWindow() {
void WebInspectorClient::setAttachedWindowHeight(unsigned int height) {
// TODO(dglazkov): Implement this
+ NOTIMPLEMENTED();
}
static void invalidateNodeBoundingRect(WebViewImpl* web_view) {
@@ -166,10 +167,24 @@ void WebInspectorClient::hideHighlight() {
void WebInspectorClient::inspectedURLChanged(const String& newURL) {
// TODO(jackson): Implement this
+ NOTIMPLEMENTED();
}
String WebInspectorClient::localizedStringsURL() {
- notImplemented();
+ NOTIMPLEMENTED();
return String();
}
+void WebInspectorClient::populateSetting(
+ const String& key, InspectorController::Setting&) {
+ NOTIMPLEMENTED();
+}
+
+void WebInspectorClient::storeSetting(
+ const String& key, const InspectorController::Setting&) {
+ NOTIMPLEMENTED();
+}
+
+void WebInspectorClient::removeSetting(const String& key) {
+ NOTIMPLEMENTED();
+}
diff --git a/webkit/glue/inspector_client_impl.h b/webkit/glue/inspector_client_impl.h
index d34d0c7..5d3a817 100644
--- a/webkit/glue/inspector_client_impl.h
+++ b/webkit/glue/inspector_client_impl.h
@@ -34,6 +34,12 @@ public:
virtual void inspectedURLChanged(const WebCore::String& newURL);
+ virtual void populateSetting(
+ const WebCore::String& key, WebCore::InspectorController::Setting&);
+ virtual void storeSetting(
+ const WebCore::String& key, const WebCore::InspectorController::Setting&);
+ virtual void removeSetting(const WebCore::String& key);
+
private:
~WebInspectorClient();
diff --git a/webkit/glue/npruntime_util.cc b/webkit/glue/npruntime_util.cc
index 364401f..ced8f04 100644
--- a/webkit/glue/npruntime_util.cc
+++ b/webkit/glue/npruntime_util.cc
@@ -11,6 +11,7 @@
#include "webkit/port/bindings/v8/np_v8object.h"
#elif USE(JAVASCRIPTCORE_BINDINGS)
#include "bridge/c/c_utility.h"
+#undef LOG
using JSC::Bindings::PrivateIdentifier;
#endif
diff --git a/webkit/glue/webframe_impl.cc b/webkit/glue/webframe_impl.cc
index dd85c47..b749df7 100644
--- a/webkit/glue/webframe_impl.cc
+++ b/webkit/glue/webframe_impl.cc
@@ -32,22 +32,18 @@
// WebView (for the toplevel frame only)
// O
// |
-// O
-// WebFrame <-------------------------- FrameLoader
-// O (via WebFrameLoaderClient) ||
-// | ||
-// +------------------------------+ ||
-// | ||
-// FrameView O-------------------------O Frame
+// Page O------- Frame (m_mainFrame) O-------O FrameView
+// ||
+// ||
+// FrameLoader O-------- WebFrame (via FrameLoaderClient)
//
// FrameLoader and Frame are formerly one object that was split apart because
// it got too big. They basically have the same lifetime, hence the double line.
//
-// WebFrame is refcounted and has one ref on behalf of the FrameLoader/Frame
-// and, in the case of the toplevel frame, one more for the WebView. This is
-// not a normal reference counted pointer because that would require changing
-// WebKit code that we don't control. Instead, it is created with this ref
-// initially and it is removed when the FrameLoader is getting destroyed.
+// WebFrame is refcounted and has one ref on behalf of the FrameLoader/Frame.
+// This is not a normal reference counted pointer because that would require
+// changing WebKit code that we don't control. Instead, it is created with this
+// ref initially and it is removed when the FrameLoader is getting destroyed.
//
// WebFrames are created in two places, first in WebViewImpl when the root
// frame is created, and second in WebFrame::CreateChildFrame when sub-frames
@@ -57,23 +53,16 @@
// How frames are destroyed
// ------------------------
//
-// The main frame is never destroyed and is re-used. The FrameLoader is
-// re-used and a reference is also kept by the WebView, so the root frame will
-// generally have a refcount of 2.
+// The main frame is never destroyed and is re-used. The FrameLoader is re-used
+// and a reference to the main frame is kept by the Page.
//
// When frame content is replaced, all subframes are destroyed. This happens
-// in FrameLoader::detachFromParent for each suframe. Here, we first clear
-// the view in the Frame, breaking the circular cycle between Frame and
-// FrameView. Then it calls detachedFromParent4 on the FrameLoaderClient.
-//
-// The FrameLoaderClient is implemented by WebFrameLoaderClient, which is
-// an object owned by WebFrame. It calls WebFrame::Closing which causes
-// WebFrame to release its references to Frame, generally releasing it.
+// in FrameLoader::detachFromParent for each subframe.
//
// Frame going away causes the FrameLoader to get deleted. In FrameLoader's
-// destructor it notifies its client with frameLoaderDestroyed. This derefs
-// WebView and will cause it to be deleted (unless an external someone is also
-// holding a reference).
+// destructor, it notifies its client with frameLoaderDestroyed. This calls
+// WebFrame::Closing and then derefs the WebFrame and will cause it to be
+// deleted (unless an external someone is also holding a reference).
#include "config.h"
@@ -286,9 +275,6 @@ MSVC_PUSH_DISABLE_WARNING(4355)
MSVC_POP_WARNING()
currently_loading_request_(NULL),
plugin_delegate_(NULL),
- allows_scrolling_(true),
- margin_width_(-1),
- margin_height_(-1),
inspected_node_(NULL),
active_tickmark_frame_(NULL),
active_tickmark_(kNoTickmark),
@@ -314,9 +300,11 @@ WebFrameImpl::~WebFrameImpl() {
// WebFrame -------------------------------------------------------------------
void WebFrameImpl::InitMainFrame(WebViewImpl* webview_impl) {
- webview_impl_ = webview_impl; // owning ref
+ webview_impl_ = webview_impl;
- frame_ = Frame::create(webview_impl_->page(), 0, &frame_loader_client_);
+ RefPtr<Frame> frame =
+ Frame::create(webview_impl_->page(), 0, &frame_loader_client_);
+ frame_ = frame.get();
// Add reference on behalf of FrameLoader. See comments in
// WebFrameLoaderClient::frameLoaderDestroyed for more info.
@@ -713,7 +701,7 @@ void WebFrameImpl::BindToWindowObject(const std::wstring& name,
String key = webkit_glue::StdWStringToString(name);
#if USE(V8)
- frame_->script()->BindToWindowObject(frame_.get(), key, object);
+ frame_->script()->BindToWindowObject(frame_, key, object);
#endif
#if USE(JSC)
@@ -748,7 +736,7 @@ void WebFrameImpl::GetContentAsPlainText(int max_chars,
if (!frame_)
return;
- FrameContentAsPlainText(max_chars, frame_.get(), text);
+ FrameContentAsPlainText(max_chars, frame_, text);
}
void WebFrameImpl::InvalidateArea(AreaToInvalidate area) {
@@ -1436,9 +1424,9 @@ void WebFrameImpl::CreateFrameView() {
if (is_main_frame) {
IntSize initial_size(
webview_impl_->size().width(), webview_impl_->size().height());
- view = new FrameView(frame_.get(), initial_size);
+ view = new FrameView(frame_, initial_size);
} else {
- view = new FrameView(frame_.get());
+ view = new FrameView(frame_);
}
frame_->setView(view);
@@ -1537,16 +1525,9 @@ bool WebFrameImpl::IsLoading() {
}
void WebFrameImpl::Closing() {
- // let go of our references, this breaks reference cycles and will
- // usually eventually lead to us being destroyed.
- if (frameview())
- frameview()->clear();
- if (frame_) {
- StopLoading();
- frame_ = NULL;
- }
alt_error_page_fetcher_.reset();
webview_impl_ = NULL;
+ frame_ = NULL;
}
void WebFrameImpl::DidReceiveData(DocumentLoader* loader,
@@ -1639,12 +1620,8 @@ bool WebFrameImpl::Visible() {
frame()->view()->visibleHeight() > 0;
}
-void WebFrameImpl::CreateChildFrame(const FrameLoadRequest& r,
- HTMLFrameOwnerElement* owner_element,
- bool allows_scrolling,
- int margin_height,
- int margin_width,
- Frame*& result) {
+PassRefPtr<Frame> WebFrameImpl::CreateChildFrame(
+ const FrameLoadRequest& request, HTMLFrameOwnerElement* owner_element) {
// TODO(darin): share code with initWithName()
scoped_refptr<WebFrameImpl> webframe = new WebFrameImpl();
@@ -1654,23 +1631,14 @@ void WebFrameImpl::CreateChildFrame(const FrameLoadRequest& r,
// of this file for more info.
webframe->AddRef();
- webframe->allows_scrolling_ = allows_scrolling;
- webframe->margin_width_ = margin_width;
- webframe->margin_height_ = margin_height;
-
- webframe->frame_ =
- Frame::create(frame_->page(), owner_element, &webframe->frame_loader_client_);
- webframe->frame_->tree()->setName(r.frameName());
-
- webframe->webview_impl_ = webview_impl_; // owning ref
+ RefPtr<Frame> child_frame = Frame::create(
+ frame_->page(), owner_element, &webframe->frame_loader_client_);
+ webframe->frame_ = child_frame.get();
+ webframe->webview_impl_ = webview_impl_;
- // We wait until loader()->load() returns before deref-ing the Frame.
- // Otherwise the danger is that the onload handler can cause
- // the Frame to be dealloc-ed, and subsequently trash memory.
- // (b:1055700)
- WTF::RefPtr<Frame> protector(webframe->frame_.get());
+ child_frame->tree()->setName(request.frameName());
- frame_->tree()->appendChild(webframe->frame_);
+ frame_->tree()->appendChild(child_frame);
// Frame::init() can trigger onload event in the parent frame,
// which may detach this frame and trigger a null-pointer access
@@ -1681,56 +1649,58 @@ void WebFrameImpl::CreateChildFrame(const FrameLoadRequest& r,
// it is necessary to check the value after calling init() and
// return without loading URL.
// (b:791612)
- webframe->frame_->init(); // create an empty document
- if (!webframe->frame_.get())
- return;
+ child_frame->init(); // create an empty document
+ if (!child_frame->tree()->parent())
+ return NULL;
// The following code was pulled from WebFrame.mm:_loadURL, with minor
// modifications. The purpose is to ensure we load the right HistoryItem for
// this child frame.
- HistoryItem* parentItem = frame_->loader()->currentHistoryItem();
- FrameLoadType loadType = frame_->loader()->loadType();
- FrameLoadType childLoadType = WebCore::FrameLoadTypeRedirectWithLockedHistory;
- KURL new_url = r.resourceRequest().url();
+ HistoryItem* parent_item = frame_->loader()->currentHistoryItem();
+ FrameLoadType load_type = frame_->loader()->loadType();
+ FrameLoadType child_load_type = WebCore::FrameLoadTypeRedirectWithLockedHistory;
+ KURL new_url = request.resourceRequest().url();
// If we're moving in the backforward list, we might want to replace the
// content of this child frame with whatever was there at that point.
// Reload will maintain the frame contents, LoadSame will not.
- if (parentItem && parentItem->children().size() != 0 &&
- (isBackForwardLoadType(loadType) ||
- loadType == WebCore::FrameLoadTypeReloadAllowingStaleData)) {
- HistoryItem* childItem = parentItem->childItemWithName(r.frameName());
- if (childItem) {
+ if (parent_item && parent_item->children().size() != 0 &&
+ (isBackForwardLoadType(load_type) ||
+ load_type == WebCore::FrameLoadTypeReloadAllowingStaleData)) {
+ HistoryItem* child_item = parent_item->childItemWithName(request.frameName());
+ if (child_item) {
// Use the original URL to ensure we get all the side-effects, such as
// onLoad handlers, of any redirects that happened. An example of where
// this is needed is Radar 3213556.
- new_url = KURL(KURL(""),
- childItem->originalURLString());
+ new_url = child_item->originalURL();
// These behaviors implied by these loadTypes should apply to the child
// frames
- childLoadType = loadType;
+ child_load_type = load_type;
- if (isBackForwardLoadType(loadType)) {
+ if (isBackForwardLoadType(load_type)) {
// For back/forward, remember this item so we can traverse any child
// items as child frames load.
- webframe->frame_->loader()->setProvisionalHistoryItem(childItem);
+ child_frame->loader()->setProvisionalHistoryItem(child_item);
} else {
// For reload, just reinstall the current item, since a new child frame
// was created but we won't be creating a new BF item
- webframe->frame_->loader()->setCurrentHistoryItem(childItem);
+ child_frame->loader()->setCurrentHistoryItem(child_item);
}
}
}
-
- webframe->frame_->loader()->loadURLIntoChildFrame(new_url,
- r.resourceRequest().httpReferrer(),
- webframe->frame_.get());
+
+ child_frame->loader()->loadURL(
+ new_url, request.resourceRequest().httpReferrer(), request.frameName(),
+ child_load_type, 0, 0);
// A synchronous navigation (about:blank) would have already processed
// onload, so it is possible for the frame to have already been destroyed by
// script in the page.
- result = webframe->frame_.get();
+ if (!child_frame->tree()->parent())
+ return NULL;
+
+ return child_frame.release();
}
bool WebFrameImpl::ExecuteCoreCommandByName(const std::string& name,
@@ -1785,7 +1755,6 @@ gfx::Size WebFrameImpl::ScrollOffset() const {
}
void WebFrameImpl::SetAllowsScrolling(bool flag) {
- allows_scrolling_ = flag;
frame_->view()->setCanHaveScrollbars(flag);
}
diff --git a/webkit/glue/webframe_impl.h b/webkit/glue/webframe_impl.h
index 57b6d39..14756f9 100644
--- a/webkit/glue/webframe_impl.h
+++ b/webkit/glue/webframe_impl.h
@@ -177,10 +177,9 @@ class WebFrameImpl : public WebFrame {
// child frame failed to load.
void SetPrinting(bool printing, float page_width_min, float page_width_max);
- void CreateChildFrame(const WebCore::FrameLoadRequest&,
- WebCore::HTMLFrameOwnerElement* owner_element,
- bool allows_scrolling, int margin_width,
- int margin_height, WebCore::Frame*& new_frame);
+ PassRefPtr<WebCore::Frame> CreateChildFrame(
+ const WebCore::FrameLoadRequest&,
+ WebCore::HTMLFrameOwnerElement* owner_element);
// WebFrameImpl
void Layout();
@@ -201,7 +200,7 @@ class WebFrameImpl : public WebFrame {
}
WebCore::Frame* frame() const {
- return frame_.get();
+ return frame_;
}
static WebFrameImpl* FromFrame(WebCore::Frame* frame);
@@ -304,16 +303,12 @@ class WebFrameImpl : public WebFrame {
// asynchronously in order to scope string matches during a find operation.
ScopedRunnableMethodFactory<WebFrameImpl> scope_matches_factory_;
- // Holding a reference back to the WebViewImpl is necessary to ensure that
- // its HWND is not destroyed before all of the WebCore::Widgets, which refer
- // to the WebViewImpl's HWND as their containingWindow. However, this ref
- // creates a cycle between the WebViewImpl and the top-most WebFrameImpl. We
- // break this cycle in our Closing method.
- scoped_refptr<WebViewImpl> webview_impl_;
+ // This is a weak pointer to our containing WebViewImpl.
+ WebViewImpl* webview_impl_;
- // The WebCore frame associated with this frame. MAY BE NULL if the frame
- // has been detached from the DOM.
- WTF::RefPtr<WebCore::Frame> frame_;
+ // This is a weak pointer to our corresponding WebCore frame. A reference to
+ // ourselves is held while frame_ is valid. See our Closing method.
+ WebCore::Frame* frame_;
// This holds the request passed to LoadRequest, for access by the
// WebFrameLoaderClient. Unfortunately we have no other way to pass this
@@ -328,11 +323,6 @@ class WebFrameImpl : public WebFrame {
// a pointer back to the appropriate plugin.
WebPluginDelegate* plugin_delegate_;
- // Frame construction parameters
- bool allows_scrolling_;
- int margin_width_;
- int margin_height_;
-
// Handling requests from TextInputController on this frame.
scoped_ptr<WebTextInputImpl> webtextinput_impl_;
diff --git a/webkit/glue/webframeloaderclient_impl.cc b/webkit/glue/webframeloaderclient_impl.cc
index 6c50037..f7ab5cc 100644
--- a/webkit/glue/webframeloaderclient_impl.cc
+++ b/webkit/glue/webframeloaderclient_impl.cc
@@ -85,13 +85,12 @@ WebFrameLoaderClient::~WebFrameLoaderClient() {
}
void WebFrameLoaderClient::frameLoaderDestroyed() {
- // When the WebFrame was created, it had an extra ref() given to it on behalf
- // of the FrameWin, which accesses it via the FrameWinClient interface.
- // Since the WebFrame owns us, this extra ref also serves to keep us alive
- // until the FrameLoader is done with us. The FrameLoader calls this method
- // when it's going away. Therefore, we balance out that extra ref.
- //
- // May delete 'this'
+ // When the WebFrame was created, it had an extra reference given to it on
+ // behalf of the Frame. Since the WebFrame owns us, this extra ref also
+ // serves to keep us alive until the FrameLoader is done with us. The
+ // FrameLoader calls this method when it's going away. Therefore, we balance
+ // out that extra reference, which may cause 'this' to be deleted.
+ webframe_->Closing();
webframe_->Release();
}
@@ -146,16 +145,11 @@ void WebFrameLoaderClient::setCopiesOnScroll() {
}
void WebFrameLoaderClient::detachedFromParent2() {
- // FIXME
-}
-void WebFrameLoaderClient::detachedFromParent3() {
- // FIXME
+ // Nothing to do here.
}
-void WebFrameLoaderClient::detachedFromParent4() {
- // Called during the last part of frame detaching, to indicate that we should
- // destroy various objects (including the FrameWin).
- webframe_->Closing();
+void WebFrameLoaderClient::detachedFromParent3() {
+ // Nothing to do here.
}
// This function is responsible for associating the |identifier| with a given
@@ -1328,12 +1322,7 @@ PassRefPtr<Frame> WebFrameLoaderClient::createFrame(
int margin_width,
int margin_height) {
FrameLoadRequest frame_request(ResourceRequest(url, referrer), name);
-
- Frame* new_frame = NULL;
- if (webframe_)
- webframe_->CreateChildFrame(frame_request, owner_element, allows_scrolling,
- margin_width, margin_height, new_frame);
- return new_frame;
+ return webframe_->CreateChildFrame(frame_request, owner_element);
}
// Utility function to convert a vector to an array of char*'s.
diff --git a/webkit/glue/webframeloaderclient_impl.h b/webkit/glue/webframeloaderclient_impl.h
index 6010ba8..b14450d 100644
--- a/webkit/glue/webframeloaderclient_impl.h
+++ b/webkit/glue/webframeloaderclient_impl.h
@@ -55,7 +55,6 @@ class WebFrameLoaderClient : public WebCore::FrameLoaderClient {
virtual void detachedFromParent2();
virtual void detachedFromParent3();
- virtual void detachedFromParent4();
virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&);
diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc
index 6d3fef8..80936f9 100644
--- a/webkit/glue/webplugin_impl.cc
+++ b/webkit/glue/webplugin_impl.cc
@@ -808,9 +808,9 @@ void WebPluginImpl::handleMouseEvent(WebCore::MouseEvent* event) {
if (event->shiftKey())
np_event.wParam |= MK_SHIFT;
- if ((event->type() == WebCore::EventNames::mousemoveEvent) ||
- (event->type() == WebCore::EventNames::mouseoutEvent) ||
- (event->type() == WebCore::EventNames::mouseoverEvent)) {
+ if ((event->type() == WebCore::eventNames().mousemoveEvent) ||
+ (event->type() == WebCore::eventNames().mouseoutEvent) ||
+ (event->type() == WebCore::eventNames().mouseoverEvent)) {
np_event.event = WM_MOUSEMOVE;
if (event->buttonDown()) {
switch (event->button()) {
@@ -825,7 +825,7 @@ void WebPluginImpl::handleMouseEvent(WebCore::MouseEvent* event) {
break;
}
}
- } else if (event->type() == WebCore::EventNames::mousedownEvent) {
+ } else if (event->type() == WebCore::eventNames().mousedownEvent) {
// Ensure that the frame containing the plugin has focus.
WebCore::Frame* containing_frame = webframe_->frame();
if (WebCore::Page* current_page = containing_frame->page()) {
@@ -851,7 +851,7 @@ void WebPluginImpl::handleMouseEvent(WebCore::MouseEvent* event) {
np_event.wParam |= MK_RBUTTON;
break;
}
- } else if (event->type() == WebCore::EventNames::mouseupEvent) {
+ } else if (event->type() == WebCore::eventNames().mouseupEvent) {
switch (event->button()) {
case WebCore::LeftButton:
np_event.event = WM_LBUTTONUP;
@@ -889,10 +889,10 @@ void WebPluginImpl::handleKeyboardEvent(WebCore::KeyboardEvent* event) {
NPEvent np_event;
np_event.wParam = event->keyCode();
- if (event->type() == WebCore::EventNames::keydownEvent) {
+ if (event->type() == WebCore::eventNames().keydownEvent) {
np_event.event = WM_KEYDOWN;
np_event.lParam = 0;
- } else if (event->type() == WebCore::EventNames::keyupEvent) {
+ } else if (event->type() == WebCore::eventNames().keyupEvent) {
np_event.event = WM_KEYUP;
np_event.lParam = 0x8000;
} else {
diff --git a/webkit/glue/webview_impl.cc b/webkit/glue/webview_impl.cc
index bf46c9d..9ee599e 100644
--- a/webkit/glue/webview_impl.cc
+++ b/webkit/glue/webview_impl.cc
@@ -251,7 +251,13 @@ WebView* WebView::Create(WebViewDelegate* delegate,
WebViewImpl* instance = new WebViewImpl();
instance->AddRef();
instance->SetPreferences(prefs);
- instance->main_frame_->InitMainFrame(instance);
+
+ // Here, we construct a new WebFrameImpl with a reference count of 0. That
+ // is bumped up to 1 by InitMainFrame. The reference count is decremented
+ // when the corresponding WebCore::Frame object is destroyed.
+ WebFrameImpl* main_frame = new WebFrameImpl();
+ main_frame->InitMainFrame(instance);
+
// Set the delegate after initializing the main frame, to avoid trying to
// respond to notifications before we're fully initialized.
instance->delegate_ = delegate;
@@ -263,9 +269,7 @@ WebView* WebView::Create(WebViewDelegate* delegate,
}
WebViewImpl::WebViewImpl()
- : delegate_(NULL),
- pending_history_item_(NULL),
- observed_new_navigation_(false),
+ : observed_new_navigation_(false),
#ifndef NDEBUG
new_navigation_loader_(NULL),
#endif
@@ -295,17 +299,9 @@ WebViewImpl::WebViewImpl()
// The group name identifies a namespace of pages. I'm not sure how it's
// intended to be used, but keeping all pages in the same group works for us.
page_->setGroupName("default");
-
- // This is created with a refcount of 1, and we assign it to a RefPtr,
- // giving a refcount of 2. The ref is done on behalf of
- // FrameWin/FrameLoaderWin which references the WebFrame via the
- // FrameWinClient/FrameLoaderClient interfaces. See the comment at the
- // top of webframe_impl.cc
- main_frame_ = new WebFrameImpl();
}
WebViewImpl::~WebViewImpl() {
- DCHECK(main_frame_ == NULL);
DCHECK(page_ == NULL);
ReleaseFocusReferences();
for (std::set<ImageResourceFetcher*>::iterator i = image_fetchers_.begin();
@@ -329,7 +325,7 @@ void WebViewImpl::SetTabKeyCyclesThroughElements(bool value) {
}
void WebViewImpl::MouseMove(const WebMouseEvent& event) {
- if (!main_frame_->frameview())
+ if (!main_frame() || !main_frame()->frameview())
return;
last_mouse_position_.SetPoint(event.x, event.y);
@@ -337,47 +333,50 @@ void WebViewImpl::MouseMove(const WebMouseEvent& event) {
// We call mouseMoved here instead of handleMouseMovedEvent because we need
// our ChromeClientImpl to receive changes to the mouse position and
// tooltip text, and mouseMoved handles all of that.
- main_frame_->frameview()->frame()->eventHandler()->mouseMoved(
- MakePlatformMouseEvent(main_frame_->frameview(), event));
+ main_frame()->frame()->eventHandler()->mouseMoved(
+ MakePlatformMouseEvent(main_frame()->frameview(), event));
}
void WebViewImpl::MouseLeave(const WebMouseEvent& event) {
// This event gets sent as the main frame is closing. In that case, just
// ignore it.
- if (!main_frame_ || !main_frame_->frameview())
+ if (!main_frame() || !main_frame()->frameview())
return;
delegate_->UpdateTargetURL(this, GURL());
- main_frame_->frameview()->frame()->eventHandler()->handleMouseMoveEvent(
- MakePlatformMouseEvent(main_frame_->frameview(), event));
+ main_frame()->frame()->eventHandler()->handleMouseMoveEvent(
+ MakePlatformMouseEvent(main_frame()->frameview(), event));
}
void WebViewImpl::MouseDown(const WebMouseEvent& event) {
- if (!main_frame_->frameview())
+ if (!main_frame() || !main_frame()->frameview())
return;
last_mouse_down_point_ = gfx::Point(event.x, event.y);
- main_frame_->frame()->eventHandler()->handleMousePressEvent(
- MakePlatformMouseEvent(main_frame_->frameview(), event));
+ main_frame()->frame()->eventHandler()->handleMousePressEvent(
+ MakePlatformMouseEvent(main_frame()->frameview(), event));
}
void WebViewImpl::MouseContextMenu(const WebMouseEvent& event) {
+ if (!main_frame() || !main_frame()->frameview())
+ return;
+
page_->contextMenuController()->clearContextMenu();
- MakePlatformMouseEvent pme(main_frame_->frameview(), event);
+ MakePlatformMouseEvent pme(main_frame()->frameview(), event);
// Find the right target frame. See issue 1186900.
IntPoint doc_point(
- main_frame_->frame()->view()->windowToContents(pme.pos()));
+ page_->mainFrame()->view()->windowToContents(pme.pos()));
HitTestResult result =
- main_frame_->frame()->eventHandler()->hitTestResultAtPoint(doc_point,
- false);
+ page_->mainFrame()->eventHandler()->hitTestResultAtPoint(
+ doc_point, false);
Frame* target_frame;
if (result.innerNonSharedNode())
- target_frame = result.innerNonSharedNode()->document()->frame();
+ target_frame = result.innerNonSharedNode()->document()->frame();
else
- target_frame = page_->focusController()->focusedOrMainFrame();
+ target_frame = page_->focusController()->focusedOrMainFrame();
#if defined(OS_WIN)
target_frame->view()->setCursor(pointerCursor());
@@ -391,12 +390,12 @@ void WebViewImpl::MouseContextMenu(const WebMouseEvent& event) {
}
void WebViewImpl::MouseUp(const WebMouseEvent& event) {
- if (!main_frame_->frameview())
+ if (!main_frame() || !main_frame()->frameview())
return;
MouseCaptureLost();
- main_frame_->frameview()->frame()->eventHandler()->handleMouseReleaseEvent(
- MakePlatformMouseEvent(main_frame_->frameview(), event));
+ main_frame()->frame()->eventHandler()->handleMouseReleaseEvent(
+ MakePlatformMouseEvent(main_frame()->frameview(), event));
// Dispatch the contextmenu event regardless of if the click was swallowed.
if (event.button == WebMouseEvent::BUTTON_RIGHT)
@@ -404,8 +403,8 @@ void WebViewImpl::MouseUp(const WebMouseEvent& event) {
}
void WebViewImpl::MouseWheel(const WebMouseWheelEvent& event) {
- MakePlatformWheelEvent platform_event(main_frame_->frameview(), event);
- main_frame_->frame()->eventHandler()->handleWheelEvent(platform_event);
+ MakePlatformWheelEvent platform_event(main_frame()->frameview(), event);
+ main_frame()->frame()->eventHandler()->handleWheelEvent(platform_event);
}
bool WebViewImpl::KeyEvent(const WebKeyboardEvent& event) {
@@ -718,11 +717,7 @@ bool WebViewImpl::ScrollViewWithKeyboard(int key_code) {
}
Frame* WebViewImpl::GetFocusedWebCoreFrame() {
- if (!main_frame_ || !main_frame_->frame())
- return NULL;
-
- return
- main_frame_->frame()->page()->focusController()->focusedOrMainFrame();
+ return page_.get() ? page_->focusController()->focusedOrMainFrame() : NULL;
}
// static
@@ -748,14 +743,13 @@ void WebViewImpl::Close() {
// initiator of the close.
delegate_ = NULL;
- // Initiate shutdown for the entire frameset.
- if (main_frame_) {
- // This will cause a lot of notifications to be sent.
- main_frame_->frame()->loader()->frameDetached();
- main_frame_ = NULL;
+ if (page_.get()) {
+ // Initiate shutdown for the entire frameset. This will cause a lot of
+ // notifications to be sent.
+ if (page_->mainFrame())
+ page_->mainFrame()->loader()->frameDetached();
+ page_.reset();
}
-
- page_.reset();
}
WebViewDelegate* WebViewImpl::GetDelegate() {
@@ -763,7 +757,7 @@ WebViewDelegate* WebViewImpl::GetDelegate() {
}
WebFrame* WebViewImpl::GetMainFrame() {
- return main_frame_.get();
+ return main_frame();
}
WebFrame* WebViewImpl::GetFocusedFrame() {
@@ -786,7 +780,7 @@ void WebViewImpl::SetFocusedFrame(WebFrame* frame) {
WebFrame* WebViewImpl::GetFrameWithName(const std::wstring& name) {
String name_str = webkit_glue::StdWStringToString(name);
- Frame* frame = main_frame_->frame()->tree()->find(name_str);
+ Frame* frame = page_->mainFrame()->tree()->find(name_str);
return frame ? WebFrameImpl::FromFrame(frame) : NULL;
}
@@ -809,9 +803,9 @@ void WebViewImpl::Resize(const gfx::Size& new_size) {
return;
size_ = new_size;
- if (main_frame_->frameview()) {
- main_frame_->frameview()->resize(size_.width(), size_.height());
- main_frame_->frame()->sendResizeEvent();
+ if (main_frame()->frameview()) {
+ main_frame()->frameview()->resize(size_.width(), size_.height());
+ main_frame()->frame()->sendResizeEvent();
}
if (delegate_) {
@@ -821,27 +815,29 @@ void WebViewImpl::Resize(const gfx::Size& new_size) {
}
void WebViewImpl::Layout() {
- if (main_frame_) {
+ WebFrameImpl* webframe = main_frame();
+ if (webframe) {
// In order for our child HWNDs (NativeWindowWidgets) to update properly,
// they need to be told that we are updating the screen. The problem is
// that the native widgets need to recalculate their clip region and not
// overlap any of our non-native widgets. To force the resizing, call
// setFrameRect(). This will be a quick operation for most frames, but
// the NativeWindowWidgets will update a proper clipping region.
- FrameView* frameview = main_frame_->frameview();
- if (frameview)
- frameview->setFrameRect(frameview->frameRect());
+ FrameView* view = webframe->frameview();
+ if (view)
+ view->setFrameRect(view->frameRect());
// setFrameRect may have the side-effect of causing existing page
// layout to be invalidated, so layout needs to be called last.
- main_frame_->Layout();
+ webframe->Layout();
}
}
void WebViewImpl::Paint(gfx::PlatformCanvas* canvas, const gfx::Rect& rect) {
- if (main_frame_)
- main_frame_->Paint(canvas, rect);
+ WebFrameImpl* webframe = main_frame();
+ if (webframe)
+ webframe->Paint(canvas, rect);
}
// TODO(eseidel): g_current_input_event should be removed once
@@ -912,7 +908,7 @@ void WebViewImpl::MouseCaptureLost() {
// TODO(darin): these navigation methods should be killed
void WebViewImpl::StopLoading() {
- main_frame_->StopLoading();
+ main_frame()->StopLoading();
}
void WebViewImpl::SetBackForwardListSize(int size) {
@@ -933,15 +929,14 @@ void WebViewImpl::SetFocus(bool enable) {
// frame as the focused frame if it is not already focused. Otherwise, if
// there is already a focused frame, then this does nothing.
GetFocusedFrame();
- if (main_frame_ && main_frame_->frame()) {
- Frame* frame = main_frame_->frame();
+ if (page_.get() && page_->mainFrame()) {
+ Frame* frame = page_->mainFrame();
if (!frame->selection()->isFocusedAndActive()) {
// No one has focus yet, try to restore focus.
RestoreFocus();
- frame->page()->focusController()->setActive(true);
+ page_->focusController()->setActive(true);
}
- Frame* focused_frame =
- frame->page()->focusController()->focusedOrMainFrame();
+ Frame* focused_frame = page_->focusController()->focusedOrMainFrame();
frame->selection()->setFocused(frame == focused_frame);
}
ime_accept_events_ = true;
@@ -950,14 +945,15 @@ void WebViewImpl::SetFocus(bool enable) {
// updated below.
ReleaseFocusReferences();
- if (!main_frame_)
+ // Clear focus on the currently focused frame if any.
+ if (!page_.get())
return;
- Frame* frame = main_frame_->frame();
+ Frame* frame = page_->mainFrame();
if (!frame)
return;
- RefPtr<Frame> focused = frame->page()->focusController()->focusedFrame();
+ RefPtr<Frame> focused = page_->focusController()->focusedFrame();
if (focused.get()) {
// Update the focus refs, this way we can give focus back appropriately.
// It's entirely possible to have a focused document, but not a focused
@@ -974,7 +970,8 @@ void WebViewImpl::SetFocus(bool enable) {
// document->setFocusedNode(NULL);
}
}
- frame->page()->focusController()->setFocusedFrame(0);
+ page_->focusController()->setFocusedFrame(0);
+
// Finish an ongoing composition to delete the composition node.
Editor* editor = focused->editor();
if (editor && editor->hasComposition())
@@ -1205,7 +1202,7 @@ void WebViewImpl::ReleaseFocusReferences() {
}
bool WebViewImpl::DownloadImage(int id, const GURL& image_url, int image_size) {
- if (!main_frame_ || !main_frame_->frame())
+ if (!page_.get())
return false;
image_fetchers_.insert(
new ImageResourceFetcher(this, id, image_url, image_size));
@@ -1287,23 +1284,23 @@ const WebPreferences& WebViewImpl::GetPreferences() {
// Set the encoding of the current main frame to the one selected by
// a user in the encoding menu.
void WebViewImpl::SetPageEncoding(const std::wstring& encoding_name) {
- if (!main_frame_)
+ if (!page_.get())
return;
if (!encoding_name.empty()) {
// only change override encoding, don't change default encoding
// TODO(brettw) use std::string for encoding names.
String new_encoding_name(webkit_glue::StdWStringToString(encoding_name));
- main_frame_->frame()->loader()->reloadAllowingStaleData(new_encoding_name);
+ page_->mainFrame()->loader()->reloadAllowingStaleData(new_encoding_name);
}
}
// Return the canonical encoding name of current main webframe in webview.
std::wstring WebViewImpl::GetMainFrameEncodingName() {
- if (!main_frame_)
- return std::wstring(L"");
+ if (!page_.get())
+ return std::wstring();
- String encoding_name = main_frame_->frame()->loader()->encoding();
+ String encoding_name = page_->mainFrame()->loader()->encoding();
return webkit_glue::StringToStdWString(encoding_name);
}
@@ -1341,11 +1338,12 @@ void WebViewImpl::ResetZoom() {
}
void WebViewImpl::CopyImageAt(int x, int y) {
+ if (!page_.get())
+ return;
+
IntPoint point = IntPoint(x, y);
- Frame* frame = main_frame_->frame();
- if (!frame)
- return;
+ Frame* frame = page_->mainFrame();
HitTestResult result =
frame->eventHandler()->hitTestResultAtPoint(point, false);
@@ -1365,14 +1363,16 @@ void WebViewImpl::CopyImageAt(int x, int y) {
}
void WebViewImpl::InspectElement(int x, int y) {
+ if (!page_.get())
+ return;
+
if (x == -1 || y == -1) {
page_->inspectorController()->inspect(NULL);
} else {
IntPoint point = IntPoint(x, y);
HitTestResult result(point);
- if (Frame* frame = main_frame_->frame())
- result = frame->eventHandler()->hitTestResultAtPoint(point, false);
+ result = page_->mainFrame()->eventHandler()->hitTestResultAtPoint(point, false);
if (!result.innerNonSharedNode())
return;
@@ -1391,8 +1391,7 @@ void WebViewImpl::DragSourceEndedAt(
IntPoint(screen_x, screen_y),
NoButton, MouseEventMoved, 0, false, false, false,
false, 0);
- main_frame_->frame()->eventHandler()->dragSourceEndedAt(pme,
- DragOperationCopy);
+ page_->mainFrame()->eventHandler()->dragSourceEndedAt(pme, DragOperationCopy);
}
void WebViewImpl::DragSourceMovedTo(
@@ -1401,7 +1400,7 @@ void WebViewImpl::DragSourceMovedTo(
IntPoint(screen_x, screen_y),
LeftButton, MouseEventMoved, 0, false, false, false,
false, 0);
- main_frame_->frame()->eventHandler()->dragSourceMovedTo(pme);
+ page_->mainFrame()->eventHandler()->dragSourceMovedTo(pme);
}
void WebViewImpl::DragSourceSystemDragEnded() {
@@ -1449,15 +1448,10 @@ void WebViewImpl::DragTargetDrop(
}
SearchableFormData* WebViewImpl::CreateSearchableFormDataForFocusedNode() {
- if (!main_frame_)
- return NULL;
-
- Frame* frame = main_frame_->frame();
- if (!frame)
+ if (!page_.get())
return NULL;
- if (RefPtr<Frame> focused =
- frame->page()->focusController()->focusedFrame()) {
+ if (RefPtr<Frame> focused = page_->focusController()->focusedFrame()) {
RefPtr<Document> document = focused->document();
if (document.get()) {
RefPtr<Node> focused_node = document->focusedNode();
@@ -1475,17 +1469,12 @@ void WebViewImpl::AutofillSuggestionsForNode(
int64 node_id,
const std::vector<std::wstring>& suggestions,
int default_suggestion_index) {
- if (!main_frame_ || suggestions.empty())
+ if (!page_.get() || suggestions.empty())
return;
DCHECK(default_suggestion_index < static_cast<int>(suggestions.size()));
- Frame* frame = main_frame_->frame();
- if (!frame)
- return;
-
- if (RefPtr<Frame> focused =
- frame->page()->focusController()->focusedFrame()) {
+ if (RefPtr<Frame> focused = page_->focusController()->focusedFrame()) {
RefPtr<Document> document = focused->document();
if (!document.get())
return;
@@ -1519,7 +1508,8 @@ void WebViewImpl::AutofillSuggestionsForNode(
autocomplete_popup_ =
WebCore::PopupContainer::create(autocomplete_popup_client_.get(),
false);
- autocomplete_popup_->show(focused_node->getRect(), frame->view(), 0);
+ autocomplete_popup_->show(focused_node->getRect(),
+ page_->mainFrame()->view(), 0);
}
}
}
@@ -1530,7 +1520,7 @@ void WebViewImpl::DidCommitLoad(bool* is_new_navigation) {
#ifndef NDEBUG
DCHECK(!observed_new_navigation_ ||
- main_frame_->frame()->loader()->documentLoader() == new_navigation_loader_);
+ page_->mainFrame()->loader()->documentLoader() == new_navigation_loader_);
new_navigation_loader_ = NULL;
#endif
observed_new_navigation_ = false;
@@ -1620,7 +1610,7 @@ void WebViewImpl::didAddHistoryItem(WebCore::HistoryItem* item) {
// (ie, not a reload or back/forward).
observed_new_navigation_ = true;
#ifndef NDEBUG
- new_navigation_loader_ = main_frame_->frame()->loader()->documentLoader();
+ new_navigation_loader_ = page_->mainFrame()->loader()->documentLoader();
#endif
delegate_->DidAddHistoryItem();
}
@@ -1630,7 +1620,7 @@ void WebViewImpl::willGoToHistoryItem(WebCore::HistoryItem* item) {
if (item == pending_history_item_->GetHistoryItem()) {
// Let the main frame know this HistoryItem is loading, so it can cache
// any ExtraData when the DataSource is created.
- main_frame_->set_currently_loading_history_item(pending_history_item_);
+ main_frame()->set_currently_loading_history_item(pending_history_item_);
pending_history_item_ = 0;
}
}
diff --git a/webkit/glue/webview_impl.h b/webkit/glue/webview_impl.h
index e5b5e8e..f53f211 100644
--- a/webkit/glue/webview_impl.h
+++ b/webkit/glue/webview_impl.h
@@ -19,6 +19,7 @@
MSVC_PUSH_WARNING_LEVEL(0);
#include "BackForwardList.h"
+#include "Page.h"
MSVC_POP_WARNING();
namespace WebCore {
@@ -118,20 +119,22 @@ class WebViewImpl : public WebView, public WebCore::BackForwardListClient {
static WebViewImpl* FromPage(WebCore::Page* page);
- WebFrameImpl* main_frame() {
- return main_frame_;
- }
-
WebViewDelegate* delegate() {
return delegate_.get();
}
- // Returns the page object associated with this view. This may be NULL when
- // the page is shutting down, but will be valid all other times.
+ // Returns the page object associated with this view. This may be NULL when
+ // the page is shutting down, but will be valid at all other times.
WebCore::Page* page() const {
return page_.get();
}
+ // Returns the main frame associated with this view. This may be NULL when
+ // the page is shutting down, but will be valid at all other times.
+ WebFrameImpl* main_frame() {
+ return page_.get() ? WebFrameImpl::FromFrame(page_->mainFrame()) : NULL;
+ }
+
WebHistoryItemImpl* pending_history_item() const {
return pending_history_item_;
}
@@ -224,7 +227,6 @@ class WebViewImpl : public WebView, public WebCore::BackForwardListClient {
scoped_refptr<WebViewDelegate> delegate_;
gfx::Size size_;
- scoped_refptr<WebFrameImpl> main_frame_;
gfx::Point last_mouse_position_;
// Reference to the Frame that last had focus. This is set once when
// we lose focus, and used when focus is gained to reinstall focus to
diff --git a/webkit/port/bindings/v8/ScriptController.cpp b/webkit/port/bindings/v8/ScriptController.cpp
index b0e356a..60af17f 100644
--- a/webkit/port/bindings/v8/ScriptController.cpp
+++ b/webkit/port/bindings/v8/ScriptController.cpp
@@ -205,20 +205,20 @@ bool ScriptController::processingUserGesture() const
const AtomicString& type = event->type();
bool event_ok =
// mouse events
- type == EventNames::clickEvent ||
- type == EventNames::mousedownEvent ||
- type == EventNames::mouseupEvent ||
- type == EventNames::dblclickEvent ||
+ type == eventNames().clickEvent ||
+ type == eventNames().mousedownEvent ||
+ type == eventNames().mouseupEvent ||
+ type == eventNames().dblclickEvent ||
// keyboard events
- type == EventNames::keydownEvent ||
- type == EventNames::keypressEvent ||
- type == EventNames::keyupEvent ||
+ type == eventNames().keydownEvent ||
+ type == eventNames().keypressEvent ||
+ type == eventNames().keyupEvent ||
// other accepted events
- type == EventNames::selectEvent ||
- type == EventNames::changeEvent ||
- type == EventNames::focusEvent ||
- type == EventNames::blurEvent ||
- type == EventNames::submitEvent;
+ type == eventNames().selectEvent ||
+ type == eventNames().changeEvent ||
+ type == eventNames().focusEvent ||
+ type == eventNames().blurEvent ||
+ type == eventNames().submitEvent;
if (event_ok)
return true;
@@ -299,10 +299,10 @@ void ScriptController::disposeJSResult(v8::Persistent<v8::Value> result)
result.Clear();
}
-PassRefPtr<EventListener> ScriptController::createHTMLEventHandler(
+PassRefPtr<EventListener> ScriptController::createInlineEventListener(
const String& functionName, const String& code, Node* node)
{
- return m_proxy->createHTMLEventHandler(functionName, code, node);
+ return m_proxy->createInlineEventListener(functionName, code, node);
}
#if ENABLE(SVG)
diff --git a/webkit/port/bindings/v8/ScriptController.h b/webkit/port/bindings/v8/ScriptController.h
index 1224cee..76ba5a1 100644
--- a/webkit/port/bindings/v8/ScriptController.h
+++ b/webkit/port/bindings/v8/ScriptController.h
@@ -157,7 +157,7 @@ public:
void disposeJSResult(JSResult result);
void collectGarbage();
- PassRefPtr<EventListener> createHTMLEventHandler(const String& functionName, const String& code, Node*);
+ PassRefPtr<EventListener> createInlineEventListener(const String& functionName, const String& code, Node*);
#if ENABLE(SVG)
PassRefPtr<EventListener> createSVGEventHandler(const String& functionName, const String& code, Node*);
#endif
diff --git a/webkit/port/bindings/v8/V8MessagePortCustom.cpp b/webkit/port/bindings/v8/V8MessagePortCustom.cpp
index 8e4c3a9..4699f08 100644
--- a/webkit/port/bindings/v8/V8MessagePortCustom.cpp
+++ b/webkit/port/bindings/v8/V8MessagePortCustom.cpp
@@ -109,7 +109,7 @@ ACCESSOR_SETTER(MessagePortOnmessage) {
imp->setOnmessage(0);
} else {
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return;
@@ -150,7 +150,7 @@ ACCESSOR_SETTER(MessagePortOnclose) {
// Clear the listener
imp->setOnclose(0);
} else {
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return;
@@ -173,12 +173,13 @@ CALLBACK_FUNC_DECL(MessagePortStartConversation) {
MessagePort* imp = V8Proxy::ToNativeObject<MessagePort>(
V8ClassIndex::MESSAGEPORT, args.Holder());
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return v8::Undefined();
- RefPtr<MessagePort> port = imp->startConversation(imp->document(),
- ToWebCoreString(args[0]));
+ RefPtr<MessagePort> port =
+ imp->startConversation(imp->scriptExecutionContext(),
+ ToWebCoreString(args[0]));
v8::Handle<v8::Value> wrapper =
V8Proxy::ToV8Object(V8ClassIndex::MESSAGEPORT, port.get());
return wrapper;
@@ -189,7 +190,7 @@ CALLBACK_FUNC_DECL(MessagePortAddEventListener) {
MessagePort* imp = V8Proxy::ToNativeObject<MessagePort>(
V8ClassIndex::MESSAGEPORT, args.Holder());
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return v8::Undefined();
@@ -210,7 +211,7 @@ CALLBACK_FUNC_DECL(MessagePortRemoveEventListener) {
MessagePort* imp = V8Proxy::ToNativeObject<MessagePort>(
V8ClassIndex::MESSAGEPORT, args.Holder());
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return v8::Undefined(); // probably leaked
diff --git a/webkit/port/bindings/v8/V8XMLHttpRequestCustom.cpp b/webkit/port/bindings/v8/V8XMLHttpRequestCustom.cpp
index d61a8c32..e7a3702 100644
--- a/webkit/port/bindings/v8/V8XMLHttpRequestCustom.cpp
+++ b/webkit/port/bindings/v8/V8XMLHttpRequestCustom.cpp
@@ -131,7 +131,7 @@ ACCESSOR_SETTER(XMLHttpRequestOnabort) {
// Clear the listener
imp->setOnabort(0);
} else {
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return;
@@ -172,7 +172,7 @@ ACCESSOR_SETTER(XMLHttpRequestOnerror) {
// Clear the listener
imp->setOnerror(0);
} else {
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return;
@@ -213,7 +213,7 @@ ACCESSOR_SETTER(XMLHttpRequestOnload)
imp->setOnload(0);
} else {
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return;
@@ -254,7 +254,7 @@ ACCESSOR_SETTER(XMLHttpRequestOnloadstart) {
// Clear the listener
imp->setOnloadstart(0);
} else {
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return;
@@ -295,7 +295,7 @@ ACCESSOR_SETTER(XMLHttpRequestOnprogress) {
// Clear the listener
imp->setOnprogress(0);
} else {
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return;
@@ -337,7 +337,7 @@ ACCESSOR_SETTER(XMLHttpRequestOnreadystatechange)
// Clear the listener
imp->setOnreadystatechange(0);
} else {
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return;
@@ -356,7 +356,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestAddEventListener)
XMLHttpRequest* imp = V8Proxy::ToNativeObject<XMLHttpRequest>(
V8ClassIndex::XMLHTTPREQUEST, args.Holder());
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return v8::Undefined();
@@ -377,7 +377,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestRemoveEventListener) {
XMLHttpRequest* imp = V8Proxy::ToNativeObject<XMLHttpRequest>(
V8ClassIndex::XMLHTTPREQUEST, args.Holder());
- V8Proxy* proxy = V8Proxy::retrieve(imp->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(imp->scriptExecutionContext());
if (!proxy)
return v8::Undefined(); // probably leaked
@@ -569,7 +569,8 @@ ACCESSOR_SETTER(XMLHttpRequestUploadOnabort) {
imp->setOnabort(0);
} else {
XMLHttpRequest* xmlhttprequest = imp->associatedXMLHttpRequest();
- V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->document()->frame());
+ V8Proxy* proxy =
+ V8Proxy::retrieve(xmlhttprequest->scriptExecutionContext());
if (!proxy)
return;
@@ -611,7 +612,7 @@ ACCESSOR_SETTER(XMLHttpRequestUploadOnerror) {
imp->setOnerror(0);
} else {
XMLHttpRequest* xmlhttprequest = imp->associatedXMLHttpRequest();
- V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->scriptExecutionContext());
if (!proxy)
return;
@@ -653,7 +654,7 @@ ACCESSOR_SETTER(XMLHttpRequestUploadOnload) {
imp->setOnload(0);
} else {
XMLHttpRequest* xmlhttprequest = imp->associatedXMLHttpRequest();
- V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->scriptExecutionContext());
if (!proxy)
return;
@@ -695,7 +696,7 @@ ACCESSOR_SETTER(XMLHttpRequestUploadOnloadstart) {
imp->setOnloadstart(0);
} else {
XMLHttpRequest* xmlhttprequest = imp->associatedXMLHttpRequest();
- V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->scriptExecutionContext());
if (!proxy)
return;
@@ -737,7 +738,7 @@ ACCESSOR_SETTER(XMLHttpRequestUploadOnprogress) {
imp->setOnprogress(0);
} else {
XMLHttpRequest* xmlhttprequest = imp->associatedXMLHttpRequest();
- V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->scriptExecutionContext());
if (!proxy)
return;
@@ -756,7 +757,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestUploadAddEventListener) {
V8ClassIndex::XMLHTTPREQUESTUPLOAD, args.Holder());
XMLHttpRequest* xmlhttprequest = imp->associatedXMLHttpRequest();
- V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->scriptExecutionContext());
if (!proxy)
return v8::Undefined();
@@ -778,7 +779,7 @@ CALLBACK_FUNC_DECL(XMLHttpRequestUploadRemoveEventListener) {
V8ClassIndex::XMLHTTPREQUESTUPLOAD, args.Holder());
XMLHttpRequest* xmlhttprequest = imp->associatedXMLHttpRequest();
- V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->document()->frame());
+ V8Proxy* proxy = V8Proxy::retrieve(xmlhttprequest->scriptExecutionContext());
if (!proxy)
return v8::Undefined(); // probably leaked
diff --git a/webkit/port/bindings/v8/v8_custom.cpp b/webkit/port/bindings/v8/v8_custom.cpp
index c8b4743..5e7241d 100644
--- a/webkit/port/bindings/v8/v8_custom.cpp
+++ b/webkit/port/bindings/v8/v8_custom.cpp
@@ -1053,7 +1053,7 @@ CALLBACK_FUNC_DECL(DOMWindowShowModalDialog) {
V8ClassIndex::DOMWINDOW, args.Holder());
Frame* frame = window->frame();
- if (!frame)
+ if (!frame || !V8Proxy::CanAccessFrame(frame, true))
return v8::Undefined();
if (!canShowModalDialogNow(frame) || !allowPopUp())
@@ -3232,7 +3232,7 @@ ACCESSOR_SETTER(DOMWindowEventHandler) {
if (value->IsNull()) {
// Clear the event listener
- doc->removeWindowEventListenerForType(event_type);
+ doc->removeWindowInlineEventListenerForType(event_type);
} else {
V8Proxy* proxy = V8Proxy::retrieve(imp->frame());
if (!proxy)
@@ -3241,7 +3241,7 @@ ACCESSOR_SETTER(DOMWindowEventHandler) {
RefPtr<EventListener> listener =
proxy->FindOrCreateV8EventListener(value, true);
if (listener) {
- doc->setWindowEventListenerForType(event_type, listener);
+ doc->setWindowInlineEventListenerForType(event_type, listener);
}
}
}
@@ -3265,7 +3265,7 @@ ACCESSOR_GETTER(DOMWindowEventHandler) {
String key = ToWebCoreString(name);
String event_type = EventNameFromAttributeName(key);
- EventListener* listener = doc->windowEventListenerForType(event_type);
+ EventListener* listener = doc->windowInlineEventListenerForType(event_type);
return V8Proxy::EventListenerToV8Object(listener);
}
@@ -3293,10 +3293,10 @@ ACCESSOR_SETTER(ElementEventHandler) {
RefPtr<EventListener> listener =
proxy->FindOrCreateV8EventListener(value, true);
if (listener) {
- node->setEventListenerForType(event_type, listener);
+ node->setInlineEventListenerForType(event_type, listener);
}
} else {
- node->removeEventListenerForType(event_type);
+ node->removeInlineEventListenerForType(event_type);
}
}
@@ -3310,7 +3310,7 @@ ACCESSOR_GETTER(ElementEventHandler) {
ASSERT(key.startsWith("on"));
String event_type = key.substring(2);
- EventListener* listener = node->eventListenerForType(event_type);
+ EventListener* listener = node->inlineEventListenerForType(event_type);
return V8Proxy::EventListenerToV8Object(listener);
}
@@ -3426,7 +3426,7 @@ CALLBACK_FUNC_DECL(SVGElementInstanceAddEventListener) {
SVGElementInstance* instance =
V8Proxy::DOMWrapperToNative<SVGElementInstance>(args.Holder());
- V8Proxy* proxy = V8Proxy::retrieve(instance->associatedFrame());
+ V8Proxy* proxy = V8Proxy::retrieve(instance->scriptExecutionContext());
if (!proxy)
return v8::Undefined();
@@ -3445,7 +3445,7 @@ CALLBACK_FUNC_DECL(SVGElementInstanceRemoveEventListener) {
SVGElementInstance* instance =
V8Proxy::DOMWrapperToNative<SVGElementInstance>(args.Holder());
- V8Proxy* proxy = V8Proxy::retrieve(instance->associatedFrame());
+ V8Proxy* proxy = V8Proxy::retrieve(instance->scriptExecutionContext());
// It is possbile that the owner document of the node is detached
// from the frame, return immediately in this case.
// See issue 878909
diff --git a/webkit/port/bindings/v8/v8_events.cpp b/webkit/port/bindings/v8/v8_events.cpp
index 0d41a67..ff0ef27 100644
--- a/webkit/port/bindings/v8/v8_events.cpp
+++ b/webkit/port/bindings/v8/v8_events.cpp
@@ -213,6 +213,7 @@ v8::Local<v8::Object> V8EventListener::GetThisObject(Event* event,
return v8::Context::GetCurrent()->Global();
}
+ // make sure to sync type conversions with V8Proxy::EventTargetToV8Object
EventTarget* target = event->currentTarget();
if (target->toNode()) {
v8::Handle<v8::Value> value =
@@ -234,6 +235,13 @@ v8::Local<v8::Object> V8EventListener::GetThisObject(Event* event,
V8ClassIndex::MESSAGEPORT, target->toMessagePort());
return v8::Local<v8::Object>::New(v8::Handle<v8::Object>::Cast(value));
+#if ENABLE(SVG)
+ } else if (target->toSVGElementInstance()) {
+ v8::Handle<v8::Value> value = V8Proxy::ToV8Object(
+ V8ClassIndex::SVGELEMENTINSTANCE, target->toSVGElementInstance());
+ return v8::Local<v8::Object>::New(v8::Handle<v8::Object>::Cast(value));
+#endif
+
} else {
ASSERT(false);
return v8::Local<v8::Object>();
diff --git a/webkit/port/bindings/v8/v8_events.h b/webkit/port/bindings/v8/v8_events.h
index 73edb5a..72ed31c 100644
--- a/webkit/port/bindings/v8/v8_events.h
+++ b/webkit/port/bindings/v8/v8_events.h
@@ -88,7 +88,7 @@ class V8EventListener : public V8AbstractEventListener {
V8EventListener(Frame* frame, v8::Local<v8::Object> listener, bool isInline);
virtual ~V8EventListener();
- virtual bool isAttachedToEventTargetNode() const { return m_isInline; }
+ virtual bool isInline() const { return m_isInline; }
// Detach the listener from its owner frame.
void disconnectFrame() { m_frame = 0; }
@@ -128,7 +128,7 @@ class V8LazyEventListener : public V8AbstractEventListener {
V8LazyEventListener(Frame *frame, const String& code,
const String& func_name);
virtual ~V8LazyEventListener();
- virtual bool isAttachedToEventTargetNode() const { return true; }
+ virtual bool isInline() const { return true; }
// For lazy event listener, the listener object is the same as its listener
// function without additional scope chains.
diff --git a/webkit/port/bindings/v8/v8_proxy.cpp b/webkit/port/bindings/v8/v8_proxy.cpp
index 0833a3b..a3c8166 100644
--- a/webkit/port/bindings/v8/v8_proxy.cpp
+++ b/webkit/port/bindings/v8/v8_proxy.cpp
@@ -80,18 +80,21 @@
#include "CSSVariablesDeclaration.h"
#include "FrameLoader.h"
#include "FrameTree.h"
+#include "MessagePort.h"
#include "MimeTypeArray.h"
#include "NodeFilter.h"
#include "Plugin.h"
#include "PluginArray.h"
#include "RangeException.h"
#include "ScriptController.h"
+#include "ScriptExecutionContext.h"
#include "SecurityOrigin.h"
#include "Settings.h"
#include "StyleSheet.h"
#include "StyleSheetList.h"
#include "WebKitCSSTransformValue.h"
#include "XMLHttpRequest.h"
+#include "XMLHttpRequestUpload.h"
#include "XMLHttpRequestException.h"
#include "XPathException.h"
@@ -780,10 +783,6 @@ static void ReportUnsafeJavaScriptAccess(v8::Local<v8::Object> host,
v8::AccessType type,
v8::Local<v8::Value> data)
{
- // Do not report error if the access type is HAS.
- if (type == v8::ACCESS_HAS)
- return;
-
Frame* target = V8Custom::GetTargetFrame(host, data);
if (target)
ReportUnsafeAccessTo(target, REPORT_LATER);
@@ -832,7 +831,7 @@ void V8Proxy::SetJSWrapperForDOMNode(Node* node, v8::Persistent<v8::Object> wrap
dom_node_map().set(node, wrapper);
}
-PassRefPtr<EventListener> V8Proxy::createHTMLEventHandler(
+PassRefPtr<EventListener> V8Proxy::createInlineEventListener(
const String& functionName,
const String& code, Node* node)
{
@@ -869,7 +868,7 @@ static V8EventListener* FindEventListenerInList(V8EventListenerList& list,
// check using the == operator on the handles. This is much,
// much faster than calling StrictEquals through the API in
// the negative case.
- if (el->isAttachedToEventTargetNode() == isInline && listener == wrapper)
+ if (el->isInline() == isInline && listener == wrapper)
return el;
++p;
}
@@ -1457,7 +1456,13 @@ DOMWindow* V8Proxy::retrieveWindow()
// TODO: This seems very fragile. How do we know that the global object
// from the current context is something sensible? Do we need to use the
// last entered here? Who calls this?
- v8::Handle<v8::Object> global = v8::Context::GetCurrent()->Global();
+ return retrieveWindow(v8::Context::GetCurrent());
+}
+
+
+DOMWindow* V8Proxy::retrieveWindow(v8::Handle<v8::Context> context)
+{
+ v8::Handle<v8::Object> global = context->Global();
ASSERT(!global.IsEmpty());
global = LookupDOMWrapper(V8ClassIndex::DOMWINDOW, global);
ASSERT(!global.IsEmpty());
@@ -1467,11 +1472,7 @@ DOMWindow* V8Proxy::retrieveWindow()
Frame* V8Proxy::retrieveFrame(v8::Handle<v8::Context> context)
{
- v8::Handle<v8::Object> global = context->Global();
- global = LookupDOMWrapper(V8ClassIndex::DOMWINDOW, global);
- ASSERT(!global.IsEmpty());
- DOMWindow* window = ToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, global);
- return window->frame();
+ return retrieveWindow(context)->frame();
}
@@ -1505,6 +1506,15 @@ V8Proxy* V8Proxy::retrieve(Frame* frame)
return frame->script()->isEnabled() ? frame->script()->proxy() : 0;
}
+
+V8Proxy* V8Proxy::retrieve(ScriptExecutionContext* context)
+{
+ if (!context->isDocument())
+ return 0;
+ return retrieve(static_cast<Document*>(context)->frame());
+}
+
+
void V8Proxy::disconnectFrame()
{
// disconnect all event listeners
@@ -1615,6 +1625,9 @@ void V8Proxy::clearForNavigation()
ToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, wrapper);
domWindow->clearAllTimeouts();
+ // disconnect all event listeners
+ DisconnectEventListeners();
+
// Separate the context from its global object.
m_context->DetachGlobal();
}
@@ -2664,8 +2677,11 @@ void V8Proxy::UpdateDocumentHandle(v8::Local<v8::Object> handle)
}
-// A JS object of type EventTarget can only be two possible types:
-// 1) EventTargetNode; 2) XMLHttpRequest;
+// A JS object of type EventTarget can only be five possible types:
+// 1) EventTargetNode; 2) XMLHttpRequest; 3) MessagePort; 4) SVGElementInstance;
+// 5) XMLHttpRequestUpload
+// check EventTarget.h for new type conversion methods
+// also make sure to sync with V8EventListener::GetThisObject (v8_events.cpp)
v8::Handle<v8::Value> V8Proxy::EventTargetToV8Object(EventTarget* target)
{
if (!target)
@@ -2689,6 +2705,21 @@ v8::Handle<v8::Value> V8Proxy::EventTargetToV8Object(EventTarget* target)
return peer;
}
+ // MessagePort is created within its JS counterpart
+ MessagePort* port = target->toMessagePort();
+ if (port) {
+ v8::Handle<v8::Object> peer = dom_object_map().get(port);
+ ASSERT(!peer.IsEmpty());
+ return peer;
+ }
+
+ XMLHttpRequestUpload* upload = target->toXMLHttpRequestUpload();
+ if (upload) {
+ v8::Handle<v8::Object> peer = dom_object_map().get(upload);
+ ASSERT(!peer.IsEmpty());
+ return peer;
+ }
+
ASSERT(0);
return v8::Handle<v8::Value>();
}
diff --git a/webkit/port/bindings/v8/v8_proxy.h b/webkit/port/bindings/v8/v8_proxy.h
index 5c2c246..3f69153 100644
--- a/webkit/port/bindings/v8/v8_proxy.h
+++ b/webkit/port/bindings/v8/v8_proxy.h
@@ -64,6 +64,7 @@ class CSSRule;
class CSSRuleList;
class CSSValueList;
class NodeFilter;
+class ScriptExecutionContext;
#if ENABLE(SVG)
class SVGElementInstance;
@@ -210,11 +211,11 @@ class V8Proxy {
static void GCUnprotect(Peerable* dom_object);
// Create a lazy event listener.
- PassRefPtr<EventListener> createHTMLEventHandler(const String& functionName,
- const String& code, Node* node);
+ PassRefPtr<EventListener> createInlineEventListener(
+ const String& functionName, const String& code, Node* node);
#if ENABLE(SVG)
- PassRefPtr<EventListener> createSVGEventHandler(const String& functionName,
- const String& code, Node* node);
+ PassRefPtr<EventListener> createSVGEventHandler(
+ const String& functionName, const String& code, Node* node);
static void SetSVGContext(void* object, SVGElement* context);
static SVGElement* GetSVGContext(void* object);
@@ -241,15 +242,20 @@ class V8Proxy {
// Returns the window object of the currently executing context.
static DOMWindow* retrieveWindow();
+ // Returns the window object associated with a context.
+ static DOMWindow* retrieveWindow(v8::Handle<v8::Context> context);
// Returns V8Proxy object of the currently executing context.
static V8Proxy* retrieve();
// Returns V8Proxy object associated with a frame.
static V8Proxy* retrieve(Frame* frame);
+ // Returns V8Proxy object associated with a script execution context.
+ static V8Proxy* retrieve(ScriptExecutionContext* context);
+
// Returns the frame object of the window object associated
// with the currently executing context.
static Frame* retrieveFrame();
// Returns the frame object of the window object associated with
- // an context.
+ // a context.
static Frame* retrieveFrame(v8::Handle<v8::Context> context);
// Returns the frame that started JS execution.
// NOTE: cannot declare retrieveActiveFrame as inline function,
diff --git a/webkit/port/page/Console.idl b/webkit/port/page/Console.idl
new file mode 100644
index 0000000..79a33f6
--- /dev/null
+++ b/webkit/port/page/Console.idl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2007, 2008 Apple 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:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. 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.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 APPLE AND ITS 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 APPLE OR ITS 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.
+ */
+
+module window {
+
+ interface Console {
+ [Custom] void debug();
+ [Custom] void error();
+ [Custom] void info();
+ [Custom] void log();
+ [Custom] void warn();
+ [Custom] void dir();
+ [Custom] void dirxml();
+ [Custom] void trace();
+ [Custom, ImplementationFunction=assertCondition] void assert(in boolean condition);
+ [Custom] void count();
+
+ [Custom] void profile(in DOMString title);
+ [Custom] void profileEnd();
+ void time(in [ConvertUndefinedOrNullToNullString] DOMString title);
+ [Custom] void timeEnd();
+ [Custom] void group();
+ void groupEnd();
+ };
+
+}
diff --git a/webkit/port/page/chromium/ChromeClientChromium.h b/webkit/port/page/chromium/ChromeClientChromium.h
index 783b5b5..b59529a 100644
--- a/webkit/port/page/chromium/ChromeClientChromium.h
+++ b/webkit/port/page/chromium/ChromeClientChromium.h
@@ -20,10 +20,6 @@ namespace WebCore {
class ChromeClientChromium : public ChromeClient {
public:
- // Opens the file selection dialog.
- virtual void runFileChooser(const String& defaultFileName,
- PassRefPtr<FileChooser> file_chooser) = 0;
-
// Notifies the client of a new popup widget. The client should place
// and size the widget with the given bounds, relative to the screen.
virtual void popupOpened(FramelessScrollView* popupView, const IntRect& bounds, bool focus_on_show) = 0;
diff --git a/webkit/port/platform/chromium/CursorChromium.cpp b/webkit/port/platform/chromium/CursorChromium.cpp
index 90485fe..fe9a893 100644
--- a/webkit/port/platform/chromium/CursorChromium.cpp
+++ b/webkit/port/platform/chromium/CursorChromium.cpp
@@ -300,4 +300,14 @@ const Cursor& zoomOutCursor()
return c;
}
+const Cursor& grabCursor()
+{
+ return pointerCursor();
+}
+
+const Cursor& grabbingCursor()
+{
+ return pointerCursor();
+}
+
}
diff --git a/webkit/port/platform/chromium/FileChooserChromium.cpp b/webkit/port/platform/chromium/FileChooserChromium.cpp
index c70ff69..37a075e 100644
--- a/webkit/port/platform/chromium/FileChooserChromium.cpp
+++ b/webkit/port/platform/chromium/FileChooserChromium.cpp
@@ -39,29 +39,16 @@
namespace WebCore {
-void FileChooser::openFileChooser(Document* document)
-{
- Frame* frame = document->frame();
- if (!frame)
- return;
-
- ChromeClientChromium* client =
- static_cast<ChromeClientChromium*>(frame->page()->chrome()->client());
-
- String result;
- client->runFileChooser(m_filename, &*this);
-}
-
String FileChooser::basenameForWidth(const Font& font, int width) const
{
if (width <= 0)
return String();
String string;
- if (m_filename.isEmpty())
+ if (!m_filenames.size())
string = fileButtonNoFileSelectedLabel();
else
- string = pathGetFileName(m_filename);
+ string = pathGetFileName(m_filenames[0]);
return StringTruncator::centerTruncate(string, static_cast<float>(width), font, false);
}
diff --git a/webkit/port/platform/chromium/IconLinux.cpp b/webkit/port/platform/chromium/IconLinux.cpp
index 963373b..9c38d84 100644
--- a/webkit/port/platform/chromium/IconLinux.cpp
+++ b/webkit/port/platform/chromium/IconLinux.cpp
@@ -38,7 +38,13 @@ Icon::~Icon()
{
}
-PassRefPtr<Icon> Icon::newIconForFile(const String& filename)
+PassRefPtr<Icon> Icon::createIconForFile(const String& filename)
+{
+ notImplemented();
+ return NULL;
+}
+
+PassRefPtr<Icon> Icon::createIconForFiles(const Vector<String>& filenames)
{
notImplemented();
return NULL;
diff --git a/webkit/port/platform/chromium/RenderThemeGtk.cpp b/webkit/port/platform/chromium/RenderThemeGtk.cpp
index 59d5361..54b3254 100644
--- a/webkit/port/platform/chromium/RenderThemeGtk.cpp
+++ b/webkit/port/platform/chromium/RenderThemeGtk.cpp
@@ -54,17 +54,17 @@ RenderThemeGtk::RenderThemeGtk()
{
}
-static bool supportsFocus(EAppearance appearance)
+static bool supportsFocus(ControlPart appearance)
{
switch (appearance) {
- case PushButtonAppearance:
- case ButtonAppearance:
- case TextFieldAppearance:
- case TextAreaAppearance:
- case SearchFieldAppearance:
- case MenulistAppearance:
- case RadioAppearance:
- case CheckboxAppearance:
+ case PushButtonPart:
+ case ButtonPart:
+ case TextFieldPart:
+ case TextAreaPart:
+ case SearchFieldPart:
+ case MenulistPart:
+ case RadioPart:
+ case CheckboxPart:
return true;
default:
return false;
@@ -84,8 +84,8 @@ bool RenderThemeGtk::controlSupportsTints(const RenderObject* o) const
int RenderThemeGtk::baselinePosition(const RenderObject* o) const
{
// FIXME: This strategy is possibly incorrect for the GTK+ port.
- if (o->style()->appearance() == CheckboxAppearance ||
- o->style()->appearance() == RadioAppearance)
+ if (o->style()->appearance() == CheckboxPart||
+ o->style()->appearance() == RadioPart)
return o->marginTop() + o->height() - 2;
return RenderTheme::baselinePosition(o);
}
@@ -203,7 +203,7 @@ static void setButtonPadding(RenderStyle* style)
style->setPaddingBottom(Length(padding / 2, Fixed));
}
-static void setToggleSize(RenderStyle* style, EAppearance appearance)
+static void setToggleSize(RenderStyle* style, ControlPart appearance)
{
// The width and height are both specified, so we shouldn't change them.
if (!style->width().isIntrinsicOrAuto() && !style->height().isAuto())
@@ -213,11 +213,11 @@ static void setToggleSize(RenderStyle* style, EAppearance appearance)
gint indicator_size, indicator_spacing;
switch (appearance) {
- case CheckboxAppearance:
+ case CheckboxPart:
if (moz_gtk_checkbox_get_metrics(&indicator_size, &indicator_spacing) != MOZ_GTK_SUCCESS)
return;
break;
- case RadioAppearance:
+ case RadioPart:
if (moz_gtk_radio_get_metrics(&indicator_size, &indicator_spacing) != MOZ_GTK_SUCCESS)
return;
break;
@@ -237,7 +237,7 @@ static void setToggleSize(RenderStyle* style, EAppearance appearance)
void RenderThemeGtk::setCheckboxSize(RenderStyle* style) const
{
- setToggleSize(style, RadioAppearance);
+ setToggleSize(style, RadioPart);
}
bool RenderThemeGtk::paintCheckbox(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& rect)
@@ -247,7 +247,7 @@ bool RenderThemeGtk::paintCheckbox(RenderObject* o, const RenderObject::PaintInf
void RenderThemeGtk::setRadioSize(RenderStyle* style) const
{
- setToggleSize(style, RadioAppearance);
+ setToggleSize(style, RadioPart);
}
bool RenderThemeGtk::paintRadio(RenderObject* o, const RenderObject::PaintInfo& i, const IntRect& rect)
@@ -258,7 +258,7 @@ bool RenderThemeGtk::paintRadio(RenderObject* o, const RenderObject::PaintInfo&
void RenderThemeGtk::adjustButtonStyle(CSSStyleSelector* selector, RenderStyle* style, WebCore::Element* e) const
{
// FIXME: Is this condition necessary?
- if (style->appearance() == PushButtonAppearance) {
+ if (style->appearance() == PushButtonPart) {
style->resetBorder();
style->setHeight(Length(Auto));
style->setWhiteSpace(PRE);
diff --git a/webkit/port/platform/graphics/BitmapImageSingleFrameSkia.h b/webkit/port/platform/graphics/BitmapImageSingleFrameSkia.h
index 1739a59..2ec3fbd 100644
--- a/webkit/port/platform/graphics/BitmapImageSingleFrameSkia.h
+++ b/webkit/port/platform/graphics/BitmapImageSingleFrameSkia.h
@@ -33,7 +33,7 @@ public:
}
// Do nothing, as we only have the one representation of data (decoded).
- virtual void destroyDecodedData(bool) { }
+ virtual void destroyDecodedData(bool, bool preserveNearbyFrames = false) { }
virtual unsigned decodedSize() const
{
diff --git a/webkit/port/platform/graphics/IconWin.cpp b/webkit/port/platform/graphics/IconWin.cpp
index b1a8d70..cd16ef2 100644
--- a/webkit/port/platform/graphics/IconWin.cpp
+++ b/webkit/port/platform/graphics/IconWin.cpp
@@ -42,7 +42,7 @@ Icon::~Icon()
DestroyIcon(m_icon);
}
-PassRefPtr<Icon> Icon::newIconForFile(const String& filename)
+PassRefPtr<Icon> Icon::createIconForFile(const String& filename)
{
SHFILEINFO sfi;
memset(&sfi, 0, sizeof(sfi));
@@ -54,6 +54,16 @@ PassRefPtr<Icon> Icon::newIconForFile(const String& filename)
return adoptRef(new Icon(sfi.hIcon));
}
+PassRefPtr<Icon> Icon::createIconForFiles(const Vector<String>& filenames)
+{
+ // TODO: support multiple files.
+ // http://code.google.com/p/chromium/issues/detail?id=4092
+ if (!filenames.size())
+ return 0;
+
+ return createIconForFile(filenames[0]);
+}
+
void Icon::paint(GraphicsContext* context, const IntRect& rect)
{
if (context->paintingDisabled())
diff --git a/webkit/port/platform/graphics/mac/IconMac.cpp b/webkit/port/platform/graphics/mac/IconMac.cpp
index 67f7ca4..6514d71 100644
--- a/webkit/port/platform/graphics/mac/IconMac.cpp
+++ b/webkit/port/platform/graphics/mac/IconMac.cpp
@@ -38,7 +38,12 @@
namespace WebCore {
-PassRefPtr<Icon> Icon::newIconForFile(const String& filename)
+PassRefPtr<Icon> Icon::createIconForFile(const String& filename)
+{
+ return NULL;
+}
+
+PassRefPtr<Icon> Icon::createIconForFiles(const Vector<String>& filenames)
{
return NULL;
}
diff --git a/webkit/port/platform/graphics/svg/SVGPaintServerGradientSkia.cpp b/webkit/port/platform/graphics/svg/SVGPaintServerGradientSkia.cpp
index 122e337..3771d99 100644
--- a/webkit/port/platform/graphics/svg/SVGPaintServerGradientSkia.cpp
+++ b/webkit/port/platform/graphics/svg/SVGPaintServerGradientSkia.cpp
@@ -144,11 +144,11 @@ bool SVGPaintServerGradient::setup(GraphicsContext*& context,
switch(spreadMethod())
{
default:
- case SPREADMETHOD_PAD:
+ case SpreadMethodPad:
tile_mode = SkShader::kClamp_TileMode; break;
- case SPREADMETHOD_REFLECT:
+ case SpreadMethodReflect:
tile_mode = SkShader::kMirror_TileMode; break;
- case SPREADMETHOD_REPEAT:
+ case SpreadMethodRepeat:
tile_mode = SkShader::kRepeat_TileMode; break;
}
diff --git a/webkit/port/rendering/RenderThemeMac.mm b/webkit/port/rendering/RenderThemeMac.mm
index 357f4eb..22d5146 100644
--- a/webkit/port/rendering/RenderThemeMac.mm
+++ b/webkit/port/rendering/RenderThemeMac.mm
@@ -58,7 +58,6 @@ using std::min;
// FIXME: The platform-independent code in this class should be factored out and merged with RenderThemeSafari.
-
@interface WebCoreRenderThemeNotificationObserver : NSObject
{
WebCore::RenderTheme *_theme;
@@ -106,8 +105,8 @@ enum {
};
// In our Mac port, we don't define PLATFORM(MAC) and thus don't pick up the
-// |operator NSRect()| on WebCore::IntRect and FloatRect. This substitues for that missing
-// conversion operator.
+// |operator NSRect()| on WebCore::IntRect and FloatRect. This substitues for
+// that missing conversion operator.
NSRect IntRectToNSRect(const IntRect & rect)
{
return NSMakeRect(rect.x(), rect.y(), rect.width(), rect.height());
@@ -123,6 +122,7 @@ IntRect NSRectToIntRect(const NSRect & rect)
return IntRect(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
}
+
RenderTheme* theme()
{
static RenderThemeMac* macTheme = new RenderThemeMac;
@@ -438,17 +438,18 @@ Color RenderThemeMac::systemColor(int cssValueId) const
bool RenderThemeMac::isControlStyled(const RenderStyle* style, const BorderData& border,
const FillLayer& background, const Color& backgroundColor) const
{
- if (style->appearance() == TextFieldAppearance || style->appearance() == TextAreaAppearance || style->appearance() == ListboxAppearance)
+ if (style->appearance() == TextFieldPart || style->appearance() == TextAreaPart || style->appearance() == ListboxPart)
return style->border() != border;
return RenderTheme::isControlStyled(style, border, background, backgroundColor);
}
+// TODO(port): Use the code from the old upstream version, before it was converted to the new theme API in r37731.
void RenderThemeMac::adjustRepaintRect(const RenderObject* o, IntRect& r)
{
float zoomLevel = o->style()->effectiveZoom();
switch (o->style()->appearance()) {
- case CheckboxAppearance: {
+ case CheckboxPart: {
// Since we query the prototype cell, we need to update its state to match.
setCheckboxCellState(o, r);
@@ -460,7 +461,7 @@ void RenderThemeMac::adjustRepaintRect(const RenderObject* o, IntRect& r)
r = inflateRect(r, size, checkboxMargins(), zoomLevel);
break;
}
- case RadioAppearance: {
+ case RadioPart: {
// Since we query the prototype cell, we need to update its state to match.
setRadioCellState(o, r);
@@ -472,9 +473,9 @@ void RenderThemeMac::adjustRepaintRect(const RenderObject* o, IntRect& r)
r = inflateRect(r, size, radioMargins(), zoomLevel);
break;
}
- case PushButtonAppearance:
- case DefaultButtonAppearance:
- case ButtonAppearance: {
+ case PushButtonPart:
+ case DefaultButtonPart:
+ case ButtonPart: {
// Since we query the prototype cell, we need to update its state to match.
setButtonCellState(o, r);
@@ -488,7 +489,7 @@ void RenderThemeMac::adjustRepaintRect(const RenderObject* o, IntRect& r)
}
break;
}
- case MenulistAppearance: {
+ case MenulistPart: {
setPopupButtonCellState(o, r);
IntSize size = popupButtonSizes()[[popupButton() controlSize]];
size.setHeight(size.height() * zoomLevel);
@@ -559,9 +560,10 @@ void RenderThemeMac::updatePressedState(NSCell* cell, const RenderObject* o)
[cell setHighlighted:pressed];
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
int RenderThemeMac::baselinePosition(const RenderObject* o) const
{
- if (o->style()->appearance() == CheckboxAppearance || o->style()->appearance() == RadioAppearance)
+ if (o->style()->appearance() == CheckboxPart || o->style()->appearance() == RadioPart)
return o->marginTop() + o->height() - 2 * o->style()->effectiveZoom(); // The baseline is 2px up from the bottom of the checkbox/radio in AppKit.
return RenderTheme::baselinePosition(o);
}
@@ -577,7 +579,7 @@ bool RenderThemeMac::controlSupportsTints(const RenderObject* o) const
return false;
// Checkboxes only have tint when checked.
- if (o->style()->appearance() == CheckboxAppearance)
+ if (o->style()->appearance() == CheckboxPart)
return isChecked(o);
// For now assume other controls have tint if enabled.
@@ -665,6 +667,7 @@ NSControlSize RenderThemeMac::controlSizeForSystemFont(RenderStyle* style) const
return NSMiniControlSize;
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
bool RenderThemeMac::paintCheckbox(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
{
// Determine the width and height needed for the control and prepare the cell for painting.
@@ -690,9 +693,7 @@ bool RenderThemeMac::paintCheckbox(RenderObject* o, const RenderObject::PaintInf
paintInfo.context->translate(-inflatedRect.x(), -inflatedRect.y());
}
-#if 0
- [checkbox drawWithFrame:NSRect(IntRectToNSRect(inflatedRect)) inView:o->view()->frameView()->documentView()];
-#endif
+ [checkbox drawWithFrame:NSRect(IntRectToNSRect(inflatedRect)) inView:nil];
[checkbox setControlView:nil];
paintInfo.context->restore();
@@ -700,12 +701,14 @@ bool RenderThemeMac::paintCheckbox(RenderObject* o, const RenderObject::PaintInf
return false;
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
const IntSize* RenderThemeMac::checkboxSizes() const
{
static const IntSize sizes[3] = { IntSize(14, 14), IntSize(12, 12), IntSize(10, 10) };
return sizes;
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
const int* RenderThemeMac::checkboxMargins() const
{
static const int margins[3][4] =
@@ -717,6 +720,7 @@ const int* RenderThemeMac::checkboxMargins() const
return margins[[checkbox() controlSize]];
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
void RenderThemeMac::setCheckboxCellState(const RenderObject* o, const IntRect& r)
{
NSButtonCell* checkbox = this->checkbox();
@@ -731,6 +735,7 @@ void RenderThemeMac::setCheckboxCellState(const RenderObject* o, const IntRect&
updateFocusedState(checkbox, o);
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
void RenderThemeMac::setCheckboxSize(RenderStyle* style) const
{
// If the width and height are both specified, then we have nothing to do.
@@ -741,6 +746,7 @@ void RenderThemeMac::setCheckboxSize(RenderStyle* style) const
setSizeFromFont(style, checkboxSizes());
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
bool RenderThemeMac::paintRadio(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
{
// Determine the width and height needed for the control and prepare the cell for painting.
@@ -766,11 +772,7 @@ bool RenderThemeMac::paintRadio(RenderObject* o, const RenderObject::PaintInfo&
paintInfo.context->translate(-inflatedRect.x(), -inflatedRect.y());
}
-#if 0
- NSView* view = o->view()->frameView()->documentView();
-#endif
- NSView* view = nil;
- [radio drawWithFrame:NSRect(IntRectToNSRect(inflatedRect)) inView:view];
+ [radio drawWithFrame:NSRect(IntRectToNSRect(inflatedRect)) inView:nil];
[radio setControlView:nil];
paintInfo.context->restore();
@@ -778,12 +780,14 @@ bool RenderThemeMac::paintRadio(RenderObject* o, const RenderObject::PaintInfo&
return false;
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
const IntSize* RenderThemeMac::radioSizes() const
{
static const IntSize sizes[3] = { IntSize(14, 15), IntSize(12, 13), IntSize(10, 10) };
return sizes;
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
const int* RenderThemeMac::radioMargins() const
{
static const int margins[3][4] =
@@ -795,6 +799,7 @@ const int* RenderThemeMac::radioMargins() const
return margins[[radio() controlSize]];
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
void RenderThemeMac::setRadioCellState(const RenderObject* o, const IntRect& r)
{
NSButtonCell* radio = this->radio();
@@ -809,7 +814,7 @@ void RenderThemeMac::setRadioCellState(const RenderObject* o, const IntRect& r)
updateFocusedState(radio, o);
}
-
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
void RenderThemeMac::setRadioSize(RenderStyle* style) const
{
// If the width and height are both specified, then we have nothing to do.
@@ -820,6 +825,7 @@ void RenderThemeMac::setRadioSize(RenderStyle* style) const
setSizeFromFont(style, radioSizes());
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
void RenderThemeMac::setButtonPaddingFromControlSize(RenderStyle* style, NSControlSize size) const
{
// Just use 8px. AppKit wants to use 11px for mini buttons, but that padding is just too large
@@ -834,6 +840,7 @@ void RenderThemeMac::setButtonPaddingFromControlSize(RenderStyle* style, NSContr
style->setPaddingBottom(Length(0, Fixed));
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
void RenderThemeMac::adjustButtonStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
{
// There are three appearance constants for buttons.
@@ -848,7 +855,7 @@ void RenderThemeMac::adjustButtonStyle(CSSStyleSelector* selector, RenderStyle*
// Determine our control size based off our font.
NSControlSize controlSize = controlSizeForFont(style);
- if (style->appearance() == PushButtonAppearance) {
+ if (style->appearance() == PushButtonPart) {
// Ditch the border.
style->resetBorder();
@@ -880,12 +887,14 @@ void RenderThemeMac::adjustButtonStyle(CSSStyleSelector* selector, RenderStyle*
style->setBoxShadow(0);
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
const IntSize* RenderThemeMac::buttonSizes() const
{
static const IntSize sizes[3] = { IntSize(0, 21), IntSize(0, 18), IntSize(0, 15) };
return sizes;
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
const int* RenderThemeMac::buttonMargins() const
{
static const int margins[3][4] =
@@ -897,6 +906,7 @@ const int* RenderThemeMac::buttonMargins() const
return margins[[button() controlSize]];
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
void RenderThemeMac::setButtonSize(RenderStyle* style) const
{
// If the width and height are both specified, then we have nothing to do.
@@ -907,12 +917,13 @@ void RenderThemeMac::setButtonSize(RenderStyle* style) const
setSizeFromFont(style, buttonSizes());
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
void RenderThemeMac::setButtonCellState(const RenderObject* o, const IntRect& r)
{
NSButtonCell* button = this->button();
// Set the control size based off the rectangle we're painting into.
- if (o->style()->appearance() == SquareButtonAppearance ||
+ if (o->style()->appearance() == SquareButtonPart ||
r.height() > buttonSizes()[NSRegularControlSize].height() * o->style()->effectiveZoom()) {
// Use the square button
if ([button bezelStyle] != NSShadowlessSquareBezelStyle)
@@ -922,11 +933,9 @@ void RenderThemeMac::setButtonCellState(const RenderObject* o, const IntRect& r)
setControlSize(button, buttonSizes(), r.size(), o->style()->effectiveZoom());
-#if 0
- NSWindow *window = [o->view()->frameView()->documentView() window];
+ NSWindow *window = [nil window];
BOOL isDefaultButton = (isDefault(o) && [window isKeyWindow]);
[button setKeyEquivalent:(isDefaultButton ? @"\r" : @"")];
-#endif
// Update the various states we respond to.
updateCheckedState(button, o);
@@ -935,6 +944,7 @@ void RenderThemeMac::setButtonCellState(const RenderObject* o, const IntRect& r)
updateFocusedState(button, o);
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
bool RenderThemeMac::paintButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r)
{
NSButtonCell* button = this->button();
@@ -971,9 +981,6 @@ bool RenderThemeMac::paintButton(RenderObject* o, const RenderObject::PaintInfo&
}
}
-#if 0
- NSView *view = o->view()->frameView()->documentView();
-#endif
NSView *view = nil;
NSWindow *window = [view window];
NSButtonCell *previousDefaultButtonCell = [window defaultButtonCell];
@@ -1087,11 +1094,7 @@ bool RenderThemeMac::paintMenuList(RenderObject* o, const RenderObject::PaintInf
paintInfo.context->translate(-inflatedRect.x(), -inflatedRect.y());
}
-#if 0
- NSView* view = o->view()->frameView()->documentView();
-#endif
- NSView* view = nil;
- [popupButton drawWithFrame:IntRectToNSRect(inflatedRect) inView:view];
+ [popupButton drawWithFrame:IntRectToNSRect(inflatedRect) inView:nil];
[popupButton setControlView:nil];
paintInfo.context->restore();
@@ -1277,6 +1280,12 @@ bool RenderThemeMac::paintMenuListButton(RenderObject* o, const RenderObject::Pa
return false;
}
+static const IntSize* menuListButtonSizes()
+{
+ static const IntSize sizes[3] = { IntSize(0, 21), IntSize(0, 18), IntSize(0, 15) };
+ return sizes;
+}
+
void RenderThemeMac::adjustMenuListStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const
{
NSControlSize controlSize = controlSizeForFont(style);
@@ -1295,7 +1304,7 @@ void RenderThemeMac::adjustMenuListStyle(CSSStyleSelector* selector, RenderStyle
style->setColor(e->isEnabled() ? static_cast<RGBA32>(Color::black) : Color::darkGray);
// Set the button's vertical size.
- setButtonSize(style);
+ setSizeFromFont(style, menuListButtonSizes());
// Our font is locked to the appropriate system font size for the control. To clarify, we first use the CSS-specified font to figure out
// a reasonable control size, but once that control size is determined, we throw that font away and use the appropriate
@@ -1307,18 +1316,18 @@ void RenderThemeMac::adjustMenuListStyle(CSSStyleSelector* selector, RenderStyle
int RenderThemeMac::popupInternalPaddingLeft(RenderStyle* style) const
{
- if (style->appearance() == MenulistAppearance)
+ if (style->appearance() == MenulistPart)
return popupButtonPadding(controlSizeForFont(style))[leftPadding] * style->effectiveZoom();
- if (style->appearance() == MenulistButtonAppearance)
+ if (style->appearance() == MenulistButtonPart)
return styledPopupPaddingLeft * style->effectiveZoom();
return 0;
}
int RenderThemeMac::popupInternalPaddingRight(RenderStyle* style) const
{
- if (style->appearance() == MenulistAppearance)
+ if (style->appearance() == MenulistPart)
return popupButtonPadding(controlSizeForFont(style))[rightPadding] * style->effectiveZoom();
- if (style->appearance() == MenulistButtonAppearance) {
+ if (style->appearance() == MenulistButtonPart) {
float fontScale = style->fontSize() / baseFontSize;
float arrowWidth = baseArrowWidth * fontScale;
return static_cast<int>(ceilf(arrowWidth + (arrowPaddingLeft + arrowPaddingRight + paddingBeforeSeparator) * style->effectiveZoom()));
@@ -1328,18 +1337,18 @@ int RenderThemeMac::popupInternalPaddingRight(RenderStyle* style) const
int RenderThemeMac::popupInternalPaddingTop(RenderStyle* style) const
{
- if (style->appearance() == MenulistAppearance)
+ if (style->appearance() == MenulistPart)
return popupButtonPadding(controlSizeForFont(style))[topPadding] * style->effectiveZoom();
- if (style->appearance() == MenulistButtonAppearance)
+ if (style->appearance() == MenulistButtonPart)
return styledPopupPaddingTop * style->effectiveZoom();
return 0;
}
int RenderThemeMac::popupInternalPaddingBottom(RenderStyle* style) const
{
- if (style->appearance() == MenulistAppearance)
+ if (style->appearance() == MenulistPart)
return popupButtonPadding(controlSizeForFont(style))[bottomPadding] * style->effectiveZoom();
- if (style->appearance() == MenulistButtonAppearance)
+ if (style->appearance() == MenulistButtonPart)
return styledPopupPaddingBottom * style->effectiveZoom();
return 0;
}
@@ -1396,10 +1405,10 @@ bool RenderThemeMac::paintSliderTrack(RenderObject* o, const RenderObject::Paint
float zoomLevel = o->style()->effectiveZoom();
float zoomedTrackWidth = trackWidth * zoomLevel;
- if (o->style()->appearance() == SliderHorizontalAppearance || o->style()->appearance() == MediaSliderAppearance) {
+ if (o->style()->appearance() == SliderHorizontalPart || o->style()->appearance() == MediaSliderPart) {
bounds.setHeight(zoomedTrackWidth);
bounds.setY(r.y() + r.height() / 2 - zoomedTrackWidth / 2);
- } else if (o->style()->appearance() == SliderVerticalAppearance) {
+ } else if (o->style()->appearance() == SliderVerticalPart) {
bounds.setWidth(zoomedTrackWidth);
bounds.setX(r.x() + r.width() / 2 - zoomedTrackWidth / 2);
}
@@ -1414,7 +1423,7 @@ bool RenderThemeMac::paintSliderTrack(RenderObject* o, const RenderObject::Paint
struct CGFunctionCallbacks mainCallbacks = { 0, TrackGradientInterpolate, NULL };
RetainPtr<CGFunctionRef> mainFunction(AdoptCF, CGFunctionCreate(NULL, 1, NULL, 4, NULL, &mainCallbacks));
RetainPtr<CGShadingRef> mainShading;
- if (o->style()->appearance() == SliderVerticalAppearance)
+ if (o->style()->appearance() == SliderVerticalPart)
mainShading.adoptCF(CGShadingCreateAxial(cspace.get(), CGPointMake(bounds.x(), bounds.bottom()), CGPointMake(bounds.right(), bounds.bottom()), mainFunction.get(), false, false));
else
mainShading.adoptCF(CGShadingCreateAxial(cspace.get(), CGPointMake(bounds.x(), bounds.y()), CGPointMake(bounds.x(), bounds.bottom()), mainFunction.get(), false, false));
@@ -1440,7 +1449,7 @@ bool RenderThemeMac::paintSliderThumb(RenderObject* o, const RenderObject::Paint
{
ASSERT(o->parent()->isSlider());
- NSSliderCell* sliderThumbCell = o->style()->appearance() == SliderThumbVerticalAppearance
+ NSSliderCell* sliderThumbCell = o->style()->appearance() == SliderThumbVerticalPart
? sliderThumbVertical()
: sliderThumbHorizontal();
@@ -1452,14 +1461,14 @@ bool RenderThemeMac::paintSliderThumb(RenderObject* o, const RenderObject::Paint
// Update the pressed state using the NSCell tracking methods, since that's how NSSliderCell keeps track of it.
bool oldPressed;
- if (o->style()->appearance() == SliderThumbVerticalAppearance)
+ if (o->style()->appearance() == SliderThumbVerticalPart)
oldPressed = m_isSliderThumbVerticalPressed;
else
oldPressed = m_isSliderThumbHorizontalPressed;
bool pressed = static_cast<RenderSlider*>(o->parent())->inDragMode();
- if (o->style()->appearance() == SliderThumbVerticalAppearance)
+ if (o->style()->appearance() == SliderThumbVerticalPart)
m_isSliderThumbVerticalPressed = pressed;
else
m_isSliderThumbHorizontalPressed = pressed;
@@ -1473,7 +1482,7 @@ bool RenderThemeMac::paintSliderThumb(RenderObject* o, const RenderObject::Paint
FloatRect bounds = r;
// Make the height of the vertical slider slightly larger so NSSliderCell will draw a vertical slider.
- if (o->style()->appearance() == SliderThumbVerticalAppearance)
+ if (o->style()->appearance() == SliderThumbVerticalPart)
bounds.setHeight(bounds.height() + verticalSliderHeightPadding * o->style()->effectiveZoom());
paintInfo.context->save();
@@ -1488,11 +1497,7 @@ bool RenderThemeMac::paintSliderThumb(RenderObject* o, const RenderObject::Paint
paintInfo.context->translate(-unzoomedRect.x(), -unzoomedRect.y());
}
-#if 0
- NSView* view = o->view()->frameView()->documentView();
-#endif
- NSView* view = nil;
- [sliderThumbCell drawWithFrame:FloatRectToNSRect(unzoomedRect) inView:view];
+ [sliderThumbCell drawWithFrame:FloatRectToNSRect(unzoomedRect) inView:nil];
[sliderThumbCell setControlView:nil];
paintInfo.context->restore();
@@ -1508,10 +1513,10 @@ const int mediaSliderThumbHeight = 14;
void RenderThemeMac::adjustSliderThumbSize(RenderObject* o) const
{
float zoomLevel = o->style()->effectiveZoom();
- if (o->style()->appearance() == SliderThumbHorizontalAppearance || o->style()->appearance() == SliderThumbVerticalAppearance) {
+ if (o->style()->appearance() == SliderThumbHorizontalPart || o->style()->appearance() == SliderThumbVerticalPart) {
o->style()->setWidth(Length(static_cast<int>(sliderThumbWidth * zoomLevel), Fixed));
o->style()->setHeight(Length(static_cast<int>(sliderThumbHeight * zoomLevel), Fixed));
- } else if (o->style()->appearance() == MediaSliderThumbAppearance) {
+ } else if (o->style()->appearance() == MediaSliderThumbPart) {
o->style()->setWidth(Length(mediaSliderThumbWidth, Fixed));
o->style()->setHeight(Length(mediaSliderThumbHeight, Fixed));
}
@@ -1541,11 +1546,7 @@ bool RenderThemeMac::paintSearchField(RenderObject* o, const RenderObject::Paint
// Set the search button to nil before drawing. Then reset it so we can draw it later.
[search setSearchButtonCell:nil];
-#if 0
- NSView* view = o->view()->frameView()->documentView();
-#endif
- NSView* view = nil;
- [search drawWithFrame:NSRect(IntRectToNSRect(unzoomedRect)) inView:view];
+ [search drawWithFrame:NSRect(IntRectToNSRect(unzoomedRect)) inView:nil];
#ifdef BUILDING_ON_TIGER
if ([search showsFirstResponder])
wkDrawTextFieldCellFocusRing(search, NSRect(unzoomedRect));
@@ -1641,11 +1642,7 @@ bool RenderThemeMac::paintSearchFieldCancelButton(RenderObject* o, const RenderO
paintInfo.context->translate(-unzoomedRect.x(), -unzoomedRect.y());
}
-#if 0
- NSView* view = o->view()->frameView()->documentView();
-#endif
- NSView* view = nil;
- [[search cancelButtonCell] drawWithFrame:IntRectToNSRect(unzoomedRect) inView:view];
+ [[search cancelButtonCell] drawWithFrame:IntRectToNSRect(unzoomedRect) inView:nil];
[[search cancelButtonCell] setControlView:nil];
paintInfo.context->restore();
@@ -1705,11 +1702,7 @@ bool RenderThemeMac::paintSearchFieldResultsDecoration(RenderObject* o, const Re
[search setSearchMenuTemplate:nil];
NSRect bounds = [search searchButtonRectForBounds:NSRect(IntRectToNSRect(input->renderer()->absoluteBoundingBoxRect()))];
-#if 0
- NSView* view = o->view()->frameView()->documentView();
-#endif
- NSView* view = nil;
- [[search searchButtonCell] drawWithFrame:bounds inView:view];
+ [[search searchButtonCell] drawWithFrame:bounds inView:nil];
[[search searchButtonCell] setControlView:nil];
return false;
}
@@ -1748,11 +1741,7 @@ bool RenderThemeMac::paintSearchFieldResultsButton(RenderObject* o, const Render
paintInfo.context->translate(-unzoomedRect.x(), -unzoomedRect.y());
}
-#if 0
- NSView* view = o->view()->frameView()->documentView();
-#endif
- NSView* view = nil;
- [[search searchButtonCell] drawWithFrame:IntRectToNSRect(unzoomedRect) inView:view];
+ [[search searchButtonCell] drawWithFrame:IntRectToNSRect(unzoomedRect) inView:nil];
[[search searchButtonCell] setControlView:nil];
paintInfo.context->restore();
@@ -1808,7 +1797,7 @@ bool RenderThemeMac::paintMediaPlayButton(RenderObject* o, const RenderObject::P
if (mediaElement->canPlay())
wkDrawMediaPlayButton(paintInfo.context->platformContext(), r, node->active());
else
- wkDrawMediaPauseButton(paintInfo.context->platformContext(), r, node->active());
+ wkDrawMediaPauseButton(paintInfo.context->platformContext(), r, node->active());
#endif
return false;
}
@@ -1868,6 +1857,7 @@ bool RenderThemeMac::paintMediaSliderThumb(RenderObject* o, const RenderObject::
return false;
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
NSButtonCell* RenderThemeMac::checkbox() const
{
if (!m_checkbox) {
@@ -1881,6 +1871,7 @@ NSButtonCell* RenderThemeMac::checkbox() const
return m_checkbox.get();
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
NSButtonCell* RenderThemeMac::radio() const
{
if (!m_radio) {
@@ -1893,6 +1884,7 @@ NSButtonCell* RenderThemeMac::radio() const
return m_radio.get();
}
+// TODO(port): This used to be in the upstream version until it was converted to the new theme API in r37731.
NSButtonCell* RenderThemeMac::button() const
{
if (!m_button) {
diff --git a/webkit/port/rendering/RenderThemeWin.cpp b/webkit/port/rendering/RenderThemeWin.cpp
index 917e5ee..51e146a 100644
--- a/webkit/port/rendering/RenderThemeWin.cpp
+++ b/webkit/port/rendering/RenderThemeWin.cpp
@@ -101,9 +101,9 @@ namespace {
// form control fonts.
float DefaultFontSize = 16.0;
- WebCore::FontDescription SmallSystemFont;
- WebCore::FontDescription MenuFont;
- WebCore::FontDescription LabelFont;
+ WebCore::FontDescription smallSystemFont;
+ WebCore::FontDescription menuFont;
+ WebCore::FontDescription labelFont;
}
namespace WebCore {
@@ -296,8 +296,8 @@ void RenderThemeWin::systemFont(int propId, Document* document, FontDescription&
float fontSize = 0;
switch (propId) {
case CSSValueSmallCaption:
- cachedDesc = &SmallSystemFont;
- if (!SmallSystemFont.isAbsoluteSize()) {
+ cachedDesc = &smallSystemFont;
+ if (!smallSystemFont.isAbsoluteSize()) {
if (webkit_glue::IsLayoutTestMode()) {
fontSize = systemFontSizeForControlSize(SmallControlSize);
} else {
@@ -309,8 +309,8 @@ void RenderThemeWin::systemFont(int propId, Document* document, FontDescription&
}
break;
case CSSValueMenu:
- cachedDesc = &MenuFont;
- if (!MenuFont.isAbsoluteSize()) {
+ cachedDesc = &menuFont;
+ if (!menuFont.isAbsoluteSize()) {
if (webkit_glue::IsLayoutTestMode()) {
fontSize = systemFontSizeForControlSize(RegularControlSize);
} else {
@@ -322,8 +322,8 @@ void RenderThemeWin::systemFont(int propId, Document* document, FontDescription&
}
break;
case CSSValueStatusBar:
- cachedDesc = &LabelFont;
- if (!LabelFont.isAbsoluteSize()) {
+ cachedDesc = &labelFont;
+ if (!labelFont.isAbsoluteSize()) {
if (webkit_glue::IsLayoutTestMode()) {
fontSize = kLayoutTestStatusBarFontSize;
} else {
@@ -389,13 +389,14 @@ void RenderThemeWin::systemFont(int propId, Document* document, FontDescription&
fontDescription = *cachedDesc;
}
-bool RenderThemeWin::supportsFocus(EAppearance appearance)
+bool RenderThemeWin::supportsFocus(ControlPart appearance)
{
switch (appearance) {
- case PushButtonAppearance:
- case ButtonAppearance:
- case TextFieldAppearance:
- case TextAreaAppearance:
+ case PushButtonPart:
+ case ButtonPart:
+ case DefaultButtonPart:
+ case TextFieldPart:
+ case TextAreaPart:
return true;
default:
return false;
@@ -409,17 +410,17 @@ bool RenderThemeWin::supportsFocusRing(const RenderStyle* style) const
// Let webkit draw one of its halo rings around any focused element,
// except push buttons. For buttons we use the windows PBS_DEFAULTED
// styling to give it a blue border.
- return style->appearance() == ButtonAppearance ||
- style->appearance() == PushButtonAppearance;
+ return style->appearance() == ButtonPart ||
+ style->appearance() == PushButtonPart;
}
unsigned RenderThemeWin::determineState(RenderObject* o)
{
unsigned result = TS_NORMAL;
- EAppearance appearance = o->style()->appearance();
+ ControlPart appearance = o->style()->appearance();
if (!isEnabled(o))
result = TS_DISABLED;
- else if (isReadOnlyControl(o) && (TextFieldAppearance == appearance || TextAreaAppearance == appearance))
+ else if (isReadOnlyControl(o) && (TextFieldPart == appearance || TextAreaPart == appearance))
result = ETS_READONLY; // Readonly is supported on textfields.
else if (isPressed(o)) // Active overrides hover and focused.
result = TS_PRESSED;
@@ -450,23 +451,23 @@ ThemeData RenderThemeWin::getThemeData(RenderObject* o)
{
ThemeData result;
switch (o->style()->appearance()) {
- case PushButtonAppearance:
- case ButtonAppearance:
+ case PushButtonPart:
+ case ButtonPart:
result.m_part = BP_PUSHBUTTON;
result.m_classicState = DFCS_BUTTONPUSH;
break;
- case CheckboxAppearance:
+ case CheckboxPart:
result.m_part = BP_CHECKBOX;
result.m_classicState = DFCS_BUTTONCHECK;
break;
- case RadioAppearance:
+ case RadioPart:
result.m_part = BP_RADIOBUTTON;
result.m_classicState = DFCS_BUTTONRADIO;
break;
- case ListboxAppearance:
- case MenulistAppearance:
- case TextFieldAppearance:
- case TextAreaAppearance:
+ case ListboxPart:
+ case MenulistPart:
+ case TextFieldPart:
+ case TextAreaPart:
result.m_part = ETS_NORMAL;
break;
}
@@ -710,10 +711,10 @@ int RenderThemeWin::popupInternalPaddingBottom(RenderStyle* style) const
// Hacks for using Mac menu list metrics when in layout test mode.
static int layoutTestMenuListInternalPadding(RenderStyle* style, int paddingType)
{
- if (style->appearance() == MenulistAppearance) {
+ if (style->appearance() == MenulistPart) {
return kLayoutTestMenuListInternalPadding[controlSizeForFont(style)][paddingType];
}
- if (style->appearance() == MenulistButtonAppearance) {
+ if (style->appearance() == MenulistButtonPart) {
if (paddingType == RightPadding) {
const float baseArrowWidth = 5.0f;
float fontScale = style->fontSize() / kLayoutTestBaseFontSize;
@@ -748,7 +749,7 @@ int RenderThemeWin::menuListInternalPadding(RenderStyle* style, int paddingType)
// If the MenuList actually has appearance "NoAppearance", then that means
// we don't draw a button, so don't reserve space for it.
const int bar_type = style->direction() == LTR ? RightPadding : LeftPadding;
- if (paddingType == bar_type && style->appearance() != NoAppearance)
+ if (paddingType == bar_type && style->appearance() != NoPart)
padding += ScrollbarTheme::nativeTheme()->scrollbarThickness();
return padding;
@@ -798,8 +799,8 @@ void RenderThemeWin::setButtonPadding(RenderStyle* style) const
void RenderThemeWin::adjustSliderThumbSize(RenderObject* o) const
{
if (webkit_glue::IsLayoutTestMode()) {
- if (o->style()->appearance() == SliderThumbHorizontalAppearance ||
- o->style()->appearance() == SliderThumbVerticalAppearance) {
+ if (o->style()->appearance() == SliderThumbHorizontalPart ||
+ o->style()->appearance() == SliderThumbVerticalPart) {
o->style()->setWidth(Length(kLayoutTestSliderThumbWidth, Fixed));
o->style()->setHeight(Length(kLayoutTestSliderThumbHeight, Fixed));
}
@@ -902,7 +903,7 @@ void RenderThemeWin::setDefaultFontSize(int fontSize) {
DefaultFontSize = static_cast<float>(fontSize);
// Reset cached fonts.
- SmallSystemFont = MenuFont = LabelFont = FontDescription();
+ smallSystemFont = menuFont = labelFont = FontDescription();
}
}
diff --git a/webkit/port/rendering/RenderThemeWin.h b/webkit/port/rendering/RenderThemeWin.h
index bd4db98..a862eab 100644
--- a/webkit/port/rendering/RenderThemeWin.h
+++ b/webkit/port/rendering/RenderThemeWin.h
@@ -114,7 +114,7 @@ private:
unsigned determineState(RenderObject*);
unsigned determineClassicState(RenderObject*);
- bool supportsFocus(EAppearance);
+ bool supportsFocus(ControlPart);
ThemeData getThemeData(RenderObject*);
diff --git a/webkit/tools/layout_tests/test_lists/win/tests_fixable.txt b/webkit/tools/layout_tests/test_lists/win/tests_fixable.txt
index 7879230e2..b3ed2d1 100644
--- a/webkit/tools/layout_tests/test_lists/win/tests_fixable.txt
+++ b/webkit/tools/layout_tests/test_lists/win/tests_fixable.txt
@@ -166,7 +166,7 @@ V8 # LayoutTests/fast/history/history_reload.html = PASS | FAIL
V8 # LayoutTests/fast/repaint/bugzilla-6473.html = PASS | FAIL
// Bug 982608: test had a wrong result for one condition
-V8 # LayoutTests/plugins/destroy-stream-twice.html = FAIL | TIMEOUT
+V8 # LayoutTests/plugins/destroy-stream-twice.html = FAIL | TIMEOUT | CRASH
// This test has been modified and placed in pending, so we ignore the original
// until we get our modification into WebKit.
@@ -600,7 +600,7 @@ V8 # LayoutTests/fast/canvas/gradient-empty-path.html = FAIL
// Bug: 1166644
// Fails on webkit windows as well.
-V8 # LayoutTests/fast/events/attempt-scroll-with-no-scrollbars.html = FAIL
+V8 # LayoutTests/fast/events/attempt-scroll-with-no-scrollbars.html = FAIL | TIMEOUT
// Bug 1226853: Fails on v8-latest after const changes (r123300). Test
// has been rebaselined (don't declare const x twice).
@@ -768,7 +768,7 @@ V8 # LayoutTests/editing/selection/move-left-right.html = FAIL
// This test needs to be rebaselined but said rebaselining didn't work and after
// over an hour wasted, I'm giving up. -brettw
-V8 | KJS # LayoutTests/svg/custom/foreign-object-skew.svg = FAIL
+V8 # LayoutTests/svg/custom/foreign-object-skew.svg = FAIL
// ----------------------------------------------------------------------------
// NEW FOR THE MERGE
@@ -805,7 +805,6 @@ V8 # LayoutTests/fast/transforms/shadows.html = FAIL
V8 # LayoutTests/http/tests/misc/acid3.html = FAIL
V8 # DEFER : LayoutTests/http/tests/misc/frame-default-enc-same-domain.html = FAIL
V8 # LayoutTests/http/tests/security/canvas-remote-read-svg-image.html = FAIL
-V8 # LayoutTests/http/tests/security/cross-frame-access-object-prototype.html = FAIL | TIMEOUT
V8 # LayoutTests/http/tests/security/xss-DENIED-synchronous-form.html = FAIL | TIMEOUT
V8 # LayoutTests/http/tests/security/xss-eval.html = FAIL | TIMEOUT
V8 # LayoutTests/http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html = FAIL
@@ -943,9 +942,6 @@ V8 # LayoutTests/fast/css/font-face-multiple-faces.html = FAIL
// TODO(eroman): passed for me locally, need to see why failed on buildbot...
V8 # LayoutTests/fast/backgrounds/svg-as-background-6.html = PASS | FAIL
-// Post-merge Timeouts: Definitely need to be fixed one day
-V8 # LayoutTests/http/tests/security/cross-frame-access-call.html = TIMEOUT
-
// Post-merge Debug only Crashes
V8 # LayoutTests/http/tests/misc/onload-remove-iframe-crash-2.html = CRASH | PASS
// One of these svg tests sometimes crash in debug mode. It seems to only
@@ -975,12 +971,7 @@ V8 # LayoutTests/svg/dynamic-updates/SVGEllipseElement-svgdom-cy-prop.html = CRA
V8 # LayoutTests/http/tests/navigation/redirect302-goback.html = FAIL | PASS
// Got flakey (both debug and release) around r3581 (ananta).
-V8 # LayoutTests/http/tests/plugins/geturlnotify-from-npp-destroystream.html = FAIL | PASS
-
-// Some of the keyframe animation tests are flaky. This one is
-// failing now on the buildbot, but it passes when run alone. Some of
-// the other keyframe animation tests also occasionally timeout.
-V8 # LayoutTests/animations/multiple-keyframes.html = PASS | TIMEOUT
+V8 # LayoutTests/http/tests/plugins/geturlnotify-from-npp-destroystream.html = FAIL | PASS | CRASH
// Crash in DEBUG only
V8 # LayoutTests/svg/W3C-SVG-1.1/interact-dom-01-b.svg = CRASH | PASS
@@ -1078,7 +1069,6 @@ V8 # LayoutTests/scrollbars/scrollbar-orientation.html = FAIL
V8 # LayoutTests/transforms/2d/compound-transforms-vs-containers.html = FAIL
V8 # LayoutTests/transforms/2d/transform-borderbox.html = FAIL
V8 # LayoutTests/transforms/2d/transform-origin-borderbox.html = FAIL
-V8 # LayoutTests/fast/events/message-port-inactive-document.html = TIMEOUT
V8 # LayoutTests/http/tests/security/MessagePort/event-listener-context.html = FAIL
// missing expected results
V8 # SKIP LayoutTests/fast/forms/search-placeholder-value-changed.html = FAIL
@@ -1168,13 +1158,11 @@ V8 # LayoutTests/svg/batik/text/textPCDATA.svg = FAIL
V8 # LayoutTests/svg/batik/text/textPosition2.svg = FAIL
V8 # LayoutTests/svg/batik/text/xmlSpace.svg = FAIL
V8 # LayoutTests/svg/carto.net/button.svg = FAIL
-V8 # LayoutTests/svg/custom/class-baseValue.svg = FAIL
V8 # LayoutTests/svg/custom/container-opacity-clip-viewBox.svg = FAIL
V8 # LayoutTests/svg/custom/getscreenctm-in-mixed-content2.xhtml = FAIL
V8 # LayoutTests/svg/custom/svg-fonts-in-html.html = FAIL
V8 # LayoutTests/svg/custom/text-linking.svg = FAIL
V8 # LayoutTests/svg/custom/text-xy-updates.svg = FAIL
-V8 # LayoutTests/svg/custom/use-clipped-transform.svg = FAIL
V8 # LayoutTests/svg/custom/use-css-no-effect-on-shadow-tree.svg = FAIL
V8 # LayoutTests/svg/custom/use-instanceRoot-as-event-target.xhtml = FAIL
V8 # LayoutTests/svg/custom/use-instanceRoot-event-listeners.xhtml = FAIL
@@ -1201,7 +1189,6 @@ V8 # LayoutTests/fast/backgrounds/svg-as-background-4.html = FAIL
V8 # LayoutTests/fast/borders/svg-as-border-image-2.html = FAIL
V8 # LayoutTests/fast/borders/svg-as-border-image.html = FAIL
V8 # LayoutTests/fast/css/line-height-overflow.html = FAIL
-V8 # LayoutTests/fast/dom/Window/new-window-opener.html = FAIL
V8 # LayoutTests/fast/dom/Window/window-open-pending-url.html = FAIL
V8 # LayoutTests/fast/events/mouse-click-events.html = FAIL
V8 # LayoutTests/fast/flexbox/009.html = FAIL
@@ -1238,7 +1225,6 @@ V8 # LayoutTests/http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-ur
V8 # chrome/fast/dom/xmlhttprequest-gc.html = FAIL
V8 # chrome/fast/dom/xss-DENIED-javascript-variations.html = FAIL
V8 # chrome/fast/forms/basic-textareas.html = FAIL
-V8 # pending/security/block-test.html = FAIL | TIMEOUT
V8 # LayoutTests/editing/execCommand/19089.html = FAIL | PASS
V8 # LayoutTests/fast/forms/button-cannot-be-nested.html = FAIL | PASS
V8 # LayoutTests/http/tests/navigation/postredirect-frames.html = FAIL | PASS
@@ -1266,3 +1252,39 @@ V8 # LayoutTests/fast/css-generated-content/013.html = FAIL | PASS
V8 # LayoutTests/fast/css-generated-content/014.html = FAIL | PASS
V8 # LayoutTests/fast/css-generated-content/015.html = FAIL | PASS
V8 # LayoutTests/fast/css-generated-content/016.html = FAIL | PASS
+
+// NEW FOR MERGE 37604:38097
+V8 # LayoutTests/animations/keyframes-rule.html = FAIL
+V8 # LayoutTests/editing/deleting/smart-editing-disabled.html = FAIL
+V8 # LayoutTests/fast/css/border-height.html = FAIL
+V8 # LayoutTests/fast/events/destroyed-atomic-string.html = FAIL
+V8 # LayoutTests/fast/forms/image-border.html = FAIL
+V8 # LayoutTests/fast/forms/input-field-text-truncated.html = FAIL
+V8 # LayoutTests/fast/forms/input-type-text-min-width.html = FAIL
+V8 # LayoutTests/fast/forms/textarea-scrollbar-height.html = FAIL
+V8 # LayoutTests/fast/forms/textarea-width.html = FAIL
+V8 # LayoutTests/fast/js/exception-thrown-from-new.html = FAIL
+V8 # LayoutTests/fast/js/global-constructors.html = FAIL
+V8 # LayoutTests/fast/layers/opacity-transforms.html = FAIL
+V8 # LayoutTests/fast/overflow/overflow_hidden.html = FAIL
+V8 # LayoutTests/fast/profiler = FAIL | TIMEOUT
+V8 # LayoutTests/fast/replaced/percent-height-in-anonymous-block-widget.html = FAIL
+V8 # LayoutTests/fast/text/bidi-embedding-pop-and-push-same.html = FAIL
+V8 # LayoutTests/fast/text/international/hindi-spacing.html = FAIL
+V8 # LayoutTests/plugins/netscape-construct.html = FAIL
+V8 # LayoutTests/transforms/transform-value-types.html = FAIL
+
+// MERGE 37604:38097 REGRESSIONS
+V8 # LayoutTests/svg/carto.net/combobox.svg = FAIL
+V8 # LayoutTests/fast/events/tabindex-focus-blur-all.html = CRASH
+V8 # LayoutTests/fast/events/message-channel-gc-2.html = TIMEOUT
+V8 # LayoutTests/http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html = CRASH
+V8 # LayoutTests/plugins/open-and-close-window-with-plugin.html = CRASH
+V8 # LayoutTests/plugins/plugin-remove-subframe.html = CRASH
+V8 # LayoutTests/plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html = CRASH
+V8 # pending/fast/events/tabindex-focus-blur-all.html = CRASH
+V8 # LayoutTests/fast/loader/onunload-form-submit-crash-2.html = FAIL
+V8 # LayoutTests/fast/dom/Window/get-set-properties.html = PASS | FAIL
+V8 # LayoutTests/fast/dom/Window/new-window-opener.html = PASS | FAIL
+V8 # LayoutTests/fast/forms/access-key.html = PASS | FAIL
+V8 # LayoutTests/http/tests/loading/gmail-assert-on-load.html = PASS | FAIL
diff --git a/webkit/webkit.xcodeproj/project.pbxproj b/webkit/webkit.xcodeproj/project.pbxproj
index 18243184..df775d8 100644
--- a/webkit/webkit.xcodeproj/project.pbxproj
+++ b/webkit/webkit.xcodeproj/project.pbxproj
@@ -62,6 +62,12 @@
4D1638200EBFA4FC008F024E /* StorageEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D1638080EBFA4FB008F024E /* StorageEvent.cpp */; };
4D1638210EBFA4FC008F024E /* StorageMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D16380A0EBFA4FB008F024E /* StorageMap.cpp */; };
4D163E990EC23D9D008F024E /* form_autocomplete_listener.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D163E970EC23D9D008F024E /* form_autocomplete_listener.cc */; };
+ 4D1640E50EC29BB4008F024E /* Geolocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D1640D80EC29BB4008F024E /* Geolocation.cpp */; };
+ 4D1640E60EC29BB4008F024E /* Geoposition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D1640DA0EC29BB4008F024E /* Geoposition.cpp */; };
+ 4D1641090EC29C84008F024E /* Location.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B0096150DAFF19C00F72082 /* Location.cpp */; };
+ 4D16411F0EC29D01008F024E /* GeolocationService.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D1641140EC29D01008F024E /* GeolocationService.cpp */; };
+ 4D1641310EC29E80008F024E /* ActiveDOMObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D1641280EC29E80008F024E /* ActiveDOMObject.cpp */; };
+ 4D1641330EC29E80008F024E /* ScriptExecutionContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D16412F0EC29E80008F024E /* ScriptExecutionContext.cpp */; };
4D2A63EB0EBBBEDF00B55603 /* MediaPlayerPrivateChromium.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D2A63E90EBBBEDF00B55603 /* MediaPlayerPrivateChromium.cpp */; };
4D2A64400EBBC0A700B55603 /* V8HTMLVideoElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D2A643A0EBBC0A700B55603 /* V8HTMLVideoElement.cpp */; };
4D2A64410EBBC0A700B55603 /* V8MediaError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4D2A643C0EBBC0A700B55603 /* V8MediaError.cpp */; };
@@ -431,7 +437,6 @@
7B0096040DAFF0DD00F72082 /* v8_np_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B0095E60DAFF0DC00F72082 /* v8_np_utils.cpp */; };
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 */; };
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 */; };
@@ -896,7 +901,6 @@
E456251A0E268E87005E4685 /* Credential.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E91240D7F3CC2001ECF42 /* Credential.cpp */; };
E456251B0E268E87005E4685 /* FormData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E912C0D7F3CC2001ECF42 /* FormData.cpp */; };
E456251C0E268E87005E4685 /* HTTPParsers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E912F0D7F3CC2001ECF42 /* HTTPParsers.cpp */; };
- E456251E0E268E87005E4685 /* FormDataStreamMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E91350D7F3CC2001ECF42 /* FormDataStreamMac.mm */; };
E45625230E268E87005E4685 /* ProtectionSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E913C0D7F3CC2001ECF42 /* ProtectionSpace.cpp */; };
E45625250E268E87005E4685 /* ResourceHandle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E91470D7F3CC2001ECF42 /* ResourceHandle.cpp */; };
E45625260E268E87005E4685 /* ResourceRequestBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E914B0D7F3CC2001ECF42 /* ResourceRequestBase.cpp */; };
@@ -1217,7 +1221,6 @@
E456268B0E268E87005E4685 /* IntSizeCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E8FC00D7F3CC1001ECF42 /* IntSizeCG.cpp */; };
E456268C0E268E87005E4685 /* PathCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E8FC10D7F3CC1001ECF42 /* PathCG.cpp */; };
E456268D0E268E87005E4685 /* PDFDocumentImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B5E8FC20D7F3CC1001ECF42 /* PDFDocumentImage.cpp */; };
- E456268E0E268E87005E4685 /* WebCoreURLResponse.mm in Sources */ = {isa = PBXBuildFile; fileRef = 820A61940DE7592C00871E2D /* WebCoreURLResponse.mm */; };
E45626F30E268F03005E4685 /* webwidget_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8254055E0D92E3DB0006B936 /* webwidget_impl.cc */; };
E45626F40E268F03005E4685 /* webview_impl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8254055A0D92E3DB0006B936 /* webview_impl.cc */; };
E45626F50E268F03005E4685 /* glue_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 825405160D92E3DA0006B936 /* glue_util.cc */; };
@@ -1490,6 +1493,43 @@
4D163E970EC23D9D008F024E /* form_autocomplete_listener.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = form_autocomplete_listener.cc; sourceTree = "<group>"; };
4D163E980EC23D9D008F024E /* form_autocomplete_listener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = form_autocomplete_listener.h; sourceTree = "<group>"; };
4D163E9D0EC23DC6008F024E /* PopupMenuChromium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PopupMenuChromium.h; sourceTree = "<group>"; };
+ 4D1640D80EC29BB4008F024E /* Geolocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Geolocation.cpp; sourceTree = "<group>"; };
+ 4D1640D90EC29BB4008F024E /* Geolocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Geolocation.h; sourceTree = "<group>"; };
+ 4D1640DA0EC29BB4008F024E /* Geoposition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Geoposition.cpp; sourceTree = "<group>"; };
+ 4D1640DB0EC29BB4008F024E /* Geoposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Geoposition.h; sourceTree = "<group>"; };
+ 4D1640DC0EC29BB4008F024E /* Location.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Location.cpp; sourceTree = "<group>"; };
+ 4D1640DD0EC29BB4008F024E /* Location.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Location.h; sourceTree = "<group>"; };
+ 4D1640DE0EC29BB4008F024E /* PositionCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionCallback.h; sourceTree = "<group>"; };
+ 4D1640DF0EC29BB4008F024E /* PositionError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionError.h; sourceTree = "<group>"; };
+ 4D1640E00EC29BB4008F024E /* PositionErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionErrorCallback.h; sourceTree = "<group>"; };
+ 4D1640E10EC29BB4008F024E /* PositionOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionOptions.h; sourceTree = "<group>"; };
+ 4D1640E20EC29BB4008F024E /* PrintContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PrintContext.cpp; sourceTree = "<group>"; };
+ 4D1640E30EC29BB4008F024E /* PrintContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintContext.h; sourceTree = "<group>"; };
+ 4D1640E40EC29BB4008F024E /* ScriptCallContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptCallContext.h; sourceTree = "<group>"; };
+ 4D1641140EC29D01008F024E /* GeolocationService.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeolocationService.cpp; sourceTree = "<group>"; };
+ 4D1641150EC29D01008F024E /* GeolocationService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeolocationService.h; sourceTree = "<group>"; };
+ 4D1641160EC29D01008F024E /* HostWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HostWindow.h; sourceTree = "<group>"; };
+ 4D1641170EC29D01008F024E /* LengthBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LengthBox.h; sourceTree = "<group>"; };
+ 4D1641180EC29D01008F024E /* LengthSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LengthSize.h; sourceTree = "<group>"; };
+ 4D1641190EC29D01008F024E /* PlatformKeyboardEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformKeyboardEvent.h; sourceTree = "<group>"; };
+ 4D16411A0EC29D01008F024E /* PlatformScreen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformScreen.h; sourceTree = "<group>"; };
+ 4D16411B0EC29D01008F024E /* PopupMenuStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PopupMenuStyle.h; sourceTree = "<group>"; };
+ 4D16411C0EC29D01008F024E /* Theme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Theme.h; sourceTree = "<group>"; };
+ 4D16411D0EC29D01008F024E /* ThemeTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThemeTypes.h; sourceTree = "<group>"; };
+ 4D16411E0EC29D01008F024E /* TreeShared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreeShared.h; sourceTree = "<group>"; };
+ 4D1641280EC29E80008F024E /* ActiveDOMObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActiveDOMObject.cpp; sourceTree = "<group>"; };
+ 4D1641290EC29E80008F024E /* ActiveDOMObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActiveDOMObject.h; sourceTree = "<group>"; };
+ 4D16412A0EC29E80008F024E /* ContainerNodeAlgorithms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContainerNodeAlgorithms.h; sourceTree = "<group>"; };
+ 4D16412B0EC29E80008F024E /* DedicatedWorker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DedicatedWorker.cpp; sourceTree = "<group>"; };
+ 4D16412C0EC29E80008F024E /* DedicatedWorker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DedicatedWorker.h; sourceTree = "<group>"; };
+ 4D16412D0EC29E80008F024E /* ElementRareData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElementRareData.h; sourceTree = "<group>"; };
+ 4D16412E0EC29E80008F024E /* NodeWithIndex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeWithIndex.h; sourceTree = "<group>"; };
+ 4D16412F0EC29E80008F024E /* ScriptExecutionContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptExecutionContext.cpp; sourceTree = "<group>"; };
+ 4D1641300EC29E80008F024E /* ScriptExecutionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptExecutionContext.h; sourceTree = "<group>"; };
+ 4D1641680EC29FED008F024E /* AtomicStringHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AtomicStringHash.h; sourceTree = "<group>"; };
+ 4D1641690EC29FED008F024E /* ParserUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParserUtilities.h; sourceTree = "<group>"; };
+ 4D1641790EC2A055008F024E /* AccessibilityObjectWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityObjectWrapper.h; sourceTree = "<group>"; };
+ 4D16417A0EC2A055008F024E /* FrameChromium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameChromium.h; sourceTree = "<group>"; };
4D2A63E90EBBBEDF00B55603 /* MediaPlayerPrivateChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaPlayerPrivateChromium.cpp; sourceTree = "<group>"; };
4D2A63EA0EBBBEDF00B55603 /* MediaPlayerPrivateChromium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaPlayerPrivateChromium.h; sourceTree = "<group>"; };
4D2A643A0EBBC0A700B55603 /* V8HTMLVideoElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = V8HTMLVideoElement.cpp; sourceTree = "<group>"; };
@@ -2957,7 +2997,7 @@
7B5E8F870D7F3CC1001ECF42 /* ContextMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenu.h; sourceTree = "<group>"; };
7B5E8F880D7F3CC1001ECF42 /* ContextMenuItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuItem.h; sourceTree = "<group>"; };
7B5E8F890D7F3CC1001ECF42 /* CookieJar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CookieJar.h; sourceTree = "<group>"; };
- 7B5E8F8A0D7F3CC1001ECF42 /* Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Cursor.h; path = ../../../../webkit/port/platform/Cursor.h; sourceTree = "<group>"; };
+ 7B5E8F8A0D7F3CC1001ECF42 /* Cursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cursor.h; sourceTree = "<group>"; };
7B5E8F8F0D7F3CC1001ECF42 /* DeprecatedPtrList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeprecatedPtrList.h; sourceTree = "<group>"; };
7B5E8F900D7F3CC1001ECF42 /* DeprecatedPtrListImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeprecatedPtrListImpl.cpp; sourceTree = "<group>"; };
7B5E8F910D7F3CC1001ECF42 /* DeprecatedPtrListImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeprecatedPtrListImpl.h; sourceTree = "<group>"; };
@@ -3233,10 +3273,8 @@
7B5E91F90D7F3CC3001ECF42 /* ThreadCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadCheck.h; sourceTree = "<group>"; };
7B5E91FC0D7F3CC3001ECF42 /* Timer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Timer.cpp; sourceTree = "<group>"; };
7B5E91FD0D7F3CC3001ECF42 /* Timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Timer.h; sourceTree = "<group>"; };
- 7B5E91FE0D7F3CC3001ECF42 /* TreeShared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TreeShared.h; path = ../../../../webkit/pending/TreeShared.h; sourceTree = "<group>"; };
7B5E92000D7F3CC3001ECF42 /* Widget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Widget.cpp; sourceTree = "<group>"; };
7B5E92010D7F3CC3001ECF42 /* Widget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Widget.h; sourceTree = "<group>"; };
- 7B5E92020D7F3CC3001ECF42 /* WidgetClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WidgetClient.h; sourceTree = "<group>"; };
7B5E94FD0D7F3E5B001ECF42 /* PluginInfoStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginInfoStore.h; sourceTree = "<group>"; };
7B5E95160D7F3E94001ECF42 /* AutoTableLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AutoTableLayout.cpp; sourceTree = "<group>"; };
7B5E95170D7F3E94001ECF42 /* AutoTableLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTableLayout.h; sourceTree = "<group>"; };
@@ -3980,7 +4018,7 @@
93BF8E640EA6AED30030F05C /* ResourceError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResourceError.h; path = chromium/ResourceError.h; sourceTree = "<group>"; };
93BF8E650EA6AED30030F05C /* ResourceRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResourceRequest.h; path = chromium/ResourceRequest.h; sourceTree = "<group>"; };
93BF8E660EA6AED30030F05C /* ResourceResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResourceResponse.h; path = chromium/ResourceResponse.h; sourceTree = "<group>"; };
- 93BF8F510EA6BD870030F05C /* AccessibilityObjectChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AccessibilityObjectChromium.cpp; path = chromium/AccessibilityObjectChromium.cpp; sourceTree = "<group>"; };
+ 93BF8F510EA6BD870030F05C /* AccessibilityObjectChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityObjectChromium.cpp; sourceTree = "<group>"; };
AB0240640E9565F7006D59C8 /* DocumentLoaderMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DocumentLoaderMac.cpp; path = mac/DocumentLoaderMac.cpp; sourceTree = "<group>"; };
AB332F4B0E95497E0020F882 /* AnimationController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AnimationController.cpp; path = animation/AnimationController.cpp; sourceTree = "<group>"; };
AB332F4C0E95497E0020F882 /* AnimationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationController.h; path = animation/AnimationController.h; sourceTree = "<group>"; };
@@ -4202,7 +4240,7 @@
E40060DA0EA69E0B0055B38E /* ScriptController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptController.cpp; sourceTree = "<group>"; };
E40063600EA907510055B38E /* ScriptCallContextV8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptCallContextV8.cpp; sourceTree = "<group>"; };
E40063760EA908220055B38E /* ScriptCallContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScriptCallContext.cpp; path = ../third_party/WebKit/WebCore/bindings/js/ScriptCallContext.cpp; sourceTree = SOURCE_ROOT; };
- E4006AB90EC235870055B38E /* AXObjectCacheChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AXObjectCacheChromium.cpp; path = chromium/AXObjectCacheChromium.cpp; sourceTree = "<group>"; };
+ E4006AB90EC235870055B38E /* AXObjectCacheChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AXObjectCacheChromium.cpp; sourceTree = "<group>"; };
E40FB28E0EAFF0BC006F380A /* PlatformScreenMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PlatformScreenMac.mm; path = mac/PlatformScreenMac.mm; sourceTree = "<group>"; };
E43CE1390E68621500D8C5B9 /* PausedTimeouts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PausedTimeouts.h; path = WebCore/bindings/js/PausedTimeouts.h; sourceTree = "<group>"; };
E43CE13A0E68621500D8C5B9 /* PausedTimeouts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PausedTimeouts.cpp; path = WebCore/bindings/js/PausedTimeouts.cpp; sourceTree = "<group>"; };
@@ -4240,9 +4278,9 @@
E473F6760EAE01A1006C2098 /* TextBoundariesChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextBoundariesChromium.cpp; path = chromium/TextBoundariesChromium.cpp; sourceTree = "<group>"; };
E473F6770EAE01A1006C2098 /* TextBreakIteratorInternalICUChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextBreakIteratorInternalICUChromium.cpp; path = chromium/TextBreakIteratorInternalICUChromium.cpp; sourceTree = "<group>"; };
E473F67F0EAE01BE006C2098 /* WidgetChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WidgetChromium.cpp; sourceTree = "<group>"; };
- E473F6850EAE01F5006C2098 /* EventHandlerChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EventHandlerChromium.cpp; path = chromium/EventHandlerChromium.cpp; sourceTree = "<group>"; };
- E473F6870EAE021B006C2098 /* FrameChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FrameChromium.cpp; path = chromium/FrameChromium.cpp; sourceTree = "<group>"; };
- E473F6890EAE0230006C2098 /* DragControllerChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DragControllerChromium.cpp; path = chromium/DragControllerChromium.cpp; sourceTree = "<group>"; };
+ E473F6850EAE01F5006C2098 /* EventHandlerChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventHandlerChromium.cpp; sourceTree = "<group>"; };
+ E473F6870EAE021B006C2098 /* FrameChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrameChromium.cpp; sourceTree = "<group>"; };
+ E473F6890EAE0230006C2098 /* DragControllerChromium.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DragControllerChromium.cpp; sourceTree = "<group>"; };
E48A06D80E3F840F00172919 /* image_resource_fetcher.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = image_resource_fetcher.cc; sourceTree = "<group>"; };
E48A06D90E3F840F00172919 /* image_resource_fetcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = image_resource_fetcher.h; sourceTree = "<group>"; };
E48A07220E3F95A000172919 /* NativeImageSkia.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NativeImageSkia.cpp; sourceTree = "<group>"; };
@@ -4251,7 +4289,7 @@
E49E50DE0E65E33200AD47F7 /* RenderThemeMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RenderThemeMac.mm; sourceTree = "<group>"; };
E4A238C50E3FA19C002BDE14 /* image_decoder.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = image_decoder.cc; sourceTree = "<group>"; };
E4A238C60E3FA19C002BDE14 /* image_decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = image_decoder.h; sourceTree = "<group>"; };
- E4A9708A0E36150500E8EF3B /* ChromeClientChromium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChromeClientChromium.h; path = chromium/ChromeClientChromium.h; sourceTree = "<group>"; };
+ E4A9708A0E36150500E8EF3B /* ChromeClientChromium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChromeClientChromium.h; sourceTree = "<group>"; };
E4E4C7F80E781B5B009A687C /* webplugin_impl_mac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = webplugin_impl_mac.mm; sourceTree = "<group>"; };
E4E4C8530E7832DC009A687C /* PlatformContextSkia.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlatformContextSkia.cpp; sourceTree = "<group>"; };
E4E4CA190E80208A009A687C /* FontCacheMacPending.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontCacheMacPending.cpp; sourceTree = "<group>"; };
@@ -4852,6 +4890,8 @@
7B5E89BB0D7F3A7C001ECF42 /* dom */ = {
isa = PBXGroup;
children = (
+ 4D1641280EC29E80008F024E /* ActiveDOMObject.cpp */,
+ 4D1641290EC29E80008F024E /* ActiveDOMObject.h */,
7B5E89BC0D7F3A7C001ECF42 /* Attr.cpp */,
7B5E89BD0D7F3A7C001ECF42 /* Attr.h */,
7B5E89BF0D7F3A7C001ECF42 /* Attribute.cpp */,
@@ -4879,8 +4919,11 @@
7B5E89D70D7F3A7C001ECF42 /* Comment.h */,
7B5E89D90D7F3A7C001ECF42 /* ContainerNode.cpp */,
7B5E89DA0D7F3A7C001ECF42 /* ContainerNode.h */,
+ 4D16412A0EC29E80008F024E /* ContainerNodeAlgorithms.h */,
7B5E89DB0D7F3A7C001ECF42 /* CSSMappedAttributeDeclaration.cpp */,
7B5E89DC0D7F3A7C001ECF42 /* CSSMappedAttributeDeclaration.h */,
+ 4D16412B0EC29E80008F024E /* DedicatedWorker.cpp */,
+ 4D16412C0EC29E80008F024E /* DedicatedWorker.h */,
7B5E89DD0D7F3A7C001ECF42 /* DocPtr.h */,
7B5E89DE0D7F3A7C001ECF42 /* Document.cpp */,
7B5E89DF0D7F3A7C001ECF42 /* Document.h */,
@@ -4898,6 +4941,7 @@
7B5E89F00D7F3A7C001ECF42 /* EditingText.h */,
7B5E89F10D7F3A7C001ECF42 /* Element.cpp */,
7B5E89F20D7F3A7C001ECF42 /* Element.h */,
+ 4D16412D0EC29E80008F024E /* ElementRareData.h */,
7B5E89F40D7F3A7C001ECF42 /* Entity.cpp */,
7B5E89F50D7F3A7C001ECF42 /* Entity.h */,
7B5E89F70D7F3A7C001ECF42 /* EntityReference.cpp */,
@@ -4951,6 +4995,7 @@
7B5E8A330D7F3A7C001ECF42 /* NodeList.h */,
ABBD246A0EB7B1DA00BEC658 /* NodeRareData.h */,
ABBD246B0EB7B1DA00BEC658 /* NodeRenderStyle.h */,
+ 4D16412E0EC29E80008F024E /* NodeWithIndex.h */,
7B5E8A350D7F3A7C001ECF42 /* Notation.cpp */,
7B5E8A360D7F3A7C001ECF42 /* Notation.h */,
7B5E8A380D7F3A7C001ECF42 /* OverflowEvent.cpp */,
@@ -4973,6 +5018,8 @@
7B5E8A4D0D7F3A7C001ECF42 /* RegisteredEventListener.h */,
4DB7F0FD0E9BAB5600C66CE0 /* ScriptElement.cpp */,
4DB7F0FE0E9BAB5600C66CE0 /* ScriptElement.h */,
+ 4D16412F0EC29E80008F024E /* ScriptExecutionContext.cpp */,
+ 4D1641300EC29E80008F024E /* ScriptExecutionContext.h */,
7B5E8A4E0D7F3A7C001ECF42 /* SelectorNodeList.cpp */,
7B5E8A4F0D7F3A7C001ECF42 /* SelectorNodeList.h */,
7B5E8A500D7F3A7C001ECF42 /* StaticNodeList.cpp */,
@@ -5506,11 +5553,17 @@
7B5E8E5A0D7F3C48001ECF42 /* FrameTree.h */,
7B5E8E5B0D7F3C48001ECF42 /* FrameView.cpp */,
7B5E8E5C0D7F3C48001ECF42 /* FrameView.h */,
+ 4D1640D80EC29BB4008F024E /* Geolocation.cpp */,
+ 4D1640D90EC29BB4008F024E /* Geolocation.h */,
+ 4D1640DA0EC29BB4008F024E /* Geoposition.cpp */,
+ 4D1640DB0EC29BB4008F024E /* Geoposition.h */,
7B5E8E610D7F3C48001ECF42 /* History.cpp */,
7B5E8E620D7F3C48001ECF42 /* History.h */,
7B5E8EF80D7F3C48001ECF42 /* InspectorClient.h */,
7B5E8EF90D7F3C48001ECF42 /* InspectorController.cpp */,
7B5E8EFA0D7F3C48001ECF42 /* InspectorController.h */,
+ 4D1640DC0EC29BB4008F024E /* Location.cpp */,
+ 4D1640DD0EC29BB4008F024E /* Location.h */,
7B5E8F090D7F3C49001ECF42 /* MouseEventWithHitTestResults.cpp */,
7B5E8F0A0D7F3C49001ECF42 /* MouseEventWithHitTestResults.h */,
ABA23E6B0E9FC43700C96905 /* Navigator.cpp */,
@@ -5519,8 +5572,15 @@
7B5E8F0C0D7F3C49001ECF42 /* Page.h */,
4DB7F1FB0E9BAE2900C66CE0 /* PageGroup.cpp */,
4DB7F1FC0E9BAE2900C66CE0 /* PageGroup.h */,
+ 4D1640DE0EC29BB4008F024E /* PositionCallback.h */,
+ 4D1640DF0EC29BB4008F024E /* PositionError.h */,
+ 4D1640E00EC29BB4008F024E /* PositionErrorCallback.h */,
+ 4D1640E10EC29BB4008F024E /* PositionOptions.h */,
+ 4D1640E20EC29BB4008F024E /* PrintContext.cpp */,
+ 4D1640E30EC29BB4008F024E /* PrintContext.h */,
7B5E8F130D7F3C49001ECF42 /* Screen.cpp */,
7B5E8F140D7F3C49001ECF42 /* Screen.h */,
+ 4D1640E40EC29BB4008F024E /* ScriptCallContext.h */,
7B5E918C0D7F3CC2001ECF42 /* SecurityOrigin.cpp */,
7B5E918D0D7F3CC2001ECF42 /* SecurityOrigin.h */,
7B5E918E0D7F3CC2001ECF42 /* SecurityOriginHash.h */,
@@ -5580,9 +5640,16 @@
7B5E8F9F0D7F3CC1001ECF42 /* FileChooser.h */,
7B5E8FA00D7F3CC1001ECF42 /* FileSystem.h */,
7B5E8FA10D7F3CC1001ECF42 /* FloatConversion.h */,
+ 4D1641140EC29D01008F024E /* GeolocationService.cpp */,
+ 4D1641150EC29D01008F024E /* GeolocationService.h */,
+ 4D1641160EC29D01008F024E /* HostWindow.h */,
7B5E90CC0D7F3CC2001ECF42 /* KURL.cpp */,
7B5E90CD0D7F3CC2001ECF42 /* KURL.h */,
7B5E90CF0D7F3CC2001ECF42 /* Language.h */,
+ ABBD24950EB7BFC500BEC658 /* Length.cpp */,
+ 7B5E95300D7F3E94001ECF42 /* Length.h */,
+ 4D1641170EC29D01008F024E /* LengthBox.h */,
+ 4D1641180EC29D01008F024E /* LengthSize.h */,
7B5E90D00D7F3CC2001ECF42 /* LocalizedStrings.h */,
7B5E90D20D7F3CC2001ECF42 /* Logging.cpp */,
7B5E90D30D7F3CC2001ECF42 /* Logging.h */,
@@ -5590,11 +5657,14 @@
7B5E91130D7F3CC2001ECF42 /* MIMETypeRegistry.h */,
7B5E91530D7F3CC2001ECF42 /* NotImplemented.h */,
7B5E91540D7F3CC2001ECF42 /* Pasteboard.h */,
+ 4D1641190EC29D01008F024E /* PlatformKeyboardEvent.h */,
7B5E91560D7F3CC2001ECF42 /* PlatformMenuDescription.h */,
7B5E91570D7F3CC2001ECF42 /* PlatformMouseEvent.h */,
+ 4D16411A0EC29D01008F024E /* PlatformScreen.h */,
7B5E91590D7F3CC2001ECF42 /* PlatformWheelEvent.h */,
7B5E915A0D7F3CC2001ECF42 /* PopupMenu.h */,
7B5E915B0D7F3CC2001ECF42 /* PopupMenuClient.h */,
+ 4D16411B0EC29D01008F024E /* PopupMenuStyle.h */,
7B5E91870D7F3CC2001ECF42 /* Scrollbar.cpp */,
7B5E91880D7F3CC2001ECF42 /* Scrollbar.h */,
ABBD24C10EB7C17E00BEC658 /* ScrollbarClient.h */,
@@ -5611,13 +5681,14 @@
7B5E919F0D7F3CC2001ECF42 /* SSLKeyGenerator.h */,
7B5E91A00D7F3CC2001ECF42 /* StaticConstructors.h */,
7B5E91A80D7F3CC2001ECF42 /* SystemTime.h */,
+ 4D16411C0EC29D01008F024E /* Theme.h */,
+ 4D16411D0EC29D01008F024E /* ThemeTypes.h */,
7B5E91F90D7F3CC3001ECF42 /* ThreadCheck.h */,
7B5E91FC0D7F3CC3001ECF42 /* Timer.cpp */,
7B5E91FD0D7F3CC3001ECF42 /* Timer.h */,
- 7B5E91FE0D7F3CC3001ECF42 /* TreeShared.h */,
+ 4D16411E0EC29D01008F024E /* TreeShared.h */,
7B5E92000D7F3CC3001ECF42 /* Widget.cpp */,
7B5E92010D7F3CC3001ECF42 /* Widget.h */,
- 7B5E92020D7F3CC3001ECF42 /* WidgetClient.h */,
);
path = platform;
sourceTree = "<group>";
@@ -5893,6 +5964,7 @@
7B5E91BA0D7F3CC2001ECF42 /* mac */,
7B5E91AA0D7F3CC2001ECF42 /* AtomicString.cpp */,
7B5E91AB0D7F3CC2001ECF42 /* AtomicString.h */,
+ 4D1641680EC29FED008F024E /* AtomicStringHash.h */,
7B5E91AC0D7F3CC2001ECF42 /* AtomicStringImpl.h */,
7B5E91AD0D7F3CC2001ECF42 /* Base64.cpp */,
7B5E91AE0D7F3CC2001ECF42 /* Base64.h */,
@@ -5902,15 +5974,16 @@
7B5E91B50D7F3CC2001ECF42 /* CharacterNames.h */,
7B5E91B60D7F3CC2001ECF42 /* CString.cpp */,
7B5E91B70D7F3CC2001ECF42 /* CString.h */,
+ 4D1641690EC29FED008F024E /* ParserUtilities.h */,
7B5E91C70D7F3CC2001ECF42 /* PlatformString.h */,
7B5E91CE0D7F3CC3001ECF42 /* RegularExpression.cpp */,
7B5E91CF0D7F3CC3001ECF42 /* RegularExpression.h */,
7B5E91D00D7F3CC3001ECF42 /* SegmentedString.cpp */,
7B5E91D10D7F3CC3001ECF42 /* SegmentedString.h */,
7B5E91D20D7F3CC3001ECF42 /* String.cpp */,
- B58831280E9BD6D800CEC344 /* StringBuilder.h */,
- B58831290E9BD6D800CEC344 /* StringBuilder.cpp */,
7B5E91D30D7F3CC3001ECF42 /* StringBuffer.h */,
+ B58831290E9BD6D800CEC344 /* StringBuilder.cpp */,
+ B58831280E9BD6D800CEC344 /* StringBuilder.h */,
B5C180740E95816D006EAF87 /* StringHash.h */,
7B5E91D50D7F3CC3001ECF42 /* StringImpl.cpp */,
7B5E91D60D7F3CC3001ECF42 /* StringImpl.h */,
@@ -5989,7 +6062,6 @@
isa = PBXGroup;
children = (
B5C180A00E958E85006EAF87 /* style */,
- ABBD24950EB7BFC500BEC658 /* Length.cpp */,
ABBD24960EB7BFC500BEC658 /* RenderScrollbar.cpp */,
ABBD24970EB7BFC500BEC658 /* RenderScrollbar.h */,
ABBD24980EB7BFC500BEC658 /* RenderScrollbarPart.cpp */,
@@ -6023,7 +6095,6 @@
7B5E952D0D7F3E94001ECF42 /* InlineTextBox.h */,
7B5E952E0D7F3E94001ECF42 /* LayoutState.cpp */,
7B5E952F0D7F3E94001ECF42 /* LayoutState.h */,
- 7B5E95300D7F3E94001ECF42 /* Length.h */,
7B5E95310D7F3E94001ECF42 /* ListMarkerBox.cpp */,
7B5E95320D7F3E94001ECF42 /* ListMarkerBox.h */,
7B5E95330D7F3E94001ECF42 /* MediaControlElements.cpp */,
@@ -7619,13 +7690,15 @@
isa = PBXGroup;
children = (
93BF8F510EA6BD870030F05C /* AccessibilityObjectChromium.cpp */,
+ 4D1641790EC2A055008F024E /* AccessibilityObjectWrapper.h */,
E4006AB90EC235870055B38E /* AXObjectCacheChromium.cpp */,
E4A9708A0E36150500E8EF3B /* ChromeClientChromium.h */,
E473F6890EAE0230006C2098 /* DragControllerChromium.cpp */,
E473F6850EAE01F5006C2098 /* EventHandlerChromium.cpp */,
E473F6870EAE021B006C2098 /* FrameChromium.cpp */,
+ 4D16417A0EC2A055008F024E /* FrameChromium.h */,
);
- name = chromium;
+ path = chromium;
sourceTree = "<group>";
};
93BF8E5E0EA6AEAB0030F05C /* chromium */ = {
@@ -8134,7 +8207,6 @@
7B0091370DAFEFBE00F72082 /* HTMLNames.cpp in Sources */,
7B00962A0DAFF1D000F72082 /* InspectorController.cpp in Sources */,
7B0095F10DAFF0DD00F72082 /* JSXPathNSResolver.cpp in Sources */,
- 7B0096220DAFF19C00F72082 /* Location.cpp in Sources */,
7B0095F30DAFF0DD00F72082 /* np_v8object.cpp in Sources */,
7B0095F50DAFF0DD00F72082 /* npruntime.cpp in Sources */,
7B0091390DAFEFBE00F72082 /* SVGElementFactory.cpp in Sources */,
@@ -8446,6 +8518,7 @@
4DB7F2030E9BAE2900C66CE0 /* AccessibilityTableColumn.cpp in Sources */,
4DB7F2040E9BAE2900C66CE0 /* AccessibilityTableHeaderContainer.cpp in Sources */,
4DB7F2050E9BAE2900C66CE0 /* AccessibilityTableRow.cpp in Sources */,
+ 4D1641310EC29E80008F024E /* ActiveDOMObject.cpp in Sources */,
E45624C00E268E87005E4685 /* AffineTransform.cpp in Sources */,
E45626810E268E87005E4685 /* AffineTransformCG.cpp in Sources */,
ABBD23C30EB7AC1300BEC658 /* Animation.cpp in Sources */,
@@ -8631,7 +8704,6 @@
E45623F80E268E87005E4685 /* FormatBlockCommand.cpp in Sources */,
E456251B0E268E87005E4685 /* FormData.cpp in Sources */,
E45624250E268E87005E4685 /* FormDataList.cpp in Sources */,
- E456251E0E268E87005E4685 /* FormDataStreamMac.mm in Sources */,
E45624860E268E87005E4685 /* FormState.cpp in Sources */,
E45624A40E268E87005E4685 /* Frame.cpp in Sources */,
E45624870E268E87005E4685 /* FrameLoader.cpp in Sources */,
@@ -8640,6 +8712,9 @@
E45624880E268E87005E4685 /* FTPDirectoryDocument.cpp in Sources */,
E45624890E268E87005E4685 /* FTPDirectoryParser.cpp in Sources */,
4DB7F0090E9BA3A100C66CE0 /* GeneratedImage.cpp in Sources */,
+ 4D1640E50EC29BB4008F024E /* Geolocation.cpp in Sources */,
+ 4D16411F0EC29D01008F024E /* GeolocationService.cpp in Sources */,
+ 4D1640E60EC29BB4008F024E /* Geoposition.cpp in Sources */,
E45624CC0E268E87005E4685 /* GlyphPageTreeNode.cpp in Sources */,
E45624DA0E268E87005E4685 /* GlyphPageTreeNodeMac.cpp in Sources */,
E45624CD0E268E87005E4685 /* GlyphWidthMap.cpp in Sources */,
@@ -8925,6 +9000,7 @@
ABBD23EB0EB7ACA600BEC658 /* ScaleTransformOperation.cpp in Sources */,
E45624B00E268E87005E4685 /* Screen.cpp in Sources */,
4DB7F1030E9BAB5600C66CE0 /* ScriptElement.cpp in Sources */,
+ 4D1641330EC29E80008F024E /* ScriptExecutionContext.cpp in Sources */,
E456252A0E268E87005E4685 /* Scrollbar.cpp in Sources */,
ABBD24C60EB7C17E00BEC658 /* ScrollbarThemeComposite.cpp in Sources */,
ABBD24E80EB7C35500BEC658 /* ScrollbarThemeMac.mm in Sources */,
@@ -9209,7 +9285,6 @@
B50F5BE00E96D3F800AD71A6 /* WebCoreObjCExtras.mm in Sources */,
E45625120E268E87005E4685 /* WebCoreSystemInterface.mm in Sources */,
E45625130E268E87005E4685 /* WebCoreTextRenderer.mm in Sources */,
- E456268E0E268E87005E4685 /* WebCoreURLResponse.mm in Sources */,
E45625140E268E87005E4685 /* WebCoreView.m in Sources */,
E45624AC0E268E87005E4685 /* WebCoreViewFactory.m in Sources */,
E45624AD0E268E87005E4685 /* WebDashboardRegion.m in Sources */,
@@ -9355,6 +9430,7 @@
E4E4C94A0E797648009A687C /* ImageSourceCG.cpp in Sources */,
7B2B0A630E3143EC00D4C6B7 /* JPEGImageDecoder.cpp in Sources */,
E473F64B0EADFFF8006C2098 /* Language.cpp in Sources */,
+ 4D1641090EC29C84008F024E /* Location.cpp in Sources */,
4D2A63EB0EBBBEDF00B55603 /* MediaPlayerPrivateChromium.cpp in Sources */,
E473F64E0EAE0005006C2098 /* MimeTypeRegistryChromium.cpp in Sources */,
E48A07280E3F95A000172919 /* NativeImageSkia.cpp in Sources */,