summaryrefslogtreecommitdiffstats
path: root/WebKit
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit')
-rw-r--r--WebKit/CMakeListsEfl.txt1
-rw-r--r--WebKit/ChangeLog97
-rw-r--r--WebKit/WebKit.xcodeproj/project.pbxproj30
-rw-r--r--WebKit/chromium/ChangeLog853
-rw-r--r--WebKit/chromium/DEPS4
-rw-r--r--WebKit/chromium/WebKit.gyp148
-rw-r--r--WebKit/chromium/WebKit.gypi1
-rw-r--r--WebKit/chromium/features.gypi2
-rw-r--r--WebKit/chromium/public/WebApplicationCacheHost.h44
-rw-r--r--WebKit/chromium/public/WebApplicationCacheHostClient.h3
-rw-r--r--WebKit/chromium/public/WebCommon.h2
-rw-r--r--WebKit/chromium/public/WebFileChooserParams.h2
-rw-r--r--WebKit/chromium/public/WebFormElement.h1
-rw-r--r--WebKit/chromium/public/WebIDBDatabaseError.h3
-rw-r--r--WebKit/chromium/public/WebIDBKey.h3
-rw-r--r--WebKit/chromium/public/WebMediaElement.h56
-rw-r--r--WebKit/chromium/public/WebOptionElement.h75
-rw-r--r--WebKit/chromium/public/WebPlugin.h3
-rw-r--r--WebKit/chromium/public/WebRuntimeFeatures.h3
-rw-r--r--WebKit/chromium/public/WebSelectElement.h9
-rw-r--r--WebKit/chromium/public/WebSettings.h1
-rw-r--r--WebKit/chromium/public/WebThemeEngine.h4
-rw-r--r--WebKit/chromium/public/WebURLLoaderClient.h16
-rw-r--r--WebKit/chromium/public/WebURLRequest.h5
-rw-r--r--WebKit/chromium/public/WebURLResponse.h9
-rw-r--r--WebKit/chromium/public/WebView.h10
-rw-r--r--WebKit/chromium/public/WebViewClient.h6
-rw-r--r--WebKit/chromium/src/ApplicationCacheHostInternal.h5
-rw-r--r--WebKit/chromium/src/AutoFillPopupMenuClient.cpp81
-rw-r--r--WebKit/chromium/src/AutoFillPopupMenuClient.h14
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.cpp20
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.h6
-rw-r--r--WebKit/chromium/src/ChromiumBridge.cpp8
-rw-r--r--WebKit/chromium/src/DebuggerAgentManager.cpp4
-rw-r--r--WebKit/chromium/src/EditorClientImpl.cpp6
-rw-r--r--WebKit/chromium/src/EditorClientImpl.h1
-rw-r--r--WebKit/chromium/src/GLES2Context.cpp58
-rw-r--r--WebKit/chromium/src/GLES2ContextInternal.cpp52
-rw-r--r--WebKit/chromium/src/GLES2ContextInternal.h55
-rw-r--r--WebKit/chromium/src/GraphicsContext3D.cpp60
-rw-r--r--WebKit/chromium/src/InspectorFrontendClientImpl.cpp3
-rw-r--r--WebKit/chromium/src/ResourceHandle.cpp7
-rw-r--r--WebKit/chromium/src/WebAccessibilityCacheImpl.cpp7
-rw-r--r--WebKit/chromium/src/WebDevToolsAgentImpl.cpp8
-rw-r--r--WebKit/chromium/src/WebDevToolsFrontendImpl.cpp8
-rw-r--r--WebKit/chromium/src/WebFormElement.cpp14
-rw-r--r--WebKit/chromium/src/WebFrameImpl.cpp4
-rw-r--r--WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp18
-rw-r--r--WebKit/chromium/src/WebIDBDatabaseError.cpp10
-rw-r--r--WebKit/chromium/src/WebIDBKey.cpp10
-rw-r--r--WebKit/chromium/src/WebMediaElement.cpp64
-rw-r--r--WebKit/chromium/src/WebMediaPlayerClientImpl.cpp64
-rw-r--r--WebKit/chromium/src/WebMediaPlayerClientImpl.h18
-rw-r--r--WebKit/chromium/src/WebOptionElement.cpp100
-rw-r--r--WebKit/chromium/src/WebPopupMenuImpl.cpp4
-rw-r--r--WebKit/chromium/src/WebPopupMenuImpl.h1
-rw-r--r--WebKit/chromium/src/WebRuntimeFeatures.cpp10
-rw-r--r--WebKit/chromium/src/WebSelectElement.cpp12
-rw-r--r--WebKit/chromium/src/WebSettingsImpl.cpp5
-rw-r--r--WebKit/chromium/src/WebSettingsImpl.h1
-rw-r--r--WebKit/chromium/src/WebURLRequest.cpp10
-rw-r--r--WebKit/chromium/src/WebURLRequestPrivate.h8
-rw-r--r--WebKit/chromium/src/WebURLResponse.cpp20
-rw-r--r--WebKit/chromium/src/WebURLResponsePrivate.h5
-rw-r--r--WebKit/chromium/src/WebViewImpl.cpp69
-rw-r--r--WebKit/chromium/src/WebViewImpl.h17
-rw-r--r--WebKit/chromium/src/gtk/WebFontInfo.cpp17
-rw-r--r--WebKit/chromium/src/js/DebuggerAgent.js1605
-rw-r--r--WebKit/chromium/src/js/DebuggerScript.js5
-rw-r--r--WebKit/chromium/src/js/DevTools.js106
-rw-r--r--WebKit/chromium/src/js/DevToolsHostStub.js3
-rw-r--r--WebKit/chromium/src/js/InspectorControllerImpl.js120
-rw-r--r--WebKit/chromium/src/js/Tests.js122
-rwxr-xr-xWebKit/chromium/src/js/devTools.css4
-rw-r--r--WebKit/chromium/tests/PopupMenuTest.cpp1
-rw-r--r--WebKit/efl/ChangeLog5
-rw-r--r--WebKit/efl/EWebLauncher/main.c1
-rw-r--r--WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp3
-rw-r--r--WebKit/efl/WebCoreSupport/ChromeClientEfl.h2
-rw-r--r--WebKit/efl/WebCoreSupport/EditorClientEfl.cpp5
-rw-r--r--WebKit/efl/WebCoreSupport/EditorClientEfl.h1
-rw-r--r--WebKit/efl/ewk/EWebKit.h1
-rw-r--r--WebKit/efl/ewk/ewk_cookies.cpp221
-rw-r--r--WebKit/efl/ewk/ewk_cookies.h64
-rw-r--r--WebKit/efl/ewk/ewk_view.cpp2
-rw-r--r--WebKit/gtk/ChangeLog35
-rw-r--r--WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp3
-rw-r--r--WebKit/gtk/WebCoreSupport/ChromeClientGtk.h2
-rw-r--r--WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp4
-rw-r--r--WebKit/gtk/WebCoreSupport/EditorClientGtk.h1
-rw-r--r--WebKit/gtk/po/ChangeLog9
-rw-r--r--WebKit/gtk/po/webkit.pot1076
-rw-r--r--WebKit/gtk/tests/testwebview.c5
-rw-r--r--WebKit/haiku/ChangeLog25
-rw-r--r--WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp3
-rw-r--r--WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h2
-rw-r--r--WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp6
-rw-r--r--WebKit/haiku/WebCoreSupport/EditorClientHaiku.h2
-rw-r--r--WebKit/mac/Carbon/CarbonWindowAdapter.mm6
-rw-r--r--WebKit/mac/ChangeLog310
-rw-r--r--WebKit/mac/Configurations/FeatureDefines.xcconfig1
-rw-r--r--WebKit/mac/DOM/WebDOMOperations.mm28
-rw-r--r--WebKit/mac/DOM/WebDOMOperationsPrivate.h6
-rw-r--r--WebKit/mac/Misc/WebCoreStatistics.h1
-rw-r--r--WebKit/mac/Misc/WebCoreStatistics.mm12
-rw-r--r--WebKit/mac/Misc/WebIconDatabase.mm2
-rw-r--r--WebKit/mac/Misc/WebKitNSStringExtras.h1
-rw-r--r--WebKit/mac/Misc/WebKitNSStringExtras.mm21
-rw-r--r--WebKit/mac/Misc/WebNSPasteboardExtras.mm2
-rw-r--r--WebKit/mac/Plugins/WebBaseNetscapePluginView.h4
-rw-r--r--WebKit/mac/Plugins/WebBaseNetscapePluginView.mm8
-rw-r--r--WebKit/mac/Plugins/WebPluginController.h7
-rw-r--r--WebKit/mac/Plugins/WebPluginController.mm43
-rw-r--r--WebKit/mac/WebCoreSupport/WebChromeClient.h2
-rw-r--r--WebKit/mac/WebCoreSupport/WebChromeClient.mm9
-rw-r--r--WebKit/mac/WebCoreSupport/WebEditorClient.h1
-rw-r--r--WebKit/mac/WebCoreSupport/WebEditorClient.mm4
-rw-r--r--WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h7
-rw-r--r--WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm109
-rw-r--r--WebKit/mac/WebKit.exp1
-rw-r--r--WebKit/mac/WebKit.order2
-rw-r--r--WebKit/mac/WebView/WebDataSource.mm10
-rw-r--r--WebKit/mac/WebView/WebDataSourcePrivate.h2
-rw-r--r--WebKit/mac/WebView/WebHTMLRepresentation.mm2
-rw-r--r--WebKit/mac/WebView/WebHTMLView.mm2
-rw-r--r--WebKit/mac/WebView/WebPreferenceKeysPrivate.h1
-rw-r--r--WebKit/mac/WebView/WebPreferences.mm13
-rw-r--r--WebKit/mac/WebView/WebPreferencesPrivate.h3
-rw-r--r--WebKit/mac/WebView/WebRenderLayer.h53
-rw-r--r--WebKit/mac/WebView/WebRenderLayer.mm280
-rw-r--r--WebKit/mac/WebView/WebView.mm28
-rw-r--r--WebKit/mac/WebView/WebViewData.h1
-rw-r--r--WebKit/mac/WebView/WebViewInternal.h4
-rw-r--r--WebKit/qt/Api/qgraphicswebview.cpp19
-rw-r--r--WebKit/qt/Api/qgraphicswebview.h6
-rw-r--r--WebKit/qt/ChangeLog116
-rw-r--r--WebKit/qt/WebCoreSupport/ChromeClientQt.cpp3
-rw-r--r--WebKit/qt/WebCoreSupport/ChromeClientQt.h2
-rw-r--r--WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp5
-rw-r--r--WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h2
-rw-r--r--WebKit/qt/WebCoreSupport/EditorClientQt.cpp4
-rw-r--r--WebKit/qt/WebCoreSupport/EditorClientQt.h1
-rw-r--r--WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp3
-rw-r--r--WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h1
-rw-r--r--WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp3
-rw-r--r--WebKit/qt/WebCoreSupport/PageClientQt.cpp3
-rw-r--r--WebKit/qt/WebCoreSupport/PageClientQt.h7
-rw-r--r--WebKit/qt/tests/qwebelement/tst_qwebelement.cpp4
-rw-r--r--WebKit/qt/tests/qwebpage/tst_qwebpage.cpp6
-rw-r--r--WebKit/win/ChangeLog191
-rw-r--r--WebKit/win/DOMCoreClasses.cpp13
-rw-r--r--WebKit/win/DOMCoreClasses.h3
-rw-r--r--WebKit/win/Interfaces/DOMPrivate.idl1
-rw-r--r--WebKit/win/Interfaces/IWebDataSource.idl1
-rw-r--r--WebKit/win/Interfaces/IWebPreferencesPrivate.idl3
-rw-r--r--WebKit/win/Interfaces/IWebViewPrivate.idl2
-rw-r--r--WebKit/win/Interfaces/WebKit.idl1
-rw-r--r--WebKit/win/WebCoreSupport/WebChromeClient.cpp21
-rw-r--r--WebKit/win/WebCoreSupport/WebChromeClient.h3
-rw-r--r--WebKit/win/WebCoreSupport/WebEditorClient.cpp4
-rw-r--r--WebKit/win/WebCoreSupport/WebEditorClient.h1
-rw-r--r--WebKit/win/WebDataSource.cpp10
-rw-r--r--WebKit/win/WebDataSource.h3
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit.sln469
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit.vcproj12
-rw-r--r--WebKit/win/WebPreferenceKeysPrivate.h2
-rw-r--r--WebKit/win/WebPreferences.cpp14
-rw-r--r--WebKit/win/WebPreferences.h3
-rw-r--r--WebKit/win/WebView.cpp43
-rw-r--r--WebKit/win/WebView.h9
-rw-r--r--WebKit/wx/ChangeLog25
-rw-r--r--WebKit/wx/WebKitSupport/ChromeClientWx.cpp3
-rw-r--r--WebKit/wx/WebKitSupport/ChromeClientWx.h2
-rw-r--r--WebKit/wx/WebKitSupport/EditorClientWx.cpp5
-rw-r--r--WebKit/wx/WebKitSupport/EditorClientWx.h1
175 files changed, 4283 insertions, 3452 deletions
diff --git a/WebKit/CMakeListsEfl.txt b/WebKit/CMakeListsEfl.txt
index 2fc964b..ee67d71 100644
--- a/WebKit/CMakeListsEfl.txt
+++ b/WebKit/CMakeListsEfl.txt
@@ -32,6 +32,7 @@ LIST(APPEND WebKit_SOURCES
efl/WebCoreSupport/InspectorClientEfl.cpp
efl/ewk/ewk_contextmenu.cpp
+ efl/ewk/ewk_cookies.cpp
efl/ewk/ewk_frame.cpp
efl/ewk/ewk_history.cpp
efl/ewk/ewk_main.cpp
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index bbf5170..d4d2431 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,100 @@
+2010-07-20 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix zoom in/out on EFL after r62666. The patch for adding viewport
+ missed the initialization of zoom_range.user_scalable. In case browser
+ doesn't care about the viewport and does not listen to the signal,
+ user_scalable will be always false, thus inhibiting zoom in/out.
+ https://bugs.webkit.org/show_bug.cgi?id=42656
+
+ * efl/EWebLauncher/main.c:
+ (on_viewport_changed): when listening to signal about viewport meta tag,
+ it's not sufficient to receive the parameters. One needs also to enforce
+ these parameters in WebKit.
+ * efl/ewk/ewk_view.cpp:
+ (_ewk_view_priv_new): initialize user_scalable parameter to allow
+ browser zooming in and out.
+
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * efl/WebCoreSupport/EditorClientEfl.cpp:
+ (WebCore::EditorClientEfl::willSetInputMethodState):
+ * efl/WebCoreSupport/EditorClientEfl.h:
+
+2010-07-15 Mark Rowe <mrowe@apple.com>
+
+ Update the sorting in the Xcode project files.
+
+ * WebKit.xcodeproj/project.pbxproj:
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * efl/WebCoreSupport/ChromeClientEfl.cpp:
+ (WebCore::ChromeClientEfl::setCursor):
+ * efl/WebCoreSupport/ChromeClientEfl.h:
+ Change prototype to match new one.
+
+2010-07-14 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Reviewed by Antonio Gomes.
+
+ [EFL] Add eina_safety to popup menu deletion.
+ https://bugs.webkit.org/show_bug.cgi?id=41873
+
+ Since this is a public call, it's better to have an eina_safety on
+ public calls. It would crash if browser calls this function to select
+ an item of a nonexistent popup.
+
+ * efl/ewk/ewk_view.cpp: add eina_safety to return if popup menu client does
+ not exist.
+
+2010-07-13 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/8186963> Expose RenderLayer hierarchy via Obj-C for debugging.
+
+ Add WebRenderLayer files.
+
+ * WebKit.xcodeproj/project.pbxproj:
+
+2010-07-13 Rafael Antognolli <antognolli@profusion.mobi>
+
+ Reviewed by Antonio Gomes.
+
+ This commit implements an API for configuring a path to the cookie
+ file in the Mozilla "cookies.txt" format, and functions to deal with it
+ in a more EFL like API.
+
+ [EFL] Add API for dealing with cookies in EFL port.
+ https://bugs.webkit.org/show_bug.cgi?id=41770
+
+ * CMakeListsEfl.txt:
+ * efl/ewk/EWebKit.h:
+ * efl/ewk/ewk_cookies.cpp: Added.
+ (ewk_cookies_file_set): Set a path to the file storing cookies.
+ (ewk_cookies_clear): Clear all the cookies from the current cookie jar.
+ (ewk_cookies_get_all): Get all the cookies from the current cookie jar.
+ (ewk_cookies_cookie_del): Delete a specific cookie from the cookie jar.
+ (ewk_cookies_cookie_free): Free memory used by a cookie.
+ (ewk_cookies_policy_set): Set which acceptance policy will be used.
+ (ewk_cookies_policy_get): Get current acceptance policy being used.
+ * efl/ewk/ewk_cookies.h: Added.
+ (_Ewk_Cookie::):
+
2010-07-12 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Unreviewed build fix after r60050.
diff --git a/WebKit/WebKit.xcodeproj/project.pbxproj b/WebKit/WebKit.xcodeproj/project.pbxproj
index 4c470e6..634a430 100644
--- a/WebKit/WebKit.xcodeproj/project.pbxproj
+++ b/WebKit/WebKit.xcodeproj/project.pbxproj
@@ -18,6 +18,8 @@
0ACE917310FE47E30096A45F /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0ACE917210FE47E30096A45F /* OpenGL.framework */; };
0AEBFF630F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AEBFF610F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
0AEBFF640F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0AEBFF620F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm */; };
+ 0F30985F11ECFE4500F559DF /* WebRenderLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F30985D11ECFE4400F559DF /* WebRenderLayer.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 0F30986011ECFE4500F559DF /* WebRenderLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F30985E11ECFE4500F559DF /* WebRenderLayer.mm */; };
0FD3B0F21076C3E900039B96 /* WebVideoFullscreenController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD3B0EE1076C3E900039B96 /* WebVideoFullscreenController.h */; };
0FD3B0F31076C3E900039B96 /* WebVideoFullscreenController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FD3B0EF1076C3E900039B96 /* WebVideoFullscreenController.mm */; };
0FD3B0F41076C3E900039B96 /* WebVideoFullscreenHUDWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD3B0F01076C3E900039B96 /* WebVideoFullscreenHUDWindowController.h */; };
@@ -371,6 +373,8 @@
0ACE917210FE47E30096A45F /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
0AEBFF610F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = WebNetscapeContainerCheckPrivate.h; sourceTree = "<group>"; };
0AEBFF620F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNetscapeContainerCheckPrivate.mm; sourceTree = "<group>"; };
+ 0F30985D11ECFE4400F559DF /* WebRenderLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebRenderLayer.h; sourceTree = "<group>"; };
+ 0F30985E11ECFE4500F559DF /* WebRenderLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebRenderLayer.mm; sourceTree = "<group>"; };
0FD3B0EE1076C3E900039B96 /* WebVideoFullscreenController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVideoFullscreenController.h; sourceTree = "<group>"; };
0FD3B0EF1076C3E900039B96 /* WebVideoFullscreenController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebVideoFullscreenController.mm; sourceTree = "<group>"; };
0FD3B0F01076C3E900039B96 /* WebVideoFullscreenHUDWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVideoFullscreenHUDWindowController.h; sourceTree = "<group>"; };
@@ -726,13 +730,13 @@
files = (
939811290824BF01008DF038 /* Carbon.framework in Frameworks */,
9398112A0824BF01008DF038 /* Cocoa.framework in Frameworks */,
+ CD8EAC7311CAC9A300774075 /* IOKit.framework in Frameworks */,
9398112B0824BF01008DF038 /* JavaScriptCore.framework in Frameworks */,
9398112E0824BF01008DF038 /* libicucore.dylib in Frameworks */,
0ACE917310FE47E30096A45F /* OpenGL.framework in Frameworks */,
1A20D08B0ED384F20043FA9F /* QuartzCore.framework in Frameworks */,
9398112F0824BF01008DF038 /* Security.framework in Frameworks */,
9398112C0824BF01008DF038 /* WebCore.framework in Frameworks */,
- CD8EAC7311CAC9A300774075 /* IOKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -778,9 +782,9 @@
0867D69AFE84028FC02AAC07 /* Frameworks and Libraries */ = {
isa = PBXGroup;
children = (
- CD8EAC7211CAC9A300774075 /* IOKit.framework */,
F5C2869402846DCD018635CA /* Carbon.framework */,
F5C2869502846DCD018635CA /* Cocoa.framework */,
+ CD8EAC7211CAC9A300774075 /* IOKit.framework */,
F738C9E903FAD3DF0321FBE0 /* JavaScriptCore.framework */,
93D623DD051E791F002F47DD /* libicucore.dylib */,
0ACE917210FE47E30096A45F /* OpenGL.framework */,
@@ -960,8 +964,8 @@
F59668C802AD2923018635CA /* WebStringTruncator.h */,
F59668C902AD2923018635CA /* WebStringTruncator.mm */,
DD7CDEE60A23BA9E00069928 /* WebTypesInternal.h */,
- C0C5B3ED1177A4A0002B0AEF /* WebUserContentURLPattern.mm */,
C0C5B3EC1177A4A0002B0AEF /* WebUserContentURLPattern.h */,
+ C0C5B3ED1177A4A0002B0AEF /* WebUserContentURLPattern.mm */,
);
name = Misc;
path = mac/Misc;
@@ -1057,8 +1061,6 @@
1A9C78030EBBC455008599D4 /* Events */,
1A1F91430ECBB16F006351DA /* Hosted */,
F5F717230288493C018635CA /* npapi.mm */,
- F5A672B90263866E01000102 /* WebNetscapePluginStream.h */,
- F5A672BA0263866E01000102 /* WebNetscapePluginStream.mm */,
1A4DF5E20EC8D104006BD4B4 /* WebBaseNetscapePluginView.h */,
1A4DF5E30EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm */,
0AB752350FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h */,
@@ -1069,6 +1071,8 @@
226E9E6809D0AA8200F3A2BC /* WebNetscapeDeprecatedFunctions.h */,
F5F7171E0288493C018635CA /* WebNetscapePluginPackage.h */,
F5F7171F0288493C018635CA /* WebNetscapePluginPackage.mm */,
+ F5A672B90263866E01000102 /* WebNetscapePluginStream.h */,
+ F5A672BA0263866E01000102 /* WebNetscapePluginStream.mm */,
1A4DF5200EC8C74D006BD4B4 /* WebNetscapePluginView.h */,
1A4DF5210EC8C74D006BD4B4 /* WebNetscapePluginView.mm */,
1A77B02C0EE7730500C8A1F9 /* WebPluginRequest.h */,
@@ -1148,6 +1152,8 @@
3944606E020F50ED0ECA1767 /* WebPreferences.h */,
F5AEBB3D024A527601C1A526 /* WebPreferences.mm */,
9CAE9D070252A4130ECA16EA /* WebPreferencesPrivate.h */,
+ 0F30985D11ECFE4400F559DF /* WebRenderLayer.h */,
+ 0F30985E11ECFE4500F559DF /* WebRenderLayer.mm */,
F5F81C3902B67C26018635CA /* WebRenderNode.h */,
F5F81C3A02B67C26018635CA /* WebRenderNode.mm */,
84311A1205EAAAF00088EDA4 /* WebResource.h */,
@@ -1370,7 +1376,6 @@
939810110824BF01008DF038 /* WebBackForwardList.h in Headers */,
51C714FB0B20F79F00E5E33C /* WebBackForwardListInternal.h in Headers */,
22F219CC08D236730030E078 /* WebBackForwardListPrivate.h in Headers */,
- 9398102B0824BF01008DF038 /* WebNetscapePluginStream.h in Headers */,
1A4DF5E40EC8D104006BD4B4 /* WebBaseNetscapePluginView.h in Headers */,
9398102E0824BF01008DF038 /* WebBasePluginPackage.h in Headers */,
5241ADF50B1BC48A004012BD /* WebCache.h in Headers */,
@@ -1473,6 +1478,7 @@
1AEA66D80DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.h in Headers */,
1AEA6A500DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.h in Headers */,
939810310824BF01008DF038 /* WebNetscapePluginPackage.h in Headers */,
+ 9398102B0824BF01008DF038 /* WebNetscapePluginStream.h in Headers */,
1A4DF5220EC8C74D006BD4B4 /* WebNetscapePluginView.h in Headers */,
1C68F66F095B5FC100C2984E /* WebNodeHighlight.h in Headers */,
1C68F671095B5FC100C2984E /* WebNodeHighlightView.h in Headers */,
@@ -1499,6 +1505,7 @@
37B6FB4E1063530C000FDB3B /* WebPDFDocumentExtras.h in Headers */,
939810A50824BF01008DF038 /* WebPDFRepresentation.h in Headers */,
939810A40824BF01008DF038 /* WebPDFView.h in Headers */,
+ 1AA879B611CBE9BF003C664F /* WebPlatformStrategies.h in Headers */,
939810350824BF01008DF038 /* WebPlugin.h in Headers */,
939810360824BF01008DF038 /* WebPluginContainer.h in Headers */,
939810B10824BF01008DF038 /* WebPluginContainerCheck.h in Headers */,
@@ -1517,6 +1524,7 @@
939810A80824BF01008DF038 /* WebPreferenceKeysPrivate.h in Headers */,
9398105D0824BF01008DF038 /* WebPreferences.h in Headers */,
9398105E0824BF01008DF038 /* WebPreferencesPrivate.h in Headers */,
+ 0F30985F11ECFE4500F559DF /* WebRenderLayer.h in Headers */,
9398105F0824BF01008DF038 /* WebRenderNode.h in Headers */,
939810880824BF01008DF038 /* WebResource.h in Headers */,
934C4AA00F0141F7009372C0 /* WebResourceInternal.h in Headers */,
@@ -1539,6 +1547,7 @@
939810750824BF01008DF038 /* WebUIDelegate.h in Headers */,
939810830824BF01008DF038 /* WebUIDelegatePrivate.h in Headers */,
939810150824BF01008DF038 /* WebURLsWithTitles.h in Headers */,
+ C0C5B3EE1177A4A0002B0AEF /* WebUserContentURLPattern.h in Headers */,
0FD3B0F21076C3E900039B96 /* WebVideoFullscreenController.h in Headers */,
0FD3B0F41076C3E900039B96 /* WebVideoFullscreenHUDWindowController.h in Headers */,
939810700824BF01008DF038 /* WebView.h in Headers */,
@@ -1548,8 +1557,6 @@
939810710824BF01008DF038 /* WebViewPrivate.h in Headers */,
0FD3B0F81076C3F700039B96 /* WebWindowAnimation.h in Headers */,
41F4484F10338E8C0030E55E /* WebWorkersPrivate.h in Headers */,
- C0C5B3EE1177A4A0002B0AEF /* WebUserContentURLPattern.h in Headers */,
- 1AA879B611CBE9BF003C664F /* WebPlatformStrategies.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1789,7 +1796,6 @@
9398111D0824BF01008DF038 /* WebArchive.mm in Sources */,
939810CF0824BF01008DF038 /* WebAuthenticationPanel.m in Sources */,
939810BC0824BF01008DF038 /* WebBackForwardList.mm in Sources */,
- 939810D10824BF01008DF038 /* WebNetscapePluginStream.mm in Sources */,
1A4DF5E50EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm in Sources */,
939810D30824BF01008DF038 /* WebBasePluginPackage.mm in Sources */,
5241ADF60B1BC48A004012BD /* WebCache.mm in Sources */,
@@ -1851,6 +1857,7 @@
1AEA66D90DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.mm in Sources */,
1AEA6A510DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.mm in Sources */,
939810D60824BF01008DF038 /* WebNetscapePluginPackage.mm in Sources */,
+ 939810D10824BF01008DF038 /* WebNetscapePluginStream.mm in Sources */,
1A4DF5230EC8C74D006BD4B4 /* WebNetscapePluginView.mm in Sources */,
1C68F670095B5FC100C2984E /* WebNodeHighlight.mm in Sources */,
1C68F672095B5FC100C2984E /* WebNodeHighlightView.mm in Sources */,
@@ -1876,6 +1883,7 @@
37B6FB4F1063530C000FDB3B /* WebPDFDocumentExtras.mm in Sources */,
9398111F0824BF01008DF038 /* WebPDFRepresentation.mm in Sources */,
9398111E0824BF01008DF038 /* WebPDFView.mm in Sources */,
+ 1AA879B711CBE9BF003C664F /* WebPlatformStrategies.mm in Sources */,
939811260824BF01008DF038 /* WebPluginContainerCheck.mm in Sources */,
939810DA0824BF01008DF038 /* WebPluginController.mm in Sources */,
939810DB0824BF01008DF038 /* WebPluginDatabase.mm in Sources */,
@@ -1885,6 +1893,7 @@
224100F90918190100D2D266 /* WebPluginsPrivate.m in Sources */,
939811080824BF01008DF038 /* WebPolicyDelegate.mm in Sources */,
939810F80824BF01008DF038 /* WebPreferences.mm in Sources */,
+ 0F30986011ECFE4500F559DF /* WebRenderLayer.mm in Sources */,
939810F90824BF01008DF038 /* WebRenderNode.mm in Sources */,
9398111A0824BF01008DF038 /* WebResource.mm in Sources */,
7E6FEF0908985A7200C44C3F /* WebScriptDebugDelegate.mm in Sources */,
@@ -1898,6 +1907,7 @@
1A74A28F0F4F75400082E228 /* WebTextInputWindowController.m in Sources */,
F834AAD80E64B1C700E2737C /* WebTextIterator.mm in Sources */,
939810BE0824BF01008DF038 /* WebURLsWithTitles.m in Sources */,
+ C0C5B3EF1177A4A0002B0AEF /* WebUserContentURLPattern.mm in Sources */,
0FD3B0F31076C3E900039B96 /* WebVideoFullscreenController.mm in Sources */,
0FD3B0F51076C3E900039B96 /* WebVideoFullscreenHUDWindowController.mm in Sources */,
939811070824BF01008DF038 /* WebView.mm in Sources */,
@@ -1906,8 +1916,6 @@
939810E80824BF01008DF038 /* WebViewFactory.mm in Sources */,
0FD3B0F91076C3F700039B96 /* WebWindowAnimation.m in Sources */,
41F4485010338E8C0030E55E /* WebWorkersPrivate.mm in Sources */,
- C0C5B3EF1177A4A0002B0AEF /* WebUserContentURLPattern.mm in Sources */,
- 1AA879B711CBE9BF003C664F /* WebPlatformStrategies.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 4356f21..009dc60 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,856 @@
+2010-07-21 Bo Liu <boliu@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Add chromium WebMediaPlayer to PlatformMedia
+ https://bugs.webkit.org/show_bug.cgi?id=41295
+
+ * WebKit.gyp:
+ * public/WebMediaElement.h: Added.
+ * src/WebMediaElement.cpp: Added.
+ (WebKit::WebMediaElement::player):
+ (WebKit::WebMediaElement::WebMediaElement):
+ (WebKit::WebMediaElement::operator=):
+ (WebKit::WebMediaElement::operator PassRefPtr<HTMLMediaElement>):
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::fromMediaElement):
+ (WebKit::WebMediaPlayerClientImpl::mediaPlayer):
+ (WebKit::WebMediaPlayerClientImpl::platformLayer):
+ (WebKit::WebMediaPlayerClientImpl::platformMedia):
+ * src/WebMediaPlayerClientImpl.h:
+
+2010-07-21 Finnur Thorarinsson <finnur.webkit@gmail.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Avoid crashing during find-in-page when |view| is NULL.
+ https://bugs.webkit.org/show_bug.cgi?id=42760
+
+ There are no layout tests because we don't have a repro case
+ to work with, so this is a speculative fix based on crash dump
+ diagnosis. See bug for details.
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::shouldScopeMatches):
+
+2010-07-21 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Runtime feature switch for device orientation
+ https://bugs.webkit.org/show_bug.cgi?id=42265
+
+ Add a runtime feature switch that decides whether device orientation
+ events are available or not. Defaults to true.
+
+ * public/WebRuntimeFeatures.h:
+ * src/WebRuntimeFeatures.cpp:
+ (WebKit::WebRuntimeFeatures::enableDeviceOrientation):
+ (WebKit::WebRuntimeFeatures::isDeviceOrientationEnabled):
+
+2010-07-21 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: should be possible to debug inspector
+ https://bugs.webkit.org/show_bug.cgi?id=42730
+
+ * src/WebDevToolsFrontendImpl.cpp:
+ (WebKit::WebDevToolsFrontendImpl::WebDevToolsFrontendImpl):
+
+2010-07-16 James Hawkins <jhawkins@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Implement WebFormElement::wasUserSubmitted(). This is used to
+ verify that the user submitted the form instead of JS when saving form
+ data in AutoFill.
+ https://bugs.webkit.org/show_bug.cgi?id=42479
+
+ * public/WebFormElement.h:
+ * src/WebFormElement.cpp:
+ (WebKit::WebFormElement::wasUserSubmitted):
+
+2010-07-20 Daniel Erat <derat@chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ Subpixel rendering always disabled for Chromium Linux
+ https://bugs.webkit.org/show_bug.cgi?id=42220
+
+ Honor Fontconfig subpixel rendering setting on Chromium Linux.
+
+ * src/gtk/WebFontInfo.cpp:
+ (WebKit::WebFontInfo::renderStyleForStrike):
+
+2010-07-20 Darin Fisher <darin@chromium.org>
+
+ Fix Chromium build bustage.
+
+ * src/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::hasAuthenticationChallenge): Add
+ implementation of this method that always returns false.
+
+2010-07-20 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Jian Li.
+
+ [Chromium] Add interface for downloading to a file. This can be used
+ in the future to support XMLHttpRequest.responseBlob, but it also
+ serves a use case in Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42657
+
+ * public/WebURLLoaderClient.h:
+ (WebKit::WebURLLoaderClient::willSendRequest):
+ (WebKit::WebURLLoaderClient::didSendData):
+ (WebKit::WebURLLoaderClient::didReceiveResponse):
+ (WebKit::WebURLLoaderClient::didDownloadData):
+ (WebKit::WebURLLoaderClient::didReceiveData):
+ (WebKit::WebURLLoaderClient::didFinishLoading):
+ (WebKit::WebURLLoaderClient::didFail):
+ * public/WebURLRequest.h:
+ * public/WebURLResponse.h:
+ * src/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::downloadToFile):
+ (WebKit::WebURLRequest::setDownloadToFile):
+ * src/WebURLRequestPrivate.h:
+ (WebKit::WebURLRequestPrivate::WebURLRequestPrivate):
+ * src/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::downloadFilePath):
+ (WebKit::WebURLResponse::setDownloadFilePath):
+ * src/WebURLResponsePrivate.h:
+
+2010-07-20 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r63750.
+ http://trac.webkit.org/changeset/63750
+ https://bugs.webkit.org/show_bug.cgi?id=42648
+
+ This revision breaks the windows builds (Requested by
+ hwennborg on #webkit).
+
+ * public/WebRuntimeFeatures.h:
+ * src/WebRuntimeFeatures.cpp:
+
+2010-07-19 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Add webkit api reset to WebIDBDatabaseError and WebIDBKey
+ and refactor their destructors for chromium multi dll build.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42574
+
+ * public/WebIDBDatabaseError.h:
+ (WebKit::WebIDBDatabaseError::~WebIDBDatabaseError):
+ * public/WebIDBKey.h:
+ (WebKit::WebIDBKey::~WebIDBKey):
+ * src/WebIDBDatabaseError.cpp:
+ (WebKit::WebIDBDatabaseError::reset):
+ * src/WebIDBKey.cpp:
+ (WebKit::WebIDBKey::reset):
+
+2010-07-20 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Runtime feature switch for device orientation
+ https://bugs.webkit.org/show_bug.cgi?id=42265
+
+ Add a runtime feature switch that decides whether device orientation
+ events are available or not. Defaults to true.
+
+ * public/WebRuntimeFeatures.h:
+ * src/WebRuntimeFeatures.cpp:
+ (WebKit::WebRuntimeFeatures::enableDeviceOrientation):
+ (WebKit::WebRuntimeFeatures::isDeviceOrientationEnabled):
+
+2010-07-19 Victoria Kirst <vrk@google.com>
+
+ Reviewed by David Levin.
+
+ Updated WebMediaPlayer to support accelerated rendering and to
+ create and return a VideoChromiumLayer as its platform layer.
+ https://bugs.webkit.org/show_bug.cgi?id=42234
+
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::platformLayer):
+ (WebKit::WebMediaPlayerClientImpl::create):
+ * src/WebMediaPlayerClientImpl.h:
+ (WebKit::WebMediaPlayerClientImpl::supportsAcceleratedRendering):
+
+2010-07-19 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Nate Chapin.
+
+ WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
+ https://bugs.webkit.org/show_bug.cgi?id=34719
+
+ Fixed compiler warning introduced by original patch.
+
+ * src/WebGraphicsContext3DDefaultImpl.cpp:
+ (WebKit::WebGraphicsContext3DDefaultImpl::readBackFramebuffer):
+
+2010-07-19 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] refactor npapi plugin copy step
+ https://bugs.webkit.org/show_bug.cgi?id=42493
+
+ This is to avoid duplicate copy rules in the Linux make build.
+
+ * WebKit.gyp:
+ * DEPS: 52483:52869
+
+2010-07-19 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Live edit is not working in chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=42572
+
+ * src/js/DebuggerScript.js:
+
+2010-07-16 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ [V8] Web Inspector: get actual breakpoint location from v8 and pass it
+ to ScripDebugServer.
+ https://bugs.webkit.org/show_bug.cgi?id=42452
+
+ * src/js/DebuggerScript.js:
+
+2010-07-17 John Gregg <johnnyg@google.com>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] directory upload: pass the attribute up to the chrome client
+ https://bugs.webkit.org/show_bug.cgi?id=42475
+
+ This allows chromium to display the native system directory picker when
+ the directory attribute is present on the input element.
+
+ * public/WebFileChooserParams.h:
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::runOpenPanel):
+
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Implement EditorClient::willSetInputMethodState which replaces
+ setInputMethodState method.
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::willSetInputMethodState):
+ (WebKit::EditorClientImpl::setInputMethodState):
+ * src/EditorClientImpl.h:
+
+2010-07-16 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] <input type=number> UI implementation for Windows
+ https://bugs.webkit.org/show_bug.cgi?id=42259
+
+ * public/WebThemeEngine.h:
+ (WebKit::WebThemeEngine::paintSpinButton): Added.
+ * src/ChromiumBridge.cpp:
+ (WebCore::ChromiumBridge::paintSpinButton):
+ Added. It calls WebThemeEngine::paintSpinButton().
+
+2010-07-16 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Avoid crashing if offscreen GLES2 context creation fails
+ https://bugs.webkit.org/show_bug.cgi?id=42469
+
+ If creating or initializing an offscreen GLES2Context fails we should return null
+ rather than crashing or returning an invalid context.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::getOffscreenGLES2Context):
+
+2010-07-15 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Enable window.webkitPerformance (Web Timing) for chromium
+ https://bugs.webkit.org/show_bug.cgi?id=42313
+
+ * features.gypi:
+
+2010-07-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r63551.
+ http://trac.webkit.org/changeset/63551
+ https://bugs.webkit.org/show_bug.cgi?id=42460
+
+ "Problems with gyp" (Requested by yurys on #webkit).
+
+ * DEPS:
+
+2010-07-16 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Bump up Chromium revision.
+
+ * DEPS:
+
+2010-07-16 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: disable AppCache in chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41858
+
+ * src/js/DevTools.js:
+ (WebInspector.loaded):
+
+2010-07-16 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [Chromium] A non-existent resource is referenced from devTools.css
+
+ The erroneous rule has been removed.
+ https://bugs.webkit.org/show_bug.cgi?id=42454
+
+ * src/js/devTools.css:
+
+2010-07-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Check that end node of a range has a valid renderer in WebViewImpl::caretOrSelectionBounds()
+ to avoid crash in Position::getInlineBoxAndOffset() when start node has renderer but end one doesn't.
+ https://bugs.webkit.org/show_bug.cgi?id=42449
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::caretOrSelectionBounds):
+
+2010-07-16 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Make JS memory stats available via 'Performance' object (Web Timing).
+ This statistics is populated only if 'WebKitMemoryInfoEnabled'
+ preference is set.
+
+ 'console.memory' is kept until Web Timing object becomes visible by
+ default (currently it is hidden under compile-time flag). These stats
+ are guarded with the same preference.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41617
+
+ * public/WebSettings.h:
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setMemoryInfoEnabled):
+ * src/WebSettingsImpl.h:
+
+2010-07-15 Victor Wang <victorw@chromium.org>
+
+ Reviewed by David Levin.
+
+ [Chromium] Chromium webkit dll updates:
+ -. Fix WEBKIT_IMPLEMENTATION in WebCommon so
+ dllimport works as expected.
+ -. Update webkit.gyp so targets that depend on webkit
+ has correct macros defined.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42177
+
+ * WebKit.gyp:
+ * public/WebCommon.h:
+
+2010-07-13 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Nate Chapin.
+
+ WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
+ https://bugs.webkit.org/show_bug.cgi?id=34719
+
+ * src/GraphicsContext3D.cpp:
+ (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas().
+ (WebCore::GraphicsContext3DInternal::beginPaint): Just use paintRenderingResultsToCanvas().
+
+2010-07-15 Victor Wang <victorw@chromium.org>
+
+ Reviewed by David Levin.
+
+ Roll Chromium DEPS forward to r52483.
+ https://bugs.webkit.org/show_bug.cgi?id=42386
+
+ * DEPS:
+
+2010-07-15 Scott Violet <sky@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] WebViewClient::removeAutofillSuggestions is not passed the correct name
+ https://bugs.webkit.org/show_bug.cgi?id=42385
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::autocompleteHandleKeyEvent): Use WebInputElement::nameForAutofill() instead of name.
+
+2010-07-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r63446.
+ http://trac.webkit.org/changeset/63446
+ https://bugs.webkit.org/show_bug.cgi?id=42412
+
+ It broke the Chromium Windows bot due to missing dependencies
+ there. (Requested by dave_levin on #webkit).
+
+ * DEPS:
+
+2010-07-15 Victor Wang <victorw@chromium.org>
+
+ Reviewed by David Levin.
+
+ Roll Chromium DEPS forward to r52483.
+ https://bugs.webkit.org/show_bug.cgi?id=42386
+
+ * DEPS:
+
+2010-07-15 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Darin Fisher.
+
+ WebKitAPI additions to support inspecting application caches.
+ https://bugs.webkit.org/show_bug.cgi?id=41993
+
+ * public/WebApplicationCacheHost.h:
+ (WebKit::WebApplicationCacheHost::CacheInfo::CacheInfo):
+ (WebKit::WebApplicationCacheHost::ResourceInfo::ResourceInfo):
+ (WebKit::WebApplicationCacheHost::getAssociatedCacheInfo):
+ (WebKit::WebApplicationCacheHost::getResourceList):
+ (WebKit::WebApplicationCacheHost::deleteAssociatedCacheGroup):
+ * public/WebApplicationCacheHostClient.h:
+ (WebKit::WebApplicationCacheHostClient::didChangeCacheAssociation):
+ * src/ApplicationCacheHostInternal.h:
+ (WebCore::ApplicationCacheHostInternal::didChangeCacheAssociation):
+
+2010-07-15 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: differentiate between blocking and connecting timers.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42372
+
+ * public/WebURLResponse.h:
+ * src/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::connectionReused):
+ (WebKit::WebURLResponse::setConnectionReused):
+
+2010-07-15 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Fix mac compilation failure
+ https://bugs.webkit.org/show_bug.cgi?id=42344
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::removeSuggestionAtIndex):
+ (WebKit::AutoFillPopupMenuClient::canRemoveSuggestionAtIndex):
+
+2010-07-14 George Yakovlev <georgey@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Allow Chromium access to Select control choices
+ https://bugs.webkit.org/show_bug.cgi?id=41384
+
+ * WebKit.gyp:
+ * public/WebOptionElement.h: Added.
+ (WebKit::WebOptionElement::WebOptionElement):
+ (WebKit::WebOptionElement::operator=):
+ (WebKit::WebOptionElement::assign):
+ * public/WebSelectElement.h:
+ * src/WebOptionElement.cpp: Added.
+ (WebKit::WebOptionElement::setValue):
+ (WebKit::WebOptionElement::value):
+ (WebKit::WebOptionElement::index):
+ (WebKit::WebOptionElement::text):
+ (WebKit::WebOptionElement::defaultSelected):
+ (WebKit::WebOptionElement::setDefaultSelected):
+ (WebKit::WebOptionElement::label):
+ (WebKit::WebOptionElement::disabled):
+ (WebKit::WebOptionElement::WebOptionElement):
+ (WebKit::WebOptionElement::operator=):
+ (WebKit::WebOptionElement::operator PassRefPtr<HTMLOptionElement>):
+ * src/WebSelectElement.cpp:
+ (WebKit::WebSelectElement::listItems):
+
+2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r63389.
+ http://trac.webkit.org/changeset/63389
+ https://bugs.webkit.org/show_bug.cgi?id=42311
+
+ It broke the Chromium Linux build. (Requested by dave_levin on
+ #webkit).
+
+ * DEPS:
+ * WebKit.gyp:
+ * public/WebCommon.h:
+
+2010-07-14 Scott Violet <sky@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] Autofill menu shows seperator at the wrong place when an entry is deleted
+ https://bugs.webkit.org/show_bug.cgi?id=42210
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::removeSuggestionAtIndex): Updates internal data appropriately.
+ (WebKit::AutoFillPopupMenuClient::canRemoveSuggestionAtIndex): Now called before removal to see if can remove.
+ * src/AutoFillPopupMenuClient.h: Fixed whitespace and added method.
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::autocompleteHandleKeyEvent): Added call to canRemoveSuggestionAtIndex.
+
+2010-07-14 James Robinson <jamesr@chromium.org>
+
+ Unreviewed. Compile fix, initialization/declaration order mismatch.
+
+ * src/GLES2ContextInternal.h:
+
+2010-07-14 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by David Levin.
+
+ [chromium] don't restrict the width of the autofill popup.
+ https://bugs.webkit.org/show_bug.cgi?id=42206
+
+ * src/WebViewImpl.cpp:
+
+2010-07-14 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Chromium webkit dll updates:
+ -. Fix WEBKIT_IMPLEMENTATION in WebCommon so
+ dllimport works as expected.
+ -. Update webkit.gyp so targets that depend on webkit
+ has correct macros defined.
+ -. Roll forward chromium deps to r52273.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42177
+
+ * DEPS:
+ * WebKit.gyp:
+ * public/WebCommon.h:
+
+2010-07-14 James Hawkins <jhawkins@chromium.org>
+
+ UNREVIEWED Build Fix.
+
+ Fix a typo.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::applyAutoFillSuggestions):
+
+2010-07-14 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Breaks all dependencies on Page from platform/ and cleans up GLES2Context lifetime
+ https://bugs.webkit.org/show_bug.cgi?id=42203
+
+ Rather than constructing a GLES2Context from a Page, pass the LayerRendererChromium
+ a GLES2Context in from the constructor. This way the platform/ directory can remain
+ ignorant of Page and friends. Also adds functions on ChromeClientChromium to request
+ onscreen and offscreen GLES2Contexts for callers in WebCore that need them.
+
+ * WebKit.gyp:
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::getOnscreenGLES2Context):
+ (WebKit::ChromeClientImpl::getOffscreenGLES2Context):
+ * src/ChromeClientImpl.h:
+ * src/GLES2Context.cpp:
+ (WebCore::GLES2ContextInternal::create):
+ (WebCore::GLES2Context::create):
+ (WebCore::GLES2Context::GLES2Context):
+ * src/GLES2ContextInternal.cpp: Added.
+ (WebCore::GLES2ContextInternal::~GLES2ContextInternal):
+ * src/GLES2ContextInternal.h: Added.
+ (WebCore::GLES2ContextInternal::getWebGLES2Context):
+ (WebCore::GLES2ContextInternal::GLES2ContextInternal):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit::WebViewImpl::getOnscreenGLES2Context):
+ (WebKit::WebViewImpl::getOffscreenGLES2Context):
+ * src/WebViewImpl.h:
+
+2010-07-14 James Hawkins <jhawkins@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Use the unique ID instead of the profile label to identify
+ the accepted AutoFill suggestion.
+ https://bugs.webkit.org/show_bug.cgi?id=42301
+
+ * public/WebView.h:
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::didAcceptAutoFillSuggestion):
+ (WebKit::WebViewClient::didSelectAutoFillSuggestion):
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::valueChanged):
+ (WebKit::AutoFillPopupMenuClient::selectionChanged):
+ (WebKit::AutoFillPopupMenuClient::initialize):
+ (WebKit::AutoFillPopupMenuClient::setSuggestions):
+ (WebKit::AutoFillPopupMenuClient::textFieldStyle):
+ * src/AutoFillPopupMenuClient.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::applyAutoFillSuggestions):
+ (WebKit::WebViewImpl::applyAutocompleteSuggestions):
+ * src/WebViewImpl.h:
+
+2010-07-14 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Don't notify the WebView that the popup has been closed when the
+ selection is cleared, as the popup is not gone and would linger
+ as a ghost popup.
+ https://bugs.webkit.org/show_bug.cgi?id=42180
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::selectionCleared):
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Fix the chromium mac build.
+
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::setCursor):
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * src/ChromeClientImpl.h:
+ (WebKit::ChromeClientImpl::setCursor):
+ Change prototype to match new one.
+
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::setCursor):
+ * src/WebPopupMenuImpl.h:
+ Add empty setCursor function to satisfy the HostWindow interface.
+
+2010-07-13 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42201
+ Use ResourceHandle object for synchronous loading
+
+ * src/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::request):
+ This method is no longer const in cross-platform code, and is called firstRequest.
+
+2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r63305.
+ http://trac.webkit.org/changeset/63305
+ https://bugs.webkit.org/show_bug.cgi?id=42256
+
+ "debugger-breakpoints-not-activated-on-reload.html fails on
+ GTK" (Requested by yurys on #webkit).
+
+ * src/js/DebuggerScript.js:
+ ():
+
+2010-07-14 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer
+ https://bugs.webkit.org/show_bug.cgi?id=42164
+
+ * WebKit.gypi:
+ * src/DebuggerAgentManager.cpp:
+ (WebKit::DebuggerAgentManager::debugAttach):
+ (WebKit::DebuggerAgentManager::debugDetach):
+ * src/InspectorFrontendClientImpl.cpp:
+ (WebKit::InspectorFrontendClientImpl::windowObjectCleared):
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::~WebDevToolsAgentImpl):
+ (WebKit::WebDevToolsAgentImpl::attach):
+ (WebKit::WebDevToolsAgentImpl::didNavigate):
+ (WebKit::WebDevToolsAgentImpl::createInspectorFrontendProxy):
+ * src/js/DebuggerAgent.js: Removed.
+ * src/js/DevTools.js:
+ (devtools.ToolsAgent):
+ (WebInspector.loaded):
+ * src/js/DevToolsHostStub.js:
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+ * src/js/Tests.js:
+ (.TestSuite.prototype.testAutoContinueOnSyntaxError):
+ (.TestSuite.prototype.testExpandScope.examineScopes):
+ (.TestSuite.prototype.testExpandScope):
+ (.TestSuite.prototype.testDebugIntrinsicProperties):
+
+2010-07-14 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector: Clean-up InspectorBackend code. In the next changes
+ InspectorBackend content will be generated by scripts. As far as
+ generator is very simple thing all nontrivial function should be
+ moved to InspectorController and DOMAgent.
+ https://bugs.webkit.org/show_bug.cgi?id=42171
+
+ * src/js/InspectorControllerImpl.js:
+ (devtools.InspectorBackendImpl):
+ (.devtools.InspectorBackendImpl.prototype.pause):
+ (.devtools.InspectorBackendImpl.prototype.resume):
+ (.devtools.InspectorBackendImpl.prototype.stepIntoStatement):
+ (.devtools.InspectorBackendImpl.prototype.stepOutOfFunction):
+ (.devtools.InspectorBackendImpl.prototype.stepOverStatement):
+ (else.devtools.InspectorBackendImpl.prototype.pause):
+
+2010-07-14 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: if breakpoints were deactivated, add new breakpoints as disabled.
+ https://bugs.webkit.org/show_bug.cgi?id=41461
+
+ * src/js/DebuggerScript.js:
+ ():
+
+2010-07-14 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed, 2nd attempt to fix build on 'Webkit.org Reliability Builder'.
+
+ * WebKit.gyp:
+
+2010-07-14 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed, attempt to fix build on 'Webkit.org Reliability Builder'.
+
+ * WebKit.gyp:
+
+2010-07-14 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by David Levin.
+
+ [Chromium] Upstreaming inspector_resources target
+ https://bugs.webkit.org/show_bug.cgi?id=41669
+
+ 'inspector_resource' is currently in src/webkit/webkit.gyp of
+ Chromium tree. We move it to WebKit tree because:
+ - DumpRenderTree in WebKit tree needs it, and
+ - It's hard to refer to WebKit.gypi and WebCore.gypi from
+ webkit_support in both cases of Chromium-tree build and
+ WebKit-tree build.
+
+ * WebKit.gyp:
+
+2010-07-13 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Linux implementation of <input type=number> UI
+ https://bugs.webkit.org/show_bug.cgi?id=41925
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setScrollbarColors):
+ Call PlatformThemeChromiumGtk::setScrollbarColors() instead of
+ RenderThemeChromiumLinux::setScrollbarColors().
+
+2010-07-13 Chris Guillory <chris.guillory@google.com>
+
+ Reviewed by David Levin.
+
+ Fix adoptRef usage violation in WebAccessibilityCacheImpl.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=42092
+
+ * src/WebAccessibilityCacheImpl.cpp:
+ (WebKit::WebAccessibilityCacheImpl::WeakHandle::create):
+ (WebKit::WebAccessibilityCacheImpl::WeakHandle::WeakHandle):
+
+2010-07-13 Albert J. Wong <ajwong@chromium.org>
+
+ Unreviewed, build fix.
+
+ [chromium] The comparision between signed/unsigned breaks the chromium
+ mac build.
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::getSuggestion):
+ (WebKit::AutoFillPopupMenuClient::getLabel):
+
+2010-07-10 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Implement bufferData and bufferSubData with ArrayBuffer as input
+ https://bugs.webkit.org/show_bug.cgi?id=41884
+
+ * src/GraphicsContext3D.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input.
+ (WebCore::GraphicsContext3DInternal::bufferData):
+ (WebCore::GraphicsContext3DInternal::bufferSubData):
+
+2010-07-10 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet
+ https://bugs.webkit.org/show_bug.cgi?id=42032
+
+ * src/WebGraphicsContext3DDefaultImpl.cpp:
+ (WebKit::WebGraphicsContext3DDefaultImpl::getIntegerv): Emulate the enums.
+
+2010-07-13 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: catch and log JS exceptions resulting from executing a
+ script on inspector front-end to prevent renderer from crashing.
+ https://bugs.webkit.org/show_bug.cgi?id=42157
+
+ * src/WebDevToolsFrontendImpl.cpp:
+ (WebKit::WebDevToolsFrontendImpl::executeScript):
+
+2010-07-13 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed, build fix.
+
+ Fix a build error by r63179 for Chromium.
+
+ * tests/PopupMenuTest.cpp:
+ (WebKit::TestPopupMenuClient::itemLabel): Added.
+
+2010-07-12 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Making the autofill popup use labels to show the label
+ associated with an item.
+ https://bugs.webkit.org/show_bug.cgi?id=41964
+
+ * src/AutoFillPopupMenuClient.cpp:
+ (WebKit::AutoFillPopupMenuClient::getSuggestion):
+ (WebKit::AutoFillPopupMenuClient::getLabel):
+ (WebKit::AutoFillPopupMenuClient::itemLabel):
+ (WebKit::AutoFillPopupMenuClient::setSuggestions):
+ (WebKit::AutoFillPopupMenuClient::convertListIndexToInternalIndex):
+ * src/AutoFillPopupMenuClient.h:
+
2010-07-12 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r63171.
diff --git a/WebKit/chromium/DEPS b/WebKit/chromium/DEPS
index 63509ff..24bf389 100644
--- a/WebKit/chromium/DEPS
+++ b/WebKit/chromium/DEPS
@@ -32,7 +32,7 @@
vars = {
'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
- 'chromium_rev': '51736',
+ 'chromium_rev': '52869',
}
deps = {
@@ -89,6 +89,8 @@ deps = {
Var('chromium_svn')+'/gpu@'+Var('chromium_rev'),
'media':
Var('chromium_svn')+'/media@'+Var('chromium_rev'),
+ 'printing':
+ Var('chromium_svn')+'/printing@'+Var('chromium_rev'),
'third_party/angle': # needed by the gpu process
From('chromium_deps', 'src/third_party/angle'),
'third_party/ffmpeg': # needed by webkit/media
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 8143049..8abc159 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2009 Google Inc. All rights reserved.
+# Copyright (C) 2010 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -30,8 +30,10 @@
{
'includes': [
- 'features.gypi',
+ '../../WebCore/WebCore.gypi',
'../../WebKitTools/DumpRenderTree/DumpRenderTree.gypi',
+ 'WebKit.gypi',
+ 'features.gypi',
],
'variables': {
'webkit_target_type': 'static_library',
@@ -42,12 +44,42 @@
# Webkit is being built outside of the full chromium project.
# e.g. via build-webkit --chromium
'chromium_src_dir': '../../WebKit/chromium',
+
+ # List of DevTools source files, ordered by dependencies. It is used both
+ # for copying them to resource dir, and for generating 'devtools.html' file.
+ 'devtools_files': [
+ '<@(devtools_css_files)',
+ '../../WebKit/chromium/v8/tools/codemap.js',
+ '../../WebKit/chromium/v8/tools/consarray.js',
+ '../../WebKit/chromium/v8/tools/csvparser.js',
+ '../../WebKit/chromium/v8/tools/logreader.js',
+ '../../WebKit/chromium/v8/tools/profile.js',
+ '../../WebKit/chromium/v8/tools/profile_view.js',
+ '../../WebKit/chromium/v8/tools/splaytree.js',
+ '<@(devtools_js_files)',
+ ],
},{
# WebKit is checked out in src/chromium/third_party/WebKit
'chromium_src_dir': '../../../..',
+
+ 'devtools_files': [
+ '<@(devtools_css_files)',
+ '../../../../v8/tools/codemap.js',
+ '../../../../v8/tools/consarray.js',
+ '../../../../v8/tools/csvparser.js',
+ '../../../../v8/tools/logreader.js',
+ '../../../../v8/tools/profile.js',
+ '../../../../v8/tools/profile_view.js',
+ '../../../../v8/tools/splaytree.js',
+ '<@(devtools_js_files)',
+ ],
}],
],
'ahem_path': '../../WebKitTools/DumpRenderTree/qt/fonts/AHEM____.TTF',
+
+ # If debug_devtools is set to 1, JavaScript files for DevTools are
+ # stored as is. Otherwise, a concatenated file is stored.
+ 'debug_devtools%': 0,
},
'targets': [
{
@@ -67,7 +99,7 @@
'src',
],
'defines': [
- 'WEBKIT_IMPLEMENTATION',
+ 'WEBKIT_IMPLEMENTATION=1',
],
'sources': [
'public/gtk/WebInputEventFactory.h',
@@ -150,6 +182,7 @@
'public/WebKitClient.h',
'public/WebLabelElement.h',
'public/WebLocalizedString.h',
+ 'public/WebMediaElement.h',
'public/WebMediaPlayer.h',
'public/WebMediaPlayerAction.h',
'public/WebMediaPlayerClient.h',
@@ -166,6 +199,7 @@
'public/WebNotification.h',
'public/WebNotificationPresenter.h',
'public/WebNotificationPermissionCallback.h',
+ 'public/WebOptionElement.h',
'public/WebPageSerializer.h',
'public/WebPageSerializerClient.h',
'public/WebPasswordAutocompleteListener.h',
@@ -268,6 +302,8 @@
'src/FrameLoaderClientImpl.cpp',
'src/FrameLoaderClientImpl.h',
'src/GLES2Context.cpp',
+ 'src/GLES2ContextInternal.cpp',
+ 'src/GLES2ContextInternal.h',
'src/gtk/WebFontInfo.cpp',
'src/gtk/WebFontInfo.h',
'src/gtk/WebInputEventFactory.cpp',
@@ -380,6 +416,7 @@
'src/WebInputEventConversion.h',
'src/WebKit.cpp',
'src/WebLabelElement.cpp',
+ 'src/WebMediaElement.cpp',
'src/WebMediaPlayerClientImpl.cpp',
'src/WebMediaPlayerClientImpl.h',
'src/WebMutationEvent.cpp',
@@ -387,6 +424,7 @@
'src/WebNodeCollection.cpp',
'src/WebNodeList.cpp',
'src/WebNotification.cpp',
+ 'src/WebOptionElement.cpp',
'src/WebPageSerializer.cpp',
'src/WebPageSerializerImpl.cpp',
'src/WebPageSerializerImpl.h',
@@ -452,10 +490,10 @@
['component=="shared_library"', {
'defines': [
'WEBKIT_DLL',
- 'USING_V8_SHARED',
],
'dependencies': [
'../../WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings',
+ '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
'<(chromium_src_dir)/gpu/gpu.gyp:gles2_c_lib',
'<(chromium_src_dir)/third_party/icu/icu.gyp:*',
'<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp:libjpeg',
@@ -468,6 +506,15 @@
'<(chromium_src_dir)/third_party/zlib/zlib.gyp:zlib',
'<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
],
+ 'direct_dependent_settings': {
+ 'defines': [
+ 'WEBKIT_DLL',
+ ],
+ },
+ 'export_dependent_settings': [
+ '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
+ '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
+ ],
}],
],
}, {
@@ -541,6 +588,79 @@
}],
],
},
+
+ {
+ 'target_name': 'inspector_resources',
+ 'type': 'none',
+ 'dependencies': ['devtools_html'],
+ 'conditions': [
+ ['debug_devtools==0', {
+ 'dependencies': ['concatenated_devtools_js'],
+ }],
+ ],
+ 'copies': [
+ {
+ 'destination': '<(PRODUCT_DIR)/resources/inspector',
+ 'files': [
+ '<@(devtools_files)',
+ '<@(webinspector_files)',
+ ],
+ 'conditions': [
+ ['debug_devtools==0', {
+ 'files/': [['exclude', '\\.js$']],
+ }],
+ ],
+ },
+ {
+ 'destination': '<(PRODUCT_DIR)/resources/inspector/Images',
+ 'files': [
+ '<@(webinspector_image_files)',
+ '<@(devtools_image_files)',
+ ],
+ },
+ ],
+ },
+ {
+ 'target_name': 'devtools_html',
+ 'type': 'none',
+ 'sources': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
+ 'actions': [{
+ 'action_name': 'devtools_html',
+ 'inputs': [
+ '<(chromium_src_dir)/webkit/build/generate_devtools_html.py',
+ # See issue 29695: WebKit.gypi is a source file for devtools.html.
+ 'WebKit.gypi',
+ '../../WebCore/inspector/front-end/inspector.html',
+ ],
+ 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
+ 'action': ['python', '<@(_inputs)', '<@(_outputs)', '<@(devtools_files)'],
+ }],
+ },
+ {
+ 'target_name': 'concatenated_devtools_js',
+ 'type': 'none',
+ 'dependencies': ['devtools_html'],
+ 'sources': ['<(PRODUCT_DIR)/resources/inspector/DevTools.js'],
+ 'actions': [{
+ 'action_name': 'concatenate_devtools_js',
+ 'script_name': '<(chromium_src_dir)/webkit/build/concatenate_js_files.py',
+ 'input_page': '<(PRODUCT_DIR)/resources/inspector/devtools.html',
+ 'inputs': [
+ '<@(_script_name)',
+ '<@(_input_page)',
+ '<@(webinspector_files)',
+ '<@(devtools_files)',
+ ],
+ 'search_path': [
+ '../../WebCore/inspector/front-end',
+ 'src/js',
+ '<(chromium_src_dir)/v8/tools',
+ ],
+ 'outputs': ['<(PRODUCT_DIR)/resources/inspector/DevTools.js'],
+ 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'],
+ }],
+ },
+
{
'target_name': 'webkit_unit_tests',
'conditions': [
@@ -609,10 +729,11 @@
'mac_bundle': 1,
'dependencies': [
'ImageDiff',
+ 'inspector_resources',
'webkit',
'../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
'<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
- '<(chromium_src_dir)/webkit/support/webkit_support.gyp:npapi_layout_test_plugin',
+ '<(chromium_src_dir)/webkit/support/webkit_support.gyp:copy_npapi_layout_test_plugin',
'<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
'<(chromium_src_dir)/gpu/gpu.gyp:gles2_c_lib'
],
@@ -658,16 +779,6 @@
'copies': [{
'destination': '<(PRODUCT_DIR)',
'files': ['<(ahem_path)'],
- }, {
- # This should really be done in the 'npapi_layout_test_plugin'
- # target, but the current VS generator handles 'copies'
- # settings as AdditionalDependencies, which means that
- # when it's over there, it tries to do the copy *before*
- # the file is built, instead of after. We work around this
- # by attaching the copy here, since it depends on that
- # target.
- 'destination': '<(PRODUCT_DIR)/plugins',
- 'files': ['<(PRODUCT_DIR)/npapi_layout_test_plugin.dll'],
}],
},{ # OS!="win"
'sources/': [
@@ -712,10 +823,6 @@
'../../WebKitTools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
'<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
],
- 'copies': [{
- 'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/PlugIns/',
- 'files': ['<(PRODUCT_DIR)/TestNetscapePlugIn.plugin/'],
- }],
},{ # OS!="mac"
'sources/': [
# .mm is already excluded by common.gypi
@@ -730,9 +837,6 @@
'../../WebKitTools/DumpRenderTree/chromium/fonts.conf',
'<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
]
- }, {
- 'destination': '<(PRODUCT_DIR)/plugins',
- 'files': ['<(PRODUCT_DIR)/libnpapi_layout_test_plugin.so'],
}],
},{ # OS!="linux" and OS!="freebsd" and OS!="openbsd" and OS!="solaris"
'sources/': [
diff --git a/WebKit/chromium/WebKit.gypi b/WebKit/chromium/WebKit.gypi
index 69b1479..7d7b19c 100644
--- a/WebKit/chromium/WebKit.gypi
+++ b/WebKit/chromium/WebKit.gypi
@@ -34,7 +34,6 @@
# for copying them to resource dir, and for generating 'devtools.html' file.
'devtools_js_files': [
'src/js/InspectorControllerImpl.js',
- 'src/js/DebuggerAgent.js',
'src/js/ProfilerAgent.js',
'src/js/ProfilerProcessor.js',
'src/js/HeapProfilerPanel.js',
diff --git a/WebKit/chromium/features.gypi b/WebKit/chromium/features.gypi
index a280f4f..eadce7e 100644
--- a/WebKit/chromium/features.gypi
+++ b/WebKit/chromium/features.gypi
@@ -76,7 +76,7 @@
'ENABLE_TOUCH_EVENTS=1',
'ENABLE_VIDEO=1',
'ENABLE_WEB_SOCKETS=1',
- 'ENABLE_WEB_TIMING=0',
+ 'ENABLE_WEB_TIMING=1',
'ENABLE_WORKERS=1',
'ENABLE_XHTMLMP=0',
'ENABLE_XPATH=1',
diff --git a/WebKit/chromium/public/WebApplicationCacheHost.h b/WebKit/chromium/public/WebApplicationCacheHost.h
index 23be4dd..acbc106 100644
--- a/WebKit/chromium/public/WebApplicationCacheHost.h
+++ b/WebKit/chromium/public/WebApplicationCacheHost.h
@@ -32,6 +32,8 @@
#define WebApplicationCacheHost_h
#include "WebCommon.h"
+#include "WebURL.h"
+#include "WebVector.h"
namespace WebKit {
@@ -71,24 +73,46 @@ public:
virtual ~WebApplicationCacheHost() { }
// Called for every request made within the context.
- virtual void willStartMainResourceRequest(WebURLRequest&) = 0;
- virtual void willStartSubResourceRequest(WebURLRequest&) = 0;
+ virtual void willStartMainResourceRequest(WebURLRequest&) { }
+ virtual void willStartSubResourceRequest(WebURLRequest&) { }
// One or the other selectCache methods is called after having parsed the <html> tag.
// The latter returns false if the current document has been identified as a "foreign"
// entry, in which case the frame navigation will be restarted by webkit.
- virtual void selectCacheWithoutManifest() = 0;
- virtual bool selectCacheWithManifest(const WebURL& manifestURL) = 0;
+ virtual void selectCacheWithoutManifest() { }
+ virtual bool selectCacheWithManifest(const WebURL& manifestURL) { return true; }
// Called as the main resource is retrieved.
- virtual void didReceiveResponseForMainResource(const WebURLResponse&) = 0;
- virtual void didReceiveDataForMainResource(const char* data, int len) = 0;
- virtual void didFinishLoadingMainResource(bool success) = 0;
+ virtual void didReceiveResponseForMainResource(const WebURLResponse&) { }
+ virtual void didReceiveDataForMainResource(const char* data, int len) { }
+ virtual void didFinishLoadingMainResource(bool success) { }
// Called on behalf of the scriptable interface.
- virtual Status status() = 0;
- virtual bool startUpdate() = 0;
- virtual bool swapCache() = 0;
+ virtual Status status() { return Uncached; }
+ virtual bool startUpdate() { return false; }
+ virtual bool swapCache() { return false; }
+
+ // Structures and methods to support inspecting Application Caches.
+ struct CacheInfo {
+ WebURL manifestURL; // Empty if there is no associated cache.
+ double creationTime;
+ double updateTime;
+ long long totalSize;
+ CacheInfo() : creationTime(0), updateTime(0), totalSize(0) { }
+ };
+ struct ResourceInfo {
+ WebURL url;
+ long long size;
+ bool isMaster;
+ bool isManifest;
+ bool isExplicit;
+ bool isForeign;
+ bool isFallback;
+ ResourceInfo() : size(0), isMaster(false), isManifest(false), isExplicit(false), isForeign(false), isFallback(false) { }
+ };
+ virtual void getAssociatedCacheInfo(CacheInfo*) { }
+ virtual void getResourceList(WebVector<ResourceInfo>*) { }
+ virtual void deleteAssociatedCacheGroup() { }
};
} // namespace WebKit
diff --git a/WebKit/chromium/public/WebApplicationCacheHostClient.h b/WebKit/chromium/public/WebApplicationCacheHostClient.h
index 39b7fa2..3f84c51 100644
--- a/WebKit/chromium/public/WebApplicationCacheHostClient.h
+++ b/WebKit/chromium/public/WebApplicationCacheHostClient.h
@@ -39,6 +39,9 @@ namespace WebKit {
// This interface is used by the embedder to call into webkit.
class WebApplicationCacheHostClient {
public:
+ // Called when a different cache, including possibly no cache, is associated with the host.
+ virtual void didChangeCacheAssociation() = 0;
+
// Called to fire events in the scriptable interface.
virtual void notifyEventListener(WebApplicationCacheHost::EventID) = 0;
virtual void notifyProgressEventListener(const WebURL&, int num_total, int num_complete) = 0;
diff --git a/WebKit/chromium/public/WebCommon.h b/WebKit/chromium/public/WebCommon.h
index 5f441b7..2bfa17d 100644
--- a/WebKit/chromium/public/WebCommon.h
+++ b/WebKit/chromium/public/WebCommon.h
@@ -66,7 +66,7 @@
// Exported symbols need to be annotated with WEBKIT_API
#if defined(WIN32) && defined(WEBKIT_DLL)
- #if defined(WEBKIT_IMPLEMENTATION)
+ #if WEBKIT_IMPLEMENTATION
#define WEBKIT_API __declspec(dllexport)
#else
#define WEBKIT_API __declspec(dllimport)
diff --git a/WebKit/chromium/public/WebFileChooserParams.h b/WebKit/chromium/public/WebFileChooserParams.h
index 6359f14..2a30944 100644
--- a/WebKit/chromium/public/WebFileChooserParams.h
+++ b/WebKit/chromium/public/WebFileChooserParams.h
@@ -40,6 +40,8 @@ namespace WebKit {
struct WebFileChooserParams {
// If |multiSelect| is true, the dialog allow to select multiple files.
bool multiSelect;
+ // If |directory| is true, the dialog allows the user to select a directory.
+ bool directory;
// |title| is a title of a file chooser dialog. It can be an empty string.
WebString title;
// |initialValue| is a filename which the dialog should select by default.
diff --git a/WebKit/chromium/public/WebFormElement.h b/WebKit/chromium/public/WebFormElement.h
index 6a0b24e..2b4ee53 100644
--- a/WebKit/chromium/public/WebFormElement.h
+++ b/WebKit/chromium/public/WebFormElement.h
@@ -63,6 +63,7 @@ namespace WebKit {
WEBKIT_API WebString action() const;
WEBKIT_API WebString name() const;
WEBKIT_API WebString method() const;
+ WEBKIT_API bool wasUserSubmitted() const;
WEBKIT_API void submit();
// FIXME: Deprecate and replace with WebVector<WebElement>.
WEBKIT_API void getNamedElements(const WebString&, WebVector<WebNode>&);
diff --git a/WebKit/chromium/public/WebIDBDatabaseError.h b/WebKit/chromium/public/WebIDBDatabaseError.h
index 255d175..a237d5f 100644
--- a/WebKit/chromium/public/WebIDBDatabaseError.h
+++ b/WebKit/chromium/public/WebIDBDatabaseError.h
@@ -40,7 +40,7 @@ namespace WebKit {
// See comment in WebIndexedDatabase for a high level overview these classes.
class WebIDBDatabaseError {
public:
- WEBKIT_API ~WebIDBDatabaseError();
+ ~WebIDBDatabaseError() { reset(); }
WEBKIT_API WebIDBDatabaseError(unsigned short code, const WebString& message) { assign(code, message); }
WEBKIT_API WebIDBDatabaseError(const WebIDBDatabaseError& e) { assign(e); }
@@ -51,6 +51,7 @@ public:
}
WEBKIT_API void assign(const WebIDBDatabaseError&);
+ WEBKIT_API void reset();
WEBKIT_API unsigned short code() const;
WEBKIT_API WebString message() const;
diff --git a/WebKit/chromium/public/WebIDBKey.h b/WebKit/chromium/public/WebIDBKey.h
index 876928a..1cf336d 100644
--- a/WebKit/chromium/public/WebIDBKey.h
+++ b/WebKit/chromium/public/WebIDBKey.h
@@ -36,7 +36,7 @@ namespace WebKit {
class WebIDBKey {
public:
- ~WebIDBKey();
+ ~WebIDBKey() { reset(); }
WEBKIT_API static WebIDBKey createNull();
WEBKIT_API static WebIDBKey createInvalid();
@@ -55,6 +55,7 @@ public:
WEBKIT_API void assign(const WebString&);
WEBKIT_API void assign(int32_t);
WEBKIT_API void assignInvalid();
+ WEBKIT_API void reset();
enum Type {
NullType = 0,
diff --git a/WebKit/chromium/public/WebMediaElement.h b/WebKit/chromium/public/WebMediaElement.h
new file mode 100644
index 0000000..94837a5
--- /dev/null
+++ b/WebKit/chromium/public/WebMediaElement.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebMediaElement_h
+#define WebMediaElement_h
+
+#include "WebElement.h"
+
+#if WEBKIT_IMPLEMENTATION
+namespace WebCore { class HTMLMediaElement; }
+#endif
+
+namespace WebKit {
+
+class WebMediaPlayer;
+
+class WebMediaElement : public WebElement {
+public:
+ WEBKIT_API WebMediaPlayer* player() const;
+
+#if WEBKIT_IMPLEMENTATION
+ WebMediaElement(const WTF::PassRefPtr<WebCore::HTMLMediaElement>&);
+ WebMediaElement& operator=(const WTF::PassRefPtr<WebCore::HTMLMediaElement>&);
+ operator WTF::PassRefPtr<WebCore::HTMLMediaElement>() const;
+#endif
+};
+} // namespace WebKit
+
+#endif // WebMediaElement_h
diff --git a/WebKit/chromium/public/WebOptionElement.h b/WebKit/chromium/public/WebOptionElement.h
new file mode 100644
index 0000000..1689a57
--- /dev/null
+++ b/WebKit/chromium/public/WebOptionElement.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebOptionElement_h
+#define WebOptionElement_h
+
+#include "WebFormControlElement.h"
+#include "WebVector.h"
+
+#if WEBKIT_IMPLEMENTATION
+namespace WebCore { class HTMLOptionElement; }
+#endif
+
+namespace WebKit {
+
+// Provides readonly access to some properties of a DOM option element node.
+class WebOptionElement : public WebFormControlElement {
+public:
+ WebOptionElement() : WebFormControlElement() { }
+ WebOptionElement(const WebOptionElement& e) : WebFormControlElement(e) { }
+
+ WebOptionElement& operator=(const WebOptionElement& e)
+ {
+ WebFormControlElement::assign(e);
+ return *this;
+ }
+ WEBKIT_API void assign(const WebOptionElement& e) { WebFormControlElement::assign(e); }
+
+ WEBKIT_API void setValue(const WebString&);
+ WEBKIT_API WebString value() const;
+
+ WEBKIT_API int index() const;
+ WEBKIT_API WebString text() const;
+ WEBKIT_API bool defaultSelected() const;
+ WEBKIT_API void setDefaultSelected(bool);
+ WEBKIT_API WebString label() const;
+ WEBKIT_API bool isEnabled() const;
+
+#if WEBKIT_IMPLEMENTATION
+ WebOptionElement(const WTF::PassRefPtr<WebCore::HTMLOptionElement>&);
+ WebOptionElement& operator=(const WTF::PassRefPtr<WebCore::HTMLOptionElement>&);
+ operator WTF::PassRefPtr<WebCore::HTMLOptionElement>() const;
+#endif
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebPlugin.h b/WebKit/chromium/public/WebPlugin.h
index 8e1c946..816d38b 100644
--- a/WebKit/chromium/public/WebPlugin.h
+++ b/WebKit/chromium/public/WebPlugin.h
@@ -50,9 +50,6 @@ struct WebRect;
struct WebURLError;
template <typename T> class WebVector;
-// FIXME: remove once the chromium is updated.
-#define WEBPLUGIN_FIND_HAS_RETURN_TYPE
-
class WebPlugin {
public:
virtual bool initialize(WebPluginContainer*) = 0;
diff --git a/WebKit/chromium/public/WebRuntimeFeatures.h b/WebKit/chromium/public/WebRuntimeFeatures.h
index 03ff681..95307a2 100644
--- a/WebKit/chromium/public/WebRuntimeFeatures.h
+++ b/WebKit/chromium/public/WebRuntimeFeatures.h
@@ -77,6 +77,9 @@ public:
WEBKIT_API static void enableTouch(bool);
WEBKIT_API static bool isTouchEnabled();
+ WEBKIT_API static void enableDeviceOrientation(bool);
+ WEBKIT_API static bool isDeviceOrientationEnabled();
+
private:
WebRuntimeFeatures();
};
diff --git a/WebKit/chromium/public/WebSelectElement.h b/WebKit/chromium/public/WebSelectElement.h
index 7bd755b..3e7f5e2 100644
--- a/WebKit/chromium/public/WebSelectElement.h
+++ b/WebKit/chromium/public/WebSelectElement.h
@@ -32,6 +32,8 @@
#define WebSelectElement_h
#include "WebFormControlElement.h"
+#include "WebOptionElement.h"
+#include "WebVector.h"
#if WEBKIT_IMPLEMENTATION
namespace WebCore { class HTMLSelectElement; }
@@ -45,11 +47,16 @@ public:
WebSelectElement() : WebFormControlElement() { }
WebSelectElement(const WebSelectElement& e) : WebFormControlElement(e) { }
- WebSelectElement& operator=(const WebSelectElement& e) { WebFormControlElement::assign(e); return *this; }
+ WebSelectElement& operator=(const WebSelectElement& e)
+ {
+ WebFormControlElement::assign(e);
+ return *this;
+ }
WEBKIT_API void assign(const WebSelectElement& e) { WebFormControlElement::assign(e); }
WEBKIT_API void setValue(const WebString&);
WEBKIT_API WebString value();
+ WEBKIT_API WebVector<WebElement> listItems();
#if WEBKIT_IMPLEMENTATION
WebSelectElement(const WTF::PassRefPtr<WebCore::HTMLSelectElement>&);
diff --git a/WebKit/chromium/public/WebSettings.h b/WebKit/chromium/public/WebSettings.h
index de895e1..32cefa1 100644
--- a/WebKit/chromium/public/WebSettings.h
+++ b/WebKit/chromium/public/WebSettings.h
@@ -92,6 +92,7 @@ public:
virtual void setEditingBehavior(EditingBehavior) = 0;
virtual void setAcceleratedCompositingEnabled(bool) = 0;
virtual void setHTML5ParserEnabled(bool) = 0;
+ virtual void setMemoryInfoEnabled(bool) = 0;
protected:
~WebSettings() { }
diff --git a/WebKit/chromium/public/WebThemeEngine.h b/WebKit/chromium/public/WebThemeEngine.h
index 9638c2f..ab59fa2 100644
--- a/WebKit/chromium/public/WebThemeEngine.h
+++ b/WebKit/chromium/public/WebThemeEngine.h
@@ -68,6 +68,10 @@ public:
WebCanvas*, int part, int state, int classicState,
const WebRect&, const WebRect& alignRect) = 0;
+ virtual void paintSpinButton(
+ WebCanvas*, int part, int state, int classicState,
+ const WebRect&) {}
+
virtual void paintTextField(
WebCanvas*, int part, int state, int classicState,
const WebRect&, WebColor, bool fillContentArea, bool drawEdges) = 0;
diff --git a/WebKit/chromium/public/WebURLLoaderClient.h b/WebKit/chromium/public/WebURLLoaderClient.h
index a66b153..c716e5d 100644
--- a/WebKit/chromium/public/WebURLLoaderClient.h
+++ b/WebKit/chromium/public/WebURLLoaderClient.h
@@ -43,27 +43,31 @@ public:
// Called when following a redirect. |newRequest| contains the request
// generated by the redirect. The client may modify |newRequest|.
virtual void willSendRequest(
- WebURLLoader*, WebURLRequest& newRequest, const WebURLResponse& redirectResponse) = 0;
+ WebURLLoader*, WebURLRequest& newRequest, const WebURLResponse& redirectResponse) { }
// Called to report upload progress. The bytes reported correspond to
// the HTTP message body.
virtual void didSendData(
- WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent) = 0;
+ WebURLLoader*, unsigned long long bytesSent, unsigned long long totalBytesToBeSent) { }
// Called when response headers are received.
- virtual void didReceiveResponse(WebURLLoader*, const WebURLResponse&) = 0;
+ virtual void didReceiveResponse(WebURLLoader*, const WebURLResponse&) { }
+
+ // Called when a chunk of response data is downloaded. This is only called
+ // if WebURLRequest's downloadToFile flag was set to true.
+ virtual void didDownloadData(WebURLLoader*, int dataLength) { }
// Called when a chunk of response data is received.
- virtual void didReceiveData(WebURLLoader*, const char* data, int dataLength) = 0;
+ virtual void didReceiveData(WebURLLoader*, const char* data, int dataLength) { }
// Called when a chunk of renderer-generated metadata is received from the cache.
virtual void didReceiveCachedMetadata(WebURLLoader*, const char* data, int dataLength) { }
// Called when the load completes successfully.
- virtual void didFinishLoading(WebURLLoader*) = 0;
+ virtual void didFinishLoading(WebURLLoader*) { }
// Called when the load completes with an error.
- virtual void didFail(WebURLLoader*, const WebURLError&) = 0;
+ virtual void didFail(WebURLLoader*, const WebURLError&) { }
protected:
~WebURLLoaderClient() { }
diff --git a/WebKit/chromium/public/WebURLRequest.h b/WebKit/chromium/public/WebURLRequest.h
index b60d5be..36d6791 100644
--- a/WebKit/chromium/public/WebURLRequest.h
+++ b/WebKit/chromium/public/WebURLRequest.h
@@ -151,6 +151,11 @@ public:
WEBKIT_API int appCacheHostID() const;
WEBKIT_API void setAppCacheHostID(int id);
+ // If true, the response body will be downloaded to a file managed by the
+ // WebURLLoader. See WebURLResponse::downloadedFilePath.
+ WEBKIT_API bool downloadToFile() const;
+ WEBKIT_API void setDownloadToFile(bool);
+
#if defined(WEBKIT_IMPLEMENTATION)
WebCore::ResourceRequest& toMutableResourceRequest();
const WebCore::ResourceRequest& toResourceRequest() const;
diff --git a/WebKit/chromium/public/WebURLResponse.h b/WebKit/chromium/public/WebURLResponse.h
index 2aa603d..ac75d4c 100644
--- a/WebKit/chromium/public/WebURLResponse.h
+++ b/WebKit/chromium/public/WebURLResponse.h
@@ -76,6 +76,9 @@ public:
WEBKIT_API unsigned connectionID() const;
WEBKIT_API void setConnectionID(unsigned);
+ WEBKIT_API bool connectionReused() const;
+ WEBKIT_API void setConnectionReused(bool);
+
WEBKIT_API WebURLLoadTiming loadTiming();
WEBKIT_API void setLoadTiming(const WebURLLoadTiming&);
@@ -155,6 +158,12 @@ public:
WEBKIT_API bool isMultipartPayload() const;
WEBKIT_API void setIsMultipartPayload(bool);
+ // This indicates the location of a downloaded response if the
+ // WebURLRequest had the downloadToFile flag set to true. This file path
+ // remains valid for the lifetime of the WebURLLoader used to create it.
+ WEBKIT_API WebString downloadFilePath() const;
+ WEBKIT_API void setDownloadFilePath(const WebString&);
+
protected:
void assign(WebURLResponsePrivate*);
diff --git a/WebKit/chromium/public/WebView.h b/WebKit/chromium/public/WebView.h
index a8f5387..26d7269 100644
--- a/WebKit/chromium/public/WebView.h
+++ b/WebKit/chromium/public/WebView.h
@@ -248,11 +248,21 @@ public:
// AutoFill -----------------------------------------------------------
+ // DEPRECATED.
+ virtual void applyAutoFillSuggestions(
+ const WebNode&,
+ const WebVector<WebString>& names,
+ const WebVector<WebString>& labels,
+ int separatorIndex) = 0;
+
// Notifies the WebView that AutoFill suggestions are available for a node.
+ // |uniqueIDs| is a vector of IDs that represent the unique ID of each
+ // AutoFill profile in the suggestions popup.
virtual void applyAutoFillSuggestions(
const WebNode&,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
+ const WebVector<int>& uniqueIDs,
int separatorIndex) = 0;
// Notifies the WebView that Autocomplete suggestions are available for a
diff --git a/WebKit/chromium/public/WebViewClient.h b/WebKit/chromium/public/WebViewClient.h
index f21d262..11fb233 100644
--- a/WebKit/chromium/public/WebViewClient.h
+++ b/WebKit/chromium/public/WebViewClient.h
@@ -307,6 +307,7 @@ public:
virtual void didAcceptAutoFillSuggestion(const WebNode&,
const WebString& name,
const WebString& label,
+ int uniqueID,
unsigned index) { }
// Informs the browser that the user has selected an AutoFill suggestion for
@@ -314,10 +315,11 @@ public:
// the arrow keys to navigate to a suggestion.
virtual void didSelectAutoFillSuggestion(const WebNode&,
const WebString& name,
- const WebString& label) { }
+ const WebString& label,
+ int uniqueID) { }
// Informs the browser that the user has cleared the selection from the
- // AutoFill suggestions dropdown. This happens when a user uses the arrow
+ // AutoFill suggestions popup. This happens when a user uses the arrow
// keys to navigate outside the range of possible selections.
virtual void didClearAutoFillSelection(const WebNode&) { }
diff --git a/WebKit/chromium/src/ApplicationCacheHostInternal.h b/WebKit/chromium/src/ApplicationCacheHostInternal.h
index 902b9b5..c88420b 100644
--- a/WebKit/chromium/src/ApplicationCacheHostInternal.h
+++ b/WebKit/chromium/src/ApplicationCacheHostInternal.h
@@ -53,6 +53,11 @@ public:
m_outerHost.set(webFrame->client()->createApplicationCacheHost(webFrame, this));
}
+ virtual void didChangeCacheAssociation()
+ {
+ // FIXME: Prod the inspector to update it's notion of what cache the page is using.
+ }
+
virtual void notifyEventListener(WebKit::WebApplicationCacheHost::EventID eventID)
{
m_innerHost->notifyDOMApplicationCache(static_cast<ApplicationCacheHost::EventID>(eventID), 0, 0);
diff --git a/WebKit/chromium/src/AutoFillPopupMenuClient.cpp b/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
index 1294561..6b74f60 100644
--- a/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
+++ b/WebKit/chromium/src/AutoFillPopupMenuClient.cpp
@@ -66,28 +66,47 @@ unsigned AutoFillPopupMenuClient::getSuggestionsCount() const
WebString AutoFillPopupMenuClient::getSuggestion(unsigned listIndex) const
{
- if (listIndex == static_cast<unsigned>(m_separatorIndex))
+ int index = convertListIndexToInternalIndex(listIndex);
+ if (index == -1)
return WebString();
- if (m_separatorIndex != -1 && listIndex > static_cast<unsigned>(m_separatorIndex))
- --listIndex;
-
- // FIXME: Modify the PopupMenu to add the label in gray right-justified.
- ASSERT(listIndex < m_names.size());
+ ASSERT(index >= 0 && static_cast<size_t>(index) < m_names.size());
+ return m_names[index];
+}
- WebString suggestion = m_names[listIndex];
- if (m_labels[listIndex].isEmpty())
- return suggestion;
+WebString AutoFillPopupMenuClient::getLabel(unsigned listIndex) const
+{
+ int index = convertListIndexToInternalIndex(listIndex);
+ if (index == -1)
+ return WebString();
- return suggestion + String(" (") + m_labels[listIndex] + String(")");
+ ASSERT(index >= 0 && static_cast<size_t>(index) < m_labels.size());
+ return m_labels[index];
}
void AutoFillPopupMenuClient::removeSuggestionAtIndex(unsigned listIndex)
{
- // FIXME: Do we want to remove AutoFill suggestions?
- ASSERT(listIndex < m_names.size());
- m_names.remove(listIndex);
- m_labels.remove(listIndex);
+ if (!canRemoveSuggestionAtIndex(listIndex))
+ return;
+
+ int index = convertListIndexToInternalIndex(listIndex);
+
+ ASSERT(static_cast<unsigned>(index) < m_names.size());
+
+ m_names.remove(index);
+ m_labels.remove(index);
+
+ // Shift the separator index if necessary.
+ if (m_separatorIndex != -1)
+ m_separatorIndex--;
+}
+
+bool AutoFillPopupMenuClient::canRemoveSuggestionAtIndex(unsigned listIndex)
+{
+ // Only allow deletion of items before the separator and those that don't
+ // have a label (autocomplete).
+ int index = convertListIndexToInternalIndex(listIndex);
+ return m_labels[index].isEmpty() && (m_separatorIndex == -1 || listIndex < static_cast<unsigned>(m_separatorIndex));
}
void AutoFillPopupMenuClient::valueChanged(unsigned listIndex, bool fireEvents)
@@ -119,6 +138,7 @@ void AutoFillPopupMenuClient::valueChanged(unsigned listIndex, bool fireEvents)
webView->client()->didAcceptAutoFillSuggestion(WebNode(getTextField()),
m_names[listIndex],
m_labels[listIndex],
+ m_uniqueIDs[listIndex],
listIndex);
}
}
@@ -136,13 +156,15 @@ void AutoFillPopupMenuClient::selectionChanged(unsigned listIndex, bool fireEven
webView->client()->didSelectAutoFillSuggestion(WebNode(getTextField()),
m_names[listIndex],
- m_labels[listIndex]);
+ m_labels[listIndex],
+ m_uniqueIDs[listIndex]);
}
void AutoFillPopupMenuClient::selectionCleared()
{
- // Same effect desired as popupDidHide, so call through.
- popupDidHide();
+ WebViewImpl* webView = getWebView();
+ if (webView)
+ webView->client()->didClearAutoFillSelection(WebNode(getTextField()));
}
String AutoFillPopupMenuClient::itemText(unsigned listIndex) const
@@ -150,6 +172,11 @@ String AutoFillPopupMenuClient::itemText(unsigned listIndex) const
return getSuggestion(listIndex);
}
+String AutoFillPopupMenuClient::itemLabel(unsigned listIndex) const
+{
+ return getLabel(listIndex);
+}
+
PopupMenuStyle AutoFillPopupMenuClient::itemStyle(unsigned listIndex) const
{
return *m_style;
@@ -222,9 +249,11 @@ void AutoFillPopupMenuClient::initialize(
HTMLInputElement* textField,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
+ const WebVector<int>& uniqueIDs,
int separatorIndex)
{
ASSERT(names.size() == labels.size());
+ ASSERT(names.size() == uniqueIDs.size());
ASSERT(separatorIndex < static_cast<int>(names.size()));
m_selectedIndex = -1;
@@ -232,7 +261,7 @@ void AutoFillPopupMenuClient::initialize(
// The suggestions must be set before initializing the
// AutoFillPopupMenuClient.
- setSuggestions(names, labels, separatorIndex);
+ setSuggestions(names, labels, uniqueIDs, separatorIndex);
FontDescription fontDescription;
RenderTheme::defaultTheme()->systemFont(CSSValueWebkitControl,
@@ -251,16 +280,20 @@ void AutoFillPopupMenuClient::initialize(
void AutoFillPopupMenuClient::setSuggestions(const WebVector<WebString>& names,
const WebVector<WebString>& labels,
+ const WebVector<int>& uniqueIDs,
int separatorIndex)
{
ASSERT(names.size() == labels.size());
+ ASSERT(names.size() == uniqueIDs.size());
ASSERT(separatorIndex < static_cast<int>(names.size()));
m_names.clear();
m_labels.clear();
+ m_uniqueIDs.clear();
for (size_t i = 0; i < names.size(); ++i) {
m_names.append(names[i]);
m_labels.append(labels[i]);
+ m_uniqueIDs.append(uniqueIDs[i]);
}
m_separatorIndex = separatorIndex;
@@ -270,6 +303,16 @@ void AutoFillPopupMenuClient::setSuggestions(const WebVector<WebString>& names,
setSelectedIndex(-1);
}
+int AutoFillPopupMenuClient::convertListIndexToInternalIndex(unsigned listIndex) const
+{
+ if (listIndex == static_cast<unsigned>(m_separatorIndex))
+ return -1;
+
+ if (m_separatorIndex == -1 || listIndex < static_cast<unsigned>(m_separatorIndex))
+ return listIndex;
+ return listIndex - 1;
+}
+
WebViewImpl* AutoFillPopupMenuClient::getWebView() const
{
Frame* frame = m_textField->document()->frame();
@@ -288,7 +331,7 @@ RenderStyle* AutoFillPopupMenuClient::textFieldStyle() const
RenderStyle* style = m_textField->computedStyle();
if (!style) {
// It seems we can only have a 0 style in a TextField if the
- // node is detached, in which case we the popup shoud not be
+ // node is detached, in which case we the popup should not be
// showing. Please report this in http://crbug.com/7708 and
// include the page you were visiting.
ASSERT_NOT_REACHED();
diff --git a/WebKit/chromium/src/AutoFillPopupMenuClient.h b/WebKit/chromium/src/AutoFillPopupMenuClient.h
index a7d6693..289c8d0 100644
--- a/WebKit/chromium/src/AutoFillPopupMenuClient.h
+++ b/WebKit/chromium/src/AutoFillPopupMenuClient.h
@@ -57,14 +57,21 @@ public:
// Returns the suggestion at |listIndex|.
virtual WebString getSuggestion(unsigned listIndex) const;
+ // Returns the label at |listIndex|.
+ virtual WebString getLabel(unsigned listIndex) const;
+
// Removes the suggestion at |listIndex| from the list of suggestions.
virtual void removeSuggestionAtIndex(unsigned listIndex);
+ // Returns true if the suggestion at |listIndex| can be removed.
+ bool canRemoveSuggestionAtIndex(unsigned listIndex);
+
// WebCore::PopupMenuClient methods:
virtual void valueChanged(unsigned listIndex, bool fireEvents = true);
virtual void selectionChanged(unsigned, bool);
virtual void selectionCleared();
virtual WebCore::String itemText(unsigned listIndex) const;
+ virtual WebCore::String itemLabel(unsigned listIndex) const;
virtual WebCore::String itemToolTip(unsigned lastIndex) const { return WebCore::String(); }
virtual WebCore::String itemAccessibilityText(unsigned lastIndex) const { return WebCore::String(); }
virtual bool itemIsEnabled(unsigned listIndex) const { return true; }
@@ -93,10 +100,12 @@ public:
void initialize(WebCore::HTMLInputElement*,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
+ const WebVector<int>& uniqueIDs,
int separatorIndex);
void setSuggestions(const WebVector<WebString>& names,
const WebVector<WebString>& labels,
+ const WebVector<int>& uniqueIDs,
int separatorIndex);
// DEPRECATED: Will be removed once Autocomplete and AutoFill merge is
@@ -104,6 +113,10 @@ public:
void setAutocompleteMode(bool enabled) { m_AutocompleteModeEnabled = enabled; }
private:
+ // Convert the specified index from an index into the visible list (which might
+ // include a separator entry) to an index to |m_names| and |m_labels|.
+ // Returns -1 if the given index points to the separator.
+ int convertListIndexToInternalIndex(unsigned) const;
WebViewImpl* getWebView() const;
WebCore::HTMLInputElement* getTextField() const { return m_textField.get(); }
WebCore::RenderStyle* textFieldStyle() const;
@@ -114,6 +127,7 @@ private:
// The names and labels that make up the text of the menu items.
Vector<WebCore::String> m_names;
Vector<WebCore::String> m_labels;
+ Vector<int> m_uniqueIDs;
// The index of the separator. -1 if there is no separator.
int m_separatorIndex;
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index 54c81aa..d43d88a 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -31,8 +31,8 @@
#include "config.h"
#include "ChromeClientImpl.h"
-#include "AccessibilityObject.h"
#include "AXObjectCache.h"
+#include "AccessibilityObject.h"
#include "CharacterNames.h"
#include "Console.h"
#include "Cursor.h"
@@ -43,9 +43,9 @@
#include "FloatRect.h"
#include "FrameLoadRequest.h"
#include "FrameView.h"
+#include "GLES2Context.h"
#include "Geolocation.h"
#include "GeolocationService.h"
-#include "WebGeolocationService.h"
#include "GeolocationServiceChromium.h"
#include "GraphicsLayer.h"
#include "HTMLNames.h"
@@ -56,6 +56,7 @@
#include "Page.h"
#include "PopupMenuChromium.h"
#include "ScriptController.h"
+#include "WebGeolocationService.h"
#if USE(V8)
#include "V8Proxy.h"
#endif
@@ -588,6 +589,11 @@ void ChromeClientImpl::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> fileCh
WebFileChooserParams params;
params.multiSelect = fileChooser->allowsMultipleFiles();
+#if ENABLE(DIRECTORY_UPLOAD)
+ params.directory = fileChooser->allowsDirectoryUpload();
+#else
+ params.directory = false;
+#endif
params.acceptTypes = fileChooser->acceptTypes();
params.selectedFiles = fileChooser->filenames();
if (params.selectedFiles.size() > 0)
@@ -728,6 +734,16 @@ void ChromeClientImpl::scheduleCompositingLayerSync()
{
m_webView->setRootLayerNeedsDisplay();
}
+
+PassOwnPtr<GLES2Context> ChromeClientImpl::getOnscreenGLES2Context()
+{
+ return m_webView->getOnscreenGLES2Context();
+}
+
+PassOwnPtr<GLES2Context> ChromeClientImpl::getOffscreenGLES2Context()
+{
+ return m_webView->getOffscreenGLES2Context();
+}
#endif
bool ChromeClientImpl::supportsFullscreenForNode(const WebCore::Node* node)
diff --git a/WebKit/chromium/src/ChromeClientImpl.h b/WebKit/chromium/src/ChromeClientImpl.h
index 84355c3..e824381 100644
--- a/WebKit/chromium/src/ChromeClientImpl.h
+++ b/WebKit/chromium/src/ChromeClientImpl.h
@@ -126,7 +126,7 @@ public:
virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*);
virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
virtual void chooseIconForFiles(const Vector<WebCore::String>&, WebCore::FileChooser*);
- virtual bool setCursor(WebCore::PlatformCursorHandle) { return false; }
+ virtual void setCursor(const WebCore::Cursor&) { }
virtual void formStateDidChange(const WebCore::Node*);
virtual PassOwnPtr<WebCore::HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
#if ENABLE(TOUCH_EVENTS)
@@ -145,7 +145,11 @@ public:
// Sets a flag to specify that the view needs to be updated, so we need
// to do an eager layout before the drawing.
virtual void scheduleCompositingLayerSync();
+
+ virtual PassOwnPtr<WebCore::GLES2Context> getOnscreenGLES2Context();
+ virtual PassOwnPtr<WebCore::GLES2Context> getOffscreenGLES2Context();
#endif
+
virtual bool supportsFullscreenForNode(const WebCore::Node*);
virtual void enterFullscreenForNode(WebCore::Node*);
virtual void exitFullscreenForNode(WebCore::Node*);
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index 5124a7f..333020f 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -691,6 +691,14 @@ void ChromiumBridge::paintScrollbarTrack(
alignRect);
}
+void ChromiumBridge::paintSpinButton(
+ GraphicsContext* gc, int part, int state, int classicState,
+ const IntRect& rect)
+{
+ webKitClient()->themeEngine()->paintSpinButton(
+ gc->platformContext()->canvas(), part, state, classicState, rect);
+}
+
void ChromiumBridge::paintTextField(
GraphicsContext* gc, int part, int state, int classicState,
const IntRect& rect, const Color& color, bool fillContentArea,
diff --git a/WebKit/chromium/src/DebuggerAgentManager.cpp b/WebKit/chromium/src/DebuggerAgentManager.cpp
index 939f4ed..1cc6740 100644
--- a/WebKit/chromium/src/DebuggerAgentManager.cpp
+++ b/WebKit/chromium/src/DebuggerAgentManager.cpp
@@ -119,10 +119,8 @@ DebuggerAgentManager::AttachedAgentsMap* DebuggerAgentManager::s_attachedAgentsM
void DebuggerAgentManager::debugAttach(DebuggerAgentImpl* debuggerAgent)
{
-#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
if (!s_exposeV8DebuggerProtocol)
return;
-#endif
if (!s_attachedAgentsMap) {
s_attachedAgentsMap = new AttachedAgentsMap();
v8::Debug::SetMessageHandler2(&DebuggerAgentManager::onV8DebugMessage);
@@ -135,10 +133,8 @@ void DebuggerAgentManager::debugAttach(DebuggerAgentImpl* debuggerAgent)
void DebuggerAgentManager::debugDetach(DebuggerAgentImpl* debuggerAgent)
{
-#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
if (!s_exposeV8DebuggerProtocol)
return;
-#endif
if (!s_attachedAgentsMap) {
ASSERT_NOT_REACHED();
return;
diff --git a/WebKit/chromium/src/EditorClientImpl.cpp b/WebKit/chromium/src/EditorClientImpl.cpp
index 4ae4934..11977b6 100644
--- a/WebKit/chromium/src/EditorClientImpl.cpp
+++ b/WebKit/chromium/src/EditorClientImpl.cpp
@@ -935,10 +935,14 @@ void EditorClientImpl::getGuessesForWord(const String&,
notImplemented();
}
-void EditorClientImpl::setInputMethodState(bool enabled)
+void EditorClientImpl::willSetInputMethodState()
{
if (m_webView->client())
m_webView->client()->resetInputMethod();
}
+void EditorClientImpl::setInputMethodState(bool)
+{
+}
+
} // namesace WebKit
diff --git a/WebKit/chromium/src/EditorClientImpl.h b/WebKit/chromium/src/EditorClientImpl.h
index 006b609..549a512 100644
--- a/WebKit/chromium/src/EditorClientImpl.h
+++ b/WebKit/chromium/src/EditorClientImpl.h
@@ -108,6 +108,7 @@ public:
virtual bool spellingUIIsShowing();
virtual void getGuessesForWord(const WebCore::String& word,
WTF::Vector<WebCore::String>& guesses);
+ virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
// Shows the form autofill popup for |node| if it is an HTMLInputElement and
diff --git a/WebKit/chromium/src/GLES2Context.cpp b/WebKit/chromium/src/GLES2Context.cpp
index f342436..b4b4bb2 100644
--- a/WebKit/chromium/src/GLES2Context.cpp
+++ b/WebKit/chromium/src/GLES2Context.cpp
@@ -31,6 +31,7 @@
#include "config.h"
#include "GLES2Context.h"
+#include "GLES2ContextInternal.h"
#include "IntSize.h"
#include "WebGLES2Context.h"
#include "WebKit.h"
@@ -52,68 +53,23 @@ using namespace WebKit;
namespace WebCore {
-class GLES2ContextInternal {
-public:
- GLES2ContextInternal() {}
- ~GLES2ContextInternal() {}
-
- bool initializeOnscreen(Page*);
- bool initializeOffscreen(GLES2Context*);
-
- WebGLES2Context* getWebGLES2Context() { return m_impl; }
-
-private:
- WebGLES2Context* m_impl;
-};
-
-bool GLES2ContextInternal::initializeOnscreen(Page* page)
+PassOwnPtr<GLES2ContextInternal> GLES2ContextInternal::create(WebGLES2Context* impl, bool owns)
{
- ASSERT(page);
- WebViewImpl* webView = WebViewImpl::fromPage(page);
- m_impl = webView->gles2Context();
- if (!m_impl)
- return false;
-
- return true;
-}
-
-bool GLES2ContextInternal::initializeOffscreen(GLES2Context* parent)
-{
- m_impl = webKitClient()->createGLES2Context();
- if (!m_impl)
- return false;
- if (!m_impl->initialize(0, parent ? parent->m_internal->m_impl : 0)) {
- delete m_impl;
- return false;
- }
- return true;
+ PassOwnPtr<GLES2ContextInternal> result = new GLES2ContextInternal(impl, owns);
+ return result;
}
-PassOwnPtr<GLES2Context> GLES2Context::createOnscreen(Page* page)
+PassOwnPtr<GLES2Context> GLES2Context::create(PassOwnPtr<GLES2ContextInternal> internal)
{
- GLES2ContextInternal* internal = new GLES2ContextInternal();
- if (!internal->initializeOnscreen(page)) {
- delete internal;
- return 0;
- }
PassOwnPtr<GLES2Context> result = new GLES2Context();
- result->m_internal.set(internal);
+ result->m_internal = internal;
return result;
}
-PassOwnPtr<GLES2Context> GLES2Context::createOffscreen(GLES2Context* parent)
+GLES2Context::GLES2Context()
{
- GLES2ContextInternal* internal = new GLES2ContextInternal();
- if (!internal->initializeOffscreen(parent)) {
- delete internal;
- return 0;
- }
- PassOwnPtr<GLES2Context> result = new GLES2Context();
- result->m_internal.set(internal);
- return result;
}
-
GLES2Context::~GLES2Context()
{
}
diff --git a/WebKit/chromium/src/GLES2ContextInternal.cpp b/WebKit/chromium/src/GLES2ContextInternal.cpp
new file mode 100644
index 0000000..33eb602
--- /dev/null
+++ b/WebKit/chromium/src/GLES2ContextInternal.cpp
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#include "GLES2ContextInternal.h"
+
+#include "WebGLES2Context.h"
+
+namespace WebCore {
+
+GLES2ContextInternal::GLES2ContextInternal(WebKit::WebGLES2Context* impl, bool owns)
+ : m_impl(impl)
+ , m_owns(owns)
+{
+}
+
+GLES2ContextInternal::~GLES2ContextInternal()
+{
+ if (m_owns)
+ delete m_impl;
+}
+
+} // namespace WebCore
+
diff --git a/WebKit/chromium/src/GLES2ContextInternal.h b/WebKit/chromium/src/GLES2ContextInternal.h
new file mode 100644
index 0000000..4668311
--- /dev/null
+++ b/WebKit/chromium/src/GLES2ContextInternal.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <wtf/PassOwnPtr.h>
+
+namespace WebKit {
+class WebGLES2Context;
+}
+
+namespace WebCore {
+
+class GLES2ContextInternal {
+public:
+ // If 'owns' is set to true, this GLES2ContextInternal takes ownership of the passed in WebKit::WebGLES2Context.
+ static PassOwnPtr<GLES2ContextInternal> create(WebKit::WebGLES2Context* impl, bool owns);
+
+ WebKit::WebGLES2Context* getWebGLES2Context() { return m_impl; }
+
+ ~GLES2ContextInternal();
+
+private:
+ GLES2ContextInternal(WebKit::WebGLES2Context* impl, bool owns);
+
+ WebKit::WebGLES2Context* m_impl;
+ bool m_owns;
+};
+
+}
diff --git a/WebKit/chromium/src/GraphicsContext3D.cpp b/WebKit/chromium/src/GraphicsContext3D.cpp
index 7ba0bce..fec0b20 100644
--- a/WebKit/chromium/src/GraphicsContext3D.cpp
+++ b/WebKit/chromium/src/GraphicsContext3D.cpp
@@ -112,6 +112,7 @@ public:
void reshape(int width, int height);
+ void paintRenderingResultsToCanvas(WebGLRenderingContext* context);
void beginPaint(WebGLRenderingContext* context);
void endPaint();
@@ -139,7 +140,9 @@ public:
void blendFuncSeparate(unsigned long srcRGB, unsigned long dstRGB, unsigned long srcAlpha, unsigned long dstAlpha);
void bufferData(unsigned long target, int size, unsigned long usage);
+ void bufferData(unsigned long target, ArrayBuffer* data, unsigned long usage);
void bufferData(unsigned long target, ArrayBufferView* data, unsigned long usage);
+ void bufferSubData(unsigned long target, long offset, ArrayBuffer* data);
void bufferSubData(unsigned long target, long offset, ArrayBufferView* data);
unsigned long checkFramebufferStatus(unsigned long target);
@@ -397,7 +400,7 @@ WebGLLayerChromium* GraphicsContext3DInternal::platformLayer() const
}
#endif
-void GraphicsContext3DInternal::beginPaint(WebGLRenderingContext* context)
+void GraphicsContext3DInternal::paintRenderingResultsToCanvas(WebGLRenderingContext* context)
{
HTMLCanvasElement* canvas = context->canvas();
ImageBuffer* imageBuffer = canvas->buffer();
@@ -447,44 +450,20 @@ void GraphicsContext3DInternal::beginPaint(WebGLRenderingContext* context)
canvas.drawBitmapRect(m_resizingBitmap, 0, dst);
}
#elif PLATFORM(CG)
- if (m_renderOutput) {
- int rowBytes = m_impl->width() * 4;
- CGDataProviderRef dataProvider = CGDataProviderCreateWithData(0, m_renderOutput, rowBytes * m_impl->height(), 0);
- CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
- CGImageRef cgImage = CGImageCreate(m_impl->width(),
- m_impl->height(),
- 8,
- 32,
- rowBytes,
- colorSpace,
- kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host,
- dataProvider,
- 0,
- false,
- kCGRenderingIntentDefault);
- // CSS styling may cause the canvas's content to be resized on
- // the page. Go back to the Canvas to figure out the correct
- // width and height to draw.
- CGRect rect = CGRectMake(0, 0,
- context->canvas()->width(),
- context->canvas()->height());
- // We want to completely overwrite the previous frame's
- // rendering results.
- CGContextSetBlendMode(imageBuffer->context()->platformContext(),
- kCGBlendModeCopy);
- CGContextSetInterpolationQuality(imageBuffer->context()->platformContext(),
- kCGInterpolationNone);
- CGContextDrawImage(imageBuffer->context()->platformContext(),
- rect, cgImage);
- CGImageRelease(cgImage);
- CGColorSpaceRelease(colorSpace);
- CGDataProviderRelease(dataProvider);
- }
+ if (m_renderOutput)
+ context->graphicsContext3D()->paintToCanvas(m_renderOutput, m_impl->width(), m_impl->height(),
+ canvas->width(), canvas->height(),
+ imageBuffer->context()->platformContext());
#else
#error Must port to your platform
#endif
}
+void GraphicsContext3DInternal::beginPaint(WebGLRenderingContext* context)
+{
+ paintRenderingResultsToCanvas(context);
+}
+
void GraphicsContext3DInternal::endPaint()
{
}
@@ -718,11 +697,21 @@ void GraphicsContext3DInternal::bufferData(unsigned long target, int size, unsig
m_impl->bufferData(target, size, 0, usage);
}
+void GraphicsContext3DInternal::bufferData(unsigned long target, ArrayBuffer* array, unsigned long usage)
+{
+ m_impl->bufferData(target, array->byteLength(), array->data(), usage);
+}
+
void GraphicsContext3DInternal::bufferData(unsigned long target, ArrayBufferView* array, unsigned long usage)
{
m_impl->bufferData(target, array->byteLength(), array->baseAddress(), usage);
}
+void GraphicsContext3DInternal::bufferSubData(unsigned long target, long offset, ArrayBuffer* array)
+{
+ m_impl->bufferSubData(target, offset, array->byteLength(), array->data());
+}
+
void GraphicsContext3DInternal::bufferSubData(unsigned long target, long offset, ArrayBufferView* array)
{
m_impl->bufferSubData(target, offset, array->byteLength(), array->baseAddress());
@@ -1165,7 +1154,9 @@ DELEGATE_TO_INTERNAL_2(blendFunc, unsigned long, unsigned long)
DELEGATE_TO_INTERNAL_4(blendFuncSeparate, unsigned long, unsigned long, unsigned long, unsigned long)
DELEGATE_TO_INTERNAL_3(bufferData, unsigned long, int, unsigned long)
+DELEGATE_TO_INTERNAL_3(bufferData, unsigned long, ArrayBuffer*, unsigned long)
DELEGATE_TO_INTERNAL_3(bufferData, unsigned long, ArrayBufferView*, unsigned long)
+DELEGATE_TO_INTERNAL_3(bufferSubData, unsigned long, long, ArrayBuffer*)
DELEGATE_TO_INTERNAL_3(bufferSubData, unsigned long, long, ArrayBufferView*)
DELEGATE_TO_INTERNAL_1R(checkFramebufferStatus, unsigned long, unsigned long)
@@ -1311,6 +1302,7 @@ DELEGATE_TO_INTERNAL_6(vertexAttribPointer, unsigned long, int, int, bool, unsig
DELEGATE_TO_INTERNAL_4(viewport, long, long, unsigned long, unsigned long)
+DELEGATE_TO_INTERNAL_1(paintRenderingResultsToCanvas, WebGLRenderingContext*)
DELEGATE_TO_INTERNAL_1(beginPaint, WebGLRenderingContext*)
DELEGATE_TO_INTERNAL(endPaint)
diff --git a/WebKit/chromium/src/InspectorFrontendClientImpl.cpp b/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
index 83b925a..73cedfa 100644
--- a/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
+++ b/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
@@ -71,9 +71,6 @@ void InspectorFrontendClientImpl::windowObjectCleared()
v8::Handle<v8::Object> global = frameContext->Global();
global->Set(v8::String::New("InspectorFrontendHost"), frontendHostObj);
-#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
- global->Set(v8::String::New("v8ScriptDebugServerEnabled"), v8::True());
-#endif
}
void InspectorFrontendClientImpl::frontendLoaded()
diff --git a/WebKit/chromium/src/ResourceHandle.cpp b/WebKit/chromium/src/ResourceHandle.cpp
index a13400d..88f7f39 100644
--- a/WebKit/chromium/src/ResourceHandle.cpp
+++ b/WebKit/chromium/src/ResourceHandle.cpp
@@ -226,7 +226,7 @@ PassRefPtr<ResourceHandle> ResourceHandle::create(const ResourceRequest& request
return 0;
}
-const ResourceRequest& ResourceHandle::request() const
+ResourceRequest& ResourceHandle::firstRequest()
{
return d->m_request;
}
@@ -252,6 +252,11 @@ bool ResourceHandle::start(Frame* deprecated)
return true;
}
+bool ResourceHandle::hasAuthenticationChallenge() const
+{
+ return false;
+}
+
void ResourceHandle::clearAuthentication()
{
}
diff --git a/WebKit/chromium/src/WebAccessibilityCacheImpl.cpp b/WebKit/chromium/src/WebAccessibilityCacheImpl.cpp
index 03e5f46..abb63cc 100644
--- a/WebKit/chromium/src/WebAccessibilityCacheImpl.cpp
+++ b/WebKit/chromium/src/WebAccessibilityCacheImpl.cpp
@@ -64,14 +64,15 @@ WebAccessibilityCache* WebAccessibilityCache::create()
PassRefPtr<WebAccessibilityCacheImpl::WeakHandle> WebAccessibilityCacheImpl::WeakHandle::create(AccessibilityObject* object)
{
// FIXME: Remove resetting ref-count from AccessibilityObjectWrapper
- // and convert to use adoptRef.
- return new WebAccessibilityCacheImpl::WeakHandle(object);
+ RefPtr<WebAccessibilityCacheImpl::WeakHandle> weakHandle = adoptRef(new WebAccessibilityCacheImpl::WeakHandle(object));
+ weakHandle->m_object->setWrapper(weakHandle.get());
+
+ return weakHandle.release();
}
WebAccessibilityCacheImpl::WeakHandle::WeakHandle(AccessibilityObject* object)
: AccessibilityObjectWrapper(object)
{
- m_object->setWrapper(this);
}
// WebAccessibilityCacheImpl ----------------------------------------
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 4205c62..0d8cbad 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -231,9 +231,7 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl(
WebDevToolsAgentImpl::~WebDevToolsAgentImpl()
{
DebuggerAgentManager::onWebViewClosed(m_webViewImpl);
-#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
ClientMessageLoopAdapter::inspectedViewClosed(m_webViewImpl);
-#endif
disposeUtilityContext();
}
@@ -250,10 +248,8 @@ void WebDevToolsAgentImpl::attach()
if (m_attached)
return;
-#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
if (!m_client->exposeV8DebuggerProtocol())
ClientMessageLoopAdapter::ensureClientMessageLoopCreated(m_client);
-#endif
m_debuggerAgentImpl.set(
new DebuggerAgentImpl(m_webViewImpl,
@@ -294,9 +290,7 @@ void WebDevToolsAgentImpl::detach()
void WebDevToolsAgentImpl::didNavigate()
{
-#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
ClientMessageLoopAdapter::didNavigate();
-#endif
DebuggerAgentManager::onNavigate();
}
@@ -432,11 +426,9 @@ void WebDevToolsAgentImpl::createInspectorFrontendProxy()
m_utilityContext = v8::Context::New();
compileUtilityScripts();
initDevToolsAgentHost();
-#if ENABLE(V8_SCRIPT_DEBUG_SERVER)
WebCString debuggerScriptJs = m_client->debuggerScriptSource();
WebCore::ScriptDebugServer::shared().setDebuggerScriptSource(
WebCore::String(debuggerScriptJs.data(), debuggerScriptJs.length()));
-#endif
}
void WebDevToolsAgentImpl::setInspectorFrontendProxyToInspectorController()
diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
index eda2f77..3e83f18 100644
--- a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
@@ -105,9 +105,9 @@ WebDevToolsFrontendImpl::WebDevToolsFrontendImpl(
InspectorController* ic = m_webViewImpl->page()->inspectorController();
ic->setInspectorFrontendClient(new InspectorFrontendClientImpl(m_webViewImpl->page(), m_client, this));
- // Put DevTools frontend Page into its own group so that it's not
- // deferred along with inspected page.
- m_webViewImpl->page()->setGroupName("DevToolsFrontend");
+ // Put each DevTools frontend Page into its own (single page) group so that it's not
+ // deferred along with the inspected page.
+ m_webViewImpl->page()->setGroupName(String());
WebFrameImpl* frame = m_webViewImpl->mainFrameImpl();
v8::HandleScope scope;
@@ -174,6 +174,8 @@ void WebDevToolsFrontendImpl::executeScript(const Vector<String>& v)
Vector< v8::Handle<v8::Value> > args;
for (size_t i = 0; i < v.size(); i++)
args.append(ToV8String(v.at(i)));
+ v8::TryCatch tryCatch;
+ tryCatch.SetVerbose(true);
function->Call(frameContext->Global(), args.size(), args.data());
}
diff --git a/WebKit/chromium/src/WebFormElement.cpp b/WebKit/chromium/src/WebFormElement.cpp
index 8b4ce04..9c77732 100644
--- a/WebKit/chromium/src/WebFormElement.cpp
+++ b/WebKit/chromium/src/WebFormElement.cpp
@@ -31,6 +31,7 @@
#include "config.h"
#include "WebFormElement.h"
+#include "FormState.h"
#include "HTMLFormControlElement.h"
#include "HTMLFormElement.h"
#include "HTMLInputElement.h"
@@ -55,16 +56,21 @@ WebString WebFormElement::action() const
return constUnwrap<HTMLFormElement>()->action();
}
-WebString WebFormElement::name() const
+WebString WebFormElement::name() const
{
return constUnwrap<HTMLFormElement>()->name();
}
-WebString WebFormElement::method() const
+WebString WebFormElement::method() const
{
return constUnwrap<HTMLFormElement>()->method();
}
-
+
+bool WebFormElement::wasUserSubmitted() const
+{
+ return constUnwrap<HTMLFormElement>()->submissionTrigger() == NotSubmittedByJavaScript;
+}
+
void WebFormElement::submit()
{
unwrap<HTMLFormElement>()->submit();
@@ -77,7 +83,7 @@ void WebFormElement::getNamedElements(const WebString& name,
unwrap<HTMLFormElement>()->getNamedElements(name, tempVector);
result.assign(tempVector);
}
-
+
void WebFormElement::getFormControlElements(WebVector<WebFormControlElement>& result) const
{
const HTMLFormElement* form = constUnwrap<HTMLFormElement>();
diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp
index 535d128..f1c30e2 100644
--- a/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/WebKit/chromium/src/WebFrameImpl.cpp
@@ -2101,9 +2101,9 @@ int WebFrameImpl::ordinalOfFirstMatchForFrame(WebFrameImpl* frame) const
bool WebFrameImpl::shouldScopeMatches(const String& searchText)
{
- // Don't scope if we can't find a frame or if the frame is not visible.
+ // Don't scope if we can't find a frame or a view or if the frame is not visible.
// The user may have closed the tab/application, so abort.
- if (!frame() || !hasVisibleContent())
+ if (!frame() || !frame()->view() || !hasVisibleContent())
return false;
ASSERT(frame()->document() && frame()->view());
diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
index 0863ec8..47bb5a0 100644
--- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
+++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
@@ -710,7 +710,7 @@ bool WebGraphicsContext3DDefaultImpl::readBackFramebuffer(unsigned char* pixels,
// vertical flip is only a temporary solution anyway until Chrome
// is fully GPU composited, it wasn't worth the complexity.
- bool mustRestoreFBO;
+ bool mustRestoreFBO = false;
if (m_attributes.antialias) {
glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, m_multisampleFBO);
glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, m_fbo);
@@ -1120,6 +1120,10 @@ void WebGraphicsContext3DDefaultImpl::getIntegerv(unsigned long pname, int* valu
// Need to emulate IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for GL. Any valid
// combination should work, but GL_RGB/GL_UNSIGNED_BYTE might be the most
// useful for desktop WebGL users.
+ // Need to emulate MAX_FRAGMENT/VERTEX_UNIFORM_VECTORS and MAX_VARYING_VECTORS
+ // because desktop GL's corresponding queries return the number of components
+ // whereas GLES2 return the number of vectors (each vector has 4 components).
+ // Therefore, the value returned by desktop GL needs to be divided by 4.
makeContextCurrent();
switch (pname) {
case 0x8B9B: // IMPLEMENTATION_COLOR_READ_FORMAT
@@ -1128,6 +1132,18 @@ void WebGraphicsContext3DDefaultImpl::getIntegerv(unsigned long pname, int* valu
case 0x8B9A: // IMPLEMENTATION_COLOR_READ_TYPE
*value = GL_UNSIGNED_BYTE;
break;
+ case 0x8DFD: // MAX_FRAGMENT_UNIFORM_VECTORS
+ glGetIntegerv(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, value);
+ *value /= 4;
+ break;
+ case 0x8DFB: // MAX_VERTEX_UNIFORM_VECTORS
+ glGetIntegerv(GL_MAX_VERTEX_UNIFORM_COMPONENTS, value);
+ *value /= 4;
+ break;
+ case 0x8DFC: // MAX_VARYING_VECTORS
+ glGetIntegerv(GL_MAX_VARYING_FLOATS, value);
+ *value /= 4;
+ break;
default:
glGetIntegerv(pname, value);
}
diff --git a/WebKit/chromium/src/WebIDBDatabaseError.cpp b/WebKit/chromium/src/WebIDBDatabaseError.cpp
index 17fdd38..cbbe14a 100644
--- a/WebKit/chromium/src/WebIDBDatabaseError.cpp
+++ b/WebKit/chromium/src/WebIDBDatabaseError.cpp
@@ -40,11 +40,6 @@ using namespace WebCore;
namespace WebKit {
-WebIDBDatabaseError::~WebIDBDatabaseError()
-{
- m_private.reset();
-}
-
void WebIDBDatabaseError::assign(const WebIDBDatabaseError& value)
{
m_private = value.m_private;
@@ -55,6 +50,11 @@ void WebIDBDatabaseError::assign(unsigned short code, const WebString& message)
m_private = IDBDatabaseError::create(code, message);
}
+void WebIDBDatabaseError::reset()
+{
+ m_private.reset();
+}
+
unsigned short WebIDBDatabaseError::code() const
{
return m_private->code();
diff --git a/WebKit/chromium/src/WebIDBKey.cpp b/WebKit/chromium/src/WebIDBKey.cpp
index a52ea56..1c4c685 100644
--- a/WebKit/chromium/src/WebIDBKey.cpp
+++ b/WebKit/chromium/src/WebIDBKey.cpp
@@ -36,11 +36,6 @@ using namespace WebCore;
namespace WebKit {
-WebIDBKey::~WebIDBKey()
-{
- m_private.reset();
-}
-
WebIDBKey WebIDBKey::createNull()
{
WebIDBKey key;
@@ -80,6 +75,11 @@ void WebIDBKey::assignInvalid()
m_private = 0;
}
+void WebIDBKey::reset()
+{
+ m_private.reset();
+}
+
WebIDBKey::Type WebIDBKey::type() const
{
if (!m_private.get())
diff --git a/WebKit/chromium/src/WebMediaElement.cpp b/WebKit/chromium/src/WebMediaElement.cpp
new file mode 100644
index 0000000..4adda1e
--- /dev/null
+++ b/WebKit/chromium/src/WebMediaElement.cpp
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebMediaElement.h"
+
+#include "HTMLMediaElement.h"
+#include "MediaPlayer.h"
+#include "WebMediaPlayer.h"
+#include "WebMediaPlayerClientImpl.h"
+#include <wtf/PassRefPtr.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebMediaPlayer* WebMediaElement::player() const
+{
+ return WebMediaPlayerClientImpl::fromMediaElement(this)->mediaPlayer();
+}
+
+WebMediaElement::WebMediaElement(const PassRefPtr<HTMLMediaElement>& elem)
+ : WebElement(elem)
+{
+}
+
+WebMediaElement& WebMediaElement::operator=(const PassRefPtr<HTMLMediaElement>& elem)
+{
+ m_private = elem;
+ return *this;
+}
+
+WebMediaElement::operator PassRefPtr<HTMLMediaElement>() const
+{
+ return static_cast<HTMLMediaElement*>(m_private.get());
+}
+} // namespace WebKit
diff --git a/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp b/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
index 03051c3..2b0c9a7 100644
--- a/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
+++ b/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
@@ -14,7 +14,13 @@
#include "KURL.h"
#include "MediaPlayer.h"
#include "NotImplemented.h"
+#include "RenderView.h"
#include "TimeRanges.h"
+#include "VideoLayerChromium.h"
+
+#if USE(ACCELERATED_COMPOSITING)
+#include "RenderLayerCompositor.h"
+#endif
#include "WebCanvas.h"
#include "WebCString.h"
@@ -22,12 +28,14 @@
#include "WebFrameImpl.h"
#include "WebKit.h"
#include "WebKitClient.h"
+#include "WebMediaElement.h"
#include "WebMediaPlayer.h"
#include "WebMimeRegistry.h"
#include "WebRect.h"
#include "WebSize.h"
#include "WebString.h"
#include "WebURL.h"
+#include "WebViewImpl.h"
// WebCommon.h defines WEBKIT_USING_SKIA so this has to be included last.
#if WEBKIT_USING_SKIA
@@ -45,6 +53,7 @@ static WebMediaPlayer* createWebMediaPlayer(
WebMediaPlayerClient* client, Frame* frame)
{
WebFrameImpl* webFrame = WebFrameImpl::fromFrame(frame);
+
if (!webFrame->client())
return 0;
return webFrame->client()->createMediaPlayer(webFrame, client);
@@ -71,6 +80,17 @@ void WebMediaPlayerClientImpl::registerSelf(MediaEngineRegistrar registrar)
}
}
+WebMediaPlayerClientImpl* WebMediaPlayerClientImpl::fromMediaElement(const WebMediaElement* element)
+{
+ PlatformMedia pm = element->constUnwrap<HTMLMediaElement>()->platformMedia();
+ return static_cast<WebMediaPlayerClientImpl*>(pm.media.chromiumMediaPlayer);
+}
+
+WebMediaPlayer* WebMediaPlayerClientImpl::mediaPlayer() const
+{
+ return m_webMediaPlayer.get();
+}
+
// WebMediaPlayerClient --------------------------------------------------------
void WebMediaPlayerClientImpl::networkStateChanged()
@@ -146,6 +166,7 @@ void WebMediaPlayerClientImpl::load(const String& url)
{
Frame* frame = static_cast<HTMLMediaElement*>(
m_mediaPlayer->mediaPlayerClient())->document()->frame();
+
m_webMediaPlayer.set(createWebMediaPlayer(this, frame));
if (m_webMediaPlayer.get())
m_webMediaPlayer->load(KURL(ParsedURLString, url));
@@ -157,6 +178,22 @@ void WebMediaPlayerClientImpl::cancelLoad()
m_webMediaPlayer->cancelLoad();
}
+#if USE(ACCELERATED_COMPOSITING)
+PlatformLayer* WebMediaPlayerClientImpl::platformLayer() const
+{
+ ASSERT(m_supportsAcceleratedCompositing);
+ return m_videoLayer.get();
+}
+#endif
+
+PlatformMedia WebMediaPlayerClientImpl::platformMedia() const
+{
+ PlatformMedia pm;
+ pm.type = PlatformMedia::ChromiumMediaPlayerType;
+ pm.media.chromiumMediaPlayer = const_cast<WebMediaPlayerClientImpl*>(this);
+ return pm;
+}
+
void WebMediaPlayerClientImpl::play()
{
if (m_webMediaPlayer.get())
@@ -360,6 +397,13 @@ bool WebMediaPlayerClientImpl::hasSingleSecurityOrigin() const
return false;
}
+#if USE(ACCELERATED_COMPOSITING)
+bool WebMediaPlayerClientImpl::supportsAcceleratedRendering() const
+{
+ return m_supportsAcceleratedCompositing;
+}
+#endif
+
MediaPlayer::MovieLoadType WebMediaPlayerClientImpl::movieLoadType() const
{
if (m_webMediaPlayer.get())
@@ -372,6 +416,22 @@ MediaPlayerPrivateInterface* WebMediaPlayerClientImpl::create(MediaPlayer* playe
{
WebMediaPlayerClientImpl* client = new WebMediaPlayerClientImpl();
client->m_mediaPlayer = player;
+
+#if USE(ACCELERATED_COMPOSITING)
+ Frame* frame = static_cast<HTMLMediaElement*>(
+ client->m_mediaPlayer->mediaPlayerClient())->document()->frame();
+
+ // This does not actually check whether the hardware can support accelerated
+ // compositing, but only if the flag is set. However, this is checked lazily
+ // in WebViewImpl::setIsAcceleratedCompositingActive() and will fail there
+ // if necessary.
+ client->m_supportsAcceleratedCompositing =
+ frame->contentRenderer()->compositor()->hasAcceleratedCompositing();
+
+ if (client->m_supportsAcceleratedCompositing)
+ client->m_videoLayer = VideoLayerChromium::create(0);
+#endif
+
return client;
}
@@ -402,6 +462,10 @@ MediaPlayer::SupportsType WebMediaPlayerClientImpl::supportsType(const String& t
WebMediaPlayerClientImpl::WebMediaPlayerClientImpl()
: m_mediaPlayer(0)
+#if USE(ACCELERATED_COMPOSITING)
+ , m_videoLayer(0)
+ , m_supportsAcceleratedCompositing(false)
+#endif
{
}
diff --git a/WebKit/chromium/src/WebMediaPlayerClientImpl.h b/WebKit/chromium/src/WebMediaPlayerClientImpl.h
index 57c93b7..0faac26 100644
--- a/WebKit/chromium/src/WebMediaPlayerClientImpl.h
+++ b/WebKit/chromium/src/WebMediaPlayerClientImpl.h
@@ -39,6 +39,7 @@
namespace WebKit {
+class WebMediaElement;
class WebMediaPlayer;
// This class serves as a bridge between WebCore::MediaPlayer and
@@ -50,6 +51,11 @@ public:
static void setIsEnabled(bool);
static void registerSelf(WebCore::MediaEngineRegistrar);
+ static WebMediaPlayerClientImpl* fromMediaElement(const WebMediaElement* element);
+
+ // Returns the encapsulated WebKit::WebMediaPlayer.
+ WebMediaPlayer* mediaPlayer() const;
+
// WebMediaPlayerClient methods:
virtual void networkStateChanged();
virtual void readyStateChanged();
@@ -66,6 +72,10 @@ public:
// MediaPlayerPrivateInterface methods:
virtual void load(const WebCore::String& url);
virtual void cancelLoad();
+#if USE(ACCELERATED_COMPOSITING)
+ virtual WebCore::PlatformLayer* platformLayer() const;
+#endif
+ virtual WebCore::PlatformMedia platformMedia() const;
virtual void play();
virtual void pause();
virtual bool supportsFullscreen() const;
@@ -94,6 +104,10 @@ public:
virtual void setSize(const WebCore::IntSize&);
virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&);
virtual bool hasSingleSecurityOrigin() const;
+#if USE(ACCELERATED_COMPOSITING)
+ virtual bool supportsAcceleratedRendering() const;
+#endif
+
virtual WebCore::MediaPlayer::MovieLoadType movieLoadType() const;
private:
@@ -106,6 +120,10 @@ private:
WebCore::MediaPlayer* m_mediaPlayer;
OwnPtr<WebMediaPlayer> m_webMediaPlayer;
+#if USE(ACCELERATED_COMPOSITING)
+ RefPtr<WebCore::PlatformLayer> m_videoLayer;
+ bool m_supportsAcceleratedCompositing;
+#endif
static bool m_isEnabled;
};
diff --git a/WebKit/chromium/src/WebOptionElement.cpp b/WebKit/chromium/src/WebOptionElement.cpp
new file mode 100644
index 0000000..49bff3b
--- /dev/null
+++ b/WebKit/chromium/src/WebOptionElement.cpp
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebOptionElement.h"
+
+#include "HTMLNames.h"
+#include "HTMLOptionElement.h"
+#include "HTMLSelectElement.h"
+#include "WebString.h"
+#include <wtf/PassRefPtr.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void WebOptionElement::setValue(const WebString& newValue)
+{
+ return unwrap<HTMLOptionElement>()->setValue(newValue);
+}
+
+WebString WebOptionElement::value() const
+{
+ return constUnwrap<HTMLOptionElement>()->value();
+}
+
+int WebOptionElement::index() const
+{
+ return constUnwrap<HTMLOptionElement>()->index();
+}
+
+WebString WebOptionElement::text() const
+{
+ return constUnwrap<HTMLOptionElement>()->text();
+}
+
+bool WebOptionElement::defaultSelected() const
+{
+ return constUnwrap<HTMLOptionElement>()->defaultSelected();
+}
+
+void WebOptionElement::setDefaultSelected(bool newSelected)
+{
+ return unwrap<HTMLOptionElement>()->setDefaultSelected(newSelected);
+}
+
+WebString WebOptionElement::label() const
+{
+ return constUnwrap<HTMLOptionElement>()->label();
+}
+
+bool WebOptionElement::isEnabled() const
+{
+ return !(constUnwrap<HTMLOptionElement>()->disabled());
+}
+
+WebOptionElement::WebOptionElement(const PassRefPtr<HTMLOptionElement>& elem)
+ : WebFormControlElement(elem)
+{
+}
+
+WebOptionElement& WebOptionElement::operator=(const PassRefPtr<HTMLOptionElement>& elem)
+{
+ m_private = elem;
+ return *this;
+}
+
+WebOptionElement::operator PassRefPtr<HTMLOptionElement>() const
+{
+ return static_cast<HTMLOptionElement*>(m_private.get());
+}
+
+} // namespace WebKit
diff --git a/WebKit/chromium/src/WebPopupMenuImpl.cpp b/WebKit/chromium/src/WebPopupMenuImpl.cpp
index 2abdc62..75d6cc1 100644
--- a/WebKit/chromium/src/WebPopupMenuImpl.cpp
+++ b/WebKit/chromium/src/WebPopupMenuImpl.cpp
@@ -318,6 +318,10 @@ void WebPopupMenuImpl::scrollbarsModeDidChange() const
// Nothing to be done since we have no concept of different scrollbar modes.
}
+void WebPopupMenuImpl::setCursor(const WebCore::Cursor&)
+{
+}
+
//-----------------------------------------------------------------------------
// WebCore::FramelessScrollViewClient
diff --git a/WebKit/chromium/src/WebPopupMenuImpl.h b/WebKit/chromium/src/WebPopupMenuImpl.h
index 4f5c2de..edbb4ab 100644
--- a/WebKit/chromium/src/WebPopupMenuImpl.h
+++ b/WebKit/chromium/src/WebPopupMenuImpl.h
@@ -110,6 +110,7 @@ public:
virtual PlatformPageClient platformPageClient() const { return 0; }
virtual void scrollRectIntoView(const WebCore::IntRect&, const WebCore::ScrollView*) const;
virtual void scrollbarsModeDidChange() const;
+ virtual void setCursor(const WebCore::Cursor&);
// WebCore::FramelessScrollViewClient methods:
virtual void popupClosed(WebCore::FramelessScrollView*);
diff --git a/WebKit/chromium/src/WebRuntimeFeatures.cpp b/WebKit/chromium/src/WebRuntimeFeatures.cpp
index 595a47f..efb287c 100644
--- a/WebKit/chromium/src/WebRuntimeFeatures.cpp
+++ b/WebKit/chromium/src/WebRuntimeFeatures.cpp
@@ -226,4 +226,14 @@ bool WebRuntimeFeatures::isTouchEnabled()
#endif
}
+void WebRuntimeFeatures::enableDeviceOrientation(bool enable)
+{
+ RuntimeEnabledFeatures::setDeviceOrientationEnabled(enable);
+}
+
+bool WebRuntimeFeatures::isDeviceOrientationEnabled()
+{
+ return RuntimeEnabledFeatures::deviceOrientationEnabled();
+}
+
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebSelectElement.cpp b/WebKit/chromium/src/WebSelectElement.cpp
index 6516cc3..79a4d85 100644
--- a/WebKit/chromium/src/WebSelectElement.cpp
+++ b/WebKit/chromium/src/WebSelectElement.cpp
@@ -31,6 +31,8 @@
#include "config.h"
#include "WebSelectElement.h"
+#include "HTMLNames.h"
+#include "HTMLOptionElement.h"
#include "HTMLSelectElement.h"
#include "WebString.h"
#include <wtf/PassRefPtr.h>
@@ -49,6 +51,16 @@ WebString WebSelectElement::value()
return unwrap<HTMLSelectElement>()->value();
}
+WebVector<WebElement> WebSelectElement::listItems()
+{
+ const Vector<Element*>& sourceItems = unwrap<HTMLSelectElement>()->listItems();
+ WebVector<WebElement> items(sourceItems.size());
+ for (size_t i = 0; i < sourceItems.size(); ++i)
+ items[i] = WebElement(static_cast<HTMLElement*>(sourceItems[i]));
+
+ return items;
+}
+
WebSelectElement::WebSelectElement(const PassRefPtr<HTMLSelectElement>& elem)
: WebFormControlElement(elem)
{
diff --git a/WebKit/chromium/src/WebSettingsImpl.cpp b/WebKit/chromium/src/WebSettingsImpl.cpp
index 7e89a77..6a02ed6 100644
--- a/WebKit/chromium/src/WebSettingsImpl.cpp
+++ b/WebKit/chromium/src/WebSettingsImpl.cpp
@@ -284,4 +284,9 @@ void WebSettingsImpl::setHTML5ParserEnabled(bool enabled)
m_settings->setHTML5ParserEnabled(enabled);
}
+void WebSettingsImpl::setMemoryInfoEnabled(bool enabled)
+{
+ m_settings->setMemoryInfoEnabled(enabled);
+}
+
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebSettingsImpl.h b/WebKit/chromium/src/WebSettingsImpl.h
index 70bd792..fe5db51 100644
--- a/WebKit/chromium/src/WebSettingsImpl.h
+++ b/WebKit/chromium/src/WebSettingsImpl.h
@@ -88,6 +88,7 @@ public:
virtual void setEditingBehavior(EditingBehavior);
virtual void setAcceleratedCompositingEnabled(bool);
virtual void setHTML5ParserEnabled(bool);
+ virtual void setMemoryInfoEnabled(bool);
private:
WebCore::Settings* m_settings;
diff --git a/WebKit/chromium/src/WebURLRequest.cpp b/WebKit/chromium/src/WebURLRequest.cpp
index 3b2d251..69dfac4 100644
--- a/WebKit/chromium/src/WebURLRequest.cpp
+++ b/WebKit/chromium/src/WebURLRequest.cpp
@@ -245,6 +245,16 @@ void WebURLRequest::setAppCacheHostID(int appCacheHostID)
m_private->m_resourceRequest->setAppCacheHostID(appCacheHostID);
}
+bool WebURLRequest::downloadToFile() const
+{
+ return m_private->m_downloadToFile;
+}
+
+void WebURLRequest::setDownloadToFile(bool downloadToFile)
+{
+ m_private->m_downloadToFile = downloadToFile;
+}
+
ResourceRequest& WebURLRequest::toMutableResourceRequest()
{
ASSERT(m_private);
diff --git a/WebKit/chromium/src/WebURLRequestPrivate.h b/WebKit/chromium/src/WebURLRequestPrivate.h
index 2f7c25f..79f6451 100644
--- a/WebKit/chromium/src/WebURLRequestPrivate.h
+++ b/WebKit/chromium/src/WebURLRequestPrivate.h
@@ -37,13 +37,19 @@ namespace WebKit {
class WebURLRequestPrivate {
public:
- WebURLRequestPrivate() : m_resourceRequest(0), m_allowStoredCredentials(true) { }
+ WebURLRequestPrivate()
+ : m_resourceRequest(0)
+ , m_allowStoredCredentials(true)
+ , m_downloadToFile(false) { }
// Called by WebURLRequest when it no longer needs this object.
virtual void dispose() = 0;
WebCore::ResourceRequest* m_resourceRequest;
bool m_allowStoredCredentials;
+
+ // FIXME: Move this to ResourceRequest once we have an internal consumer.
+ bool m_downloadToFile;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebURLResponse.cpp b/WebKit/chromium/src/WebURLResponse.cpp
index 2b7facc..0511f8d 100644
--- a/WebKit/chromium/src/WebURLResponse.cpp
+++ b/WebKit/chromium/src/WebURLResponse.cpp
@@ -107,6 +107,16 @@ void WebURLResponse::setConnectionID(unsigned connectionID)
m_private->m_resourceResponse->setConnectionID(connectionID);
}
+bool WebURLResponse::connectionReused() const
+{
+ return m_private->m_resourceResponse->connectionReused();
+}
+
+void WebURLResponse::setConnectionReused(bool connectionReused)
+{
+ m_private->m_resourceResponse->setConnectionReused(connectionReused);
+}
+
WebURLLoadTiming WebURLResponse::loadTiming()
{
return WebURLLoadTiming(m_private->m_resourceResponse->resourceLoadTiming());
@@ -352,6 +362,16 @@ void WebURLResponse::setIsMultipartPayload(bool value)
m_private->m_resourceResponse->setIsMultipartPayload(value);
}
+WebString WebURLResponse::downloadFilePath() const
+{
+ return m_private->m_downloadFilePath;
+}
+
+void WebURLResponse::setDownloadFilePath(const WebString& downloadFilePath)
+{
+ m_private->m_downloadFilePath = downloadFilePath;
+}
+
void WebURLResponse::assign(WebURLResponsePrivate* p)
{
// Subclasses may call this directly so a self-assignment check is needed
diff --git a/WebKit/chromium/src/WebURLResponsePrivate.h b/WebKit/chromium/src/WebURLResponsePrivate.h
index 716c8db..dc5ce22 100644
--- a/WebKit/chromium/src/WebURLResponsePrivate.h
+++ b/WebKit/chromium/src/WebURLResponsePrivate.h
@@ -31,6 +31,8 @@
#ifndef WebURLResponsePrivate_h
#define WebURLResponsePrivate_h
+#include "WebString.h"
+
namespace WebCore { class ResourceResponse; }
namespace WebKit {
@@ -43,6 +45,9 @@ public:
virtual void dispose() = 0;
WebCore::ResourceResponse* m_resourceResponse;
+
+ // FIXME: Move this to ResourceResponse once we have an internal consumer.
+ WebString m_downloadFilePath;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index d1ca71e..83c8822 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -54,10 +54,12 @@
#include "FrameLoader.h"
#include "FrameTree.h"
#include "FrameView.h"
+#include "GLES2Context.h"
+#include "GLES2ContextInternal.h"
#include "GraphicsContext.h"
-#include "HitTestResult.h"
#include "HTMLInputElement.h"
#include "HTMLMediaElement.h"
+#include "HitTestResult.h"
#include "HTMLNames.h"
#include "Image.h"
#include "InspectorController.h"
@@ -73,6 +75,7 @@
#include "PlatformContextSkia.h"
#include "PlatformKeyboardEvent.h"
#include "PlatformMouseEvent.h"
+#include "PlatformThemeChromiumGtk.h"
#include "PlatformWheelEvent.h"
#include "PopupMenuChromium.h"
#include "PopupMenuClient.h"
@@ -91,6 +94,7 @@
#include "WebDragData.h"
#include "WebFrameImpl.h"
#include "WebImage.h"
+#include "WebInputElement.h"
#include "WebInputEvent.h"
#include "WebInputEventConversion.h"
#include "WebKit.h"
@@ -157,10 +161,11 @@ COMPILE_ASSERT_MATCHING_ENUM(DragOperationDelete);
COMPILE_ASSERT_MATCHING_ENUM(DragOperationEvery);
static const PopupContainerSettings autoFillPopupSettings = {
- false, // setTextOnIndexChange
- false, // acceptOnAbandon
- true, // loopSelectionNavigation
- true, // restrictWidthOfListBox. Same as other browser (Fx, IE, and safari)
+ false, // setTextOnIndexChange
+ false, // acceptOnAbandon
+ true, // loopSelectionNavigation
+ false, // restrictWidthOfListBox (For security reasons show the entire entry
+ // so the user doesn't enter information it did not intend to.)
// For suggestions, we use the direction of the input field as the direction
// of the popup items. The main reason is to keep the display of items in
// drop-down the same as the items in the input field.
@@ -588,8 +593,11 @@ bool WebViewImpl::autocompleteHandleKeyEvent(const WebKeyboardEvent& event)
}
int selectedIndex = m_autoFillPopup->selectedIndex();
- HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(element);
- WebString name = inputElement->name();
+
+ if (!m_autoFillPopupClient->canRemoveSuggestionAtIndex(selectedIndex))
+ return false;
+
+ WebString name = WebInputElement(static_cast<HTMLInputElement*>(element)).nameForAutofill();
WebString value = m_autoFillPopupClient->itemText(selectedIndex);
m_client->removeAutofillSuggestions(name, value);
// Update the entries in the currently showing popup to reflect the
@@ -1237,6 +1245,9 @@ WebRect WebViewImpl::caretOrSelectionBounds()
if (controller->isCaret())
rect = view->contentsToWindow(controller->absoluteCaretBounds());
else if (controller->isRange()) {
+ node = controller->end().node();
+ if (!node || !node->renderer())
+ return rect;
RefPtr<Range> range = controller->toNormalizedRange();
rect = view->contentsToWindow(focused->firstRectForRange(range.get()));
}
@@ -1722,7 +1733,19 @@ void WebViewImpl::applyAutoFillSuggestions(
const WebVector<WebString>& labels,
int separatorIndex)
{
+ WebVector<int> uniqueIDs(names.size());
+ applyAutoFillSuggestions(node, names, labels, uniqueIDs, separatorIndex);
+}
+
+void WebViewImpl::applyAutoFillSuggestions(
+ const WebNode& node,
+ const WebVector<WebString>& names,
+ const WebVector<WebString>& labels,
+ const WebVector<int>& uniqueIDs,
+ int separatorIndex)
+{
ASSERT(names.size() == labels.size());
+ ASSERT(names.size() == uniqueIDs.size());
ASSERT(separatorIndex < static_cast<int>(names.size()));
if (names.isEmpty()) {
@@ -1747,7 +1770,8 @@ void WebViewImpl::applyAutoFillSuggestions(
if (!m_autoFillPopupClient.get())
m_autoFillPopupClient.set(new AutoFillPopupMenuClient);
- m_autoFillPopupClient->initialize(inputElem, names, labels, separatorIndex);
+ m_autoFillPopupClient->initialize(
+ inputElem, names, labels, uniqueIDs, separatorIndex);
if (!m_autoFillPopup.get()) {
m_autoFillPopup = PopupContainer::create(m_autoFillPopupClient.get(),
@@ -1756,7 +1780,8 @@ void WebViewImpl::applyAutoFillSuggestions(
}
if (m_autoFillPopupShowing) {
- m_autoFillPopupClient->setSuggestions(names, labels, separatorIndex);
+ m_autoFillPopupClient->setSuggestions(
+ names, labels, uniqueIDs, separatorIndex);
refreshAutoFillPopup();
} else {
m_autoFillPopup->show(focusedNode->getRect(),
@@ -1778,13 +1803,12 @@ void WebViewImpl::applyAutocompleteSuggestions(
{
WebVector<WebString> names(suggestions.size());
WebVector<WebString> labels(suggestions.size());
+ WebVector<int> uniqueIDs(suggestions.size());
- for (size_t i = 0; i < suggestions.size(); ++i) {
+ for (size_t i = 0; i < suggestions.size(); ++i)
names[i] = suggestions[i];
- labels[i] = WebString();
- }
- applyAutoFillSuggestions(node, names, labels, -1);
+ applyAutoFillSuggestions(node, names, labels, uniqueIDs, -1);
if (m_autoFillPopupClient)
m_autoFillPopupClient->setAutocompleteMode(true);
}
@@ -1852,7 +1876,7 @@ void WebViewImpl::setScrollbarColors(unsigned inactiveColor,
unsigned activeColor,
unsigned trackColor) {
#if OS(LINUX)
- RenderThemeChromiumLinux::setScrollbarColors(inactiveColor,
+ PlatformThemeChromiumGtk::setScrollbarColors(inactiveColor,
activeColor,
trackColor);
#endif
@@ -2058,7 +2082,7 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
return;
if (active) {
- m_layerRenderer = LayerRendererChromium::create(page());
+ m_layerRenderer = LayerRendererChromium::create(getOnscreenGLES2Context());
if (m_layerRenderer->hardwareCompositing())
m_isAcceleratedCompositingActive = true;
else {
@@ -2132,6 +2156,21 @@ void WebViewImpl::setRootLayerNeedsDisplay()
}
#endif // USE(ACCELERATED_COMPOSITING)
+PassOwnPtr<GLES2Context> WebViewImpl::getOnscreenGLES2Context()
+{
+ return GLES2Context::create(GLES2ContextInternal::create(gles2Context(), false));
+}
+
+PassOwnPtr<GLES2Context> WebViewImpl::getOffscreenGLES2Context()
+{
+ WebGLES2Context* context = webKitClient()->createGLES2Context();
+ if (!context)
+ return 0;
+ if (!context->initialize(0, gles2Context()))
+ return 0;
+ return GLES2Context::create(GLES2ContextInternal::create(context, true));
+}
+
// Returns the GLES2 context associated with this View. If one doesn't exist
// it will get created first.
WebGLES2Context* WebViewImpl::gles2Context()
diff --git a/WebKit/chromium/src/WebViewImpl.h b/WebKit/chromium/src/WebViewImpl.h
index db2a1d2..312f20f 100644
--- a/WebKit/chromium/src/WebViewImpl.h
+++ b/WebKit/chromium/src/WebViewImpl.h
@@ -53,6 +53,7 @@
namespace WebCore {
class ChromiumDataObject;
class Frame;
+class GLES2Context;
class HistoryItem;
class HitTestResult;
class KeyboardEvent;
@@ -164,11 +165,18 @@ public:
const WebString& value);
virtual WebDevToolsAgent* devToolsAgent();
virtual WebAccessibilityObject accessibilityObject();
+ // DEPRECATED.
virtual void applyAutoFillSuggestions(
const WebNode&,
const WebVector<WebString>& names,
const WebVector<WebString>& labels,
int separatorIndex);
+ virtual void applyAutoFillSuggestions(
+ const WebNode&,
+ const WebVector<WebString>& names,
+ const WebVector<WebString>& labels,
+ const WebVector<int>& uniqueIDs,
+ int separatorIndex);
// DEPRECATED: replacing with applyAutoFillSuggestions.
virtual void applyAutocompleteSuggestions(
const WebNode&,
@@ -183,7 +191,6 @@ public:
unsigned inactiveBackgroundColor,
unsigned inactiveForegroundColor);
virtual void performCustomContextMenuAction(unsigned action);
- virtual WebGLES2Context* gles2Context();
// WebViewImpl
@@ -314,6 +321,14 @@ public:
void setRootLayerNeedsDisplay();
void setRootGraphicsLayer(WebCore::PlatformLayer*);
#endif
+ // Onscreen contexts display to the screen associated with this view.
+ // Offscreen contexts render offscreen but can share resources with the
+ // onscreen context and thus can be composited.
+ PassOwnPtr<WebCore::GLES2Context> getOnscreenGLES2Context();
+ PassOwnPtr<WebCore::GLES2Context> getOffscreenGLES2Context();
+
+ // Returns an onscreen context
+ virtual WebGLES2Context* gles2Context();
WebCore::PopupContainer* selectPopup() const { return m_selectPopup.get(); }
diff --git a/WebKit/chromium/src/gtk/WebFontInfo.cpp b/WebKit/chromium/src/gtk/WebFontInfo.cpp
index 3ac0b00..dd25eb1 100644
--- a/WebKit/chromium/src/gtk/WebFontInfo.cpp
+++ b/WebKit/chromium/src/gtk/WebFontInfo.cpp
@@ -165,6 +165,23 @@ void WebFontInfo::renderStyleForStrike(const char* family, int sizeAndStyle, Web
out->useHinting = b;
if (FcPatternGetInteger(match, FC_HINT_STYLE, 0, &i) == FcResultMatch)
out->hintStyle = i;
+ if (FcPatternGetInteger(match, FC_RGBA, 0, &i) == FcResultMatch) {
+ switch (i) {
+ case FC_RGBA_NONE:
+ out->useSubpixel = 0;
+ break;
+ case FC_RGBA_RGB:
+ case FC_RGBA_BGR:
+ case FC_RGBA_VRGB:
+ case FC_RGBA_VBGR:
+ out->useSubpixel = 1;
+ break;
+ default:
+ // This includes FC_RGBA_UNKNOWN.
+ out->useSubpixel = 2;
+ break;
+ }
+ }
FcPatternDestroy(match);
}
diff --git a/WebKit/chromium/src/js/DebuggerAgent.js b/WebKit/chromium/src/js/DebuggerAgent.js
deleted file mode 100644
index 01d7627..0000000
--- a/WebKit/chromium/src/js/DebuggerAgent.js
+++ /dev/null
@@ -1,1605 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * @fileoverview Provides communication interface to remote v8 debugger. See
- * protocol decription at http://code.google.com/p/v8/wiki/DebuggerProtocol
- */
-
-/**
- * FIXME: change field naming style to use trailing underscore.
- * @constructor
- */
-devtools.DebuggerAgent = function()
-{
- RemoteDebuggerAgent.debuggerOutput = this.handleDebuggerOutput_.bind(this);
- RemoteDebuggerAgent.setContextId = this.setContextId_.bind(this);
-
- /**
- * Id of the inspected page global context. It is used for filtering scripts.
- * @type {number}
- */
- this.contextId_ = null;
-
- /**
- * Mapping from script id to script info.
- * @type {Object}
- */
- this.parsedScripts_ = null;
-
- /**
- * Mapping from the request id to the devtools.BreakpointInfo for the
- * breakpoints whose v8 ids are not set yet. These breakpoints are waiting for
- * "setbreakpoint" responses to learn their ids in the v8 debugger.
- * @see #handleSetBreakpointResponse_
- * @type {Object}
- */
- this.requestNumberToBreakpointInfo_ = null;
-
- /**
- * Information on current stack frames.
- * @type {Array.<devtools.CallFrame>}
- */
- this.callFrames_ = [];
-
- /**
- * Whether to stop in the debugger on the exceptions.
- * @type {boolean}
- */
- this.pauseOnExceptions_ = false;
-
- /**
- * Mapping: request sequence number->callback.
- * @type {Object}
- */
- this.requestSeqToCallback_ = null;
-
- /**
- * Whether the scripts panel has been shown and initialilzed.
- * @type {boolean}
- */
- this.scriptsPanelInitialized_ = false;
-
- /**
- * Whether the scripts list should be requested next time when context id is
- * set.
- * @type {boolean}
- */
- this.requestScriptsWhenContextIdSet_ = false;
-
- /**
- * Whether the agent is waiting for initial scripts response.
- * @type {boolean}
- */
- this.waitingForInitialScriptsResponse_ = false;
-
- /**
- * If backtrace response is received when initial scripts response
- * is not yet processed the backtrace handling will be postponed until
- * after the scripts response processing. The handler bound to its arguments
- * and this agent will be stored in this field then.
- * @type {?function()}
- */
- this.pendingBacktraceResponseHandler_ = null;
-
- /**
- * Container of all breakpoints set using resource URL. These breakpoints
- * survive page reload. Breakpoints set by script id(for scripts that don't
- * have URLs) are stored in ScriptInfo objects.
- * @type {Object}
- */
- this.urlToBreakpoints_ = {};
-
- /**
- * Exception message that is shown to user while on exception break.
- * @type {WebInspector.ConsoleMessage}
- */
- this.currentExceptionMessage_ = null;
-
- /**
- * Whether breakpoints should suspend execution.
- * @type {boolean}
- */
- this.breakpointsActivated_ = true;
-};
-
-
-/**
- * A copy of the scope types from v8/src/mirror-delay.js
- * @enum {number}
- */
-devtools.DebuggerAgent.ScopeType = {
- Global: 0,
- Local: 1,
- With: 2,
- Closure: 3,
- Catch: 4
-};
-
-
-/**
- * Resets debugger agent to its initial state.
- */
-devtools.DebuggerAgent.prototype.reset = function()
-{
- this.contextId_ = null;
- // No need to request scripts since they all will be pushed in AfterCompile
- // events.
- this.requestScriptsWhenContextIdSet_ = false;
- this.waitingForInitialScriptsResponse_ = false;
-
- this.parsedScripts_ = {};
- this.requestNumberToBreakpointInfo_ = {};
- this.callFrames_ = [];
- this.requestSeqToCallback_ = {};
-};
-
-
-/**
- * Initializes scripts UI. This method is called every time Scripts panel
- * is shown. It will send request for context id if it's not set yet.
- */
-devtools.DebuggerAgent.prototype.initUI = function()
-{
- // Initialize scripts cache when Scripts panel is shown first time.
- if (this.scriptsPanelInitialized_)
- return;
- this.scriptsPanelInitialized_ = true;
- if (this.contextId_) {
- // We already have context id. This means that we are here from the
- // very beginning of the page load cycle and hence will get all scripts
- // via after-compile events. No need to request scripts for this session.
- //
- // There can be a number of scripts from after-compile events that are
- // pending addition into the UI.
- for (var scriptId in this.parsedScripts_) {
- var script = this.parsedScripts_[scriptId];
- WebInspector.parsedScriptSource(scriptId, script.getUrl(), undefined /* script source */, script.getLineOffset() + 1, script.worldType());
- this.restoreBreakpoints_(scriptId, script.getUrl());
- }
- return;
- }
- this.waitingForInitialScriptsResponse_ = true;
- // Script list should be requested only when current context id is known.
- RemoteDebuggerAgent.getContextId();
- this.requestScriptsWhenContextIdSet_ = true;
-};
-
-
-/**
- * Asynchronously requests the debugger for the script source.
- * @param {number} scriptId Id of the script whose source should be resolved.
- * @param {function(source:?string):void} callback Function that will be called
- * when the source resolution is completed. "source" parameter will be null
- * if the resolution fails.
- */
-devtools.DebuggerAgent.prototype.resolveScriptSource = function(scriptId, callback)
-{
- var script = this.parsedScripts_[scriptId];
- if (!script || script.isUnresolved()) {
- callback(null);
- return;
- }
-
- var cmd = new devtools.DebugCommand("scripts", {
- "ids": [scriptId],
- "includeSource": true
- });
- devtools.DebuggerAgent.sendCommand_(cmd);
- // Force v8 execution so that it gets to processing the requested command.
- RemoteDebuggerAgent.processDebugCommands();
-
- var self = this;
- this.requestSeqToCallback_[cmd.getSequenceNumber()] = function(msg) {
- if (msg.isSuccess()) {
- var scriptJson = msg.getBody()[0];
- if (scriptJson) {
- script.source = scriptJson.source;
- callback(scriptJson.source);
- }
- else
- callback(null);
- } else
- callback(null);
- };
-};
-
-
-/**
- * Tells the v8 debugger to stop on as soon as possible.
- */
-devtools.DebuggerAgent.prototype.pauseExecution = function()
-{
- RemoteDebuggerCommandExecutor.DebuggerPauseScript();
-};
-
-
-/**
- * @param {number} sourceId Id of the script fot the breakpoint.
- * @param {number} line Number of the line for the breakpoint.
- * @param {?string} condition The breakpoint condition.
- */
-devtools.DebuggerAgent.prototype.addBreakpoint = function(sourceId, line, enabled, condition)
-{
- var script = this.parsedScripts_[sourceId];
- if (!script)
- return;
-
- line = devtools.DebuggerAgent.webkitToV8LineNumber_(line);
-
- var commandArguments;
- if (script.getUrl()) {
- var breakpoints = this.urlToBreakpoints_[script.getUrl()];
- if (breakpoints && breakpoints[line])
- return;
- if (!breakpoints) {
- breakpoints = {};
- this.urlToBreakpoints_[script.getUrl()] = breakpoints;
- }
-
- var breakpointInfo = new devtools.BreakpointInfo(line, enabled, condition);
- breakpoints[line] = breakpointInfo;
-
- commandArguments = {
- "groupId": this.contextId_,
- "type": "script",
- "target": script.getUrl(),
- "line": line,
- "condition": condition
- };
- } else {
- var breakpointInfo = script.getBreakpointInfo(line);
- if (breakpointInfo)
- return;
-
- breakpointInfo = new devtools.BreakpointInfo(line, enabled, condition);
- script.addBreakpointInfo(breakpointInfo);
-
- commandArguments = {
- "groupId": this.contextId_,
- "type": "scriptId",
- "target": sourceId,
- "line": line,
- "condition": condition
- };
- }
-
- if (!enabled)
- return;
-
- var cmd = new devtools.DebugCommand("setbreakpoint", commandArguments);
-
- this.requestNumberToBreakpointInfo_[cmd.getSequenceNumber()] = breakpointInfo;
-
- devtools.DebuggerAgent.sendCommand_(cmd);
- // Force v8 execution so that it gets to processing the requested command.
- // It is necessary for being able to change a breakpoint just after it
- // has been created (since we need an existing breakpoint id for that).
- RemoteDebuggerAgent.processDebugCommands();
-};
-
-
-/**
- * Changes given line of the script.
- */
-devtools.DebuggerAgent.prototype.editScriptSource = function(sourceId, newContent, callback)
-{
- var commandArguments = {
- "script_id": sourceId,
- "new_source": newContent
- };
-
- var cmd = new devtools.DebugCommand("changelive", commandArguments);
- devtools.DebuggerAgent.sendCommand_(cmd);
- this.requestSeqToCallback_[cmd.getSequenceNumber()] = function(msg) {
- if (!msg.isSuccess()) {
- callback(false, "Unable to modify source code within given scope. Only function bodies are editable at the moment.", null);
- return;
- }
-
- this.resolveScriptSource(sourceId, requestBacktrace.bind(this));
- }.bind(this);
-
-
- function requestBacktrace(newScriptSource) {
- if (WebInspector.panels.scripts.paused)
- this.requestBacktrace_(handleBacktraceResponse.bind(this, newScriptSource));
- else
- reportDidCommitEditing(newScriptSource);
- }
-
- function handleBacktraceResponse(newScriptSource, msg) {
- this.updateCallFramesFromBacktraceResponse_(msg);
- reportDidCommitEditing(newScriptSource, this.callFrames_);
- }
-
- function reportDidCommitEditing(newScriptSource, callFrames) {
- callback(true, newScriptSource, callFrames);
- }
-
- RemoteDebuggerAgent.processDebugCommands();
-};
-
-
-/**
- * @param {number} sourceId Id of the script for the breakpoint.
- * @param {number} line Number of the line for the breakpoint.
- */
-devtools.DebuggerAgent.prototype.removeBreakpoint = function(sourceId, line)
-{
- var script = this.parsedScripts_[sourceId];
- if (!script)
- return;
-
- line = devtools.DebuggerAgent.webkitToV8LineNumber_(line);
-
- var breakpointInfo;
- if (script.getUrl()) {
- var breakpoints = this.urlToBreakpoints_[script.getUrl()];
- if (!breakpoints)
- return;
- breakpointInfo = breakpoints[line];
- delete breakpoints[line];
- } else {
- breakpointInfo = script.getBreakpointInfo(line);
- if (breakpointInfo)
- script.removeBreakpointInfo(breakpointInfo);
- }
-
- if (!breakpointInfo)
- return;
-
- breakpointInfo.markAsRemoved();
-
- var id = breakpointInfo.getV8Id();
-
- // If we don't know id of this breakpoint in the v8 debugger we cannot send
- // "clearbreakpoint" request. In that case it will be removed in
- // "setbreakpoint" response handler when we learn the id.
- if (id !== -1) {
- this.requestClearBreakpoint_(id);
- }
-};
-
-
-/**
- * @param {boolean} activated Whether breakpoints should be activated.
- */
-devtools.DebuggerAgent.prototype.setBreakpointsActivated = function(activated)
-{
- this.breakpointsActivated_ = activated;
-};
-
-
-/**
- * Tells the v8 debugger to step into the next statement.
- */
-devtools.DebuggerAgent.prototype.stepIntoStatement = function()
-{
- this.stepCommand_("in");
-};
-
-
-/**
- * Tells the v8 debugger to step out of current function.
- */
-devtools.DebuggerAgent.prototype.stepOutOfFunction = function()
-{
- this.stepCommand_("out");
-};
-
-
-/**
- * Tells the v8 debugger to step over the next statement.
- */
-devtools.DebuggerAgent.prototype.stepOverStatement = function()
-{
- this.stepCommand_("next");
-};
-
-
-/**
- * Tells the v8 debugger to continue execution after it has been stopped on a
- * breakpoint or an exception.
- */
-devtools.DebuggerAgent.prototype.resumeExecution = function()
-{
- this.clearExceptionMessage_();
- var cmd = new devtools.DebugCommand("continue");
- devtools.DebuggerAgent.sendCommand_(cmd);
-};
-
-
-/**
- * Creates exception message and schedules it for addition to the resource upon
- * backtrace availability.
- * @param {string} url Resource url.
- * @param {number} line Resource line number.
- * @param {string} message Exception text.
- */
-devtools.DebuggerAgent.prototype.createExceptionMessage_ = function(url, line, message)
-{
- this.currentExceptionMessage_ = new WebInspector.ConsoleMessage(
- WebInspector.ConsoleMessage.MessageSource.JS,
- WebInspector.ConsoleMessage.MessageType.Log,
- WebInspector.ConsoleMessage.MessageLevel.Error,
- line,
- url,
- 0 /* group level */,
- 1 /* repeat count */,
- "[Exception] " + message);
-};
-
-
-/**
- * Shows pending exception message that is created with createExceptionMessage_
- * earlier.
- */
-devtools.DebuggerAgent.prototype.showPendingExceptionMessage_ = function()
-{
- if (!this.currentExceptionMessage_)
- return;
- var msg = this.currentExceptionMessage_;
- var resource = WebInspector.resourceURLMap[msg.url];
- if (resource) {
- msg.resource = resource;
- WebInspector.panels.resources.addMessageToResource(resource, msg);
- } else
- this.currentExceptionMessage_ = null;
-};
-
-
-/**
- * Clears exception message from the resource.
- */
-devtools.DebuggerAgent.prototype.clearExceptionMessage_ = function()
-{
- if (this.currentExceptionMessage_) {
- var messageElement = this.currentExceptionMessage_._resourceMessageLineElement;
- var bubble = messageElement.parentElement;
- bubble.removeChild(messageElement);
- if (!bubble.firstChild) {
- // Last message in bubble removed.
- bubble.parentElement.removeChild(bubble);
- }
- this.currentExceptionMessage_ = null;
- }
-};
-
-
-/**
- * @return {boolean} True iff the debugger will pause execution on the
- * exceptions.
- */
-devtools.DebuggerAgent.prototype.pauseOnExceptions = function()
-{
- return this.pauseOnExceptions_;
-};
-
-
-/**
- * Tells whether to pause in the debugger on the exceptions or not.
- * @param {boolean} value True iff execution should be stopped in the debugger
- * on the exceptions.
- */
-devtools.DebuggerAgent.prototype.setPauseOnExceptions = function(value)
-{
- this.pauseOnExceptions_ = value;
-};
-
-
-/**
- * Sends "evaluate" request to the debugger.
- * @param {Object} arguments Request arguments map.
- * @param {function(devtools.DebuggerMessage)} callback Callback to be called
- * when response is received.
- */
-devtools.DebuggerAgent.prototype.requestEvaluate = function(arguments, callback)
-{
- var cmd = new devtools.DebugCommand("evaluate", arguments);
- devtools.DebuggerAgent.sendCommand_(cmd);
- this.requestSeqToCallback_[cmd.getSequenceNumber()] = callback;
-};
-
-
-/**
- * Sends "lookup" request for each unresolved property of the object. When
- * response is received the properties will be changed with their resolved
- * values.
- * @param {Object} object Object whose properties should be resolved.
- * @param {function(devtools.DebuggerMessage)} Callback to be called when all
- * children are resolved.
- * @param {boolean} noIntrinsic Whether intrinsic properties should be included.
- */
-devtools.DebuggerAgent.prototype.resolveChildren = function(object, callback, noIntrinsic)
-{
- if ("handle" in object) {
- var result = [];
- devtools.DebuggerAgent.formatObjectProperties_(object, result, noIntrinsic);
- callback(result);
- } else {
- this.requestLookup_([object.ref], function(msg) {
- var result = [];
- if (msg.isSuccess()) {
- var handleToObject = msg.getBody();
- var resolved = handleToObject[object.ref];
- devtools.DebuggerAgent.formatObjectProperties_(resolved, result, noIntrinsic);
- callback(result);
- } else
- callback([]);
- });
- }
-};
-
-
-/**
- * Sends "scope" request for the scope object to resolve its variables.
- * @param {Object} scope Scope to be resolved.
- * @param {function(Array.<WebInspector.ObjectPropertyProxy>)} callback
- * Callback to be called when all scope variables are resolved.
- */
-devtools.DebuggerAgent.prototype.resolveScope = function(scope, callback)
-{
- var cmd = new devtools.DebugCommand("scope", {
- "frameNumber": scope.frameNumber,
- "number": scope.index,
- "compactFormat": true
- });
- devtools.DebuggerAgent.sendCommand_(cmd);
- this.requestSeqToCallback_[cmd.getSequenceNumber()] = function(msg) {
- var result = [];
- if (msg.isSuccess()) {
- var scopeObjectJson = msg.getBody().object;
- devtools.DebuggerAgent.formatObjectProperties_(scopeObjectJson, result, true /* no intrinsic */);
- }
- callback(result);
- };
-};
-
-
-/**
- * Sends "scopes" request for the frame object to resolve all variables
- * available in the frame.
- * @param {number} callFrameId Id of call frame whose variables need to
- * be resolved.
- * @param {function(Object)} callback Callback to be called when all frame
- * variables are resolved.
- */
-devtools.DebuggerAgent.prototype.resolveFrameVariables_ = function(callFrameId, callback)
-{
- var result = {};
-
- var frame = this.callFrames_[callFrameId];
- if (!frame) {
- callback(result);
- return;
- }
-
- var waitingResponses = 0;
- function scopeResponseHandler(msg) {
- waitingResponses--;
-
- if (msg.isSuccess()) {
- var properties = msg.getBody().object.properties;
- for (var j = 0; j < properties.length; j++)
- result[properties[j].name] = true;
- }
-
- // When all scopes are resolved invoke the callback.
- if (waitingResponses === 0)
- callback(result);
- };
-
- for (var i = 0; i < frame.scopeChain.length; i++) {
- var scope = frame.scopeChain[i].objectId;
- if (scope.type === devtools.DebuggerAgent.ScopeType.Global) {
- // Do not resolve global scope since it takes for too long.
- // TODO(yurys): allow to send only property names in the response.
- continue;
- }
- var cmd = new devtools.DebugCommand("scope", {
- "frameNumber": scope.frameNumber,
- "number": scope.index,
- "compactFormat": true
- });
- devtools.DebuggerAgent.sendCommand_(cmd);
- this.requestSeqToCallback_[cmd.getSequenceNumber()] = scopeResponseHandler;
- waitingResponses++;
- }
-};
-
-/**
- * Evaluates the expressionString to an object in the call frame and reports
- * all its properties.
- * @param{string} expressionString Expression whose properties should be
- * collected.
- * @param{number} callFrameId The frame id.
- * @param{function(Object result,bool isException)} reportCompletions Callback
- * function.
- */
-devtools.DebuggerAgent.prototype.resolveCompletionsOnFrame = function(expressionString, callFrameId, reportCompletions)
-{
- if (expressionString) {
- expressionString = "var obj = " + expressionString +
- "; var names = {}; for (var n in obj) { names[n] = true; };" +
- "names;";
- this.evaluateInCallFrame(
- callFrameId,
- expressionString,
- function(result) {
- var names = {};
- if (!result.isException) {
- var props = result.value.objectId.properties;
- // Put all object properties into the map.
- for (var i = 0; i < props.length; i++)
- names[props[i].name] = true;
- }
- reportCompletions(names, result.isException);
- });
- } else {
- this.resolveFrameVariables_(callFrameId,
- function(result) {
- reportCompletions(result, false /* isException */);
- });
- }
-};
-
-
-/**
- * @param{number} scriptId
- * @return {string} Type of the context of the script with specified id.
- */
-devtools.DebuggerAgent.prototype.getScriptContextType = function(scriptId)
-{
- return this.parsedScripts_[scriptId].getContextType();
-};
-
-
-/**
- * Removes specified breakpoint from the v8 debugger.
- * @param {number} breakpointId Id of the breakpoint in the v8 debugger.
- */
-devtools.DebuggerAgent.prototype.requestClearBreakpoint_ = function(breakpointId)
-{
- var cmd = new devtools.DebugCommand("clearbreakpoint", {
- "breakpoint": breakpointId
- });
- devtools.DebuggerAgent.sendCommand_(cmd);
-};
-
-
-/**
- * Sends "backtrace" request to v8.
- */
-devtools.DebuggerAgent.prototype.requestBacktrace_ = function(opt_customHandler)
-{
- var cmd = new devtools.DebugCommand("backtrace", {
- "compactFormat":true
- });
- devtools.DebuggerAgent.sendCommand_(cmd);
- var responseHandler = opt_customHandler ? opt_customHandler : this.handleBacktraceResponse_.bind(this);
- this.requestSeqToCallback_[cmd.getSequenceNumber()] = responseHandler;
-};
-
-
-/**
- * Sends command to v8 debugger.
- * @param {devtools.DebugCommand} cmd Command to execute.
- */
-devtools.DebuggerAgent.sendCommand_ = function(cmd)
-{
- RemoteDebuggerCommandExecutor.DebuggerCommand(cmd.toJSONProtocol());
-};
-
-
-/**
- * Tells the v8 debugger to make the next execution step.
- * @param {string} action "in", "out" or "next" action.
- */
-devtools.DebuggerAgent.prototype.stepCommand_ = function(action)
-{
- this.clearExceptionMessage_();
- var cmd = new devtools.DebugCommand("continue", {
- "stepaction": action,
- "stepcount": 1
- });
- devtools.DebuggerAgent.sendCommand_(cmd);
-};
-
-
-/**
- * Sends "lookup" request to v8.
- * @param {number} handle Handle to the object to lookup.
- */
-devtools.DebuggerAgent.prototype.requestLookup_ = function(handles, callback)
-{
- var cmd = new devtools.DebugCommand("lookup", {
- "compactFormat":true,
- "handles": handles
- });
- devtools.DebuggerAgent.sendCommand_(cmd);
- this.requestSeqToCallback_[cmd.getSequenceNumber()] = callback;
-};
-
-
-/**
- * Sets debugger context id for scripts filtering.
- * @param {number} contextId Id of the inspected page global context.
- */
-devtools.DebuggerAgent.prototype.setContextId_ = function(contextId)
-{
- this.contextId_ = contextId;
-
- // If it's the first time context id is set request scripts list.
- if (this.requestScriptsWhenContextIdSet_) {
- this.requestScriptsWhenContextIdSet_ = false;
- var cmd = new devtools.DebugCommand("scripts", {
- "includeSource": false
- });
- devtools.DebuggerAgent.sendCommand_(cmd);
- // Force v8 execution so that it gets to processing the requested command.
- RemoteDebuggerAgent.processDebugCommands();
-
- var debuggerAgent = this;
- this.requestSeqToCallback_[cmd.getSequenceNumber()] = function(msg) {
- // Handle the response iff the context id hasn't changed since the request
- // was issued. Otherwise if the context id did change all up-to-date
- // scripts will be pushed in after compile events and there is no need to
- // handle the response.
- if (contextId === debuggerAgent.contextId_)
- debuggerAgent.handleScriptsResponse_(msg);
-
- // We received initial scripts response so flush the flag and
- // see if there is an unhandled backtrace response.
- debuggerAgent.waitingForInitialScriptsResponse_ = false;
- if (debuggerAgent.pendingBacktraceResponseHandler_) {
- debuggerAgent.pendingBacktraceResponseHandler_();
- debuggerAgent.pendingBacktraceResponseHandler_ = null;
- }
- };
- }
-};
-
-
-/**
- * Handles output sent by v8 debugger. The output is either asynchronous event
- * or response to a previously sent request. See protocol definitioun for more
- * details on the output format.
- * @param {string} output
- */
-devtools.DebuggerAgent.prototype.handleDebuggerOutput_ = function(output)
-{
- var msg;
- try {
- msg = new devtools.DebuggerMessage(output);
- } catch(e) {
- debugPrint("Failed to handle debugger response:\n" + e);
- throw e;
- }
-
- if (msg.getType() === "event") {
- if (msg.getEvent() === "break")
- this.handleBreakEvent_(msg);
- else if (msg.getEvent() === "exception")
- this.handleExceptionEvent_(msg);
- else if (msg.getEvent() === "afterCompile")
- this.handleAfterCompileEvent_(msg);
- } else if (msg.getType() === "response") {
- if (msg.getCommand() === "scripts")
- this.invokeCallbackForResponse_(msg);
- else if (msg.getCommand() === "setbreakpoint")
- this.handleSetBreakpointResponse_(msg);
- else if (msg.getCommand() === "changelive")
- this.invokeCallbackForResponse_(msg);
- else if (msg.getCommand() === "clearbreakpoint")
- this.handleClearBreakpointResponse_(msg);
- else if (msg.getCommand() === "backtrace")
- this.invokeCallbackForResponse_(msg);
- else if (msg.getCommand() === "lookup")
- this.invokeCallbackForResponse_(msg);
- else if (msg.getCommand() === "evaluate")
- this.invokeCallbackForResponse_(msg);
- else if (msg.getCommand() === "scope")
- this.invokeCallbackForResponse_(msg);
- }
-};
-
-
-/**
- * @param {devtools.DebuggerMessage} msg
- */
-devtools.DebuggerAgent.prototype.handleBreakEvent_ = function(msg)
-{
- if (!this.breakpointsActivated_) {
- this.resumeExecution();
- return;
- }
-
- // Force scripts panel to be shown first.
- WebInspector.currentPanel = WebInspector.panels.scripts;
-
- var body = msg.getBody();
-
- var line = devtools.DebuggerAgent.v8ToWwebkitLineNumber_(body.sourceLine);
- this.requestBacktrace_();
-};
-
-
-/**
- * @param {devtools.DebuggerMessage} msg
- */
-devtools.DebuggerAgent.prototype.handleExceptionEvent_ = function(msg)
-{
- var body = msg.getBody();
- // No script field in the body means that v8 failed to parse the script. We
- // resume execution on parser errors automatically.
- if (this.pauseOnExceptions_ && body.script) {
- var line = devtools.DebuggerAgent.v8ToWwebkitLineNumber_(body.sourceLine);
- this.createExceptionMessage_(body.script.name, line, body.exception.text);
- this.requestBacktrace_();
-
- // Force scripts panel to be shown.
- WebInspector.currentPanel = WebInspector.panels.scripts;
- } else
- this.resumeExecution();
-};
-
-
-/**
- * @param {devtools.DebuggerMessage} msg
- */
-devtools.DebuggerAgent.prototype.handleScriptsResponse_ = function(msg)
-{
- var scripts = msg.getBody();
- for (var i = 0; i < scripts.length; i++) {
- var script = scripts[i];
-
- // Skip scripts from other tabs.
- if (!this.isScriptFromInspectedContext_(script, msg))
- continue;
-
- // We may already have received the info in an afterCompile event.
- if (script.id in this.parsedScripts_)
- continue;
- this.addScriptInfo_(script, msg);
- }
-};
-
-
-/**
- * @param {Object} script Json object representing script.
- * @param {devtools.DebuggerMessage} msg Debugger response.
- */
-devtools.DebuggerAgent.prototype.isScriptFromInspectedContext_ = function(script, msg)
-{
- if (!script.context) {
- // Always ignore scripts from the utility context.
- return false;
- }
- var context = msg.lookup(script.context.ref);
- var scriptContextId = context.data;
- if (typeof scriptContextId === "undefined")
- return false; // Always ignore scripts from the utility context.
- if (this.contextId_ === null)
- return true;
- // Find the id from context data. The context data has the format "type,id".
- var comma = context.data.indexOf(",");
- if (comma < 0)
- return false;
- return (context.data.substring(comma + 1) == this.contextId_);
-};
-
-
-/**
- * @param {devtools.DebuggerMessage} msg
- */
-devtools.DebuggerAgent.prototype.handleSetBreakpointResponse_ = function(msg)
-{
- var requestSeq = msg.getRequestSeq();
- var breakpointInfo = this.requestNumberToBreakpointInfo_[requestSeq];
- if (!breakpointInfo) {
- // TODO(yurys): handle this case
- return;
- }
- delete this.requestNumberToBreakpointInfo_[requestSeq];
- if (!msg.isSuccess()) {
- // TODO(yurys): handle this case
- return;
- }
- var idInV8 = msg.getBody().breakpoint;
- breakpointInfo.setV8Id(idInV8);
-
- if (breakpointInfo.isRemoved())
- this.requestClearBreakpoint_(idInV8);
-};
-
-
-/**
- * @param {devtools.DebuggerMessage} msg
- */
-devtools.DebuggerAgent.prototype.handleAfterCompileEvent_ = function(msg)
-{
- if (!this.contextId_) {
- // Ignore scripts delta if main request has not been issued yet.
- return;
- }
- var script = msg.getBody().script;
-
- // Ignore scripts from other tabs.
- if (!this.isScriptFromInspectedContext_(script, msg))
- return;
- this.addScriptInfo_(script, msg);
-};
-
-
-/**
- * Adds the script info to the local cache. This method assumes that the script
- * is not in the cache yet.
- * @param {Object} script Script json object from the debugger message.
- * @param {devtools.DebuggerMessage} msg Debugger message containing the script
- * data.
- */
-devtools.DebuggerAgent.prototype.addScriptInfo_ = function(script, msg)
-{
- var context = msg.lookup(script.context.ref);
- // Find the type from context data. The context data has the format
- // "type,id".
- var comma = context.data.indexOf(",");
- if (comma < 0)
- return;
- var contextType = context.data.substring(0, comma);
- var info = new devtools.ScriptInfo(script.id, script.name, script.lineOffset, contextType);
- this.parsedScripts_[script.id] = info;
- if (this.scriptsPanelInitialized_) {
- // Only report script as parsed after scripts panel has been shown.
- WebInspector.parsedScriptSource(script.id, script.name, script.source, script.lineOffset + 1, info.worldType());
- this.restoreBreakpoints_(script.id, script.name);
- }
-};
-
-
-/**
- * @param {devtools.DebuggerMessage} msg
- */
-devtools.DebuggerAgent.prototype.handleClearBreakpointResponse_ = function(msg)
-{
- // Do nothing.
-};
-
-
-/**
- * Handles response to "backtrace" command.
- * @param {devtools.DebuggerMessage} msg
- */
-devtools.DebuggerAgent.prototype.handleBacktraceResponse_ = function(msg)
-{
- if (this.waitingForInitialScriptsResponse_)
- this.pendingBacktraceResponseHandler_ = this.doHandleBacktraceResponse_.bind(this, msg);
- else
- this.doHandleBacktraceResponse_(msg);
-};
-
-
-/**
- * @param {devtools.DebuggerMessage} msg
- */
-devtools.DebuggerAgent.prototype.doHandleBacktraceResponse_ = function(msg)
-{
- this.updateCallFramesFromBacktraceResponse_(msg);
- WebInspector.pausedScript(this.callFrames_);
- this.showPendingExceptionMessage_();
- InspectorFrontendHost.bringToFront();
-};
-
-
-devtools.DebuggerAgent.prototype.updateCallFramesFromBacktraceResponse_ = function(msg)
-{
- var frames = msg.getBody().frames;
- this.callFrames_ = [];
- for (var i = 0; i < frames.length; ++i)
- this.callFrames_.push(this.formatCallFrame_(frames[i]));
- return this.callFrames_;
-};
-
-
-/**
- * Evaluates code on given callframe.
- */
-devtools.DebuggerAgent.prototype.evaluateInCallFrame = function(callFrameId, code, callback)
-{
- var callFrame = this.callFrames_[callFrameId];
- callFrame.evaluate_(code, callback);
-};
-
-
-/**
- * Handles response to a command by invoking its callback (if any).
- * @param {devtools.DebuggerMessage} msg
- * @return {boolean} Whether a callback for the given message was found and
- * excuted.
- */
-devtools.DebuggerAgent.prototype.invokeCallbackForResponse_ = function(msg)
-{
- var callback = this.requestSeqToCallback_[msg.getRequestSeq()];
- if (!callback) {
- // It may happend if reset was called.
- return false;
- }
- delete this.requestSeqToCallback_[msg.getRequestSeq()];
- callback(msg);
- return true;
-};
-
-
-/**
- * @param {Object} stackFrame Frame json object from "backtrace" response.
- * @return {!devtools.CallFrame} Object containing information related to the
- * call frame in the format expected by ScriptsPanel and its panes.
- */
-devtools.DebuggerAgent.prototype.formatCallFrame_ = function(stackFrame)
-{
- var func = stackFrame.func;
- var sourceId = func.scriptId;
-
- // Add service script if it does not exist.
- var existingScript = this.parsedScripts_[sourceId];
- if (!existingScript) {
- this.parsedScripts_[sourceId] = new devtools.ScriptInfo(sourceId, null /* name */, 0 /* line */, "unknown" /* type */, true /* unresolved */);
- WebInspector.parsedScriptSource(sourceId, null, null, 0, WebInspector.Script.WorldType.MAIN_WORLD);
- }
-
- var funcName = func.name || func.inferredName;
- var line = devtools.DebuggerAgent.v8ToWwebkitLineNumber_(stackFrame.line);
-
- // Add basic scope chain info with scope variables.
- var scopeChain = [];
- var ScopeType = devtools.DebuggerAgent.ScopeType;
- for (var i = 0; i < stackFrame.scopes.length; i++) {
- var scope = stackFrame.scopes[i];
- scope.frameNumber = stackFrame.index;
- var scopeObjectProxy = new WebInspector.ObjectProxy(0, scope, [], "", true);
- scopeObjectProxy.isScope = true;
- switch(scope.type) {
- case ScopeType.Global:
- scopeObjectProxy.isDocument = true;
- break;
- case ScopeType.Local:
- scopeObjectProxy.isLocal = true;
- scopeObjectProxy.thisObject = devtools.DebuggerAgent.formatObjectProxy_(stackFrame.receiver);
- break;
- case ScopeType.With:
- // Catch scope is treated as a regular with scope by WebKit so we
- // also treat it this way.
- case ScopeType.Catch:
- scopeObjectProxy.isWithBlock = true;
- break;
- case ScopeType.Closure:
- scopeObjectProxy.isClosure = true;
- break;
- }
- scopeChain.push(scopeObjectProxy);
- }
- return new devtools.CallFrame(stackFrame.index, "function", funcName, sourceId, line, scopeChain);
-};
-
-
-/**
- * Restores breakpoints associated with the URL of a newly parsed script.
- * @param {number} sourceID The id of the script.
- * @param {string} scriptUrl URL of the script.
- */
-devtools.DebuggerAgent.prototype.restoreBreakpoints_ = function(sourceID, scriptUrl)
-{
- var breakpoints = this.urlToBreakpoints_[scriptUrl];
- for (var line in breakpoints) {
- if (parseInt(line) == line) {
- var v8Line = devtools.DebuggerAgent.v8ToWwebkitLineNumber_(parseInt(line));
- WebInspector.restoredBreakpoint(sourceID, scriptUrl, v8Line, breakpoints[line].enabled(), breakpoints[line].condition());
- }
- }
-};
-
-
-/**
- * Collects properties for an object from the debugger response.
- * @param {Object} object An object from the debugger protocol response.
- * @param {Array.<WebInspector.ObjectPropertyProxy>} result An array to put the
- * properties into.
- * @param {boolean} noIntrinsic Whether intrinsic properties should be
- * included.
- */
-devtools.DebuggerAgent.formatObjectProperties_ = function(object, result, noIntrinsic)
-{
- devtools.DebuggerAgent.propertiesToProxies_(object.properties, result);
- if (noIntrinsic)
- return;
-
- result.push(new WebInspector.ObjectPropertyProxy("__proto__", devtools.DebuggerAgent.formatObjectProxy_(object.protoObject)));
- result.push(new WebInspector.ObjectPropertyProxy("constructor", devtools.DebuggerAgent.formatObjectProxy_(object.constructorFunction)));
- // Don't add 'prototype' property since it is one of the regualar properties.
-};
-
-
-/**
- * For each property in "properties" creates its proxy representative.
- * @param {Array.<Object>} properties Receiver properties or locals array from
- * "backtrace" response.
- * @param {Array.<WebInspector.ObjectPropertyProxy>} Results holder.
- */
-devtools.DebuggerAgent.propertiesToProxies_ = function(properties, result)
-{
- var map = {};
- for (var i = 0; i < properties.length; ++i) {
- var property = properties[i];
- var name = String(property.name);
- if (name in map)
- continue;
- map[name] = true;
- var value = devtools.DebuggerAgent.formatObjectProxy_(property.value);
- var propertyProxy = new WebInspector.ObjectPropertyProxy(name, value);
- result.push(propertyProxy);
- }
-};
-
-
-/**
- * @param {Object} v An object reference from the debugger response.
- * @return {*} The value representation expected by ScriptsPanel.
- */
-devtools.DebuggerAgent.formatObjectProxy_ = function(v)
-{
- var description;
- var hasChildren = false;
- if (v.type === "object") {
- description = v.className;
- hasChildren = true;
- } else if (v.type === "function") {
- if (v.source)
- description = v.source;
- else
- description = "function " + v.name + "()";
- hasChildren = true;
- } else if (v.type === "undefined")
- description = "undefined";
- else if (v.type === "null")
- description = "null";
- else if (typeof v.value !== "undefined") {
- // Check for undefined and null types before checking the value, otherwise
- // null/undefined may have blank value.
- description = v.value;
- } else
- description = "<unresolved ref: " + v.ref + ", type: " + v.type + ">";
-
- var proxy = new WebInspector.ObjectProxy(0, v, [], description, hasChildren);
- proxy.type = v.type;
- proxy.isV8Ref = true;
- return proxy;
-};
-
-
-/**
- * Converts line number from Web Inspector UI(1-based) to v8(0-based).
- * @param {number} line Resource line number in Web Inspector UI.
- * @return {number} The line number in v8.
- */
-devtools.DebuggerAgent.webkitToV8LineNumber_ = function(line)
-{
- return line - 1;
-};
-
-
-/**
- * Converts line number from v8(0-based) to Web Inspector UI(1-based).
- * @param {number} line Resource line number in v8.
- * @return {number} The line number in Web Inspector.
- */
-devtools.DebuggerAgent.v8ToWwebkitLineNumber_ = function(line)
-{
- return line + 1;
-};
-
-
-/**
- * @param {number} scriptId Id of the script.
- * @param {?string} url Script resource URL if any.
- * @param {number} lineOffset First line 0-based offset in the containing
- * document.
- * @param {string} contextType Type of the script's context:
- * "page" - regular script from html page
- * "injected" - extension content script
- * @param {bool} opt_isUnresolved If true, script will not be resolved.
- * @constructor
- */
-devtools.ScriptInfo = function(scriptId, url, lineOffset, contextType, opt_isUnresolved)
-{
- this.scriptId_ = scriptId;
- this.lineOffset_ = lineOffset;
- this.contextType_ = contextType;
- this.url_ = url;
- this.isUnresolved_ = opt_isUnresolved;
-
- this.lineToBreakpointInfo_ = {};
-};
-
-
-/**
- * @return {number}
- */
-devtools.ScriptInfo.prototype.getLineOffset = function()
-{
- return this.lineOffset_;
-};
-
-
-/**
- * @return {string}
- */
-devtools.ScriptInfo.prototype.getContextType = function()
-{
- return this.contextType_;
-};
-
-
-/**
- * @return {?string}
- */
-devtools.ScriptInfo.prototype.getUrl = function()
-{
- return this.url_;
-};
-
-
-/**
- * @return {?bool}
- */
-devtools.ScriptInfo.prototype.isUnresolved = function()
-{
- return this.isUnresolved_;
-};
-
-
-devtools.ScriptInfo.prototype.worldType = function()
-{
- if (this.contextType_ === "injected")
- return WebInspector.Script.WorldType.EXTENSIONS_WORLD;
- return WebInspector.Script.WorldType.MAIN_WORLD;
-};
-
-
-/**
- * @param {number} line 0-based line number in the script.
- * @return {?devtools.BreakpointInfo} Information on a breakpoint at the
- * specified line in the script or undefined if there is no breakpoint at
- * that line.
- */
-devtools.ScriptInfo.prototype.getBreakpointInfo = function(line)
-{
- return this.lineToBreakpointInfo_[line];
-};
-
-
-/**
- * Adds breakpoint info to the script.
- * @param {devtools.BreakpointInfo} breakpoint
- */
-devtools.ScriptInfo.prototype.addBreakpointInfo = function(breakpoint)
-{
- this.lineToBreakpointInfo_[breakpoint.getLine()] = breakpoint;
-};
-
-
-/**
- * @param {devtools.BreakpointInfo} breakpoint Breakpoint info to be removed.
- */
-devtools.ScriptInfo.prototype.removeBreakpointInfo = function(breakpoint)
-{
- var line = breakpoint.getLine();
- delete this.lineToBreakpointInfo_[line];
-};
-
-
-
-/**
- * @param {number} line Breakpoint 0-based line number in the containing script.
- * @constructor
- */
-devtools.BreakpointInfo = function(line, enabled, condition)
-{
- this.line_ = line;
- this.enabled_ = enabled;
- this.condition_ = condition;
- this.v8id_ = -1;
- this.removed_ = false;
-};
-
-
-/**
- * @return {number}
- */
-devtools.BreakpointInfo.prototype.getLine = function(n)
-{
- return this.line_;
-};
-
-
-/**
- * @return {number} Unique identifier of this breakpoint in the v8 debugger.
- */
-devtools.BreakpointInfo.prototype.getV8Id = function(n)
-{
- return this.v8id_;
-};
-
-
-/**
- * Sets id of this breakpoint in the v8 debugger.
- * @param {number} id
- */
-devtools.BreakpointInfo.prototype.setV8Id = function(id)
-{
- this.v8id_ = id;
-};
-
-
-/**
- * Marks this breakpoint as removed from the front-end.
- */
-devtools.BreakpointInfo.prototype.markAsRemoved = function()
-{
- this.removed_ = true;
-};
-
-
-/**
- * @return {boolean} Whether this breakpoint has been removed from the
- * front-end.
- */
-devtools.BreakpointInfo.prototype.isRemoved = function()
-{
- return this.removed_;
-};
-
-
-/**
- * @return {boolean} Whether this breakpoint is enabled.
- */
-devtools.BreakpointInfo.prototype.enabled = function()
-{
- return this.enabled_;
-};
-
-
-/**
- * @return {?string} Breakpoint condition.
- */
-devtools.BreakpointInfo.prototype.condition = function()
-{
- return this.condition_;
-};
-
-
-/**
- * Call stack frame data.
- * @param {string} id CallFrame id.
- * @param {string} type CallFrame type.
- * @param {string} functionName CallFrame type.
- * @param {string} sourceID Source id.
- * @param {number} line Source line.
- * @param {Array.<Object>} scopeChain Array of scoped objects.
- * @construnctor
- */
-devtools.CallFrame = function(id, type, functionName, sourceID, line, scopeChain)
-{
- this.id = id;
- this.type = type;
- this.functionName = functionName;
- this.sourceID = sourceID;
- this.line = line;
- this.scopeChain = scopeChain;
-};
-
-
-/**
- * This method issues asynchronous evaluate request, reports result to the
- * callback.
- * @param {string} expression An expression to be evaluated in the context of
- * this call frame.
- * @param {function(Object):undefined} callback Callback to report result to.
- */
-devtools.CallFrame.prototype.evaluate_ = function(expression, callback)
-{
- devtools.tools.getDebuggerAgent().requestEvaluate({
- "expression": expression,
- "frame": this.id,
- "global": false,
- "disable_break": false,
- "compactFormat": true,
- "maxStringLength": -1
- },
- function(response) {
- var result = {};
- if (response.isSuccess())
- result.value = devtools.DebuggerAgent.formatObjectProxy_(response.getBody());
- else {
- result.value = response.getMessage();
- result.isException = true;
- }
- callback(result);
- });
-};
-
-
-/**
- * JSON based commands sent to v8 debugger.
- * @param {string} command Name of the command to execute.
- * @param {Object} opt_arguments Command-specific arguments map.
- * @constructor
- */
-devtools.DebugCommand = function(command, opt_arguments)
-{
- this.command_ = command;
- this.type_ = "request";
- this.seq_ = ++devtools.DebugCommand.nextSeq_;
- if (opt_arguments)
- this.arguments_ = opt_arguments;
-};
-
-
-/**
- * Next unique number to be used as debugger request sequence number.
- * @type {number}
- */
-devtools.DebugCommand.nextSeq_ = 1;
-
-
-/**
- * @return {number}
- */
-devtools.DebugCommand.prototype.getSequenceNumber = function()
-{
- return this.seq_;
-};
-
-
-/**
- * @return {string}
- */
-devtools.DebugCommand.prototype.toJSONProtocol = function()
-{
- var json = {
- "seq": this.seq_,
- "type": this.type_,
- "command": this.command_
- }
- if (this.arguments_)
- json.arguments = this.arguments_;
- return JSON.stringify(json);
-};
-
-
-/**
- * JSON messages sent from v8 debugger. See protocol definition for more
- * details: http://code.google.com/p/v8/wiki/DebuggerProtocol
- * @param {string} msg Raw protocol packet as JSON string.
- * @constructor
- */
-devtools.DebuggerMessage = function(msg)
-{
- this.packet_ = JSON.parse(msg);
- this.refs_ = [];
- if (this.packet_.refs) {
- for (var i = 0; i < this.packet_.refs.length; i++)
- this.refs_[this.packet_.refs[i].handle] = this.packet_.refs[i];
- }
-};
-
-
-/**
- * @return {string} The packet type.
- */
-devtools.DebuggerMessage.prototype.getType = function()
-{
- return this.packet_.type;
-};
-
-
-/**
- * @return {?string} The packet event if the message is an event.
- */
-devtools.DebuggerMessage.prototype.getEvent = function()
-{
- return this.packet_.event;
-};
-
-
-/**
- * @return {?string} The packet command if the message is a response to a
- * command.
- */
-devtools.DebuggerMessage.prototype.getCommand = function()
-{
- return this.packet_.command;
-};
-
-
-/**
- * @return {number} The packet request sequence.
- */
-devtools.DebuggerMessage.prototype.getRequestSeq = function()
-{
- return this.packet_.request_seq;
-};
-
-
-/**
- * @return {number} Whether the v8 is running after processing the request.
- */
-devtools.DebuggerMessage.prototype.isRunning = function()
-{
- return this.packet_.running ? true : false;
-};
-
-
-/**
- * @return {boolean} Whether the request succeeded.
- */
-devtools.DebuggerMessage.prototype.isSuccess = function()
-{
- return this.packet_.success ? true : false;
-};
-
-
-/**
- * @return {string}
- */
-devtools.DebuggerMessage.prototype.getMessage = function()
-{
- return this.packet_.message;
-};
-
-
-/**
- * @return {Object} Parsed message body json.
- */
-devtools.DebuggerMessage.prototype.getBody = function()
-{
- return this.packet_.body;
-};
-
-
-/**
- * @param {number} handle Object handle.
- * @return {?Object} Returns the object with the handle if it was sent in this
- * message(some objects referenced by handles may be missing in the message).
- */
-devtools.DebuggerMessage.prototype.lookup = function(handle)
-{
- return this.refs_[handle];
-};
diff --git a/WebKit/chromium/src/js/DebuggerScript.js b/WebKit/chromium/src/js/DebuggerScript.js
index 70c2fbe..7181d74 100644
--- a/WebKit/chromium/src/js/DebuggerScript.js
+++ b/WebKit/chromium/src/js/DebuggerScript.js
@@ -97,7 +97,8 @@ DebuggerScript.setBreakpoint = function(execState, args)
if (!args.enabled)
Debug.disableScriptBreakPoint(breakId);
- var actualLineNumber = args.lineNumber; // TODO: replace with real stuff after v8 roll.
+ var locations = Debug.findBreakPointActualLocations(breakId);
+ var actualLineNumber = locations.length ? locations[0].line : args.lineNumber;
var key = args.scriptId + ":" + actualLineNumber;
if (key in DebuggerScript._breakpoints) {
@@ -181,7 +182,7 @@ DebuggerScript.editScriptSource = function(scriptId, newSource)
throw("Script not found");
var changeLog = [];
- Debug.LiveEdit.SetScriptSource(scriptToEdit, newSource, changeLog);
+ Debug.LiveEdit.SetScriptSource(scriptToEdit, newSource, false, changeLog);
return scriptToEdit.source;
}
diff --git a/WebKit/chromium/src/js/DevTools.js b/WebKit/chromium/src/js/DevTools.js
index 851c934..35cca2f 100644
--- a/WebKit/chromium/src/js/DevTools.js
+++ b/WebKit/chromium/src/js/DevTools.js
@@ -62,21 +62,11 @@ devtools.ToolsAgent = function()
{
RemoteToolsAgent.didDispatchOn = WebInspector.Callback.processCallback;
RemoteToolsAgent.dispatchOnClient = this.dispatchOnClient_.bind(this);
- this.debuggerAgent_ = new devtools.DebuggerAgent();
this.profilerAgent_ = new devtools.ProfilerAgent();
};
/**
- * Resets tools agent to its initial state.
- */
-devtools.ToolsAgent.prototype.reset = function()
-{
- this.debuggerAgent_.reset();
-};
-
-
-/**
* @param {string} script Script exression to be evaluated in the context of the
* inspected page.
* @param {function(Object|string, boolean):undefined} opt_callback Function to
@@ -89,15 +79,6 @@ devtools.ToolsAgent.prototype.evaluateJavaScript = function(script, opt_callback
/**
- * @return {devtools.DebuggerAgent} Debugger agent instance.
- */
-devtools.ToolsAgent.prototype.getDebuggerAgent = function()
-{
- return this.debuggerAgent_;
-};
-
-
-/**
* @return {devtools.ProfilerAgent} Profiler agent instance.
*/
devtools.ToolsAgent.prototype.getProfilerAgent = function()
@@ -106,16 +87,6 @@ devtools.ToolsAgent.prototype.getProfilerAgent = function()
};
-(function () {
-var orig = WebInspector.reset;
-WebInspector.reset = function()
-{
- devtools.tools.reset();
- orig.call(this);
-};
-})();
-
-
/**
* @param {string} message Serialized call to be dispatched on WebInspector.
* @private
@@ -165,7 +136,6 @@ var oldLoaded = WebInspector.loaded;
WebInspector.loaded = function()
{
devtools.tools = new devtools.ToolsAgent();
- devtools.tools.reset();
Preferences.ignoreWhitespace = false;
Preferences.samplingCPUProfiler = true;
@@ -173,6 +143,7 @@ WebInspector.loaded = function()
Preferences.debuggerAlwaysEnabled = true;
Preferences.profilerAlwaysEnabled = true;
Preferences.canEditScriptSource = true;
+ Preferences.appCacheEnabled = false;
oldLoaded.call(this);
@@ -197,76 +168,6 @@ devtools.domContentLoaded = function()
document.addEventListener("DOMContentLoaded", devtools.domContentLoaded, false);
-if (!window.v8ScriptDebugServerEnabled) {
-
-(function()
-{
- var oldShow = WebInspector.ScriptsPanel.prototype.show;
- WebInspector.ScriptsPanel.prototype.show = function()
- {
- devtools.tools.getDebuggerAgent().initUI();
- this.enableToggleButton.visible = false;
- oldShow.call(this);
- };
-})();
-
-
-(function () {
-var orig = InjectedScriptAccess.prototype.getProperties;
-InjectedScriptAccess.prototype.getProperties = function(objectProxy, ignoreHasOwnProperty, abbreviate, callback)
-{
- if (objectProxy.isScope)
- devtools.tools.getDebuggerAgent().resolveScope(objectProxy.objectId, callback);
- else if (objectProxy.isV8Ref)
- devtools.tools.getDebuggerAgent().resolveChildren(objectProxy.objectId, callback, false);
- else
- orig.apply(this, arguments);
-};
-})();
-
-
-(function()
-{
-InjectedScriptAccess.prototype.evaluateInCallFrame = function(callFrameId, code, objectGroup, callback)
-{
- //TODO(pfeldman): remove once 49084 is rolled.
- if (!callback)
- callback = objectGroup;
- devtools.tools.getDebuggerAgent().evaluateInCallFrame(callFrameId, code, callback);
-};
-})();
-
-
-(function()
-{
-var orig = InjectedScriptAccess.prototype.getCompletions;
-InjectedScriptAccess.prototype.getCompletions = function(expressionString, includeInspectorCommandLineAPI, callFrameId, reportCompletions)
-{
- if (typeof callFrameId === "number")
- devtools.tools.getDebuggerAgent().resolveCompletionsOnFrame(expressionString, callFrameId, reportCompletions);
- else
- return orig.apply(this, arguments);
-};
-})();
-
-// Highlight extension content scripts in the scripts list.
-(function () {
- var original = WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu;
- WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu = function(script)
- {
- var result = original.apply(this, arguments);
- var debuggerAgent = devtools.tools.getDebuggerAgent();
- var type = debuggerAgent.getScriptContextType(script.sourceID);
- var option = script.filesSelectOption;
- if (type === "injected" && option)
- option.addStyleClass("injected");
- return result;
- };
-})();
-
-}
-
-
(function InterceptProfilesPanelEvents()
{
var oldShow = WebInspector.ProfilesPanel.prototype.show;
@@ -369,3 +270,8 @@ WebInspector.resetToolbarColors = function()
WebInspector._themeStyleElement.textContent = "";
}
+
+// TODO(yurys): should be removed when eclipse debugger stops using it.
+if (window.RemoteDebuggerAgent) {
+ RemoteDebuggerAgent.setContextId = function() {};
+}
diff --git a/WebKit/chromium/src/js/DevToolsHostStub.js b/WebKit/chromium/src/js/DevToolsHostStub.js
index bab73a9..a2f356f 100644
--- a/WebKit/chromium/src/js/DevToolsHostStub.js
+++ b/WebKit/chromium/src/js/DevToolsHostStub.js
@@ -33,8 +33,7 @@
* DevTools frontend to function as a standalone web app.
*/
-if (!window["RemoteDebuggerAgent"]) {
- window["RemoteDebuggerAgent"] = { setDebuggerScriptSource: function() {} };
+if (!window["RemoteDebuggerCommandExecutor"]) {
window["RemoteDebuggerCommandExecutor"] = {};
window["RemoteProfilerAgent"] = {};
window["RemoteToolsAgent"] = {
diff --git a/WebKit/chromium/src/js/InspectorControllerImpl.js b/WebKit/chromium/src/js/InspectorControllerImpl.js
index cbe607d..5ed506a 100644
--- a/WebKit/chromium/src/js/InspectorControllerImpl.js
+++ b/WebKit/chromium/src/js/InspectorControllerImpl.js
@@ -102,7 +102,6 @@ devtools.InspectorBackendImpl = function()
this.installInspectorControllerDelegate_("setRuleSelector");
this.installInspectorControllerDelegate_("addRule");
- if (window.v8ScriptDebugServerEnabled) {
this.installInspectorControllerDelegate_("disableDebugger");
this.installInspectorControllerDelegate_("editScriptSource");
this.installInspectorControllerDelegate_("getScriptSource");
@@ -111,129 +110,20 @@ devtools.InspectorBackendImpl = function()
this.installInspectorControllerDelegate_("removeBreakpoint");
this.installInspectorControllerDelegate_("activateBreakpoints");
this.installInspectorControllerDelegate_("deactivateBreakpoints");
- this.installInspectorControllerDelegate_("resumeDebugger");
- this.installInspectorControllerDelegate_("stepIntoStatementInDebugger");
- this.installInspectorControllerDelegate_("stepOutOfFunctionInDebugger");
- this.installInspectorControllerDelegate_("stepOverStatementInDebugger");
+ this.installInspectorControllerDelegate_("resume");
+ this.installInspectorControllerDelegate_("stepIntoStatement");
+ this.installInspectorControllerDelegate_("stepOutOfFunction");
+ this.installInspectorControllerDelegate_("stepOverStatement");
this.installInspectorControllerDelegate_("setPauseOnExceptionsState");
- }
};
devtools.InspectorBackendImpl.prototype.__proto__ = WebInspector.InspectorBackendStub.prototype;
-if (!window.v8ScriptDebugServerEnabled) {
-
-devtools.InspectorBackendImpl.prototype.setBreakpoint = function(sourceID, line, enabled, condition)
-{
- this.removeBreakpoint(sourceID, line);
- devtools.tools.getDebuggerAgent().addBreakpoint(sourceID, line, enabled, condition);
-};
-
-
-devtools.InspectorBackendImpl.prototype.removeBreakpoint = function(sourceID, line)
-{
- devtools.tools.getDebuggerAgent().removeBreakpoint(sourceID, line);
-};
-
-
-devtools.InspectorBackendImpl.prototype.editScriptSource = function(callID, sourceID, newContent)
-{
- devtools.tools.getDebuggerAgent().editScriptSource(sourceID, newContent, function(success, newBodyOrErrorMessage, callFrames) {
- WebInspector.didEditScriptSource(callID, success, newBodyOrErrorMessage, callFrames);
- });
-};
-
-
-devtools.InspectorBackendImpl.prototype.getScriptSource = function(callID, sourceID)
-{
- devtools.tools.getDebuggerAgent().resolveScriptSource(
- sourceID,
- function(source) {
- WebInspector.didGetScriptSource(callID, source);
- });
-};
-
-
-devtools.InspectorBackendImpl.prototype.activateBreakpoints = function()
-{
- devtools.tools.getDebuggerAgent().setBreakpointsActivated(true);
-};
-
-
-devtools.InspectorBackendImpl.prototype.deactivateBreakpoints = function()
-{
- devtools.tools.getDebuggerAgent().setBreakpointsActivated(false);
-};
-
-
-devtools.InspectorBackendImpl.prototype.pauseInDebugger = function()
-{
- devtools.tools.getDebuggerAgent().pauseExecution();
-};
-
-
-devtools.InspectorBackendImpl.prototype.resumeDebugger = function()
-{
- devtools.tools.getDebuggerAgent().resumeExecution();
-};
-
-
-devtools.InspectorBackendImpl.prototype.stepIntoStatementInDebugger = function()
-{
- devtools.tools.getDebuggerAgent().stepIntoStatement();
-};
-
-
-devtools.InspectorBackendImpl.prototype.stepOutOfFunctionInDebugger = function()
-{
- devtools.tools.getDebuggerAgent().stepOutOfFunction();
-};
-
-
-devtools.InspectorBackendImpl.prototype.stepOverStatementInDebugger = function()
-{
- devtools.tools.getDebuggerAgent().stepOverStatement();
-};
-
-/**
- * @override
- */
-devtools.InspectorBackendImpl.prototype.setPauseOnExceptionsState = function(state)
-{
- this._setPauseOnExceptionsState = state;
- // TODO(yurys): support all three states. See http://crbug.com/32877
- var enabled = (state !== WebInspector.ScriptsPanel.PauseOnExceptionsState.DontPauseOnExceptions);
- WebInspector.updatePauseOnExceptionsState(enabled ? WebInspector.ScriptsPanel.PauseOnExceptionsState.PauseOnUncaughtExceptions : WebInspector.ScriptsPanel.PauseOnExceptionsState.DontPauseOnExceptions);
- devtools.tools.getDebuggerAgent().setPauseOnExceptions(enabled);
-};
-
-
-/**
- * @override
- */
-devtools.InspectorBackendImpl.prototype.pauseOnExceptions = function()
-{
- return devtools.tools.getDebuggerAgent().pauseOnExceptions();
-};
-
-
-/**
- * @override
- */
-devtools.InspectorBackendImpl.prototype.setPauseOnExceptions = function(value)
-{
- return devtools.tools.getDebuggerAgent().setPauseOnExceptions(value);
-};
-
-} else {
-
-devtools.InspectorBackendImpl.prototype.pauseInDebugger = function()
+devtools.InspectorBackendImpl.prototype.pause = function()
{
RemoteDebuggerCommandExecutor.DebuggerPauseScript();
};
-}
-
/**
* @override
diff --git a/WebKit/chromium/src/js/Tests.js b/WebKit/chromium/src/js/Tests.js
index 81432eb..e2ab3b3 100644
--- a/WebKit/chromium/src/js/Tests.js
+++ b/WebKit/chromium/src/js/Tests.js
@@ -863,29 +863,6 @@ TestSuite.prototype.evaluateInConsole_ = function(code, callback)
};
-/*
- * Waits for "setbreakpoint" response, checks that corresponding breakpoint
- * was successfully set and invokes the callback if it was.
- * @param {string} scriptUrl
- * @param {number} breakpointLine
- * @param {function()} callback
- */
-TestSuite.prototype.waitForSetBreakpointResponse_ = function(scriptUrl, breakpointLine, callback)
-{
- var test = this;
- test.addSniffer(
- devtools.DebuggerAgent.prototype,
- "handleSetBreakpointResponse_",
- function(msg) {
- var bps = this.urlToBreakpoints_[scriptUrl];
- test.assertTrue(!!bps, "No breakpoints for line " + breakpointLine);
- var line = devtools.DebuggerAgent.webkitToV8LineNumber_(breakpointLine);
- test.assertTrue(!!bps[line].getV8Id(), "Breakpoint id was not assigned.");
- callback();
- });
-};
-
-
/**
* Tests eval on call frame.
*/
@@ -996,60 +973,7 @@ TestSuite.prototype.testCompletionOnPause = function()
*/
TestSuite.prototype.testAutoContinueOnSyntaxError = function()
{
- if (window.v8ScriptDebugServerEnabled)
- return;
-
- this.showPanel("scripts");
- var test = this;
-
- function checkScriptsList() {
- var scriptSelect = document.getElementById("scripts-files");
- var options = scriptSelect.options;
- // There should be only console API source (see
- // InjectedScript._ensureCommandLineAPIInstalled) since the page script
- // contains a syntax error.
- for (var i = 0 ; i < options.length; i++) {
- if (options[i].text.search("script_syntax_error.html") !== -1)
- test.fail("Script with syntax error should not be in the list of parsed scripts.");
- }
- }
-
-
- this.addSniffer(devtools.DebuggerAgent.prototype, "handleScriptsResponse_",
- function(msg) {
- checkScriptsList();
-
- // Reload inspected page.
- test.evaluateInConsole_(
- "window.location.reload(true);",
- function(resultText) {
- test.assertEquals("undefined", resultText, "Unexpected result of reload().");
- waitForExceptionEvent();
- });
- });
-
- function waitForExceptionEvent() {
- var exceptionCount = 0;
- test.addSniffer(
- devtools.DebuggerAgent.prototype,
- "handleExceptionEvent_",
- function(msg) {
- exceptionCount++;
- test.assertEquals(1, exceptionCount, "Too many exceptions.");
- test.assertEquals(undefined, msg.getBody().script, "Unexpected exception: " + JSON.stringify(msg));
- test.releaseControl();
- });
-
- // Check that the script is not paused on parse error.
- test.addSniffer(
- WebInspector,
- "pausedScript",
- function(callFrames) {
- test.fail("Script execution should not pause on syntax error.");
- });
- }
-
- this.takeControl();
+ // TODO(yurys): provide an implementation that works with ScriptDebugServer.
};
@@ -1500,14 +1424,14 @@ TestSuite.prototype.testExpandScope = function()
properties: {
x:"2009",
innerFunctionLocalVar:"2011",
- "this": (window.v8ScriptDebugServerEnabled ? "DOMWindow" : "global"),
+ "this": "DOMWindow",
}
},
{
title: "Closure",
properties: {
- n: (window.v8ScriptDebugServerEnabled ? '"TextParam"' : "TextParam"),
- makeClosureLocalVar: (window.v8ScriptDebugServerEnabled ? '"local.TextParam"' : "local.TextParam"),
+ n: '"TextParam"',
+ makeClosureLocalVar: '"local.TextParam"',
}
},
{
@@ -1611,7 +1535,6 @@ TestSuite.prototype.testDebugIntrinsicProperties = function()
}
function examineLocalScope() {
- if (window.v8ScriptDebugServerEnabled) {
var scopeExpectations = [
"a", "Child", [
"__proto__", "Child", [
@@ -1633,47 +1556,12 @@ TestSuite.prototype.testDebugIntrinsicProperties = function()
"childField", "20", null,
]
];
- } else {
- var scopeExpectations = [
- "a", "Object", [
- "constructor", "function Child()", [
- "constructor", "function Function()", null,
- "name", "Child", null,
- "prototype", "Object", [
- "childProtoField", 21, null
- ]
- ],
-
- "__proto__", "Object", [
- "__proto__", "Object", [
- "__proto__", "Object", [
- "__proto__", "null", null,
- "constructor", "function Object()", null,
- ],
- "constructor", "function Parent()", [
- "name", "Parent", null,
- "prototype", "Object", [
- "parentProtoField", 11, null,
- ]
- ],
- "parentProtoField", 11, null,
- ],
- "constructor", "function Child()", null,
- "childProtoField", 21, null,
- ],
-
- "parentField", 10, null,
- "childField", 20, null,
- ]
- ];
- }
-
checkProperty(localScopeSection.propertiesTreeOutline, "<Local Scope>", scopeExpectations);
}
var propQueue = [];
var index = 0;
- var expectedFinalIndex = (window.v8ScriptDebugServerEnabled ? 5 : 8);
+ var expectedFinalIndex = 5;
function expandAndCheckNextProperty() {
if (index === propQueue.length) {
diff --git a/WebKit/chromium/src/js/devTools.css b/WebKit/chromium/src/js/devTools.css
index 0e6d284..dfcaadf 100755
--- a/WebKit/chromium/src/js/devTools.css
+++ b/WebKit/chromium/src/js/devTools.css
@@ -171,10 +171,6 @@ body.platform-linux #scripts-files {
padding-left: 6px;
}
-.crumbs .crumb.end {
- -webkit-border-image: url(Images/segmentEndChromium.png) 0 2 0 2;
-}
-
.crumbs .crumb.selected {
-webkit-border-image: url(Images/segmentSelectedChromium.png) 0 12 0 2;
color: white;
diff --git a/WebKit/chromium/tests/PopupMenuTest.cpp b/WebKit/chromium/tests/PopupMenuTest.cpp
index 6680d74..9aad6bb 100644
--- a/WebKit/chromium/tests/PopupMenuTest.cpp
+++ b/WebKit/chromium/tests/PopupMenuTest.cpp
@@ -68,6 +68,7 @@ public:
str.append(String::number(listIndex));
return str;
}
+ virtual String itemLabel(unsigned) const { return String(); }
virtual String itemToolTip(unsigned listIndex) const { return itemText(listIndex); }
virtual String itemAccessibilityText(unsigned listIndex) const { return itemText(listIndex); }
virtual bool itemIsEnabled(unsigned listIndex) const { return true; }
diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog
new file mode 100644
index 0000000..b5ad1d7
--- /dev/null
+++ b/WebKit/efl/ChangeLog
@@ -0,0 +1,5 @@
+2010-07-16 Leandro Pereira <leandro@profusion.mobi>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Creating ChangeLog for the EFL port.
diff --git a/WebKit/efl/EWebLauncher/main.c b/WebKit/efl/EWebLauncher/main.c
index 362eefd..6980a58 100644
--- a/WebKit/efl/EWebLauncher/main.c
+++ b/WebKit/efl/EWebLauncher/main.c
@@ -413,6 +413,7 @@ on_viewport_changed(void* user_data, Evas_Object* webview, void* event_info)
app->viewport.minScale = minScale;
app->viewport.maxScale = maxScale;
app->viewport.userScalable = (Eina_Bool)userScalable;
+ viewport_set();
}
static void
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
index 342654a..4b01b75 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
@@ -437,10 +437,9 @@ void ChromeClientEfl::formStateDidChange(const Node*)
notImplemented();
}
-bool ChromeClientEfl::setCursor(PlatformCursorHandle)
+void ChromeClientEfl::setCursor(const Cursor&)
{
notImplemented();
- return false;
}
void ChromeClientEfl::requestGeolocationPermissionForFrame(Frame*, Geolocation*)
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.h b/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
index 45bda59..ce8abd1 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
@@ -119,7 +119,7 @@ public:
virtual PassOwnPtr<HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
- virtual bool setCursor(PlatformCursorHandle);
+ virtual void setCursor(const Cursor&);
virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const {}
diff --git a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
index 3c4016f..cf672eb 100644
--- a/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
@@ -40,6 +40,11 @@ using namespace WebCore;
namespace WebCore {
+void EditorClientEfl::willSetInputMethodState()
+{
+ notImplemented();
+}
+
void EditorClientEfl::setInputMethodState(bool active)
{
notImplemented();
diff --git a/WebKit/efl/WebCoreSupport/EditorClientEfl.h b/WebKit/efl/WebCoreSupport/EditorClientEfl.h
index a53d624..9f60cfb 100644
--- a/WebKit/efl/WebCoreSupport/EditorClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/EditorClientEfl.h
@@ -111,6 +111,7 @@ public:
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
virtual void getGuessesForWord(const String&, WTF::Vector<String>& guesses);
+ virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
private:
diff --git a/WebKit/efl/ewk/EWebKit.h b/WebKit/efl/ewk/EWebKit.h
index e08c4a5..183e9dc 100644
--- a/WebKit/efl/ewk/EWebKit.h
+++ b/WebKit/efl/ewk/EWebKit.h
@@ -23,6 +23,7 @@
#define EWebKit_h
#include "ewk_contextmenu.h"
+#include "ewk_cookies.h"
#include "ewk_eapi.h"
#include "ewk_frame.h"
#include "ewk_history.h"
diff --git a/WebKit/efl/ewk/ewk_cookies.cpp b/WebKit/efl/ewk/ewk_cookies.cpp
new file mode 100644
index 0000000..3b4949e
--- /dev/null
+++ b/WebKit/efl/ewk/ewk_cookies.cpp
@@ -0,0 +1,221 @@
+/*
+ Copyright (C) 2010 ProFUSION embedded systems
+ Copyright (C) 2010 Samsung Electronics
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "ewk_cookies.h"
+
+#include "CookieJarSoup.h"
+#include "EWebKit.h"
+#include "ResourceHandle.h"
+
+#include <Eina.h>
+#include <eina_safety_checks.h>
+#include <glib.h>
+#include <libsoup/soup.h>
+#include <wtf/text/CString.h>
+
+
+/**
+ * Set the path where the cookies are going to be stored. Use NULL for keep
+ * them just in memory.
+ *
+ * @param filename path to the cookies.txt file.
+ *
+ * @returns EINA_FALSE if it wasn't possible to create the cookie jar,
+ * EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool ewk_cookies_file_set(const char *filename)
+{
+ SoupCookieJar* cookieJar = 0;
+ if (filename)
+ cookieJar = soup_cookie_jar_text_new(filename, FALSE);
+ else
+ cookieJar = soup_cookie_jar_new();
+
+ if (!cookieJar)
+ return EINA_FALSE;
+
+#ifdef HAVE_LIBSOUP_2_29_90
+ soup_cookie_jar_set_accept_policy(cookieJar, SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY);
+#endif
+
+ SoupSession* session = WebCore::ResourceHandle::defaultSession();
+ SoupSessionFeature* oldjar = soup_session_get_feature(session, SOUP_TYPE_COOKIE_JAR);
+ if (oldjar)
+ soup_session_remove_feature(session, oldjar);
+
+ WebCore::setDefaultCookieJar(cookieJar);
+ soup_session_add_feature(session, SOUP_SESSION_FEATURE(cookieJar));
+
+ return EINA_TRUE;
+}
+
+/**
+ * Clear all the cookies from the cookie jar.
+ */
+EAPI void ewk_cookies_clear()
+{
+ GSList* l;
+ GSList* p;
+ SoupCookieJar* cookieJar = WebCore::defaultCookieJar();
+
+ l = soup_cookie_jar_all_cookies(cookieJar);
+ for (p = l; p; p = p->next)
+ soup_cookie_jar_delete_cookie(cookieJar, (SoupCookie*)p->data);
+
+ soup_cookies_free(l);
+}
+
+/**
+ * Returns a list of cookies in the cookie jar.
+ *
+ * @returns an Eina_List with all the cookies in the cookie jar.
+ */
+EAPI Eina_List* ewk_cookies_get_all(void)
+{
+ GSList* l;
+ GSList* p;
+ Eina_List* el = 0;
+ SoupCookieJar* cookieJar = WebCore::defaultCookieJar();
+
+ l = soup_cookie_jar_all_cookies(cookieJar);
+ for (p = l; p; p = p->next) {
+ SoupCookie* cookie = static_cast<SoupCookie*>(p->data);
+ Ewk_Cookie* c = static_cast<Ewk_Cookie*>(malloc(sizeof(*c)));
+ c->name = strdup(cookie->name);
+ c->value = strdup(cookie->value);
+ c->domain = strdup(cookie->domain);
+ c->path = strdup(cookie->path);
+ c->expires = soup_date_to_time_t(cookie->expires);
+ c->secure = static_cast<Eina_Bool>(cookie->secure);
+ c->http_only = static_cast<Eina_Bool>(cookie->http_only);
+ el = eina_list_append(el, c);
+ }
+
+ soup_cookies_free(l);
+ return el;
+}
+
+/*
+ * Deletes a cookie from the cookie jar.
+ *
+ * Note that the fields name, value, domain and path are used to match this
+ * cookie in the cookie jar.
+ *
+ * @param cookie an Ewk_Cookie that has the info relative to that cookie.
+ */
+EAPI void ewk_cookies_cookie_del(Ewk_Cookie *cookie)
+{
+ EINA_SAFETY_ON_NULL_RETURN(cookie);
+ GSList* l;
+ GSList* p;
+ SoupCookieJar* cookieJar = WebCore::defaultCookieJar();
+ SoupCookie* c1 = soup_cookie_new(
+ cookie->name, cookie->value, cookie->domain, cookie->path, -1);
+
+ l = soup_cookie_jar_all_cookies(cookieJar);
+ for (p = l; p; p = p->next) {
+ SoupCookie* c2 = static_cast<SoupCookie*>(p->data);
+ if (soup_cookie_equal(c1, c2)) {
+ soup_cookie_jar_delete_cookie(cookieJar, c2);
+ break;
+ }
+ }
+
+ soup_cookie_free(c1);
+ soup_cookies_free(l);
+}
+
+/*
+ * Free the memory used by a cookie.
+ *
+ * @param cookie the Ewk_Cookie struct that will be freed.
+ */
+EAPI void ewk_cookies_cookie_free(Ewk_Cookie *cookie)
+{
+ EINA_SAFETY_ON_NULL_RETURN(cookie);
+ free(cookie->name);
+ free(cookie->value);
+ free(cookie->domain);
+ free(cookie->path);
+ free(cookie);
+}
+
+/*
+ * Set the cookies accept policy.
+ *
+ * Possible values are: EWK_COOKIE_JAR_ACCEPT_ALWAYS, which accepts every
+ * cookie sent from any page; EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY, which
+ * accepts cookies only from the main page; and EWK_COOKIE_JAR_ACCEPT_NEVER,
+ * which rejects all cookies.
+ *
+ * @param p the acceptance policy
+ */
+EAPI void ewk_cookies_policy_set(Ewk_Cookie_Policy p)
+{
+#ifdef HAVE_LIBSOUP_2_29_90
+ SoupCookieJar* cookieJar = WebCore::defaultCookieJar();
+ SoupCookieJarAcceptPolicy policy;
+
+ policy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS;
+ switch (p) {
+ case EWK_COOKIE_JAR_ACCEPT_NEVER:
+ policy = SOUP_COOKIE_JAR_ACCEPT_NEVER;
+ break;
+ case EWK_COOKIE_JAR_ACCEPT_ALWAYS:
+ policy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS;
+ break;
+ case EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY:
+ policy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
+ break;
+ }
+
+ soup_cookie_jar_set_accept_policy(cookieJar, policy);
+#endif
+}
+
+/*
+ * Gets the acceptance policy used in the current cookie jar.
+ *
+ * @returns the current acceptance policy
+ */
+EAPI Ewk_Cookie_Policy ewk_cookies_policy_get()
+{
+ Ewk_Cookie_Policy ewk_policy = EWK_COOKIE_JAR_ACCEPT_ALWAYS;
+#ifdef HAVE_LIBSOUP_2_29_90
+ SoupCookieJar* cookieJar = WebCore::defaultCookieJar();
+ SoupCookieJarAcceptPolicy policy;
+
+ policy = soup_cookie_jar_get_accept_policy(cookieJar);
+ switch (policy) {
+ case SOUP_COOKIE_JAR_ACCEPT_NEVER:
+ ewk_policy = EWK_COOKIE_JAR_ACCEPT_NEVER;
+ break;
+ case SOUP_COOKIE_JAR_ACCEPT_ALWAYS:
+ ewk_policy = EWK_COOKIE_JAR_ACCEPT_ALWAYS;
+ break;
+ case SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY:
+ ewk_policy = EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
+ break;
+ }
+#endif
+
+ return ewk_policy;
+}
diff --git a/WebKit/efl/ewk/ewk_cookies.h b/WebKit/efl/ewk/ewk_cookies.h
new file mode 100644
index 0000000..6ba3c9a
--- /dev/null
+++ b/WebKit/efl/ewk/ewk_cookies.h
@@ -0,0 +1,64 @@
+/*
+ Copyright (C) 2010 ProFUSION embedded systems
+ Copyright (C) 2010 Samsung Electronics
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef ewk_cookies_h
+#define ewk_cookies_h
+
+#include "ewk_eapi.h"
+#include <Eina.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct _Ewk_Cookie {
+ char *name;
+ char *value;
+ char *domain;
+ char *path;
+ time_t expires;
+ Eina_Bool secure;
+ Eina_Bool http_only;
+};
+
+typedef struct _Ewk_Cookie Ewk_Cookie;
+
+enum _Ewk_Cookie_Policy {
+ EWK_COOKIE_JAR_ACCEPT_NEVER,
+ EWK_COOKIE_JAR_ACCEPT_ALWAYS,
+ EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY
+};
+
+typedef enum _Ewk_Cookie_Policy Ewk_Cookie_Policy;
+
+/************************** Exported functions ***********************/
+
+EAPI Eina_Bool ewk_cookies_file_set(const char *filename);
+EAPI void ewk_cookies_clear();
+EAPI Eina_List* ewk_cookies_get_all();
+EAPI void ewk_cookies_cookie_del(Ewk_Cookie *cookie);
+EAPI void ewk_cookies_cookie_free(Ewk_Cookie *cookie);
+EAPI void ewk_cookies_policy_set(Ewk_Cookie_Policy p);
+EAPI Ewk_Cookie_Policy ewk_cookies_policy_get();
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_cookies_h
diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp
index 39dc0a7..1707a7d 100644
--- a/WebKit/efl/ewk/ewk_view.cpp
+++ b/WebKit/efl/ewk/ewk_view.cpp
@@ -595,6 +595,7 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd)
// this functionality will be modified by the scale zoom patch.
priv->settings.zoom_range.min_scale = ZOOM_MIN;
priv->settings.zoom_range.max_scale = ZOOM_MAX;
+ priv->settings.zoom_range.user_scalable = EINA_TRUE;
priv->main_frame = _ewk_view_core_frame_new(sd, priv, 0).get();
if (!priv->main_frame) {
@@ -3737,6 +3738,7 @@ void ewk_view_popup_selected_set(Evas_Object* o, int index)
INF("o=%p", o);
EWK_VIEW_SD_GET_OR_RETURN(o, sd);
EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv);
+ EINA_SAFETY_ON_NULL_RETURN(priv->popup.menu_client);
priv->popup.menu_client->valueChanged(index);
}
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index cddfac8..803bf12 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,38 @@
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * WebCoreSupport/EditorClientGtk.cpp:
+ (WebKit::EditorClient::willSetInputMethodState):
+ * WebCoreSupport/EditorClientGtk.h:
+
+2010-07-16 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Uncomment an assert that broke due to r63100.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42298
+
+ * tests/testwebview.c:
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::setCursor):
+ * WebCoreSupport/ChromeClientGtk.h:
+ Change prototype to match new one.
+
2010-07-12 Martin Robinson <mrobinson@igalia.com>
Reviewed by Gustavo Noronha Silva.
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
index bb469c5..88440ba 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
@@ -591,10 +591,9 @@ void ChromeClient::chooseIconForFiles(const Vector<WebCore::String>& filenames,
chooser->iconLoaded(Icon::createIconForFiles(filenames));
}
-bool ChromeClient::setCursor(PlatformCursorHandle)
+void ChromeClient::setCursor(const Cursor&)
{
notImplemented();
- return false;
}
void ChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
index 46d015e..ce5c5a7 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
@@ -116,7 +116,7 @@ namespace WebKit {
virtual PassOwnPtr<WebCore::HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
- virtual bool setCursor(WebCore::PlatformCursorHandle);
+ virtual void setCursor(const WebCore::Cursor&);
virtual void scrollRectIntoView(const WebCore::IntRect&, const WebCore::ScrollView*) const {}
virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
diff --git a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp b/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
index 77ed9b2..cd04782 100644
--- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
@@ -215,6 +215,10 @@ void EditorClient::updatePendingComposition(const gchar* newComposition)
m_pendingComposition.set(g_strconcat(m_pendingComposition.get(), newComposition, NULL));
}
+void EditorClient::willSetInputMethodState()
+{
+}
+
void EditorClient::setInputMethodState(bool active)
{
WebKitWebViewPrivate* priv = m_webView->priv;
diff --git a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h b/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
index 2e5c359..93f56ce 100644
--- a/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
@@ -130,6 +130,7 @@ namespace WebKit {
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
virtual void getGuessesForWord(const WebCore::String&, WTF::Vector<WebCore::String>& guesses);
+ virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
private:
diff --git a/WebKit/gtk/po/ChangeLog b/WebKit/gtk/po/ChangeLog
index ec5330e..aac3c0c 100644
--- a/WebKit/gtk/po/ChangeLog
+++ b/WebKit/gtk/po/ChangeLog
@@ -1,3 +1,12 @@
+2010-07-13 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ This file is generated, we do not need to upload it to the
+ repository.
+
+ * webkit.pot: Removed.
+
2010-06-25 Fran Diéguez <fran.dieguez@mabishu.com>
Reviewed by Darin Adler.
diff --git a/WebKit/gtk/po/webkit.pot b/WebKit/gtk/po/webkit.pot
deleted file mode 100644
index ebe1df7..0000000
--- a/WebKit/gtk/po/webkit.pot
+++ /dev/null
@@ -1,1076 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: webkit 1.1.22\n"
-"Report-Msgid-Bugs-To: http://bugs.webkit.org/\n"
-"POT-Creation-Date: 2010-02-25 15:53-0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp:535
-msgid "Upload File"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:61
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:143
-msgid "Input _Methods"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:78
-msgid "LRM _Left-to-right mark"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:79
-msgid "RLM _Right-to-left mark"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:80
-msgid "LRE Left-to-right _embedding"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:81
-msgid "RLE Right-to-left e_mbedding"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:82
-msgid "LRO Left-to-right _override"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:83
-msgid "RLO Right-to-left o_verride"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:84
-msgid "PDF _Pop directional formatting"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:85
-msgid "ZWS _Zero width space"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:86
-msgid "ZWJ Zero width _joiner"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:87
-msgid "ZWNJ Zero width _non-joiner"
-msgstr ""
-
-#: WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp:109
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:138
-msgid "_Insert Unicode Control Character"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:266
-msgid "Network Request"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:267
-msgid "The network request for the URI that should be downloaded"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:281
-msgid "Network Response"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:282
-msgid "The network response for the URI that should be downloaded"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:296
-msgid "Destination URI"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:297
-msgid "The destination URI where to save the file"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:311
-msgid "Suggested Filename"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:312
-msgid "The filename suggested as default when saving"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:329
-msgid "Progress"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:330
-msgid "Determines the current progress of the download"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:343
-msgid "Status"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:344
-msgid "Determines the current status of the download"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:359
-msgid "Current Size"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:360
-msgid "The length of the data already downloaded"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:374
-msgid "Total Size"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:375
-msgid "The total size of the file"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitdownload.cpp:526
-msgid "User cancelled the download"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitsoupauthdialog.c:248
-#, c-format
-msgid "A username and password are being requested by the site %s"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitsoupauthdialog.c:278
-msgid "Server message:"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitsoupauthdialog.c:291
-msgid "Username:"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitsoupauthdialog.c:293
-msgid "Password:"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitsoupauthdialog.c:302
-msgid "_Remember password"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:298
-msgid "Name"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:299
-msgid "The name of the frame"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:305
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:146
-#: WebKit/gtk/webkit/webkitwebview.cpp:2318
-msgid "Title"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:306
-msgid "The document title of the frame"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:312
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:178
-#: WebKit/gtk/webkit/webkitwebview.cpp:2332
-msgid "URI"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:313
-msgid "The current URI of the contents displayed by the frame"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:344
-msgid "Horizontal Scrollbar Policy"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:345
-msgid ""
-"Determines the current policy for the horizontal scrollbar of the frame."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:362
-msgid "Vertical Scrollbar Policy"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebframe.cpp:363
-msgid "Determines the current policy for the vertical scrollbar of the frame."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:147
-msgid "The title of the history item"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:162
-msgid "Alternate Title"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:163
-msgid "The alternate title of the history item"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:179
-msgid "The URI of the history item"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:194
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:173
-msgid "Original URI"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:195
-msgid "The original URI of the history item"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:210
-msgid "Last visited Time"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebhistoryitem.cpp:211
-msgid "The time at which the history item was last visited"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebinspector.cpp:268
-msgid "Web View"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebinspector.cpp:269
-msgid "The Web View that renders the Web Inspector itself"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebinspector.cpp:282
-msgid "Inspected URI"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebinspector.cpp:283
-msgid "The URI that is currently being inspected"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebinspector.cpp:299
-msgid "Enable JavaScript profiling"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebinspector.cpp:300
-msgid "Profile the executed JavaScript."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebinspector.cpp:315
-msgid "Enable Timeline profiling"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebinspector.cpp:316
-msgid "Profile the WebCore instrumentation."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:158
-msgid "Reason"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:159
-msgid "The reason why this navigation is occurring"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:174
-msgid "The URI that was requested as the target for the navigation"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:188
-msgid "Button"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:189
-msgid "The button used to click"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:204
-msgid "Modifier state"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:205
-msgid "A bitmask representing the state of the modifier keys"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:220
-msgid "Target frame"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebnavigationaction.cpp:221
-msgid "The target frame for the navigation"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:237
-msgid "Default Encoding"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:238
-msgid "The default encoding used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:246
-msgid "Cursive Font Family"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:247
-msgid "The default Cursive font family used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:255
-msgid "Default Font Family"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:256
-msgid "The default font family used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:264
-msgid "Fantasy Font Family"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:265
-msgid "The default Fantasy font family used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:273
-msgid "Monospace Font Family"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:274
-msgid "The default font family used to display monospace text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:282
-msgid "Sans Serif Font Family"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:283
-msgid "The default Sans Serif font family used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:291
-msgid "Serif Font Family"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:292
-msgid "The default Serif font family used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:300
-msgid "Default Font Size"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:301
-msgid "The default font size used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:309
-msgid "Default Monospace Font Size"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:310
-msgid "The default font size used to display monospace text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:318
-msgid "Minimum Font Size"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:319
-msgid "The minimum font size used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:327
-msgid "Minimum Logical Font Size"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:328
-msgid "The minimum logical font size used to display text."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:347
-msgid "Enforce 96 DPI"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:348
-msgid "Enforce a resolution of 96 DPI"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:356
-msgid "Auto Load Images"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:357
-msgid "Load images automatically."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:365
-msgid "Auto Shrink Images"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:366
-msgid "Automatically shrink standalone images to fit."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:374
-msgid "Print Backgrounds"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:375
-msgid "Whether background images should be printed."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:383
-msgid "Enable Scripts"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:384
-msgid "Enable embedded scripting languages."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:392
-msgid "Enable Plugins"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:393
-msgid "Enable embedded plugin objects."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:401
-msgid "Resizable Text Areas"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:402
-msgid "Whether text areas are resizable."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:409
-msgid "User Stylesheet URI"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:410
-msgid "The URI of a stylesheet that is applied to every page."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:425
-msgid "Zoom Stepping Value"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:426
-msgid "The value by which the zoom level is changed when zooming in or out."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:444
-msgid "Enable Developer Extras"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:445
-msgid "Enables special extensions that help developers"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:465
-msgid "Enable Private Browsing"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:466
-msgid "Enables private browsing mode"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:481
-msgid "Enable Spell Checking"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:482
-msgid "Enables spell checking while typing"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:505
-msgid "Languages to use for spell checking"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:506
-msgid "Comma separated list of languages to use for spell checking"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:520
-msgid "Enable Caret Browsing"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:521
-msgid "Whether to enable accesibility enhanced keyboard navigation"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:536
-msgid "Enable HTML5 Database"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:537
-msgid "Whether to enable HTML5 database support"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:552
-msgid "Enable HTML5 Local Storage"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:553
-msgid "Whether to enable HTML5 Local Storage support"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:567
-msgid "Enable XSS Auditor"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:568
-msgid "Whether to enable teh XSS auditor"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:586
-msgid "User Agent"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:587
-msgid "The User-Agent string used by WebKitGtk"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:602
-msgid "JavaScript can open windows automatically"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:603
-msgid "Whether JavaScript can open windows automatically"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:618
-msgid "Enable offline web application cache"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:619
-msgid "Whether to enable offline web application cache"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:646
-msgid "Editing behavior"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:647
-msgid "The behavior mode to use in editing mode"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:663
-msgid "Enable universal access from file URIs"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:664
-msgid "Whether to allow universal access from file URIs"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:679
-msgid "Enable DOM paste"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:680
-msgid "Whether to enable DOM paste"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:698
-msgid "Tab key cycles through elements"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:699
-msgid "Whether the tab key cycles through elements on the page."
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:719
-msgid "Enable Default Context Menu"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:720
-msgid ""
-"Enables the handling of right-clicks for the creation of the default context "
-"menu"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:740
-msgid "Enable Site Specific Quirks"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:741
-msgid "Enables the site-specific compatibility workarounds"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:763
-msgid "Enable page cache"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:764
-msgid "Whether the page cache should be used"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:784
-msgid "Auto Resize Window"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:785
-msgid "Automatically resize the toplevel window when a page requests it"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:817
-msgid "Enable Java Applet"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebsettings.cpp:818
-msgid "Whether Java Applet support through <applet> should be enabled"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2319
-msgid "Returns the @web_view's document title"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2333
-msgid "Returns the current URI of the contents displayed by the @web_view"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2346
-msgid "Copy target list"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2347
-msgid "The list of targets this web view supports for clipboard copying"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2360
-msgid "Paste target list"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2361
-msgid "The list of targets this web view supports for clipboard pasting"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2367
-msgid "Settings"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2368
-msgid "An associated WebKitWebSettings instance"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2381
-msgid "Web Inspector"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2382
-msgid "The associated WebKitWebInspector instance"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2402
-msgid "Editable"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2403
-msgid "Whether content can be modified by the user"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2409
-msgid "Transparent"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2410
-msgid "Whether content has a transparent background"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2423
-msgid "Zoom level"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2424
-msgid "The level of zoom of the content"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2439
-msgid "Full content zoom"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2440
-msgid "Whether the full content is scaled when zooming"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2453
-msgid "Encoding"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2454
-msgid "The default encoding of the web view"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2467
-msgid "Custom Encoding"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2468
-msgid "The custom encoding of the web view"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2520
-msgid "Icon URI"
-msgstr ""
-
-#: WebKit/gtk/webkit/webkitwebview.cpp:2521
-msgid "The URI for the favicon for the #WebKitWebView."
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:55
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:60
-msgid "Submit"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:65
-msgid "Reset"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:70
-msgid "This is a searchable index. Enter search keywords: "
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:75
-msgid "Choose File"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:80
-msgid "(None)"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:85
-msgid "Open Link in New _Window"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:90
-msgid "_Download Linked File"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:95
-msgid "Copy Link Loc_ation"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:100
-msgid "Open _Image in New Window"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:105
-msgid "Sa_ve Image As"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:110
-msgid "Cop_y Image"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:115
-msgid "Open _Frame in New Window"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:166
-msgid "_Reload"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:183
-msgid "No Guesses Found"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:188
-msgid "_Ignore Spelling"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:193
-msgid "_Learn Spelling"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:198
-msgid "_Search the Web"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:203
-msgid "_Look Up in Dictionary"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:208
-msgid "_Open Link"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:213
-msgid "Ignore _Grammar"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:218
-msgid "Spelling and _Grammar"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:223
-msgid "_Show Spelling and Grammar"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:223
-msgid "_Hide Spelling and Grammar"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:228
-msgid "_Check Document Now"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:233
-msgid "Check Spelling While _Typing"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:238
-msgid "Check _Grammar With Spelling"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:243
-msgid "_Font"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:266
-msgid "_Outline"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:271
-msgid "Inspect _Element"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:276
-msgid "No recent searches"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:281
-msgid "Recent searches"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:286
-msgid "_Clear recent searches"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:291
-msgid "term"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:296
-msgid "definition"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:301
-msgid "press"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:306
-msgid "select"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:311
-msgid "activate"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:316
-msgid "uncheck"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:321
-msgid "check"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:326
-msgid "jump"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:342
-msgid " files"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:347
-msgid "Unknown"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:364
-msgid "Loading..."
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:369
-msgid "Live Broadcast"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:375
-msgid "audio element controller"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:377
-msgid "video element controller"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:379
-msgid "mute"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:381
-msgid "unmute"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:383
-msgid "play"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:385
-msgid "pause"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:387
-msgid "movie time"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:389
-msgid "timeline slider thumb"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:391
-msgid "back 30 seconds"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:393
-msgid "return to realtime"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:395
-msgid "elapsed time"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:397
-msgid "remaining time"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:399
-msgid "status"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:401
-msgid "fullscreen"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:403
-msgid "fast forward"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:405
-msgid "fast reverse"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:407
-msgid "show closed captions"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:409
-msgid "hide closed captions"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:418
-msgid "audio element playback controls and status display"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:420
-msgid "video element playback controls and status display"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:422
-msgid "mute audio tracks"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:424
-msgid "unmute audio tracks"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:426
-msgid "begin playback"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:428
-msgid "pause playback"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:430
-msgid "movie time scrubber"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:432
-msgid "movie time scrubber thumb"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:434
-msgid "seek movie back 30 seconds"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:436
-msgid "return streaming movie to real time"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:438
-msgid "current movie time in seconds"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:440
-msgid "number of seconds of movie remaining"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:442
-msgid "current movie status"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:444
-msgid "seek quickly back"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:446
-msgid "seek quickly forward"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:448
-msgid "Play movie in fullscreen mode"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:450
-msgid "start displaying closed captions"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:452
-msgid "stop displaying closed captions"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:461
-msgid "indefinite time"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:491
-msgid "value missing"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:497
-msgid "type mismatch"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:502
-msgid "pattern mismatch"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:507
-msgid "too long"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:512
-msgid "range underflow"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:517
-msgid "range overflow"
-msgstr ""
-
-#: WebCore/platform/gtk/LocalizedStringsGtk.cpp:522
-msgid "step mismatch"
-msgstr ""
diff --git a/WebKit/gtk/tests/testwebview.c b/WebKit/gtk/tests/testwebview.c
index 0bea643..36511d7 100644
--- a/WebKit/gtk/tests/testwebview.c
+++ b/WebKit/gtk/tests/testwebview.c
@@ -266,10 +266,7 @@ static void do_test_webkit_web_view_adjustments(gboolean with_page_cache)
g_assert_cmpfloat(lower, ==, gtk_adjustment_get_lower(adjustment));
g_assert_cmpfloat(upper, ==, gtk_adjustment_get_upper(adjustment));
- // This assert is temporarily disabled until we fix the following bug:
- // https://bugs.webkit.org/show_bug.cgi?id=42114
- // It should be re-enabled ASAP.
- // g_assert_cmpfloat(gtk_adjustment_get_value(adjustment), ==, 100.0);
+ g_assert_cmpfloat(gtk_adjustment_get_value(adjustment), ==, 100.0);
g_free(effective_uri);
g_free(second_uri);
diff --git a/WebKit/haiku/ChangeLog b/WebKit/haiku/ChangeLog
index d71c5e4..841a94c 100644
--- a/WebKit/haiku/ChangeLog
+++ b/WebKit/haiku/ChangeLog
@@ -1,3 +1,28 @@
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * WebCoreSupport/EditorClientHaiku.cpp:
+ (WebCore::EditorClientHaiku::willSetInputMethodState):
+ * WebCoreSupport/EditorClientHaiku.h:
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * WebCoreSupport/ChromeClientHaiku.cpp:
+ (WebCore::ChromeClientHaiku::setCursor):
+ * WebCoreSupport/ChromeClientHaiku.h:
+ Change prototype to match new one.
+
2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Pavel Feldman.
diff --git a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
index 2cf5c31..d18b84d 100644
--- a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
+++ b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
@@ -362,10 +362,9 @@ void ChromeClientHaiku::chooseIconForFiles(const Vector<String>& filenames, File
chooser->iconLoaded(Icon::createIconForFiles(filenames));
}
-bool ChromeClientHaiku::setCursor(PlatformCursorHandle)
+void ChromeClientHaiku::setCursor(const Cursor&)
{
notImplemented();
- return false;
}
// Notification that the given form element has changed. This function
diff --git a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
index d5a372b..963e72f 100644
--- a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
+++ b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
@@ -140,7 +140,7 @@ namespace WebCore {
void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
void chooseIconForFiles(const Vector<String>&, FileChooser*);
- bool setCursor(PlatformCursorHandle);
+ void setCursor(const Cursor&);
// Notification that the given form element has changed. This function
// will be called frequently, so handling should be very fast.
diff --git a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
index 2e23af7..bdd7eb8 100644
--- a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
+++ b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.cpp
@@ -466,6 +466,11 @@ void EditorClientHaiku::getGuessesForWord(const String&, Vector<String>&)
notImplemented();
}
+void EditorClientHaiku::willSetInputMethodState()
+{
+ notImplemented();
+}
+
void EditorClientHaiku::setInputMethodState(bool enabled)
{
notImplemented();
@@ -477,4 +482,3 @@ bool EditorClientHaiku::isEditing() const
}
} // namespace WebCore
-
diff --git a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h
index eda9597..5cbec27 100644
--- a/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h
+++ b/WebKit/haiku/WebCoreSupport/EditorClientHaiku.h
@@ -108,6 +108,7 @@ namespace WebCore {
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
virtual void getGuessesForWord(const String&, Vector<String>& guesses);
+ virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
bool isEditing() const;
@@ -121,4 +122,3 @@ namespace WebCore {
} // namespace WebCore
#endif // EditorClientHaiku_h
-
diff --git a/WebKit/mac/Carbon/CarbonWindowAdapter.mm b/WebKit/mac/Carbon/CarbonWindowAdapter.mm
index c57bc37..9747350 100644
--- a/WebKit/mac/Carbon/CarbonWindowAdapter.mm
+++ b/WebKit/mac/Carbon/CarbonWindowAdapter.mm
@@ -81,7 +81,7 @@
#import "WebTypesInternal.h"
@interface NSWindow(HIWebFrameView)
-- _initContent:(const NSRect *)contentRect styleMask:(unsigned int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag contentView:aView;
+- (id)_initContent:(const NSRect *)contentRect styleMask:(unsigned int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag contentView:aView;
- (void)_oldPlaceWindow:(NSRect)frameRect;
- (void)_windowMovedToRect:(NSRect)actualFrame;
- (void)_setWindowNumber:(NSInteger)nativeWindow;
@@ -517,7 +517,7 @@ static OSStatus NSCarbonWindowHandleEvent(EventHandlerCallRef inEventHandlerCall
// Do the right thing for a Carbon window.
-- _destroyRealWindow:(BOOL)orderingOut {
+- (id)_destroyRealWindow:(BOOL)orderingOut {
// Complain, because this should never be called. We don't support one-shot NSCarbonWindows.
NSLog(@"-[NSCarbonWindow _destroyRealWindow:] is not implemented.");
@@ -804,7 +804,7 @@ static OSStatus NSCarbonWindowHandleEvent(EventHandlerCallRef inEventHandlerCall
return;
}
-- _clearModalWindowLevel {
+- (id)_clearModalWindowLevel {
return nil;
}
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index eaed21b..95c460b 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,313 @@
+2010-07-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Composited layers don't scroll in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42771
+
+ Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
+ but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
+ scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
+
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView _frameOrBoundsChanged]):
+
+2010-07-21 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Update plug-in proxy backed <video> and <audio> elements.
+ https://bugs.webkit.org/show_bug.cgi?id=42770
+ <rdar://problem/7963467>
+
+ * Plugins/WebPluginController.h:
+ * Plugins/WebPluginController.mm:
+ (-[WebPluginController dealloc]): Release _viewsNotInDocument.
+ (-[WebPluginController stopAllPlugins]): Stop plug-ins not in the document.
+ (-[WebPluginController pluginViewCreated:]): New, add a View (plug-in) to _viewsNotInDocument.
+ (+[WebPluginController pluginViewHidden:]): New, remove the view (plug-in) from pluginViews.
+ (-[WebPluginController addPlugin:]): Remove the new plug-in from _viewsNotInDocument.
+
+ * WebCoreSupport/WebFrameLoaderClient.h:
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::createPlugin): Remove PLUGIN_PROXY_FOR_VIDEO code, the media
+ player proxy plug-in should never be allocated by this method.
+ (WebFrameLoaderClient::createMediaPlayerProxyPlugin): New, allocate a media player proxy.
+
+ * WebView/WebView.mm:
+ (-[WebView _videoProxyPluginForMIMEType:]): New. Identical to _pluginForMIMEType except it doesn't
+ consider the arePlugInsEnabled preference.
+ * WebView/WebViewInternal.h:
+
+
+2010-07-19 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42118
+ Disable WebGL on Leopard for now.
+
+ LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
+ GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
+ SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
+ software OpenGL driver on machines without this support.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move PluginWidget to WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=42530
+
+ * Plugins/WebBaseNetscapePluginView.h:
+ * Plugins/WebBaseNetscapePluginView.mm:
+ (-[WebBaseNetscapePluginView pluginLayer]):
+ Add default pluginLayer implementation.
+
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (PluginWidget::PluginWidget):
+ (PluginWidget::invalidateRect):
+ Move the guts of PluginWidget here from WebCore.
+
+ (NetscapePluginWidget::platformLayer):
+ Get the layer from the plug-in view.
+
+2010-07-18 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/42522> Add missing (id) return type to Obj-C methods
+
+ Reviewed by Dan Bernstein.
+
+ * Carbon/CarbonWindowAdapter.mm:
+ (-[NSWindow(HIWebFrameView) _initContent:styleMask:backing:defer:contentView:]):
+ (-[CarbonWindowAdapter _destroyRealWindow:]):
+ (-[CarbonWindowAdapter _clearModalWindowLevel]):
+ * Misc/WebIconDatabase.mm:
+ (-[WebIconDatabase init]):
+ * Misc/WebNSPasteboardExtras.mm:
+ (-[NSFilePromiseDragSource initWithSource:]):
+ * WebView/WebHTMLRepresentation.mm:
+ (-[WebHTMLRepresentation init]):
+ * WebView/WebPreferences.mm:
+ (-[WebPreferences init]):
+ * WebView/WebView.mm:
+ (-[WebView UIDelegate]):
+ (-[WebView resourceLoadDelegate]):
+ (-[WebView downloadDelegate]):
+ (-[WebView policyDelegate]):
+ (-[WebView frameLoadDelegate]):
+
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * WebCoreSupport/WebEditorClient.h:
+ * WebCoreSupport/WebEditorClient.mm:
+ (WebEditorClient::willSetInputMethodState):
+
+2010-07-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
+ https://bugs.webkit.org/show_bug.cgi?id=29355
+
+ * Misc/WebKitNSStringExtras.h:
+ * Misc/WebKitNSStringExtras.mm:
+ (-[NSString _web_drawAtPoint:font:textColor:]): Now calls through to
+ -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing YES for the last
+ parameter.
+ (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Added
+ allowingFontSmoothing:. If font smoothing is not allowed, sets the font smoothing
+ mode to antialiased. Otherwise, sets it to auto.
+ (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): Instead of
+ changing the font smoothing setting in the graphics context, call
+ -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing NO for the last
+ parameter.
+
+2010-07-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove semicolons from Objective-C method declarations.
+
+ * WebView/WebRenderLayer.mm:
+ (+[WebRenderLayer nameForLayer:]):
+ (+[WebRenderLayer compositingInfoForLayer:]):
+
+2010-07-16 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Make JS memory stats available via 'Performance' object (Web Timing).
+ This statistics is populated only if 'WebKitMemoryInfoEnabled'
+ preference is set.
+
+ 'console.memory' is kept until Web Timing object becomes visible by
+ default (currently it is hidden under compile-time flag). These stats
+ are guarded with the same preference.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41617
+
+ * WebKit.order:
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences memoryInfoEnabled]):
+ (-[WebPreferences setMemoryInfoEnabled:]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChangedNotification:]):
+
+2010-07-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Printing test results differ between machines, we should use ImageDiff instead
+ https://bugs.webkit.org/show_bug.cgi?id=20011
+
+ * Misc/WebCoreStatistics.h:
+ * Misc/WebCoreStatistics.mm:
+ (-[WebFrame printToCGContext:cgContext:pageWidthInPixels:]):
+
+2010-07-15 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Darin Adler.
+
+ [Mac] Implement LayoutTestController::markerTextForListItem()
+ https://bugs.webkit.org/show_bug.cgi?id=37929
+
+ Implements support for markerTextForListItem in the Mac port.
+
+ * DOM/WebDOMOperations.mm:
+ (+[DOMElement _DOMElementFromJSContext]): Added.
+ (-[DOMElement _markerTextForListItem]): Added.
+ * DOM/WebDOMOperationsPrivate.h:
+
+2010-07-14 Simon Fraser <simon.fraser@apple.com>
+
+ Fix non-ACCELERATED_COMPOSITING build.
+
+ * WebView/WebRenderLayer.mm:
+ (+[WebRenderLayer compositingInfoForLayer:]):
+
+2010-07-14 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by John Sullivan.
+
+ <rdar://problem/8186963> Expose information about compositing layers.
+
+ Use RenderLayerBacking::compositingLayerType() to add more information about compositing to
+ WebRenderLayer, via a compositingInfo property. Also show element classnames.
+
+ Also add separator items between the various z-order lists.
+
+ * WebView/WebRenderLayer.h:
+ * WebView/WebRenderLayer.mm:
+ (+[WebRenderLayer nameForLayer:]):
+ (+[WebRenderLayer compositingInfoForLayer:]):
+ (-[WebRenderLayer initWithRenderLayer:]):
+ (-[WebRenderLayer initWithName:]):
+ (-[WebRenderLayer initWithWebFrame:]):
+ (-[WebRenderLayer dealloc]):
+ (-[WebRenderLayer buildDescendantLayers:]):
+ (-[WebRenderLayer compositingInfo]):
+ (-[WebRenderLayer isComposited]):
+ (-[WebRenderLayer isSeparator]):
+
+2010-07-14 Darin Adler <darin@apple.com>
+
+ Another try at fixing the Tiger build.
+
+ Avoid non-ASCII in source files to keep Tiger compiler happy.
+
+ * WebView/WebRenderLayer.mm:
+ (+[WebRenderLayer nameForLayer:]): Use %C for the non-ASCII characters.
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * WebCoreSupport/WebChromeClient.h:
+ * WebCoreSupport/WebChromeClient.mm:
+ (WebChromeClient::setCursor):
+ * WebView/WebView.mm:
+ Implement cursor changing at the WebKit level for the sake of WebKit2.
+ This functionality is being moved from WidgetMac.mm.
+ (+[WebView _pointingHandCursor]):
+ Update to use platformCursor() instead of impl().
+
+2010-07-13 Simon Fraser <simon.fraser@apple.com>
+
+ Fix Tiger build.
+
+ Avoid non-ASCII in souce files to keep Tiger compiler happy.
+
+ * WebView/WebRenderLayer.mm:
+ (+[WebRenderLayer nameForLayer:]):
+
+2010-07-13 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/8186963> Expose RenderLayer hierarchy via Obj-C for debugging.
+
+ Add a WebRenderLayer class that reflects the RenderLayer tree into a hierarchy
+ of Objective-C objects suitable for display in an outline view.
+
+ * WebKit.exp: Export the WebRenderLayer Objective-C class.
+ * WebView/WebRenderLayer.h: Added.
+ * WebView/WebRenderLayer.mm: Added.
+
+2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Prevent assertion/duplicate loads for non-deferred subtitute-data loads
+
+ https://bugs.webkit.org/show_bug.cgi?id=30879
+
+ MainResourceLoader uses the member m_initialRequest to store requests for future
+ deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
+ have to clear this request so that subsequent entries into the loader will not
+ start yet another load.
+
+ This can happen as a result of a PageGroupLoadDeferrer going out of scope when
+ returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
+ but only in the case of using both substitute-data and non-deferred main resource
+ load together. That's why two new DRT functions were added:
+
+ * queueLoadHTMLString()
+ * setDeferMainResourceLoad()
+
+ The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
+ and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
+ added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
+
+ * WebView/WebDataSource.mm:
+ (-[WebDataSource _setDeferMainResourceDataLoad:]):
+ * WebView/WebDataSourcePrivate.h:
+
+2010-07-13 Philippe Normand <pnormand@igalia.com>
+
+ Rubber-stamped by Xan Lopez.
+
+ Updated the copyright headers of the files modified in r62476.
+
+ * WebView/WebView.mm:
+ * WebView/WebViewData.h:
+ * WebView/WebViewInternal.h:
+
2010-07-09 Alexey Proskuryakov <ap@apple.com>
Reviewed by Darin Adler.
diff --git a/WebKit/mac/Configurations/FeatureDefines.xcconfig b/WebKit/mac/Configurations/FeatureDefines.xcconfig
index 9a3ec0b..4b363aa 100644
--- a/WebKit/mac/Configurations/FeatureDefines.xcconfig
+++ b/WebKit/mac/Configurations/FeatureDefines.xcconfig
@@ -34,7 +34,6 @@
ENABLE_LINK_PREFETCH = ;
ENABLE_3D_CANVAS = $(ENABLE_3D_CANVAS_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_3D_CANVAS_1050 = ENABLE_3D_CANVAS;
ENABLE_3D_CANVAS_1060 = ENABLE_3D_CANVAS;
ENABLE_3D_CANVAS_1070 = ENABLE_3D_CANVAS;
diff --git a/WebKit/mac/DOM/WebDOMOperations.mm b/WebKit/mac/DOM/WebDOMOperations.mm
index 194a000..d21f2b0 100644
--- a/WebKit/mac/DOM/WebDOMOperations.mm
+++ b/WebKit/mac/DOM/WebDOMOperations.mm
@@ -29,6 +29,7 @@
#import "WebDOMOperationsPrivate.h"
#import "DOMDocumentInternal.h"
+#import "DOMElementInternal.h"
#import "DOMNodeInternal.h"
#import "DOMRangeInternal.h"
#import "WebArchiveInternal.h"
@@ -36,15 +37,42 @@
#import "WebFrameInternal.h"
#import "WebFramePrivate.h"
#import "WebKitNSStringExtras.h"
+#import <JavaScriptCore/APICast.h>
#import <WebCore/CSSHelper.h>
#import <WebCore/Document.h>
+#import <WebCore/JSElement.h>
#import <WebCore/LegacyWebArchive.h>
#import <WebCore/markup.h>
+#import <WebCore/RenderTreeAsText.h>
#import <WebKit/DOMExtensions.h>
#import <WebKit/DOMHTML.h>
+#import <runtime/JSLock.h>
+#import <runtime/JSValue.h>
#import <wtf/Assertions.h>
using namespace WebCore;
+using namespace JSC;
+
+@implementation DOMElement (WebDOMElementOperationsPrivate)
+
++ (DOMElement *)_DOMElementFromJSContext:(JSContextRef)context value:(JSValueRef)value
+{
+ if (!context)
+ return 0;
+
+ if (!value)
+ return 0;
+
+ JSLock lock(SilenceAssertionsOnly);
+ return kit(toElement(toJS(toJS(context), value)));
+}
+
+- (NSString *)_markerTextForListItem
+{
+ return WebCore::markerTextForListItem(core(self));
+}
+
+@end
@implementation DOMNode (WebDOMNodeOperations)
diff --git a/WebKit/mac/DOM/WebDOMOperationsPrivate.h b/WebKit/mac/DOM/WebDOMOperationsPrivate.h
index 826aa7d..1c22e82 100644
--- a/WebKit/mac/DOM/WebDOMOperationsPrivate.h
+++ b/WebKit/mac/DOM/WebDOMOperationsPrivate.h
@@ -27,6 +27,12 @@
*/
#import <WebKit/WebDOMOperations.h>
+#import <JavaScriptCore/JSBase.h>
+
+@interface DOMElement (WebDOMElementOperationsPrivate)
++ (DOMElement *)_DOMElementFromJSContext:(JSContextRef)context value:(JSValueRef)value;
+- (NSString *)_markerTextForListItem;
+@end
@interface DOMDocument (WebDOMDocumentOperationsPrivate)
- (NSArray *)_focusableNodes;
diff --git a/WebKit/mac/Misc/WebCoreStatistics.h b/WebKit/mac/Misc/WebCoreStatistics.h
index 33e3e0f..1565c26 100644
--- a/WebKit/mac/Misc/WebCoreStatistics.h
+++ b/WebKit/mac/Misc/WebCoreStatistics.h
@@ -90,4 +90,5 @@
- (NSString *)pageProperty:(const char*)propertyName:(int)pageNumber;
- (bool)isPageBoxVisible:(int)pageNumber;
- (NSString *)pageSizeAndMarginsInPixels:(int)pageNumber:(int)width:(int)height:(int)marginTop:(int)marginRight:(int)marginBottom:(int)marginLeft;
+- (void)printToCGContext:(CGContextRef)cgContext:(float)pageWidthInPixels:(float)pageHeightInPixels;
@end
diff --git a/WebKit/mac/Misc/WebCoreStatistics.mm b/WebKit/mac/Misc/WebCoreStatistics.mm
index bbe07d5..a5d5ae1 100644
--- a/WebKit/mac/Misc/WebCoreStatistics.mm
+++ b/WebKit/mac/Misc/WebCoreStatistics.mm
@@ -37,6 +37,7 @@
#import <WebCore/Frame.h>
#import <WebCore/GCController.h>
#import <WebCore/GlyphPageTreeNode.h>
+#import <WebCore/GraphicsContext.h>
#import <WebCore/IconDatabase.h>
#import <WebCore/JSDOMWindow.h>
#import <WebCore/PageCache.h>
@@ -289,4 +290,15 @@ using namespace WebCore;
{
return PrintContext::pageSizeAndMarginsInPixels(_private->coreFrame, pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft);
}
+
+- (void)printToCGContext:(CGContextRef)cgContext:(float)pageWidthInPixels:(float)pageHeightInPixels
+{
+ Frame* coreFrame = _private->coreFrame;
+ if (!coreFrame)
+ return;
+
+ GraphicsContext graphicsContext(cgContext);
+ PrintContext::spoolAllPagesWithBoundaries(coreFrame, graphicsContext, FloatSize(pageWidthInPixels, pageHeightInPixels));
+}
+
@end
diff --git a/WebKit/mac/Misc/WebIconDatabase.mm b/WebKit/mac/Misc/WebIconDatabase.mm
index f53bffa..7d0a350 100644
--- a/WebKit/mac/Misc/WebIconDatabase.mm
+++ b/WebKit/mac/Misc/WebIconDatabase.mm
@@ -104,7 +104,7 @@ static WebIconDatabaseClient* defaultClient()
return database;
}
-- init
+- (id)init
{
[super init];
WebCoreThreadViolationCheckRoundOne();
diff --git a/WebKit/mac/Misc/WebKitNSStringExtras.h b/WebKit/mac/Misc/WebKitNSStringExtras.h
index f252430..ddc49f0 100644
--- a/WebKit/mac/Misc/WebKitNSStringExtras.h
+++ b/WebKit/mac/Misc/WebKitNSStringExtras.h
@@ -32,6 +32,7 @@ extern NSString *WebKitLocalCacheDefaultsKey;
@interface NSString (WebKitExtras)
+- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor allowingFontSmoothing:(BOOL)fontSmoothingIsAllowed;
- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor;
- (void)_web_drawDoubledAtPoint:(NSPoint)textPoint withTopColor:(NSColor *)topColor bottomColor:(NSColor *)bottomColor font:(NSFont *)font;
diff --git a/WebKit/mac/Misc/WebKitNSStringExtras.mm b/WebKit/mac/Misc/WebKitNSStringExtras.mm
index da46630..8fc12bd 100644
--- a/WebKit/mac/Misc/WebKitNSStringExtras.mm
+++ b/WebKit/mac/Misc/WebKitNSStringExtras.mm
@@ -62,12 +62,16 @@ static BOOL canUseFastRenderer(const UniChar *buffer, unsigned length)
- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor
{
- // FIXME: Would be more efficient to change this to C++ and use Vector<UChar, 2048>.
+ [self _web_drawAtPoint:point font:font textColor:textColor allowingFontSmoothing:YES];
+}
+
+- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor allowingFontSmoothing:(BOOL)fontSmoothingIsAllowed
+{
unsigned length = [self length];
Vector<UniChar, 2048> buffer(length);
[self getCharacters:buffer.data()];
-
+
if (canUseFastRenderer(buffer.data(), length)) {
// The following is a half-assed attempt to match AppKit's rounding rules for drawAtPoint.
// It's probably incorrect for high DPI.
@@ -84,7 +88,7 @@ static BOOL canUseFastRenderer(const UniChar *buffer, unsigned length)
if (!flipped)
CGContextScaleCTM(cgContext, 1, -1);
- Font webCoreFont(FontPlatformData(font), ![nsContext isDrawingToScreen]);
+ Font webCoreFont(FontPlatformData(font), ![nsContext isDrawingToScreen], fontSmoothingIsAllowed ? AutoSmoothing : Antialiased);
TextRun run(buffer.data(), length);
run.disableRoundingHacks();
@@ -116,17 +120,10 @@ static BOOL canUseFastRenderer(const UniChar *buffer, unsigned length)
font:(NSFont *)font
{
// turn off font smoothing so translucent text draws correctly (Radar 3118455)
- [NSGraphicsContext saveGraphicsState];
- CGContextSetShouldSmoothFonts(static_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]), false);
- [self _web_drawAtPoint:textPoint
- font:font
- textColor:bottomColor];
+ [self _web_drawAtPoint:textPoint font:font textColor:bottomColor allowingFontSmoothing:NO];
textPoint.y += 1;
- [self _web_drawAtPoint:textPoint
- font:font
- textColor:topColor];
- [NSGraphicsContext restoreGraphicsState];
+ [self _web_drawAtPoint:textPoint font:font textColor:topColor allowingFontSmoothing:NO];
}
- (float)_web_widthWithFont:(NSFont *)font
diff --git a/WebKit/mac/Misc/WebNSPasteboardExtras.mm b/WebKit/mac/Misc/WebNSPasteboardExtras.mm
index ab3baf7..7caa47a 100644
--- a/WebKit/mac/Misc/WebNSPasteboardExtras.mm
+++ b/WebKit/mac/Misc/WebNSPasteboardExtras.mm
@@ -48,7 +48,7 @@
#import <wtf/StdLibExtras.h>
@interface NSFilePromiseDragSource : NSObject
-- initWithSource:(id)draggingSource;
+- (id)initWithSource:(id)draggingSource;
- (void)setTypes:(NSArray *)types onPasteboard:(NSPasteboard *)pboard;
@end
diff --git a/WebKit/mac/Plugins/WebBaseNetscapePluginView.h b/WebKit/mac/Plugins/WebBaseNetscapePluginView.h
index 81d801a..4c8ea84 100644
--- a/WebKit/mac/Plugins/WebBaseNetscapePluginView.h
+++ b/WebKit/mac/Plugins/WebBaseNetscapePluginView.h
@@ -140,6 +140,10 @@ class WebHaltablePlugin;
- (void)invalidatePluginContentRect:(NSRect)rect;
+#ifndef BUILDING_ON_TIGER
+- (CALayer *)pluginLayer;
+#endif
+
@end
diff --git a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
index bcef2a1..6ae7334 100644
--- a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
+++ b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
@@ -948,6 +948,14 @@ String WebHaltablePlugin::pluginName() const
}
}
+#ifndef BUILDING_ON_TIGER
+- (CALayer *)pluginLayer
+{
+ ASSERT_NOT_REACHED();
+ return nil;
+}
+#endif
+
@end
namespace WebKit {
diff --git a/WebKit/mac/Plugins/WebPluginController.h b/WebKit/mac/Plugins/WebPluginController.h
index ffc07a4..dc1f413 100644
--- a/WebKit/mac/Plugins/WebPluginController.h
+++ b/WebKit/mac/Plugins/WebPluginController.h
@@ -42,6 +42,9 @@
NSMutableArray *_views;
BOOL _started;
NSMutableSet *_checksInProgress;
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ NSMutableArray *_viewsNotInDocument;
+#endif
}
+ (NSView *)plugInViewWithArguments:(NSDictionary *)arguments fromPluginPackage:(WebPluginPackage *)plugin;
@@ -53,6 +56,10 @@
- (void)addPlugin:(NSView *)view;
- (void)destroyPlugin:(NSView *)view;
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+- (void)pluginViewCreated:(NSView *)view;
++ (void)pluginViewHidden:(NSView *)view;
+#endif
- (void)startAllPlugins;
- (void)stopAllPlugins;
diff --git a/WebKit/mac/Plugins/WebPluginController.mm b/WebKit/mac/Plugins/WebPluginController.mm
index 1c85862..9c037c2 100644
--- a/WebKit/mac/Plugins/WebPluginController.mm
+++ b/WebKit/mac/Plugins/WebPluginController.mm
@@ -138,6 +138,9 @@ static NSMutableSet *pluginViews = nil;
{
[_views release];
[_checksInProgress release];
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ [_viewsNotInDocument release];
+#endif
[super dealloc];
}
@@ -198,9 +201,30 @@ static NSMutableSet *pluginViews = nil;
for (i = 0; i < count; i++)
[self stopOnePlugin:[_views objectAtIndex:i]];
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ count = [_viewsNotInDocument count];
+ for (i = 0; i < count; i++)
+ [self stopOnePlugin:[_viewsNotInDocument objectAtIndex:i]];
+#endif
+
_started = NO;
}
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+- (void)pluginViewCreated:(NSView *)view
+{
+ if (!_viewsNotInDocument)
+ _viewsNotInDocument= [[NSMutableArray alloc] init];
+ if (![_viewsNotInDocument containsObject:view])
+ [_viewsNotInDocument addObject:view];
+}
+
++ (void)pluginViewHidden:(NSView *)view
+{
+ [pluginViews removeObject:view];
+}
+#endif
+
- (void)addPlugin:(NSView *)view
{
if (!_documentView) {
@@ -212,6 +236,11 @@ static NSMutableSet *pluginViews = nil;
[_views addObject:view];
[[_documentView _webView] addPluginInstanceView:view];
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ if ([_viewsNotInDocument containsObject:view])
+ [_viewsNotInDocument removeObject:view];
+#endif
+
BOOL oldDefersCallbacks = [[self webView] defersCallbacks];
if (!oldDefersCallbacks)
[[self webView] setDefersCallbacks:YES];
@@ -251,7 +280,11 @@ static NSMutableSet *pluginViews = nil;
- (void)destroyPlugin:(NSView *)view
{
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ if ([_views containsObject:view] || [_viewsNotInDocument containsObject:view]) {
+#else
if ([_views containsObject:view]) {
+#endif
if (_started)
[self stopOnePlugin:view];
[self destroyOnePlugin:view];
@@ -264,6 +297,9 @@ static NSMutableSet *pluginViews = nil;
[pluginViews removeObject:view];
[[_documentView _webView] removePluginInstanceView:view];
[_views removeObject:view];
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ [_viewsNotInDocument removeObject:view];
+#endif
}
}
@@ -310,6 +346,13 @@ static void cancelOutstandingCheck(const void *item, void *context)
[pluginViews removeObject:aView];
[[_documentView _webView] removePluginInstanceView:aView];
}
+
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ count = [_viewsNotInDocument count];
+ for (i = 0; i < count; i++)
+ [self destroyOnePlugin:[_viewsNotInDocument objectAtIndex:i]];
+#endif
+
[_views makeObjectsPerformSelector:@selector(removeFromSuperviewWithoutNeedingDisplay)];
[_views release];
_views = nil;
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.h b/WebKit/mac/WebCoreSupport/WebChromeClient.h
index ea59c4d..707d080 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.h
@@ -127,7 +127,7 @@ public:
virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
virtual void chooseIconForFiles(const Vector<WebCore::String>&, WebCore::FileChooser*);
- virtual bool setCursor(WebCore::PlatformCursorHandle) { return false; }
+ virtual void setCursor(const WebCore::Cursor&);
virtual WebCore::FloatRect customHighlightRect(WebCore::Node*, const WebCore::AtomicString& type,
const WebCore::FloatRect& lineRect);
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
index 3bf310a..eb56240 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
@@ -48,6 +48,7 @@
#import <Foundation/Foundation.h>
#import <WebCore/BlockExceptions.h>
#import <WebCore/Console.h>
+#import <WebCore/Cursor.h>
#import <WebCore/Element.h>
#import <WebCore/FileChooser.h>
#import <WebCore/FloatRect.h>
@@ -659,6 +660,14 @@ void WebChromeClient::chooseIconForFiles(const Vector<String>& filenames, FileCh
chooser->iconLoaded(Icon::createIconForFiles(filenames));
}
+void WebChromeClient::setCursor(const WebCore::Cursor& cursor)
+{
+ NSCursor *platformCursor = cursor.platformCursor();
+ if ([NSCursor currentCursor] == platformCursor)
+ return;
+ [platformCursor set];
+}
+
KeyboardUIMode WebChromeClient::keyboardUIMode()
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
diff --git a/WebKit/mac/WebCoreSupport/WebEditorClient.h b/WebKit/mac/WebCoreSupport/WebEditorClient.h
index d7dfdd7..1cb2a59 100644
--- a/WebKit/mac/WebCoreSupport/WebEditorClient.h
+++ b/WebKit/mac/WebCoreSupport/WebEditorClient.h
@@ -127,6 +127,7 @@ public:
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
virtual void getGuessesForWord(const WebCore::String&, WTF::Vector<WebCore::String>& guesses);
+ virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
private:
void registerCommandForUndoOrRedo(PassRefPtr<WebCore::EditCommand>, bool isRedo);
diff --git a/WebKit/mac/WebCoreSupport/WebEditorClient.mm b/WebKit/mac/WebCoreSupport/WebEditorClient.mm
index ec9024a..d2f2706 100644
--- a/WebKit/mac/WebCoreSupport/WebEditorClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebEditorClient.mm
@@ -818,6 +818,10 @@ void WebEditorClient::getGuessesForWord(const String& word, WTF::Vector<String>&
}
}
+void WebEditorClient::willSetInputMethodState()
+{
+}
+
void WebEditorClient::setInputMethodState(bool)
{
}
diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
index 60b1fbf..d750a10 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
+++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
@@ -201,6 +201,13 @@ private:
virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL,
const Vector<WebCore::String>& paramNames, const Vector<WebCore::String>& paramValues);
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+ virtual PassRefPtr<WebCore::Widget> createMediaPlayerProxyPlugin(const WebCore::IntSize&, WebCore::HTMLMediaElement*, const WebCore::KURL&,
+ const Vector<WebCore::String>&, const Vector<WebCore::String>&, const WebCore::String&);
+ virtual void hideMediaPlayerProxyPlugin(WebCore::Widget*);
+ virtual void showMediaPlayerProxyPlugin(WebCore::Widget*);
+#endif
+
virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL& url, const WebCore::String& mimeType);
virtual WebCore::String overrideMediaType() const;
diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
index d72f4ed..1021ad9 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
@@ -93,6 +93,9 @@
#import <WebCore/HTMLFrameElement.h>
#import <WebCore/HTMLFrameOwnerElement.h>
#import <WebCore/HTMLHeadElement.h>
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+#import <WebCore/HTMLMediaElement.h>
+#endif
#import <WebCore/HTMLNames.h>
#import <WebCore/HTMLPlugInElement.h>
#import <WebCore/HistoryItem.h>
@@ -103,7 +106,7 @@
#import <WebCore/MouseEvent.h>
#import <WebCore/Page.h>
#import <WebCore/PlatformString.h>
-#import <WebCore/PluginWidget.h>
+#import <WebCore/PluginViewBase.h>
#import <WebCore/ResourceError.h>
#import <WebCore/ResourceHandle.h>
#import <WebCore/ResourceLoader.h>
@@ -1502,6 +1505,20 @@ static NSView *pluginView(WebFrame *frame, WebPluginPackage *pluginPackage,
return view;
}
+class PluginWidget : public PluginViewBase {
+public:
+ PluginWidget(NSView *view = 0)
+ : PluginViewBase(view)
+ {
+ }
+
+private:
+ virtual void invalidateRect(const IntRect& rect)
+ {
+ [platformWidget() setNeedsDisplayInRect:rect];
+ }
+};
+
#if ENABLE(NETSCAPE_PLUGIN_API)
class NetscapePluginWidget : public PluginWidget {
@@ -1511,6 +1528,13 @@ public:
{
}
+#if USE(ACCELERATED_COMPOSITING)
+ virtual PlatformLayer* platformLayer() const
+ {
+ return [(WebBaseNetscapePluginView *)platformWidget() pluginLayer];
+ }
+#endif
+
virtual void handleEvent(Event* event)
{
Frame* frame = Frame::frameForWidget(this);
@@ -1583,12 +1607,6 @@ PassRefPtr<Widget> WebFrameLoaderClient::createPlugin(const IntSize& size, HTMLP
}
NSString *extension = [[pluginURL path] pathExtension];
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- // don't allow proxy plug-in selection by file extension
- if (element->hasTagName(videoTag) || element->hasTagName(audioTag))
- extension = @"";
-#endif
-
if (!pluginPackage && [extension length] != 0) {
pluginPackage = [webView _pluginForExtension:extension];
if (pluginPackage) {
@@ -1743,6 +1761,83 @@ PassRefPtr<Widget> WebFrameLoaderClient::createJavaAppletWidget(const IntSize& s
#endif // ENABLE(JAVA_BRIDGE)
}
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+PassRefPtr<Widget> WebFrameLoaderClient::createMediaPlayerProxyPlugin(const IntSize& size, HTMLMediaElement* element, const KURL& url,
+ const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType)
+{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS;
+
+ ASSERT(paramNames.size() == paramValues.size());
+ ASSERT(mimeType);
+
+ int errorCode = 0;
+ WebView *webView = getWebView(m_webFrame.get());
+ NSURL *URL = url;
+
+ SEL selector = @selector(webView:plugInViewWithArguments:);
+
+ if ([[webView UIDelegate] respondsToSelector:selector]) {
+ NSMutableDictionary *attributes = [[NSMutableDictionary alloc] initWithObjects:kit(paramValues) forKeys:kit(paramNames)];
+ NSDictionary *arguments = [[NSDictionary alloc] initWithObjectsAndKeys:
+ attributes, WebPlugInAttributesKey,
+ [NSNumber numberWithInt:WebPlugInModeEmbed], WebPlugInModeKey,
+ [NSNumber numberWithBool:YES], WebPlugInShouldLoadMainResourceKey,
+ kit(element), WebPlugInContainingElementKey,
+ URL, WebPlugInBaseURLKey, // URL might be nil, so add it last
+ nil];
+
+ NSView *view = CallUIDelegate(webView, selector, arguments);
+
+ [attributes release];
+ [arguments release];
+
+ if (view)
+ return adoptRef(new PluginWidget(view));
+ }
+
+ WebBasePluginPackage *pluginPackage = [webView _videoProxyPluginForMIMEType:mimeType];
+ Document* document = core(m_webFrame.get())->document();
+ NSURL *baseURL = document->baseURL();
+ NSView *view = nil;
+
+ if (pluginPackage) {
+ if ([pluginPackage isKindOfClass:[WebPluginPackage class]])
+ view = pluginView(m_webFrame.get(), (WebPluginPackage *)pluginPackage, kit(paramNames), kit(paramValues), baseURL, kit(element), false);
+ } else
+ errorCode = WebKitErrorCannotFindPlugIn;
+
+ if (!errorCode && !view)
+ errorCode = WebKitErrorCannotLoadPlugIn;
+
+ if (errorCode) {
+ NSError *error = [[NSError alloc] _initWithPluginErrorCode:errorCode
+ contentURL:URL pluginPageURL:nil pluginName:[pluginPackage name] MIMEType:mimeType];
+ WebNullPluginView *nullView = [[[WebNullPluginView alloc] initWithFrame:NSMakeRect(0, 0, size.width(), size.height())
+ error:error DOMElement:kit(element)] autorelease];
+ view = nullView;
+ [error release];
+ }
+
+ ASSERT(view);
+ return adoptRef(new PluginWidget(view));
+
+ END_BLOCK_OBJC_EXCEPTIONS;
+
+ return 0;
+}
+
+void WebFrameLoaderClient::hideMediaPlayerProxyPlugin(Widget* widget)
+{
+ [WebPluginController pluginViewHidden:widget->platformWidget()];
+}
+
+void WebFrameLoaderClient::showMediaPlayerProxyPlugin(Widget* widget)
+{
+ [WebPluginController addPlugInView:widget->platformWidget()];
+}
+
+#endif // ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+
String WebFrameLoaderClient::overrideMediaType() const
{
NSString* overrideType = [getWebView(m_webFrame.get()) mediaStyle];
diff --git a/WebKit/mac/WebKit.exp b/WebKit/mac/WebKit.exp
index b2ddb18..a22179f 100644
--- a/WebKit/mac/WebKit.exp
+++ b/WebKit/mac/WebKit.exp
@@ -25,6 +25,7 @@
.objc_class_name_WebPanelAuthenticationHandler
.objc_class_name_WebPluginDatabase
.objc_class_name_WebPreferences
+.objc_class_name_WebRenderLayer
.objc_class_name_WebRenderNode
.objc_class_name_WebResource
.objc_class_name_WebScriptCallFrame
diff --git a/WebKit/mac/WebKit.order b/WebKit/mac/WebKit.order
index 1776616..c2b5f5d 100644
--- a/WebKit/mac/WebKit.order
+++ b/WebKit/mac/WebKit.order
@@ -283,6 +283,7 @@ _WKAppVersionCheckLessThan
-[WebPreferences(WebPrivate) showRepaintCounter]
-[WebPreferences(WebPrivate) pluginAllowedRunTime]
-[WebPreferences(WebPrivate) webGLEnabled]
+-[WebPreferences(WebPrivate) memoryInfoEnabled]
-[WebPreferences(WebPrivate) isFrameFlatteningEnabled]
-[WebView setMaintainsBackForwardList:]
-[WebView setUIDelegate:]
@@ -1883,6 +1884,7 @@ __ZN24WebDatabaseTrackerClient25dispatchDidModifyDatabaseEPN7WebCore14SecurityOr
-[WebPreferences setUsesPageCache:]
-[WebPreferences(WebPrivate) setAcceleratedCompositingEnabled:]
-[WebPreferences(WebPrivate) setWebGLEnabled:]
+-[WebPreferences(WebPrivate) setMemoryInfoEnabled:]
+[WebPluginDatabase setAdditionalWebPlugInPaths:]
-[WebDefaultUIDelegate webView:didDrawRect:]
-[WebView(WebPrivate) _setPostsAcceleratedCompositingNotifications:]
diff --git a/WebKit/mac/WebView/WebDataSource.mm b/WebKit/mac/WebView/WebDataSource.mm
index b16aaa8..02dbc2c 100644
--- a/WebKit/mac/WebView/WebDataSource.mm
+++ b/WebKit/mac/WebView/WebDataSource.mm
@@ -211,6 +211,16 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
#endif
}
+- (void)_setDeferMainResourceDataLoad:(BOOL)flag
+{
+ DocumentLoader* loader = [self _documentLoader];
+
+ if (!loader)
+ return;
+
+ loader->setDeferMainResourceDataLoad(flag);
+}
+
@end
@implementation WebDataSource (WebInternal)
diff --git a/WebKit/mac/WebView/WebDataSourcePrivate.h b/WebKit/mac/WebView/WebDataSourcePrivate.h
index ae8d4cf..df9c61e 100644
--- a/WebKit/mac/WebView/WebDataSourcePrivate.h
+++ b/WebKit/mac/WebView/WebDataSourcePrivate.h
@@ -37,4 +37,6 @@
- (BOOL)_transferApplicationCache:(NSString*)destinationBundleIdentifier;
+- (void)_setDeferMainResourceDataLoad:(BOOL)flag;
+
@end
diff --git a/WebKit/mac/WebView/WebHTMLRepresentation.mm b/WebKit/mac/WebView/WebHTMLRepresentation.mm
index c009f4a..7843c9a 100644
--- a/WebKit/mac/WebView/WebHTMLRepresentation.mm
+++ b/WebKit/mac/WebView/WebHTMLRepresentation.mm
@@ -113,7 +113,7 @@ static NSArray *concatenateArrays(NSArray *first, NSArray *second)
return staticSupportedImageMIMETypes.get();
}
-- init
+- (id)init
{
self = [super init];
if (!self)
diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm
index e40500c..08c8911 100644
--- a/WebKit/mac/WebView/WebHTMLView.mm
+++ b/WebKit/mac/WebView/WebHTMLView.mm
@@ -1201,7 +1201,7 @@ static void _updateMouseoverTimerCallback(CFRunLoopTimerRef timer, void *info)
#ifndef BUILDING_ON_TIGER
_private->inScrollPositionChanged = YES;
#endif
- coreView->scrollPositionChanged();
+ coreView->scrollPositionChangedViaPlatformWidget();
#ifndef BUILDING_ON_TIGER
_private->inScrollPositionChanged = NO;
#endif
diff --git a/WebKit/mac/WebView/WebPreferenceKeysPrivate.h b/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
index a28be49..4175a5d 100644
--- a/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
+++ b/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
@@ -97,6 +97,7 @@
#define WebKitHTML5TreeBuilderEnabledPreferenceKey @"WebKitHTML5TreeBuilderEnabled" // Temporary, do not use.
#define WebKitPaginateDuringLayoutEnabledPreferenceKey @"WebKitPaginateDuringLayoutEnabled"
#define WebKitDNSPrefetchingEnabledPreferenceKey @"WebKitDNSPrefetchingEnabled"
+#define WebKitMemoryInfoEnabledPreferenceKey @"WebKitMemoryInfoEnabled"
// These are private both because callers should be using the cover methods and because the
// cover methods themselves are private.
diff --git a/WebKit/mac/WebView/WebPreferences.mm b/WebKit/mac/WebView/WebPreferences.mm
index a376458..63915dc 100644
--- a/WebKit/mac/WebView/WebPreferences.mm
+++ b/WebKit/mac/WebView/WebPreferences.mm
@@ -176,7 +176,7 @@ static WebCacheModel cacheModelForMainBundle(void)
@implementation WebPreferences
-- init
+- (id)init
{
// Create fake identifier
static int instanceCount = 1;
@@ -363,6 +363,7 @@ static WebCacheModel cacheModelForMainBundle(void)
[NSNumber numberWithBool:YES], WebKitHTML5ParserEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitHTML5TreeBuilderEnabledPreferenceKey,
[NSNumber numberWithBool:YES], WebKitDNSPrefetchingEnabledPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitMemoryInfoEnabledPreferenceKey,
nil];
// This value shouldn't ever change, which is assumed in the initialization of WebKitPDFDisplayModePreferenceKey above
@@ -1281,6 +1282,16 @@ static NSString *classIBCreatorID = nil;
[self _setBoolValue:flag forKey:WebKitPaginateDuringLayoutEnabledPreferenceKey];
}
+- (BOOL)memoryInfoEnabled
+{
+ return [self _boolValueForKey:WebKitMemoryInfoEnabledPreferenceKey];
+}
+
+- (void)setMemoryInfoEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitMemoryInfoEnabledPreferenceKey];
+}
+
- (WebKitEditingBehavior)editingBehavior
{
return static_cast<WebKitEditingBehavior>([self _integerValueForKey:WebKitEditingBehaviorPreferenceKey]);
diff --git a/WebKit/mac/WebView/WebPreferencesPrivate.h b/WebKit/mac/WebView/WebPreferencesPrivate.h
index e94943f..073b364 100644
--- a/WebKit/mac/WebView/WebPreferencesPrivate.h
+++ b/WebKit/mac/WebView/WebPreferencesPrivate.h
@@ -191,6 +191,9 @@ extern NSString *WebPreferencesRemovedNotification;
- (BOOL)usesProxiedOpenPanel;
- (void)setUsesProxiedOpenPanel:(BOOL)enabled;
+- (BOOL)memoryInfoEnabled;
+- (void)setMemoryInfoEnabled:(BOOL)enabled;
+
// Other private methods
- (void)_postPreferencesChangesNotification;
+ (WebPreferences *)_getInstanceForIdentifier:(NSString *)identifier;
diff --git a/WebKit/mac/WebView/WebRenderLayer.h b/WebKit/mac/WebView/WebRenderLayer.h
new file mode 100644
index 0000000..e09983d
--- /dev/null
+++ b/WebKit/mac/WebView/WebRenderLayer.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2010 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class WebFrame;
+
+@interface WebRenderLayer : NSObject
+{
+ NSArray *children;
+ NSString *name;
+ NSString *compositingInfo;
+ NSRect bounds;
+ BOOL composited;
+ BOOL separator;
+}
+
+- (id)initWithWebFrame:(WebFrame *)frame;
+
+- (NSArray *)children;
+
+- (NSString *)name;
+- (NSString *)positionString;
+- (NSString *)widthString;
+- (NSString *)heightString;
+- (NSString *)compositingInfo;
+
+- (BOOL)isComposited;
+- (BOOL)isSeparator;
+
+@end
diff --git a/WebKit/mac/WebView/WebRenderLayer.mm b/WebKit/mac/WebView/WebRenderLayer.mm
new file mode 100644
index 0000000..edffac2
--- /dev/null
+++ b/WebKit/mac/WebView/WebRenderLayer.mm
@@ -0,0 +1,280 @@
+/*
+ * Copyright (C) 2010 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WebRenderLayer.h"
+
+#import "WebFrameInternal.h"
+#import <WebCore/Frame.h>
+#import <WebCore/FrameLoaderClient.h>
+#import <WebCore/PlatformString.h>
+#import <WebCore/RenderLayer.h>
+#import <WebCore/RenderLayerBacking.h>
+#import <WebCore/RenderView.h>
+
+using namespace WebCore;
+
+
+@interface WebRenderLayer(Private)
+
+- (id)initWithRenderLayer:(RenderLayer *)layer;
+- (void)buildDescendantLayers:(RenderLayer*)rootLayer;
+
+@end
+
+@implementation WebRenderLayer
+
++ (NSString *)nameForLayer:(RenderLayer*)layer
+{
+ RenderObject* renderer = layer->renderer();
+ NSString *name = [NSString stringWithUTF8String:renderer->renderName()];
+
+ if (Node* node = renderer->node()) {
+ if (node->isElementNode())
+ name = [name stringByAppendingFormat:@" %@", (NSString *)static_cast<Element*>(node)->tagName()];
+ if (node->hasID())
+ name = [name stringByAppendingFormat:@" id=\"%@\"", (NSString *)static_cast<Element*>(node)->getIdAttribute()];
+
+ if (node->hasClass()) {
+ StyledElement* styledElement = static_cast<StyledElement*>(node);
+ String classes;
+ for (size_t i = 0; i < styledElement->classNames().size(); ++i) {
+ if (i > 0)
+ classes += " ";
+ classes += styledElement->classNames()[i];
+ }
+ name = [name stringByAppendingFormat:@" class=\"%@\"", (NSString *)classes];
+ }
+ }
+
+ if (layer->isReflection())
+ name = [name stringByAppendingString:@" (reflection)"];
+
+ return name;
+}
+
++ (NSString *)compositingInfoForLayer:(RenderLayer*)layer
+{
+ if (!layer->isComposited())
+ return @"";
+
+ NSString *layerType = @"";
+#if USE(ACCELERATED_COMPOSITING)
+ RenderLayerBacking* backing = layer->backing();
+ switch (backing->compositingLayerType()) {
+ case NormalCompositingLayer:
+ layerType = @"composited";
+ break;
+ case TiledCompositingLayer:
+ layerType = @"composited: tiled layer";
+ break;
+ case MediaCompositingLayer:
+ layerType = @"composited for plug-in, video or WebGL";
+ break;
+ case ContainerCompositingLayer:
+ layerType = @"composited: container layer";
+ break;
+ }
+
+ if (backing->hasClippingLayer())
+ layerType = [layerType stringByAppendingString:@" (clipping)"];
+
+ if (backing->hasAncestorClippingLayer())
+ layerType = [layerType stringByAppendingString:@" (clipped)"];
+#endif
+
+ return layerType;
+}
+
+- (id)initWithRenderLayer:(RenderLayer*)layer
+{
+ if ((self = [super init])) {
+ name = [[WebRenderLayer nameForLayer:layer] retain];
+ bounds = layer->absoluteBoundingBox();
+ composited = layer->isComposited();
+ compositingInfo = [[WebRenderLayer compositingInfoForLayer:layer] retain];
+ }
+
+ return self;
+}
+
+- (id)initWithName:(NSString*)layerName
+{
+ if ((self = [super init])) {
+ name = [layerName copy];
+ separator = YES;
+ }
+
+ return self;
+}
+
+// Only called on the root.
+- (id)initWithWebFrame:(WebFrame *)webFrame
+{
+ self = [super init];
+
+ Frame* frame = core(webFrame);
+ if (!frame->loader()->client()->hasHTMLView()) {
+ [self release];
+ return nil;
+ }
+
+ RenderObject* renderer = frame->contentRenderer();
+ if (!renderer) {
+ [self release];
+ return nil;
+ }
+
+ if (renderer->hasLayer()) {
+ RenderLayer* layer = toRenderBoxModelObject(renderer)->layer();
+
+ name = [[WebRenderLayer nameForLayer:layer] retain];
+ bounds = layer->absoluteBoundingBox();
+ composited = layer->isComposited();
+ compositingInfo = [[WebRenderLayer compositingInfoForLayer:layer] retain];
+
+ [self buildDescendantLayers:layer];
+ }
+
+ return self;
+}
+
+- (void)dealloc
+{
+ [children release];
+ [name release];
+ [compositingInfo release];
+ [super dealloc];
+}
+
+- (void)buildDescendantLayers:(RenderLayer*)layer
+{
+ NSMutableArray *childWebLayers = [[NSMutableArray alloc] init];
+
+ // Build children in back to front order.
+
+ if (Vector<RenderLayer*>* negZOrderList = layer->negZOrderList()) {
+ size_t listSize = negZOrderList->size();
+
+ if (listSize) {
+ WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithName:@"-ve z-order list"];
+ [childWebLayers addObject:newLayer];
+ [newLayer release];
+ }
+
+ for (size_t i = 0; i < listSize; ++i) {
+ RenderLayer* curLayer = negZOrderList->at(i);
+
+ WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithRenderLayer:curLayer];
+ [newLayer buildDescendantLayers:curLayer];
+
+ [childWebLayers addObject:newLayer];
+ [newLayer release];
+ }
+ }
+
+ if (Vector<RenderLayer*>* normalFlowList = layer->normalFlowList()) {
+ size_t listSize = normalFlowList->size();
+
+ if (listSize) {
+ WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithName:@"normal flow list"];
+ [childWebLayers addObject:newLayer];
+ [newLayer release];
+ }
+
+ for (size_t i = 0; i < listSize; ++i) {
+ RenderLayer* curLayer = normalFlowList->at(i);
+
+ WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithRenderLayer:curLayer];
+ [newLayer buildDescendantLayers:curLayer];
+
+ [childWebLayers addObject:newLayer];
+ [newLayer release];
+ }
+ }
+
+ if (Vector<RenderLayer*>* posZOrderList = layer->posZOrderList()) {
+ size_t listSize = posZOrderList->size();
+
+ if (listSize) {
+ WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithName:@"+ve z-order list"];
+ [childWebLayers addObject:newLayer];
+ [newLayer release];
+ }
+
+ for (size_t i = 0; i < listSize; ++i) {
+ RenderLayer* curLayer = posZOrderList->at(i);
+
+ WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithRenderLayer:curLayer];
+ [newLayer buildDescendantLayers:curLayer];
+
+ [childWebLayers addObject:newLayer];
+ [newLayer release];
+ }
+ }
+
+ children = childWebLayers;
+}
+
+- (NSArray *)children
+{
+ return children;
+}
+
+- (NSString *)name
+{
+ return name;
+}
+
+- (NSString *)positionString
+{
+ return [NSString stringWithFormat:@"(%.0f, %.0f)", bounds.origin.x, bounds.origin.y];
+}
+
+- (NSString *)widthString
+{
+ return [NSString stringWithFormat:@"%.0f", bounds.size.width];
+}
+
+- (NSString *)heightString
+{
+ return [NSString stringWithFormat:@"%.0f", bounds.size.height];
+}
+
+- (NSString *)compositingInfo
+{
+ return compositingInfo;
+}
+
+- (BOOL)isComposited
+{
+ return composited;
+}
+
+- (BOOL)isSeparator
+{
+ return separator;
+}
+
+@end
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index 6d61453..f7b83ea 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
* Copyright (C) 2006 David Smith (catfish.man@gmail.com)
+ * Copyright (C) 2010 Igalia S.L
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -1432,6 +1433,7 @@ static bool fastDocumentTeardownEnabled()
settings->setHTML5ParserEnabled([preferences html5ParserEnabled]);
settings->setHTML5TreeBuilderEnabled_DO_NOT_USE([preferences html5TreeBuilderEnabled]);
settings->setPaginateDuringLayoutEnabled([preferences paginateDuringLayoutEnabled]);
+ settings->setMemoryInfoEnabled([preferences memoryInfoEnabled]);
}
static inline IMP getMethod(id o, SEL s)
@@ -2219,7 +2221,7 @@ static inline IMP getMethod(id o, SEL s)
+ (NSCursor *)_pointingHandCursor
{
- return handCursor().impl();
+ return handCursor().platformCursor();
}
- (BOOL)_postsAcceleratedCompositingNotifications
@@ -2619,6 +2621,20 @@ static PassOwnPtr<Vector<String> > toStringVector(NSArray* patterns)
return nil;
}
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+- (WebBasePluginPackage *)_videoProxyPluginForMIMEType:(NSString *)MIMEType
+{
+ WebBasePluginPackage *pluginPackage = [[WebPluginDatabase sharedDatabase] pluginForMIMEType:MIMEType];
+ if (pluginPackage)
+ return pluginPackage;
+
+ if (_private->pluginDatabase)
+ return [_private->pluginDatabase pluginForMIMEType:MIMEType];
+
+ return nil;
+}
+#endif
+
- (WebBasePluginPackage *)_pluginForExtension:(NSString *)extension
{
if (![_private->preferences arePlugInsEnabled])
@@ -3084,7 +3100,7 @@ static bool needsWebViewInitThreadWorkaround()
_private->UIDelegateForwarder = nil;
}
-- UIDelegate
+- (id)UIDelegate
{
return _private->UIDelegate;
}
@@ -3095,7 +3111,7 @@ static bool needsWebViewInitThreadWorkaround()
[self _cacheResourceLoadDelegateImplementations];
}
-- resourceLoadDelegate
+- (id)resourceLoadDelegate
{
return _private->resourceProgressDelegate;
}
@@ -3106,7 +3122,7 @@ static bool needsWebViewInitThreadWorkaround()
}
-- downloadDelegate
+- (id)downloadDelegate
{
return _private->downloadDelegate;
}
@@ -3118,7 +3134,7 @@ static bool needsWebViewInitThreadWorkaround()
_private->policyDelegateForwarder = nil;
}
-- policyDelegate
+- (id)policyDelegate
{
return _private->policyDelegate;
}
@@ -3144,7 +3160,7 @@ static bool needsWebViewInitThreadWorkaround()
#endif
}
-- frameLoadDelegate
+- (id)frameLoadDelegate
{
return _private->frameLoadDelegate;
}
diff --git a/WebKit/mac/WebView/WebViewData.h b/WebKit/mac/WebView/WebViewData.h
index 06fee4f..d097c4c 100644
--- a/WebKit/mac/WebView/WebViewData.h
+++ b/WebKit/mac/WebView/WebViewData.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Igalia S.L
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/WebKit/mac/WebView/WebViewInternal.h b/WebKit/mac/WebView/WebViewInternal.h
index bf9b732..f95d3d3 100644
--- a/WebKit/mac/WebView/WebViewInternal.h
+++ b/WebKit/mac/WebView/WebViewInternal.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Igalia S.L
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -146,6 +147,9 @@ namespace WebCore {
- (void)_didChangeValueForKey:(NSString *)key;
- (WebBasePluginPackage *)_pluginForMIMEType:(NSString *)MIMEType;
- (WebBasePluginPackage *)_pluginForExtension:(NSString *)extension;
+#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
+- (WebBasePluginPackage *)_videoProxyPluginForMIMEType:(NSString *)MIMEType;
+#endif
- (void)setCurrentNodeHighlight:(WebNodeHighlight *)nodeHighlight;
- (WebNodeHighlight *)currentNodeHighlight;
diff --git a/WebKit/qt/Api/qgraphicswebview.cpp b/WebKit/qt/Api/qgraphicswebview.cpp
index 6d6acc5..8fbb8e2 100644
--- a/WebKit/qt/Api/qgraphicswebview.cpp
+++ b/WebKit/qt/Api/qgraphicswebview.cpp
@@ -73,6 +73,7 @@ public:
QGraphicsWebView* q;
QWebPage* page;
bool resizesToContents;
+ QSize deviceSize;
// Just a convenience to avoid using page->client->overlay always
QSharedPointer<QGraphicsItemOverlay> overlay;
@@ -549,6 +550,24 @@ QIcon QGraphicsWebView::icon() const
}
/*!
+ \property QGraphicsWebView::deviceSize
+ \brief the size of the device using the web view
+
+ The device size is used by the DOM window object methods
+ otherHeight(), otherWidth() as well as a page for the viewport
+ meta tag attributes device-width and device-height.
+*/
+void QGraphicsWebView::setDeviceSize(const QSize& size)
+{
+ d->deviceSize = size;
+}
+
+QSize QGraphicsWebView::deviceSize() const
+{
+ return d->deviceSize;
+}
+
+/*!
\property QGraphicsWebView::zoomFactor
\brief the zoom factor for the view
*/
diff --git a/WebKit/qt/Api/qgraphicswebview.h b/WebKit/qt/Api/qgraphicswebview.h
index 88729d3..8650984 100644
--- a/WebKit/qt/Api/qgraphicswebview.h
+++ b/WebKit/qt/Api/qgraphicswebview.h
@@ -41,6 +41,7 @@ class QWEBKIT_EXPORT QGraphicsWebView : public QGraphicsWidget {
Q_PROPERTY(QString title READ title NOTIFY titleChanged)
Q_PROPERTY(QIcon icon READ icon NOTIFY iconChanged)
Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor)
+ Q_PROPERTY(QSize deviceSize READ deviceSize WRITE setDeviceSize)
Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged)
@@ -64,9 +65,12 @@ public:
qreal zoomFactor() const;
void setZoomFactor(qreal);
+ QSize deviceSize() const;
+ void setDeviceSize(const QSize&);
+
bool isModified() const;
- void load(const QUrl &url);
+ void load(const QUrl& url);
void load(const QNetworkRequest& request, QNetworkAccessManager::Operation operation = QNetworkAccessManager::GetOperation, const QByteArray& body = QByteArray());
void setHtml(const QString& html, const QUrl& baseUrl = QUrl());
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index e67abca..edc8f52 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,119 @@
+2010-07-20 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ [Qt] Add API to define device-width and height for use with the viewport meta tag
+ https://bugs.webkit.org/show_bug.cgi?id=42597
+
+ Reviewed by Antonio Gomes.
+
+ Add a new API for setting the deviceSize for use in conjunction with
+ out viewport meta tag API.
+
+ * Api/qgraphicswebview.cpp:
+ (QGraphicsWebView::setDeviceSize):
+ (QGraphicsWebView::deviceSize):
+ * Api/qgraphicswebview.h:
+ * WebCoreSupport/PageClientQt.cpp:
+ (WebCore::PageClientQGraphicsWidget::windowRect):
+ * WebCoreSupport/PageClientQt.h:
+ (WebCore::PageClientQGraphicsWidget::PageClientQGraphicsWidget):
+
+2010-07-20 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] DRT sideeffect revealed by r63657
+ https://bugs.webkit.org/show_bug.cgi?id=42578
+
+ Don't set an automatic timeout for notifications when running in DRT.
+ This fixes an issue with cancel() notifications in unrelated tests.
+
+ * WebCoreSupport/NotificationPresenterClientQt.cpp:
+ (WebCore::NotificationPresenterClientQt::displayNotification):
+
+2010-07-18 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] tst_QWebPage fails cursorMovements and textSelection
+ https://bugs.webkit.org/show_bug.cgi?id=42531
+
+ Correct the HTML used by these tests.
+
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::cursorMovements):
+ (tst_QWebPage::textSelection):
+ (tst_QWebPage::textEditing):
+
+2010-07-18 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] tst_QWebElement fails firstChildNextSibling and lastChildPreviousSibling
+ https://bugs.webkit.org/show_bug.cgi?id=42527
+
+ Correct the HTML used by these tests.
+
+ * tests/qwebelement/tst_qwebelement.cpp:
+ (tst_QWebElement::firstChildNextSibling):
+ (tst_QWebElement::lastChildPreviousSibling):
+
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::willSetInputMethodState):
+ * WebCoreSupport/EditorClientQt.h:
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::setCursor):
+ * WebCoreSupport/ChromeClientQt.h:
+ Change prototype to match new one.
+
+2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Prevent assertion/duplicate loads for non-deferred subtitute-data loads
+
+ https://bugs.webkit.org/show_bug.cgi?id=30879
+
+ MainResourceLoader uses the member m_initialRequest to store requests for future
+ deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
+ have to clear this request so that subsequent entries into the loader will not
+ start yet another load.
+
+ This can happen as a result of a PageGroupLoadDeferrer going out of scope when
+ returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
+ but only in the case of using both substitute-data and non-deferred main resource
+ load together. That's why two new DRT functions were added:
+
+ * queueLoadHTMLString()
+ * setDeferMainResourceLoad()
+
+ The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
+ and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
+ added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::setDeferMainResourceDataLoad):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::createDocumentLoader):
+ * WebCoreSupport/FrameLoaderClientQt.h:
+
2010-07-09 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Laszlo Gombos.
diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index faec705..2c64a78 100644
--- a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -529,10 +529,9 @@ void ChromeClientQt::chooseIconForFiles(const Vector<String>& filenames, FileCho
chooser->iconLoaded(Icon::createIconForFiles(filenames));
}
-bool ChromeClientQt::setCursor(PlatformCursorHandle)
+void ChromeClientQt::setCursor(const Cursor&)
{
notImplemented();
- return false;
}
void ChromeClientQt::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index 4b55eb2..70b4a25 100644
--- a/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -161,7 +161,7 @@ namespace WebCore {
virtual PassOwnPtr<HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
- virtual bool setCursor(PlatformCursorHandle);
+ virtual void setCursor(const Cursor&);
virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const {}
diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
index 99f5653..a83e1a5 100644
--- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
@@ -547,6 +547,11 @@ void DumpRenderTreeSupportQt::setWillSendRequestClearHeaders(const QStringList&
FrameLoaderClientQt::sendRequestClearHeaders = headers;
}
+void DumpRenderTreeSupportQt::setDeferMainResourceDataLoad(bool b)
+{
+ FrameLoaderClientQt::deferMainResourceDataLoad = b;
+}
+
void DumpRenderTreeSupportQt::setCustomPolicyDelegate(bool enabled, bool permissive)
{
FrameLoaderClientQt::policyDelegateEnabled = enabled;
diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
index 2ff1fc8..188c405 100644
--- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
+++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
@@ -116,6 +116,8 @@ public:
static void setWillSendRequestReturnsNull(bool b);
static void setWillSendRequestClearHeaders(const QStringList& headers);
+ static void setDeferMainResourceDataLoad(bool b);
+
static void dumpEditingCallbacks(bool b);
static void dumpSetAcceptsEditing(bool b);
diff --git a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index e140968..74c8438 100644
--- a/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -587,6 +587,10 @@ bool EditorClientQt::isEditing() const
return m_editing;
}
+void EditorClientQt::willSetInputMethodState()
+{
+}
+
void EditorClientQt::setInputMethodState(bool active)
{
QWebPageClient* webPageClient = m_page->d->client;
diff --git a/WebKit/qt/WebCoreSupport/EditorClientQt.h b/WebKit/qt/WebCoreSupport/EditorClientQt.h
index a5f6b23..7d99d22 100644
--- a/WebKit/qt/WebCoreSupport/EditorClientQt.h
+++ b/WebKit/qt/WebCoreSupport/EditorClientQt.h
@@ -105,6 +105,7 @@ public:
virtual void showSpellingUI(bool show);
virtual bool spellingUIIsShowing();
virtual void getGuessesForWord(const String&, Vector<String>& guesses);
+ virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
bool isEditing() const;
diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 0348251..fc0f6c3 100644
--- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -157,6 +157,7 @@ bool FrameLoaderClientQt::dumpResourceLoadCallbacks = false;
bool FrameLoaderClientQt::sendRequestReturnsNullOnRedirect = false;
bool FrameLoaderClientQt::sendRequestReturnsNull = false;
bool FrameLoaderClientQt::dumpResourceResponseMIMETypes = false;
+bool FrameLoaderClientQt::deferMainResourceDataLoad = true;
QStringList FrameLoaderClientQt::sendRequestClearHeaders;
QString FrameLoaderClientQt::dumpResourceLoadCallbacksPath;
@@ -878,7 +879,7 @@ bool FrameLoaderClientQt::shouldFallBack(const WebCore::ResourceError&)
WTF::PassRefPtr<WebCore::DocumentLoader> FrameLoaderClientQt::createDocumentLoader(const WebCore::ResourceRequest& request, const SubstituteData& substituteData)
{
RefPtr<DocumentLoader> loader = DocumentLoader::create(request, substituteData);
- if (substituteData.isValid())
+ if (!deferMainResourceDataLoad || substituteData.isValid())
loader->setDeferMainResourceDataLoad(false);
return loader.release();
}
diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
index b4a3c7e..ec672f5 100644
--- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
+++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
@@ -221,6 +221,7 @@ public:
static QStringList sendRequestClearHeaders;
static bool policyDelegateEnabled;
static bool policyDelegatePermissive;
+ static bool deferMainResourceDataLoad;
private:
Frame *m_frame;
diff --git a/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp b/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
index a037592..ee69103 100644
--- a/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
@@ -183,7 +183,8 @@ void NotificationPresenterClientQt::displayNotification(Notification* notificati
if (!wrapper->m_presenter) {
#ifndef QT_NO_SYSTEMTRAYICON
- wrapper->m_closeTimer.startOneShot(notificationTimeout);
+ if (!dumpNotification)
+ wrapper->m_closeTimer.startOneShot(notificationTimeout);
QPixmap pixmap;
if (bytes.length() && pixmap.loadFromData(bytes)) {
QIcon icon(pixmap);
diff --git a/WebKit/qt/WebCoreSupport/PageClientQt.cpp b/WebKit/qt/WebCoreSupport/PageClientQt.cpp
index f52c382..90a5a63 100644
--- a/WebKit/qt/WebCoreSupport/PageClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/PageClientQt.cpp
@@ -324,6 +324,9 @@ QStyle* PageClientQGraphicsWidget::style() const
QRectF PageClientQGraphicsWidget::windowRect() const
{
+ if (!view->deviceSize().isEmpty())
+ return QRectF(QRect(QPoint(0, 0), view->deviceSize()));
+
if (!view->scene())
return QRectF();
diff --git a/WebKit/qt/WebCoreSupport/PageClientQt.h b/WebKit/qt/WebCoreSupport/PageClientQt.h
index 4d42ca1..1204afc 100644
--- a/WebKit/qt/WebCoreSupport/PageClientQt.h
+++ b/WebKit/qt/WebCoreSupport/PageClientQt.h
@@ -26,11 +26,11 @@
#include "IntRect.h"
#include "QWebPageClient.h"
#include "TiledBackingStore.h"
+#include "qgraphicswebview.h"
#include "qwebframe.h"
#include "qwebframe_p.h"
#include "qwebpage.h"
#include "qwebpage_p.h"
-
#include <QtCore/qmetaobject.h>
#include <QtCore/qsharedpointer.h>
#include <QtGui/qgraphicsscene.h>
@@ -42,7 +42,6 @@
#include <Settings.h>
-
namespace WebCore {
class PageClientQWidget : public QWebPageClient {
@@ -122,7 +121,7 @@ class QGraphicsItemOverlay : public QGraphicsItem {
class PageClientQGraphicsWidget : public QWebPageClient {
public:
- PageClientQGraphicsWidget(QGraphicsWidget* v, QWebPage* p)
+ PageClientQGraphicsWidget(QGraphicsWebView* v, QWebPage* p)
: view(v)
, page(p)
, viewResizesToContents(false)
@@ -186,7 +185,7 @@ public:
virtual QRectF windowRect() const;
- QGraphicsWidget* view;
+ QGraphicsWebView* view;
QWebPage* page;
bool viewResizesToContents;
diff --git a/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp b/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
index 8db0ec3..2f1097a 100644
--- a/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
+++ b/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
@@ -887,7 +887,7 @@ void tst_QWebElement::nullSelect()
void tst_QWebElement::firstChildNextSibling()
{
- m_mainFrame->setHtml("<body><!--comment--><p>Test</p><!--another commend><table>");
+ m_mainFrame->setHtml("<body><!--comment--><p>Test</p><!--another comment--><table>");
QWebElement body = m_mainFrame->findFirstElement("body");
QVERIFY(!body.isNull());
@@ -902,7 +902,7 @@ void tst_QWebElement::firstChildNextSibling()
void tst_QWebElement::lastChildPreviousSibling()
{
- m_mainFrame->setHtml("<body><!--comment--><p>Test</p><!--another commend><table>");
+ m_mainFrame->setHtml("<body><!--comment--><p>Test</p><!--another comment--><table>");
QWebElement body = m_mainFrame->findFirstElement("body");
QVERIFY(!body.isNull());
diff --git a/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index 70466c7..67e3ecd 100644
--- a/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -862,7 +862,7 @@ public:
void tst_QWebPage::cursorMovements()
{
CursorTrackedPage* page = new CursorTrackedPage;
- QString content("<html><body<p id=one>The quick brown fox</p><p id=two>jumps over the lazy dog</p><p>May the source<br/>be with you!</p></body></html>");
+ QString content("<html><body><p id=one>The quick brown fox</p><p id=two>jumps over the lazy dog</p><p>May the source<br/>be with you!</p></body></html>");
page->mainFrame()->setHtml(content);
// this will select the first paragraph
@@ -1054,7 +1054,7 @@ void tst_QWebPage::cursorMovements()
void tst_QWebPage::textSelection()
{
CursorTrackedPage* page = new CursorTrackedPage;
- QString content("<html><body<p id=one>The quick brown fox</p>" \
+ QString content("<html><body><p id=one>The quick brown fox</p>" \
"<p id=two>jumps over the lazy dog</p>" \
"<p>May the source<br/>be with you!</p></body></html>");
page->mainFrame()->setHtml(content);
@@ -1142,7 +1142,7 @@ void tst_QWebPage::textSelection()
void tst_QWebPage::textEditing()
{
CursorTrackedPage* page = new CursorTrackedPage;
- QString content("<html><body<p id=one>The quick brown fox</p>" \
+ QString content("<html><body><p id=one>The quick brown fox</p>" \
"<p id=two>jumps over the lazy dog</p>" \
"<p>May the source<br/>be with you!</p></body></html>");
page->mainFrame()->setHtml(content);
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index e1b7248..44869dc 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,194 @@
+2010-07-20 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit on Windows should build optionally with an unversioned ICU DLL
+ https://bugs.webkit.org/show_bug.cgi?id=42722
+ <rdar://problem/8211767> WebKit needs to link against unversioned ICU
+
+ To get the proper value for U_DISABLE_RENAMING into all source files, we force
+ the include of ICUVersion.h (our generated header) via the compiler options.
+
+ * WebKit.vcproj/WebKit.vcproj: Add forced include of ICUVersion.h.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Update WebKit.sln for InjectedBundle's Debug_Internal configuration
+
+ Fixes <http://webkit.org/b/42749> InjectedBundle's build
+ configurations are screwy
+
+ Reviewed by Darin Adler.
+
+ * WebKit.vcproj/WebKit.sln: Build the Debug_Internal variant of
+ InjectedBundle when we're using the Debug_Internal solution
+ configuration.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Add MiniBrowser to WebKit.sln
+
+ It is the last project to build.
+
+ Fixes <http://webkit.org/b/42747> build-webkit should build
+ MiniBrowser
+
+ Reviewed by Darin Adler.
+
+ * WebKit.vcproj/WebKit.sln: Added MiniBrowser, and made it depend on
+ WebKitTestRunner.
+
+2010-07-20 Adam Roben <aroben@apple.com>
+
+ Add WebKitTestRunner and friends to WebKit.sln
+
+ We added these projects to WebKit2.sln in r63585, but removed them
+ again in r63600 because WebKitTestRunner required getopt, which
+ doesn't exist in WebKitAuxiliaryLibrary. r63700 and r63788 removed the
+ use of getopt in WebKitTestRunner, so we can now add it to WebKit.sln
+ (which has replaced WebKit2.sln).
+
+ Fixes <http://webkit.org/b/42711> WebKit.sln should build
+ WebKitTestRunner
+
+ Reviewed by Steve Falkenburg.
+
+ * WebKit.vcproj/WebKit.sln: Added the following projects to the end of
+ the build order (in first-built to last-built order):
+ InjectedBundleGenerated, InjectedBundle, WebKitTestRunner. Also
+ removed an unnecessary dependency from testapi on WebKit2WebProcess.
+
+2010-07-19 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Roben.
+
+ [Win] Implement LayoutTestController::markerTextForListItem()
+ https://bugs.webkit.org/show_bug.cgi?id=37930
+
+ Implements support for markerTextForListItem in the Windows port.
+
+ * DOMCoreClasses.cpp:
+ (DOMElement::markerTextForListItem): Added.
+ * DOMCoreClasses.h:
+ * Interfaces/DOMPrivate.idl: Added declaration for markerTextForListItem().
+ * Interfaces/IWebViewPrivate.idl: Added declaration for elementFromJS().
+ * Interfaces/WebKit.idl: Touch it to force a rebuild (and for good luck :-)).
+ * WebView.cpp:
+ (WebView::elementFromJS): Added.
+ * WebView.h:
+
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * WebCoreSupport/WebEditorClient.cpp:
+ (WebEditorClient::willSetInputMethodState):
+ * WebCoreSupport/WebEditorClient.h:
+
+2010-07-16 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Make JS memory stats available via 'Performance' object (Web Timing).
+ This statistics is populated only if 'WebKitMemoryInfoEnabled'
+ preference is set.
+
+ 'console.memory' is kept until Web Timing object becomes visible by
+ default (currently it is hidden under compile-time flag). These stats
+ are guarded with the same preference.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41617
+
+ * Interfaces/IWebPreferencesPrivate.idl:
+ * WebPreferenceKeysPrivate.h:
+ * WebPreferences.cpp:
+ (WebPreferences::initializeDefaultSettings):
+ (WebPreferences::memoryInfoEnabled):
+ (WebPreferences::setMemoryInfoEnabled):
+ * WebPreferences.h:
+ * WebView.cpp:
+ (WebView::notifyPreferencesChanged):
+
+2010-07-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Steve Falkenburg.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42299
+ Correct WinCairo build for new WebKit2 project structure.
+
+ * WebKit.vcproj/WebKit.sln:
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * WebCoreSupport/WebChromeClient.cpp:
+ (WebChromeClient::setCursor):
+ We now need to grab the native cursor out of the WebCore cursor.
+
+ (WebChromeClient::setLastSetCursorToCurrentCursor):
+ Sets the WebView's "last set cursor" to be the current cursor so that
+ the cursor is set correctly for plugins.
+ * WebCoreSupport/WebChromeClient.h:
+ * WebView.cpp:
+ (WebView::WebView):
+ (WebView::WebViewWndProc):
+ * WebView.h:
+ (WebView::setLastCursor):
+ Change the "last set cursor" to be stored as a member instead of a global.
+
+2010-07-13 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Make WebKit.sln build WebKit.dll as it used to in the past.
+ (sln is updated to include necessary projects)
+
+ * WebKit.vcproj/WebKit.sln:
+
+2010-07-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Windows build fix
+
+ * Interfaces/WebKit.idl: Touched to force a build
+
+2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Prevent assertion/duplicate loads for non-deferred subtitute-data loads
+
+ https://bugs.webkit.org/show_bug.cgi?id=30879
+
+ MainResourceLoader uses the member m_initialRequest to store requests for future
+ deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
+ have to clear this request so that subsequent entries into the loader will not
+ start yet another load.
+
+ This can happen as a result of a PageGroupLoadDeferrer going out of scope when
+ returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
+ but only in the case of using both substitute-data and non-deferred main resource
+ load together. That's why two new DRT functions were added:
+
+ * queueLoadHTMLString()
+ * setDeferMainResourceLoad()
+
+ The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
+ and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
+ added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
+
+ * Interfaces/IWebDataSource.idl:
+ * WebDataSource.cpp:
+ (WebDataSource::setDeferMainResourceDataLoad):
+ * WebDataSource.h:
+
2010-07-12 Steve Falkenburg <sfalken@apple.com>
Reviewed by Alice Liu.
diff --git a/WebKit/win/DOMCoreClasses.cpp b/WebKit/win/DOMCoreClasses.cpp
index 4e8af61..42e8e63 100644
--- a/WebKit/win/DOMCoreClasses.cpp
+++ b/WebKit/win/DOMCoreClasses.cpp
@@ -48,6 +48,7 @@
#include <WebCore/HTMLTextAreaElement.h>
#include <WebCore/NodeList.h>
#include <WebCore/RenderObject.h>
+#include <WebCore/RenderTreeAsText.h>
#pragma warning(pop)
#include <initguid.h>
@@ -1149,6 +1150,18 @@ HRESULT STDMETHODCALLTYPE DOMElement::renderedImage(HBITMAP* image)
return S_OK;
}
+HRESULT STDMETHODCALLTYPE DOMElement::markerTextForListItem(
+ /* [retval][out] */ BSTR* markerText)
+{
+ if (!markerText)
+ return E_POINTER;
+
+ ASSERT(m_element);
+
+ *markerText = BString(WebCore::markerTextForListItem(m_element)).release();
+ return S_OK;
+}
+
// IDOMElementCSSInlineStyle --------------------------------------------------
HRESULT STDMETHODCALLTYPE DOMElement::style(
diff --git a/WebKit/win/DOMCoreClasses.h b/WebKit/win/DOMCoreClasses.h
index f8a3dbb..c52d933 100644
--- a/WebKit/win/DOMCoreClasses.h
+++ b/WebKit/win/DOMCoreClasses.h
@@ -776,6 +776,9 @@ public:
virtual HRESULT STDMETHODCALLTYPE renderedImage(
/* [retval][out] */ HBITMAP* image);
+ virtual HRESULT STDMETHODCALLTYPE markerTextForListItem(
+ /* [retval][out] */ BSTR* markerText);
+
// IDOMElementCSSInlineStyle
virtual HRESULT STDMETHODCALLTYPE style(
/* [retval][out] */ IDOMCSSStyleDeclaration** result);
diff --git a/WebKit/win/Interfaces/DOMPrivate.idl b/WebKit/win/Interfaces/DOMPrivate.idl
index 3365565..c3bb60e 100644
--- a/WebKit/win/Interfaces/DOMPrivate.idl
+++ b/WebKit/win/Interfaces/DOMPrivate.idl
@@ -47,6 +47,7 @@ interface IDOMElementPrivate : IUnknown
HRESULT innerText([out, retval] BSTR* result);
[local] HRESULT font(WebFontDescription* webFontDescription);
HRESULT renderedImage([out, retval] HBITMAP* image);
+ [local] HRESULT markerTextForListItem([out, retval] BSTR* markerText);
}
/*
diff --git a/WebKit/win/Interfaces/IWebDataSource.idl b/WebKit/win/Interfaces/IWebDataSource.idl
index 15bea1a..dd78d7e 100644
--- a/WebKit/win/Interfaces/IWebDataSource.idl
+++ b/WebKit/win/Interfaces/IWebDataSource.idl
@@ -214,4 +214,5 @@ interface IWebDataSourcePrivate : IUnknown
HRESULT overrideEncoding([out, retval] BSTR* encoding);
HRESULT setOverrideEncoding([in] BSTR encoding);
HRESULT mainDocumentError([out, retval] IWebError** error);
+ HRESULT setDeferMainResourceDataLoad([in] BOOL flag);
}
diff --git a/WebKit/win/Interfaces/IWebPreferencesPrivate.idl b/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
index 119c3ff..bca8d6f 100644
--- a/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
+++ b/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
@@ -115,4 +115,7 @@ interface IWebPreferencesPrivate : IUnknown
HRESULT isDNSPrefetchingEnabled([out, retval] BOOL *enabled);
HRESULT setDNSPrefetchingEnabled([in] BOOL enabled);
+
+ HRESULT memoryInfoEnabled([out, retval] BOOL *enabled);
+ HRESULT setMemoryInfoEnabled([in] BOOL enabled);
}
diff --git a/WebKit/win/Interfaces/IWebViewPrivate.idl b/WebKit/win/Interfaces/IWebViewPrivate.idl
index 352ae7e..0377406 100644
--- a/WebKit/win/Interfaces/IWebViewPrivate.idl
+++ b/WebKit/win/Interfaces/IWebViewPrivate.idl
@@ -237,4 +237,6 @@ interface IWebViewPrivate : IUnknown
HRESULT paintScrollViewRectToContextAtPoint([in] RECT rect, [in] POINT pt, [in] OLE_HANDLE dc);
[local] HRESULT reportException([in] JSContextRef context, [in] JSValueRef exception);
+
+ [local] HRESULT elementFromJS([in] JSContextRef context, [in] JSValueRef nodeObject, [out, retval] IDOMElement** element);
}
diff --git a/WebKit/win/Interfaces/WebKit.idl b/WebKit/win/Interfaces/WebKit.idl
index ce2f213..8938501 100644
--- a/WebKit/win/Interfaces/WebKit.idl
+++ b/WebKit/win/Interfaces/WebKit.idl
@@ -300,4 +300,3 @@ library WebKit
[default] interface IWebUserContentURLPattern;
}
}
-
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
index 42e5cc4..73532a6 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
@@ -782,21 +782,28 @@ void WebChromeClient::chooseIconForFiles(const Vector<WebCore::String>& filename
chooser->iconLoaded(Icon::createIconForFiles(filenames));
}
-bool WebChromeClient::setCursor(PlatformCursorHandle cursor)
+void WebChromeClient::setCursor(const Cursor& cursor)
{
- if (!cursor)
- return false;
+ HCURSOR platformCursor = cursor.platformCursor()->nativeCursor();
+ if (!platformCursor)
+ return;
if (COMPtr<IWebUIDelegate> delegate = uiDelegate()) {
COMPtr<IWebUIDelegatePrivate> delegatePrivate(Query, delegate);
if (delegatePrivate) {
- if (SUCCEEDED(delegatePrivate->webViewSetCursor(m_webView, reinterpret_cast<OLE_HANDLE>(cursor))))
- return true;
+ if (SUCCEEDED(delegatePrivate->webViewSetCursor(m_webView, reinterpret_cast<OLE_HANDLE>(platformCursor))))
+ return;
}
}
- ::SetCursor(cursor);
- return true;
+ m_webView->setLastCursor(platformCursor);
+ ::SetCursor(platformCursor);
+ return;
+}
+
+void WebChromeClient::setLastSetCursorToCurrentCursor()
+{
+ m_webView->setLastCursor(::GetCursor());
}
void WebChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.h b/WebKit/win/WebCoreSupport/WebChromeClient.h
index c890af0..e7845a9 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.h
@@ -130,7 +130,8 @@ public:
virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
virtual void chooseIconForFiles(const Vector<WebCore::String>&, WebCore::FileChooser*);
- virtual bool setCursor(WebCore::PlatformCursorHandle cursor);
+ virtual void setCursor(const WebCore::Cursor&);
+ virtual void setLastSetCursorToCurrentCursor();
WebView* webView() const { return m_webView; }
diff --git a/WebKit/win/WebCoreSupport/WebEditorClient.cpp b/WebKit/win/WebCoreSupport/WebEditorClient.cpp
index c9118e5..e05951c 100644
--- a/WebKit/win/WebCoreSupport/WebEditorClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebEditorClient.cpp
@@ -776,6 +776,10 @@ void WebEditorClient::getGuessesForWord(const String& word, Vector<String>& gues
}
}
+void WebEditorClient::willSetInputMethodState()
+{
+}
+
void WebEditorClient::setInputMethodState(bool enabled)
{
m_webView->setInputMethodState(enabled);
diff --git a/WebKit/win/WebCoreSupport/WebEditorClient.h b/WebKit/win/WebCoreSupport/WebEditorClient.h
index a29a264..ac2e25e 100644
--- a/WebKit/win/WebCoreSupport/WebEditorClient.h
+++ b/WebKit/win/WebCoreSupport/WebEditorClient.h
@@ -109,6 +109,7 @@ public:
virtual bool spellingUIIsShowing();
virtual void getGuessesForWord(const WebCore::String&, Vector<WebCore::String>& guesses);
+ virtual void willSetInputMethodState();
virtual void setInputMethodState(bool);
private:
diff --git a/WebKit/win/WebDataSource.cpp b/WebKit/win/WebDataSource.cpp
index 4ec1fd3..566f174 100644
--- a/WebKit/win/WebDataSource.cpp
+++ b/WebKit/win/WebDataSource.cpp
@@ -119,6 +119,16 @@ HRESULT STDMETHODCALLTYPE WebDataSource::mainDocumentError(
return S_OK;
}
+HRESULT STDMETHODCALLTYPE WebDataSource::setDeferMainResourceDataLoad(
+ /* [in] */ BOOL flag)
+{
+ if (!m_loader)
+ return E_FAIL;
+
+ m_loader->setDeferMainResourceDataLoad(flag);
+ return S_OK;
+}
+
// IUnknown -------------------------------------------------------------------
HRESULT STDMETHODCALLTYPE WebDataSource::QueryInterface(REFIID riid, void** ppvObject)
diff --git a/WebKit/win/WebDataSource.h b/WebKit/win/WebDataSource.h
index 70998ae..3baa024 100644
--- a/WebKit/win/WebDataSource.h
+++ b/WebKit/win/WebDataSource.h
@@ -110,6 +110,9 @@ public:
virtual HRESULT STDMETHODCALLTYPE mainDocumentError(
/* [retval][out] */ IWebError** error);
+ virtual HRESULT STDMETHODCALLTYPE setDeferMainResourceDataLoad(
+ /* [in] */ BOOL flag);
+
// WebDataSource
WebDocumentLoader* documentLoader() const;
protected:
diff --git a/WebKit/win/WebKit.vcproj/WebKit.sln b/WebKit/win/WebKit.vcproj/WebKit.sln
index 38f4253..b954436 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.sln
+++ b/WebKit/win/WebKit.vcproj/WebKit.sln
@@ -1,84 +1,107 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
ProjectSection(ProjectDependencies) = postProject
- {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\..\WebCore\WebCore.vcproj\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\WTF\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
ProjectSection(ProjectDependencies) = postProject
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\..\WebCore\WebCore.vcproj\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
ProjectSection(ProjectDependencies) = postProject
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\WebKitTools\DumpRenderTree\win\DumpRenderTree.vcproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JavaScriptCore Folder", "JavaScriptCore Folder", "{557FA164-0E39-4DEC-B66C-8795C8E52399}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebCore Folder", "WebCore Folder", "{63FB6F8A-C601-43E3-BD16-A00A465C2CB6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "..\..\..\WebCore\WebCore.vcproj\WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
ProjectSection(ProjectDependencies) = postProject
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\WebKitTools\DumpRenderTree\TestNetscapePlugin\win\TestNetscapePlugin.vcproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\..\WebCore\WebCore.vcproj\QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
ProjectSection(ProjectDependencies) = postProject
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testapi\testapi.vcproj", "{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
ProjectSection(ProjectDependencies) = postProject
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
+ {DA31DA52-6675-48D4-89E0-333A7144397C} = {DA31DA52-6675-48D4-89E0-333A7144397C}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "..\..\..\WebKit2\win\WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
ProjectSection(ProjectDependencies) = postProject
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\WTF\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit2 Folder", "WebKit2 Folder", "{9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "..\..\..\WebKit2\win\WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
ProjectSection(ProjectDependencies) = postProject
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FindSafari", "..\..\..\WebKitTools\FindSafari\FindSafari.vcproj", "{DA31DA52-6675-48D4-89E0-333A7144397C}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "..\..\..\WebKit2\win\WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}"
ProjectSection(ProjectDependencies) = postProject
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9}
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\WebKitTools\DumpRenderTree\win\ImageDiff.vcproj", "{59CC0547-70AC-499C-9B19-EC01C6F61137}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitCOM Folder", "WebKitCOM Folder", "{1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
ProjectSection(ProjectDependencies) = postProject
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {C0737398-3565-439E-A2B8-AB2BE4D5430C}
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
+ EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "..\..\..\WebCore\WebCore.vcproj\WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
ProjectSection(ProjectDependencies) = postProject
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\..\WebCore\WebCore.vcproj\QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitTools", "WebKitTools", "{62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\WebKitTools\DumpRenderTree\win\DumpRenderTree.vcproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}"
ProjectSection(ProjectDependencies) = postProject
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
+ {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\WebKitTools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\WebKitTools\DumpRenderTree\win\ImageDiff.vcproj", "{59CC0547-70AC-499C-9B19-EC01C6F61137}"
ProjectSection(ProjectDependencies) = postProject
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {C0737398-3565-439E-A2B8-AB2BE4D5430C}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testapi\testapi.vcproj", "{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FindSafari", "..\..\..\WebKitTools\FindSafari\FindSafari.vcproj", "{DA31DA52-6675-48D4-89E0-333A7144397C}"
ProjectSection(ProjectDependencies) = postProject
- {DA31DA52-6675-48D4-89E0-333A7144397C} = {DA31DA52-6675-48D4-89E0-333A7144397C}
+ {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "record-memory-win", "..\..\..\WebKitTools\record-memory-win\record-memory-win.vcproj", "{44B9C152-1870-4035-B94D-7B3285AA0C12}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D09806DB-E58B-4646-8C9B-61101906C1E2} = {D09806DB-E58B-4646-8C9B-61101906C1E2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\WebKitTools\DumpRenderTree\TestNetscapePlugIn\win\TestNetscapePlugin.vcproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitAPITest", "..\..\..\WebKitTools\WebKitAPITest\WebKitAPITest.vcproj", "{626089A3-25D3-4883-A96C-B8C66E036397}"
ProjectSection(ProjectDependencies) = postProject
@@ -90,166 +113,382 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\
{626089A3-25D3-4883-A96C-B8C66E036397} = {626089A3-25D3-4883-A96C-B8C66E036397}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\WebKitTools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundle", "..\..\..\WebKitTools\WebKitTestRunner\InjectedBundle\win\InjectedBundle.vcproj", "{CBC3391C-F060-4BF5-A66E-81404168816B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundleGenerated", "..\..\..\WebKitTools\WebKitTestRunner\win\InjectedBundleGenerated.vcproj", "{4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {44B9C152-1870-4035-B94D-7B3285AA0C12} = {44B9C152-1870-4035-B94D-7B3285AA0C12}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunner", "..\..\..\WebKitTools\WebKitTestRunner\win\WebKitTestRunner.vcproj", "{3B99669B-1817-443B-BCBE-835580146668}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CBC3391C-F060-4BF5-A66E-81404168816B} = {CBC3391C-F060-4BF5-A66E-81404168816B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowser", "..\..\..\WebKitTools\MiniBrowser\MiniBrowser.vcproj", "{1480CF5F-4160-47B5-A0E6-96AEC8258FB5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
Debug_Cairo|Win32 = Debug_Cairo|Win32
+ Debug_Internal|Win32 = Debug_Internal|Win32
Debug|Win32 = Debug|Win32
Release_Cairo|Win32 = Release_Cairo|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo|Win32.ActiveCfg = Release_Cairo|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo|Win32.Build.0 = Release_Cairo|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo|Win32.Build.0 = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo|Win32.ActiveCfg = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo|Win32.Build.0 = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo|Win32.ActiveCfg = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo|Win32.Build.0 = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo|Win32.ActiveCfg = Release_Cairo|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo|Win32.Build.0 = Release_Cairo|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.ActiveCfg = Debug|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.Build.0 = Debug|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo|Win32.ActiveCfg = Release_Cairo|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo|Win32.Build.0 = Release_Cairo|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo|Win32.ActiveCfg = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo|Win32.Build.0 = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
{011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo|Win32.ActiveCfg = Debug_CFLite|Win32
{011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo|Win32.Build.0 = Debug_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
{011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
{011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
{011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo|Win32.ActiveCfg = Release_CFLite|Win32
{011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo|Win32.Build.0 = Release_CFLite|Win32
{011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
{011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo|Win32.ActiveCfg = Debug_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo|Win32.Build.0 = Debug_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo|Win32.ActiveCfg = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo|Win32.Build.0 = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo|Win32.ActiveCfg = Release_Cairo|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo|Win32.Build.0 = Release_Cairo|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|Win32
{AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
{AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo|Win32.Build.0 = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
{AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
{AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
{AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo|Win32.ActiveCfg = Release|Win32
{AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo|Win32.Build.0 = Release|Win32
{AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
{AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo|Win32.ActiveCfg = all|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo|Win32.Build.0 = all|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.ActiveCfg = all|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.Build.0 = all|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo|Win32.ActiveCfg = all|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo|Win32.Build.0 = all|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.ActiveCfg = all|Win32
- {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.Build.0 = all|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo|Win32.Build.0 = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo|Win32.ActiveCfg = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo|Win32.Build.0 = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo|Win32.ActiveCfg = Debug_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo|Win32.Build.0 = Debug_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.ActiveCfg = all|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = all|Win32
{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo|Win32.ActiveCfg = all|Win32
{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo|Win32.Build.0 = all|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Internal|Win32.ActiveCfg = all|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Internal|Win32.Build.0 = all|Win32
{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = all|Win32
{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = all|Win32
{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo|Win32.ActiveCfg = all|Win32
{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo|Win32.Build.0 = all|Win32
{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = all|Win32
{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = all|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.ActiveCfg = cairo|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = cairo|Win32
{0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo|Win32.ActiveCfg = cairo|Win32
{0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo|Win32.Build.0 = cairo|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Internal|Win32.ActiveCfg = all|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Internal|Win32.Build.0 = all|Win32
{0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = all|Win32
{0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = all|Win32
{0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo|Win32.ActiveCfg = cairo|Win32
{0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo|Win32.Build.0 = cairo|Win32
{0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = all|Win32
{0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = all|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|Win32
{E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
{E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
{E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
{E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_Cairo|Win32.Build.0 = Release|Win32
{E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
{E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.ActiveCfg = Debug|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.Build.0 = Debug|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo|Win32.ActiveCfg = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo|Win32.Build.0 = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_All|Win32.Build.0 = Debug_All|Win32
{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo|Win32.ActiveCfg = Debug_CFLite|Win32
{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo|Win32.Build.0 = Debug_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.ActiveCfg = Debug|Win32
{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.Build.0 = Debug|Win32
{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo|Win32.ActiveCfg = Release_CFLite|Win32
{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo|Win32.Build.0 = Release_CFLite|Win32
{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.ActiveCfg = Release|Win32
{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.Build.0 = Release|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo|Win32.ActiveCfg = Release_Cairo|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo|Win32.Build.0 = Release_Cairo|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.ActiveCfg = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.Build.0 = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo|Win32.ActiveCfg = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo|Win32.Build.0 = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Internal|Win32.ActiveCfg = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Internal|Win32.Build.0 = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo|Win32.ActiveCfg = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo|Win32.Build.0 = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = all|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = all|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo|Win32.ActiveCfg = Debug_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo|Win32.Build.0 = Debug_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Internal|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Internal|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo|Win32.ActiveCfg = Release_Cairo|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo|Win32.Build.0 = Release_Cairo|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo|Win32.Build.0 = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.Build.0 = Debug|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo|Win32.ActiveCfg = Release_Cairo|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo|Win32.Build.0 = Release_Cairo|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo|Win32.Build.0 = Debug|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_All|Win32.ActiveCfg = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_All|Win32.Build.0 = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo|Win32.ActiveCfg = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Cairo|Win32.Build.0 = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Internal|Win32.ActiveCfg = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug_Internal|Win32.Build.0 = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.ActiveCfg = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Debug|Win32.Build.0 = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo|Win32.ActiveCfg = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Release_Cairo|Win32.Build.0 = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.ActiveCfg = all|Win32
+ {DA31DA52-6675-48D4-89E0-333A7144397C}.Release|Win32.Build.0 = all|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.ActiveCfg = Release|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.Build.0 = Release|Win32
{44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo|Win32.ActiveCfg = Release|Win32
{44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo|Win32.Build.0 = Release|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Internal|Win32.ActiveCfg = Release|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Internal|Win32.Build.0 = Release|Win32
{44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.ActiveCfg = Release|Win32
{44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.Build.0 = Release|Win32
{44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo|Win32.ActiveCfg = Release|Win32
{44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo|Win32.Build.0 = Release|Win32
{44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.ActiveCfg = Release|Win32
{44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.Build.0 = Release|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo|Win32.ActiveCfg = Debug_Internal|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo|Win32.Build.0 = Debug_Internal|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
{626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.ActiveCfg = Debug|Win32
{626089A3-25D3-4883-A96C-B8C66E036397}.Debug|Win32.Build.0 = Debug|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo|Win32.ActiveCfg = Debug|Win32
- {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo|Win32.Build.0 = Debug|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
+ {626089A3-25D3-4883-A96C-B8C66E036397}.Release_Cairo|Win32.Build.0 = Debug_Cairo|Win32
{626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.ActiveCfg = Debug|Win32
{626089A3-25D3-4883-A96C-B8C66E036397}.Release|Win32.Build.0 = Debug|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.ActiveCfg = Release|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.Build.0 = Release|Win32
{D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo|Win32.ActiveCfg = Release|Win32
{D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo|Win32.Build.0 = Release|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Internal|Win32.ActiveCfg = Release|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Internal|Win32.Build.0 = Release|Win32
{D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.ActiveCfg = Release|Win32
{D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.Build.0 = Release|Win32
{D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo|Win32.ActiveCfg = Release|Win32
{D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo|Win32.Build.0 = Release|Win32
{D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.ActiveCfg = Release|Win32
{D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.Build.0 = Release|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo|Win32.ActiveCfg = Debug_Cairo|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo|Win32.Build.0 = Debug_Cairo|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.ActiveCfg = Debug|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.Build.0 = Debug|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo|Win32.Build.0 = Debug|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.Build.0 = Debug|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.ActiveCfg = Release|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.Build.0 = Release|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.ActiveCfg = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.Build.0 = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo|Win32.ActiveCfg = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo|Win32.Build.0 = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Internal|Win32.ActiveCfg = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Internal|Win32.Build.0 = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.ActiveCfg = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.Build.0 = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo|Win32.ActiveCfg = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo|Win32.Build.0 = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.ActiveCfg = all|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.Build.0 = all|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo|Win32.Build.0 = Debug|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.Build.0 = Debug|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.ActiveCfg = Release|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.Build.0 = Release|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo|Win32.ActiveCfg = Debug|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo|Win32.Build.0 = Debug|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Internal|Win32.ActiveCfg = Debug_Internal|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Internal|Win32.Build.0 = Debug_Internal|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.Build.0 = Debug|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo|Win32.ActiveCfg = Release|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo|Win32.Build.0 = Release|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.ActiveCfg = Release|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {C59E5129-B453-49B7-A52B-1E104715F76E} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {AAE88FEF-509E-4D49-870B-7357922C276F} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {B8437A41-67BC-4769-9452-45203827F821} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {59CC0547-70AC-499C-9B19-EC01C6F61137} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {DA31DA52-6675-48D4-89E0-333A7144397C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {626089A3-25D3-4883-A96C-B8C66E036397} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {D09806DB-E58B-4646-8C9B-61101906C1E2} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {114FCA11-216B-4C8C-957E-30A75AE80443} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {CBC3391C-F060-4BF5-A66E-81404168816B} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {3B99669B-1817-443B-BCBE-835580146668} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ EndGlobalSection
EndGlobal
diff --git a/WebKit/win/WebKit.vcproj/WebKit.vcproj b/WebKit/win/WebKit.vcproj/WebKit.vcproj
index 7316805..50f5921 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.vcproj
+++ b/WebKit/win/WebKit.vcproj/WebKit.vcproj
@@ -46,7 +46,7 @@
PrecompiledHeaderThrough="WebKitPrefix.h"
ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h"
+ ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -111,7 +111,7 @@
PrecompiledHeaderThrough="WebKitPrefix.h"
ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h"
+ ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -176,7 +176,7 @@
ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
Detect64BitPortabilityProblems="false"
DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h"
+ ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -240,7 +240,7 @@
PrecompiledHeaderThrough="WebKitPrefix.h"
ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h"
+ ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -306,7 +306,7 @@
PrecompiledHeaderThrough="WebKitPrefix.h"
ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h"
+ ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -371,7 +371,7 @@
ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
Detect64BitPortabilityProblems="false"
DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h"
+ ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
diff --git a/WebKit/win/WebPreferenceKeysPrivate.h b/WebKit/win/WebPreferenceKeysPrivate.h
index 40c86c0..f62905c 100644
--- a/WebKit/win/WebPreferenceKeysPrivate.h
+++ b/WebKit/win/WebPreferenceKeysPrivate.h
@@ -145,3 +145,5 @@
#define WebKitCustomDragCursorsEnabledPreferenceKey "WebKitCustomDragCursorsEnabled"
#define WebKitDNSPrefetchingEnabledPreferenceKey "WebKitDNSPrefetchingEnabled"
+
+#define WebKitMemoryInfoEnabledPreferenceKey "WebKitMemoryInfoEnabled"
diff --git a/WebKit/win/WebPreferences.cpp b/WebKit/win/WebPreferences.cpp
index 12b0a72..a1055cb 100644
--- a/WebKit/win/WebPreferences.cpp
+++ b/WebKit/win/WebPreferences.cpp
@@ -263,6 +263,8 @@ void WebPreferences::initializeDefaultSettings()
CFDictionaryAddValue(defaults, CFSTR(WebKitDNSPrefetchingEnabledPreferenceKey), kCFBooleanTrue);
+ CFDictionaryAddValue(defaults, CFSTR(WebKitMemoryInfoEnabledPreferenceKey), kCFBooleanFalse);
+
defaultSettings = defaults;
}
@@ -1485,6 +1487,18 @@ HRESULT WebPreferences::isDNSPrefetchingEnabled(BOOL* enabled)
return S_OK;
}
+HRESULT WebPreferences::memoryInfoEnabled(BOOL* enabled)
+{
+ *enabled = boolValueForKey(CFSTR(WebKitMemoryInfoEnabledPreferenceKey));
+ return S_OK;
+}
+
+HRESULT WebPreferences::setMemoryInfoEnabled(BOOL enabled)
+{
+ setBoolValue(CFSTR(WebKitMemoryInfoEnabledPreferenceKey), enabled);
+ return S_OK;
+}
+
void WebPreferences::willAddToWebView()
{
++m_numWebViews;
diff --git a/WebKit/win/WebPreferences.h b/WebKit/win/WebPreferences.h
index fc57241..463e1b3 100644
--- a/WebKit/win/WebPreferences.h
+++ b/WebKit/win/WebPreferences.h
@@ -423,6 +423,9 @@ public:
virtual HRESULT STDMETHODCALLTYPE setDNSPrefetchingEnabled(BOOL);
virtual HRESULT STDMETHODCALLTYPE isDNSPrefetchingEnabled(BOOL*);
+ virtual HRESULT STDMETHODCALLTYPE setMemoryInfoEnabled(BOOL);
+ virtual HRESULT STDMETHODCALLTYPE memoryInfoEnabled(BOOL*);
+
// WebPreferences
// This method accesses a different preference key than developerExtrasEnabled.
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index b5c4fa8..fb0aad5 100644
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -95,6 +95,7 @@
#include <WebCore/HitTestRequest.h>
#include <WebCore/HitTestResult.h>
#include <WebCore/IntRect.h>
+#include <WebCore/JSElement.h>
#include <WebCore/KeyboardEvent.h>
#include <WebCore/Language.h>
#include <WebCore/Logging.h>
@@ -112,6 +113,7 @@
#include <WebCore/ProgressTracker.h>
#include <WebCore/RenderLayer.h>
#include <WebCore/RenderTheme.h>
+#include <WebCore/RenderTreeAsText.h>
#include <WebCore/RenderView.h>
#include <WebCore/RenderWidget.h>
#include <WebCore/ResourceHandle.h>
@@ -344,6 +346,7 @@ WebView::WebView()
, m_isAcceleratedCompositing(false)
#endif
, m_nextDisplayIsSynchronous(false)
+ , m_lastSetCursor(0)
{
JSC::initializeThreading();
WTF::initializeMainThread();
@@ -1972,10 +1975,6 @@ bool WebView::registerWebViewWindowClass()
return !!RegisterClassEx(&wcex);
}
-namespace WebCore {
- extern HCURSOR lastSetCursor;
-}
-
static HWND findTopLevelParent(HWND window)
{
if (!window)
@@ -2250,10 +2249,8 @@ LRESULT CALLBACK WebView::WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam,
}
break;
case WM_SETCURSOR:
- if (handled = webView->page()->chrome()->setCursor(lastSetCursor))
- break;
-
- __fallthrough;
+ handled = ::SetCursor(webView->m_lastSetCursor);
+ break;
case WM_VSCROLL:
handled = webView->verticalScroll(wParam, lParam);
break;
@@ -4750,6 +4747,11 @@ HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification)
return hr;
settings->setDNSPrefetchingEnabled(enabled);
+ hr = prefsPrivate->memoryInfoEnabled(&enabled);
+ if (FAILED(hr))
+ return hr;
+ settings->setMemoryInfoEnabled(enabled);
+
if (!m_closeWindowTimer)
m_mainFrame->invalidate(); // FIXME
@@ -5667,6 +5669,31 @@ HRESULT STDMETHODCALLTYPE WebView::reportException(
return S_OK;
}
+HRESULT STDMETHODCALLTYPE WebView::elementFromJS(
+ /* [in] */ JSContextRef context,
+ /* [in] */ JSValueRef nodeObject,
+ /* [retval][out] */ IDOMElement **element)
+{
+ if (!element)
+ return E_POINTER;
+
+ *element = 0;
+
+ if (!context)
+ return E_FAIL;
+
+ if (!nodeObject)
+ return E_FAIL;
+
+ JSLock lock(JSC::SilenceAssertionsOnly);
+ Element* elt = toElement(toJS(toJS(context), nodeObject));
+ if (!elt)
+ return E_FAIL;
+
+ *element = DOMElement::createInstance(elt);
+ return S_OK;
+}
+
HRESULT STDMETHODCALLTYPE WebView::setCustomHTMLTokenizerTimeDelay(
/* [in] */ double timeDelay)
{
diff --git a/WebKit/win/WebView.h b/WebKit/win/WebView.h
index 514f376..c7e7605 100644
--- a/WebKit/win/WebView.h
+++ b/WebKit/win/WebView.h
@@ -706,6 +706,11 @@ public:
/* [in] */ JSContextRef context,
/* [in] */ JSValueRef exception);
+ virtual HRESULT STDMETHODCALLTYPE elementFromJS(
+ /* [in] */ JSContextRef context,
+ /* [in] */ JSValueRef nodeObject,
+ /* [retval][out] */ IDOMElement **element);
+
virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerTimeDelay(
/* [in] */ double timeDelay);
@@ -903,6 +908,8 @@ public:
void enterFullscreenForNode(WebCore::Node*);
void exitFullscreen();
+ void setLastCursor(HCURSOR cursor) { m_lastSetCursor = cursor; }
+
private:
void setZoomMultiplier(float multiplier, bool isTextOnly);
float zoomMultiplier(bool isTextOnly);
@@ -1042,6 +1049,8 @@ protected:
#endif
bool m_nextDisplayIsSynchronous;
+
+ HCURSOR m_lastSetCursor;
};
#endif
diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog
index 9d89858..32ff6fe 100644
--- a/WebKit/wx/ChangeLog
+++ b/WebKit/wx/ChangeLog
@@ -1,3 +1,28 @@
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * WebKitSupport/EditorClientWx.cpp:
+ (WebCore::EditorClientWx::willSetInputMethodState):
+ * WebKitSupport/EditorClientWx.h:
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * WebKitSupport/ChromeClientWx.cpp:
+ (WebCore::ChromeClientWx::setCursor):
+ * WebKitSupport/ChromeClientWx.h:
+ Change prototype to match new one.
+
2010-07-07 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix after change in Page constructor.
diff --git a/WebKit/wx/WebKitSupport/ChromeClientWx.cpp b/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
index a19644d..d81a20c 100644
--- a/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
+++ b/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
@@ -447,10 +447,9 @@ void ChromeClientWx::chooseIconForFiles(const Vector<String>& filenames, FileCho
chooser->iconLoaded(Icon::createIconForFiles(filenames));
}
-bool ChromeClientWx::setCursor(PlatformCursorHandle)
+void ChromeClientWx::setCursor(const Cursor&)
{
notImplemented();
- return false;
}
void ChromeClientWx::requestGeolocationPermissionForFrame(Frame*, Geolocation*)
diff --git a/WebKit/wx/WebKitSupport/ChromeClientWx.h b/WebKit/wx/WebKitSupport/ChromeClientWx.h
index b900f3e..4b156ed 100644
--- a/WebKit/wx/WebKitSupport/ChromeClientWx.h
+++ b/WebKit/wx/WebKitSupport/ChromeClientWx.h
@@ -134,7 +134,7 @@ public:
virtual PassOwnPtr<HTMLParserQuirks> createHTMLParserQuirks() { return 0; }
- virtual bool setCursor(PlatformCursorHandle);
+ virtual void setCursor(const Cursor&);
virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const {}
diff --git a/WebKit/wx/WebKitSupport/EditorClientWx.cpp b/WebKit/wx/WebKitSupport/EditorClientWx.cpp
index 627ebf9..2355141 100644
--- a/WebKit/wx/WebKitSupport/EditorClientWx.cpp
+++ b/WebKit/wx/WebKitSupport/EditorClientWx.cpp
@@ -538,6 +538,11 @@ String EditorClientWx::getAutoCorrectSuggestionForMisspelledWord(const WebCore::
return String();
}
+void EditorClientWx::willSetInputMethodState()
+{
+ notImplemented();
+}
+
void EditorClientWx::setInputMethodState(bool enabled)
{
notImplemented();
diff --git a/WebKit/wx/WebKitSupport/EditorClientWx.h b/WebKit/wx/WebKitSupport/EditorClientWx.h
index 93cf961..8d69e36 100644
--- a/WebKit/wx/WebKitSupport/EditorClientWx.h
+++ b/WebKit/wx/WebKitSupport/EditorClientWx.h
@@ -110,6 +110,7 @@ public:
virtual void getGuessesForWord(const String&, Vector<String>& guesses);
virtual String getAutoCorrectSuggestionForMisspelledWord(const WebCore::String&);
+ virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
private: