Changeset 139050 in webkit


Ignore:
Timestamp:
Jan 8, 2013 3:34:22 AM (11 years ago)
Author:
kihong.kwon@samsung.com
Message:

Add DeviceProximityController to support Device Proximity Events.
https://bugs.webkit.org/show_bug.cgi?id=97630

Reviewed by Hajime Morita.

Source/WebCore:

Implement DeviceProximityController which is inherited from DeviceController to support Device Proximity Events.
DeviceProximityController has two major functionalities.

  • When listener is added, DeviceProximityController stores DOMWindow pointer to m_listeners and start gathering proximity event.
  • When DeviceProximityController receives a proximity event from client, fire an event using m_listeners.

In addition, setDeviceProximity function is added to Internals for layout test.

Tests: proximity/add-listener-from-callback.html

proximity/basic-operation.html
proximity/create-event.html
proximity/event-after-navigation.html
proximity/multiple-frames.html
proximity/no-page-cache.html
proximity/optional-event-properties.html
proximity/updates.html
proximity/window-property.html

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Modules/proximity/DeviceProximityClient.h: Added.

(WebCore):
(DeviceProximityClient):
(WebCore::DeviceProximityClient::~DeviceProximityClient):

  • Modules/proximity/DeviceProximityController.cpp: Added.

(WebCore):
(WebCore::DeviceProximityController::DeviceProximityController):
(WebCore::DeviceProximityController::create):
(WebCore::DeviceProximityController::didChangeDeviceProximity):
(WebCore::DeviceProximityController::deviceProximityClient):
(WebCore::DeviceProximityController::hasLastData):
(WebCore::DeviceProximityController::getLastEvent):
(WebCore::DeviceProximityController::supplementName):
(WebCore::DeviceProximityController::from):
(WebCore::DeviceProximityController::isActiveAt):
(WebCore::provideDeviceProximityTo):

  • Modules/proximity/DeviceProximityController.h: Added.

(WebCore):
(DeviceProximityController):
(WebCore::DeviceProximityController::~DeviceProximityController):

  • Target.pri:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/WebCoreCommon.vsprops:
  • WebCore.xcodeproj/project.pbxproj:
  • history/PageCache.cpp:

When a page has Device Proximity Event Listener, it has not to be cached like Device Orientation.
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):

  • testing/Internals.cpp:

(WebCore::Internals::setDeviceProximity):
(WebCore):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit2:

Add initial WebDeviceProximityClient class which is inherited DeviceProximityClient.
But startUpdating and stopUpdating need to be implemented.

  • CMakeLists.txt:
  • WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp: Added.

(WebKit):
(WebKit::WebDeviceProximityClient::WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::startUpdating):
(WebKit::WebDeviceProximityClient::stopUpdating):
(WebKit::WebDeviceProximityClient::hasLastData):

  • WebProcess/WebCoreSupport/WebDeviceProximityClient.h: Added.

(WebKit):
(WebDeviceProximityClient):
(WebKit::WebDeviceProximityClient::~WebDeviceProximityClient):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

LayoutTests:

Add layout test cases for the DeviceProximityController.

  • proximity/add-listener-from-callback-expected.txt: Added.
  • proximity/add-listener-from-callback.html: Added.
  • proximity/basic-operation-expected.txt: Added.
  • proximity/basic-operation.html: Added.
  • proximity/create-event-expected.txt: Added.
  • proximity/create-event.html: Added.
  • proximity/event-after-navigation-expected.txt: Added.
  • proximity/event-after-navigation.html: Added.
  • proximity/multiple-frames-expected.txt: Added.
  • proximity/multiple-frames.html: Added.
  • proximity/no-page-cache-expected.txt: Added.
  • proximity/no-page-cache.html: Added.
  • proximity/optional-event-properties-expected.txt: Added.
  • proximity/optional-event-properties.html: Added.
  • proximity/resources/cached-page-1.html: Added.
  • proximity/resources/cached-page-2.html: Added.
  • proximity/resources/event-after-navigation-new.html: Added.
  • proximity/updates-expected.txt: Added.
  • proximity/updates.html: Added.
  • proximity/window-property-expected.txt: Added.
  • proximity/window-property.html: Added.
Location:
trunk
Files:
27 added
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r139049 r139050  
     12013-01-08  Kihong Kwon  <kihong.kwon@samsung.com>
     2
     3        Add DeviceProximityController to support Device Proximity Events.
     4        https://bugs.webkit.org/show_bug.cgi?id=97630
     5
     6        Reviewed by Hajime Morita.
     7
     8        Add layout test cases for the DeviceProximityController.
     9
     10        * proximity/add-listener-from-callback-expected.txt: Added.
     11        * proximity/add-listener-from-callback.html: Added.
     12        * proximity/basic-operation-expected.txt: Added.
     13        * proximity/basic-operation.html: Added.
     14        * proximity/create-event-expected.txt: Added.
     15        * proximity/create-event.html: Added.
     16        * proximity/event-after-navigation-expected.txt: Added.
     17        * proximity/event-after-navigation.html: Added.
     18        * proximity/multiple-frames-expected.txt: Added.
     19        * proximity/multiple-frames.html: Added.
     20        * proximity/no-page-cache-expected.txt: Added.
     21        * proximity/no-page-cache.html: Added.
     22        * proximity/optional-event-properties-expected.txt: Added.
     23        * proximity/optional-event-properties.html: Added.
     24        * proximity/resources/cached-page-1.html: Added.
     25        * proximity/resources/cached-page-2.html: Added.
     26        * proximity/resources/event-after-navigation-new.html: Added.
     27        * proximity/updates-expected.txt: Added.
     28        * proximity/updates.html: Added.
     29        * proximity/window-property-expected.txt: Added.
     30        * proximity/window-property.html: Added.
     31
    1322013-01-08  Zan Dobersek  <zandobersek@gmail.com>
    233
  • trunk/Source/WebCore/CMakeLists.txt

    r139008 r139050  
    119119    Modules/networkinfo
    120120    Modules/notifications
     121    Modules/proximity
    121122    Modules/quota
    122123    Modules/speech
     
    891892    Modules/notifications/WorkerContextNotifications.cpp
    892893
     894    Modules/proximity/DeviceProximityController.cpp
    893895    Modules/proximity/DeviceProximityEvent.cpp
    894896
  • trunk/Source/WebCore/ChangeLog

    r139046 r139050  
     12013-01-08  Kihong Kwon  <kihong.kwon@samsung.com>
     2
     3        Add DeviceProximityController to support Device Proximity Events.
     4        https://bugs.webkit.org/show_bug.cgi?id=97630
     5
     6        Reviewed by Hajime Morita.
     7
     8        Implement DeviceProximityController which is inherited from DeviceController to support Device Proximity Events.
     9        DeviceProximityController has two major functionalities.
     10        - When listener is added, DeviceProximityController stores DOMWindow pointer to m_listeners
     11          and start gathering proximity event.
     12        - When DeviceProximityController receives a proximity event from client, fire an event using m_listeners.
     13        In addition, setDeviceProximity function is added to Internals for layout test.
     14
     15        Tests: proximity/add-listener-from-callback.html
     16               proximity/basic-operation.html
     17               proximity/create-event.html
     18               proximity/event-after-navigation.html
     19               proximity/multiple-frames.html
     20               proximity/no-page-cache.html
     21               proximity/optional-event-properties.html
     22               proximity/updates.html
     23               proximity/window-property.html
     24
     25        * CMakeLists.txt:
     26        * GNUmakefile.am:
     27        * GNUmakefile.list.am:
     28        * Modules/proximity/DeviceProximityClient.h: Added.
     29        (WebCore):
     30        (DeviceProximityClient):
     31        (WebCore::DeviceProximityClient::~DeviceProximityClient):
     32        * Modules/proximity/DeviceProximityController.cpp: Added.
     33        (WebCore):
     34        (WebCore::DeviceProximityController::DeviceProximityController):
     35        (WebCore::DeviceProximityController::create):
     36        (WebCore::DeviceProximityController::didChangeDeviceProximity):
     37        (WebCore::DeviceProximityController::deviceProximityClient):
     38        (WebCore::DeviceProximityController::hasLastData):
     39        (WebCore::DeviceProximityController::getLastEvent):
     40        (WebCore::DeviceProximityController::supplementName):
     41        (WebCore::DeviceProximityController::from):
     42        (WebCore::DeviceProximityController::isActiveAt):
     43        (WebCore::provideDeviceProximityTo):
     44        * Modules/proximity/DeviceProximityController.h: Added.
     45        (WebCore):
     46        (DeviceProximityController):
     47        (WebCore::DeviceProximityController::~DeviceProximityController):
     48        * Target.pri:
     49        * WebCore.gyp/WebCore.gyp:
     50        * WebCore.gypi:
     51        * WebCore.pri:
     52        * WebCore.vcproj/WebCore.vcproj:
     53        * WebCore.vcproj/WebCoreCommon.vsprops:
     54        * WebCore.xcodeproj/project.pbxproj:
     55        * history/PageCache.cpp:
     56        When a page has Device Proximity Event Listener, it has not to be cached like Device Orientation.
     57        (WebCore::logCanCachePageDecision):
     58        (WebCore::PageCache::canCache):
     59        * page/DOMWindow.cpp:
     60        (WebCore::DOMWindow::addEventListener):
     61        (WebCore::DOMWindow::removeEventListener):
     62        (WebCore::DOMWindow::removeAllEventListeners):
     63        * testing/Internals.cpp:
     64        (WebCore::Internals::setDeviceProximity):
     65        (WebCore):
     66        * testing/Internals.h:
     67        (Internals):
     68        * testing/Internals.idl:
     69
    1702013-01-03  Sergio Villar Senin  <svillar@igalia.com>
    271
  • trunk/Source/WebCore/GNUmakefile.am

    r139046 r139050  
    2121        -I$(srcdir)/Source/WebCore/Modules/navigatorcontentutils \
    2222        -I$(srcdir)/Source/WebCore/Modules/notifications \
     23        -I$(srcdir)/Source/WebCore/Modules/proximity \
    2324        -I$(srcdir)/Source/WebCore/Modules/quota \
    2425        -I$(srcdir)/Source/WebCore/Modules/webaudio \
     
    503504    $(WebCore)/Modules/mediastream \
    504505    $(WebCore)/Modules/notifications \
     506    $(WebCore)/Modules/proximity \
    505507    $(WebCore)/Modules/quota \
    506508    $(WebCore)/Modules/webaudio \
     
    738740        $(wildcard $(srcdir)/Source/WebCore/Modules/navigatorcontentutils/*.idl) \
    739741        $(wildcard $(srcdir)/Source/WebCore/Modules/notifications/*.idl) \
     742        $(wildcard $(srcdir)/Source/WebCore/Modules/proximity/*.idl) \
    740743        $(wildcard $(srcdir)/Source/WebCore/Modules/quota/*.idl) \
    741744        $(wildcard $(srcdir)/Source/WebCore/Modules/webaudio/*.idl) \
  • trunk/Source/WebCore/GNUmakefile.list.am

    r139046 r139050  
    12631263        $(WebCore)/Modules/notifications/NotificationCenter.idl \
    12641264        $(WebCore)/Modules/notifications/NotificationPermissionCallback.idl \
     1265        $(WebCore)/Modules/proximity/DeviceProximityEvent.idl \
    12651266        $(WebCore)/Modules/quota/DOMWindowQuota.idl \
    12661267        $(WebCore)/Modules/quota/StorageInfo.idl \
     
    19921993        Source/WebCore/Modules/notifications/WorkerContextNotifications.cpp \
    19931994        Source/WebCore/Modules/notifications/WorkerContextNotifications.h \
     1995        Source/WebCore/Modules/proximity/DeviceProximity.h \
     1996        Source/WebCore/Modules/proximity/DeviceProximityController.cpp \
     1997        Source/WebCore/Modules/proximity/DeviceProximityController.h \
     1998        Source/WebCore/Modules/proximity/DeviceProximityEvent.cpp \
     1999        Source/WebCore/Modules/proximity/DeviceProximityEvent.h \
    19942000        Source/WebCore/Modules/quota/DOMWindowQuota.cpp \
    19952001        Source/WebCore/Modules/quota/DOMWindowQuota.h \
  • trunk/Source/WebCore/Target.pri

    r139008 r139050  
    244244    Modules/notifications/NotificationController.cpp \
    245245    Modules/notifications/WorkerContextNotifications.cpp \
     246    Modules/proximity/DeviceProximityController.cpp \
     247    Modules/proximity/DeviceProximityEvent.cpp \
    246248    css/BasicShapeFunctions.cpp \
    247249    css/CSSAspectRatioValue.cpp \
     
    14201422    Modules/notifications/NotificationController.h \
    14211423    Modules/notifications/WorkerContextNotifications.h \
     1424    \
     1425    Modules/proximity/DeviceProximityClient.h \
     1426    Modules/proximity/DeviceProximityController.h \
     1427    Modules/proximity/DeviceProximityEvent.h \
    14221428    \
    14231429    Modules/webdatabase/AbstractDatabase.h \
  • trunk/Source/WebCore/WebCore.gyp/WebCore.gyp

    r138836 r139050  
    6363      '../Modules/navigatorcontentutils',
    6464      '../Modules/notifications',
     65      '../Modules/proximity',
    6566      '../Modules/quota',
    6667      '../Modules/speech',
  • trunk/Source/WebCore/WebCore.gypi

    r139008 r139050  
    9595            'Modules/notifications/NotificationPermissionCallback.idl',
    9696            'Modules/notifications/WorkerContextNotifications.idl',
     97            'Modules/proximity/DeviceProximityEvent.idl',
    9798            'Modules/quota/DOMWindowQuota.idl',
    9899            'Modules/quota/StorageInfo.idl',
     
    866867            'Modules/notifications/WorkerContextNotifications.cpp',
    867868            'Modules/notifications/WorkerContextNotifications.h',
     869            'Modules/proximity/DeviceProximityController.cpp',
     870            'Modules/proximity/DeviceProximityController.h',
     871            'Modules/proximity/DeviceProximityEvent.cpp',
     872            'Modules/proximity/DeviceProximityEvent.h',
    868873            'Modules/quota/DOMWindowQuota.cpp',
    869874            'Modules/quota/DOMWindowQuota.h',
  • trunk/Source/WebCore/WebCore.pri

    r137452 r139050  
    1919    $$SOURCE_DIR/Modules/navigatorcontentutils \
    2020    $$SOURCE_DIR/Modules/notifications \
     21    $$SOURCE_DIR/Modules/proximity \
    2122    $$SOURCE_DIR/Modules/quota \
    2223    $$SOURCE_DIR/Modules/webaudio \
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r139008 r139050  
    2507925079                        </Filter>
    2508025080                        <Filter
     25081                                Name="proximity"
     25082                                >
     25083                                <File
     25084                                        RelativePath="..\Modules\proximity\DeviceProximityClient.h"
     25085                                        >
     25086                                </File>
     25087                                <File
     25088                                        RelativePath="..\Modules\proximity\DeviceProximityController.cpp"
     25089                                        >
     25090                                </File>
     25091                                <File
     25092                                        RelativePath="..\Modules\proximity\DeviceProximityController.h"
     25093                                        >
     25094                                </File>
     25095                                <File
     25096                                        RelativePath="..\Modules\proximity\DeviceProximityEvent.cpp"
     25097                                        >
     25098                                </File>
     25099                                <File
     25100                                        RelativePath="..\Modules\proximity\DeviceProximityEvent.h"
     25101                                        >
     25102                                </File>
     25103                        </Filter>
     25104                        <Filter
    2508125105                                Name="quota"
    2508225106                                >
  • trunk/Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops

    r137507 r139050  
    88        <Tool
    99                Name="VCCLCompilerTool"
    10                 AdditionalIncludeDirectories="&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\Modules\filesystem&quot;;&quot;$(ProjectDir)..\Modules\geolocation&quot;;&quot;$(ProjectDir)..\Modules\indexeddb&quot;;&quot;$(ProjectDir)..\Modules\mediasource&quot;;&quot;$(ProjectDir)..\Modules\navigatorcontentutils&quot;;&quot;$(ProjectDir)..\Modules\quota&quot;;&quot;$(ProjectDir)..\Modules\notifications&quot;;&quot;$(ProjectDir)..\Modules\webdatabase&quot;;&quot;$(ProjectDir)..\Modules\websockets&quot;;&quot;$(ProjectDir)..\accessibility&quot;;&quot;$(ProjectDir)..\accessibility\win&quot;;&quot;$(ProjectDir)..\bridge&quot;;&quot;$(ProjectDir)..\bridge\c&quot;;&quot;$(ProjectDir)..\bridge\jsc&quot;;&quot;$(ProjectDir)..\css&quot;;&quot;$(ProjectDir)..\editing&quot;;&quot;$(ProjectDir)..\fileapi&quot;;&quot;$(ProjectDir)..\rendering&quot;;&quot;$(ProjectDir)..\rendering\mathml&quot;;&quot;$(ProjectDir)..\rendering\style&quot;;&quot;$(ProjectDir)..\rendering\svg&quot;;&quot;$(ProjectDir)..\bindings&quot;;&quot;$(ProjectDir)..\bindings\generic&quot;;&quot;$(ProjectDir)..\bindings\js&quot;;&quot;$(ProjectDir)..\bindings\js\specialization&quot;;&quot;$(ProjectDir)..\dom&quot;;&quot;$(ProjectDir)..\dom\default&quot;;&quot;$(ProjectDir)..\history&quot;;&quot;$(ProjectDir)..\html&quot;;&quot;$(ProjectDir)..\html\canvas&quot;;&quot;$(ProjectDir)..\html\parser&quot;;&quot;$(ProjectDir)..\html\shadow&quot;;&quot;$(ProjectDir)..\html\track&quot;;&quot;$(ProjectDir)..\inspector&quot;;&quot;$(ProjectDir)..\loader&quot;;&quot;$(ProjectDir)..\loader\appcache&quot;;&quot;$(ProjectDir)..\loader\archive&quot;;&quot;$(ProjectDir)..\loader\archive\cf&quot;;&quot;$(ProjectDir)..\loader\cache&quot;;&quot;$(ProjectDir)..\loader\icon&quot;;&quot;$(ProjectDir)..\mathml&quot;;&quot;$(ProjectDir)..\page&quot;;&quot;$(ProjectDir)..\page\animation&quot;;&quot;$(ProjectDir)..\page\scrolling&quot;;&quot;$(ProjectDir)..\page\win&quot;;&quot;$(ProjectDir)..\platform&quot;;&quot;$(ProjectDir)..\platform\animation&quot;;&quot;$(ProjectDir)..\platform\mock&quot;;&quot;$(ProjectDir)..\platform\sql&quot;;&quot;$(ProjectDir)..\platform\win&quot;;&quot;$(ProjectDir)..\platform\network&quot;;&quot;$(ProjectDir)..\platform\network\win&quot;;&quot;$(ProjectDir)..\platform\cf&quot;;&quot;$(ProjectDir)..\platform\graphics&quot;;&quot;$(ProjectDir)..\platform\graphics\ca&quot;;&quot;$(ProjectDir)..\platform\graphics\cpu\arm\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\filters\arm&quot;;&quot;$(ProjectDir)..\platform\graphics\opentype&quot;;&quot;$(ProjectDir)..\platform\graphics\transforms&quot;;&quot;$(ProjectDir)..\platform\text&quot;;&quot;$(ProjectDir)..\platform\text\transcoder&quot;;&quot;$(ProjectDir)..\platform\graphics\win&quot;;&quot;$(ProjectDir)..\xml&quot;;&quot;$(ProjectDir)..\xml\parser&quot;;&quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;;&quot;$(ProjectDir)..\plugins&quot;;&quot;$(ProjectDir)..\plugins\win&quot;;&quot;$(ProjectDir)..\svg\animation&quot;;&quot;$(ProjectDir)..\svg\graphics&quot;;&quot;$(ProjectDir)..\svg\properties&quot;;&quot;$(ProjectDir)..\svg\graphics\filters&quot;;&quot;$(ProjectDir)..\svg&quot;;&quot;$(ProjectDir)..\testing&quot;;&quot;$(ProjectDir)..\wml&quot;;&quot;$(ProjectDir)..\storage&quot;;&quot;$(ProjectDir)..\websockets&quot;;&quot;$(ProjectDir)..\workers&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include\sqlite&quot;;&quot;$(WebKitLibrariesDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\zlib&quot;"
     10                AdditionalIncludeDirectories="&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\Modules\filesystem&quot;;&quot;$(ProjectDir)..\Modules\geolocation&quot;;&quot;$(ProjectDir)..\Modules\indexeddb&quot;;&quot;$(ProjectDir)..\Modules\mediasource&quot;;&quot;$(ProjectDir)..\Modules\navigatorcontentutils&quot;;&quot;$(ProjectDir)..\Modules\proximity&quot;;&quot;$(ProjectDir)..\Modules\quota&quot;;&quot;$(ProjectDir)..\Modules\notifications&quot;;&quot;$(ProjectDir)..\Modules\webdatabase&quot;;&quot;$(ProjectDir)..\Modules\websockets&quot;;&quot;$(ProjectDir)..\accessibility&quot;;&quot;$(ProjectDir)..\accessibility\win&quot;;&quot;$(ProjectDir)..\bridge&quot;;&quot;$(ProjectDir)..\bridge\c&quot;;&quot;$(ProjectDir)..\bridge\jsc&quot;;&quot;$(ProjectDir)..\css&quot;;&quot;$(ProjectDir)..\editing&quot;;&quot;$(ProjectDir)..\fileapi&quot;;&quot;$(ProjectDir)..\rendering&quot;;&quot;$(ProjectDir)..\rendering\mathml&quot;;&quot;$(ProjectDir)..\rendering\style&quot;;&quot;$(ProjectDir)..\rendering\svg&quot;;&quot;$(ProjectDir)..\bindings&quot;;&quot;$(ProjectDir)..\bindings\generic&quot;;&quot;$(ProjectDir)..\bindings\js&quot;;&quot;$(ProjectDir)..\bindings\js\specialization&quot;;&quot;$(ProjectDir)..\dom&quot;;&quot;$(ProjectDir)..\dom\default&quot;;&quot;$(ProjectDir)..\history&quot;;&quot;$(ProjectDir)..\html&quot;;&quot;$(ProjectDir)..\html\canvas&quot;;&quot;$(ProjectDir)..\html\parser&quot;;&quot;$(ProjectDir)..\html\shadow&quot;;&quot;$(ProjectDir)..\html\track&quot;;&quot;$(ProjectDir)..\inspector&quot;;&quot;$(ProjectDir)..\loader&quot;;&quot;$(ProjectDir)..\loader\appcache&quot;;&quot;$(ProjectDir)..\loader\archive&quot;;&quot;$(ProjectDir)..\loader\archive\cf&quot;;&quot;$(ProjectDir)..\loader\cache&quot;;&quot;$(ProjectDir)..\loader\icon&quot;;&quot;$(ProjectDir)..\mathml&quot;;&quot;$(ProjectDir)..\page&quot;;&quot;$(ProjectDir)..\page\animation&quot;;&quot;$(ProjectDir)..\page\scrolling&quot;;&quot;$(ProjectDir)..\page\win&quot;;&quot;$(ProjectDir)..\platform&quot;;&quot;$(ProjectDir)..\platform\animation&quot;;&quot;$(ProjectDir)..\platform\mock&quot;;&quot;$(ProjectDir)..\platform\sql&quot;;&quot;$(ProjectDir)..\platform\win&quot;;&quot;$(ProjectDir)..\platform\network&quot;;&quot;$(ProjectDir)..\platform\network\win&quot;;&quot;$(ProjectDir)..\platform\cf&quot;;&quot;$(ProjectDir)..\platform\graphics&quot;;&quot;$(ProjectDir)..\platform\graphics\ca&quot;;&quot;$(ProjectDir)..\platform\graphics\cpu\arm\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\filters\arm&quot;;&quot;$(ProjectDir)..\platform\graphics\opentype&quot;;&quot;$(ProjectDir)..\platform\graphics\transforms&quot;;&quot;$(ProjectDir)..\platform\text&quot;;&quot;$(ProjectDir)..\platform\text\transcoder&quot;;&quot;$(ProjectDir)..\platform\graphics\win&quot;;&quot;$(ProjectDir)..\xml&quot;;&quot;$(ProjectDir)..\xml\parser&quot;;&quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;;&quot;$(ProjectDir)..\plugins&quot;;&quot;$(ProjectDir)..\plugins\win&quot;;&quot;$(ProjectDir)..\svg\animation&quot;;&quot;$(ProjectDir)..\svg\graphics&quot;;&quot;$(ProjectDir)..\svg\properties&quot;;&quot;$(ProjectDir)..\svg\graphics\filters&quot;;&quot;$(ProjectDir)..\svg&quot;;&quot;$(ProjectDir)..\testing&quot;;&quot;$(ProjectDir)..\wml&quot;;&quot;$(ProjectDir)..\storage&quot;;&quot;$(ProjectDir)..\websockets&quot;;&quot;$(ProjectDir)..\workers&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include\sqlite&quot;;&quot;$(WebKitLibrariesDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\zlib&quot;"
    1111                PreprocessorDefinitions="__WIN32__;DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS"
    1212                UsePrecompiledHeader="2"
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r139027 r139050  
    1397613976                F5E0C6591643C42C00D6CB69 /* BaseChooserOnlyDateAndTimeInputType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseChooserOnlyDateAndTimeInputType.cpp; sourceTree = "<group>"; };
    1397713977                F5E0C65A1643C42C00D6CB69 /* BaseChooserOnlyDateAndTimeInputType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseChooserOnlyDateAndTimeInputType.h; sourceTree = "<group>"; };
     13978                F6098F7A1666D8A7003269D1 /* DeviceProximityClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeviceProximityClient.h; path = Modules/proximity/DeviceProximityClient.h; sourceTree = "<group>"; };
     13979                F6098F7B1666D8A7003269D1 /* DeviceProximityController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DeviceProximityController.cpp; path = Modules/proximity/DeviceProximityController.cpp; sourceTree = "<group>"; };
     13980                F6098F7C1666D8A7003269D1 /* DeviceProximityController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeviceProximityController.h; path = Modules/proximity/DeviceProximityController.h; sourceTree = "<group>"; };
     13981                F6098F7D1666D8A7003269D1 /* DeviceProximityEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DeviceProximityEvent.cpp; path = Modules/proximity/DeviceProximityEvent.cpp; sourceTree = "<group>"; };
     13982                F6098F7E1666D8A7003269D1 /* DeviceProximityEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeviceProximityEvent.h; path = Modules/proximity/DeviceProximityEvent.h; sourceTree = "<group>"; };
     13983                F6098F7F1666D8A7003269D1 /* DeviceProximityEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = DeviceProximityEvent.idl; path = Modules/proximity/DeviceProximityEvent.idl; sourceTree = "<group>"; };
    1397813984                F7A034C3126BF6BE007DC19E /* FontOrientation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontOrientation.h; sourceTree = "<group>"; };
    1397913985                F8216299029F4FB501000131 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
     
    1806618072                                B1A942DD15B5CE2200D525D1 /* mediasource */,
    1806718073                                333F703D0FB49C16008E12A6 /* notifications */,
     18074                                F6098F781666D841003269D1 /* proximity */,
    1806818075                                89F60B08157F68350075E157 /* quota */,
    1806918076                                FD315FA212B025B100C1A359 /* webaudio */,
     
    2236822375                        tabWidth = 4;
    2236922376                        usesTabs = 0;
     22377                };
     22378                F6098F781666D841003269D1 /* proximity */ = {
     22379                        isa = PBXGroup;
     22380                        children = (
     22381                                F6098F7A1666D8A7003269D1 /* DeviceProximityClient.h */,
     22382                                F6098F7B1666D8A7003269D1 /* DeviceProximityController.cpp */,
     22383                                F6098F7C1666D8A7003269D1 /* DeviceProximityController.h */,
     22384                                F6098F7D1666D8A7003269D1 /* DeviceProximityEvent.cpp */,
     22385                                F6098F7E1666D8A7003269D1 /* DeviceProximityEvent.h */,
     22386                                F6098F7F1666D8A7003269D1 /* DeviceProximityEvent.idl */,
     22387                        );
     22388                        name = proximity;
     22389                        sourceTree = "<group>";
    2237022390                };
    2237122391                FABE72EC1059C1EB00D999DD /* mathml */ = {
  • trunk/Source/WebCore/history/PageCache.cpp

    r137520 r139050  
    3535#include "DeviceMotionController.h"
    3636#include "DeviceOrientationController.h"
     37#include "DeviceProximityController.h"
    3738#include "Document.h"
    3839#include "DocumentLoader.h"
     
    252253    }
    253254#endif
     255#if ENABLE(PROXIMITY_EVENTS)
     256    if (DeviceProximityController::isActiveAt(page)) {
     257        PCLOG("   -Page is using DeviceProximity");
     258        rejectReasons |= 1 << UsesDeviceMotion;
     259    }
     260#endif
    254261    FrameLoadType loadType = page->mainFrame()->loader()->loadType();
    255262    if (loadType == FrameLoadTypeReload) {
     
    386393        && !DeviceOrientationController::isActiveAt(page)
    387394#endif
     395#if ENABLE(PROXIMITY_EVENTS)
     396        && !DeviceProximityController::isActiveAt(page)
     397#endif
    388398        && loadType != FrameLoadTypeReload
    389399        && loadType != FrameLoadTypeReloadFromOrigin
  • trunk/Source/WebCore/page/DOMWindow.cpp

    r138181 r139050  
    4848#include "DeviceMotionController.h"
    4949#include "DeviceOrientationController.h"
     50#include "DeviceProximityController.h"
    5051#include "Document.h"
    5152#include "DocumentLoader.h"
     
    16021603#endif
    16031604
     1605#if ENABLE(PROXIMITY_EVENTS)
     1606    else if (eventType == eventNames().webkitdeviceproximityEvent) {
     1607        if (DeviceProximityController* controller = DeviceProximityController::from(page()))
     1608            controller->addDeviceEventListener(this);
     1609    }
     1610#endif
     1611
    16041612    return true;
    16051613}
     
    16311639#endif
    16321640
     1641#if ENABLE(PROXIMITY_EVENTS)
     1642    else if (eventType == eventNames().webkitdeviceproximityEvent) {
     1643        if (DeviceProximityController* controller = DeviceProximityController::from(page()))
     1644            controller->removeDeviceEventListener(this);
     1645    }
     1646#endif
     1647
    16331648    return true;
    16341649}
     
    16911706#endif
    16921707
     1708#if ENABLE(PROXIMITY_EVENTS)
     1709    if (DeviceProximityController* controller = DeviceProximityController::from(page()))
     1710        controller->removeAllDeviceEventListeners(this);
     1711#endif
     1712
    16931713    removeAllUnloadEventListeners(this);
    16941714    removeAllBeforeUnloadEventListeners(this);
  • trunk/Source/WebCore/testing/Internals.cpp

    r138991 r139050  
    101101#endif
    102102
     103#if ENABLE(PROXIMITY_EVENTS)
     104#include "DeviceProximityController.h"
     105#endif
     106
    103107#if ENABLE(PAGE_POPUP)
    104108#include "PagePopupController.h"
     
    13311335    UNUSED_PARAM(bandwidth);
    13321336    UNUSED_PARAM(metered);
     1337#endif
     1338}
     1339
     1340void Internals::setDeviceProximity(Document* document, const String& eventType, double value, double min, double max, ExceptionCode& ec)
     1341{
     1342    if (!document || !document->page()) {
     1343        ec = INVALID_ACCESS_ERR;
     1344        return;
     1345    }
     1346
     1347#if ENABLE(PROXIMITY_EVENTS)
     1348    DeviceProximityController::from(document->page())->didChangeDeviceProximity(value, min, max);
     1349#else
     1350    UNUSED_PARAM(eventType);
     1351    UNUSED_PARAM(value);
     1352    UNUSED_PARAM(min);
     1353    UNUSED_PARAM(max);
    13331354#endif
    13341355}
  • trunk/Source/WebCore/testing/Internals.h

    r138991 r139050  
    202202    void setNetworkInformation(Document*, const String& eventType, double bandwidth, bool metered, ExceptionCode&);
    203203
     204    void setDeviceProximity(Document*, const String& eventType, double value, double min, double max, ExceptionCode&);
     205
    204206    void suspendAnimations(Document*, ExceptionCode&) const;
    205207    void resumeAnimations(Document*, ExceptionCode&) const;
  • trunk/Source/WebCore/testing/Internals.idl

    r138991 r139050  
    194194#endif
    195195
     196#if defined(ENABLE_PROXIMITY_EVENTS) && ENABLE_PROXIMITY_EVENTS
     197    void setDeviceProximity(in Document document, in DOMString eventType, in double value, in double min, in double max) raises (DOMException);
     198#endif
     199
    196200    [Conditional=INSPECTOR] unsigned long numberOfLiveNodes();
    197201    [Conditional=INSPECTOR] unsigned long numberOfLiveDocuments();
  • trunk/Source/WebKit2/CMakeLists.txt

    r138881 r139050  
    473473    WebProcess/WebCoreSupport/WebContextMenuClient.cpp
    474474    WebProcess/WebCoreSupport/WebDatabaseManager.cpp
     475    WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp
    475476    WebProcess/WebCoreSupport/WebDragClient.cpp
    476477    WebProcess/WebCoreSupport/WebEditorClient.cpp
  • trunk/Source/WebKit2/ChangeLog

    r139046 r139050  
     12013-01-08  Kihong Kwon  <kihong.kwon@samsung.com>
     2
     3        Add DeviceProximityController to support Device Proximity Events.
     4        https://bugs.webkit.org/show_bug.cgi?id=97630
     5
     6        Reviewed by Hajime Morita.
     7
     8        Add initial WebDeviceProximityClient class which is inherited DeviceProximityClient.
     9        But startUpdating and stopUpdating need to be implemented.
     10
     11        * CMakeLists.txt:
     12        * WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp: Added.
     13        (WebKit):
     14        (WebKit::WebDeviceProximityClient::WebDeviceProximityClient):
     15        (WebKit::WebDeviceProximityClient::startUpdating):
     16        (WebKit::WebDeviceProximityClient::stopUpdating):
     17        (WebKit::WebDeviceProximityClient::hasLastData):
     18        * WebProcess/WebCoreSupport/WebDeviceProximityClient.h: Added.
     19        (WebKit):
     20        (WebDeviceProximityClient):
     21        (WebKit::WebDeviceProximityClient::~WebDeviceProximityClient):
     22        * WebProcess/WebPage/WebPage.cpp:
     23        (WebKit::WebPage::WebPage):
     24
    1252013-01-03  Sergio Villar Senin  <svillar@igalia.com>
    226
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r139023 r139050  
    158158#endif
    159159
     160#if ENABLE(PROXIMITY_EVENTS)
     161#include "WebDeviceProximityClient.h"
     162#endif
     163
    160164#if PLATFORM(MAC)
    161165#include "SimplePDFPlugin.h"
     
    322326#if ENABLE(VIBRATION)
    323327    WebCore::provideVibrationTo(m_page.get(), new WebVibrationClient(this));
     328#endif
     329#if ENABLE(PROXIMITY_EVENTS)
     330    WebCore::provideDeviceProximityTo(m_page.get(), new WebDeviceProximityClient(this));
    324331#endif
    325332
Note: See TracChangeset for help on using the changeset viewer.