summaryrefslogtreecommitdiffstats
path: root/WebKit/win
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/win')
-rw-r--r--WebKit/win/ChangeLog628
-rw-r--r--WebKit/win/DOMCoreClasses.cpp2
-rw-r--r--WebKit/win/DOMHTMLClasses.cpp14
-rwxr-xr-xWebKit/win/Interfaces/IWebFramePrivate.idl6
-rw-r--r--WebKit/win/Interfaces/IWebPreferencesPrivate.idl6
-rw-r--r--WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl14
-rwxr-xr-xWebKit/win/Interfaces/IWebUIDelegatePrivate.idl11
-rw-r--r--WebKit/win/Interfaces/IWebURLRequest.idl2
-rw-r--r--WebKit/win/Interfaces/IWebView.idl12
-rw-r--r--WebKit/win/Interfaces/IWebViewPrivate.idl2
-rw-r--r--WebKit/win/Interfaces/WebKit.idl1
-rw-r--r--WebKit/win/MarshallingHelpers.cpp5
-rw-r--r--WebKit/win/WebCache.cpp9
-rw-r--r--WebKit/win/WebCoreLocalizedStrings.cpp4
-rw-r--r--WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp62
-rw-r--r--WebKit/win/WebCoreSupport/WebFrameLoaderClient.h5
-rw-r--r--WebKit/win/WebCoreSupport/WebInspectorClient.cpp7
-rw-r--r--WebKit/win/WebCoreSupport/WebInspectorClient.h2
-rw-r--r--WebKit/win/WebFrame.cpp99
-rw-r--r--WebKit/win/WebFrame.h11
-rw-r--r--WebKit/win/WebHistory.cpp42
-rw-r--r--WebKit/win/WebHistory.h8
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit.def9
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit.vcproj15
-rwxr-xr-xWebKit/win/WebKit.vcproj/WebKit_Cairo.def6
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit_debug.def9
-rw-r--r--WebKit/win/WebMutableURLRequest.cpp27
-rw-r--r--WebKit/win/WebMutableURLRequest.h4
-rw-r--r--WebKit/win/WebPreferenceKeysPrivate.h2
-rw-r--r--WebKit/win/WebPreferences.cpp30
-rw-r--r--WebKit/win/WebPreferences.h12
-rw-r--r--WebKit/win/WebView.cpp95
-rw-r--r--WebKit/win/WebView.h8
33 files changed, 944 insertions, 225 deletions
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index bbafe2e..5f89f66 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,19 +1,291 @@
-2009-02-12 Mark Rowe <mrowe@apple.com>
+2009-03-26 Dan Bernstein <mitz@apple.com>
- Merge r40886.
+ Reviewed by Adam Roben.
+
+ - add close() to the WebView API.
+
+ * Interfaces/IWebView.idl:
+ * WebView.cpp:
+ (WebView::close):
+ * WebView.h:
+
+2009-03-24 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24779
+ Conditionalize CFNetwork-specific code in WebView to permit
+ support for other network backends.
+
+ * WebView.cpp:
+ (WebView::setCacheModel): Add CFNETWORK check around CFNetwork
+ specific cache implementation.
+ (updateSharedSettingsFromPreferencesIfNeeded): Add CFNETWORK
+ check around use of CFHTTPCookie code.
+
+2009-03-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for <rdar://problem/6140966>
+ Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
+
+ * WebCache.cpp:
+ (WebCache::empty): Also add application cache emptying to match the mac.
+
+2009-03-18 Steve Falkenburg <sfalken@apple.com>
+
+ Add webViewClosing to private UI delegate.
+
+ Reviewed by Adam Roben.
+
+ * Interfaces/IWebUIDelegatePrivate.idl:
+ * Interfaces/WebKit.idl:
+ * WebView.cpp:
+ (WebView::close):
+
+2009-03-17 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adam Roben.
+
+ - WebKit part of adding a mechanism for controlling the caching of
+ responses through WebFrameLoaderClient
+
+ * Interfaces/IWebResourceLoadDelegatePrivate.idl: Added the
+ IWebResourceLoadDelegatePrivate3 interface, containing the new
+ delegate method shouldCacheResponse().
+
+ * Interfaces/IWebURLRequest.idl: Added the isEqual() method.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::shouldCacheResponse): Implemented this new
+ FrameLoaderDelegate method by calling through to the resource load
+ delegate, if it implements shouldCacheResponse(), and returning true
+ otherwise.
+
+ * WebCoreSupport/WebFrameLoaderClient.h:
+
+ * WebMutableURLRequest.cpp:
+ (WebMutableURLRequest::isEqual): Added.
+ (WebMutableURLRequest::setValue): Implemented.
+
+ * WebMutableURLRequest.h: Declared isEqual().
+
+2009-03-16 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6577174> Rename the text directionality submenus to “Paragraph Direction” and “Selection Direction”
+
+ For now, change only the localized strings, not the terminology in the code.
+
+ * WebCoreLocalizedStrings.cpp:
+ (WebCore::contextMenuItemTagWritingDirectionMenu): Changed string here.
+ (WebCore::contextMenuItemTagTextDirectionMenu): And here.
+
+2009-03-16 Adam Roben <aroben@apple.com>
+
+ Add IWebFramePrivate::isDisplayingStandaloneImage
+
+ This uses the same logic that -[WebFrame _isDisplayingStandaloneImage]
+ uses.
+
+ Reviewed by Darin Adler.
+
+ * Interfaces/IWebFramePrivate.idl: Added isDisplayingStandaloneImage.
+
+ * WebFrame.cpp:
+ (WebFrame::isDisplayingStandaloneImage): Added. Returns true if our
+ Document is an image document.
+
+ * WebFrame.h: Added isDisplayingStandaloneImage.
+
+2009-03-12 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24502
+ Make horizontal scrolling on Windows always go the correct direction.
+
+ * WebView.cpp:
+ (WebView::mouseWheel):
+ (WebViewWndProc):
+ * WebView.h:
+
+2009-03-12 Adam Roben <aroben@apple.com>
+
+ Implement DOMHTMLDocument::title
+
+ Reviewed by Dan Bernstein.
+
+ * DOMHTMLClasses.cpp:
+ (DOMHTMLDocument::title): Call through to WebCore::Document (with
+ obligatory COM error checking/type conversions).
+
+2009-03-11 Adam Roben <aroben@apple.com>
+
+ Export functions needed by ThreadSpecific from WebKit
+
+ Reviewed by John Sullivan.
+
+ * WebKit.vcproj/WebKit.def:
+ * WebKit.vcproj/WebKit_debug.def:
+ Export WTF::tlsKeyCount and WTF::tlsKeys.
+
+2009-03-10 Steve Falkenburg <sfalken@apple.com>
+
+ <rdar://problem/6662167> When clicking in Top Sites search field, WebHistory::findIndex fails causing crash in BookmarksSearcher::collectHistorySearchResults
+
+ Round CFAbsoluteDates to the nearest second when converting to/from the Windows DATE format.
+
+ This corrects for inaccuracies introduced by round-tripping between DATE (day based) and CFAbsoluteDate (second based).
+ The WebKit COM API on Windows uses DATE, while our history storage uses CFAbsoluteTime. This could lead to WebKit
+ saying there was browsing history for a particular day, and then return no history items when we requested a
+ list of sites visited that day.
+
+ Reviewed by Ada Chan.
+
+ * MarshallingHelpers.cpp:
+ (MarshallingHelpers::DATEToCFAbsoluteTime):
+ (MarshallingHelpers::CFAbsoluteTimeToDATE):
- 2009-02-11 Brady Eidson <beidson@apple.com>
+2009-03-08 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
+ Frame.h no longer needs to include it. This cuts the size of the symbols
+ for a debug build by around 3%.
+
+ * WebView.cpp:
+ (WebView::centerSelectionInVisibleArea):
+
+2009-03-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - WebKit part of removing build-time and run-time support for legacy
+ versions of CFNetwork and Core Graphics
+
+ * WebView.cpp:
+ (WebView::setCacheModel):
+
+2009-03-04 Adam Barth <abath@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24356
+
+ Fix WebKit style for allowUniversalAccessFromFileURLs.
+
+ * Interfaces/IWebPreferencesPrivate.idl:
+ * WebPreferenceKeysPrivate.h:
+ * WebPreferences.cpp:
+ (WebPreferences::initializeDefaultSettings):
+ (WebPreferences::allowUniversalAccessFromFileURLs):
+ (WebPreferences::setAllowUniversalAccessFromFileURLs):
+ * WebPreferences.h:
+ * WebView.cpp:
+ (WebView::notifyPreferencesChanged):
+
+2009-02-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a preference to reduce the power of file:// URLs.
+
+ * Interfaces/IWebPreferencesPrivate.idl:
+ * WebPreferenceKeysPrivate.h:
+ * WebPreferences.cpp:
+ (WebPreferences::initializeDefaultSettings):
+ (WebPreferences::allowUniversalAccessFromFileUrls):
+ (WebPreferences::setAllowUniversalAccessFromFileUrls):
+ * WebPreferences.h:
+ * WebView.cpp:
+ (WebView::notifyPreferencesChanged):
+
+2009-02-19 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24024
+ REGRESSION (r39845): Assertion failure in -[WebHistoryItem dictionaryRepresentation] when
+ archiving a submission to about:blank
+
+ I don't know how to make an automated test for this bug.
+
+ * WebHistory.cpp: (WebHistory::visitedURL): Account for the fact that HTTP method may be
+ non-empty for non-HTTP requests.
+
+2009-02-25 Andreia Gaita <shana@jitted.com>
+
+ Reviewed by Alp Toker.
+
+ Update Win def files with recent JavaScriptCore API additions.
+
+ * WebKit.vcproj/WebKit.def:
+ * WebKit.vcproj/WebKit_Cairo.def:
+ * WebKit.vcproj/WebKit_debug.def:
+
+2009-02-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Related to <rdar://problem/6590295>
+ Allow disabling javascript: urls.
+
+ * Interfaces/IWebViewPrivate.idl:
+ * WebView.cpp:
+ (WebView::setJavaScriptURLsAreAllowed):
+ * WebView.h:
+
+2009-02-24 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebKit.vcproj/WebKit.def:
+ * WebKit.vcproj/WebKit_debug.def:
+ Export WTF::ThreadCondition::timedWait.
+
+2009-02-12 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Kevin Decker
+
+ <rdar://problem/6582180> - Wrong HTTP method applied to history item.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any
+ redirected request.
+
+2009-02-11 Brady Eidson <beidson@apple.com>
Fix my last checkin for more effect.
* WebHistoryItem.cpp:
(WebHistoryItem::initFromDictionaryRepresentation):
-2009-02-12 Mark Rowe <mrowe@apple.com>
+2009-02-11 Adam Roben <aroben@apple.com>
+
+ Windows fix for Bug 22239: Implement missing animation & transition
+ APIs on LayoutTestController for non-mac platforms
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22239>
+
+ Reviewed by Simon Fraser.
+
+ * Interfaces/IWebFramePrivate.idl: Added pauseAnimation,
+ pauseTransition, and numberOfActiveAnimations.
+
+ * WebFrame.cpp:
+ (WebFrame::pauseAnimation):
+ (WebFrame::pauseTransition):
+ (WebFrame::numberOfActiveAnimation):
+ Added. These all call through to AnimationController.
- Merge r40882.
+ * WebFrame.h: Added pauseAnimation, pauseTransition, and
+ numberOfActiveAnimations.
- 2009-02-11 Brady Eidson <beidson@apple.com>
+2009-02-11 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe
@@ -35,11 +307,96 @@
(WebHistoryItem::initFromDictionaryRepresentation): Add the negative-visit-count-correction-logic as implemented
for Mac in http://trac.webkit.org/changeset/40851.
-2009-02-06 Mark Rowe <mrowe@apple.com>
+2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>
+
+ Stub out WebInspectorClient::hiddenPanels.
+
+ Reviewed by Timothy Hatcher.
+
+ * WebCoreSupport/WebInspectorClient.cpp:
+ (WebInspectorClient::hiddenPanels):
+ * WebCoreSupport/WebInspectorClient.h:
+
+2009-02-11 Adam Roben <aroben@apple.com>
+
+ Don't release the shared WebHistory instance on quit
+
+ This matches Mac, and prevents a race condition when the process exits
+ that depends on the order in which global destructors are invoked.
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebHistory.cpp:
+ (sharedHistoryStorage): Changed to use DEFINE_STATIC_LOCAL so the
+ destructor is never called.
+
+2009-02-10 Adam Roben <aroben@apple.com>
+
+ Fix recursive WebView destruction when running DumpRenderTree
+
+ DumpRenderTree would call DestroyWindow on a WebView's host window,
+ which would send a WM_DESTROY message to the WebView's window. Inside
+ the WebView's WndProc, we would hold a ref to the WebView, then call
+ close() and revokeDragDrop(), which would release all remaining
+ references to the WebView other than the ref we held in the WndProc.
+ When the WndProc exited, the final ref to the WebView would be
+ released, invoking WebView's destructor. At this point,
+ IsWindow(m_viewWindow) would return true, since we were still in the
+ process of handling WM_DESTROY, so we would call DestroyWindow on the
+ WebView's window again, re-entering the WndProc and re-reffing the
+ WebView, leading to recursive destruction.
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebView.cpp:
+ (WebView::~WebView): Don't call DestroyWindow if our window is already
+ being destroyed.
+ (WebViewWndProc): Only hold an extra ref to the WebView when we're not
+ being destroyed.
+
+2009-02-06 Adam Roben <aroben@apple.com>
+
+ Build fix
+
+ Reviewed by Sam Weinig.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp: Added missing #include.
+ (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Removed
+ incorrect .get(), and changed to use the new overload of
+ WebHistory::itemForURLString.
+
+ * WebHistory.cpp:
+ (WebHistory::itemForURLString): Made this const.
+ (WebHistory::itemForURLString): Added an overload that takes a
+ WebCore::String and returns the IWebHistoryItem instead of using an
+ out parameter.
+
+ * WebHistory.h: Added public overload of itemForURLString.
+
+ * WebView.cpp:
+ (WebView::prepareCandidateWindow):
+ (WebView::onIMERequestCharPosition):
+ (WebView::onIMERequestReconvertString):
+ Updated for toRange -> toNormalizedRange rename.
- Merge r40726.
+2009-02-06 Geoffrey Garen <ggaren@apple.com>
- 2009-02-06 Dan Bernstein <mitz@apple.com>
+ Reviewed by Sam Weinig.
+
+ Part III of <rdar://problem/6552272>.
+
+ Refactored to use the redirect data WebCore makes available, instead of
+ tracking loading state in WebKit.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::updateGlobalHistory):
+ (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+ * WebCoreSupport/WebFrameLoaderClient.h:
+ * WebHistory.cpp:
+ (WebHistory::visitedURL):
+ * WebHistory.h:
+
+2009-02-06 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
@@ -51,11 +408,14 @@
size. Also reduced the inline capacity of the vector used for weekly visit
counts to 5, which is the expected maximum size.
-2009-02-06 Mark Rowe <mrowe@apple.com>
+2009-02-06 Brent Fulgham <bfulgham@webkit.org>
- Merge r40713.
+ Build fix.
- 2009-02-06 Maciej Stachowiak <mjs@apple.com>
+ * WebKit.vcproj/WebKit.vcproj: Re-enable missing file in Release
+ target of Cairo.
+
+2009-02-06 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Dan Bernstein.
@@ -64,11 +424,7 @@
* WebHistoryItem.cpp:
(WebHistoryItem::initFromDictionaryRepresentation):
-2009-02-06 Mark Rowe <mrowe@apple.com>
-
- Merge r40712.
-
- 2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>
+2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein and Geoff Garen..
@@ -89,89 +445,74 @@
(WebHistoryItem::recordInitialVisit): Tell WebCore to record an initial visit.
* WebHistoryItem.h:
-2009-02-04 Steve Falkenburg <sfalken@apple.com>
+2009-02-05 Brent Fulgham <bfulgham@webkit.org>
- Merge r40365.
+ Reviewed by Sam Weinig <sam@webkit.org>
- 2009-01-29 Adam Roben <aroben@apple.com>
+ Build fix. Update file for recently removed EventTargetNodeCast.
+ * DOMCoreClasses.cpp:
+ (DOMNode::dispatchEvent):
- Build fix after r40353
+2009-02-05 Aaron Boodman <aa@chromium.org>
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::loadURLIntoChild): Removed the check for
- FrameLoadTypeReloadAllowingStaleData.
+ Reviewed by Dave Hyatt.
-2009-02-04 Steve Falkenburg <sfalken@apple.com>
+ https://bugs.webkit.org/show_bug.cgi?id=23708
+ Adds documentElementAvailable() callback to FrameLoaderClient.
- Merge r40511.
+ * WebFrame.cpp:
+ (WebFrame::documentElementAvailable):
+ Stub out documentElementAvailable()
+ * WebFrame.h:
+ Ditto.
- 2009-02-02 Geoffrey Garen <ggaren@apple.com>
+2009-02-04 Geoffrey Garen <ggaren@apple.com>
Build fix.
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::loadURLIntoChild):
-
-2009-02-04 Steve Falkenburg <sfalken@apple.com>
-
- Merge part of r40470.
-
- 2009-01-31 Matt Lilek <webkit@mattlilek.com>
-
- Not reviewed, build fixes.
-
- * WebCoreSupport/WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle):
-
-2009-02-03 Mark Rowe <mrowe@apple.com>
-
- Merge r40392.
-
- 2009-01-29 Sam Weinig <sam@webkit.org>
+ * WebHistory.cpp:
+ (WebHistory::visitedURL):
- Fix Windows build
+2009-02-04 Geoffrey Garen <ggaren@apple.com>
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation):
+ Reviewed by Mark Rowe.
+
+ Part I of <rdar://problem/6552272>.
-2009-02-03 Mark Rowe <mrowe@apple.com>
+ Clear the redirectURLs entry when first visiting a site, so sites that
+ only redirect you the first time you visit them can later learn that
+ they don't redirect.
- Merge r40529.
+ * WebHistory.cpp:
+ (WebHistory::visitedURL):
- 2009-02-03 Geoffrey Garen <ggaren@apple.com>
+2009-02-03 Geoffrey Garen <ggaren@apple.com>
Build fix.
* WebHistory.cpp:
(WebHistory::visitedURL):
-2009-02-03 Mark Rowe <mrowe@apple.com>
-
- Merge r40528.
-
- 2009-02-02 Geoffrey Garen <ggaren@apple.com>
+2009-02-02 Geoffrey Garen <ggaren@apple.com>
Build fix.
* WebHistory.cpp:
(WebHistory::visitedURL):
-2009-02-03 Mark Rowe <mrowe@apple.com>
+2009-02-02 Hiroaki Nakamura <hnakamur@gmail.com>
- Merge r40511.
-
- 2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::loadURLIntoChild):
+ Reviewed by Adam Roben.
-2009-02-03 Mark Rowe <mrowe@apple.com>
+ Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
+ Modify pre-build step to properly handle the errorlevel
+ shell command.
- Merge r40508.
+ * WebKit.vcproj/WebKit.vcproj: Change errorlevel handling
+ for all targets so prefast is only enabled in builds
+ where /analyze is available.
- 2009-02-02 Geoffrey Garen <ggaren@apple.com>
+2009-02-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
@@ -199,11 +540,7 @@
* WebHistory.h: See above.
-2009-02-03 Mark Rowe <mrowe@apple.com>
-
- Merge r40503.
-
- 2009-02-02 Brady Eidson <beidson@apple.com>
+2009-02-02 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein
@@ -221,42 +558,69 @@
(WebHistoryItem::visitedWithTitle):
* WebHistoryItem.h:
-2009-02-03 Mark Rowe <mrowe@apple.com>
+2009-02-02 Anders Carlsson <andersca@apple.com>
- Merge r40382.
+ Fix build.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::createPlugin):
+ * WebCoreSupport/WebFrameLoaderClient.h:
- 2009-01-29 Sam Weinig <sam@webkit.org>
+2009-02-02 Anders Carlsson <andersca@apple.com>
- Reviewed by Anders Carlsson.
+ Reviewed by Dan Bernstein.
- Second step in tracking the urls a HistoryItem was redirected through
- Add SPI to access the array of redirect urls associated with a HistoryItem.
+ Update for changes to WebCore.
- * Interfaces/IWebHistoryItemPrivate.idl:
- * WebHistoryItem.cpp:
- (WebHistoryItem::dictionaryRepresentation):
- (WebHistoryItem::redirectURLs):
- * WebHistoryItem.h:
+ * WebFrame.cpp:
+ (WebFrame::createJavaAppletWidget):
+ * WebFrame.h:
-2009-02-03 Mark Rowe <mrowe@apple.com>
+2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
- Merge r40380.
+ Reviewed by Darin Adler.
- 2009-01-29 Sam Weinig <sam@webkit.org>
+ Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
- Reviewed by Mark Rowe.
+ https://bugs.webkit.org/show_bug.cgi?id=23428
- First step in tracking the urls a HistoryItem was redirected through.
+ FrameView::forceLayout could be killed but the comment might
+ contain a value over the the plain FrameView::layout...
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation):
- (WebHistoryItem::dictionaryRepresentation):
+ Adjust the WebCore/WebKit consumers of these methods.
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::forceLayout):
+
+2009-01-31 Matt Lilek <webkit@mattlilek.com>
+
+ Not reviewed, build fixes.
+
+ * WebCoreSupport/WebContextMenuClient.cpp:
+ (WebContextMenuClient::searchWithGoogle):
+ * WebFrame.cpp:
+ (WebFrame::setInPrintingMode):
+ (WebFrame::isFrameSet):
+ * WebView.cpp:
+ (WebView::notifyPreferencesChanged):
+
+2009-01-30 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
-2009-02-03 Mark Rowe <mrowe@apple.com>
+ Add a pref to disable web security.
- Merge r40436.
+ * Interfaces/IWebPreferencesPrivate.idl:
+ * WebPreferenceKeysPrivate.h:
+ * WebPreferences.cpp:
+ (WebPreferences::initializeDefaultSettings):
+ (WebPreferences::isWebSecurityEnabled):
+ (WebPreferences::setWebSecurityEnabled):
+ * WebPreferences.h:
+ * WebView.cpp:
+ (WebView::notifyPreferencesChanged):
- 2009-01-30 Geoffrey Garen <ggaren@apple.com>
+2009-01-30 Geoffrey Garen <ggaren@apple.com>
Build fix.
@@ -264,24 +628,59 @@
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::loadURLIntoChild):
-2009-02-03 Mark Rowe <mrowe@apple.com>
+2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
- Merge r40353.
+ Reviewed by Simon Hausmann.
- 2009-01-28 Geoffrey Garen <ggaren@apple.com>
+ Kill FrameLoaderClient.cpp, move the code over to Frame::createView
- Reviewed by Sam Weinig.
+ FrameLoaderClient is supposed to be an interface, move the
+ to be shared code to Frame which is a controller and is
+ allowed to create a FrameView.
- Updated for WebCore rename.
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebView.cpp:
- (WebView::setCustomTextEncodingName):
+2009-01-30 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig
-2009-02-03 Mark Rowe <mrowe@apple.com>
+ Remove FrameLoaderClient code that is now handled by FrameLoader itself
- Merge r40366.
+ * WebFrame.cpp:
+ (WebFrame::frameLoadCompleted):
+
+2009-01-29 Sam Weinig <sam@webkit.org>
+
+ Fix Windows build
+
+ * WebHistoryItem.cpp:
+ (WebHistoryItem::initFromDictionaryRepresentation):
+
+2009-01-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Second step in tracking the urls a HistoryItem was redirected through
+ Add SPI to access the array of redirect urls associated with a HistoryItem.
+
+ * Interfaces/IWebHistoryItemPrivate.idl:
+ * WebHistoryItem.cpp:
+ (WebHistoryItem::dictionaryRepresentation):
+ (WebHistoryItem::redirectURLs):
+ * WebHistoryItem.h:
+
+2009-01-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ First step in tracking the urls a HistoryItem was redirected through.
- 2009-01-29 Adam Roben <aroben@apple.com>
+ * WebHistoryItem.cpp:
+ (WebHistoryItem::initFromDictionaryRepresentation):
+ (WebHistoryItem::dictionaryRepresentation):
+
+2009-01-29 Adam Roben <aroben@apple.com>
Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
receives a WM_PRINTCLIENT message
@@ -313,6 +712,23 @@
* WebView.h: Added windowsToPaint parameters to paintIntoBackingStore
and updateBackingStore (which I also made private).
+2009-01-29 Adam Roben <aroben@apple.com>
+
+ Build fix after r40353
+
+ * WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::loadURLIntoChild): Removed the check for
+ FrameLoadTypeReloadAllowingStaleData.
+
+2009-01-28 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Updated for WebCore rename.
+
+ * WebView.cpp:
+ (WebView::setCustomTextEncodingName):
+
2009-01-27 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein
diff --git a/WebKit/win/DOMCoreClasses.cpp b/WebKit/win/DOMCoreClasses.cpp
index 2da3e28..19f076f 100644
--- a/WebKit/win/DOMCoreClasses.cpp
+++ b/WebKit/win/DOMCoreClasses.cpp
@@ -381,7 +381,7 @@ HRESULT STDMETHODCALLTYPE DOMNode::dispatchEvent(
return hr;
WebCore::ExceptionCode ec = 0;
- *result = WebCore::EventTargetNodeCast(m_node)->dispatchEvent(domEvent->coreEvent(), ec) ? TRUE : FALSE;
+ *result = m_node->dispatchEvent(domEvent->coreEvent(), ec) ? TRUE : FALSE;
#if 0 // FIXME - raise dom exceptions
WebCore::raiseOnDOMError(ec);
#endif
diff --git a/WebKit/win/DOMHTMLClasses.cpp b/WebKit/win/DOMHTMLClasses.cpp
index 037aa88..ceb0374 100644
--- a/WebKit/win/DOMHTMLClasses.cpp
+++ b/WebKit/win/DOMHTMLClasses.cpp
@@ -180,10 +180,18 @@ HRESULT STDMETHODCALLTYPE DOMHTMLDocument::QueryInterface(REFIID riid, void** pp
// DOMHTMLDocument ------------------------------------------------------------
HRESULT STDMETHODCALLTYPE DOMHTMLDocument::title(
- /* [retval][out] */ BSTR* /*result*/)
+ /* [retval][out] */ BSTR* result)
{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
+ if (!result)
+ return E_POINTER;
+
+ *result = 0;
+
+ if (!m_document || !m_document->isHTMLDocument())
+ return E_FAIL;
+
+ *result = BString(m_document->title()).release();
+ return S_OK;
}
HRESULT STDMETHODCALLTYPE DOMHTMLDocument::setTitle(
diff --git a/WebKit/win/Interfaces/IWebFramePrivate.idl b/WebKit/win/Interfaces/IWebFramePrivate.idl
index d1f6cbf..f00bec5 100755
--- a/WebKit/win/Interfaces/IWebFramePrivate.idl
+++ b/WebKit/win/Interfaces/IWebFramePrivate.idl
@@ -83,4 +83,10 @@ interface IWebFramePrivate : IUnknown
HRESULT paintDocumentRectToContext([in] RECT rect, [in] OLE_HANDLE deviceContext);
HRESULT elementDoesAutoComplete([in] IDOMElement* element, [out, retval] BOOL* result);
+
+ HRESULT pauseAnimation([in] BSTR animationName, [in] IDOMNode* node, [in] double secondsFromNow, [out, retval] BOOL* animationWasRunning);
+ HRESULT pauseTransition([in] BSTR propertyName, [in] IDOMNode* node, [in] double secondsFromNow, [out, retval] BOOL* transitionWasRunning);
+ HRESULT numberOfActiveAnimations([out, retval] UINT* number);
+
+ HRESULT isDisplayingStandaloneImage([out, retval] BOOL* result);
}
diff --git a/WebKit/win/Interfaces/IWebPreferencesPrivate.idl b/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
index aa1073f..b9e05ec 100644
--- a/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
+++ b/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
@@ -69,4 +69,10 @@ interface IWebPreferencesPrivate : IUnknown
HRESULT setFontSmoothingContrast([in] float contrast);
HRESULT fontSmoothingContrast([out, retval] float* contrast);
+
+ HRESULT isWebSecurityEnabled([out, retval] BOOL* enabled);
+ HRESULT setWebSecurityEnabled([in] BOOL enabled);
+
+ HRESULT allowUniversalAccessFromFileURLs([out, retval] BOOL *allowAccess);
+ HRESULT setAllowUniversalAccessFromFileURLs([in] BOOL allowAccess);
}
diff --git a/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl b/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl
index 95040bf..df23091 100644
--- a/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl
+++ b/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -35,7 +35,6 @@ interface IWebDataSource;
interface IWebURLResponse;
interface IWebURLRequest;
-
/*!
@category WebResourceLoadDelegatePrivate
*/
@@ -70,3 +69,14 @@ interface IWebResourceLoadDelegatePrivate2 : IWebResourceLoadDelegatePrivate
{
HRESULT shouldUseCredentialStorage([in] IWebView* webView, [in] unsigned long identifier, [in] IWebDataSource* dataSource, [out, retval] BOOL* shouldUse);
}
+
+[
+ object,
+ oleautomation,
+ uuid(099DC3C1-34B5-4169-ABBF-0C63CBC25605),
+ pointer_default(unique)
+]
+interface IWebResourceLoadDelegatePrivate3 : IWebResourceLoadDelegatePrivate2
+{
+ HRESULT shouldCacheResponse([in] IWebView* webView, [in] unsigned long identifier, [in] IWebURLResponse* response, [in] const char* data, [in] unsigned long long length, [in] IWebDataSource* dataSource, [out, retval] BOOL* shouldCache);
+}
diff --git a/WebKit/win/Interfaces/IWebUIDelegatePrivate.idl b/WebKit/win/Interfaces/IWebUIDelegatePrivate.idl
index 5ef53d9..c6d3bbd 100755
--- a/WebKit/win/Interfaces/IWebUIDelegatePrivate.idl
+++ b/WebKit/win/Interfaces/IWebUIDelegatePrivate.idl
@@ -92,3 +92,14 @@ interface IWebUIDelegatePrivate4 : IWebUIDelegatePrivate3
HRESULT embeddedViewWithArguments([in] IWebView* sender, [in] IWebFrame* frame, [in] IPropertyBag* arguments, [out, retval] IWebEmbeddedView** view);
HRESULT webViewSendResizeMessage([in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam);
}
+
+[
+ object,
+ oleautomation,
+ uuid(df3b4283-6868-4a1f-97f6-baf0b33f239c),
+ pointer_default(unique)
+]
+interface IWebUIDelegatePrivate5 : IWebUIDelegatePrivate4
+{
+ HRESULT webViewClosing([in] IWebView* sender);
+}
diff --git a/WebKit/win/Interfaces/IWebURLRequest.idl b/WebKit/win/Interfaces/IWebURLRequest.idl
index 0f72fa8..4b27592 100644
--- a/WebKit/win/Interfaces/IWebURLRequest.idl
+++ b/WebKit/win/Interfaces/IWebURLRequest.idl
@@ -110,4 +110,6 @@ interface IWebURLRequest : IUnknown
HRESULT isEmpty([out, retval] BOOL* result);
HRESULT mutableCopy([out, retval] IWebMutableURLRequest** result);
+
+ HRESULT isEqual([in] IWebURLRequest* other, [out, retval] BOOL* result);
}
diff --git a/WebKit/win/Interfaces/IWebView.idl b/WebKit/win/Interfaces/IWebView.idl
index e38406b..04e996c 100644
--- a/WebKit/win/Interfaces/IWebView.idl
+++ b/WebKit/win/Interfaces/IWebView.idl
@@ -723,6 +723,18 @@ interface IWebView : IUnknown
+ (void)registerURLSchemeAsLocal:(NSString *)scheme;
*/
HRESULT registerURLSchemeAsLocal([in] BSTR scheme);
+
+ /*!
+ @method close
+ @abstract Closes the receiver, unloading its web page and canceling any pending loads.
+ Once the receiver has closed, it will no longer respond to requests or fire delegate methods.
+ (However, the -close method itself may fire delegate methods.)
+ @discussion A garbage collected application is required to call close when the receiver is no longer needed.
+ The close method will be called automatically when the window or hostWindow closes and shouldCloseWithWindow returns YES.
+ A non-garbage collected application can still call close, providing a convenient way to prevent receiver
+ from doing any more loading and firing any future delegate methods.
+ */
+ HRESULT close();
}
/*
diff --git a/WebKit/win/Interfaces/IWebViewPrivate.idl b/WebKit/win/Interfaces/IWebViewPrivate.idl
index c32a20b..4362f89 100644
--- a/WebKit/win/Interfaces/IWebViewPrivate.idl
+++ b/WebKit/win/Interfaces/IWebViewPrivate.idl
@@ -157,4 +157,6 @@ interface IWebViewPrivate : IUnknown
HRESULT registerEmbeddedViewMIMEType([in] BSTR mimeType);
HRESULT setMemoryCacheDelegateCallsEnabled([in] BOOL enabled);
+
+ HRESULT setJavaScriptURLsAreAllowed([in] BOOL areAllowed);
}
diff --git a/WebKit/win/Interfaces/WebKit.idl b/WebKit/win/Interfaces/WebKit.idl
index a78a5d3..338ab71 100644
--- a/WebKit/win/Interfaces/WebKit.idl
+++ b/WebKit/win/Interfaces/WebKit.idl
@@ -367,3 +367,4 @@ library WebKit
}
}
+
diff --git a/WebKit/win/MarshallingHelpers.cpp b/WebKit/win/MarshallingHelpers.cpp
index 60f2749..0cec6de 100644
--- a/WebKit/win/MarshallingHelpers.cpp
+++ b/WebKit/win/MarshallingHelpers.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "WebKitDLL.h"
#include "MarshallingHelpers.h"
+#include "MathExtras.h"
#pragma warning(push, 0)
#include <WebCore/IntRect.h>
@@ -144,12 +145,12 @@ CFAbsoluteTime MarshallingHelpers::DATEToCFAbsoluteTime(DATE date)
// the reference date. Positive values indicate dates/times after the
// reference date.
- return (date + windowsEpochAbsoluteTime()) * secondsPerDay;
+ return round((date + windowsEpochAbsoluteTime()) * secondsPerDay);
}
DATE MarshallingHelpers::CFAbsoluteTimeToDATE(CFAbsoluteTime absoluteTime)
{
- return (absoluteTime/secondsPerDay - windowsEpochAbsoluteTime());
+ return (round(absoluteTime)/secondsPerDay - windowsEpochAbsoluteTime());
}
// utility method to store a 1-dim string vector into a newly created SAFEARRAY
diff --git a/WebKit/win/WebCache.cpp b/WebKit/win/WebCache.cpp
index 2e5c2e9..c7351b0 100644
--- a/WebKit/win/WebCache.cpp
+++ b/WebKit/win/WebCache.cpp
@@ -30,7 +30,9 @@
#include "CFDictionaryPropertyBag.h"
#pragma warning(push, 0)
+#include <WebCore/ApplicationCacheStorage.h>
#include <WebCore/Cache.h>
+#include <WebCore/CrossOriginPreflightResultCache.h>
#pragma warning(pop)
// WebCache ---------------------------------------------------------------------------
@@ -206,6 +208,13 @@ HRESULT STDMETHODCALLTYPE WebCache::empty( void)
return S_OK;
WebCore::cache()->setDisabled(true);
WebCore::cache()->setDisabled(false);
+
+ // Empty the application cache.
+ WebCore::cacheStorage().empty();
+
+ // Empty the Cross-Origin Preflight cache
+ WebCore::CrossOriginPreflightResultCache::shared().empty();
+
return S_OK;
}
diff --git a/WebKit/win/WebCoreLocalizedStrings.cpp b/WebKit/win/WebCoreLocalizedStrings.cpp
index 21dc35d..c383818 100644
--- a/WebKit/win/WebCoreLocalizedStrings.cpp
+++ b/WebKit/win/WebCoreLocalizedStrings.cpp
@@ -68,8 +68,8 @@ String WebCore::contextMenuItemTagBold() { return String(LPCTSTR_UI_STRING("Bold
String WebCore::contextMenuItemTagItalic() { return String(LPCTSTR_UI_STRING("Italic", "Italic context menu item")); }
String WebCore::contextMenuItemTagUnderline() { return String(LPCTSTR_UI_STRING("Underline", "Underline context menu item")); }
String WebCore::contextMenuItemTagOutline() { return String(LPCTSTR_UI_STRING("Outline", "Outline context menu item")); }
-String WebCore::contextMenuItemTagWritingDirectionMenu() { return String(LPCTSTR_UI_STRING("Writing Direction", "Writing direction context sub-menu item")); }
-String WebCore::contextMenuItemTagTextDirectionMenu() { return String(LPCTSTR_UI_STRING("Text Direction", "Text direction context sub-menu item")); }
+String WebCore::contextMenuItemTagWritingDirectionMenu() { return String(LPCTSTR_UI_STRING("Paragraph Direction", "Paragraph direction context sub-menu item")); }
+String WebCore::contextMenuItemTagTextDirectionMenu() { return String(LPCTSTR_UI_STRING("Selection Direction", "Selection direction context sub-menu item")); }
String WebCore::contextMenuItemTagDefaultDirection() { return String(LPCTSTR_UI_STRING("Default", "Default writing direction context menu item")); }
String WebCore::contextMenuItemTagLeftToRight() { return String(LPCTSTR_UI_STRING("Left to Right", "Left to Right context menu item")); }
String WebCore::contextMenuItemTagRightToLeft() { return String(LPCTSTR_UI_STRING("Right to Left", "Right to Left context menu item")); }
diff --git a/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp b/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
index 1af1673..c307660 100644
--- a/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -41,6 +41,7 @@
#include "WebError.h"
#include "WebFrame.h"
#include "WebHistory.h"
+#include "WebHistoryItem.h"
#include "WebMutableURLRequest.h"
#include "WebNotificationCenter.h"
#include "WebScriptDebugServer.h"
@@ -53,9 +54,11 @@
#include <WebCore/FrameLoader.h>
#include <WebCore/FrameTree.h>
#include <WebCore/FrameView.h>
+#include <WebCore/HTMLAppletElement.h>
#include <WebCore/HTMLFrameElement.h>
#include <WebCore/HTMLFrameOwnerElement.h>
#include <WebCore/HTMLNames.h>
+#include <WebCore/HTMLPlugInElement.h>
#include <WebCore/HistoryItem.h>
#include <WebCore/Page.h>
#include <WebCore/PluginPackage.h>
@@ -91,7 +94,9 @@ bool WebFrameLoaderClient::hasWebView() const
void WebFrameLoaderClient::forceLayout()
{
- core(m_webFrame)->forceLayout(true);
+ FrameView* view = core(m_webFrame)->view();
+ if (view)
+ view->forceLayout(true);
}
void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
@@ -221,6 +226,25 @@ void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, unsign
resourceLoadDelegate->didFailLoadingWithError(webView, identifier, webError.get(), getWebDataSource(loader));
}
+bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response, const unsigned char* data, const unsigned long long length)
+{
+ WebView* webView = m_webFrame->webView();
+ COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
+ if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
+ return true;
+
+ COMPtr<IWebResourceLoadDelegatePrivate3> resourceLoadDelegatePrivate(Query, resourceLoadDelegate);
+ if (!resourceLoadDelegatePrivate)
+ return true;
+
+ COMPtr<IWebURLResponse> urlResponse(WebURLResponse::createInstance(response));
+ BOOL shouldCache;
+ if (SUCCEEDED(resourceLoadDelegatePrivate->shouldCacheResponse(webView, identifier, urlResponse.get(), data, length, getWebDataSource(loader), &shouldCache)))
+ return shouldCache;
+
+ return true;
+}
+
void WebFrameLoaderClient::dispatchDidHandleOnloadEvents()
{
WebView* webView = m_webFrame->webView();
@@ -457,27 +481,31 @@ void WebFrameLoaderClient::updateGlobalHistory()
return;
DocumentLoader* loader = core(m_webFrame)->loader()->documentLoader();
-
- if (loader->urlForHistoryReflectsServerRedirect()) {
- history->visitedURL(loader->urlForHistory(), loader->title(), loader->request().httpMethod(), loader->urlForHistoryReflectsFailure(), loader->url(), false);
- return;
- }
-
- if (loader->urlForHistoryReflectsClientRedirect()) {
- history->visitedURL(loader->urlForHistory(), loader->title(), loader->request().httpMethod(), loader->urlForHistoryReflectsFailure(), KURL(), true);
- return;
- }
-
- history->visitedURL(loader->urlForHistory(), loader->title(), loader->request().httpMethod(), loader->urlForHistoryReflectsFailure(), KURL(), false);
+ history->visitedURL(loader->urlForHistory(), loader->title(), loader->originalRequestCopy().httpMethod(), loader->urlForHistoryReflectsFailure());
+ updateGlobalHistoryRedirectLinks();
}
-void WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem()
+void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks()
{
WebHistory* history = WebHistory::sharedHistory();
if (!history)
return;
+
DocumentLoader* loader = core(m_webFrame)->loader()->documentLoader();
- history->visitedURLForRedirectWithoutHistoryItem(loader->url());
+
+ if (!loader->clientRedirectSourceForHistory().isNull()) {
+ if (COMPtr<IWebHistoryItem> iWebHistoryItem = history->itemForURLString(loader->clientRedirectSourceForHistory())) {
+ COMPtr<WebHistoryItem> webHistoryItem(Query, iWebHistoryItem);
+ webHistoryItem->historyItem()->addRedirectURL(loader->clientRedirectDestinationForHistory());
+ }
+ }
+
+ if (!loader->serverRedirectSourceForHistory().isNull()) {
+ if (COMPtr<IWebHistoryItem> iWebHistoryItem = history->itemForURLString(loader->serverRedirectSourceForHistory())) {
+ COMPtr<WebHistoryItem> webHistoryItem(Query, iWebHistoryItem);
+ webHistoryItem->historyItem()->addRedirectURL(loader->serverRedirectDestinationForHistory());
+ }
+ }
}
bool WebFrameLoaderClient::shouldGoToHistoryItem(HistoryItem*) const
@@ -548,7 +576,7 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage()
view->frameRect(&rect);
bool transparent = view->transparent();
Color backgroundColor = transparent ? Color::transparent : Color::white;
- WebCore::FrameLoaderClient::transitionToCommittedForNewPage(core(m_webFrame), IntRect(rect).size(), backgroundColor, transparent, IntSize(), false);
+ core(m_webFrame)->createView(IntRect(rect).size(), backgroundColor, transparent, IntSize(), false);
}
bool WebFrameLoaderClient::canCachePage() const
@@ -627,7 +655,7 @@ void WebFrameLoaderClient::loadURLIntoChild(const KURL& originalURL, const Strin
core(childFrame)->loader()->loadURL(url, referrer, frameName, false, childLoadType, 0, 0);
}
-Widget* WebFrameLoaderClient::createPlugin(const IntSize& pluginSize, Element* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
+Widget* WebFrameLoaderClient::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
{
WebView* webView = m_webFrame->webView();
diff --git a/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h b/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
index 3877273..ac7a8c7 100644
--- a/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
+++ b/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
@@ -56,6 +56,7 @@ public:
virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int lengthReceived);
virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier);
virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&);
+ virtual bool shouldCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length);
virtual void dispatchDidHandleOnloadEvents();
virtual void dispatchDidReceiveServerRedirectForProvisionalLoad();
@@ -86,7 +87,7 @@ public:
virtual void finishedLoading(WebCore::DocumentLoader*);
virtual void updateGlobalHistory();
- virtual void updateGlobalHistoryForRedirectWithoutHistoryItem();
+ virtual void updateGlobalHistoryRedirectLinks();
virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
virtual PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&);
@@ -100,7 +101,7 @@ public:
virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WebCore::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
const WebCore::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
- virtual WebCore::Widget* createPlugin(const WebCore::IntSize&, WebCore::Element*, const WebCore::KURL&, const Vector<WebCore::String>&, const Vector<WebCore::String>&, const WebCore::String&, bool loadManually);
+ virtual WebCore::Widget* createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WebCore::String>&, const Vector<WebCore::String>&, const WebCore::String&, bool loadManually);
virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
virtual bool shouldUsePluginDocument(const WebCore::String& mimeType) const;
diff --git a/WebKit/win/WebCoreSupport/WebInspectorClient.cpp b/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
index 56cf0df..5bb1a83 100644
--- a/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
@@ -201,6 +201,13 @@ String WebInspectorClient::localizedStringsURL()
return CFURLGetString(url.get());
}
+
+String WebInspectorClient::hiddenPanels()
+{
+ // FIXME: implement this
+ return String();
+}
+
void WebInspectorClient::showWindow()
{
showWindowWithoutNotifications();
diff --git a/WebKit/win/WebCoreSupport/WebInspectorClient.h b/WebKit/win/WebCoreSupport/WebInspectorClient.h
index 86317f6..b497788 100644
--- a/WebKit/win/WebCoreSupport/WebInspectorClient.h
+++ b/WebKit/win/WebCoreSupport/WebInspectorClient.h
@@ -50,6 +50,8 @@ public:
virtual WebCore::String localizedStringsURL();
+ virtual WebCore::String hiddenPanels();
+
virtual void showWindow();
virtual void closeWindow();
virtual bool windowVisible();
diff --git a/WebKit/win/WebFrame.cpp b/WebKit/win/WebFrame.cpp
index 009111a..f1877fe 100644
--- a/WebKit/win/WebFrame.cpp
+++ b/WebKit/win/WebFrame.cpp
@@ -69,10 +69,12 @@
#include <WebCore/GDIObjectCounter.h>
#include <WebCore/GraphicsContext.h>
#include <WebCore/HistoryItem.h>
+#include <WebCore/HTMLAppletElement.h>
#include <WebCore/HTMLFormElement.h>
#include <WebCore/HTMLFormControlElement.h>
#include <WebCore/HTMLInputElement.h>
#include <WebCore/HTMLNames.h>
+#include <WebCore/HTMLPlugInElement.h>
#include <WebCore/JSDOMWindow.h>
#include <WebCore/KeyboardEvent.h>
#include <WebCore/MIMETypeRegistry.h>
@@ -1049,6 +1051,87 @@ HRESULT WebFrame::elementDoesAutoComplete(IDOMElement *element, BOOL *result)
return S_OK;
}
+HRESULT WebFrame::pauseAnimation(BSTR animationName, IDOMNode* node, double secondsFromNow, BOOL* animationWasRunning)
+{
+ if (!node || !animationWasRunning)
+ return E_POINTER;
+
+ *animationWasRunning = FALSE;
+
+ Frame* frame = core(this);
+ if (!frame)
+ return E_FAIL;
+
+ AnimationController* controller = frame->animation();
+ if (!controller)
+ return E_FAIL;
+
+ COMPtr<DOMNode> domNode(Query, node);
+ if (!domNode)
+ return E_FAIL;
+
+ *animationWasRunning = controller->pauseAnimationAtTime(domNode->node()->renderer(), String(animationName, SysStringLen(animationName)), secondsFromNow);
+ return S_OK;
+}
+
+HRESULT WebFrame::pauseTransition(BSTR propertyName, IDOMNode* node, double secondsFromNow, BOOL* transitionWasRunning)
+{
+ if (!node || !transitionWasRunning)
+ return E_POINTER;
+
+ *transitionWasRunning = FALSE;
+
+ Frame* frame = core(this);
+ if (!frame)
+ return E_FAIL;
+
+ AnimationController* controller = frame->animation();
+ if (!controller)
+ return E_FAIL;
+
+ COMPtr<DOMNode> domNode(Query, node);
+ if (!domNode)
+ return E_FAIL;
+
+ *transitionWasRunning = controller->pauseTransitionAtTime(domNode->node()->renderer(), String(propertyName, SysStringLen(propertyName)), secondsFromNow);
+ return S_OK;
+}
+
+HRESULT WebFrame::numberOfActiveAnimations(UINT* number)
+{
+ if (!number)
+ return E_POINTER;
+
+ *number = 0;
+
+ Frame* frame = core(this);
+ if (!frame)
+ return E_FAIL;
+
+ AnimationController* controller = frame->animation();
+ if (!controller)
+ return E_FAIL;
+
+ *number = controller->numberOfActiveAnimations();
+ return S_OK;
+}
+
+HRESULT WebFrame::isDisplayingStandaloneImage(BOOL* result)
+{
+ if (!result)
+ return E_POINTER;
+
+ *result = FALSE;
+
+ Frame* frame = core(this);
+ if (!frame)
+ return E_FAIL;
+
+ Document* document = frame->document();
+ *result = document && document->isImageDocument();
+ return S_OK;
+}
+
HRESULT WebFrame::controlsInForm(IDOMElement* form, IDOMElement** controls, int* cControls)
{
if (!form)
@@ -1288,8 +1371,6 @@ String WebFrame::generatedMIMETypeForURLScheme(const String& /*URLScheme*/) cons
void WebFrame::frameLoadCompleted()
{
- if (Frame* coreFrame = core(this))
- coreFrame->loader()->setPreviousHistoryItem(0);
}
void WebFrame::restoreViewState()
@@ -1523,7 +1604,7 @@ void WebFrame::startDownload(const ResourceRequest&)
notImplemented();
}
-Widget* WebFrame::createJavaAppletWidget(const IntSize& pluginSize, Element* element, const KURL& /*baseURL*/, const Vector<String>& paramNames, const Vector<String>& paramValues)
+Widget* WebFrame::createJavaAppletWidget(const IntSize& pluginSize, HTMLAppletElement* element, const KURL& /*baseURL*/, const Vector<String>& paramNames, const Vector<String>& paramValues)
{
PluginView* pluginView = PluginView::create(core(this), pluginSize, element, KURL(), paramNames, paramValues, "application/x-java-applet", false);
@@ -1595,6 +1676,10 @@ void WebFrame::windowObjectCleared()
}
}
+void WebFrame::documentElementAvailable()
+{
+}
+
void WebFrame::didPerformFirstNavigation() const
{
COMPtr<IWebPreferences> preferences;
@@ -1643,7 +1728,7 @@ HRESULT STDMETHODCALLTYPE WebFrame::setInPrintingMode(
return S_OK;
Frame* coreFrame = core(this);
- if (!coreFrame)
+ if (!coreFrame || !coreFrame->document())
return E_FAIL;
m_inPrintingMode = !!value;
@@ -1652,7 +1737,7 @@ HRESULT STDMETHODCALLTYPE WebFrame::setInPrintingMode(
// according to the paper size
float minLayoutWidth = 0.0f;
float maxLayoutWidth = 0.0f;
- if (m_inPrintingMode && !coreFrame->isFrameSet()) {
+ if (m_inPrintingMode && !coreFrame->document()->isFrameSet()) {
if (!printDC) {
ASSERT_NOT_REACHED();
return E_POINTER;
@@ -1868,10 +1953,10 @@ HRESULT STDMETHODCALLTYPE WebFrame::isFrameSet(
*result = FALSE;
Frame* coreFrame = core(this);
- if (!coreFrame)
+ if (!coreFrame || !coreFrame->document())
return E_FAIL;
- *result = coreFrame->isFrameSet() ? TRUE : FALSE;
+ *result = coreFrame->document()->isFrameSet() ? TRUE : FALSE;
return S_OK;
}
diff --git a/WebKit/win/WebFrame.h b/WebKit/win/WebFrame.h
index bf234d3..bca32d4 100644
--- a/WebKit/win/WebFrame.h
+++ b/WebKit/win/WebFrame.h
@@ -223,7 +223,13 @@ public:
virtual HRESULT STDMETHODCALLTYPE elementDoesAutoComplete(
/* [in] */ IDOMElement* element,
/* [retval][out] */ BOOL* result);
-
+
+ virtual HRESULT STDMETHODCALLTYPE pauseAnimation(BSTR animationName, IDOMNode*, double secondsFromNow, BOOL* animationWasRunning);
+ virtual HRESULT STDMETHODCALLTYPE pauseTransition(BSTR propertyName, IDOMNode*, double secondsFromNow, BOOL* transitionWasRunning);
+ virtual HRESULT STDMETHODCALLTYPE numberOfActiveAnimations(UINT*);
+
+ virtual HRESULT STDMETHODCALLTYPE isDisplayingStandaloneImage(BOOL*);
+
// IWebDocumentText
virtual HRESULT STDMETHODCALLTYPE supportsTextEncoding(
/* [retval][out] */ BOOL* result);
@@ -280,12 +286,13 @@ public:
virtual void dispatchDidFailLoad(const WebCore::ResourceError&);
virtual void startDownload(const WebCore::ResourceRequest&);
- virtual WebCore::Widget* createJavaAppletWidget(const WebCore::IntSize&, WebCore::Element*, const WebCore::KURL& baseURL, const Vector<WebCore::String>& paramNames, const Vector<WebCore::String>& paramValues);
+ virtual WebCore::Widget* createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, const Vector<WebCore::String>& paramNames, const Vector<WebCore::String>& paramValues);
virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL& url, const WebCore::String& mimeType);
virtual WebCore::String overrideMediaType() const;
virtual void windowObjectCleared();
+ virtual void documentElementAvailable();
virtual void didPerformFirstNavigation() const;
virtual void registerForIconNotification(bool listen);
diff --git a/WebKit/win/WebHistory.cpp b/WebKit/win/WebHistory.cpp
index 5ee2e32..e647e01 100644
--- a/WebKit/win/WebHistory.cpp
+++ b/WebKit/win/WebHistory.cpp
@@ -41,6 +41,7 @@
#include <WebCore/PageGroup.h>
#include <WebCore/HistoryItem.h>
#pragma warning( pop )
+#include <wtf/StdLibExtras.h>
using namespace WebCore;
@@ -176,7 +177,7 @@ ULONG STDMETHODCALLTYPE WebHistory::Release(void)
static inline COMPtr<WebHistory>& sharedHistoryStorage()
{
- static COMPtr<WebHistory> sharedHistory;
+ DEFINE_STATIC_LOCAL(COMPtr<WebHistory>, sharedHistory, ());
return sharedHistory;
}
@@ -680,18 +681,11 @@ HRESULT WebHistory::addItem(IWebHistoryItem* entry, bool discardDuplicate, bool*
return hr;
}
-void WebHistory::visitedURL(const KURL& url, const String& title, const String& httpMethod, bool wasFailure, const KURL& serverRedirectURL, bool isClientRedirect)
+void WebHistory::visitedURL(const KURL& url, const String& title, const String& httpMethod, bool wasFailure)
{
- if (isClientRedirect) {
- ASSERT(serverRedirectURL.isEmpty());
- if (m_lastVisitedEntry)
- m_lastVisitedEntry->historyItem()->addRedirectURL(url.string());
- }
-
RetainPtr<CFStringRef> urlString(AdoptCF, url.string().createCFString());
IWebHistoryItem* entry = (IWebHistoryItem*) CFDictionaryGetValue(m_entriesByURL.get(), urlString.get());
-
if (entry) {
COMPtr<IWebHistoryItemPrivate> entryPrivate(Query, entry);
if (!entryPrivate)
@@ -724,21 +718,16 @@ void WebHistory::visitedURL(const KURL& url, const String& title, const String&
addItemToDateCaches(entry);
- m_lastVisitedEntry.query(entry);
-
COMPtr<IWebHistoryItemPrivate> entryPrivate(Query, entry);
if (!entryPrivate)
return;
entryPrivate->setLastVisitWasFailure(wasFailure);
if (!httpMethod.isEmpty())
- entryPrivate->setLastVisitWasHTTPNonGet(!equalIgnoringCase(httpMethod, "GET"));
+ entryPrivate->setLastVisitWasHTTPNonGet(!equalIgnoringCase(httpMethod, "GET") && (url.protocolIs("http") || url.protocolIs("https")));
- if (!serverRedirectURL.isEmpty()) {
- ASSERT(!isClientRedirect);
- COMPtr<WebHistoryItem> item(Query, entry);
- item->historyItem()->addRedirectURL(serverRedirectURL);
- }
+ COMPtr<WebHistoryItem> item(Query, entry);
+ item->historyItem()->setRedirectURLs(std::auto_ptr<Vector<String> >());
CFDictionaryPropertyBag* userInfo = createUserInfoFromHistoryItem(
getNotificationString(kWebHistoryItemsAddedNotification), entry);
@@ -746,15 +735,9 @@ void WebHistory::visitedURL(const KURL& url, const String& title, const String&
releaseUserInfo(userInfo);
}
-void WebHistory::visitedURLForRedirectWithoutHistoryItem(const KURL& url)
-{
- if (m_lastVisitedEntry)
- m_lastVisitedEntry->historyItem()->addRedirectURL(url.string());
-}
-
HRESULT WebHistory::itemForURLString(
/* [in] */ CFStringRef urlString,
- /* [retval][out] */ IWebHistoryItem** item)
+ /* [retval][out] */ IWebHistoryItem** item) const
{
if (!item)
return E_FAIL;
@@ -792,6 +775,17 @@ HRESULT WebHistory::removeItemForURLString(CFStringRef urlString)
return hr;
}
+COMPtr<IWebHistoryItem> WebHistory::itemForURLString(const String& urlString) const
+{
+ RetainPtr<CFStringRef> urlCFString(AdoptCF, urlString.createCFString());
+ if (!urlCFString)
+ return 0;
+ COMPtr<IWebHistoryItem> item;
+ if (FAILED(itemForURLString(urlCFString.get(), &item)))
+ return 0;
+ return item;
+}
+
HRESULT WebHistory::addItemToDateCaches(IWebHistoryItem* entry)
{
HRESULT hr = S_OK;
diff --git a/WebKit/win/WebHistory.h b/WebKit/win/WebHistory.h
index 111f6ae..b1031b7 100644
--- a/WebKit/win/WebHistory.h
+++ b/WebKit/win/WebHistory.h
@@ -115,10 +115,11 @@ public:
// WebHistory
static WebHistory* sharedHistory();
- void visitedURL(const WebCore::KURL&, const WebCore::String& title, const WebCore::String& httpMethod, bool wasFailure, const WebCore::KURL& serverRedirectURL, bool isClientRedirect);
- void visitedURLForRedirectWithoutHistoryItem(const WebCore::KURL&);
+ void visitedURL(const WebCore::KURL&, const WebCore::String& title, const WebCore::String& httpMethod, bool wasFailure);
void addVisitedLinksToPageGroup(WebCore::PageGroup&);
+ COMPtr<IWebHistoryItem> itemForURLString(const WebCore::String&) const;
+
private:
enum NotificationType
{
@@ -144,14 +145,13 @@ private:
bool findIndex(int* index, CFAbsoluteTime forDay);
static CFAbsoluteTime timeToDate(CFAbsoluteTime time);
BSTR getNotificationString(NotificationType notifyType);
- HRESULT itemForURLString(CFStringRef urlString, IWebHistoryItem** item);
+ HRESULT itemForURLString(CFStringRef urlString, IWebHistoryItem** item) const;
ULONG m_refCount;
RetainPtr<CFMutableDictionaryRef> m_entriesByURL;
RetainPtr<CFMutableArrayRef> m_datesWithEntries;
RetainPtr<CFMutableArrayRef> m_entriesByDate;
COMPtr<WebPreferences> m_preferences;
- COMPtr<WebHistoryItem> m_lastVisitedEntry;
};
#endif
diff --git a/WebKit/win/WebKit.vcproj/WebKit.def b/WebKit/win/WebKit.vcproj/WebKit.def
index fa3f2bc..cc49cd0 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.def
+++ b/WebKit/win/WebKit.vcproj/WebKit.def
@@ -12,9 +12,14 @@ EXPORTS
JSClassRelease
JSClassRetain
JSContextGetGlobalObject
+ JSContextGetGroup
+ JSContextGroupCreate
+ JSContextGroupRelease
+ JSContextGroupRetain
JSEvaluateScript
JSGarbageCollect
JSGlobalContextCreate
+ JSGlobalContextCreateInGroup
JSGlobalContextRelease
JSGlobalContextRetain
JSObjectCallAsConstructor
@@ -32,6 +37,7 @@ EXPORTS
JSObjectMakeArray
JSObjectMakeConstructor
JSObjectMakeDate
+ JSObjectMakeError
JSObjectMakeFunction
JSObjectMakeFunctionWithCallback
JSObjectMakeRegExp
@@ -121,6 +127,9 @@ EXPORTS
?lock@Mutex@WTF@@QAEXXZ
?lockAtomicallyInitializedStaticMutex@WTF@@YAXXZ
?signal@ThreadCondition@WTF@@QAEXXZ
+ ?timedWait@ThreadCondition@WTF@@QAE_NAAVMutex@2@N@Z
+ ?tlsKeyCount@WTF@@YAAAJXZ
+ ?tlsKeys@WTF@@YAPAKXZ
?tryLock@Mutex@WTF@@QAE_NXZ
?unlock@Mutex@WTF@@QAEXXZ
?unlockAtomicallyInitializedStaticMutex@WTF@@YAXXZ
diff --git a/WebKit/win/WebKit.vcproj/WebKit.vcproj b/WebKit/win/WebKit.vcproj/WebKit.vcproj
index 0740e8a..b578aee 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.vcproj
+++ b/WebKit/win/WebKit.vcproj/WebKit.vcproj
@@ -23,7 +23,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 0 set EnablePREfast=&quot;false&quot; else set EnablePREfast=&quot;true&quot;&#x0D;&#x0A;if ERRORLEVEL 0 set AnalyzeWithLargeStack=&quot;&quot; AnalyzeWithLargeStack=&quot;/analyze:65536&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
+ CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@@ -99,7 +99,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 0 set EnablePREfast=&quot;false&quot; else set EnablePREfast=&quot;true&quot;&#x0D;&#x0A;if ERRORLEVEL 0 set AnalyzeWithLargeStack=&quot;&quot; AnalyzeWithLargeStack=&quot;/analyze:65536&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
+ CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@@ -174,7 +174,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 0 set EnablePREfast=&quot;false&quot; else set EnablePREfast=&quot;true&quot;&#x0D;&#x0A;if ERRORLEVEL 0 set AnalyzeWithLargeStack=&quot;&quot; AnalyzeWithLargeStack=&quot;/analyze:65536&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
+ CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@@ -252,7 +252,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 0 set EnablePREfast=&quot;false&quot; else set EnablePREfast=&quot;true&quot;&#x0D;&#x0A;if ERRORLEVEL 0 set AnalyzeWithLargeStack=&quot;&quot; AnalyzeWithLargeStack=&quot;/analyze:65536&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
+ CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@@ -331,7 +331,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 0 set EnablePREfast=&quot;false&quot; else set EnablePREfast=&quot;true&quot;&#x0D;&#x0A;if ERRORLEVEL 0 set AnalyzeWithLargeStack=&quot;&quot; AnalyzeWithLargeStack=&quot;/analyze:65536&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
+ CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@@ -408,7 +408,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 0 set EnablePREfast=&quot;false&quot; else set EnablePREfast=&quot;true&quot;&#x0D;&#x0A;if ERRORLEVEL 0 set AnalyzeWithLargeStack=&quot;&quot; AnalyzeWithLargeStack=&quot;/analyze:65536&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
+ CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@@ -487,7 +487,7 @@
>
<Tool
Name="VCPreBuildEventTool"
- CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 0 set EnablePREfast=&quot;false&quot; else set EnablePREfast=&quot;true&quot;&#x0D;&#x0A;if ERRORLEVEL 0 set AnalyzeWithLargeStack=&quot;&quot; AnalyzeWithLargeStack=&quot;/analyze:65536&quot;&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
+ CommandLine="set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@@ -1448,7 +1448,6 @@
>
<FileConfiguration
Name="Release_Cairo|Win32"
- ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
diff --git a/WebKit/win/WebKit.vcproj/WebKit_Cairo.def b/WebKit/win/WebKit.vcproj/WebKit_Cairo.def
index 50b3675..bc1a3f2 100755
--- a/WebKit/win/WebKit.vcproj/WebKit_Cairo.def
+++ b/WebKit/win/WebKit.vcproj/WebKit_Cairo.def
@@ -12,9 +12,14 @@ EXPORTS
JSClassRelease
JSClassRetain
JSContextGetGlobalObject
+ JSContextGetGroup
+ JSContextGroupCreate
+ JSContextGroupRelease
+ JSContextGroupRetain
JSEvaluateScript
JSGarbageCollect
JSGlobalContextCreate
+ JSGlobalContextCreateInGroup
JSGlobalContextRelease
JSGlobalContextRetain
JSObjectCallAsConstructor
@@ -32,6 +37,7 @@ EXPORTS
JSObjectMakeArray
JSObjectMakeConstructor
JSObjectMakeDate
+ JSObjectMakeError
JSObjectMakeFunction
JSObjectMakeFunctionWithCallback
JSObjectMakeRegExp
diff --git a/WebKit/win/WebKit.vcproj/WebKit_debug.def b/WebKit/win/WebKit.vcproj/WebKit_debug.def
index 6ed6a90..9fecf25 100644
--- a/WebKit/win/WebKit.vcproj/WebKit_debug.def
+++ b/WebKit/win/WebKit.vcproj/WebKit_debug.def
@@ -12,9 +12,14 @@ EXPORTS
JSClassRelease
JSClassRetain
JSContextGetGlobalObject
+ JSContextGetGroup
+ JSContextGroupCreate
+ JSContextGroupRelease
+ JSContextGroupRetain
JSEvaluateScript
JSGarbageCollect
JSGlobalContextCreate
+ JSGlobalContextCreateInGroup
JSGlobalContextRelease
JSGlobalContextRetain
JSObjectCallAsConstructor
@@ -32,6 +37,7 @@ EXPORTS
JSObjectMakeArray
JSObjectMakeConstructor
JSObjectMakeDate
+ JSObjectMakeError
JSObjectMakeFunction
JSObjectMakeFunctionWithCallback
JSObjectMakeRegExp
@@ -121,6 +127,9 @@ EXPORTS
?lock@Mutex@WTF@@QAEXXZ
?lockAtomicallyInitializedStaticMutex@WTF@@YAXXZ
?signal@ThreadCondition@WTF@@QAEXXZ
+ ?timedWait@ThreadCondition@WTF@@QAE_NAAVMutex@2@N@Z
+ ?tlsKeyCount@WTF@@YAAAJXZ
+ ?tlsKeys@WTF@@YAPAKXZ
?tryLock@Mutex@WTF@@QAE_NXZ
?unlock@Mutex@WTF@@QAEXXZ
?unlockAtomicallyInitializedStaticMutex@WTF@@YAXXZ
diff --git a/WebKit/win/WebMutableURLRequest.cpp b/WebKit/win/WebMutableURLRequest.cpp
index 63a060e..035fac3 100644
--- a/WebKit/win/WebMutableURLRequest.cpp
+++ b/WebKit/win/WebMutableURLRequest.cpp
@@ -33,6 +33,7 @@
#include <CFNetwork/CFURLRequestPriv.h>
#pragma warning(push, 0)
#include <WebCore/BString.h>
+#include <WebCore/COMPtr.h>
#include <WebCore/CString.h>
#include <WebCore/FormData.h>
#include <WebCore/NotImplemented.h>
@@ -240,6 +241,22 @@ HRESULT STDMETHODCALLTYPE WebMutableURLRequest::isEmpty(
return S_OK;
}
+HRESULT STDMETHODCALLTYPE WebMutableURLRequest::isEqual(
+ /* [in] */ IWebURLRequest* other,
+ /* [out, retval] */ BOOL* result)
+{
+ COMPtr<WebMutableURLRequest> requestImpl(Query, other);
+
+ if (!requestImpl) {
+ *result = FALSE;
+ return S_OK;
+ }
+
+ *result = m_request == requestImpl->resourceRequest();
+ return S_OK;
+}
+
+
// IWebMutableURLRequest --------------------------------------------------------
HRESULT STDMETHODCALLTYPE WebMutableURLRequest::addValue(
@@ -314,11 +331,13 @@ HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setURL(
}
HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setValue(
- /* [in] */ BSTR /*value*/,
- /* [in] */ BSTR /*field*/)
+ /* [in] */ BSTR value,
+ /* [in] */ BSTR field)
{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
+ String valueString(value, SysStringLen(value));
+ String fieldString(field, SysStringLen(field));
+ m_request.setHTTPHeaderField(fieldString, valueString);
+ return S_OK;
}
HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setAllowsAnyHTTPSCertificate(void)
diff --git a/WebKit/win/WebMutableURLRequest.h b/WebKit/win/WebMutableURLRequest.h
index 1007a02..77dc1a0 100644
--- a/WebKit/win/WebMutableURLRequest.h
+++ b/WebKit/win/WebMutableURLRequest.h
@@ -113,6 +113,10 @@ public:
virtual HRESULT STDMETHODCALLTYPE mutableCopy(
/* [out, retval] */ IWebMutableURLRequest** result);
+ virtual HRESULT STDMETHODCALLTYPE isEqual(
+ /* [in] */ IWebURLRequest* other,
+ /* [out, retval] */ BOOL* result);
+
// IWebMutableURLRequest
virtual HRESULT STDMETHODCALLTYPE addValue(
/* [in] */ BSTR value,
diff --git a/WebKit/win/WebPreferenceKeysPrivate.h b/WebKit/win/WebPreferenceKeysPrivate.h
index 758254e..8426271 100644
--- a/WebKit/win/WebPreferenceKeysPrivate.h
+++ b/WebKit/win/WebPreferenceKeysPrivate.h
@@ -47,6 +47,8 @@
#define WebKitTextAreasAreResizablePreferenceKey "WebKitTextAreasAreResizable"
#define WebKitJavaEnabledPreferenceKey "WebKitJavaEnabled"
#define WebKitJavaScriptEnabledPreferenceKey "WebKitJavaScriptEnabled"
+#define WebKitWebSecurityEnabledPreferenceKey "WebKitWebSecurityEnabled"
+#define WebKitAllowUniversalAccessFromFileURLsPreferenceKey "WebKitAllowUniversalAccessFromFileURLs"
#define WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey "WebKitJavaScriptCanOpenWindowsAutomatically"
#define WebKitPluginsEnabledPreferenceKey "WebKitPluginsEnabled"
#define WebKitDatabasesEnabledPreferenceKey "WebKitDatabasesEnabled"
diff --git a/WebKit/win/WebPreferences.cpp b/WebKit/win/WebPreferences.cpp
index 5fcd319..ac77376 100644
--- a/WebKit/win/WebPreferences.cpp
+++ b/WebKit/win/WebPreferences.cpp
@@ -203,6 +203,8 @@ void WebPreferences::initializeDefaultSettings()
CFDictionaryAddValue(defaults, CFSTR(WebKitTextAreasAreResizablePreferenceKey), kCFBooleanFalse);
CFDictionaryAddValue(defaults, CFSTR(WebKitJavaEnabledPreferenceKey), kCFBooleanTrue);
CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptEnabledPreferenceKey), kCFBooleanTrue);
+ CFDictionaryAddValue(defaults, CFSTR(WebKitWebSecurityEnabledPreferenceKey), kCFBooleanTrue);
+ CFDictionaryAddValue(defaults, CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey), kCFBooleanTrue);
CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey), kCFBooleanTrue);
CFDictionaryAddValue(defaults, CFSTR(WebKitPluginsEnabledPreferenceKey), kCFBooleanTrue);
CFDictionaryAddValue(defaults, CFSTR(WebKitDatabasesEnabledPreferenceKey), kCFBooleanTrue);
@@ -751,6 +753,34 @@ HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptEnabled(
return S_OK;
}
+HRESULT STDMETHODCALLTYPE WebPreferences::isWebSecurityEnabled(
+ /* [retval][out] */ BOOL* enabled)
+{
+ *enabled = boolValueForKey(CFSTR(WebKitWebSecurityEnabledPreferenceKey));
+ return S_OK;
+}
+
+HRESULT STDMETHODCALLTYPE WebPreferences::setWebSecurityEnabled(
+ /* [in] */ BOOL enabled)
+{
+ setBoolValue(CFSTR(WebKitWebSecurityEnabledPreferenceKey), enabled);
+ return S_OK;
+}
+
+HRESULT STDMETHODCALLTYPE WebPreferences::allowUniversalAccessFromFileURLs(
+ /* [retval][out] */ BOOL* allowAccess)
+{
+ *allowAccess = boolValueForKey(CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey));
+ return S_OK;
+}
+
+HRESULT STDMETHODCALLTYPE WebPreferences::setAllowUniversalAccessFromFileURLs(
+ /* [in] */ BOOL allowAccess)
+{
+ setBoolValue(CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey), allowAccess);
+ return S_OK;
+}
+
HRESULT STDMETHODCALLTYPE WebPreferences::javaScriptCanOpenWindowsAutomatically(
/* [retval][out] */ BOOL* enabled)
{
diff --git a/WebKit/win/WebPreferences.h b/WebKit/win/WebPreferences.h
index 6ab3dcb..b6bcf6d 100644
--- a/WebKit/win/WebPreferences.h
+++ b/WebKit/win/WebPreferences.h
@@ -344,6 +344,18 @@ public:
virtual HRESULT STDMETHODCALLTYPE setFontSmoothingContrast(
/* [in] */ float contrast);
+ virtual HRESULT STDMETHODCALLTYPE isWebSecurityEnabled(
+ /* [retval][out] */ BOOL* enabled);
+
+ virtual HRESULT STDMETHODCALLTYPE setWebSecurityEnabled(
+ /* [in] */ BOOL enabled);
+
+ virtual HRESULT STDMETHODCALLTYPE allowUniversalAccessFromFileURLs(
+ /* [retval][out] */ BOOL* allowAccess);
+
+ virtual HRESULT STDMETHODCALLTYPE setAllowUniversalAccessFromFileURLs(
+ /* [in] */ BOOL allowAccess);
+
// WebPreferences
// This method accesses a different preference key than developerExtrasEnabled.
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index eb176dc..20c43fd 100644
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -50,7 +50,6 @@
#include "WebNotificationCenter.h"
#include "WebPreferences.h"
#pragma warning( push, 0 )
-#include <CoreGraphics/CGContext.h>
#include <WebCore/ApplicationCacheStorage.h>
#include <WebCore/AXObjectCache.h>
#include <WebCore/BString.h>
@@ -105,10 +104,21 @@
#include <JavaScriptCore/InitializeThreading.h>
#include <JavaScriptCore/JSLock.h>
#include <JavaScriptCore/JSValue.h>
+
+#if PLATFORM(CG)
+#include <CoreGraphics/CGContext.h>
+#endif
+
+#if PLATFORM(CF)
+#include <CoreFoundation/CoreFoundation.h>
+#endif
+
+#if USE(CFNETWORK)
#include <CFNetwork/CFURLCachePriv.h>
#include <CFNetwork/CFURLProtocolPriv.h>
-#include <CoreFoundation/CoreFoundation.h>
#include <WebKitSystemInterface/WebKitSystemInterface.h>
+#endif
+
#include <wtf/HashSet.h>
#include <dimm.h>
#include <oleacc.h>
@@ -127,20 +137,6 @@ static HashSet<WebView*> pendingDeleteBackingStoreSet;
static String osVersion();
static String webKitVersion();
-typedef CFURLCacheRef (*CopySharedURLCacheFunction)();
-
-static HMODULE findCFNetworkModule()
-{
- if (HMODULE module = GetModuleHandleA("CFNetwork"))
- return module;
- return GetModuleHandleA("CFNetwork_debug");
-}
-
-static CopySharedURLCacheFunction findCopySharedURLCacheFunction()
-{
- return reinterpret_cast<CopySharedURLCacheFunction>(GetProcAddress(findCFNetworkModule(), "CFURLCacheCopySharedURLCache"));
-}
-
WebView* kit(Page* page)
{
return page ? static_cast<WebChromeClient*>(page->chrome()->client())->webView() : 0;
@@ -328,7 +324,7 @@ WebView::~WebView()
// <rdar://4958382> m_viewWindow will be destroyed when m_hostWindow is destroyed, but if
// setHostWindow was never called we will leak our HWND. If we still have a valid HWND at
// this point, we should just destroy it ourselves.
- if (::IsWindow(m_viewWindow))
+ if (!isBeingDestroyed() && ::IsWindow(m_viewWindow))
::DestroyWindow(m_viewWindow);
// the tooltip window needs to be explicitly destroyed since it isn't a WS_CHILD
@@ -380,18 +376,11 @@ void WebView::removeFromAllWebViewsSet()
void WebView::setCacheModel(WebCacheModel cacheModel)
{
+#if USE(CFNETWORK)
if (s_didSetCacheModel && cacheModel == s_cacheModel)
return;
- // Once we require a newer version of CFNetwork with the CFURLCacheCopySharedURLCache function,
- // we can call CFURLCacheCopySharedURLCache directly and eliminate copySharedURLCache.
- static CopySharedURLCacheFunction copySharedURLCache = findCopySharedURLCacheFunction();
- RetainPtr<CFURLCacheRef> cfurlCache;
- if (copySharedURLCache)
- cfurlCache.adoptCF(copySharedURLCache());
- else
- cfurlCache = CFURLCacheSharedURLCache();
-
+ RetainPtr<CFURLCacheRef> cfurlCache(AdoptCF, CFURLCacheCopySharedURLCache());
RetainPtr<CFStringRef> cfurlCacheDirectory(AdoptCF, wkCopyFoundationCacheDirectory());
if (!cfurlCacheDirectory)
cfurlCacheDirectory.adoptCF(WebCore::localUserSpecificStorageDirectory().createCFString());
@@ -563,6 +552,7 @@ void WebView::setCacheModel(WebCacheModel cacheModel)
s_didSetCacheModel = true;
s_cacheModel = cacheModel;
return;
+#endif
}
WebCacheModel WebView::cacheModel()
@@ -594,13 +584,19 @@ WebCacheModel WebView::maxCacheModelInAnyInstance()
return cacheModel;
}
-void WebView::close()
+HRESULT STDMETHODCALLTYPE WebView::close()
{
if (m_didClose)
- return;
+ return S_OK;
m_didClose = true;
+ if (m_uiDelegatePrivate) {
+ COMPtr<IWebUIDelegatePrivate5> uiDelegatePrivate5(Query, m_uiDelegatePrivate);
+ if (uiDelegatePrivate5)
+ uiDelegatePrivate5->webViewClosing(this);
+ }
+
removeFromAllWebViewsSet();
Frame* frame = m_page->mainFrame();
@@ -648,6 +644,7 @@ void WebView::close()
}
deleteBackingStore();
+ return S_OK;
}
void WebView::repaint(const WebCore::IntRect& windowRect, bool contentChanged, bool immediate, bool repaintContentOnly)
@@ -1333,7 +1330,7 @@ bool WebView::handleMouseEvent(UINT message, WPARAM wParam, LPARAM lParam)
return handled;
}
-bool WebView::mouseWheel(WPARAM wParam, LPARAM lParam, bool isHorizontal)
+bool WebView::mouseWheel(WPARAM wParam, LPARAM lParam, bool isMouseHWheel)
{
// Ctrl+Mouse wheel doesn't ever go into WebCore. It is used to
// zoom instead (Mac zooms the whole Desktop, but Windows browsers trigger their
@@ -1347,7 +1344,7 @@ bool WebView::mouseWheel(WPARAM wParam, LPARAM lParam, bool isHorizontal)
return true;
}
- PlatformWheelEvent wheelEvent(m_viewWindow, wParam, lParam, isHorizontal);
+ PlatformWheelEvent wheelEvent(m_viewWindow, wParam, lParam, isMouseHWheel);
Frame* coreFrame = core(m_mainFrame);
if (!coreFrame)
return false;
@@ -1682,11 +1679,13 @@ static LRESULT CALLBACK WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, L
{
LRESULT lResult = 0;
LONG_PTR longPtr = GetWindowLongPtr(hWnd, 0);
- COMPtr<WebView> webView = reinterpret_cast<WebView*>(longPtr); // hold a ref, since the WebView could go away in an event handler.
+ WebView* webView = reinterpret_cast<WebView*>(longPtr);
WebFrame* mainFrameImpl = webView ? webView->topLevelFrame() : 0;
if (!mainFrameImpl || webView->isBeingDestroyed())
return DefWindowProc(hWnd, message, wParam, lParam);
+ // hold a ref, since the WebView could go away in an event handler.
+ COMPtr<WebView> protector(webView);
ASSERT(webView);
// Windows Media Player has a modal message loop that will deliver messages
@@ -1734,7 +1733,7 @@ static LRESULT CALLBACK WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, L
case WM_VISTA_MOUSEHWHEEL:
if (Frame* coreFrame = core(mainFrameImpl))
if (coreFrame->view()->didFirstLayout())
- handled = webView->mouseWheel(wParam, lParam, (wParam & MK_SHIFT) || message == WM_VISTA_MOUSEHWHEEL);
+ handled = webView->mouseWheel(wParam, lParam, message == WM_VISTA_MOUSEHWHEEL);
break;
case WM_SYSKEYDOWN:
handled = webView->keyDown(wParam, lParam, true);
@@ -1778,7 +1777,7 @@ static LRESULT CALLBACK WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, L
COMPtr<IWebUIDelegatePrivate> uiDelegatePrivate;
if (SUCCEEDED(webView->uiDelegate(&uiDelegate)) && uiDelegate &&
SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegatePrivate, (void**) &uiDelegatePrivate)) && uiDelegatePrivate)
- uiDelegatePrivate->webViewReceivedFocus(webView.get());
+ uiDelegatePrivate->webViewReceivedFocus(webView);
FocusController* focusController = webView->page()->focusController();
if (Frame* frame = focusController->focusedFrame()) {
@@ -1796,7 +1795,7 @@ static LRESULT CALLBACK WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, L
HWND newFocusWnd = reinterpret_cast<HWND>(wParam);
if (SUCCEEDED(webView->uiDelegate(&uiDelegate)) && uiDelegate &&
SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegatePrivate, (void**) &uiDelegatePrivate)) && uiDelegatePrivate)
- uiDelegatePrivate->webViewLostFocus(webView.get(), (OLE_HANDLE)(ULONG64)newFocusWnd);
+ uiDelegatePrivate->webViewLostFocus(webView, (OLE_HANDLE)(ULONG64)newFocusWnd);
FocusController* focusController = webView->page()->focusController();
Frame* frame = focusController->focusedOrMainFrame();
@@ -1872,7 +1871,7 @@ static LRESULT CALLBACK WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, L
}
if (SUCCEEDED(webView->uiDelegate(&uiDelegate)) && uiDelegate &&
SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegatePrivate, (void**) &uiDelegatePrivate)) && uiDelegatePrivate &&
- SUCCEEDED(uiDelegatePrivate->webViewGetDlgCode(webView.get(), keyCode, &dlgCode)))
+ SUCCEEDED(uiDelegatePrivate->webViewGetDlgCode(webView, keyCode, &dlgCode)))
return dlgCode;
handled = false;
break;
@@ -3129,7 +3128,7 @@ HRESULT STDMETHODCALLTYPE WebView::centerSelectionInVisibleArea(
if (!coreFrame)
return E_FAIL;
- coreFrame->revealSelection(RenderLayer::gAlignCenterAlways);
+ coreFrame->revealSelection(ScrollAlignment::alignCenterAlways);
return S_OK;
}
@@ -4204,6 +4203,16 @@ HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification)
return hr;
settings->setLocalStorageEnabled(enabled);
+ hr = prefsPrivate->isWebSecurityEnabled(&enabled);
+ if (FAILED(hr))
+ return hr;
+ settings->setWebSecurityEnabled(!!enabled);
+
+ hr = prefsPrivate->allowUniversalAccessFromFileURLs(&enabled);
+ if (FAILED(hr))
+ return hr;
+ settings->setAllowUniversalAccessFromFileURLs(!!enabled);
+
#if USE(SAFARI_THEME)
hr = prefsPrivate->shouldPaintNativeControls(&enabled);
if (FAILED(hr))
@@ -4231,9 +4240,11 @@ HRESULT updateSharedSettingsFromPreferencesIfNeeded(IWebPreferences* preferences
if (FAILED(hr))
return hr;
+#if USE(CFNETWORK)
// Set cookie storage accept policy
if (CFHTTPCookieStorageRef cookieStorage = currentCookieStorage())
CFHTTPCookieStorageSetCookieAcceptPolicy(cookieStorage, acceptPolicy);
+#endif
return S_OK;
}
@@ -4680,7 +4691,7 @@ void WebView::releaseIMMContext(HIMC hIMC)
void WebView::prepareCandidateWindow(Frame* targetFrame, HIMC hInputContext)
{
IntRect caret;
- if (RefPtr<Range> range = targetFrame->selection()->selection().toRange()) {
+ if (RefPtr<Range> range = targetFrame->selection()->selection().toNormalizedRange()) {
ExceptionCode ec = 0;
RefPtr<Range> tempRange = range->cloneRange(ec);
caret = targetFrame->firstRectForRange(tempRange.get());
@@ -4843,7 +4854,7 @@ bool WebView::onIMERequestCharPosition(Frame* targetFrame, IMECHARPOSITION* char
{
IntRect caret;
ASSERT(charPos->dwCharPos == 0 || targetFrame->editor()->hasComposition());
- if (RefPtr<Range> range = targetFrame->editor()->hasComposition() ? targetFrame->editor()->compositionRange() : targetFrame->selection()->selection().toRange()) {
+ if (RefPtr<Range> range = targetFrame->editor()->hasComposition() ? targetFrame->editor()->compositionRange() : targetFrame->selection()->selection().toNormalizedRange()) {
ExceptionCode ec = 0;
RefPtr<Range> tempRange = range->cloneRange(ec);
tempRange->setStart(tempRange->startContainer(ec), tempRange->startOffset(ec) + charPos->dwCharPos, ec);
@@ -4861,7 +4872,7 @@ bool WebView::onIMERequestCharPosition(Frame* targetFrame, IMECHARPOSITION* char
bool WebView::onIMERequestReconvertString(Frame* targetFrame, RECONVERTSTRING* reconvertString, LRESULT* result)
{
- RefPtr<Range> selectedRange = targetFrame->selection()->toRange();
+ RefPtr<Range> selectedRange = targetFrame->selection()->toNormalizedRange();
String text = selectedRange->text();
if (!reconvertString) {
*result = sizeof(RECONVERTSTRING) + text.length() * sizeof(UChar);
@@ -5160,6 +5171,12 @@ HRESULT WebView::setMemoryCacheDelegateCallsEnabled(BOOL enabled)
return S_OK;
}
+HRESULT WebView::setJavaScriptURLsAreAllowed(BOOL areAllowed)
+{
+ m_page->setJavaScriptURLsAreAllowed(areAllowed);
+ return S_OK;
+}
+
class EnumTextMatches : public IEnumTextMatches
{
long m_ref;
diff --git a/WebKit/win/WebView.h b/WebKit/win/WebView.h
index 281defd..23905b7 100644
--- a/WebKit/win/WebView.h
+++ b/WebKit/win/WebView.h
@@ -296,6 +296,8 @@ public:
virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsLocal(
/* [in] */ BSTR scheme);
+ virtual HRESULT STDMETHODCALLTYPE close();
+
// IWebIBActions
virtual HRESULT STDMETHODCALLTYPE takeStringURLFrom(
@@ -724,6 +726,9 @@ public:
virtual HRESULT STDMETHODCALLTYPE setMemoryCacheDelegateCallsEnabled(
/* [in] */ BOOL enabled);
+ virtual HRESULT STDMETHODCALLTYPE setJavaScriptURLsAreAllowed(
+ /* [in] */ BOOL areAllowed);
+
// WebView
bool shouldUseEmbeddedView(const WebCore::String& mimeType) const;
@@ -736,7 +741,7 @@ public:
bool onInitMenuPopup(WPARAM, LPARAM);
bool onUninitMenuPopup(WPARAM, LPARAM);
void performContextMenuAction(WPARAM, LPARAM, bool byPosition);
- bool mouseWheel(WPARAM, LPARAM, bool isHorizontal);
+ bool mouseWheel(WPARAM, LPARAM, bool isMouseHWheel);
bool execCommand(WPARAM wParam, LPARAM lParam);
bool keyDown(WPARAM, LPARAM, bool systemKeyDown = false);
bool keyUp(WPARAM, LPARAM, bool systemKeyDown = false);
@@ -753,7 +758,6 @@ public:
void frameRect(RECT* rect);
void closeWindow();
void closeWindowSoon();
- void close();
bool didClose() const { return m_didClose; }
bool transparent() const { return m_transparent; }