summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium')
-rw-r--r--WebKit/chromium/ChangeLog476
-rw-r--r--WebKit/chromium/DEPS10
-rw-r--r--WebKit/chromium/WebKit.gyp133
-rw-r--r--WebKit/chromium/public/WebCache.h4
-rw-r--r--WebKit/chromium/public/WebFileUtilities.h2
-rw-r--r--WebKit/chromium/public/WebFrameClient.h4
-rw-r--r--WebKit/chromium/public/WebGraphicsContext3D.h7
-rw-r--r--WebKit/chromium/public/WebIDBTransaction.h5
-rw-r--r--WebKit/chromium/public/WebInputElement.h6
-rw-r--r--WebKit/chromium/public/WebPlugin.h4
-rw-r--r--WebKit/chromium/public/WebPluginContainer.h6
-rw-r--r--WebKit/chromium/public/WebSettings.h3
-rw-r--r--WebKit/chromium/public/WebSpeechInputControllerMock.h4
-rw-r--r--WebKit/chromium/public/WebURLRequest.h2
-rw-r--r--WebKit/chromium/public/WebWindowFeatures.h6
-rw-r--r--WebKit/chromium/src/AssertMatchingEnums.cpp1
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.cpp4
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.h5
-rw-r--r--WebKit/chromium/src/ChromiumBridge.cpp5
-rw-r--r--WebKit/chromium/src/Extensions3DChromium.cpp84
-rw-r--r--WebKit/chromium/src/ExternalPopupMenu.cpp13
-rw-r--r--WebKit/chromium/src/FrameLoaderClientImpl.cpp10
-rw-r--r--WebKit/chromium/src/GraphicsContext3DChromium.cpp41
-rw-r--r--WebKit/chromium/src/GraphicsContext3DInternal.h9
-rw-r--r--WebKit/chromium/src/IDBTransactionBackendProxy.cpp5
-rw-r--r--WebKit/chromium/src/IDBTransactionBackendProxy.h1
-rw-r--r--WebKit/chromium/src/LocalFileSystemChromium.cpp10
-rw-r--r--WebKit/chromium/src/WebAccessibilityObject.cpp2
-rw-r--r--WebKit/chromium/src/WebAnimationControllerImpl.cpp4
-rw-r--r--WebKit/chromium/src/WebCache.cpp22
-rw-r--r--WebKit/chromium/src/WebDevToolsAgentImpl.cpp15
-rw-r--r--WebKit/chromium/src/WebDevToolsAgentImpl.h1
-rw-r--r--WebKit/chromium/src/WebDevToolsFrontendImpl.cpp5
-rw-r--r--WebKit/chromium/src/WebDevToolsFrontendImpl.h1
-rw-r--r--WebKit/chromium/src/WebFrameImpl.cpp4
-rw-r--r--WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp60
-rw-r--r--WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h3
-rw-r--r--WebKit/chromium/src/WebIDBTransactionImpl.cpp5
-rw-r--r--WebKit/chromium/src/WebIDBTransactionImpl.h1
-rw-r--r--WebKit/chromium/src/WebInputElement.cpp12
-rw-r--r--WebKit/chromium/src/WebPluginContainerImpl.cpp53
-rw-r--r--WebKit/chromium/src/WebPluginContainerImpl.h23
-rw-r--r--WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp5
-rw-r--r--WebKit/chromium/src/WebSpeechInputControllerMockImpl.h4
-rw-r--r--WebKit/chromium/src/WebViewImpl.cpp3
-rw-r--r--WebKit/chromium/src/js/DevTools.js1
-rw-r--r--WebKit/chromium/src/js/devTools.css5
47 files changed, 865 insertions, 224 deletions
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 9eeb48b..6867714 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,479 @@
+2010-11-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48685
+ Notify UI process about focused frame
+
+ Added an empty implementation of the new ChromeClient method.
+
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::focusedFrameChanged):
+ * src/ChromeClientImpl.h:
+
+2010-11-08 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Only call WebInspector_syncDispatch if it's actually a function.
+ https://bugs.webkit.org/show_bug.cgi?id=49180
+
+ * src/WebDevToolsFrontendImpl.cpp:
+ (WebKit::WebDevToolsFrontendImpl::WebDevToolsFrontendImpl):
+ (WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
+ * src/WebDevToolsFrontendImpl.h:
+
+2010-11-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename Cache to MemoryCache
+ https://bugs.webkit.org/show_bug.cgi?id=49159
+
+ * public/WebCache.h:
+ * src/WebCache.cpp:
+ (WebKit::ToResourceTypeStat):
+ (WebKit::WebCache::setCapacities):
+ (WebKit::WebCache::clear):
+ (WebKit::WebCache::getUsageStats):
+ (WebKit::WebCache::getResourceTypeStats):
+
+2010-11-07 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Fixing a crasher with the select popup on Mac that happens when a
+ page removes the select node when the select changes.
+ https://bugs.webkit.org/show_bug.cgi?id=49108
+
+ * src/ExternalPopupMenu.cpp:
+ (WebKit::ExternalPopupMenu::didAcceptIndex):
+ (WebKit::ExternalPopupMenu::didCancel):
+
+2010-11-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed. Chromium DevTools: disable filesystem inspection
+ until polished.
+ https://bugs.webkit.org/show_bug.cgi?id=48963
+
+ * src/js/DevTools.js:
+
+2010-11-05 Ilya Sherman <isherman@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Querying selection start and end should be const
+ https://bugs.webkit.org/show_bug.cgi?id=48786
+
+ * public/WebInputElement.h:
+ * src/WebInputElement.cpp:
+ (WebKit::WebInputElement::selectionStart):
+ (WebKit::WebInputElement::selectionEnd):
+
+2010-11-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Move resumeAnimations/suspendAnimations from Frame to AnimationController.
+ https://bugs.webkit.org/show_bug.cgi?id=49073
+
+ * src/WebAnimationControllerImpl.cpp:
+ (WebKit::WebAnimationControllerImpl::suspendAnimations):
+ (WebKit::WebAnimationControllerImpl::resumeAnimations):
+
+2010-11-04 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Need to simulate DEPTH_STENCIL in framebufferRenderbuffer / getFramebufferAttachmentParameter
+ https://bugs.webkit.org/show_bug.cgi?id=49020
+
+ * src/WebGraphicsContext3DDefaultImpl.cpp: Remove DEPTH_STENCIL_ATTACHMENT emulation at this level.
+
+2010-11-05 Darin Fisher <darin@chromium.org>
+
+ Pull chromium@65229 to fix the build.
+
+ * DEPS:
+
+2010-11-05 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Replace deprecated TargetIsSub{Frame,Resource} with TargetIsSub{frame,resource}.
+ https://bugs.webkit.org/show_bug.cgi?id=49074
+
+ * public/WebURLRequest.h:
+ * src/FrameLoaderClientImpl.cpp:
+
+2010-11-05 Charlie Reis <creis@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ WebFrame::previousHistoryItem() should return last committed item.
+ https://bugs.webkit.org/show_bug.cgi?id=48809
+
+ * src/WebFrameImpl.cpp:
+
+2010-10-27 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Clean up IDBTransactionBackend/Coordinator
+ https://bugs.webkit.org/show_bug.cgi?id=48425
+
+ Remove obsolete ::id() method.
+
+ * public/WebIDBTransaction.h:
+ * src/IDBTransactionBackendProxy.cpp:
+ * src/IDBTransactionBackendProxy.h:
+ * src/WebIDBTransactionImpl.cpp:
+ * src/WebIDBTransactionImpl.h:
+
+2010-11-04 usaini <usaini08@gmail.com>
+
+ Reviewed by Antonio Gomes.
+
+ WebWindowFeatures has a faulty constructor for WebCore::WindowFeatures
+ https://bugs.webkit.org/show_bug.cgi?id=48035
+
+ * public/WebWindowFeatures.h:
+ (WebKit::WebWindowFeatures::WebWindowFeatures): updated the constructor
+ that takes in a WebCore::WindowFeature and had it copy all the variables
+ over properly so that after calling the constructor WebWindowFeatures is
+ always in a valid state. Before, the x,y,width,height booleans may be true, but
+ the corresponding int values would not be updated.
+
+2010-11-04 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Remove IMPLEMENTATION_COLOR_READ_FORMAT and TYPE
+ https://bugs.webkit.org/show_bug.cgi?id=48938
+
+ * src/WebGraphicsContext3DDefaultImpl.cpp:
+ (WebKit::WebGraphicsContext3DDefaultImpl::getIntegerv):
+
+2010-11-04 Kavita Kanetkar <kkanetkar@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Web Inspector: Enable files ystem UI for chromium
+ https://bugs.webkit.org/show_bug.cgi?id=48963
+
+ * src/js/DevTools.js:
+
+2010-11-03 Adam Barth <abarth@webkit.org>
+
+ Roll Chromium DEPS
+ https://bugs.webkit.org/show_bug.cgi?id=48978
+
+ * DEPS:
+
+2010-11-03 Vincent Scheib <scheib@chromium.org>
+
+ Reviewed by James Robinson.
+
+ [chromium] GraphicsContext3D creation attributes include canRecoverFromContextLoss option
+ https://bugs.webkit.org/show_bug.cgi?id=48850
+
+ Implementations of GraphicsContext3D may respect the creation attribute
+ canRecoverFromContextLoss being false, and then only succeeding initialization if
+ the context can satisfy that request of never being lost. DX9 on XP can not satisfy
+ such a request.
+
+ Test by use of accelerated canvas 2d in Chromium with ANGLE on XP machines.
+
+ * public/WebGraphicsContext3D.h:
+ (WebKit::WebGraphicsContext3D::Attributes::Attributes):
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::initialize):
+
+2010-11-03 Jenn Braithwaite <jennb@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Chromium: Update resource tracking when moving a frame between documents
+ https://bugs.webkit.org/show_bug.cgi?id=48363
+
+ * public/WebFrameClient.h:
+ (WebKit::WebFrameClient::removeIdentifierForRequest):
+ Added
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::transferLoadingResourceFromPage):
+ Notify current WebFrameClient of the resource and remove from
+ former WebFrameClient.
+
+2010-11-03 Adam Barth <abarth@webkit.org>
+
+ Roll Chromium DEPs
+ https://bugs.webkit.org/show_bug.cgi?id=48959
+
+ * DEPS:
+
+2010-11-03 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Chris Marrin.
+
+ Redesign extension mechanism in GraphicsContext3D
+ https://bugs.webkit.org/show_bug.cgi?id=46894
+
+ Upon request, factored out extension support from GraphicsContext3D
+ into a new Extensions3D class. (The plural was chosen because the
+ class and subclasses hold multiple extensions.)
+
+ Unlike GraphicsContext3D, Extensions3D contains only pure virtual
+ methods. This was done because Extensions3D's inheritance diagram
+ and usage pattern is very different from that of GraphicsContext3D,
+ and the concrete subclasses need to decide how to implement the
+ various entry points. Requiring them to be placed at the
+ Extensions3D level will cause implementation details to leak into
+ the base class, which is highly undesirable. Any virtual call
+ overhead to these entry points will be negligible.
+
+ Changed call sites utilizing these extensions to call through the
+ Extensions3D object or its subclasses.
+
+ Tested:
+ - Chromium on Linux with accelerated 2D canvas and HTML5 video
+ - Chromium on Mac OS X with WebGL and CSS 3D content
+ - Safari on Mac OS X with WebGL and CSS 3D content
+
+ No new tests. Covered by existing tests.
+
+ * WebKit.gyp:
+ * public/WebGraphicsContext3D.h:
+ * src/Extensions3DChromium.cpp: Added.
+ (WebCore::Extensions3DChromium::Extensions3DChromium):
+ (WebCore::Extensions3DChromium::~Extensions3DChromium):
+ (WebCore::Extensions3DChromium::supports):
+ (WebCore::Extensions3DChromium::getGraphicsResetStatusARB):
+ (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM):
+ (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM):
+ (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM):
+ (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM):
+ (WebCore::Extensions3DChromium::copyTextureToParentTextureCHROMIUM):
+ * src/GraphicsContext3DChromium.cpp:
+ (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
+ (WebCore::GraphicsContext3DInternal::getExtensions):
+ (WebCore::GraphicsContext3DInternal::supportsExtension):
+ * src/GraphicsContext3DInternal.h:
+ * src/WebGraphicsContext3DDefaultImpl.cpp:
+ (WebKit::WebGraphicsContext3DDefaultImpl::copyTextureToParentTextureCHROMIUM):
+ (WebKit::WebGraphicsContext3DDefaultImpl::getString):
+ * src/WebGraphicsContext3DDefaultImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::composite):
+
+2010-11-03 Daniel Bates <dbates@rim.com>
+
+ For unnamed frames, window.name returns a generated name
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Part 1 of 2.
+
+ Substitute FrameTree::uniqueName() for FrameTree::name() in the Chromium port.
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::name):
+
+2010-11-02 Al Patrick <apatrick@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Plugin instances can propagate the ID of the OpenGL texture they render to.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48032
+
+ * public/WebPlugin.h:
+ (WebKit::WebPlugin::getBackingTextureId):
+ * public/WebPluginContainer.h:
+ (WebKit::WebPluginContainer::commitBackingTexture):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::commitBackingTexture):
+ (WebKit::WebPluginContainerImpl::platformLayer):
+ (WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
+ * src/WebPluginContainerImpl.h:
+
+2010-11-02 Kavita Kanetkar <kkanetkar@chromium.org>
+
+ Reviewed by Dumitru Daniliuc.
+
+ [FileSystem] Support not creating directories when queried by inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=48169
+
+ * src/LocalFileSystemChromium.cpp:
+ (WebCore::LocalFileSystem::readFileSystem):
+ (WebCore::LocalFileSystem::requestFileSystem):
+
+2010-11-02 Chris Guillory <chris.guillory@google.com>
+
+ Reviewed by Chris Fleizach.
+
+ Chromium: Propagate a document value changed notification on scroll.
+ https://bugs.webkit.org/show_bug.cgi?id=48817
+
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::boundingBoxRect):
+
+2010-10-29 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium]: Allow plugins to use optimized scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=48660
+
+ * public/WebPluginContainer.h:
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::scrollRect):
+ * src/WebPluginContainerImpl.h:
+
+2010-11-02 Marc-Antoine Ruel <maruel@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Disable incremental linking for webkit_unit_test and DumpRenderTRee on x86 Windows on chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=48836
+
+ It fails to link otherwise due to lack of virtual address space.
+
+ * WebKit.gyp:
+
+2010-11-02 Ilya Sherman <isherman@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Expose the sendChangeEvent parameter in WebInputElement::setValue() API,
+ primarily so that chromium form autofill can fire the onChange event.
+ https://bugs.webkit.org/show_bug.cgi?id=48177
+
+ * public/WebInputElement.h:
+ * src/WebInputElement.cpp:
+ (WebKit::WebInputElement::setValue):
+
+2010-11-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: make properties and event listeners look consistent with the styles section.
+ https://bugs.webkit.org/show_bug.cgi?id=48827
+
+ * src/js/devTools.css:
+
+2010-11-01 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] Compile TestNetscapePlugin on chromium win
+ https://bugs.webkit.org/show_bug.cgi?id=48802
+
+ It creates npTestNetscapePlugin.dll in the build directory, so
+ it's not yet loaded by DRT or test_shell.
+
+ * WebKit.gyp:
+
+2010-11-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
+ Context menu support for WebKit 2.
+
+ * src/ChromeClientImpl.h:
+ (WebKit::ChromeClientImpl::showContextMenu):
+
+2010-11-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: Chromium build fix.
+
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::WebDevToolsAgentImpl):
+
+2010-11-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: remove old resources panel.
+ https://bugs.webkit.org/show_bug.cgi?id=45657
+
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::setApuAgentEnabled):
+ * src/WebDevToolsAgentImpl.h:
+
+2010-11-01 Leandro Gracia Gil <leandrogracia@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ This is the last part of a 4-sided patch for the language attribute
+ in speech text buttons. This patch removes what now is dead code
+ and re-enables the layout test introduced by bug 47089.
+ https://bugs.webkit.org/show_bug.cgi?id=47420
+
+ * public/WebSpeechInputControllerMock.h:
+ * src/WebSpeechInputControllerMockImpl.cpp:
+ * src/WebSpeechInputControllerMockImpl.h:
+
+2010-10-31 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: unhide new network and resources panels.
+ https://bugs.webkit.org/show_bug.cgi?id=48725
+
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::setApuAgentEnabled):
+
+2010-10-29 Daniel Bates <dbates@rim.com>
+
+ No review, rolling out 70971.
+ http://trac.webkit.org/changeset/70971
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
+ it caused layout test failures on all bots. In particular, the
+ child count in a generated frame name differs after this patch. We need
+ to look into this further.
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::name):
+
+2010-10-28 Antonio Gomes <agomes@rim.com>
+
+ Reviewed by Ojan Vafai.
+
+ Needs a "LinuxEditingBehavior", perhaps with a better name
+ https://bugs.webkit.org/show_bug.cgi?id=36627
+
+ Added the corresponding Chromium setting to WebCore's EditingUnixBehavior: EditingBehaviorUnix.
+
+ * public/WebSettings.h:
+ * src/AssertMatchingEnums.cpp:
+
+2010-10-29 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ For unnamed frames, window.name returns a generated name
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Modified Chromium-port to use FrameTree::uniqueName().
+
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::name):
+
+2010-10-29 Kavita Kanetkar <kkanetkar@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: FileSystem integration
+ https://bugs.webkit.org/show_bug.cgi?id=45982
+
+ * public/WebFileUtilities.h:
+ (WebKit::WebFileUtilities::revealFolderInOS):
+ * src/ChromiumBridge.cpp:
+ (WebCore::ChromiumBridge::revealFolderInOS):
+
+
2010-10-29 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
diff --git a/WebKit/chromium/DEPS b/WebKit/chromium/DEPS
index aaf0b0a..4fc0372 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': '64214'
+ 'chromium_rev': '65229'
}
deps = {
@@ -91,14 +91,12 @@ deps = {
Var('chromium_svn')+'/media@'+Var('chromium_rev'),
'printing':
Var('chromium_svn')+'/printing@'+Var('chromium_rev'),
+ 'ppapi':
+ Var('chromium_svn')+'/ppapi@'+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
From('chromium_deps', 'src/third_party/ffmpeg'),
- 'third_party/libvpx/include':
- From('chromium_deps', 'src/third_party/libvpx/include'),
- 'third_party/libvpx/lib':
- From('chromium_deps', 'src/third_party/libvpx/lib'),
'third_party/libwebp':
Var('chromium_svn')+'/third_party/libwebp@'+Var('chromium_rev'),
'tools/grit':
@@ -111,8 +109,6 @@ deps = {
Var('chromium_svn')+'/third_party@'+Var('chromium_rev'),
'third_party/icu':
From('chromium_deps', 'src/third_party/icu'),
- 'third_party/ppapi':
- From('chromium_deps', 'src/third_party/ppapi'),
'third_party/ots':
From('chromium_deps', 'src/third_party/ots'),
}
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index f121c5f..4dcc61a 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -328,6 +328,7 @@
'src/EditorClientImpl.h',
'src/EventListenerWrapper.cpp',
'src/EventListenerWrapper.h',
+ 'src/Extensions3DChromium.cpp',
'src/ExternalPopupMenu.cpp',
'src/ExternalPopupMenu.h',
'src/FrameLoaderClientImpl.cpp',
@@ -741,7 +742,6 @@
'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'],
}],
},
-
{
'target_name': 'webkit_unit_tests',
'type': 'executable',
@@ -801,6 +801,17 @@
}],
],
}],
+ ['inside_chromium_build==1 and OS=="win" and component!="shared_library"', {
+ 'configurations': {
+ 'Debug_Base': {
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
+ },
+ },
+ },
+ },
+ }],
],
},
{
@@ -826,6 +837,7 @@
'dependencies': [
'ImageDiff',
'inspector_resources',
+ 'TestNetscapePlugIn',
'webkit',
'../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
'<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
@@ -872,6 +884,17 @@
'../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
],
}],
+ ['inside_chromium_build==1', {
+ 'configurations': {
+ 'Debug_Base': {
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
+ },
+ },
+ },
+ },
+ }],
],
'copies': [{
'destination': '<(PRODUCT_DIR)',
@@ -881,9 +904,6 @@
'sources/': [
['exclude', 'Win\\.cpp$'],
],
- 'dependencies': [
- 'TestNetscapePlugIn',
- ],
'actions': [
{
'action_name': 'repack_locale',
@@ -972,6 +992,63 @@
}],
],
},
+ {
+ 'target_name': 'TestNetscapePlugIn',
+ 'type': 'loadable_module',
+ 'sources': [ '<@(test_plugin_files)' ],
+ 'dependencies': [
+ '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
+ ],
+ 'include_dirs': [
+ '<(chromium_src_dir)',
+ '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn',
+ '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
+ ],
+ 'conditions': [
+ ['OS=="mac"', {
+ 'mac_bundle': 1,
+ # It would be nice to name this
+ # TestNetscapePlugIn, but that name is already
+ # used by the fork of this plugin in Chromium.
+ 'product_name': 'WebKitTestNetscapePlugIn',
+ 'product_extension': 'plugin',
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
+ '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
+ '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
+ ]
+ },
+ 'xcode_settings': {
+ 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
+ # This is a temporary fork of
+ # DRT/TestNetscapePlugIn/mac/Info.plist. Once
+ # we get rid of our forked plugin in the
+ # chromium repo, we can share the same
+ # Info.plist.
+ 'INFOPLIST_FILE': '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist',
+ },
+ }],
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
+ 'cflags': [
+ '-fvisibility=default',
+ ],
+ }],
+ ['OS=="win"', {
+ 'defines': [
+ # This seems like a hack, but this is what Safari Win does.
+ 'snprintf=_snprintf',
+ ],
+ 'sources': [
+ '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def',
+ '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc',
+ ],
+ # The .rc file requires that the name of the dll is npTestNetscapePlugin.dll.
+ # This adds the 'np' to the dll name.
+ 'product_prefix': 'np',
+ }],
+ ],
+ },
], # targets
'conditions': [
['OS=="win"', {
@@ -980,54 +1057,6 @@
'type': 'executable',
'sources': ['../../WebKitTools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
}],
- }, { # OS!="win"
- 'targets': [
- {
- 'target_name': 'TestNetscapePlugIn',
- 'type': 'loadable_module',
- 'sources': [ '<@(test_plugin_files)' ],
- 'dependencies': [
- '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
- ],
- 'include_dirs': [
- '<(chromium_src_dir)',
- '../../WebKitTools/DumpRenderTree/TestNetscapePlugIn',
- '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
- ],
-
- 'conditions': [
- ['OS=="mac"', {
- 'mac_bundle': 1,
- # It would be nice to name this
- # TestNetscapePlugIn, but that name is already
- # used by the fork of this plugin in Chromium.
- 'product_name': 'WebKitTestNetscapePlugIn',
- 'product_extension': 'plugin',
- 'link_settings': {
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
- '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
- '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
- ]
- },
- 'xcode_settings': {
- 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
- # This is a temporary fork of
- # DRT/TestNetscapePlugIn/mac/Info.plist. Once
- # we get rid of our forked plugin in the
- # chromium repo, we can share the same
- # Info.plist.
- 'INFOPLIST_FILE': '../../WebKitTools/DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist',
- },
- }],
- ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
- 'cflags': [
- '-fvisibility=default',
- ],
- }],
- ],
- },
- ],
}],
['OS=="mac"', {
'targets': [
diff --git a/WebKit/chromium/public/WebCache.h b/WebKit/chromium/public/WebCache.h
index 433eb1a..e8a18d3 100644
--- a/WebKit/chromium/public/WebCache.h
+++ b/WebKit/chromium/public/WebCache.h
@@ -48,7 +48,7 @@ public:
size_t deadSize;
};
- // A struct mirroring WebCore::Cache::TypeStatistic.
+ // A struct mirroring WebCore::MemoryCache::TypeStatistic.
struct ResourceTypeStat {
size_t count;
size_t size;
@@ -56,7 +56,7 @@ public:
size_t decodedSize;
};
- // A struct mirroring WebCore::Cache::Statistics.
+ // A struct mirroring WebCore::MemoryCache::Statistics.
struct ResourceTypeStats {
ResourceTypeStat images;
ResourceTypeStat cssStyleSheets;
diff --git a/WebKit/chromium/public/WebFileUtilities.h b/WebKit/chromium/public/WebFileUtilities.h
index 456ba69..c8876f2 100644
--- a/WebKit/chromium/public/WebFileUtilities.h
+++ b/WebKit/chromium/public/WebFileUtilities.h
@@ -48,7 +48,7 @@ public:
#else
typedef int FileHandle;
#endif
-
+ virtual void revealFolderInOS(const WebString& path) { }
virtual bool fileExists(const WebString& path) { return false; }
virtual bool deleteFile(const WebString& path) { return false; }
virtual bool deleteEmptyDirectory(const WebString& path) { return false; }
diff --git a/WebKit/chromium/public/WebFrameClient.h b/WebKit/chromium/public/WebFrameClient.h
index c5cfc21..9063350 100644
--- a/WebKit/chromium/public/WebFrameClient.h
+++ b/WebKit/chromium/public/WebFrameClient.h
@@ -240,6 +240,10 @@ public:
virtual void assignIdentifierToRequest(
WebFrame*, unsigned identifier, const WebURLRequest&) { }
+ // Remove the association between an identifier assigned to a request if
+ // the client keeps such an association.
+ virtual void removeIdentifierForRequest(unsigned identifier) { }
+
// A request is about to be sent out, and the client may modify it. Request
// is writable, and changes to the URL, for example, will change the request
// made. If this request is the result of a redirect, then redirectResponse
diff --git a/WebKit/chromium/public/WebGraphicsContext3D.h b/WebKit/chromium/public/WebGraphicsContext3D.h
index 15e6365..9656887 100644
--- a/WebKit/chromium/public/WebGraphicsContext3D.h
+++ b/WebKit/chromium/public/WebGraphicsContext3D.h
@@ -64,6 +64,7 @@ public:
, stencil(true)
, antialias(true)
, premultipliedAlpha(true)
+ , canRecoverFromContextLoss(true)
{
}
@@ -72,6 +73,7 @@ public:
bool stencil;
bool antialias;
bool premultipliedAlpha;
+ bool canRecoverFromContextLoss;
};
// This destructor needs to be public so that using classes can destroy instances if initialization fails.
@@ -134,18 +136,13 @@ public:
// getError in the order they were added.
virtual void synthesizeGLError(unsigned long error) = 0;
- // EXT_texture_format_BGRA8888
- virtual bool supportsBGRA() = 0;
-
// GL_CHROMIUM_map_sub
- virtual bool supportsMapSubCHROMIUM() = 0;
virtual void* mapBufferSubDataCHROMIUM(unsigned target, int offset, int size, unsigned access) = 0;
virtual void unmapBufferSubDataCHROMIUM(const void*) = 0;
virtual void* mapTexSubImage2DCHROMIUM(unsigned target, int level, int xoffset, int yoffset, int width, int height, unsigned format, unsigned type, unsigned access) = 0;
virtual void unmapTexSubImage2DCHROMIUM(const void*) = 0;
// GL_CHROMIUM_copy_texture_to_parent_texture
- virtual bool supportsCopyTextureToParentTextureCHROMIUM() = 0;
virtual void copyTextureToParentTextureCHROMIUM(unsigned texture, unsigned parentTexture) = 0;
// The entry points below map directly to the OpenGL ES 2.0 API.
diff --git a/WebKit/chromium/public/WebIDBTransaction.h b/WebKit/chromium/public/WebIDBTransaction.h
index 385dd1e..cff7c67 100644
--- a/WebKit/chromium/public/WebIDBTransaction.h
+++ b/WebKit/chromium/public/WebIDBTransaction.h
@@ -52,11 +52,6 @@ public:
}
virtual void abort() { WEBKIT_ASSERT_NOT_REACHED(); }
virtual void didCompleteTaskEvents() { WEBKIT_ASSERT_NOT_REACHED(); }
- virtual int id() const
- {
- WEBKIT_ASSERT_NOT_REACHED();
- return 0;
- }
virtual void setCallbacks(WebIDBTransactionCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); }
// FIXME: this is never called from WebCore. Find a cleaner solution.
diff --git a/WebKit/chromium/public/WebInputElement.h b/WebKit/chromium/public/WebInputElement.h
index 8fea4fa..0c0764c 100644
--- a/WebKit/chromium/public/WebInputElement.h
+++ b/WebKit/chromium/public/WebInputElement.h
@@ -66,7 +66,7 @@ namespace WebKit {
WEBKIT_API bool isActivatedSubmit() const;
WEBKIT_API void setActivatedSubmit(bool);
WEBKIT_API int size() const;
- WEBKIT_API void setValue(const WebString&);
+ WEBKIT_API void setValue(const WebString&, bool sendChangeEvent = false);
WEBKIT_API WebString value() const;
WEBKIT_API void setSuggestedValue(const WebString&);
WEBKIT_API WebString suggestedValue() const;
@@ -76,8 +76,8 @@ namespace WebKit {
WEBKIT_API void setAutofilled(bool);
WEBKIT_API void dispatchFormControlChangeEvent();
WEBKIT_API void setSelectionRange(int, int);
- WEBKIT_API int selectionStart();
- WEBKIT_API int selectionEnd();
+ WEBKIT_API int selectionStart() const;
+ WEBKIT_API int selectionEnd() const;
WEBKIT_API bool isValidValue(const WebString&) const;
#if WEBKIT_IMPLEMENTATION
diff --git a/WebKit/chromium/public/WebPlugin.h b/WebKit/chromium/public/WebPlugin.h
index 17e29e2..4a6f081 100644
--- a/WebKit/chromium/public/WebPlugin.h
+++ b/WebKit/chromium/public/WebPlugin.h
@@ -64,6 +64,10 @@ public:
virtual void updateGeometry(
const WebRect& frameRect, const WebRect& clipRect,
const WebVector<WebRect>& cutOutsRects, bool isVisible) = 0;
+
+ // If the plugin instance is backed by an OpenGL texture, return its ID in the
+ // compositors namespace. Otherwise return 0. Returns 0 by default.
+ virtual unsigned getBackingTextureId() { return 0; }
virtual void updateFocus(bool) = 0;
virtual void updateVisibility(bool) = 0;
diff --git a/WebKit/chromium/public/WebPluginContainer.h b/WebKit/chromium/public/WebPluginContainer.h
index af20c66..c580f81 100644
--- a/WebKit/chromium/public/WebPluginContainer.h
+++ b/WebKit/chromium/public/WebPluginContainer.h
@@ -49,11 +49,15 @@ public:
virtual void invalidate() = 0;
virtual void invalidateRect(const WebRect&) = 0;
+ virtual void scrollRect(int dx, int dy, const WebRect&) = 0;
// Causes the container to report its current geometry via
// WebPlugin::updateGeometry.
virtual void reportGeometry() = 0;
-
+
+ // Called when the backing texture is ready to be composited.
+ virtual void commitBackingTexture() {}
+
// Drop any references to script objects allocated by the plugin.
// These are objects derived from WebPlugin::scriptableObject. This is
// called when the plugin is being destroyed or if it needs to be
diff --git a/WebKit/chromium/public/WebSettings.h b/WebKit/chromium/public/WebSettings.h
index 6a37e08..469db05 100644
--- a/WebKit/chromium/public/WebSettings.h
+++ b/WebKit/chromium/public/WebSettings.h
@@ -45,7 +45,8 @@ class WebSettings {
public:
enum EditingBehavior {
EditingBehaviorMac,
- EditingBehaviorWin
+ EditingBehaviorWin,
+ EditingBehaviorUnix
};
virtual void setStandardFontFamily(const WebString&) = 0;
diff --git a/WebKit/chromium/public/WebSpeechInputControllerMock.h b/WebKit/chromium/public/WebSpeechInputControllerMock.h
index b4c50a0..0a7f6f9 100644
--- a/WebKit/chromium/public/WebSpeechInputControllerMock.h
+++ b/WebKit/chromium/public/WebSpeechInputControllerMock.h
@@ -45,10 +45,6 @@ public:
virtual ~WebSpeechInputControllerMock() { }
virtual void setMockRecognitionResult(const WebString& result, const WebString& language) = 0;
-
- // FIXME: this is a fix for a two-sided patch. Delete as soon as the chromium side is patched.
- // Chromium patch not uploaded yet, but will depend on http://codereview.chromium.org/3615005/show patch.
- virtual void setMockRecognitionResult(const WebString& result) = 0;
};
} // namespace WebKit
diff --git a/WebKit/chromium/public/WebURLRequest.h b/WebKit/chromium/public/WebURLRequest.h
index e64ce80..c800452 100644
--- a/WebKit/chromium/public/WebURLRequest.h
+++ b/WebKit/chromium/public/WebURLRequest.h
@@ -58,9 +58,7 @@ public:
enum TargetType {
TargetIsMainFrame = 0,
- TargetIsSubFrame = 1, // Temporary for backward compatibility.
TargetIsSubframe = 1,
- TargetIsSubResource = 2, // Temporary for backward comptibility.
TargetIsSubresource = 2,
TargetIsStyleSheet = 3,
TargetIsScript = 4,
diff --git a/WebKit/chromium/public/WebWindowFeatures.h b/WebKit/chromium/public/WebWindowFeatures.h
index 2e7278a..99d8580 100644
--- a/WebKit/chromium/public/WebWindowFeatures.h
+++ b/WebKit/chromium/public/WebWindowFeatures.h
@@ -81,9 +81,13 @@ struct WebWindowFeatures {
#if WEBKIT_IMPLEMENTATION
WebWindowFeatures(const WebCore::WindowFeatures& f)
- : xSet(f.xSet)
+ : x(f.x)
+ , xSet(f.xSet)
+ , y(f.y)
, ySet(f.ySet)
+ , width(f.width)
, widthSet(f.widthSet)
+ , height(f.height)
, heightSet(f.heightSet)
, menuBarVisible(f.menuBarVisible)
, statusBarVisible(f.statusBarVisible)
diff --git a/WebKit/chromium/src/AssertMatchingEnums.cpp b/WebKit/chromium/src/AssertMatchingEnums.cpp
index c6ab85a..3fffd60 100644
--- a/WebKit/chromium/src/AssertMatchingEnums.cpp
+++ b/WebKit/chromium/src/AssertMatchingEnums.cpp
@@ -344,6 +344,7 @@ COMPILE_ASSERT_MATCHING_ENUM(WebScrollbar::ScrollByPixel, ScrollByPixel);
COMPILE_ASSERT_MATCHING_ENUM(WebSettings::EditingBehaviorMac, EditingMacBehavior);
COMPILE_ASSERT_MATCHING_ENUM(WebSettings::EditingBehaviorWin, EditingWindowsBehavior);
+COMPILE_ASSERT_MATCHING_ENUM(WebSettings::EditingBehaviorUnix, EditingUnixBehavior);
COMPILE_ASSERT_MATCHING_ENUM(WebTextAffinityUpstream, UPSTREAM);
COMPILE_ASSERT_MATCHING_ENUM(WebTextAffinityDownstream, DOWNSTREAM);
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index df13b29..18f7a02 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -252,6 +252,10 @@ void ChromeClientImpl::focusedNodeChanged(Node* node)
m_webView->client()->setKeyboardFocusURL(focusURL);
}
+void ChromeClientImpl::focusedFrameChanged(Frame*)
+{
+}
+
Page* ChromeClientImpl::createWindow(
Frame* frame, const FrameLoadRequest& r, const WindowFeatures& features, const NavigationAction&)
{
diff --git a/WebKit/chromium/src/ChromeClientImpl.h b/WebKit/chromium/src/ChromeClientImpl.h
index 039fc1b..87c1653 100644
--- a/WebKit/chromium/src/ChromeClientImpl.h
+++ b/WebKit/chromium/src/ChromeClientImpl.h
@@ -70,6 +70,7 @@ public:
virtual bool canTakeFocus(WebCore::FocusDirection);
virtual void takeFocus(WebCore::FocusDirection);
virtual void focusedNodeChanged(WebCore::Node*);
+ virtual void focusedFrameChanged(WebCore::Frame*);
virtual WebCore::Page* createWindow(
WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&, const WebCore::NavigationAction&);
virtual void show();
@@ -174,6 +175,10 @@ public:
virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
+#if ENABLE(CONTEXT_MENUS)
+ virtual void showContextMenu() { }
+#endif
+
private:
void getPopupMenuInfo(WebCore::PopupContainer*, WebPopupMenuInfo*);
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index 1af32cf..39d2566 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -345,6 +345,11 @@ bool ChromiumBridge::getFileSize(const String& path, long long& result)
return webKitClient()->fileUtilities()->getFileSize(path, result);
}
+void ChromiumBridge::revealFolderInOS(const String& path)
+{
+ webKitClient()->fileUtilities()->revealFolderInOS(path);
+}
+
bool ChromiumBridge::getFileModificationTime(const String& path, time_t& result)
{
double modificationTime;
diff --git a/WebKit/chromium/src/Extensions3DChromium.cpp b/WebKit/chromium/src/Extensions3DChromium.cpp
new file mode 100644
index 0000000..c36040b
--- /dev/null
+++ b/WebKit/chromium/src/Extensions3DChromium.cpp
@@ -0,0 +1,84 @@
+/*
+ * 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:
+ *
+ * 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 AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(3D_CANVAS)
+
+#include "Extensions3DChromium.h"
+
+#include "GraphicsContext3D.h"
+#include "GraphicsContext3DInternal.h"
+
+namespace WebCore {
+
+Extensions3DChromium::Extensions3DChromium(GraphicsContext3DInternal* internal)
+ : m_internal(internal)
+{
+}
+
+Extensions3DChromium::~Extensions3DChromium()
+{
+}
+
+bool Extensions3DChromium::supports(const String& name)
+{
+ return m_internal->supportsExtension(name);
+}
+
+int Extensions3DChromium::getGraphicsResetStatusARB()
+{
+ // FIXME: implement this in GraphicsContext3DInternal / WebGraphicsContext3DInternal.
+ return GraphicsContext3D::NO_ERROR;
+}
+
+void* Extensions3DChromium::mapBufferSubDataCHROMIUM(unsigned target, int offset, int size, unsigned access)
+{
+ return m_internal->mapBufferSubDataCHROMIUM(target, offset, size, access);
+}
+
+void Extensions3DChromium::unmapBufferSubDataCHROMIUM(const void* data)
+{
+ m_internal->unmapBufferSubDataCHROMIUM(data);
+}
+
+void* Extensions3DChromium::mapTexSubImage2DCHROMIUM(unsigned target, int level, int xoffset, int yoffset, int width, int height, unsigned format, unsigned type, unsigned access)
+{
+ return m_internal->mapTexSubImage2DCHROMIUM(target, level, xoffset, yoffset, width, height, format, type, access);
+}
+
+void Extensions3DChromium::unmapTexSubImage2DCHROMIUM(const void* data)
+{
+ m_internal->unmapTexSubImage2DCHROMIUM(data);
+}
+
+void Extensions3DChromium::copyTextureToParentTextureCHROMIUM(unsigned texture, unsigned parentTexture)
+{
+ m_internal->copyTextureToParentTextureCHROMIUM(texture, parentTexture);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(3D_CANVAS)
diff --git a/WebKit/chromium/src/ExternalPopupMenu.cpp b/WebKit/chromium/src/ExternalPopupMenu.cpp
index a0243eb..0f208fb 100644
--- a/WebKit/chromium/src/ExternalPopupMenu.cpp
+++ b/WebKit/chromium/src/ExternalPopupMenu.cpp
@@ -98,15 +98,26 @@ void ExternalPopupMenu::didChangeSelection(int index)
void ExternalPopupMenu::didAcceptIndex(int index)
{
+ // Calling methods on the PopupMenuClient might lead to this object being
+ // derefed. This ensures it does not get deleted while we are running this
+ // method.
+ RefPtr<ExternalPopupMenu> guard(this);
+
if (m_popupMenuClient) {
m_popupMenuClient->valueChanged(index);
- m_popupMenuClient->popupDidHide();
+ // The call to valueChanged above might have lead to a call to
+ // disconnectClient, so we might not have a PopupMenuClient anymore.
+ if (m_popupMenuClient)
+ m_popupMenuClient->popupDidHide();
}
m_webExternalPopupMenu = 0;
}
void ExternalPopupMenu::didCancel()
{
+ // See comment in didAcceptIndex on why we need this.
+ RefPtr<ExternalPopupMenu> guard(this);
+
if (m_popupMenuClient)
m_popupMenuClient->popupDidHide();
m_webExternalPopupMenu = 0;
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index 29141ac..ef28981 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -288,7 +288,7 @@ void FrameLoaderClientImpl::assignIdentifierToInitialRequest(
// this includes images and xmlhttp requests. It is important to note that a
// subresource is NOT limited to stuff loaded through the frame's subresource
// loader. Synchronous xmlhttp requests for example, do not go through the
-// subresource loader, but we still label them as TargetIsSubResource.
+// subresource loader, but we still label them as TargetIsSubresource.
//
// The important edge cases to consider when modifying this function are
// how synchronous resource loads are treated during load/unload threshold.
@@ -1389,9 +1389,13 @@ void FrameLoaderClientImpl::didTransferChildFrameToNewDocument(Page*)
m_webFrame->setClient(newParent->client());
}
-void FrameLoaderClientImpl::transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*)
+void FrameLoaderClientImpl::transferLoadingResourceFromPage(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request, Page* oldPage)
{
- notImplemented();
+ assignIdentifierToInitialRequest(identifier, loader, request);
+
+ WebFrameImpl* oldWebFrame = WebFrameImpl::fromFrame(oldPage->mainFrame());
+ if (oldWebFrame && oldWebFrame->client())
+ oldWebFrame->client()->removeIdentifierForRequest(identifier);
}
PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin(
diff --git a/WebKit/chromium/src/GraphicsContext3DChromium.cpp b/WebKit/chromium/src/GraphicsContext3DChromium.cpp
index afc2707..4d9e40b 100644
--- a/WebKit/chromium/src/GraphicsContext3DChromium.cpp
+++ b/WebKit/chromium/src/GraphicsContext3DChromium.cpp
@@ -39,6 +39,7 @@
#include "CanvasRenderingContext.h"
#include "Chrome.h"
#include "ChromeClientImpl.h"
+#include "Extensions3DChromium.h"
#include "GraphicsContext3DInternal.h"
#include "HTMLCanvasElement.h"
#include "HTMLImageElement.h"
@@ -83,6 +84,7 @@ namespace WebCore {
GraphicsContext3DInternal::GraphicsContext3DInternal()
: m_webViewImpl(0)
+ , m_initializedAvailableExtensions(false)
#if PLATFORM(SKIA)
#elif PLATFORM(CG)
, m_renderOutput(0)
@@ -108,6 +110,7 @@ bool GraphicsContext3DInternal::initialize(GraphicsContext3D::Attributes attrs,
webAttributes.stencil = attrs.stencil;
webAttributes.antialias = attrs.antialias;
webAttributes.premultipliedAlpha = attrs.premultipliedAlpha;
+ webAttributes.canRecoverFromContextLoss = attrs.canRecoverFromContextLoss;
WebKit::WebGraphicsContext3D* webContext = WebKit::webKitClient()->createGraphicsContext3D();
if (!webContext)
return false;
@@ -675,13 +678,31 @@ DELEGATE_TO_IMPL_1(deleteShader, unsigned)
DELEGATE_TO_IMPL_1(deleteTexture, unsigned)
DELEGATE_TO_IMPL_1(synthesizeGLError, unsigned long)
-DELEGATE_TO_IMPL_R(supportsBGRA, bool)
-DELEGATE_TO_IMPL_R(supportsMapSubCHROMIUM, bool)
+
+Extensions3D* GraphicsContext3DInternal::getExtensions()
+{
+ if (!m_extensions)
+ m_extensions = adoptPtr(new Extensions3DChromium(this));
+ return m_extensions.get();
+}
+
+bool GraphicsContext3DInternal::supportsExtension(const String& name)
+{
+ if (!m_initializedAvailableExtensions) {
+ String extensionsString = getString(GraphicsContext3D::EXTENSIONS);
+ Vector<String> availableExtensions;
+ extensionsString.split(" ", availableExtensions);
+ for (size_t i = 0; i < availableExtensions.size(); ++i)
+ m_availableExtensions.add(availableExtensions[i]);
+ m_initializedAvailableExtensions = true;
+ }
+ return m_availableExtensions.contains(name);
+}
+
DELEGATE_TO_IMPL_4R(mapBufferSubDataCHROMIUM, unsigned, int, int, unsigned, void*)
DELEGATE_TO_IMPL_1(unmapBufferSubDataCHROMIUM, const void*)
DELEGATE_TO_IMPL_9R(mapTexSubImage2DCHROMIUM, unsigned, int, int, int, int, int, unsigned, unsigned, unsigned, void*)
DELEGATE_TO_IMPL_1(unmapTexSubImage2DCHROMIUM, const void*)
-DELEGATE_TO_IMPL_R(supportsCopyTextureToParentTextureCHROMIUM, bool)
DELEGATE_TO_IMPL_2(copyTextureToParentTextureCHROMIUM, unsigned, unsigned)
//----------------------------------------------------------------------
@@ -1023,14 +1044,7 @@ DELEGATE_TO_INTERNAL_1(deleteShader, unsigned)
DELEGATE_TO_INTERNAL_1(deleteTexture, unsigned)
DELEGATE_TO_INTERNAL_1(synthesizeGLError, unsigned long)
-DELEGATE_TO_INTERNAL_R(supportsBGRA, bool)
-DELEGATE_TO_INTERNAL_R(supportsMapSubCHROMIUM, bool)
-DELEGATE_TO_INTERNAL_4R(mapBufferSubDataCHROMIUM, unsigned, int, int, unsigned, void*)
-DELEGATE_TO_INTERNAL_1(unmapBufferSubDataCHROMIUM, const void*)
-DELEGATE_TO_INTERNAL_9R(mapTexSubImage2DCHROMIUM, unsigned, int, int, int, int, int, unsigned, unsigned, unsigned, void*)
-DELEGATE_TO_INTERNAL_1(unmapTexSubImage2DCHROMIUM, const void*)
-DELEGATE_TO_INTERNAL_R(supportsCopyTextureToParentTextureCHROMIUM, bool)
-DELEGATE_TO_INTERNAL_2(copyTextureToParentTextureCHROMIUM, unsigned, unsigned)
+DELEGATE_TO_INTERNAL_R(getExtensions, Extensions3D*)
bool GraphicsContext3D::isGLES2Compliant() const
{
@@ -1047,11 +1061,6 @@ bool GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses() const
return m_internal->isErrorGeneratedOnOutOfBoundsAccesses();
}
-int GraphicsContext3D::getGraphicsResetStatusARB()
-{
- return NO_ERROR;
-}
-
} // namespace WebCore
#endif // ENABLE(3D_CANVAS)
diff --git a/WebKit/chromium/src/GraphicsContext3DInternal.h b/WebKit/chromium/src/GraphicsContext3DInternal.h
index f12fff0..17163a4 100644
--- a/WebKit/chromium/src/GraphicsContext3DInternal.h
+++ b/WebKit/chromium/src/GraphicsContext3DInternal.h
@@ -27,6 +27,7 @@
#define GraphicsContext3DInternal_h
#include "GraphicsContext3D.h"
+#include <wtf/HashSet.h>
#include <wtf/OwnPtr.h>
#if PLATFORM(SKIA)
#include "SkBitmap.h"
@@ -39,6 +40,7 @@ class WebViewImpl;
namespace WebCore {
+class Extensions3DChromium;
#if USE(ACCELERATED_COMPOSITING)
class WebGLLayerChromium;
#endif
@@ -260,7 +262,9 @@ public:
void synthesizeGLError(unsigned long error);
- void swapBuffers();
+ // Extensions3D support.
+ Extensions3D* getExtensions();
+ bool supportsExtension(const String& name);
// EXT_texture_format_BGRA8888
bool supportsBGRA();
@@ -278,7 +282,10 @@ public:
private:
OwnPtr<WebKit::WebGraphicsContext3D> m_impl;
+ OwnPtr<Extensions3DChromium> m_extensions;
WebKit::WebViewImpl* m_webViewImpl;
+ bool m_initializedAvailableExtensions;
+ HashSet<String> m_availableExtensions;
#if USE(ACCELERATED_COMPOSITING)
RefPtr<WebGLLayerChromium> m_compositingLayer;
#endif
diff --git a/WebKit/chromium/src/IDBTransactionBackendProxy.cpp b/WebKit/chromium/src/IDBTransactionBackendProxy.cpp
index 4b19ee4..7a88b13 100644
--- a/WebKit/chromium/src/IDBTransactionBackendProxy.cpp
+++ b/WebKit/chromium/src/IDBTransactionBackendProxy.cpp
@@ -84,11 +84,6 @@ void IDBTransactionBackendProxy::didCompleteTaskEvents()
m_webIDBTransaction->didCompleteTaskEvents();
}
-int IDBTransactionBackendProxy::id() const
-{
- return m_webIDBTransaction->id();
-}
-
void IDBTransactionBackendProxy::setCallbacks(IDBTransactionCallbacks* callbacks)
{
m_webIDBTransaction->setCallbacks(new WebIDBTransactionCallbacksImpl(callbacks));
diff --git a/WebKit/chromium/src/IDBTransactionBackendProxy.h b/WebKit/chromium/src/IDBTransactionBackendProxy.h
index 0c56f19..0bf84da 100644
--- a/WebKit/chromium/src/IDBTransactionBackendProxy.h
+++ b/WebKit/chromium/src/IDBTransactionBackendProxy.h
@@ -47,7 +47,6 @@ public:
virtual void abort();
virtual bool scheduleTask(PassOwnPtr<ScriptExecutionContext::Task>, PassOwnPtr<ScriptExecutionContext::Task>);
virtual void didCompleteTaskEvents();
- virtual int id() const;
virtual void setCallbacks(IDBTransactionCallbacks*);
WebKit::WebIDBTransaction* getWebIDBTransaction() const { return m_webIDBTransaction.get(); }
diff --git a/WebKit/chromium/src/LocalFileSystemChromium.cpp b/WebKit/chromium/src/LocalFileSystemChromium.cpp
index 25b1feb..a9c61d0 100644
--- a/WebKit/chromium/src/LocalFileSystemChromium.cpp
+++ b/WebKit/chromium/src/LocalFileSystemChromium.cpp
@@ -57,13 +57,21 @@ LocalFileSystem& LocalFileSystem::localFileSystem()
return *localFileSystem;
}
+void LocalFileSystem::readFileSystem(ScriptExecutionContext* context, AsyncFileSystem::Type type, long long size, PassOwnPtr<AsyncFileSystemCallbacks> callbacks)
+{
+ ASSERT(context && context->isDocument());
+ Document* document = static_cast<Document*>(context);
+ WebFrameImpl* webFrame = WebFrameImpl::fromFrame(document->frame());
+ webFrame->client()->openFileSystem(webFrame, static_cast<WebFileSystem::Type>(type), size, false, new WebFileSystemCallbacksImpl(callbacks));
+}
+
void LocalFileSystem::requestFileSystem(ScriptExecutionContext* context, AsyncFileSystem::Type type, long long size, PassOwnPtr<AsyncFileSystemCallbacks> callbacks, bool synchronous)
{
ASSERT(context);
if (context->isDocument()) {
Document* document = static_cast<Document*>(context);
WebFrameImpl* webFrame = WebFrameImpl::fromFrame(document->frame());
- webFrame->client()->openFileSystem(webFrame, static_cast<WebFileSystem::Type>(type), size, new WebFileSystemCallbacksImpl(callbacks));
+ webFrame->client()->openFileSystem(webFrame, static_cast<WebFileSystem::Type>(type), size, true, new WebFileSystemCallbacksImpl(callbacks));
} else {
WorkerContext* workerContext = static_cast<WorkerContext*>(context);
WorkerLoaderProxy* workerLoaderProxy = &workerContext->thread()->workerLoaderProxy();
diff --git a/WebKit/chromium/src/WebAccessibilityObject.cpp b/WebKit/chromium/src/WebAccessibilityObject.cpp
index 96a3173..9df69cf 100644
--- a/WebKit/chromium/src/WebAccessibilityObject.cpp
+++ b/WebKit/chromium/src/WebAccessibilityObject.cpp
@@ -351,7 +351,7 @@ WebRect WebAccessibilityObject::boundingBoxRect() const
return WebRect();
m_private->updateBackingStore();
- return m_private->documentFrameView()->contentsToWindow(m_private->boundingBoxRect());
+ return m_private->boundingBoxRect();
}
WebString WebAccessibilityObject::helpText() const
diff --git a/WebKit/chromium/src/WebAnimationControllerImpl.cpp b/WebKit/chromium/src/WebAnimationControllerImpl.cpp
index 15df140..e6eb828 100644
--- a/WebKit/chromium/src/WebAnimationControllerImpl.cpp
+++ b/WebKit/chromium/src/WebAnimationControllerImpl.cpp
@@ -94,7 +94,7 @@ void WebAnimationControllerImpl::suspendAnimations() const
return;
if (!m_frameImpl->frame())
return;
- controller->suspendAnimations(m_frameImpl->frame()->document());
+ controller->suspendAnimations();
}
void WebAnimationControllerImpl::resumeAnimations() const
@@ -104,7 +104,7 @@ void WebAnimationControllerImpl::resumeAnimations() const
return;
if (!m_frameImpl->frame())
return;
- controller->resumeAnimations(m_frameImpl->frame()->document());
+ controller->resumeAnimations();
}
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebCache.cpp b/WebKit/chromium/src/WebCache.cpp
index c124bdf..2203498 100644
--- a/WebKit/chromium/src/WebCache.cpp
+++ b/WebKit/chromium/src/WebCache.cpp
@@ -31,20 +31,20 @@
#include "config.h"
#include "WebCache.h"
-// Instead of providing accessors, we make all members of Cache public.
-// This will make it easier to track WebCore changes to the Cache class.
-// FIXME: We should introduce public getters on the Cache class.
+// Instead of providing accessors, we make all members of MemoryCache public.
+// This will make it easier to track WebCore changes to the MemoryCache class.
+// FIXME: We should introduce public getters on the MemoryCache class.
#define private public
-#include "Cache.h"
+#include "MemoryCache.h"
#undef private
using namespace WebCore;
namespace WebKit {
-// A helper method for coverting a Cache::TypeStatistic to a
+// A helper method for coverting a MemoryCache::TypeStatistic to a
// WebCache::ResourceTypeStat.
-static void ToResourceTypeStat(const Cache::TypeStatistic& from,
+static void ToResourceTypeStat(const MemoryCache::TypeStatistic& from,
WebCache::ResourceTypeStat& to)
{
to.count = static_cast<size_t>(from.count);
@@ -56,7 +56,7 @@ static void ToResourceTypeStat(const Cache::TypeStatistic& from,
void WebCache::setCapacities(
size_t minDeadCapacity, size_t maxDeadCapacity, size_t capacity)
{
- Cache* cache = WebCore::cache();
+ MemoryCache* cache = WebCore::cache();
if (cache)
cache->setCapacities(static_cast<unsigned int>(minDeadCapacity),
static_cast<unsigned int>(maxDeadCapacity),
@@ -65,7 +65,7 @@ void WebCache::setCapacities(
void WebCache::clear()
{
- Cache* cache = WebCore::cache();
+ MemoryCache* cache = WebCore::cache();
if (cache && !cache->disabled()) {
cache->setDisabled(true);
cache->setDisabled(false);
@@ -76,7 +76,7 @@ void WebCache::getUsageStats(UsageStats* result)
{
ASSERT(result);
- Cache* cache = WebCore::cache();
+ MemoryCache* cache = WebCore::cache();
if (cache) {
result->minDeadCapacity = cache->m_minDeadCapacity;
result->maxDeadCapacity = cache->m_maxDeadCapacity;
@@ -89,9 +89,9 @@ void WebCache::getUsageStats(UsageStats* result)
void WebCache::getResourceTypeStats(ResourceTypeStats* result)
{
- Cache* cache = WebCore::cache();
+ MemoryCache* cache = WebCore::cache();
if (cache) {
- Cache::Statistics stats = cache->getStatistics();
+ MemoryCache::Statistics stats = cache->getStatistics();
ToResourceTypeStat(stats.images, result->images);
ToResourceTypeStat(stats.cssStyleSheets, result->cssStyleSheets);
ToResourceTypeStat(stats.scripts, result->scripts);
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 9b7b2bd..880adb4 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -177,7 +177,6 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl(
, m_client(client)
, m_webViewImpl(webViewImpl)
, m_apuAgentEnabled(false)
- , m_resourceTrackingWasEnabled(false)
, m_attached(false)
{
DebuggerAgentManager::setExposeV8DebuggerProtocol(
@@ -264,20 +263,12 @@ void WebDevToolsAgentImpl::setApuAgentEnabled(bool enabled)
if (enabled) {
if (!ic->hasFrontend())
connectFrontend(true);
- m_resourceTrackingWasEnabled = ic->resourceTrackingEnabled();
+
ic->startTimelineProfiler();
- if (!m_resourceTrackingWasEnabled) {
- // TODO(knorton): Introduce some kind of agents dependency here so that
- // user could turn off resource tracking while apu agent is on.
- ic->setResourceTrackingEnabled(true);
- }
m_debuggerAgentImpl->setAutoContinueOnException(true);
- } else {
+ } else
ic->stopTimelineProfiler();
- if (!m_resourceTrackingWasEnabled)
- ic->setResourceTrackingEnabled(false);
- m_resourceTrackingWasEnabled = false;
- }
+
m_client->runtimePropertyChanged(
kApuAgentFeatureName,
enabled ? String("true") : String("false"));
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.h b/WebKit/chromium/src/WebDevToolsAgentImpl.h
index 47c4ccf..feb4bdd 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.h
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.h
@@ -109,7 +109,6 @@ private:
WebViewImpl* m_webViewImpl;
OwnPtr<DebuggerAgentImpl> m_debuggerAgentImpl;
bool m_apuAgentEnabled;
- bool m_resourceTrackingWasEnabled;
bool m_attached;
};
diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
index 905bc6d..ea59ab6 100644
--- a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
@@ -92,7 +92,6 @@ WebDevToolsFrontendImpl::WebDevToolsFrontendImpl(
: m_webViewImpl(webViewImpl)
, m_client(client)
, m_applicationLocale(applicationLocale)
- , m_loaded(false)
{
InspectorController* ic = m_webViewImpl->page()->inspectorController();
ic->setInspectorFrontendClient(new InspectorFrontendClientImpl(m_webViewImpl->page(), m_client, this));
@@ -113,7 +112,9 @@ void WebDevToolsFrontendImpl::dispatchOnInspectorFrontend(const WebString& messa
v8::Handle<v8::Context> frameContext = V8Proxy::context(frame->frame());
v8::Context::Scope contextScope(frameContext);
v8::Handle<v8::Value> dispatchFunction = frameContext->Global()->Get(v8::String::New("WebInspector_syncDispatch"));
- ASSERT(dispatchFunction->IsFunction());
+ // The frame might have navigated away from the front-end page (which is still weird).
+ if (!dispatchFunction->IsFunction())
+ return;
v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(dispatchFunction);
Vector< v8::Handle<v8::Value> > args;
args.append(ToV8String(message));
diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.h b/WebKit/chromium/src/WebDevToolsFrontendImpl.h
index bde906f..866a1cb 100644
--- a/WebKit/chromium/src/WebDevToolsFrontendImpl.h
+++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.h
@@ -73,7 +73,6 @@ private:
WebKit::WebViewImpl* m_webViewImpl;
WebKit::WebDevToolsFrontendClient* m_client;
String m_applicationLocale;
- bool m_loaded;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp
index b4d23c0..41b8321 100644
--- a/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/WebKit/chromium/src/WebFrameImpl.cpp
@@ -486,7 +486,7 @@ WebFrame* WebFrame::fromFrameOwnerElement(const WebElement& element)
WebString WebFrameImpl::name() const
{
- return m_frame->tree()->name();
+ return m_frame->tree()->uniqueName();
}
void WebFrameImpl::setName(const WebString& name)
@@ -986,7 +986,7 @@ WebHistoryItem WebFrameImpl::previousHistoryItem() const
// only get saved to history when it becomes the previous item. The caller
// is expected to query the history item after a navigation occurs, after
// the desired history item has become the previous entry.
- return WebHistoryItem(viewImpl()->previousHistoryItem());
+ return WebHistoryItem(m_frame->loader()->history()->previousItem());
}
WebHistoryItem WebFrameImpl::currentHistoryItem() const
diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
index e805c55..4cb701f 100644
--- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
+++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.cpp
@@ -40,7 +40,8 @@
#include "WebView.h"
#include <wtf/OwnArrayPtr.h>
#include <wtf/PassOwnPtr.h>
-#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
#include <stdio.h>
#include <string.h>
@@ -48,8 +49,6 @@
namespace WebKit {
enum {
- IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B,
- IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A,
MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB,
MAX_VARYING_VECTORS = 0x8DFC,
MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD
@@ -531,20 +530,6 @@ void WebGraphicsContext3DDefaultImpl::synthesizeGLError(unsigned long error)
m_syntheticErrors.add(error);
}
-bool WebGraphicsContext3DDefaultImpl::supportsBGRA()
-{
- // Supported since OpenGL 1.2. However, glTexImage2D() must be modified
- // to translate the internalFormat from GL_BGRA to GL_RGBA, since the
- // former is not accepted by desktop GL. Return false until this is done.
- return false;
-}
-
-bool WebGraphicsContext3DDefaultImpl::supportsMapSubCHROMIUM()
-{
- // We don't claim support for this extension at this time
- return false;
-}
-
void* WebGraphicsContext3DDefaultImpl::mapBufferSubDataCHROMIUM(unsigned target, int offset, int size, unsigned access)
{
return 0;
@@ -563,15 +548,11 @@ void WebGraphicsContext3DDefaultImpl::unmapTexSubImage2DCHROMIUM(const void* mem
{
}
-bool WebGraphicsContext3DDefaultImpl::supportsCopyTextureToParentTextureCHROMIUM()
-{
- // This extension requires this desktopGL-only function (GLES2 doesn't
- // support it), so check for its existence here.
- return glGetTexLevelParameteriv;
-}
-
void WebGraphicsContext3DDefaultImpl::copyTextureToParentTextureCHROMIUM(unsigned id, unsigned id2)
{
+ if (!glGetTexLevelParameteriv)
+ return;
+
makeContextCurrent();
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_copyTextureToParentTextureFBO);
glFramebufferTexture2DEXT(GL_FRAMEBUFFER,
@@ -855,16 +836,7 @@ DELEGATE_TO_GL(finish, Finish)
DELEGATE_TO_GL(flush, Flush)
-void WebGraphicsContext3DDefaultImpl::framebufferRenderbuffer(unsigned long target, unsigned long attachment,
- unsigned long renderbuffertarget, WebGLId buffer)
-{
- makeContextCurrent();
- if (attachment == GL_DEPTH_STENCIL_ATTACHMENT) {
- glFramebufferRenderbufferEXT(target, GL_DEPTH_ATTACHMENT, renderbuffertarget, buffer);
- glFramebufferRenderbufferEXT(target, GL_STENCIL_ATTACHMENT, renderbuffertarget, buffer);
- } else
- glFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, buffer);
-}
+DELEGATE_TO_GL_4(framebufferRenderbuffer, FramebufferRenderbufferEXT, unsigned long, unsigned long, unsigned long, WebGLId)
DELEGATE_TO_GL_5(framebufferTexture2D, FramebufferTexture2DEXT, unsigned long, unsigned long, unsigned long, WebGLId, long)
@@ -979,21 +951,12 @@ void WebGraphicsContext3DDefaultImpl::getFramebufferAttachmentParameteriv(unsign
void WebGraphicsContext3DDefaultImpl::getIntegerv(unsigned long pname, int* value)
{
- // 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 IMPLEMENTATION_COLOR_READ_FORMAT:
- *value = GL_RGB;
- break;
- case IMPLEMENTATION_COLOR_READ_TYPE:
- *value = GL_UNSIGNED_BYTE;
- break;
case MAX_FRAGMENT_UNIFORM_VECTORS:
glGetIntegerv(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, value);
*value /= 4;
@@ -1130,7 +1093,16 @@ WebString WebGraphicsContext3DDefaultImpl::getShaderSource(WebGLId shader)
WebString WebGraphicsContext3DDefaultImpl::getString(unsigned long name)
{
makeContextCurrent();
- return WebString::fromUTF8(reinterpret_cast<const char*>(glGetString(name)));
+ StringBuilder result;
+ result.append(reinterpret_cast<const char*>(glGetString(name)));
+ if (name == GL_EXTENSIONS) {
+ // GL_CHROMIUM_copy_texture_to_parent_texture requires this
+ // desktopGL-only function (GLES2 doesn't support it), so
+ // check for its existence here.
+ if (glGetTexLevelParameteriv)
+ result.append(" GL_CHROMIUM_copy_texture_to_parent_texture");
+ }
+ return WebString(result.toString());
}
DELEGATE_TO_GL_3(getTexParameterfv, GetTexParameterfv, unsigned long, unsigned long, float*)
diff --git a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h
index 5eebf12..c1de77c 100644
--- a/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h
+++ b/WebKit/chromium/src/WebGraphicsContext3DDefaultImpl.h
@@ -81,13 +81,10 @@ public:
virtual void prepareTexture();
virtual void synthesizeGLError(unsigned long error);
- virtual bool supportsBGRA();
- virtual bool supportsMapSubCHROMIUM();
virtual void* mapBufferSubDataCHROMIUM(unsigned target, int offset, int size, unsigned access);
virtual void unmapBufferSubDataCHROMIUM(const void*);
virtual void* mapTexSubImage2DCHROMIUM(unsigned target, int level, int xoffset, int yoffset, int width, int height, unsigned format, unsigned type, unsigned access);
virtual void unmapTexSubImage2DCHROMIUM(const void*);
- virtual bool supportsCopyTextureToParentTextureCHROMIUM();
virtual void copyTextureToParentTextureCHROMIUM(unsigned texture, unsigned parentTexture);
virtual void activeTexture(unsigned long texture);
diff --git a/WebKit/chromium/src/WebIDBTransactionImpl.cpp b/WebKit/chromium/src/WebIDBTransactionImpl.cpp
index f5d8748..4307cb5 100644
--- a/WebKit/chromium/src/WebIDBTransactionImpl.cpp
+++ b/WebKit/chromium/src/WebIDBTransactionImpl.cpp
@@ -69,11 +69,6 @@ void WebIDBTransactionImpl::didCompleteTaskEvents()
m_backend->didCompleteTaskEvents();
}
-int WebIDBTransactionImpl::id() const
-{
- return m_backend->id();
-}
-
void WebIDBTransactionImpl::setCallbacks(WebIDBTransactionCallbacks* callbacks)
{
RefPtr<IDBTransactionCallbacks> idbCallbacks = IDBTransactionCallbacksProxy::create(callbacks);
diff --git a/WebKit/chromium/src/WebIDBTransactionImpl.h b/WebKit/chromium/src/WebIDBTransactionImpl.h
index 24bab91..b26b3ac 100644
--- a/WebKit/chromium/src/WebIDBTransactionImpl.h
+++ b/WebKit/chromium/src/WebIDBTransactionImpl.h
@@ -45,7 +45,6 @@ public:
virtual WebIDBObjectStore* objectStore(const WebString& name);
virtual void abort();
virtual void didCompleteTaskEvents();
- virtual int id() const;
virtual void setCallbacks(WebIDBTransactionCallbacks*);
virtual WebCore::IDBTransactionBackendInterface* getIDBTransactionBackendInterface() const;
diff --git a/WebKit/chromium/src/WebInputElement.cpp b/WebKit/chromium/src/WebInputElement.cpp
index 7779dbc..d032ef8 100644
--- a/WebKit/chromium/src/WebInputElement.cpp
+++ b/WebKit/chromium/src/WebInputElement.cpp
@@ -95,9 +95,9 @@ int WebInputElement::size() const
return constUnwrap<HTMLInputElement>()->size();
}
-void WebInputElement::setValue(const WebString& value)
+void WebInputElement::setValue(const WebString& value, bool sendChangeEvent)
{
- unwrap<HTMLInputElement>()->setValue(value);
+ unwrap<HTMLInputElement>()->setValue(value, sendChangeEvent);
}
WebString WebInputElement::value() const
@@ -145,14 +145,14 @@ void WebInputElement::setSelectionRange(int start, int end)
unwrap<HTMLInputElement>()->setSelectionRange(start, end);
}
-int WebInputElement::selectionStart()
+int WebInputElement::selectionStart() const
{
- return unwrap<HTMLInputElement>()->selectionStart();
+ return constUnwrap<HTMLInputElement>()->selectionStart();
}
-int WebInputElement::selectionEnd()
+int WebInputElement::selectionEnd() const
{
- return unwrap<HTMLInputElement>()->selectionEnd();
+ return constUnwrap<HTMLInputElement>()->selectionEnd();
}
bool WebInputElement::isValidValue(const WebString& value) const
diff --git a/WebKit/chromium/src/WebPluginContainerImpl.cpp b/WebKit/chromium/src/WebPluginContainerImpl.cpp
index 58deecc..43d9757 100644
--- a/WebKit/chromium/src/WebPluginContainerImpl.cpp
+++ b/WebKit/chromium/src/WebPluginContainerImpl.cpp
@@ -33,6 +33,7 @@
#include "Chrome.h"
#include "ChromeClientImpl.h"
+#include "PluginLayerChromium.h"
#include "WebClipboard.h"
#include "WebCursorInfo.h"
#include "WebDataSourceImpl.h"
@@ -275,6 +276,25 @@ void WebPluginContainerImpl::invalidateRect(const WebRect& rect)
invalidateRect(static_cast<IntRect>(rect));
}
+void WebPluginContainerImpl::scrollRect(int dx, int dy, const WebRect& rect)
+{
+ Widget* parentWidget = parent();
+ if (parentWidget->isFrameView()) {
+ FrameView* parentFrameView = static_cast<FrameView*>(parentWidget);
+ if (!parentFrameView->isOverlapped()) {
+ IntRect damageRect = convertToContainingWindow(static_cast<IntRect>(rect));
+ IntSize scrollDelta(dx, dy);
+ // scroll() only uses the second rectangle, clipRect, and ignores the first
+ // rectangle.
+ parent()->hostWindow()->scroll(scrollDelta, damageRect, damageRect);
+ return;
+ }
+ }
+
+ // Use slow scrolling instead.
+ invalidateRect(rect);
+}
+
void WebPluginContainerImpl::reportGeometry()
{
if (!parent())
@@ -287,6 +307,14 @@ void WebPluginContainerImpl::reportGeometry()
m_webPlugin->updateGeometry(windowRect, clipRect, cutOutRects, isVisible());
}
+void WebPluginContainerImpl::commitBackingTexture()
+{
+#if USE(ACCELERATED_COMPOSITING)
+ if (platformLayer())
+ platformLayer()->setNeedsDisplay();
+#endif
+}
+
void WebPluginContainerImpl::clearScriptObjects()
{
Frame* frame = m_element->document()->frame();
@@ -393,8 +421,33 @@ void WebPluginContainerImpl::willDestroyPluginLoadObserver(WebPluginLoadObserver
m_pluginLoadObservers.remove(pos);
}
+#if USE(ACCELERATED_COMPOSITING)
+WebCore::LayerChromium* WebPluginContainerImpl::platformLayer() const
+{
+ // FIXME: In the event of a context lost, the texture needs to be recreated on the compositor's
+ // context and rebound to the platform layer here.
+ unsigned backingTextureId = m_webPlugin->getBackingTextureId();
+ if (!backingTextureId)
+ return 0;
+
+ m_platformLayer->setTextureId(backingTextureId);
+
+ return m_platformLayer.get();
+}
+#endif
+
// Private methods -------------------------------------------------------------
+WebPluginContainerImpl::WebPluginContainerImpl(WebCore::HTMLPlugInElement* element, WebPlugin* webPlugin)
+ : WebCore::PluginViewBase(0)
+ , m_element(element)
+ , m_webPlugin(webPlugin)
+#if USE(ACCELERATED_COMPOSITING)
+ , m_platformLayer(PluginLayerChromium::create(0))
+#endif
+{
+}
+
WebPluginContainerImpl::~WebPluginContainerImpl()
{
for (size_t i = 0; i < m_pluginLoadObservers.size(); ++i)
diff --git a/WebKit/chromium/src/WebPluginContainerImpl.h b/WebKit/chromium/src/WebPluginContainerImpl.h
index 27f5f2e..ebe6983 100644
--- a/WebKit/chromium/src/WebPluginContainerImpl.h
+++ b/WebKit/chromium/src/WebPluginContainerImpl.h
@@ -31,9 +31,10 @@
#ifndef WebPluginContainerImpl_h
#define WebPluginContainerImpl_h
+#include "PluginViewBase.h"
#include "WebPluginContainer.h"
-
#include "Widget.h"
+
#include <wtf/PassRefPtr.h>
#include <wtf/Vector.h>
@@ -43,7 +44,9 @@ namespace WebCore {
class HTMLPlugInElement;
class IntRect;
class KeyboardEvent;
+class LayerChromium;
class MouseEvent;
+class PluginLayerChromium;
class ResourceError;
class ResourceResponse;
class WheelEvent;
@@ -54,7 +57,7 @@ namespace WebKit {
class WebPlugin;
class WebPluginLoadObserver;
-class WebPluginContainerImpl : public WebCore::Widget, public WebPluginContainer {
+class WebPluginContainerImpl : public WebCore::PluginViewBase, public WebPluginContainer {
public:
static PassRefPtr<WebPluginContainerImpl> create(WebCore::HTMLPlugInElement* element, WebPlugin* webPlugin)
{
@@ -79,12 +82,14 @@ public:
virtual WebElement element();
virtual void invalidate();
virtual void invalidateRect(const WebRect&);
+ virtual void scrollRect(int dx, int dy, const WebRect&);
virtual void reportGeometry();
+ virtual void commitBackingTexture();
virtual void clearScriptObjects();
virtual NPObject* scriptableObjectForElement();
virtual WebString executeScriptURL(const WebURL&, bool popupsAllowed);
virtual void loadFrameRequest(const WebURLRequest&, const WebString& target, bool notifyNeeded, void* notifyData);
- virtual void zoomLevelChanged(double zoomLevel);
+ virtual void zoomLevelChanged(double zoomLevel);
// This cannot be null.
WebPlugin* plugin() { return m_webPlugin; }
@@ -117,10 +122,12 @@ public:
void willDestroyPluginLoadObserver(WebPluginLoadObserver*);
+#if USE(ACCELERATED_COMPOSITING)
+ virtual WebCore::LayerChromium* platformLayer() const;
+#endif
+
private:
- WebPluginContainerImpl(WebCore::HTMLPlugInElement* element, WebPlugin* webPlugin)
- : m_element(element)
- , m_webPlugin(webPlugin) { }
+ WebPluginContainerImpl(WebCore::HTMLPlugInElement* element, WebPlugin* webPlugin);
~WebPluginContainerImpl();
void handleMouseEvent(WebCore::MouseEvent*);
@@ -138,6 +145,10 @@ private:
WebCore::HTMLPlugInElement* m_element;
WebPlugin* m_webPlugin;
Vector<WebPluginLoadObserver*> m_pluginLoadObservers;
+
+#if USE(ACCELERATED_COMPOSITING)
+ RefPtr<WebCore::PluginLayerChromium> m_platformLayer;
+#endif
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp b/WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp
index 3b56338..ce8eba6 100644
--- a/WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp
+++ b/WebKit/chromium/src/WebSpeechInputControllerMockImpl.cpp
@@ -55,11 +55,6 @@ WebSpeechInputControllerMockImpl::~WebSpeechInputControllerMockImpl()
m_webcoreMock->setListener(0);
}
-void WebSpeechInputControllerMockImpl::setMockRecognitionResult(const WebString& result)
-{
- m_webcoreMock->setRecognitionResult(result, WebString::fromUTF8(""));
-}
-
void WebSpeechInputControllerMockImpl::setMockRecognitionResult(const WebString& result, const WebString &language)
{
m_webcoreMock->setRecognitionResult(result, language);
diff --git a/WebKit/chromium/src/WebSpeechInputControllerMockImpl.h b/WebKit/chromium/src/WebSpeechInputControllerMockImpl.h
index c98f92a..7b50a8b 100644
--- a/WebKit/chromium/src/WebSpeechInputControllerMockImpl.h
+++ b/WebKit/chromium/src/WebSpeechInputControllerMockImpl.h
@@ -64,10 +64,6 @@ public:
// WebSpeechInputControllerMock methods.
void setMockRecognitionResult(const WebString& result, const WebString& language);
- // FIXME: this is a fix for a two-sided patch. Delete as soon as the chromium side is patched.
- // Chromium patch not uploaded yet, but will depend on http://codereview.chromium.org/3615005/show patch.
- void setMockRecognitionResult(const WebString& result);
-
private:
OwnPtr<WebCore::SpeechInputClientMock> m_webcoreMock;
WebSpeechInputListener* m_listener;
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index 57d0ca4..490c620 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -52,6 +52,7 @@
#include "DragData.h"
#include "Editor.h"
#include "EventHandler.h"
+#include "Extensions3D.h"
#include "FocusController.h"
#include "FontDescription.h"
#include "FrameLoader.h"
@@ -1050,7 +1051,7 @@ void WebViewImpl::composite(bool finish)
m_layerRenderer->present();
GraphicsContext3D* context = m_layerRenderer->context();
- if (context->getGraphicsResetStatusARB() != GraphicsContext3D::NO_ERROR)
+ if (context->getExtensions()->getGraphicsResetStatusARB() != GraphicsContext3D::NO_ERROR)
reallocateRenderer();
#endif
}
diff --git a/WebKit/chromium/src/js/DevTools.js b/WebKit/chromium/src/js/DevTools.js
index 4c23057..8b3aea0 100644
--- a/WebKit/chromium/src/js/DevTools.js
+++ b/WebKit/chromium/src/js/DevTools.js
@@ -46,6 +46,7 @@ var context = {}; // Used by WebCore's inspector routines.
Preferences.canEditScriptSource = true;
Preferences.onlineDetectionEnabled = false;
Preferences.nativeInstrumentationEnabled = true;
+ Preferences.fileSystemEnabled = false;
})();
var devtools = devtools || {};
diff --git a/WebKit/chromium/src/js/devTools.css b/WebKit/chromium/src/js/devTools.css
index 9495fb8..64ea9d5 100644
--- a/WebKit/chromium/src/js/devTools.css
+++ b/WebKit/chromium/src/js/devTools.css
@@ -37,11 +37,6 @@ body.platform-linux #scripts-files {
line-height: 12px;
}
-.section > .header {
- border: 1px solid rgb(92, 116, 157);
- background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(105, 133, 180)), to(rgb(92, 116, 157)));
-}
-
.console-group-messages .section > .header {
padding: 0 8px 0 0;
background-image: none;