summaryrefslogtreecommitdiffstats
path: root/WebCore/page
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page')
-rw-r--r--WebCore/page/ChromeClient.h6
-rw-r--r--WebCore/page/ContextMenuController.cpp22
-rw-r--r--WebCore/page/DOMWindow.cpp29
-rw-r--r--WebCore/page/DOMWindow.h4
-rw-r--r--WebCore/page/DOMWindow.idl1
-rw-r--r--WebCore/page/EventHandler.cpp6
-rwxr-xr-xWebCore/page/Frame.cpp6
-rw-r--r--WebCore/page/FrameView.cpp2
-rw-r--r--WebCore/page/Location.cpp9
-rw-r--r--WebCore/page/Location.h1
-rw-r--r--WebCore/page/Location.idl2
-rw-r--r--WebCore/page/PageGroup.cpp8
-rw-r--r--WebCore/page/PageGroup.h4
-rw-r--r--WebCore/page/SecurityOrigin.h1
-rw-r--r--WebCore/page/Settings.cpp9
-rw-r--r--WebCore/page/Settings.h15
-rw-r--r--WebCore/page/UserStyleSheet.h11
-rw-r--r--WebCore/page/UserStyleSheetTypes.h3
-rw-r--r--WebCore/page/animation/ImplicitAnimation.cpp19
-rw-r--r--WebCore/page/animation/ImplicitAnimation.h2
-rw-r--r--WebCore/page/chromium/ChromeClientChromium.h11
-rw-r--r--WebCore/page/chromium/EventHandlerChromium.cpp4
-rw-r--r--WebCore/page/efl/EventHandlerEfl.cpp2
-rw-r--r--WebCore/page/gtk/EventHandlerGtk.cpp2
-rw-r--r--WebCore/page/haiku/EventHandlerHaiku.cpp2
-rw-r--r--WebCore/page/mac/EventHandlerMac.mm2
-rw-r--r--WebCore/page/qt/EventHandlerQt.cpp2
-rw-r--r--WebCore/page/win/EventHandlerWin.cpp2
-rw-r--r--WebCore/page/wince/FrameWinCE.cpp4
-rw-r--r--WebCore/page/wx/EventHandlerWx.cpp2
30 files changed, 121 insertions, 72 deletions
diff --git a/WebCore/page/ChromeClient.h b/WebCore/page/ChromeClient.h
index f0aff33..c6555b9 100644
--- a/WebCore/page/ChromeClient.h
+++ b/WebCore/page/ChromeClient.h
@@ -21,6 +21,7 @@
#ifndef ChromeClient_h
#define ChromeClient_h
+#include "AXObjectCache.h"
#include "Console.h"
#include "Cursor.h"
#include "FocusDirection.h"
@@ -46,6 +47,7 @@ class NSResponder;
namespace WebCore {
+ class AccessibilityObject;
class Element;
class FileChooser;
class FloatRect;
@@ -268,9 +270,13 @@ namespace WebCore {
virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const = 0;
virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const = 0;
+<<<<<<< HEAD
#if ENABLE(ANDROID_INSTALLABLE_WEB_APPS)
virtual void webAppCanBeInstalled() = 0;
#endif
+=======
+ virtual void postAccessibilityNotification(AccessibilityObject*, AXObjectCache::AXNotification) { }
+>>>>>>> webkit.org at r68651
protected:
virtual ~ChromeClient() { }
diff --git a/WebCore/page/ContextMenuController.cpp b/WebCore/page/ContextMenuController.cpp
index d2317d2..de64988 100644
--- a/WebCore/page/ContextMenuController.cpp
+++ b/WebCore/page/ContextMenuController.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Igalia S.L
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -186,6 +187,27 @@ void ContextMenuController::contextMenuItemSelected(ContextMenuItem* item)
// For now, call into the client. This is temporary!
frame->editor()->copyImage(result);
break;
+ case ContextMenuItemTagOpenMediaInNewWindow:
+ openNewWindow(result.absoluteMediaURL(), frame);
+ break;
+ case ContextMenuItemTagCopyMediaLinkToClipboard:
+ frame->editor()->copyURL(result.absoluteMediaURL(), result.textContent());
+ break;
+ case ContextMenuItemTagToggleMediaControls:
+ result.toggleMediaControlsDisplay();
+ break;
+ case ContextMenuItemTagToggleMediaLoop:
+ result.toggleMediaLoopPlayback();
+ break;
+ case ContextMenuItemTagEnterVideoFullscreen:
+ result.enterFullscreenForVideo();
+ break;
+ case ContextMenuItemTagMediaPlayPause:
+ result.toggleMediaPlayState();
+ break;
+ case ContextMenuItemTagMediaMute:
+ result.toggleMediaMuteState();
+ break;
case ContextMenuItemTagOpenFrameInNewWindow: {
DocumentLoader* loader = frame->loader()->documentLoader();
if (!loader->unreachableURL().isEmpty())
diff --git a/WebCore/page/DOMWindow.cpp b/WebCore/page/DOMWindow.cpp
index afd6bc7..200b82a 100644
--- a/WebCore/page/DOMWindow.cpp
+++ b/WebCore/page/DOMWindow.cpp
@@ -40,6 +40,7 @@
#include "DOMSelection.h"
#include "DOMStringList.h"
#include "DOMTimer.h"
+#include "DOMTokenList.h"
#include "Database.h"
#include "DatabaseCallback.h"
#include "DeviceMotionController.h"
@@ -93,6 +94,7 @@
#include "ErrorCallback.h"
#include "FileError.h"
#include "FileSystemCallback.h"
+#include "FileSystemCallbacks.h"
#include "LocalFileSystem.h"
#endif
@@ -727,25 +729,22 @@ void DOMWindow::requestFileSystem(int type, long long size, PassRefPtr<FileSyste
if (!document)
return;
- if (!m_localFileSystem) {
- // FIXME: See if access is allowed.
-
- Page* page = document->page();
- if (!page) {
- DOMFileSystem::scheduleCallback(document, errorCallback, FileError::create(INVALID_STATE_ERR));
- return;
- }
+ if (!AsyncFileSystem::isAvailable() || !document->securityOrigin()->canAccessFileSystem()) {
+ DOMFileSystem::scheduleCallback(document, errorCallback, FileError::create(SECURITY_ERR));
+ return;
+ }
- // FIXME: Get the quota settings as well.
- String path = page->settings()->fileSystemRootPath();
- m_localFileSystem = LocalFileSystem::create(path);
+ AsyncFileSystem::Type fileSystemType = static_cast<AsyncFileSystem::Type>(type);
+ if (fileSystemType != AsyncFileSystem::Temporary && fileSystemType != AsyncFileSystem::Persistent) {
+ DOMFileSystem::scheduleCallback(document, errorCallback, FileError::create(INVALID_MODIFICATION_ERR));
+ return;
}
- m_localFileSystem->requestFileSystem(document, static_cast<AsyncFileSystem::Type>(type), size, successCallback, errorCallback);
+ LocalFileSystem::localFileSystem().requestFileSystem(document, fileSystemType, size, FileSystemCallbacks::create(successCallback, errorCallback, document));
}
-COMPILE_ASSERT(int(DOMWindow::TEMPORARY) == int(AsyncFileSystem::Temporary), enum_mismatch);
-COMPILE_ASSERT(int(DOMWindow::PERSISTENT) == int(AsyncFileSystem::Persistent), enum_mismatch);
+COMPILE_ASSERT(static_cast<int>(DOMWindow::TEMPORARY) == static_cast<int>(AsyncFileSystem::Temporary), enum_mismatch);
+COMPILE_ASSERT(static_cast<int>(DOMWindow::PERSISTENT) == static_cast<int>(AsyncFileSystem::Persistent), enum_mismatch);
#endif
@@ -1624,7 +1623,7 @@ String DOMWindow::createBlobURL(Blob* blob)
void DOMWindow::revokeBlobURL(const String& blobURLString)
{
- scriptExecutionContext()->revokePublicBlobURL(KURL(ParsedURLString, blobURLString));
+ scriptExecutionContext()->revokePublicBlobURL(KURL(KURL(), blobURLString));
}
#endif
diff --git a/WebCore/page/DOMWindow.h b/WebCore/page/DOMWindow.h
index 1470628..6fd3775 100644
--- a/WebCore/page/DOMWindow.h
+++ b/WebCore/page/DOMWindow.h
@@ -58,7 +58,6 @@ namespace WebCore {
class History;
class IDBFactory;
class InspectorTimelineAgent;
- class LocalFileSystem;
class Location;
class StyleMedia;
class Navigator;
@@ -444,9 +443,6 @@ namespace WebCore {
#if ENABLE(INDEXED_DATABASE)
mutable RefPtr<IDBFactory> m_idbFactory;
#endif
-#if ENABLE(FILE_SYSTEM)
- RefPtr<LocalFileSystem> m_localFileSystem;
-#endif
EventTargetData m_eventTargetData;
diff --git a/WebCore/page/DOMWindow.idl b/WebCore/page/DOMWindow.idl
index 7ae948c..f7f9a85 100644
--- a/WebCore/page/DOMWindow.idl
+++ b/WebCore/page/DOMWindow.idl
@@ -380,6 +380,7 @@ module window {
// attribute DOMImplementationListConstructor DOMImplementationList;
// attribute DOMImplementationSourceConstructor DOMImplementationSource;
attribute DOMImplementationConstructor DOMImplementation;
+ attribute DOMTokenListConstructor DOMTokenList;
attribute DocumentFragmentConstructor DocumentFragment;
attribute DocumentConstructor Document;
attribute NodeConstructor Node;
diff --git a/WebCore/page/EventHandler.cpp b/WebCore/page/EventHandler.cpp
index b660918..b0c3911 100644
--- a/WebCore/page/EventHandler.cpp
+++ b/WebCore/page/EventHandler.cpp
@@ -873,7 +873,7 @@ void EventHandler::allowDHTMLDrag(bool& flagDHTML, bool& flagUA) const
HitTestResult EventHandler::hitTestResultAtPoint(const IntPoint& point, bool allowShadowContent, bool ignoreClipping, HitTestScrollbars testScrollbars, HitTestRequest::HitTestRequestType hitType, const IntSize& padding)
{
- HitTestResult result(point, padding);
+ HitTestResult result(point, padding.height(), padding.width(), padding.height(), padding.width());
if (!m_frame->contentRenderer())
return result;
if (ignoreClipping)
@@ -894,7 +894,7 @@ HitTestResult EventHandler::hitTestResultAtPoint(const IntPoint& point, bool all
FrameView* view = static_cast<FrameView*>(widget);
IntPoint widgetPoint(result.localPoint().x() + view->scrollX() - renderWidget->borderLeft() - renderWidget->paddingLeft(),
result.localPoint().y() + view->scrollY() - renderWidget->borderTop() - renderWidget->paddingTop());
- HitTestResult widgetHitTestResult(widgetPoint, padding);
+ HitTestResult widgetHitTestResult(widgetPoint, padding.height(), padding.width(), padding.height(), padding.width());
frame->contentRenderer()->layer()->hitTest(HitTestRequest(hitType), widgetHitTestResult);
result = widgetHitTestResult;
@@ -1915,7 +1915,7 @@ bool EventHandler::dispatchMouseEvent(const AtomicString& eventType, Node* targe
return swallowEvent;
}
-#if !PLATFORM(GTK) && !(PLATFORM(CHROMIUM) && OS(LINUX))
+#if !PLATFORM(GTK) && !(PLATFORM(CHROMIUM) && (OS(LINUX) || OS(FREEBSD)))
bool EventHandler::shouldTurnVerticalTicksIntoHorizontal(const HitTestResult&) const
{
return false;
diff --git a/WebCore/page/Frame.cpp b/WebCore/page/Frame.cpp
index 558f339..9817e87 100755
--- a/WebCore/page/Frame.cpp
+++ b/WebCore/page/Frame.cpp
@@ -503,8 +503,9 @@ void Frame::setPrinting(bool printing, const FloatSize& pageSize, float maximumS
m_doc->styleSelectorChanged(RecalcStyleImmediately);
view()->forceLayoutForPagination(pageSize, maximumShrinkRatio, shouldAdjustViewSize);
+ // Subframes of the one we're printing don't lay out to the page size.
for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
- child->setPrinting(printing, pageSize, maximumShrinkRatio, shouldAdjustViewSize);
+ child->setPrinting(printing, IntSize(), 0, shouldAdjustViewSize);
}
void Frame::injectUserScripts(UserScriptInjectionTime injectionTime)
@@ -720,6 +721,7 @@ void Frame::transferChildFrameToNewDocument()
// Switch page.
Page* newPage = newParent ? newParent->page() : 0;
+ Page* oldPage = m_page;
if (m_page != newPage) {
if (page()->focusController()->focusedFrame() == this)
page()->focusController()->setFocusedFrame(0);
@@ -751,7 +753,7 @@ void Frame::transferChildFrameToNewDocument()
// up on the same page and under the same parent frame.
if (didTransfer) {
// Let external clients update themselves.
- loader()->client()->didTransferChildFrameToNewDocument();
+ loader()->client()->didTransferChildFrameToNewDocument(oldPage);
// Do the same for all the children.
for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp
index e881c94..9a4daa7 100644
--- a/WebCore/page/FrameView.cpp
+++ b/WebCore/page/FrameView.cpp
@@ -815,7 +815,7 @@ void FrameView::layout(bool allowSubtree)
m_layoutCount++;
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
if (AXObjectCache::accessibilityEnabled())
root->document()->axObjectCache()->postNotification(root, AXObjectCache::AXLayoutComplete, true);
#endif
diff --git a/WebCore/page/Location.cpp b/WebCore/page/Location.cpp
index 5754357..c02304c 100644
--- a/WebCore/page/Location.cpp
+++ b/WebCore/page/Location.cpp
@@ -120,6 +120,15 @@ String Location::search() const
return url.query().isEmpty() ? "" : "?" + url.query();
}
+String Location::origin() const
+{
+ if (!m_frame)
+ return String();
+
+ RefPtr<SecurityOrigin> origin = SecurityOrigin::create(url());
+ return origin->toString();
+}
+
String Location::hash() const
{
if (!m_frame)
diff --git a/WebCore/page/Location.h b/WebCore/page/Location.h
index 808eff9..a4bc407 100644
--- a/WebCore/page/Location.h
+++ b/WebCore/page/Location.h
@@ -55,6 +55,7 @@ namespace WebCore {
String pathname() const;
String search() const;
String hash() const;
+ String origin() const;
String toString() const;
diff --git a/WebCore/page/Location.idl b/WebCore/page/Location.idl
index aad90ab..1668e05 100644
--- a/WebCore/page/Location.idl
+++ b/WebCore/page/Location.idl
@@ -58,6 +58,8 @@ module window {
attribute [CustomSetter] DOMString pathname;
attribute [CustomSetter] DOMString search;
attribute [CustomSetter] DOMString hash;
+
+ readonly attribute DOMString origin;
#endif
#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
diff --git a/WebCore/page/PageGroup.cpp b/WebCore/page/PageGroup.cpp
index 4c9403b..8b902c0 100644
--- a/WebCore/page/PageGroup.cpp
+++ b/WebCore/page/PageGroup.cpp
@@ -240,7 +240,8 @@ void PageGroup::addUserScriptToWorld(DOMWrapperWorld* world, const String& sourc
void PageGroup::addUserStyleSheetToWorld(DOMWrapperWorld* world, const String& source, const KURL& url,
PassOwnPtr<Vector<String> > whitelist, PassOwnPtr<Vector<String> > blacklist,
UserContentInjectedFrames injectedFrames,
- UserStyleSheet::Level level)
+ UserStyleLevel level,
+ UserStyleInjectionTime injectionTime)
{
ASSERT_ARG(world, world);
@@ -252,7 +253,8 @@ void PageGroup::addUserStyleSheetToWorld(DOMWrapperWorld* world, const String& s
styleSheetsInWorld = new UserStyleSheetVector;
styleSheetsInWorld->append(userStyleSheet.release());
- resetUserStyleCacheInAllFrames();
+ if (injectionTime == InjectInExistingDocuments)
+ resetUserStyleCacheInAllFrames();
}
void PageGroup::removeUserScriptFromWorld(DOMWrapperWorld* world, const KURL& url)
@@ -358,14 +360,12 @@ void PageGroup::removeAllUserContent()
void PageGroup::resetUserStyleCacheInAllFrames()
{
-#if !PLATFORM(CHROMIUM)
// Clear our cached sheets and have them just reparse.
HashSet<Page*>::const_iterator end = m_pages.end();
for (HashSet<Page*>::const_iterator it = m_pages.begin(); it != end; ++it) {
for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext())
frame->document()->updatePageGroupUserSheets();
}
-#endif
}
} // namespace WebCore
diff --git a/WebCore/page/PageGroup.h b/WebCore/page/PageGroup.h
index fcad773..cc47fba 100644
--- a/WebCore/page/PageGroup.h
+++ b/WebCore/page/PageGroup.h
@@ -83,8 +83,8 @@ namespace WebCore {
void addUserStyleSheetToWorld(DOMWrapperWorld*, const String& source, const KURL&,
PassOwnPtr<Vector<String> > whitelist, PassOwnPtr<Vector<String> > blacklist,
UserContentInjectedFrames,
- UserStyleSheet::Level level = UserStyleSheet::UserLevel);
-
+ UserStyleLevel level = UserStyleUserLevel,
+ UserStyleInjectionTime injectionTime = InjectInExistingDocuments);
void removeUserScriptFromWorld(DOMWrapperWorld*, const KURL&);
void removeUserStyleSheetFromWorld(DOMWrapperWorld*, const KURL&);
diff --git a/WebCore/page/SecurityOrigin.h b/WebCore/page/SecurityOrigin.h
index 4789d3c..2a63966 100644
--- a/WebCore/page/SecurityOrigin.h
+++ b/WebCore/page/SecurityOrigin.h
@@ -121,6 +121,7 @@ public:
bool canAccessLocalStorage() const { return !isUnique(); }
bool canAccessCookies() const { return !isUnique(); }
bool canAccessPasswordManager() const { return !isUnique(); }
+ bool canAccessFileSystem() const { return !isUnique(); }
// Technically, we should always allow access to sessionStorage, but we
// currently don't handle creating a sessionStorage area for unique
diff --git a/WebCore/page/Settings.cpp b/WebCore/page/Settings.cpp
index faa7140..2e67bf1 100644
--- a/WebCore/page/Settings.cpp
+++ b/WebCore/page/Settings.cpp
@@ -159,12 +159,16 @@ Settings::Settings(Page* page)
, m_memoryInfoEnabled(false)
, m_interactiveFormValidation(false)
, m_usePreHTML5ParserQuirks(false)
+<<<<<<< HEAD
#if ENABLE(WEB_AUTOFILL)
, m_autoFillEnabled(false)
#endif
#ifdef ANDROID_PLUGINS
, m_pluginsOnDemand(false)
#endif
+=======
+ , m_hyperlinkAuditingEnabled(false)
+>>>>>>> webkit.org at r68651
{
// A Frame may not have been created yet, so we initialize the AtomicString
// hash before trying to use it.
@@ -699,11 +703,6 @@ void Settings::setLocalStorageDatabasePath(const String& path)
m_localStorageDatabasePath = path;
}
-void Settings::setFileSystemRootPath(const String& path)
-{
- m_fileSystemRootPath = path;
-}
-
void Settings::setApplicationChromeMode(bool mode)
{
m_inApplicationChromeMode = mode;
diff --git a/WebCore/page/Settings.h b/WebCore/page/Settings.h
index b0a964d..7a65eaa 100644
--- a/WebCore/page/Settings.h
+++ b/WebCore/page/Settings.h
@@ -228,7 +228,7 @@ namespace WebCore {
void setDOMPasteAllowed(bool);
bool isDOMPasteAllowed() const { return m_isDOMPasteAllowed; }
- void setMinDOMTimerInterval(double); // Interval specified in seconds.
+ static void setMinDOMTimerInterval(double); // Interval specified in seconds.
void setUsesPageCache(bool);
bool usesPageCache() const { return m_usesPageCache; }
@@ -309,9 +309,6 @@ namespace WebCore {
void setLocalStorageDatabasePath(const String&);
const String& localStorageDatabasePath() const { return m_localStorageDatabasePath; }
- void setFileSystemRootPath(const String&);
- const String& fileSystemRootPath() const { return m_fileSystemRootPath; }
-
void setApplicationChromeMode(bool);
bool inApplicationChromeMode() const { return m_inApplicationChromeMode; }
@@ -398,10 +395,15 @@ namespace WebCore {
void setUsePreHTML5ParserQuirks(bool flag) { m_usePreHTML5ParserQuirks = flag; }
bool usePreHTML5ParserQuirks() const { return m_usePreHTML5ParserQuirks; }
+<<<<<<< HEAD
#if ENABLE(WEB_AUTOFILL)
void setAutoFillEnabled(bool flag) { m_autoFillEnabled = flag; }
bool autoFillEnabled() { return m_autoFillEnabled; }
#endif
+=======
+ void setHyperlinkAuditingEnabled(bool flag) { m_hyperlinkAuditingEnabled = flag; }
+ bool hyperlinkAuditingEnabled() const { return m_hyperlinkAuditingEnabled; }
+>>>>>>> webkit.org at r68651
private:
Page* m_page;
@@ -409,7 +411,6 @@ namespace WebCore {
String m_defaultTextEncodingName;
String m_ftpDirectoryTemplatePath;
String m_localStorageDatabasePath;
- String m_fileSystemRootPath;
KURL m_userStyleSheetLocation;
AtomicString m_standardFontFamily;
AtomicString m_fixedFontFamily;
@@ -528,12 +529,16 @@ namespace WebCore {
bool m_memoryInfoEnabled: 1;
bool m_interactiveFormValidation: 1;
bool m_usePreHTML5ParserQuirks: 1;
+<<<<<<< HEAD
#ifdef ANDROID_PLUGINS
bool m_pluginsOnDemand : 1;
#endif
#if ENABLE(WEB_AUTOFILL)
bool m_autoFillEnabled: 1;
#endif
+=======
+ bool m_hyperlinkAuditingEnabled : 1;
+>>>>>>> webkit.org at r68651
#if USE(SAFARI_THEME)
static bool gShouldPaintNativeControls;
diff --git a/WebCore/page/UserStyleSheet.h b/WebCore/page/UserStyleSheet.h
index 1acd296..fa42e2c 100644
--- a/WebCore/page/UserStyleSheet.h
+++ b/WebCore/page/UserStyleSheet.h
@@ -37,14 +37,9 @@ namespace WebCore {
class UserStyleSheet : public Noncopyable {
public:
- enum Level {
- UserLevel,
- AuthorLevel
- };
-
UserStyleSheet(const String& source, const KURL& url,
PassOwnPtr<Vector<String> > whitelist, PassOwnPtr<Vector<String> > blacklist,
- UserContentInjectedFrames injectedFrames, Level level)
+ UserContentInjectedFrames injectedFrames, UserStyleLevel level)
: m_source(source)
, m_url(url)
, m_whitelist(whitelist)
@@ -59,7 +54,7 @@ public:
const Vector<String>* whitelist() const { return m_whitelist.get(); }
const Vector<String>* blacklist() const { return m_blacklist.get(); }
UserContentInjectedFrames injectedFrames() const { return m_injectedFrames; }
- Level level() const { return m_level; }
+ UserStyleLevel level() const { return m_level; }
private:
String m_source;
@@ -67,7 +62,7 @@ private:
OwnPtr<Vector<String> > m_whitelist;
OwnPtr<Vector<String> > m_blacklist;
UserContentInjectedFrames m_injectedFrames;
- Level m_level;
+ UserStyleLevel m_level;
};
} // namespace WebCore
diff --git a/WebCore/page/UserStyleSheetTypes.h b/WebCore/page/UserStyleSheetTypes.h
index ef662f2..eda6604 100644
--- a/WebCore/page/UserStyleSheetTypes.h
+++ b/WebCore/page/UserStyleSheetTypes.h
@@ -31,6 +31,9 @@
namespace WebCore {
+enum UserStyleInjectionTime { InjectInExistingDocuments, InjectInSubsequentDocuments };
+enum UserStyleLevel { UserStyleUserLevel, UserStyleAuthorLevel };
+
class DOMWrapperWorld;
class UserStyleSheet;
diff --git a/WebCore/page/animation/ImplicitAnimation.cpp b/WebCore/page/animation/ImplicitAnimation.cpp
index da0a810..34607f6 100644
--- a/WebCore/page/animation/ImplicitAnimation.cpp
+++ b/WebCore/page/animation/ImplicitAnimation.cpp
@@ -120,6 +120,25 @@ bool ImplicitAnimation::startAnimation(double timeOffset)
return false;
}
+void ImplicitAnimation::pauseAnimation(double timeOffset)
+{
+ if (!m_object)
+ return;
+
+#if USE(ACCELERATED_COMPOSITING)
+ if (m_object->hasLayer()) {
+ RenderLayer* layer = toRenderBoxModelObject(m_object)->layer();
+ if (layer->isComposited())
+ layer->backing()->transitionPaused(timeOffset, m_animatingProperty);
+ }
+#else
+ UNUSED_PARAM(timeOffset);
+#endif
+ // Restore the original (unanimated) style
+ if (!paused())
+ setNeedsStyleRecalc(m_object->node());
+}
+
void ImplicitAnimation::endAnimation()
{
#if USE(ACCELERATED_COMPOSITING)
diff --git a/WebCore/page/animation/ImplicitAnimation.h b/WebCore/page/animation/ImplicitAnimation.h
index be5c197..c40c00a 100644
--- a/WebCore/page/animation/ImplicitAnimation.h
+++ b/WebCore/page/animation/ImplicitAnimation.h
@@ -48,7 +48,7 @@ public:
virtual void onAnimationEnd(double elapsedTime);
virtual bool startAnimation(double timeOffset);
- virtual void pauseAnimation(double /*timeOffset*/) { }
+ virtual void pauseAnimation(double /*timeOffset*/);
virtual void endAnimation();
virtual void animate(CompositeAnimation*, RenderObject*, const RenderStyle* currentStyle, RenderStyle* targetStyle, RefPtr<RenderStyle>& animatedStyle);
diff --git a/WebCore/page/chromium/ChromeClientChromium.h b/WebCore/page/chromium/ChromeClientChromium.h
index 44e005f..02e2a94 100644
--- a/WebCore/page/chromium/ChromeClientChromium.h
+++ b/WebCore/page/chromium/ChromeClientChromium.h
@@ -31,12 +31,10 @@
#ifndef ChromeClientChromium_h
#define ChromeClientChromium_h
-#include "AXObjectCache.h"
#include "ChromeClient.h"
#include <wtf/Forward.h>
namespace WebCore {
-class AccessibilityObject;
class IntRect;
class PopupContainer;
@@ -53,15 +51,6 @@ public:
// Notifies the client a popup was closed.
virtual void popupClosed(PopupContainer* popupContainer) = 0;
-
- // Notifies embedder that the state of an accessibility object has changed.
- virtual void didChangeAccessibilityObjectState(AccessibilityObject*) = 0;
-
- // Notified embedder that the children of an accessibility object has changed.
- virtual void didChangeAccessibilityObjectChildren(AccessibilityObject*) = 0;
-
- // Notifies embedder about an accessibility notification.
- virtual void postAccessibilityNotification(AccessibilityObject*, AXObjectCache::AXNotification) = 0;
};
} // namespace WebCore
diff --git a/WebCore/page/chromium/EventHandlerChromium.cpp b/WebCore/page/chromium/EventHandlerChromium.cpp
index dd6cf99..6bf907e 100644
--- a/WebCore/page/chromium/EventHandlerChromium.cpp
+++ b/WebCore/page/chromium/EventHandlerChromium.cpp
@@ -129,7 +129,7 @@ bool EventHandler::eventActivatedView(const PlatformMouseEvent& event) const
PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
{
RefPtr<ChromiumDataObject> dataObject = ChromiumDataObject::create();
- return ClipboardChromium::create(true, dataObject.get(), ClipboardWritable, m_frame);
+ return ClipboardChromium::create(Clipboard::DragAndDrop, dataObject.get(), ClipboardWritable, m_frame);
}
void EventHandler::focusDocumentView()
@@ -154,7 +154,7 @@ unsigned EventHandler::accessKeyModifiers()
#endif
}
-#if OS(LINUX)
+#if OS(LINUX) || OS(FREEBSD)
// GTK+ must scroll horizontally if the mouse pointer is on top of the
// horizontal scrollbar while scrolling with the wheel.
// This code comes from gtk/EventHandlerGtk.cpp.
diff --git a/WebCore/page/efl/EventHandlerEfl.cpp b/WebCore/page/efl/EventHandlerEfl.cpp
index acf4343..33db17e 100644
--- a/WebCore/page/efl/EventHandlerEfl.cpp
+++ b/WebCore/page/efl/EventHandlerEfl.cpp
@@ -110,7 +110,7 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* wid
PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
{
- return ClipboardEfl::create(ClipboardWritable, true);
+ return ClipboardEfl::create(ClipboardWritable, Clipboard::DragAndDrop);
}
bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
diff --git a/WebCore/page/gtk/EventHandlerGtk.cpp b/WebCore/page/gtk/EventHandlerGtk.cpp
index 429aea6..6e69d9f 100644
--- a/WebCore/page/gtk/EventHandlerGtk.cpp
+++ b/WebCore/page/gtk/EventHandlerGtk.cpp
@@ -96,7 +96,7 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* wid
PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
{
- return ClipboardGtk::create(ClipboardWritable, DataObjectGtk::create(), true, m_frame);
+ return ClipboardGtk::create(ClipboardWritable, DataObjectGtk::create(), Clipboard::DragAndDrop, m_frame);
}
bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
diff --git a/WebCore/page/haiku/EventHandlerHaiku.cpp b/WebCore/page/haiku/EventHandlerHaiku.cpp
index 450414d..933921a 100644
--- a/WebCore/page/haiku/EventHandlerHaiku.cpp
+++ b/WebCore/page/haiku/EventHandlerHaiku.cpp
@@ -122,7 +122,7 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* wid
PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
{
- return ClipboardHaiku::create(ClipboardWritable, true);
+ return ClipboardHaiku::create(ClipboardWritable, Clipboard::DragAndDrop);
}
bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
diff --git a/WebCore/page/mac/EventHandlerMac.mm b/WebCore/page/mac/EventHandlerMac.mm
index 584f38f..2db713f 100644
--- a/WebCore/page/mac/EventHandlerMac.mm
+++ b/WebCore/page/mac/EventHandlerMac.mm
@@ -712,7 +712,7 @@ PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
// Must be done before ondragstart adds types and data to the pboard,
// also done for security, as it erases data from the last drag
[pasteboard declareTypes:[NSArray array] owner:nil];
- return ClipboardMac::create(true, pasteboard, ClipboardWritable, m_frame);
+ return ClipboardMac::create(Clipboard::DragAndDrop, pasteboard, ClipboardWritable, m_frame);
}
#endif
diff --git a/WebCore/page/qt/EventHandlerQt.cpp b/WebCore/page/qt/EventHandlerQt.cpp
index 18d9b73..2c658e7 100644
--- a/WebCore/page/qt/EventHandlerQt.cpp
+++ b/WebCore/page/qt/EventHandlerQt.cpp
@@ -113,7 +113,7 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* wid
PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
{
- return ClipboardQt::create(ClipboardWritable, true);
+ return ClipboardQt::create(ClipboardWritable, Clipboard::DragAndDrop);
}
bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
diff --git a/WebCore/page/win/EventHandlerWin.cpp b/WebCore/page/win/EventHandlerWin.cpp
index ee4b360..a1c15c5 100644
--- a/WebCore/page/win/EventHandlerWin.cpp
+++ b/WebCore/page/win/EventHandlerWin.cpp
@@ -98,7 +98,7 @@ PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
#else
COMPtr<WCDataObject> dataObject;
WCDataObject::createInstance(&dataObject);
- return ClipboardWin::create(true, dataObject.get(), ClipboardWritable, m_frame);
+ return ClipboardWin::create(Clipboard::DragAndDrop, dataObject.get(), ClipboardWritable, m_frame);
#endif
}
diff --git a/WebCore/page/wince/FrameWinCE.cpp b/WebCore/page/wince/FrameWinCE.cpp
index dfea864..9eb487b 100644
--- a/WebCore/page/wince/FrameWinCE.cpp
+++ b/WebCore/page/wince/FrameWinCE.cpp
@@ -129,11 +129,11 @@ HBITMAP imageFromSelection(Frame* frame, bool forceBlackText)
}
OwnPtr<HDC> bmpDC(CreateCompatibleDC(g_screenDC));
- HBITMAP hBmp = MemoryManager::createCompatibleBitmap(g_screenDC, w, h);
+ HBITMAP hBmp = CreateCompatibleBitmap(g_screenDC, w, h);
if (!hBmp)
return 0;
- HBITMAP hbmpOld = (HBITMAP)SelectObject(bmpDC.get(), hBmp);
+ HGDIOBJ hbmpOld = SelectObject(bmpDC.get(), hBmp);
{
GraphicsContext gc(bmpDC.get());
diff --git a/WebCore/page/wx/EventHandlerWx.cpp b/WebCore/page/wx/EventHandlerWx.cpp
index f4f6914..fbb1eaa 100644
--- a/WebCore/page/wx/EventHandlerWx.cpp
+++ b/WebCore/page/wx/EventHandlerWx.cpp
@@ -116,7 +116,7 @@ bool EventHandler::eventActivatedView(const PlatformMouseEvent&) const
PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
{
- return ClipboardWx::create(ClipboardWritable, true);
+ return ClipboardWx::create(ClipboardWritable, Clipboard::DragAndDrop);
}
unsigned EventHandler::accessKeyModifiers()