Diff
Modified: branches/safari-537-branch/Source/WebCore/ChangeLog (152240 => 152241)
--- branches/safari-537-branch/Source/WebCore/ChangeLog 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebCore/ChangeLog 2013-07-01 20:07:24 UTC (rev 152241)
@@ -1,5 +1,23 @@
2013-07-01 Lucas Forschler <[email protected]>
+ Merge r152065
+
+ 2013-06-26 Roger Fong <[email protected]>
+
+ Add an accessibility delegate interface to AppleWin port.
+ https://bugs.webkit.org/show_bug.cgi?id=118094.
+
+ Reviewed by Brent Fulgham.
+
+ * accessibility/win/AXObjectCacheWin.cpp: We call the page client's AXStartFrameLoad and AXFinishFrameLoad methods here, which will in turn call the AccessibilityDelegate's callbacks.
+ (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::AXStartFrameLoad):
+ (WebCore::EmptyChromeClient::AXFinishFrameLoad):
+ * page/ChromeClient.h:
+
+2013-07-01 Lucas Forschler <[email protected]>
+
Merge r151978
2013-06-25 Ryosuke Niwa <[email protected]>
Modified: branches/safari-537-branch/Source/WebCore/accessibility/win/AXObjectCacheWin.cpp (152240 => 152241)
--- branches/safari-537-branch/Source/WebCore/accessibility/win/AXObjectCacheWin.cpp 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebCore/accessibility/win/AXObjectCacheWin.cpp 2013-07-01 20:07:24 UTC (rev 152241)
@@ -30,6 +30,7 @@
#include "AccessibilityObject.h"
#include "Chrome.h"
+#include "ChromeClient.h"
#include "Document.h"
#include "Page.h"
#include "RenderObject.h"
@@ -127,8 +128,23 @@
{
}
-void AXObjectCache::frameLoadingEventPlatformNotification(AccessibilityObject*, AXLoadingEvent)
+void AXObjectCache::frameLoadingEventPlatformNotification(AccessibilityObject* obj, AXLoadingEvent notification)
{
+ if (!obj)
+ return;
+
+ Document* document = obj->document();
+ if (!document)
+ return;
+
+ Page* page = document->page();
+ if (!page)
+ return;
+
+ if (notification == AXLoadingStarted)
+ page->chrome().client()->AXStartFrameLoad();
+ else if (notification == AXLoadingFinished)
+ page->chrome().client()->AXFinishFrameLoad();
}
AXID AXObjectCache::platformGenerateAXID() const
Modified: branches/safari-537-branch/Source/WebCore/loader/EmptyClients.h (152240 => 152241)
--- branches/safari-537-branch/Source/WebCore/loader/EmptyClients.h 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebCore/loader/EmptyClients.h 2013-07-01 20:07:24 UTC (rev 152241)
@@ -187,6 +187,8 @@
#if PLATFORM(WIN)
virtual void setLastSetCursorToCurrentCursor() { }
+ virtual void AXStartFrameLoad() { }
+ virtual void AXFinishFrameLoad() { }
#endif
#if ENABLE(TOUCH_EVENTS)
virtual void needTouchEvents(bool) { }
Modified: branches/safari-537-branch/Source/WebCore/page/ChromeClient.h (152240 => 152241)
--- branches/safari-537-branch/Source/WebCore/page/ChromeClient.h 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebCore/page/ChromeClient.h 2013-07-01 20:07:24 UTC (rev 152241)
@@ -310,6 +310,8 @@
#if PLATFORM(WIN)
virtual void setLastSetCursorToCurrentCursor() = 0;
+ virtual void AXStartFrameLoad() = 0;
+ virtual void AXFinishFrameLoad() = 0;
#endif
#if ENABLE(TOUCH_EVENTS)
Modified: branches/safari-537-branch/Source/WebKit/ChangeLog (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/ChangeLog 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/ChangeLog 2013-07-01 20:07:24 UTC (rev 152241)
@@ -1,3 +1,17 @@
+2013-07-01 Lucas Forschler <[email protected]>
+
+ Merge r152065
+
+ 2013-06-26 Roger Fong <[email protected]>
+
+ Add an accessibility delegate interface to AppleWin port.
+ https://bugs.webkit.org/show_bug.cgi?id=118094.
+
+ Reviewed by Brent Fulgham.
+
+ * WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
+ * WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters:
+
2013-06-21 Lucas Forschler <[email protected]>
Merge r151847
Modified: branches/safari-537-branch/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj 2013-07-01 20:07:24 UTC (rev 152241)
@@ -161,6 +161,14 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
+ <Midl Include="..\..\win\Interfaces\AccessibilityDelegate.idl">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ </Midl>
<Midl Include="..\..\win\Interfaces\Accessible2\Accessible2.idl" />
<Midl Include="..\..\win\Interfaces\Accessible2\Accessible2_2.idl" />
<Midl Include="..\..\win\Interfaces\Accessible2\AccessibleApplication.idl" />
Modified: branches/safari-537-branch/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters 2013-07-01 20:07:24 UTC (rev 152241)
@@ -274,6 +274,9 @@
<Midl Include="..\..\win\Interfaces\Accessible2\AccessibleApplication.idl">
<Filter>IDL\Accessibility2</Filter>
</Midl>
+ <Midl Include="..\..\win\Interfaces\AccessibilityDelegate.idl">
+ <Filter>IDL</Filter>
+ </Midl>
</ItemGroup>
<ItemGroup>
<None Include="InterfacesPostBuild.cmd" />
Modified: branches/safari-537-branch/Source/WebKit/win/ChangeLog (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/win/ChangeLog 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/win/ChangeLog 2013-07-01 20:07:24 UTC (rev 152241)
@@ -1,3 +1,27 @@
+2013-07-01 Lucas Forschler <[email protected]>
+
+ Merge r152065
+
+ 2013-06-26 Roger Fong <[email protected]>
+
+ Add an accessibility delegate interface to AppleWin port.
+ https://bugs.webkit.org/show_bug.cgi?id=118094.
+
+ Reviewed by Brent Fulgham.
+
+ * Interfaces/AccessibilityDelegate.idl: Added.
+ * Interfaces/IWebView.idl:
+ * Interfaces/WebKit.idl:
+ * WebCoreSupport/WebChromeClient.cpp: Add methods that call into the AccessibilityDelegate.
+ (WebChromeClient::AXStartFrameLoad):
+ (WebChromeClient::AXFinishFrameLoad):
+ * WebCoreSupport/WebChromeClient.h:
+ * WebView.cpp: Add support for setting and getting the AccessibilityDelegate from the WebView.
+ (WebView::close):
+ (WebView::setAccessibilityDelegate):
+ (WebView::accessibilityDelegate):
+ * WebView.h:
+
2013-06-27 Lucas Forschler <[email protected]>
Merge r151841
Copied: branches/safari-537-branch/Source/WebKit/win/Interfaces/AccessibilityDelegate.idl (from rev 152065, trunk/Source/WebKit/win/Interfaces/AccessibilityDelegate.idl) (0 => 152241)
--- branches/safari-537-branch/Source/WebKit/win/Interfaces/AccessibilityDelegate.idl (rev 0)
+++ branches/safari-537-branch/Source/WebKit/win/Interfaces/AccessibilityDelegate.idl 2013-07-01 20:07:24 UTC (rev 152241)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DO_NO_IMPORTS
+import "oaidl.idl";
+import "ocidl.idl";
+#endif
+
+[
+ object,
+ oleautomation,
+ hidden,
+ uuid(C6F9232A-1E7D-4614-BDAE-150262DE6884),
+ pointer_default(unique)
+]
+
+interface IAccessibilityDelegate : IUnknown
+{
+ HRESULT fireFrameLoadStartedEvents();
+ HRESULT fireFrameLoadFinishedEvents();
+}
Modified: branches/safari-537-branch/Source/WebKit/win/Interfaces/IWebView.idl (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/win/Interfaces/IWebView.idl 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/win/Interfaces/IWebView.idl 2013-07-01 20:07:24 UTC (rev 152241)
@@ -227,6 +227,22 @@
HRESULT initWithFrame([in] RECT frame, [in] BSTR frameName, [in] BSTR groupName);
/*!
+ @method accessibilityDelegate:
+ @abstract Return the WebView's accessibilityDelegate.
+ @param delegate The WebUIDelegate to set as the delegate.
+ - (void)setUIDelegate:(id)delegate;
+ */
+ HRESULT setAccessibilityDelegate([in] IAccessibilityDelegate *d);
+
+ /*!
+ @method setAccessibilityDelegate:
+ @abstract Set the WebView's accessibilityDelegate.
+ @result The WebView's WebUIDelegate.
+ - (id)UIDelegate;
+ */
+ HRESULT accessibilityDelegate([out][retval] IAccessibilityDelegate **d);
+
+ /*!
@method setUIDelegate:
@abstract Set the WebView's WebUIDelegate.
@param delegate The WebUIDelegate to set as the delegate.
Modified: branches/safari-537-branch/Source/WebKit/win/Interfaces/WebKit.idl (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/win/Interfaces/WebKit.idl 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/win/Interfaces/WebKit.idl 2013-07-01 20:07:24 UTC (rev 152241)
@@ -58,6 +58,7 @@
import "AccessibleApplication.idl";
#include "AccessibleComparable.idl"
+#include "AccessibilityDelegate.idl"
#include "WebScrollbarTypes.idl"
#include "_javascript_CoreAPITypes.idl"
#include "IWebScriptObject.idl"
Modified: branches/safari-537-branch/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp 2013-07-01 20:07:24 UTC (rev 152241)
@@ -857,4 +857,20 @@
m_webView->fullScreenController()->exitFullScreen();
}
+void WebChromeClient::AXStartFrameLoad()
+{
+ COMPtr<IAccessibilityDelegate> delegate;
+ m_webView->accessibilityDelegate(&delegate);
+ if (delegate)
+ delegate->fireFrameLoadStartedEvents();
+}
+
+void WebChromeClient::AXFinishFrameLoad()
+{
+ COMPtr<IAccessibilityDelegate> delegate;
+ m_webView->accessibilityDelegate(&delegate);
+ if (delegate)
+ delegate->fireFrameLoadFinishedEvents();
+}
+
#endif
Modified: branches/safari-537-branch/Source/WebKit/win/WebCoreSupport/WebChromeClient.h (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/win/WebCoreSupport/WebChromeClient.h 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/win/WebCoreSupport/WebChromeClient.h 2013-07-01 20:07:24 UTC (rev 152241)
@@ -174,6 +174,9 @@
WebView* webView() { return m_webView; }
+ virtual void AXStartFrameLoad();
+ virtual void AXFinishFrameLoad();
+
private:
COMPtr<IWebUIDelegate> uiDelegate();
Modified: branches/safari-537-branch/Source/WebKit/win/WebView.cpp (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/win/WebView.cpp 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/win/WebView.cpp 2013-07-01 20:07:24 UTC (rev 152241)
@@ -730,6 +730,7 @@
setHostWindow(0);
+ setAccessibilityDelegate(0);
setDownloadDelegate(0);
setEditingDelegate(0);
setFrameLoadDelegate(0);
@@ -2870,6 +2871,22 @@
m_frameLoadDelegate->didReceiveIcon(this, 0, frame);
}
+HRESULT WebView::setAccessibilityDelegate(
+ /* [in] */ IAccessibilityDelegate* d)
+{
+ m_accessibilityDelegate = d;
+ return S_OK;
+}
+
+HRESULT WebView::accessibilityDelegate(
+ /* [out][retval] */ IAccessibilityDelegate** d)
+{
+ if (!m_accessibilityDelegate)
+ return E_POINTER;
+
+ return m_accessibilityDelegate.copyRefTo(d);
+}
+
HRESULT STDMETHODCALLTYPE WebView::setUIDelegate(
/* [in] */ IWebUIDelegate* d)
{
Modified: branches/safari-537-branch/Source/WebKit/win/WebView.h (152240 => 152241)
--- branches/safari-537-branch/Source/WebKit/win/WebView.h 2013-07-01 19:48:10 UTC (rev 152240)
+++ branches/safari-537-branch/Source/WebKit/win/WebView.h 2013-07-01 20:07:24 UTC (rev 152241)
@@ -139,6 +139,12 @@
/* [in] */ BSTR frameName,
/* [in] */ BSTR groupName);
+ virtual HRESULT STDMETHODCALLTYPE setAccessibilityDelegate(
+ /* [in] */ IAccessibilityDelegate *d);
+
+ virtual HRESULT STDMETHODCALLTYPE accessibilityDelegate(
+ /* [out][retval] */ IAccessibilityDelegate **d);
+
virtual HRESULT STDMETHODCALLTYPE setUIDelegate(
/* [in] */ IWebUIDelegate *d);
@@ -1079,6 +1085,7 @@
SIZE m_backingStoreSize;
RefPtr<RefCountedHRGN> m_backingStoreDirtyRegion;
+ COMPtr<IAccessibilityDelegate> m_accessibilityDelegate;
COMPtr<IWebEditingDelegate> m_editingDelegate;
COMPtr<IWebFrameLoadDelegate> m_frameLoadDelegate;
COMPtr<IWebFrameLoadDelegatePrivate> m_frameLoadDelegatePrivate;