summaryrefslogtreecommitdiff
path: root/chromium/third_party/WebKit
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2014-05-22 18:24:25 +0200
committerAndras Becsi <andras.becsi@digia.com>2014-06-04 16:32:40 +0200
commit4ce69f7403811819800e7c5ae1318b2647e778d1 (patch)
tree2ec3a98b5abef002670a0916354eb7e0abfe2aa2 /chromium/third_party/WebKit
parenta6dd70e0328d155d5df8d6df48afbab690b08fb6 (diff)
downloadqtwebengine-chromium-4ce69f7403811819800e7c5ae1318b2647e778d1.tar.gz
Update Chromium snapshot to stable version 33.0.1750.170
This is meant as a baseline commit hence it does not include the patches we need to apply for QtWebEngine. All patches should be rebased on top of this commit so we can get rid of the external patches directory. In future these baseline commits always have to include the exact Chromium version returned by version_resolver.py's currentVersion() in their first line, so that we can retrieve the patches on top to apply on the upstream repository. This also includes a ninja update. Change-Id: I60abeadb785a3b7d149c58b65ddb5a823fed3083 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'chromium/third_party/WebKit')
-rw-r--r--chromium/third_party/WebKit/Source/bindings/scripts/code_generator_v8.pm2
-rw-r--r--chromium/third_party/WebKit/Source/build/scripts/scripts.gypi6
-rw-r--r--chromium/third_party/WebKit/Source/config.h1
-rw-r--r--chromium/third_party/WebKit/Source/core/core.gyp2
-rw-r--r--chromium/third_party/WebKit/Source/core/css/CSSFontSelector.cpp9
-rw-r--r--chromium/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp10
-rw-r--r--chromium/third_party/WebKit/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm5
-rw-r--r--chromium/third_party/WebKit/Source/web/WebPagePopupImpl.cpp87
-rw-r--r--chromium/third_party/WebKit/Source/web/WebPagePopupImpl.h13
-rw-r--r--chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.cpp69
-rw-r--r--chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.h59
11 files changed, 47 insertions, 216 deletions
diff --git a/chromium/third_party/WebKit/Source/bindings/scripts/code_generator_v8.pm b/chromium/third_party/WebKit/Source/bindings/scripts/code_generator_v8.pm
index 1c2706031c9..e19e9aa9015 100644
--- a/chromium/third_party/WebKit/Source/bindings/scripts/code_generator_v8.pm
+++ b/chromium/third_party/WebKit/Source/bindings/scripts/code_generator_v8.pm
@@ -1980,7 +1980,7 @@ END
die "[PutForwards=x] could not find $destinationAttrName in interface $attrType" unless $destinationAttribute;
$code .= <<END;
${implClassName}* proxyImp = ${v8ClassName}::toNative(info.Holder());
- ${attrType}* imp = proxyImp->${attrName}();
+ RefPtr<${attrType}> imp = proxyImp->${attrName}();
if (!imp)
return;
END
diff --git a/chromium/third_party/WebKit/Source/build/scripts/scripts.gypi b/chromium/third_party/WebKit/Source/build/scripts/scripts.gypi
index c7bdc4f1e1b..2cf0a34fee4 100644
--- a/chromium/third_party/WebKit/Source/build/scripts/scripts.gypi
+++ b/chromium/third_party/WebKit/Source/build/scripts/scripts.gypi
@@ -43,9 +43,9 @@
['OS=="win"', {
# Using native perl rather than cygwin perl cuts execution time
# of idl preprocessing rules by a bit more than 50%.
- 'perl_exe%': '<(DEPTH)/third_party/perl/perl/bin/perl.exe',
- 'gperf_exe%': '<(DEPTH)/third_party/gperf/bin/gperf.exe',
- 'bison_exe%': '<(DEPTH)/third_party/bison/bin/bison.exe',
+ 'perl_exe': '<(DEPTH)/third_party/perl/perl/bin/perl.exe',
+ 'gperf_exe': '<(DEPTH)/third_party/gperf/bin/gperf.exe',
+ 'bison_exe': '<(DEPTH)/third_party/bison/bin/bison.exe',
# Using cl instead of cygwin gcc cuts the processing time from
# 1m58s to 0m52s.
'preprocessor': '--preprocessor "cl.exe -nologo -EP -TP"',
diff --git a/chromium/third_party/WebKit/Source/config.h b/chromium/third_party/WebKit/Source/config.h
index d7501db1e45..e556d5b95dc 100644
--- a/chromium/third_party/WebKit/Source/config.h
+++ b/chromium/third_party/WebKit/Source/config.h
@@ -97,6 +97,7 @@
#if OS(MACOSX)
#define WTF_USE_CF 1
+#define WTF_USE_RUBBER_BANDING 1
/* We can't override the global operator new and delete on OS(MACOSX) because
* some object are allocated by WebKit and deallocated by the embedder. */
diff --git a/chromium/third_party/WebKit/Source/core/core.gyp b/chromium/third_party/WebKit/Source/core/core.gyp
index 8b8a8b589c5..882565dec88 100644
--- a/chromium/third_party/WebKit/Source/core/core.gyp
+++ b/chromium/third_party/WebKit/Source/core/core.gyp
@@ -821,7 +821,6 @@
'webcore_derived',
'../wtf/wtf.gyp:wtf',
'<(DEPTH)/skia/skia.gyp:skia',
- '<(DEPTH)/third_party/khronos/khronos.gyp:khronos_headers',
'<(DEPTH)/third_party/npapi/npapi.gyp:npapi',
'<(DEPTH)/third_party/qcms/qcms.gyp:qcms',
'<(DEPTH)/url/url.gyp:url_lib',
@@ -831,7 +830,6 @@
'../wtf/wtf.gyp:wtf',
'webcore_derived',
'<(DEPTH)/skia/skia.gyp:skia',
- '<(DEPTH)/third_party/khronos/khronos.gyp:khronos_headers',
'<(DEPTH)/third_party/npapi/npapi.gyp:npapi',
'<(DEPTH)/third_party/qcms/qcms.gyp:qcms',
'<(DEPTH)/url/url.gyp:url_lib',
diff --git a/chromium/third_party/WebKit/Source/core/css/CSSFontSelector.cpp b/chromium/third_party/WebKit/Source/core/css/CSSFontSelector.cpp
index 166e2c3e4ba..9b83e9e2182 100644
--- a/chromium/third_party/WebKit/Source/core/css/CSSFontSelector.cpp
+++ b/chromium/third_party/WebKit/Source/core/css/CSSFontSelector.cpp
@@ -167,12 +167,15 @@ static AtomicString familyNameFromSettings(const GenericFontFamilySettings& sett
{
UScriptCode script = fontDescription.script();
+#if OS(ANDROID)
if (fontDescription.genericFamily() == FontDescription::StandardFamily && !fontDescription.isSpecifiedFont())
- return settings.standard(script);
+ return FontCache::getGenericFamilyNameForScript(FontFamilyNames::webkit_standard, script);
-#if OS(ANDROID)
- return FontCache::getGenericFamilyNameForScript(genericFamilyName, script);
+ if (genericFamilyName.startsWith("-webkit-"))
+ return FontCache::getGenericFamilyNameForScript(genericFamilyName, script);
#else
+ if (fontDescription.genericFamily() == FontDescription::StandardFamily && !fontDescription.isSpecifiedFont())
+ return settings.standard(script);
if (genericFamilyName == FontFamilyNames::webkit_serif)
return settings.serif(script);
if (genericFamilyName == FontFamilyNames::webkit_sans_serif)
diff --git a/chromium/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp b/chromium/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
index 31303805178..9eeec75b2c7 100644
--- a/chromium/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
+++ b/chromium/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
@@ -180,11 +180,15 @@ void CSSToStyleMap::mapFillRepeatY(CSSPropertyID, FillLayer* layer, CSSValue* va
void CSSToStyleMap::mapFillSize(CSSPropertyID, FillLayer* layer, CSSValue* value) const
{
- if (!value->isPrimitiveValue()) {
- layer->setSizeType(SizeNone);
+ if (value->isInitialValue()) {
+ layer->setSizeType(FillLayer::initialFillSizeType(layer->type()));
+ layer->setSizeLength(FillLayer::initialFillSizeLength(layer->type()));
return;
}
+ if (!value->isPrimitiveValue())
+ return;
+
CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
if (primitiveValue->getValueID() == CSSValueContain)
layer->setSizeType(Contain);
@@ -195,7 +199,7 @@ void CSSToStyleMap::mapFillSize(CSSPropertyID, FillLayer* layer, CSSValue* value
LengthSize b = FillLayer::initialFillSizeLength(layer->type());
- if (value->isInitialValue() || primitiveValue->getValueID() == CSSValueContain || primitiveValue->getValueID() == CSSValueCover) {
+ if (primitiveValue->getValueID() == CSSValueContain || primitiveValue->getValueID() == CSSValueCover) {
layer->setSizeLength(b);
return;
}
diff --git a/chromium/third_party/WebKit/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm b/chromium/third_party/WebKit/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm
index 42cdbedf9f2..822aa8cb8f0 100644
--- a/chromium/third_party/WebKit/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm
+++ b/chromium/third_party/WebKit/Source/platform/fonts/mac/ComplexTextControllerCoreText.mm
@@ -223,9 +223,14 @@ void ComplexTextController::collectComplexTextRunsForCharacters(const UChar* cp,
static CFDictionaryRef ltrTypesetterOptions = CFDictionaryCreate(kCFAllocatorDefault, optionKeys, ltrOptionValues, WTF_ARRAY_LENGTH(optionKeys), &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
static CFDictionaryRef rtlTypesetterOptions = CFDictionaryCreate(kCFAllocatorDefault, optionKeys, rtlOptionValues, WTF_ARRAY_LENGTH(optionKeys), &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
+ ProviderInfo info = { cp, length, stringAttributes.get() };
+ RetainPtr<CTTypesetterRef> typesetter(AdoptCF, WKCreateCTTypesetterWithUniCharProviderAndOptions(&provideStringAndAttributes, 0, &info, m_run.ltr() ? ltrTypesetterOptions : rtlTypesetterOptions));
+#else
RetainPtr<CFStringRef> string(AdoptCF, CFStringCreateWithCharactersNoCopy(kCFAllocatorDefault, cp, length, kCFAllocatorNull));
RetainPtr<CFAttributedStringRef> attributedString(AdoptCF, CFAttributedStringCreate(kCFAllocatorDefault, string.get(), stringAttributes.get()));
RetainPtr<CTTypesetterRef> typesetter(AdoptCF, CTTypesetterCreateWithAttributedStringAndOptions(attributedString.get(), m_run.ltr() ? ltrTypesetterOptions : rtlTypesetterOptions));
+#endif
line.adoptCF(CTTypesetterCreateLine(typesetter.get(), CFRangeMake(0, 0)));
} else {
diff --git a/chromium/third_party/WebKit/Source/web/WebPagePopupImpl.cpp b/chromium/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
index cadbc144e41..b129dc6e10e 100644
--- a/chromium/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
+++ b/chromium/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
@@ -138,16 +138,6 @@ private:
m_popup->widgetClient()->hasTouchEventHandlers(needsTouchEvents);
}
- virtual GraphicsLayerFactory* graphicsLayerFactory() const OVERRIDE
- {
- return m_popup->m_webView->graphicsLayerFactory();
- }
-
- virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer* graphicsLayer) OVERRIDE
- {
- m_popup->setRootGraphicsLayer(graphicsLayer);
- }
-
WebPagePopupImpl* m_popup;
};
@@ -167,10 +157,6 @@ bool PagePopupFeaturesClient::isEnabled(Document*, ContextFeatures::FeatureType
WebPagePopupImpl::WebPagePopupImpl(WebWidgetClient* client)
: m_widgetClient(client)
, m_closing(false)
- , m_layerTreeView(0)
- , m_rootLayer(0)
- , m_rootGraphicsLayer(0)
- , m_isAcceleratedCompositingActive(false)
{
ASSERT(client);
}
@@ -238,49 +224,6 @@ void WebPagePopupImpl::destroyPage()
m_page.clear();
}
-void WebPagePopupImpl::setRootGraphicsLayer(GraphicsLayer* layer)
-{
- m_rootGraphicsLayer = layer;
- m_rootLayer = layer ? layer->platformLayer() : 0;
-
- setIsAcceleratedCompositingActive(layer);
- if (m_layerTreeView) {
- if (m_rootLayer) {
- m_layerTreeView->setRootLayer(*m_rootLayer);
- } else {
- m_layerTreeView->clearRootLayer();
- }
- }
-}
-
-void WebPagePopupImpl::setIsAcceleratedCompositingActive(bool enter)
-{
- if (m_isAcceleratedCompositingActive == enter)
- return;
-
- if (!enter) {
- m_isAcceleratedCompositingActive = false;
- m_widgetClient->didDeactivateCompositor();
- } else if (m_layerTreeView) {
- m_isAcceleratedCompositingActive = true;
- m_widgetClient->didActivateCompositor(0);
- } else {
- TRACE_EVENT0("webkit", "WebPagePopupImpl::setIsAcceleratedCompositingActive(true)");
-
- m_widgetClient->initializeLayerTreeView();
- m_layerTreeView = m_widgetClient->layerTreeView();
- if (m_layerTreeView) {
- m_layerTreeView->setVisible(true);
- m_widgetClient->didActivateCompositor(0);
- m_isAcceleratedCompositingActive = true;
- m_layerTreeView->setDeviceScaleFactor(m_widgetClient->deviceScaleFactor());
- } else {
- m_isAcceleratedCompositingActive = false;
- m_widgetClient->didDeactivateCompositor();
- }
- }
-}
-
WebSize WebPagePopupImpl::size()
{
return m_popupClient->contentSize();
@@ -291,36 +234,6 @@ void WebPagePopupImpl::animate(double)
PageWidgetDelegate::animate(m_page.get(), monotonicallyIncreasingTime());
}
-void WebPagePopupImpl::enterForceCompositingMode(bool enter)
-{
- if (m_page->settings().forceCompositingMode() == enter)
- return;
-
- TRACE_EVENT1("webkit", "WebPagePopupImpl::enterForceCompositingMode", "enter", enter);
- m_page->settings().setForceCompositingMode(enter);
- if (enter) {
- if (!m_page)
- return;
- Frame* mainFrame = m_page->mainFrame();
- if (!mainFrame)
- return;
- mainFrame->view()->updateCompositingLayersAfterStyleChange();
- }
-}
-
-void WebPagePopupImpl::didExitCompositingMode()
-{
- setIsAcceleratedCompositingActive(false);
- m_widgetClient->didInvalidateRect(IntRect(0, 0, size().width, size().height));
- m_page->mainFrame()->document()->setNeedsStyleRecalc(SubtreeStyleChange);
-}
-
-void WebPagePopupImpl::willCloseLayerTreeView()
-{
- setIsAcceleratedCompositingActive(false);
- m_layerTreeView = 0;
-}
-
void WebPagePopupImpl::layout()
{
PageWidgetDelegate::layout(m_page.get());
diff --git a/chromium/third_party/WebKit/Source/web/WebPagePopupImpl.h b/chromium/third_party/WebKit/Source/web/WebPagePopupImpl.h
index 050f3aeb373..660c47f75ff 100644
--- a/chromium/third_party/WebKit/Source/web/WebPagePopupImpl.h
+++ b/chromium/third_party/WebKit/Source/web/WebPagePopupImpl.h
@@ -38,7 +38,6 @@
#include "wtf/RefCounted.h"
namespace WebCore {
-class GraphicsLayer;
class Page;
class PagePopupClient;
class PlatformKeyboardEvent;
@@ -47,8 +46,6 @@ class PlatformKeyboardEvent;
namespace blink {
class PagePopupChromeClient;
-class WebLayerTreeView;
-class WebLayer;
class WebViewImpl;
class WebPagePopupImpl : public WebPagePopup,
@@ -71,9 +68,6 @@ private:
virtual WebSize size() OVERRIDE;
virtual void animate(double) OVERRIDE;
virtual void layout() OVERRIDE;
- virtual void enterForceCompositingMode(bool enter) OVERRIDE;
- virtual void didExitCompositingMode() OVERRIDE;
- virtual void willCloseLayerTreeView() OVERRIDE;
virtual void paint(WebCanvas*, const WebRect&, PaintOptions = ReadbackFromCompositorIfAvailable) OVERRIDE;
virtual void resize(const WebSize&) OVERRIDE;
virtual void close() OVERRIDE;
@@ -89,8 +83,6 @@ private:
explicit WebPagePopupImpl(WebWidgetClient*);
bool initializePage();
void destroyPage();
- void setRootGraphicsLayer(WebCore::GraphicsLayer*);
- void setIsAcceleratedCompositingActive(bool enter);
WebWidgetClient* m_widgetClient;
WebRect m_windowRectInScreen;
@@ -100,11 +92,6 @@ private:
WebCore::PagePopupClient* m_popupClient;
bool m_closing;
- WebLayerTreeView* m_layerTreeView;
- WebLayer* m_rootLayer;
- WebCore::GraphicsLayer* m_rootGraphicsLayer;
- bool m_isAcceleratedCompositingActive;
-
friend class WebPagePopup;
friend class PagePopupChromeClient;
};
diff --git a/chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.cpp b/chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.cpp
index e8adfd7c0df..05c1d05281a 100644
--- a/chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.cpp
+++ b/chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.cpp
@@ -49,10 +49,6 @@
#include "platform/graphics/GraphicsContext.h"
#include "platform/graphics/skia/SkiaUtils.h"
#include "platform/scroll/FramelessScrollView.h"
-#include "public/platform/Platform.h"
-#include "public/platform/WebCompositorSupport.h"
-#include "public/platform/WebContentLayer.h"
-#include "public/platform/WebLayerTreeView.h"
#include "public/platform/WebRect.h"
#include <skia/ext/platform_canvas.h>
@@ -72,10 +68,6 @@ WebPopupMenu* WebPopupMenu::create(WebWidgetClient* client)
WebPopupMenuImpl::WebPopupMenuImpl(WebWidgetClient* client)
: m_client(client)
- , m_layerTreeView(0)
- , m_isAcceleratedCompositingActive(false)
- // Set to impossible point so we always get the first mouse position.
- , m_lastMousePosition(WebPoint(-1, -1))
, m_widget(0)
{
// Set to impossible point so we always get the first mouse position.
@@ -88,12 +80,6 @@ WebPopupMenuImpl::~WebPopupMenuImpl()
m_widget->setClient(0);
}
-void WebPopupMenuImpl::willCloseLayerTreeView()
-{
- enterForceCompositingMode(false);
- m_layerTreeView = 0;
-}
-
void WebPopupMenuImpl::initialize(FramelessScrollView* widget, const WebRect& bounds)
{
m_widget = widget;
@@ -188,9 +174,6 @@ void WebPopupMenuImpl::resize(const WebSize& newSize)
WebRect damagedRect(0, 0, m_size.width, m_size.height);
m_client->didInvalidateRect(damagedRect);
}
-
- if (m_rootLayer)
- m_rootLayer->layer()->setBounds(newSize);
}
void WebPopupMenuImpl::willEndLiveResize()
@@ -205,54 +188,6 @@ void WebPopupMenuImpl::layout()
{
}
-void WebPopupMenuImpl::enterForceCompositingMode(bool enter)
-{
- if (m_isAcceleratedCompositingActive == enter)
- return;
-
- if (!enter) {
- m_isAcceleratedCompositingActive = false;
- m_client->didDeactivateCompositor();
- } else if (m_layerTreeView) {
- m_isAcceleratedCompositingActive = true;
- m_client->didActivateCompositor(0);
- } else {
- TRACE_EVENT0("webkit", "WebPopupMenuImpl::enterForceCompositingMode(true)");
-
- m_client->initializeLayerTreeView();
- m_layerTreeView = m_client->layerTreeView();
- if (m_layerTreeView) {
- m_layerTreeView->setVisible(true);
- m_client->didActivateCompositor(0);
- m_isAcceleratedCompositingActive = true;
- m_layerTreeView->setDeviceScaleFactor(m_client->deviceScaleFactor());
- m_rootLayer = adoptPtr(Platform::current()->compositorSupport()->createContentLayer(this));
- m_rootLayer->layer()->setBounds(m_size);
- m_layerTreeView->setRootLayer(*m_rootLayer->layer());
- } else {
- m_isAcceleratedCompositingActive = false;
- m_client->didDeactivateCompositor();
- }
- }
-}
-
-void WebPopupMenuImpl::didExitCompositingMode()
-{
- enterForceCompositingMode(false);
- m_client->didInvalidateRect(IntRect(0, 0, m_size.width, m_size.height));
-}
-
-void WebPopupMenuImpl::paintContents(WebCanvas* canvas, const WebRect& rect, bool, WebFloatRect&)
-{
- if (!m_widget)
- return;
-
- if (!rect.isEmpty()) {
- GraphicsContext context(canvas);
- m_widget->paint(&context, rect);
- }
-}
-
void WebPopupMenuImpl::paint(WebCanvas* canvas, const WebRect& rect, PaintOptions)
{
if (!m_widget)
@@ -408,8 +343,6 @@ void WebPopupMenuImpl::invalidateContentsAndRootView(const IntRect& paintRect)
return;
if (m_client)
m_client->didInvalidateRect(paintRect);
- if (m_rootLayer)
- m_rootLayer->layer()->invalidateRect(FloatRect(paintRect));
}
void WebPopupMenuImpl::invalidateContentsForSlowScroll(const IntRect& updateRect)
@@ -428,8 +361,6 @@ void WebPopupMenuImpl::scroll(const IntSize& scrollDelta, const IntRect& scrollR
int dy = scrollDelta.height();
m_client->didScrollRect(dx, dy, clipRect);
}
- if (m_rootLayer)
- m_rootLayer->layer()->invalidateRect(FloatRect(clipRect));
}
IntPoint WebPopupMenuImpl::screenToRootView(const IntPoint& point) const
diff --git a/chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.h b/chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.h
index 0384675c75e..e5777bea8ce 100644
--- a/chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.h
+++ b/chromium/third_party/WebKit/Source/web/WebPopupMenuImpl.h
@@ -33,7 +33,6 @@
#include "WebPopupMenu.h"
#include "platform/scroll/FramelessScrollViewClient.h"
-#include "public/platform/WebContentLayerClient.h"
#include "public/platform/WebPoint.h"
#include "public/platform/WebSize.h"
#include "wtf/OwnPtr.h"
@@ -50,50 +49,44 @@ class Widget;
}
namespace blink {
-class WebContentLayer;
class WebGestureEvent;
class WebKeyboardEvent;
-class WebLayerTreeView;
class WebMouseEvent;
class WebMouseWheelEvent;
class WebRange;
struct WebRect;
class WebTouchEvent;
-class WebPopupMenuImpl : public WebPopupMenu, public WebCore::FramelessScrollViewClient, public WebContentLayerClient, public RefCounted<WebPopupMenuImpl> {
+class WebPopupMenuImpl : public WebPopupMenu,
+ public WebCore::FramelessScrollViewClient,
+ public RefCounted<WebPopupMenuImpl> {
WTF_MAKE_FAST_ALLOCATED;
public:
// WebWidget functions:
- virtual void close() OVERRIDE FINAL;
- virtual WebSize size() OVERRIDE FINAL { return m_size; }
- virtual void willStartLiveResize() OVERRIDE FINAL;
- virtual void resize(const WebSize&) OVERRIDE FINAL;
- virtual void willEndLiveResize() OVERRIDE FINAL;
- virtual void animate(double frameBeginTime) OVERRIDE FINAL;
- virtual void layout() OVERRIDE FINAL;
- virtual void enterForceCompositingMode(bool enable) OVERRIDE FINAL;
- virtual void didExitCompositingMode() OVERRIDE FINAL;
- virtual void paint(WebCanvas*, const WebRect&, PaintOptions = ReadbackFromCompositorIfAvailable) OVERRIDE FINAL;
- virtual void themeChanged() OVERRIDE FINAL;
- virtual bool handleInputEvent(const WebInputEvent&) OVERRIDE FINAL;
- virtual void mouseCaptureLost() OVERRIDE FINAL;
- virtual void setFocus(bool enable) OVERRIDE FINAL;
+ virtual void close() OVERRIDE;
+ virtual WebSize size() OVERRIDE { return m_size; }
+ virtual void willStartLiveResize() OVERRIDE;
+ virtual void resize(const WebSize&) OVERRIDE;
+ virtual void willEndLiveResize() OVERRIDE;
+ virtual void animate(double frameBeginTime) OVERRIDE;
+ virtual void layout() OVERRIDE;
+ virtual void paint(WebCanvas*, const WebRect&, PaintOptions = ReadbackFromCompositorIfAvailable) OVERRIDE;
+ virtual void themeChanged() OVERRIDE;
+ virtual bool handleInputEvent(const WebInputEvent&) OVERRIDE;
+ virtual void mouseCaptureLost() OVERRIDE;
+ virtual void setFocus(bool enable) OVERRIDE;
virtual bool setComposition(
const WebString& text,
const WebVector<WebCompositionUnderline>& underlines,
- int selectionStart, int selectionEnd) OVERRIDE FINAL;
- virtual bool confirmComposition() OVERRIDE FINAL;
- virtual bool confirmComposition(ConfirmCompositionBehavior selectionBehavior) OVERRIDE FINAL;
- virtual bool confirmComposition(const WebString& text) OVERRIDE FINAL;
- virtual bool compositionRange(size_t* location, size_t* length) OVERRIDE FINAL;
- virtual bool caretOrSelectionRange(size_t* location, size_t* length) OVERRIDE FINAL;
- virtual void setTextDirection(WebTextDirection) OVERRIDE FINAL;
- virtual bool isAcceleratedCompositingActive() const OVERRIDE FINAL { return false; }
- virtual bool isPopupMenu() const OVERRIDE FINAL { return true; }
- virtual void willCloseLayerTreeView() OVERRIDE FINAL;
-
- // WebContentLayerClient
- virtual void paintContents(WebCanvas*, const WebRect& clip, bool canPaintLCDTest, WebFloatRect& opaque) OVERRIDE FINAL;
+ int selectionStart, int selectionEnd) OVERRIDE;
+ virtual bool confirmComposition() OVERRIDE;
+ virtual bool confirmComposition(ConfirmCompositionBehavior selectionBehavior) OVERRIDE;
+ virtual bool confirmComposition(const WebString& text) OVERRIDE;
+ virtual bool compositionRange(size_t* location, size_t* length) OVERRIDE;
+ virtual bool caretOrSelectionRange(size_t* location, size_t* length) OVERRIDE;
+ virtual void setTextDirection(WebTextDirection) OVERRIDE;
+ virtual bool isAcceleratedCompositingActive() const OVERRIDE { return false; }
+ virtual bool isPopupMenu() const OVERRIDE { return true; }
// WebPopupMenuImpl
void initialize(WebCore::FramelessScrollView* widget, const WebRect& bounds);
@@ -134,10 +127,6 @@ public:
WebWidgetClient* m_client;
WebSize m_size;
- WebLayerTreeView* m_layerTreeView;
- OwnPtr<WebContentLayer> m_rootLayer;
- bool m_isAcceleratedCompositingActive;
-
WebPoint m_lastMousePosition;
// This is a non-owning ref. The popup will notify us via popupClosed()