summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium')
-rw-r--r--WebKit/chromium/ChangeLog457
-rw-r--r--WebKit/chromium/public/WebIDBKey.h6
-rw-r--r--WebKit/chromium/public/WebKitClient.h9
-rw-r--r--WebKit/chromium/public/WebSettings.h5
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.cpp21
-rw-r--r--WebKit/chromium/src/ChromeClientImpl.h3
-rw-r--r--WebKit/chromium/src/ChromiumBridge.cpp10
-rw-r--r--WebKit/chromium/src/WebIDBKey.cpp4
-rw-r--r--WebKit/chromium/src/WebSettingsImpl.cpp25
-rw-r--r--WebKit/chromium/src/WebSettingsImpl.h5
-rw-r--r--WebKit/chromium/src/WebViewImpl.cpp21
11 files changed, 543 insertions, 23 deletions
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 6443cb1..3d8a0e0 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,460 @@
+2010-12-10 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Numeric keys are floats.
+ https://bugs.webkit.org/show_bug.cgi?id=50674
+
+ Represent numeric keys as floating point values.
+
+ * public/WebIDBKey.h:
+ (WebKit::WebIDBKey::WebIDBKey):
+ * src/WebIDBKey.cpp:
+ (WebKit::WebIDBKey::assign):
+ (WebKit::WebIDBKey::number):
+
+2010-12-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r73616.
+ http://trac.webkit.org/changeset/73616
+ https://bugs.webkit.org/show_bug.cgi?id=50772
+
+ Breaks chromium win build (Requested by hwennborg on #webkit).
+
+ * public/WebIDBKey.h:
+ (WebKit::WebIDBKey::WebIDBKey):
+ * src/WebIDBKey.cpp:
+ (WebKit::WebIDBKey::assign):
+ (WebKit::WebIDBKey::number):
+
+2010-12-09 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Numeric keys are floats.
+ https://bugs.webkit.org/show_bug.cgi?id=50674
+
+ Represent numeric keys as floating point values.
+
+ * public/WebIDBKey.h:
+ (WebKit::WebIDBKey::WebIDBKey):
+ * src/WebIDBKey.cpp:
+ (WebKit::WebIDBKey::assign):
+ (WebKit::WebIDBKey::number):
+
+2010-12-07 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Layering Violation in ContextMenu - member variable of type HitTestResult
+ https://bugs.webkit.org/show_bug.cgi?id=50586
+
+ Update users of ContextMenu and ContextMenuController to match where the new functions
+ are located.
+
+ * src/ContextMenuClientImpl.cpp:
+ (WebKit::selectMisspelledWord):
+ (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
+
+2010-12-06 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass security origin to make local file decision correctly
+ https://bugs.webkit.org/show_bug.cgi?id=48603
+
+ * src/ApplicationCacheHost.cpp:
+ (WebCore::ApplicationCacheHost::selectCacheWithManifest): Pass security origin.
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::dispatchCreatePage): Ditto.
+ (WebKit::FrameLoaderClientImpl::createFrame): Ditto.
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::loadFrameRequest): Ditto.
+
+2010-12-07 Martin Robinson <mrobinson@igalia.com>
+
+ Unreviewed, rolling out r73392.
+ http://trac.webkit.org/changeset/73392
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ This commit caused crashes on the GTK+ bots
+
+ * src/ContextMenuClientImpl.cpp:
+ (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::finishedLoading):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::encoding):
+ (WebKit::WebFrameImpl::loadJavaScriptURL):
+ * src/WebPageSerializerImpl.cpp:
+ (WebKit::WebPageSerializerImpl::preActionBeforeSerializeOpenTag):
+ (WebKit::WebPageSerializerImpl::serialize):
+ * src/WebSearchableFormData.cpp:
+ (WebCore::GetFormEncoding):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::pageEncoding):
+
+2010-12-07 Kenichi Ishibashi <bashi@google.com>
+
+ Reviewed by Kent Tamura.
+
+ Let HTMLObjectElement be a form associated element
+ https://bugs.webkit.org/show_bug.cgi?id=48821
+
+ Modified to use FormAssociatedElement instead of HTMLFormControlElement.
+
+ * src/WebFormElement.cpp:
+ (WebKit::WebFormElement::getFormControlElements): Modified to use
+ FormAssociatedElement instead of HTMLFormControlElement.
+ * src/WebPasswordFormUtils.cpp:
+ (WebKit::findPasswordFormFields): Ditto.
+ * src/WebSearchableFormData.cpp:
+ (WebCore::GetButtonToActivate): Ditto.
+ (WebCore::HasSuitableTextElement): Ditto.
+
+2010-12-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Update calls to DocumentWriter.
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ * src/ContextMenuClientImpl.cpp:
+ (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::finishedLoading):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::encoding):
+ (WebKit::WebFrameImpl::loadJavaScriptURL):
+ * src/WebPageSerializerImpl.cpp:
+ (WebKit::WebPageSerializerImpl::preActionBeforeSerializeOpenTag):
+ (WebKit::WebPageSerializerImpl::serialize):
+ * src/WebSearchableFormData.cpp:
+ (WebCore::GetFormEncoding):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::pageEncoding):
+
+2010-12-03 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r73302.
+ http://trac.webkit.org/changeset/73302
+ https://bugs.webkit.org/show_bug.cgi?id=50499
+
+ Causes crashes in debug LayoutTests (Requested by xan_ on
+ #webkit).
+
+ * public/WebAccessibilityObject.h:
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::parentObject):
+
+2010-12-01 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Inspector protocol cleanup task.
+
+ The patch has just small renames and adjustments for the protocol things.
+ 'handler' keyword in idl file was replaced with 'domain'.
+ 'domain' property was assigned for the each backend to frontend messages.
+ At the next step WebInspector wrapper functions will be removed and 'agents' will be called directly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50337
+
+ * src/WebDevToolsFrontendImpl.cpp:
+ (WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
+
+2010-12-03 Chris Guillory <chris.guillory@google.com>
+
+ Reviewed by Chris Fleizach.
+
+ Include the FrameView widget of a RenderWidget in the accessibility tree.
+ https://bugs.webkit.org/show_bug.cgi?id=49106
+
+ * public/WebAccessibilityObject.h:
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::equals):
+ (WebKit::WebAccessibilityObject::parentObject):
+
+2010-11-29 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Clean up IndexedDB 2 sided roll bits
+ https://bugs.webkit.org/show_bug.cgi?id=50160
+
+ * public/WebIDBDatabase.h:
+ (WebKit::WebIDBDatabase::version):
+ (WebKit::WebIDBDatabase::objectStoreNames):
+ (WebKit::WebIDBDatabase::deleteObjectStore):
+ * public/WebIDBFactory.h:
+ (WebKit::WebIDBFactory::open):
+ * public/WebIDBKeyRange.h:
+ * public/WebIDBObjectStore.h:
+ (WebKit::WebIDBObjectStore::deleteFunction):
+ * src/IDBDatabaseProxy.cpp:
+ * src/IDBDatabaseProxy.h:
+ * src/WebIDBKeyRange.cpp:
+
+2010-12-02 Chris Rogers <crogers@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Fine-tune chromium WebKit API for loading audio resources
+ https://bugs.webkit.org/show_bug.cgi?id=50406
+
+ * public/WebAudioBus.h:
+ (WebKit::WebAudioBus::~WebAudioBus):
+ * public/WebKitClient.h:
+ (WebKit::WebKitClient::loadAudioResource):
+ * src/ChromiumBridge.cpp:
+ (WebCore::ChromiumBridge::decodeAudioFileData):
+ * src/WebAudioBus.cpp:
+ (WebKit::WebAudioBus::reset):
+
+2010-12-02 Darin Fisher <darin@chromium.org>
+
+ Fix the Windows multi-dll build. Do not export functions that are
+ implemented inline!
+
+ * public/WebFormControlElement.h:
+ (WebKit::WebFormControlElement::assign):
+
+2010-12-02 Tony Chang <tony@chromium.org>
+
+ Unreviewed, roll chromium deps to r67980.
+
+ * DEPS:
+
+2010-12-01 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Resources panel] [HAR] Need a way to save timing data.
+ Enable resource export to HAR for Chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=45663
+
+ * src/js/DevTools.js: Preferences.resourceExportEnabled = true
+
+2010-12-02 Vincent Scheib <scheib@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] histograms api updated in WebKitClient/ChromiumBridge and histogram "GPU.setIsAcceleratedCompositingActive" added.
+ https://bugs.webkit.org/show_bug.cgi?id=50285
+
+ Test by loading "about:histograms" after navigating to accelerated pages.
+
+ * public/WebKitClient.h:
+ (WebKit::WebKitClient::histogramCustomCounts): api update.
+ (WebKit::WebKitClient::histogramEnumeration): api update.
+ * src/ChromiumBridge.cpp:
+ (WebCore::ChromiumBridge::histogramCustomCounts): api update.
+ (WebCore::ChromiumBridge::histogramEnumeration): api update.
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive): "GPU.setIsAcceleratedCompositingActive" added.
+
+2010-12-01 Jia Pu <jpu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Support multiple correction candidates panel for misspelled word on Mac OS X.
+ https://bugs.webkit.org/show_bug.cgi?id=50137
+ <rdar://problem/8568059>
+
+ Adopted new function signature defined in base class.
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::getGuessesForWord):
+ * src/EditorClientImpl.h:
+
+2010-12-01 Alexey Marinichev <amarinichev@chromium.org>
+
+ Reviewed by James Robinson.
+
+ [chromium] renderer does not realize hardware compositing is disabled and crashes
+ https://bugs.webkit.org/show_bug.cgi?id=50264
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setRootGraphicsLayer): repaint always
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive): null check
+ (WebKit::WebViewImpl::reallocateRenderer):
+
+2010-11-30 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Get the value of the accelerated compositing triggers from the Settings
+ class. This allows setting the triggers via command line flags.
+ https://bugs.webkit.org/show_bug.cgi?id=50301
+
+ * public/WebSettings.h:
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::allowedCompositingTriggers):
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::setAcceleratedCompositingFor3DTransformsEnabled):
+ (WebKit::WebSettingsImpl::setAcceleratedCompositingForVideoEnabled):
+ (WebKit::WebSettingsImpl::setAcceleratedCompositingForPluginsEnabled):
+ (WebKit::WebSettingsImpl::setAcceleratedCompositingForCanvasEnabled):
+ (WebKit::WebSettingsImpl::setAcceleratedCompositingForAnimationEnabled):
+ * src/WebSettingsImpl.h:
+
+2010-12-01 Tony Chang <tony@chromium.org>
+
+ Unreviewed, rolling chromium deps to r67811.
+
+ * DEPS:
+
+2010-12-01 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: disable cookies tab in network resource view by default, enable for chromium
+ https://bugs.webkit.org/show_bug.cgi?id=50249
+
+ * src/js/DevTools.js:
+
+2010-11-30 Ojan Vafai <ojan@chromium.org>
+
+ Revert r72876. It caused a ~30% perf regression in chromium's bloat-http test
+ https://bugs.webkit.org/show_bug.cgi?id=50288
+
+ 2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
+ Reviewed by Darin Adler.
+ Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
+ https://bugs.webkit.org/show_bug.cgi?id=50182
+ A display-isolated URL can only be displayed (e.g., put in an iframe,
+ hyperlinked to) by documents from that scheme. In a sense, this is a
+ generalization of some of the protections we give file URLs, but
+ instead of lumping them all together into one "local" bucket, this
+ patch creates a separate bucket for each scheme.
+ For a while, I tried using a separate bucket for each origin. That
+ would have played nicely with what Blob URLs are trying to do, but some
+ "chrome" URL pages rely on being able to display other chrome URL
+ pages, even in different origins. For example, the New Tab Page shows
+ thumbnails from the "thumbnail" host.
+ This patch also removes a bunch of unused code. I've also propagated
+ the "deprecated" status of deprecatedCanDisplay to
+ deprecatedShouldTreatURLAsLocal because that method has no other
+ callers and is really asking for uppercase/lowercase bugs. I dream of
+ someday removing these functions.
+ 2010-11-29 Adam Barth <abarth@webkit.org (:abarth) (r)>
+ Reviewed by Darin Adler.
+ Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
+ https://bugs.webkit.org/show_bug.cgi?id=50182
+ This patch adds a Chromium API for registering schemes as
+ display-isolated. In a subsequent patch, I'll change the "chrome"
+ scheme in Chrome to be display isolated instead of local. That will
+ prevent file URLs from linking to chrome URLs.
+
+ * public/WebSecurityPolicy.h:
+ * src/WebSecurityPolicy.cpp:
+
+2010-11-30 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [chromium] Update yasm entry in DEPS to match downstream
+ https://bugs.webkit.org/show_bug.cgi?id=50274
+
+ http://src.chromium.org/viewvc/chrome?view=rev&revision=67540 changed the downstream DEPS rule
+ for yasm to pull unconditionally rather than pulling in each deps_os. This changes the WebKit
+ chromium DEPS to match.
+
+ * DEPS:
+
+2010-11-29 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Provide more fine grained control to ports over when to turn on accelerated
+ compositing.
+ https://bugs.webkit.org/show_bug.cgi?id=49998
+
+ As part of this change, the old hasAcceleratedCompositing method on the ChromeClient
+ has now been replaced by allowedCompositingTriggers which returns a bitfield of
+ all the features which can trigger the compositor.
+
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::allowedCompositingTriggers):
+ * src/ChromeClientImpl.h:
+
+2010-11-30 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] pass webframe to web frame client's cookieJar
+ https://bugs.webkit.org/show_bug.cgi?id=50148
+
+ * public/WebFrameClient.h:
+ (WebKit::WebFrameClient::cookieJar):
+ * src/ChromiumBridge.cpp:
+ (WebCore::getCookieJar):
+
+2010-11-30 Jochen Eisinger <jochen@chromium.org>
+
+ Unreviewed. Roll chromium 67532:67541.
+
+ * DEPS:
+
+2010-11-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Introduce the notion of a "display-isolated" URL scheme for use by Chrome-internal URLs
+ https://bugs.webkit.org/show_bug.cgi?id=50182
+
+ This patch adds a Chromium API for registering schemes as
+ display-isolated. In a subsequent patch, I'll change the "chrome"
+ scheme in Chrome to be display isolated instead of local. That will
+ prevent file URLs from linking to chrome URLs.
+
+ * public/WebSecurityPolicy.h:
+ * src/WebSecurityPolicy.cpp:
+ (WebKit::WebSecurityPolicy::registerURLSchemeAsDisplayIsolated):
+
+2010-11-29 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Add substitution parameters to WebKitClient::queryLocalizedString()
+ https://bugs.webkit.org/show_bug.cgi?id=50053
+
+ * public/WebKitClient.h:
+ (WebKit::WebKitClient::queryLocalizedString): Add overload functions with
+ substitution string parameters, and remove the integer parameter overload.
+ * src/LocalizedStrings.cpp:
+ (WebCore::query): Add string parameter overloads, and remove the integer parameter overload.
+ (WebCore::multipleFileUploadText): Call the string parameter query().
+ (WebCore::validationMessageTooLongText): Pass the parameters to query().
+ (WebCore::validationMessageRangeUnderflowText): ditto.
+ (WebCore::validationMessageRangeOverflowText): ditto.
+ (WebCore::validationMessageStepMismatchText): ditto.
+
+2010-11-29 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Remove Build directory that was erroneously added in r72103.
+
+ * Build: Removed.
+
+2010-11-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Web Inspector: [Chromium] Expose extension API to select a node in WebInspector
+ Added WebDevToolsAgent::inspect()
+ https://bugs.webkit.org/show_bug.cgi?id=49727
+
+ * public/WebDevToolsAgent.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::WebDevToolsAgentImpl::inspectNode):
+ * src/WebDevToolsAgentImpl.h:
+
+2010-11-29 Dimitri Glazkov <dglazkov@chromium.org>
+
+ [Chromium] Remove python_24 dependency, because it is no longer necessary.
+
+ * DEPS: Removed python_24 dependency.
+
2010-11-29 Bernhard Bauer <bauerb@chromium.org>
Reviewed by Jeremy Orlow.
diff --git a/WebKit/chromium/public/WebIDBKey.h b/WebKit/chromium/public/WebIDBKey.h
index 171fe78..c77a5b7 100644
--- a/WebKit/chromium/public/WebIDBKey.h
+++ b/WebKit/chromium/public/WebIDBKey.h
@@ -48,7 +48,7 @@ public:
WEBKIT_API static WebIDBKey createFromValueAndKeyPath(const WebSerializedScriptValue&, const WebIDBKeyPath&);
WebIDBKey(const WebString& string) { assign(string); }
- WebIDBKey(int32_t number) { assign(number); }
+ WebIDBKey(double number) { assign(number); }
WebIDBKey(const WebIDBKey& e) { assign(e); }
WebIDBKey& operator=(const WebIDBKey& e)
{
@@ -59,7 +59,7 @@ public:
WEBKIT_API void assign(const WebIDBKey&);
WEBKIT_API void assignNull();
WEBKIT_API void assign(const WebString&);
- WEBKIT_API void assign(int32_t);
+ WEBKIT_API void assign(double);
WEBKIT_API void assignInvalid();
WEBKIT_API void reset();
@@ -73,7 +73,7 @@ public:
WEBKIT_API Type type() const;
WEBKIT_API WebString string() const; // Only valid for StringType.
- WEBKIT_API int32_t number() const; // Only valid for numberType.
+ WEBKIT_API double number() const; // Only valid for numberType.
#if WEBKIT_IMPLEMENTATION
WebIDBKey(const WTF::PassRefPtr<WebCore::IDBKey>&);
diff --git a/WebKit/chromium/public/WebKitClient.h b/WebKit/chromium/public/WebKitClient.h
index 8832add..de801f5 100644
--- a/WebKit/chromium/public/WebKitClient.h
+++ b/WebKit/chromium/public/WebKitClient.h
@@ -210,10 +210,11 @@ public:
virtual void traceEventBegin(const char* name, void* id, const char* extra) { }
virtual void traceEventEnd(const char* name, void* id, const char* extra) { }
- // Generic callback for reporting histogram data. Range is identified by the min, max pair.
- // By default, histogram is exponential, so that min=1, max=1000000, bucketCount=50 would do. Setting
- // linear to true would require bucket count to cover whole min-max range.
- virtual void histogramCounts(const WebString& name, int sample, int min, int max, int bucketCount, bool linear) { }
+ // Callbacks for reporting histogram data.
+ // CustomCounts histogram has exponential bucket sizes, so that min=1, max=1000000, bucketCount=50 would do.
+ virtual void histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount) { }
+ // Enumeration histogram buckets are linear, boundaryValue should be larger than any possible sample value.
+ virtual void histogramEnumeration(const char* name, int sample, int boundaryValue) { }
// Resources -----------------------------------------------------------
diff --git a/WebKit/chromium/public/WebSettings.h b/WebKit/chromium/public/WebSettings.h
index fa21551..0467c96 100644
--- a/WebKit/chromium/public/WebSettings.h
+++ b/WebKit/chromium/public/WebSettings.h
@@ -93,6 +93,11 @@ public:
virtual void setShowDebugBorders(bool) = 0;
virtual void setEditingBehavior(EditingBehavior) = 0;
virtual void setAcceleratedCompositingEnabled(bool) = 0;
+ virtual void setAcceleratedCompositingFor3DTransformsEnabled(bool) = 0;
+ virtual void setAcceleratedCompositingForVideoEnabled(bool) = 0;
+ virtual void setAcceleratedCompositingForCanvasEnabled(bool) = 0;
+ virtual void setAcceleratedCompositingForPluginsEnabled(bool) = 0;
+ virtual void setAcceleratedCompositingForAnimationEnabled(bool) = 0;
virtual void setAccelerated2dCanvasEnabled(bool) = 0;
virtual void setMemoryInfoEnabled(bool) = 0;
virtual void setHyperlinkAuditingEnabled(bool) = 0;
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index c43a0b0..7b67ede 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -61,6 +61,7 @@
#include "ScriptController.h"
#include "SearchPopupMenuChromium.h"
#include "SecurityOrigin.h"
+#include "Settings.h"
#if USE(V8)
#include "V8Proxy.h"
#endif
@@ -807,9 +808,25 @@ void ChromeClientImpl::scheduleCompositingLayerSync()
m_webView->setRootLayerNeedsDisplay();
}
-bool ChromeClientImpl::allowsAcceleratedCompositing() const
+ChromeClient::CompositingTriggerFlags ChromeClientImpl::allowedCompositingTriggers() const
{
- return m_webView->allowsAcceleratedCompositing();
+ if (!m_webView->allowsAcceleratedCompositing())
+ return 0;
+
+ CompositingTriggerFlags flags = 0;
+ Settings* settings = m_webView->page()->settings();
+ if (settings->acceleratedCompositingFor3DTransformsEnabled())
+ flags |= ThreeDTransformTrigger;
+ if (settings->acceleratedCompositingForVideoEnabled())
+ flags |= VideoTrigger;
+ if (settings->acceleratedCompositingForPluginsEnabled())
+ flags |= PluginTrigger;
+ if (settings->acceleratedCompositingForAnimationEnabled())
+ flags |= AnimationTrigger;
+ if (settings->acceleratedCompositingForCanvasEnabled())
+ flags |= CanvasTrigger;
+
+ return flags;
}
#endif
diff --git a/WebKit/chromium/src/ChromeClientImpl.h b/WebKit/chromium/src/ChromeClientImpl.h
index 87c1653..b024bc0 100644
--- a/WebKit/chromium/src/ChromeClientImpl.h
+++ b/WebKit/chromium/src/ChromeClientImpl.h
@@ -152,8 +152,7 @@ public:
// to do an eager layout before the drawing.
virtual void scheduleCompositingLayerSync();
- // Returns true if accelerated compositing is supported.
- virtual bool allowsAcceleratedCompositing() const;
+ virtual CompositingTriggerFlags allowedCompositingTriggers() const;
#endif
virtual bool supportsFullscreenForNode(const WebCore::Node*);
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index 4ac3f6f..e9d1da6 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -679,6 +679,16 @@ void ChromiumBridge::incrementStatsCounter(const char* name)
webKitClient()->incrementStatsCounter(name);
}
+void ChromiumBridge::histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount)
+{
+ webKitClient()->histogramCustomCounts(name, sample, min, max, bucketCount);
+}
+
+void ChromiumBridge::histogramEnumeration(const char* name, int sample, int boundaryValue)
+{
+ webKitClient()->histogramEnumeration(name, sample, boundaryValue);
+}
+
// Sudden Termination ---------------------------------------------------------
void ChromiumBridge::suddenTerminationChanged(bool enabled)
diff --git a/WebKit/chromium/src/WebIDBKey.cpp b/WebKit/chromium/src/WebIDBKey.cpp
index 413a9e6..b7a7db8 100644
--- a/WebKit/chromium/src/WebIDBKey.cpp
+++ b/WebKit/chromium/src/WebIDBKey.cpp
@@ -77,7 +77,7 @@ void WebIDBKey::assign(const WebString& string)
m_private = IDBKey::create(string);
}
-void WebIDBKey::assign(int32_t number)
+void WebIDBKey::assign(double number)
{
m_private = IDBKey::create(number);
}
@@ -104,7 +104,7 @@ WebString WebIDBKey::string() const
return m_private->string();
}
-int32_t WebIDBKey::number() const
+double WebIDBKey::number() const
{
return m_private->number();
}
diff --git a/WebKit/chromium/src/WebSettingsImpl.cpp b/WebKit/chromium/src/WebSettingsImpl.cpp
index 1bea259..e60562c 100644
--- a/WebKit/chromium/src/WebSettingsImpl.cpp
+++ b/WebKit/chromium/src/WebSettingsImpl.cpp
@@ -284,6 +284,31 @@ void WebSettingsImpl::setAcceleratedCompositingEnabled(bool enabled)
m_settings->setAcceleratedCompositingEnabled(enabled);
}
+void WebSettingsImpl::setAcceleratedCompositingFor3DTransformsEnabled(bool enabled)
+{
+ m_settings->setAcceleratedCompositingFor3DTransformsEnabled(enabled);
+}
+
+void WebSettingsImpl::setAcceleratedCompositingForVideoEnabled(bool enabled)
+{
+ m_settings->setAcceleratedCompositingForVideoEnabled(enabled);
+}
+
+void WebSettingsImpl::setAcceleratedCompositingForPluginsEnabled(bool enabled)
+{
+ m_settings->setAcceleratedCompositingForPluginsEnabled(enabled);
+}
+
+void WebSettingsImpl::setAcceleratedCompositingForCanvasEnabled(bool enabled)
+{
+ m_settings->setAcceleratedCompositingForCanvasEnabled(enabled);
+}
+
+void WebSettingsImpl::setAcceleratedCompositingForAnimationEnabled(bool enabled)
+{
+ m_settings->setAcceleratedCompositingForAnimationEnabled(enabled);
+}
+
void WebSettingsImpl::setAccelerated2dCanvasEnabled(bool enabled)
{
m_settings->setAccelerated2dCanvasEnabled(enabled);
diff --git a/WebKit/chromium/src/WebSettingsImpl.h b/WebKit/chromium/src/WebSettingsImpl.h
index 081188f..ffdc8d3 100644
--- a/WebKit/chromium/src/WebSettingsImpl.h
+++ b/WebKit/chromium/src/WebSettingsImpl.h
@@ -88,6 +88,11 @@ public:
virtual void setShowDebugBorders(bool);
virtual void setEditingBehavior(EditingBehavior);
virtual void setAcceleratedCompositingEnabled(bool);
+ virtual void setAcceleratedCompositingFor3DTransformsEnabled(bool);
+ virtual void setAcceleratedCompositingForVideoEnabled(bool);
+ virtual void setAcceleratedCompositingForPluginsEnabled(bool);
+ virtual void setAcceleratedCompositingForCanvasEnabled(bool);
+ virtual void setAcceleratedCompositingForAnimationEnabled(bool);
virtual void setAccelerated2dCanvasEnabled(bool);
virtual void setMemoryInfoEnabled(bool);
virtual void setHyperlinkAuditingEnabled(bool);
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index c6f227e..7bec254 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -35,6 +35,7 @@
#include "AXObjectCache.h"
#include "BackForwardListImpl.h"
#include "Chrome.h"
+#include "ChromiumBridge.h"
#include "ColorSpace.h"
#include "CompositionUnderlineVectorBuilder.h"
#include "ContextMenu.h"
@@ -2272,17 +2273,15 @@ bool WebViewImpl::allowsAcceleratedCompositing()
void WebViewImpl::setRootGraphicsLayer(WebCore::PlatformLayer* layer)
{
- bool wasActive = m_isAcceleratedCompositingActive;
setIsAcceleratedCompositingActive(layer ? true : false);
if (m_layerRenderer)
m_layerRenderer->setRootLayer(layer);
- if (wasActive != m_isAcceleratedCompositingActive) {
- IntRect damagedRect(0, 0, m_size.width, m_size.height);
- if (m_isAcceleratedCompositingActive)
- invalidateRootLayerRect(damagedRect);
- else
- m_client->didInvalidateRect(damagedRect);
- }
+
+ IntRect damagedRect(0, 0, m_size.width, m_size.height);
+ if (m_isAcceleratedCompositingActive)
+ invalidateRootLayerRect(damagedRect);
+ else
+ m_client->didInvalidateRect(damagedRect);
}
void WebViewImpl::setRootLayerNeedsDisplay()
@@ -2376,12 +2375,15 @@ void WebViewImpl::invalidateRootLayerRect(const IntRect& rect)
void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
{
+ ChromiumBridge::histogramEnumeration("GPU.setIsAcceleratedCompositingActive", active * 2 + m_isAcceleratedCompositingActive, 4);
+
if (m_isAcceleratedCompositingActive == active)
return;
if (!active) {
m_isAcceleratedCompositingActive = false;
- m_layerRenderer->finish(); // finish all GL rendering before we hide the window?
+ if (m_layerRenderer)
+ m_layerRenderer->finish(); // finish all GL rendering before we hide the window?
m_client->didActivateAcceleratedCompositing(false);
return;
}
@@ -2518,7 +2520,6 @@ void WebViewImpl::reallocateRenderer()
m_layerRenderer = layerRenderer;
// Enable or disable accelerated compositing and request a refresh.
- m_isAcceleratedCompositingActive = false;
setRootGraphicsLayer(m_layerRenderer ? m_layerRenderer->rootLayer() : 0);
}
#endif