diff options
author | Ben Murdoch <benm@google.com> | 2010-08-11 14:44:44 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2010-08-12 19:15:41 +0100 |
commit | dd8bb3de4f353a81954234999f1fea748aee2ea9 (patch) | |
tree | 729b52bf09294f0d6c67cd5ea80aee1b727b7bd8 /WebCore/page | |
parent | f3d41ba51d86bf719c7a65ab5297aea3c17e2d98 (diff) | |
download | external_webkit-dd8bb3de4f353a81954234999f1fea748aee2ea9.zip external_webkit-dd8bb3de4f353a81954234999f1fea748aee2ea9.tar.gz external_webkit-dd8bb3de4f353a81954234999f1fea748aee2ea9.tar.bz2 |
Merge WebKit at r65072 : Initial merge by git.
Change-Id: Ibcf418498376b2660aacb7f8d46ea7085ef91585
Diffstat (limited to 'WebCore/page')
30 files changed, 68 insertions, 48 deletions
diff --git a/WebCore/page/Chrome.h b/WebCore/page/Chrome.h index 30edf28..5ee8897 100644 --- a/WebCore/page/Chrome.h +++ b/WebCore/page/Chrome.h @@ -48,7 +48,6 @@ namespace WebCore { class Node; class Page; class PopupMenuClient; - class String; #if ENABLE(NOTIFICATIONS) class NotificationPresenter; #endif diff --git a/WebCore/page/ChromeClient.h b/WebCore/page/ChromeClient.h index f90e01e..eb2372d 100644 --- a/WebCore/page/ChromeClient.h +++ b/WebCore/page/ChromeClient.h @@ -46,7 +46,6 @@ class NSResponder; namespace WebCore { - class AtomicString; class Element; class FileChooser; class FloatRect; @@ -59,7 +58,6 @@ namespace WebCore { class Page; class SecurityOrigin; class PopupMenuClient; - class String; class Widget; struct FrameLoadRequest; diff --git a/WebCore/page/Console.h b/WebCore/page/Console.h index d057ff9..ab62525 100644 --- a/WebCore/page/Console.h +++ b/WebCore/page/Console.h @@ -33,6 +33,7 @@ #include "PlatformString.h" #include "ScriptProfile.h" +#include <wtf/Forward.h> #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> @@ -44,7 +45,6 @@ typedef Vector<RefPtr<ScriptProfile> > ProfilesArray; class Frame; class Page; -class String; class ScriptCallStack; // Keep in sync with inspector/front-end/Console.js diff --git a/WebCore/page/ContextMenuClient.h b/WebCore/page/ContextMenuClient.h index 1997cd0..f91536b 100644 --- a/WebCore/page/ContextMenuClient.h +++ b/WebCore/page/ContextMenuClient.h @@ -27,6 +27,7 @@ #define ContextMenuClient_h #include "PlatformMenuDescription.h" +#include <wtf/Forward.h> namespace WebCore { class ContextMenu; @@ -34,7 +35,6 @@ namespace WebCore { class Frame; class HitTestResult; class KURL; - class String; class ContextMenuClient { public: diff --git a/WebCore/page/DOMSelection.h b/WebCore/page/DOMSelection.h index 0287e44..b0421c7 100644 --- a/WebCore/page/DOMSelection.h +++ b/WebCore/page/DOMSelection.h @@ -39,7 +39,6 @@ namespace WebCore { class Frame; class Range; class Node; - class String; class VisibleSelection; typedef int ExceptionCode; diff --git a/WebCore/page/DOMWindow.cpp b/WebCore/page/DOMWindow.cpp index 526e824..71ad7cb 100644 --- a/WebCore/page/DOMWindow.cpp +++ b/WebCore/page/DOMWindow.cpp @@ -42,6 +42,7 @@ #include "DOMTimer.h" #include "Database.h" #include "DatabaseCallback.h" +#include "DeviceMotionController.h" #include "DeviceOrientationController.h" #include "PageTransitionEvent.h" #include "Document.h" @@ -1451,6 +1452,8 @@ bool DOMWindow::addEventListener(const AtomicString& eventType, PassRefPtr<Event else if (eventType == eventNames().beforeunloadEvent && allowsBeforeUnloadListeners(this)) addBeforeUnloadEventListener(this); #if ENABLE(DEVICE_ORIENTATION) + else if (eventType == eventNames().devicemotionEvent && frame() && frame()->page() && frame()->page()->deviceMotionController()) + frame()->page()->deviceMotionController()->addListener(this); else if (eventType == eventNames().deviceorientationEvent && frame() && frame()->page() && frame()->page()->deviceOrientationController()) frame()->page()->deviceOrientationController()->addListener(this); #endif @@ -1468,6 +1471,8 @@ bool DOMWindow::removeEventListener(const AtomicString& eventType, EventListener else if (eventType == eventNames().beforeunloadEvent && allowsBeforeUnloadListeners(this)) removeBeforeUnloadEventListener(this); #if ENABLE(DEVICE_ORIENTATION) + else if (eventType == eventNames().devicemotionEvent && frame() && frame()->page() && frame()->page()->deviceMotionController()) + frame()->page()->deviceMotionController()->removeListener(this); else if (eventType == eventNames().deviceorientationEvent && frame() && frame()->page() && frame()->page()->deviceOrientationController()) frame()->page()->deviceOrientationController()->removeListener(this); #endif @@ -1546,6 +1551,8 @@ void DOMWindow::removeAllEventListeners() EventTarget::removeAllEventListeners(); #if ENABLE(DEVICE_ORIENTATION) + if (frame() && frame()->page() && frame()->page()->deviceMotionController()) + frame()->page()->deviceMotionController()->removeAllListeners(this); if (frame() && frame()->page() && frame()->page()->deviceOrientationController()) frame()->page()->deviceOrientationController()->removeAllListeners(this); #endif diff --git a/WebCore/page/DOMWindow.h b/WebCore/page/DOMWindow.h index 51d407c..8d57dcc 100644 --- a/WebCore/page/DOMWindow.h +++ b/WebCore/page/DOMWindow.h @@ -338,6 +338,7 @@ namespace WebCore { #endif #if ENABLE(DEVICE_ORIENTATION) + DEFINE_ATTRIBUTE_EVENT_LISTENER(devicemotion); DEFINE_ATTRIBUTE_EVENT_LISTENER(deviceorientation); #endif diff --git a/WebCore/page/DOMWindow.idl b/WebCore/page/DOMWindow.idl index c024460..a65739b 100644 --- a/WebCore/page/DOMWindow.idl +++ b/WebCore/page/DOMWindow.idl @@ -160,7 +160,7 @@ module window { readonly attribute [EnabledAtRuntime] DOMApplicationCache applicationCache; #endif #if defined(ENABLE_DATABASE) && ENABLE_DATABASE - [EnabledAtRuntime, Custom] Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize, in DatabaseCallback creationCallback) + [EnabledAtRuntime, RequiresAllArguments=Raise] Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize, in [Callback, Optional] DatabaseCallback creationCallback) raises(DOMException); #endif #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE @@ -306,8 +306,10 @@ module window { attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchend; attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchcancel; - attribute [Conditional=DEVICE_ORIENTATION, EnabledAtRuntime] DeviceOrientationEventConstructor DeviceOrientationEvent; - attribute [Conditional=DEVICE_ORIENTATION, EnabledAtRuntime] EventListener ondeviceorientation; + attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] DeviceMotionEventConstructor DeviceMotionEvent; + attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] EventListener ondevicemotion; + attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] DeviceOrientationEventConstructor DeviceOrientationEvent; + attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] EventListener ondeviceorientation; // EventTarget interface [Custom] void addEventListener(in DOMString type, @@ -748,10 +750,10 @@ module window { attribute DOMFormDataConstructor FormData; - attribute [Conditional=FILE_READER|FILE_WRITER] FileErrorConstructor FileError; - attribute [Conditional=FILE_READER] FileReaderConstructor FileReader; + attribute [Conditional=BLOB|FILE_WRITER] FileErrorConstructor FileError; + attribute [Conditional=BLOB] FileReaderConstructor FileReader; - attribute BlobBuilderConstructor BlobBuilder; + attribute [Conditional=BLOB] BlobBuilderConstructor BlobBuilder; #endif // defined(LANGUAGE_JAVASCRIPT) diff --git a/WebCore/page/EditorClient.h b/WebCore/page/EditorClient.h index ff5bf94..93e27ff 100644 --- a/WebCore/page/EditorClient.h +++ b/WebCore/page/EditorClient.h @@ -58,7 +58,6 @@ class KeyboardEvent; class Node; class Range; class VisibleSelection; -class String; class VisiblePosition; struct GrammarDetail { diff --git a/WebCore/page/EventHandler.cpp b/WebCore/page/EventHandler.cpp index 20ceed9..adcaadc 100644 --- a/WebCore/page/EventHandler.cpp +++ b/WebCore/page/EventHandler.cpp @@ -2701,19 +2701,8 @@ bool EventHandler::tabsToLinks(KeyboardEvent* event) const void EventHandler::defaultTextInputEventHandler(TextEvent* event) { - String data = event->data(); - if (data == "\n") { - if (event->isLineBreak()) { - if (m_frame->editor()->insertLineBreak()) - event->setDefaultHandled(); - } else { - if (m_frame->editor()->insertParagraphSeparator()) - event->setDefaultHandled(); - } - } else { - if (m_frame->editor()->insertTextWithoutSendingTextEvent(data, false, event)) - event->setDefaultHandled(); - } + if (m_frame->editor()->handleTextEvent(event)) + event->setDefaultHandled(); } #if PLATFORM(QT) || PLATFORM(MAC) || PLATFORM(ANDROID) diff --git a/WebCore/page/EventHandler.h b/WebCore/page/EventHandler.h index 242601b..ca19a0c 100644 --- a/WebCore/page/EventHandler.h +++ b/WebCore/page/EventHandler.h @@ -45,7 +45,6 @@ class NSView; namespace WebCore { -class AtomicString; class Clipboard; class Cursor; class Event; @@ -66,7 +65,6 @@ class RenderLayer; class RenderObject; class RenderWidget; class Scrollbar; -class String; class SVGElementInstance; class TextEvent; class TouchEvent; diff --git a/WebCore/page/FocusController.cpp b/WebCore/page/FocusController.cpp index 53a4fa8..388aa09 100644 --- a/WebCore/page/FocusController.cpp +++ b/WebCore/page/FocusController.cpp @@ -123,8 +123,11 @@ void FocusController::setFocused(bool focused) return; m_isFocused = focused; - - if (m_focusedFrame && m_focusedFrame->view()) { + + if (!m_focusedFrame) + setFocusedFrame(m_page->mainFrame()); + + if (m_focusedFrame->view()) { m_focusedFrame->selection()->setFocused(focused); dispatchEventsOnWindowAndFocusedNode(m_focusedFrame->document(), focused); } diff --git a/WebCore/page/Frame.cpp b/WebCore/page/Frame.cpp index c0b11d3..17652d9 100644 --- a/WebCore/page/Frame.cpp +++ b/WebCore/page/Frame.cpp @@ -72,7 +72,6 @@ #include "RenderView.h" #include "ScriptController.h" #include "ScriptSourceCode.h" -#include "ScriptValue.h" #include "Settings.h" #include "TextIterator.h" #include "TextResourceDecoder.h" diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp index cb18ed1..04fef3b 100644 --- a/WebCore/page/FrameView.cpp +++ b/WebCore/page/FrameView.cpp @@ -418,7 +418,7 @@ PassRefPtr<Scrollbar> FrameView::createScrollbar(ScrollbarOrientation orientatio // If we have an owning iframe/frame element, then it can set the custom scrollbar also. RenderPart* frameRenderer = m_frame->ownerRenderer(); if (frameRenderer && frameRenderer->style()->hasPseudoStyle(SCROLLBAR)) - return RenderScrollbar::createCustomScrollbar(this, orientation, frameRenderer); + return RenderScrollbar::createCustomScrollbar(this, orientation, 0, m_frame.get()); // Nobody set a custom style, so we just use a native scrollbar. return ScrollView::createScrollbar(orientation); diff --git a/WebCore/page/FrameView.h b/WebCore/page/FrameView.h index 9765c6f..cc32404 100644 --- a/WebCore/page/FrameView.h +++ b/WebCore/page/FrameView.h @@ -47,7 +47,6 @@ class RenderObject; class RenderEmbeddedObject; class RenderScrollbarPart; struct ScheduledEvent; -class String; template <typename T> class Timer; diff --git a/WebCore/page/GeolocationPositionCache.h b/WebCore/page/GeolocationPositionCache.h index c7f7e49..dd57180 100644 --- a/WebCore/page/GeolocationPositionCache.h +++ b/WebCore/page/GeolocationPositionCache.h @@ -26,6 +26,7 @@ #ifndef GeolocationPositionCache_h #define GeolocationPositionCache_h +#include <wtf/Forward.h> #include <wtf/PassRefPtr.h> #include <wtf/RefPtr.h> @@ -33,7 +34,6 @@ namespace WebCore { class Geoposition; -class String; class GeolocationPositionCache { public: diff --git a/WebCore/page/History.h b/WebCore/page/History.h index 66a6a03..e885847 100644 --- a/WebCore/page/History.h +++ b/WebCore/page/History.h @@ -27,6 +27,7 @@ #define History_h #include "KURL.h" +#include <wtf/Forward.h> #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> @@ -34,7 +35,6 @@ namespace WebCore { class Frame; class SerializedScriptValue; -class String; typedef int ExceptionCode; class History : public RefCounted<History> { diff --git a/WebCore/page/Location.h b/WebCore/page/Location.h index 065bde1..808eff9 100644 --- a/WebCore/page/Location.h +++ b/WebCore/page/Location.h @@ -29,6 +29,7 @@ #ifndef Location_h #define Location_h +#include <wtf/Forward.h> #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> @@ -36,7 +37,6 @@ namespace WebCore { class Frame; class KURL; - class String; class Location : public RefCounted<Location> { public: diff --git a/WebCore/page/Navigator.h b/WebCore/page/Navigator.h index e5dd4e8..de10d62 100644 --- a/WebCore/page/Navigator.h +++ b/WebCore/page/Navigator.h @@ -21,7 +21,11 @@ #define Navigator_h #include "NavigatorBase.h" +<<<<<<< HEAD #include "PlatformString.h" +======= +#include <wtf/Forward.h> +>>>>>>> webkit.org at r65072 #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> #include <wtf/RefPtr.h> @@ -33,11 +37,14 @@ class DOMPluginArray; class Frame; class Geolocation; class PluginData; +<<<<<<< HEAD class String; #if PLATFORM(ANDROID) class ApplicationInstalledCallback; class Connection; #endif +======= +>>>>>>> webkit.org at r65072 class Navigator : public NavigatorBase, public RefCounted<Navigator> { public: diff --git a/WebCore/page/NavigatorBase.h b/WebCore/page/NavigatorBase.h index 4c09f47..8f576e3 100644 --- a/WebCore/page/NavigatorBase.h +++ b/WebCore/page/NavigatorBase.h @@ -26,9 +26,9 @@ #ifndef NavigatorBase_h #define NavigatorBase_h -namespace WebCore { +#include <wtf/Forward.h> - class String; +namespace WebCore { class NavigatorBase { public: diff --git a/WebCore/page/Page.cpp b/WebCore/page/Page.cpp index 49a14c2..f808928 100644 --- a/WebCore/page/Page.cpp +++ b/WebCore/page/Page.cpp @@ -20,6 +20,7 @@ #include "config.h" #include "Page.h" +#include "DeviceMotionController.h" #include "BackForwardController.h" #include "BackForwardList.h" #include "Base64.h" @@ -156,6 +157,7 @@ Page::Page(const PageClients& pageClients) , m_geolocationController(new GeolocationController(this, pageClients.geolocationControllerClient)) #endif #if ENABLE(DEVICE_ORIENTATION) + , m_deviceMotionController(RuntimeEnabledFeatures::deviceMotionEnabled() ? new DeviceMotionController(pageClients.deviceMotionClient) : 0) , m_deviceOrientationController(RuntimeEnabledFeatures::deviceOrientationEnabled() ? new DeviceOrientationController(this, pageClients.deviceOrientationClient) : 0) #endif #if ENABLE(INPUT_SPEECH) diff --git a/WebCore/page/Page.h b/WebCore/page/Page.h index 62af0a7..d9e9255 100644 --- a/WebCore/page/Page.h +++ b/WebCore/page/Page.h @@ -44,6 +44,8 @@ namespace WebCore { class ChromeClient; class ContextMenuClient; class ContextMenuController; + class DeviceMotionClient; + class DeviceMotionController; class DeviceOrientationClient; class DeviceOrientationController; class Document; @@ -101,6 +103,7 @@ namespace WebCore { , inspectorClient(0) , pluginHalterClient(0) , geolocationControllerClient(0) + , deviceMotionClient(0) , deviceOrientationClient(0) , backForwardControllerClient(0) , speechInputClient(0) @@ -113,6 +116,7 @@ namespace WebCore { InspectorClient* inspectorClient; PluginHalterClient* pluginHalterClient; GeolocationControllerClient* geolocationControllerClient; + DeviceMotionClient* deviceMotionClient; DeviceOrientationClient* deviceOrientationClient; BackForwardControllerClient* backForwardControllerClient; SpeechInputClient* speechInputClient; @@ -179,6 +183,7 @@ namespace WebCore { GeolocationController* geolocationController() const { return m_geolocationController.get(); } #endif #if ENABLE(DEVICE_ORIENTATION) + DeviceMotionController* deviceMotionController() const { return m_deviceMotionController.get(); } DeviceOrientationController* deviceOrientationController() const { return m_deviceOrientationController.get(); } #endif #if ENABLE(INPUT_SPEECH) @@ -313,6 +318,7 @@ namespace WebCore { OwnPtr<GeolocationController> m_geolocationController; #endif #if ENABLE(DEVICE_ORIENTATION) + OwnPtr<DeviceMotionController> m_deviceMotionController; OwnPtr<DeviceOrientationController> m_deviceOrientationController; #endif #if ENABLE(INPUT_SPEECH) diff --git a/WebCore/page/PageGroup.cpp b/WebCore/page/PageGroup.cpp index 15d4d8d..12b1a41 100644 --- a/WebCore/page/PageGroup.cpp +++ b/WebCore/page/PageGroup.cpp @@ -138,7 +138,8 @@ bool PageGroup::isLinkVisited(LinkHash visitedLinkHash) void PageGroup::addVisitedLinkHash(LinkHash hash) { - addVisitedLink(hash); + if (shouldTrackVisitedLinks) + addVisitedLink(hash); } inline void PageGroup::addVisitedLink(LinkHash hash) diff --git a/WebCore/page/PageGroupLoadDeferrer.cpp b/WebCore/page/PageGroupLoadDeferrer.cpp index ced8f36..a01422f 100644 --- a/WebCore/page/PageGroupLoadDeferrer.cpp +++ b/WebCore/page/PageGroupLoadDeferrer.cpp @@ -21,6 +21,7 @@ #include "config.h" #include "PageGroupLoadDeferrer.h" +#include "AsyncScriptRunner.h" #include "Frame.h" #include "Page.h" #include "PageGroup.h" @@ -45,7 +46,7 @@ PageGroupLoadDeferrer::PageGroupLoadDeferrer(Page* page, bool deferSelf) // windows or sheets, which is exactly when PageGroupLoadDeferrer is used. for (Frame* frame = otherPage->mainFrame(); frame; frame = frame->tree()->traverseNext()) { frame->document()->suspendActiveDOMObjects(); - frame->document()->suspendExecuteScriptSoonTimer(); + frame->document()->asyncScriptRunner()->suspend(); } } } @@ -64,7 +65,7 @@ PageGroupLoadDeferrer::~PageGroupLoadDeferrer() for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) { frame->document()->resumeActiveDOMObjects(); - frame->document()->resumeExecuteScriptSoonTimer(); + frame->document()->asyncScriptRunner()->resume(); } } } diff --git a/WebCore/page/PluginHalterClient.h b/WebCore/page/PluginHalterClient.h index 0251547..12d37cc 100644 --- a/WebCore/page/PluginHalterClient.h +++ b/WebCore/page/PluginHalterClient.h @@ -26,10 +26,11 @@ #ifndef PluginHalterClient_h #define PluginHalterClient_h +#include <wtf/Forward.h> + namespace WebCore { class Node; -class String; class PluginHalterClient { public: diff --git a/WebCore/page/PrintContext.h b/WebCore/page/PrintContext.h index ed1cfa4..ceda892 100644 --- a/WebCore/page/PrintContext.h +++ b/WebCore/page/PrintContext.h @@ -21,6 +21,7 @@ #ifndef PrintContext_h #define PrintContext_h +#include <wtf/Forward.h> #include <wtf/Vector.h> namespace WebCore { @@ -31,7 +32,6 @@ class FloatRect; class FloatSize; class GraphicsContext; class IntRect; -class String; class PrintContext { public: diff --git a/WebCore/page/Settings.h b/WebCore/page/Settings.h index 32a027e..c5a13b2 100644 --- a/WebCore/page/Settings.h +++ b/WebCore/page/Settings.h @@ -168,6 +168,17 @@ namespace WebCore { unsigned sessionStorageQuota() const { return m_sessionStorageQuota; } #endif + // When this option is set, WebCore will avoid storing any record of browsing activity + // that may persist on disk or remain displayed when the option is reset. + // This option does not affect the storage of such information in RAM. + // The following functions respect this setting: + // - HTML5/DOM Storage + // - Icon Database + // - Console Messages + // - Cache + // - Application Cache + // - Back/Forward Page History + // - Page Search Results void setPrivateBrowsingEnabled(bool); bool privateBrowsingEnabled() const { return m_privateBrowsingEnabled; } diff --git a/WebCore/page/SpeechInput.h b/WebCore/page/SpeechInput.h index 2ce0eea..58f4efe 100644 --- a/WebCore/page/SpeechInput.h +++ b/WebCore/page/SpeechInput.h @@ -34,13 +34,13 @@ #if ENABLE(INPUT_SPEECH) #include "SpeechInputListener.h" +#include <wtf/Forward.h> #include <wtf/Noncopyable.h> namespace WebCore { class SpeechInputClient; class SpeechInputListener; -class String; // This class connects the input elements requiring speech input with the platform specific // speech recognition engine. It provides methods for the input elements to activate speech diff --git a/WebCore/page/SpeechInputListener.h b/WebCore/page/SpeechInputListener.h index 1b21a11..143984d 100644 --- a/WebCore/page/SpeechInputListener.h +++ b/WebCore/page/SpeechInputListener.h @@ -33,9 +33,9 @@ #if ENABLE(INPUT_SPEECH) -namespace WebCore { +#include <wtf/Forward.h> -class String; +namespace WebCore { // Interface to be implemented by the element which invokes SpeechInput. class SpeechInputListener { diff --git a/WebCore/page/animation/AnimationController.h b/WebCore/page/animation/AnimationController.h index d184b45..4528dae 100644 --- a/WebCore/page/animation/AnimationController.h +++ b/WebCore/page/animation/AnimationController.h @@ -36,14 +36,12 @@ namespace WebCore { class AnimationBase; class AnimationControllerPrivate; -class AtomicString; class Document; class Element; class Frame; class Node; class RenderObject; class RenderStyle; -class String; class AnimationController { public: |