Timeline
Sep 24, 2009:
- 11:53 PM Changeset in webkit [48748] by
-
- 30 edits7 adds in trunk
Add a mechanism for automatically halting plug-ins.
Reviewed by Oliver Hunt and Alice Liu.
WebCore:
- GNUmakefile.am:
- WebCore.base.exp:
Update export of Page constructor.
- WebCore.gypi:
- WebCore.pro:
- WebCore.vcproj/WebCore.vcproj:
Add PluginHalter.{h,cpp}, PluginHalterClient.h, and
HaltablePlugin.h.
- WebCore.xcodeproj/project.pbxproj:
Add files to Mac project.
- loader/EmptyClients.h:
Added an empty PluginHalterClient.
(WebCore::EmptyPluginHalterClient::shouldHaltPlugin):
Return false.
- page/PluginHalter.cpp: Added.
(WebCore::PluginHalter::PluginHalter):
(WebCore::PluginHalter::didStartPlugin):
Add the object to the plug-in set. If this is the only item in the set,
set m_oldestStartTime to this object's time, and start the timer.
(WebCore::PluginHalter::didStopPlugin):
Remove the plug-in from the set.
(WebCore::PluginHalter::timerFired):
Find the cut-off time as the current time minus the allowed run time;
plug-ins older than this may be halted. Iterate over the plug-ins. Find
the object with the oldest start time that is too young to be halted;
we'll use its start time to set the timer's next fire time. For all
plug-ins that are candidates to be halted, call the
PluginHalterClient's shouldHaltPlugin(). If this function returns true,
call the plug-in's halt() function. Remove these objects from the set
of tracked plug-ins. Call startTimerIfNecessary() to restart the timer.
(WebCore::PluginHalter::startTimerIfNecessary):
If the timer is set to fire, or the set of tracked plug-ins is empty,
return early. Set the timer to fire after the oldest plug-in has run
for the allowed run time.
- page/PluginHalter.h: Added.
(WebCore::PluginHalter::setPluginAllowedRunTime):
- page/PluginHalterClient.h: Added.
(WebCore::PluginHalterClient::~PluginHalterClient)
- page/Page.cpp:
(WebCore::Page::Page):
Initialize m_pluginHalterClient. Call pluginHalterEnabledStateChanged()
to create the PluginHalter if necessary.
(WebCore::Page::pluginHalterEnabledStateChanged):
If plug-in halting is enabled, create the PluginHalter. If it is
disabled, clear it.
(WebCore::Page::pluginAllowedRunTimeChanged):
If there is a plug-in halter, call its setPluginAllowedRunTime().
(WebCore::Page::didStartPlugin):
If there is a plug-in halter, call its didStartPlugin().
(WebCore::Page::didStopPlugin):
If there is a plug-in halter, call its didStopPlugin().
- page/Page.h:
Add a parameter to the Page constructor for the PluginHalterClient.
Added declarations for didStartPlugin() and didStopPlugin(), which are
called when HaltablePlugins are added to or removed from the page. Adds
pluginAllowedRunTimeChanged() and pluginHalterEnabledStateChanged() to
notify the Page when these settings are changed. Added members to hold
the PluginHalter and the PluginHalterClient.
- page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setPluginHalterEnabled):
If the enabled state has changed, call the Page's
pluginHalterEnabledStateChanged().
(WebCore::Settings::setPluginAllowedRunTime):
Call the Page's pluginAllowedRunTimeChanged().
- page/Settings.h:
(WebCore::Settings::pluginHalterEnabled):
(WebCore::Settings::pluginAllowedRunTime):
- page/HaltablePlugin.h: Added. Defines an interface for plug-ins that
can be automatically halted.
(WebCore::HaltablePlugin::~HaltablePlugin)
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
Pass a dummy PluginHalterClient.
WebKit/gtk/:
- webkit/webkitwebview.cpp:
(webkit_web_view_init):
Pass 0 for new Page constructor argument.
WebKit/mac/:
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
Pass 0 for new Page constructor argument.
WebKit/qt/:
- Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
Pass 0 for new Page constructor argument.
WebKit/win:
- Interfaces/IWebPluginHalterDelegate.idl: Added. Defines an interface
for a delegate that determines whether plug-ins should be halted.
- Interfaces/IWebPreferencesPrivate.idl:
Declare functions to get and set the enabled state of the plug-in
halter and the plug-in allowed run time.
- Interfaces/IWebViewPrivate.idl:
Declare functions to get and set the IWebPluginHalterDelegate.
- Interfaces/WebKit.idl:
- WebCoreSupport/WebPluginHalterClient.cpp: Added.
(WebPluginHalterClient::WebPluginHalterClient):
(WebPluginHalterClient::shouldHaltPlugin):
Get the IWebPluginHalterDelegate for the WebView. Create a WebKit
DOMNode for the WebCore Node. Call the delegate's shouldHaltPlugin().
If the call fails, return false. Otherwise, return the result of the
call.
- WebCoreSupport/WebPluginHalterClient.h: Added.
- WebKit.vcproj/Interfaces.vcproj:
Add IWebPluginHalterDelegate.idl.
- WebKit.vcproj/WebKit.vcproj:
Add WebPluginHalterClient.{h,cpp}.
- WebPreferenceKeysPrivate.h:
Define WebKitPluginHalterEnabledPreferenceKey and
WebKitPluginAllowedRunTimePreferenceKey.
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
Leave plug-in halting disabled by default. Set the default value for
the plug-in allowed run time to the max value of an unsigned int.
(WebPreferences::setPluginHalterEnabled):
(WebPreferences::pluginHalterEnabled):
(WebPreferences::setPluginAllowedRunTime):
(WebPreferences::pluginAllowedRunTime):
- WebPreferences.h:
- WebView.cpp:
(WebView::close):
Clear the IWebPluginHalterDelegate.
(WebView::initWithFrame):
Pass a WebPluginHalterClient when creating the Page.
(WebView::notifyPreferencesChanged):
Set the new settings when the preferences changed notification is
received.
(WebView::setPluginHalterDelegate):
(WebView::pluginHalterDelegate):
- WebView.h:
Declare overrides of setPluginHalterDelegate() and
pluginHalterDelegate(). Added a member to track the
IWebPluginHalterDelegate.
- 11:26 PM Changeset in webkit [48747] by
-
- 2 edits in trunk/JavaScriptCore
2009-09-24 Xan Lopez <xlopez@igalia.com>
Reviewed by Mark "Do It!" Rowe.
Some GCC versions don't like C++-style comments in preprocessor
directives, change to C-style to shut them up.
- wtf/Platform.h:
- 8:53 PM Changeset in webkit [48746] by
-
- 3 edits4 adds in trunk
2009-09-24 Simon Fraser <Simon Fraser>
Reviewed by Dan Bernstein.
REGRESSION: webkit-transform scale no longer works properly in nightly build
https://bugs.webkit.org/show_bug.cgi?id=29730
When the initial or final state of a scale animation does not specify a transform,
use a default scale of 1, rather than zero.
Test: compositing/transitions/scale-transition-no-start.html
- platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::getTransformFunctionValue):
- 7:45 PM Changeset in webkit [48745] by
-
- 21 edits in trunk
WebCore: isEnabled switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930
Patch by John Gregg <johnnyg@google.com> on 2009-09-14
Reviewed by Eric Seidel.
Adds a run-time flag in Settings object that controls whether
to expose desktop notifications.
No new test, but test code also modified to set this preference.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::webkitNotifications): check preference before returning notifications object
- page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setExperimentalNotificationsEnabled):
- page/Settings.h:
(WebCore::Settings::experimentalNotificationsEnabled):
WebKit/mac: isEnabled switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930
Patch by John Gregg <johnnyg@google.com> on 2009-09-14
Reviewed by Eric Seidel.
Adds support for the experimentalNotificationsEnabled flag in Settings
through WebPreferencesPrivate.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences experimentalNotificationsEnabled]):
(-[WebPreferences setExperimentalNotificationsEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):
WebKit/win: Enable switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930
Patch by John Gregg <johnnyg@google.com> on 2009-09-14
Reviewed by Eric Seidel.
Adds support for the experimentalNotificationsEnabled flag in Settings through
WebPreferencesPrivate interface. Also cleans up some issues accessing the
notification delegate through DumpRenderTree.
- Interfaces/IWebPreferencesPrivate.idl:
- WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
(WebDesktopNotificationsDelegate::hasNotificationDelegate):
(WebDesktopNotificationsDelegate::notificationDelegate):
- WebPreferenceKeysPrivate.h:
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setExperimentalNotificationsEnabled):
(WebPreferences::experimentalNotificationsEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
WebKitTools: Enable switch for notifications (experimental) in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=28930
Patch by John Gregg <johnnyg@google.com> on 2009-09-14
Reviewed by Eric Seidel.
Now that desktop notifications are controlled by run-time switch,
set that switch to true for DumpRenderTree.
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
- DumpRenderTree/win/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
- DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::QueryInterface):
- 7:40 PM Changeset in webkit [48744] by
-
- 5 edits in trunk/JavaScriptCore
Division is needlessly slow in 64-bit
https://bugs.webkit.org/show_bug.cgi?id=29723
Reviewed by Gavin Barraclough.
Add codegen for op_div on x86-64
- 7:25 PM Changeset in webkit [48743] by
-
- 3 edits2 adds in trunk
WebCore: Fix <rdar://problem/7162000> Crash while trying to
calculate the horizontal position of image
Reviewed by Sam Weinig.
Test: fast/inline-block/relative-positioned-rtl-crash.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Corrected an
isInline() test to isRenderInline(). This is similar to r41259.
LayoutTests: Test for <rdar://problem/7162000> Crash while trying to
calculate the horizontal position of image
Reviewed by Sam Weinig.
- fast/inline-block/relative-positioned-rtl-crash-expected.txt: Added.
- fast/inline-block/relative-positioned-rtl-crash.html: Added.
- 7:16 PM Changeset in webkit [48742] by
-
- 2 edits in trunk/WebCore
Fix expanding profile call stacks being broken after sorting.
https://bugs.webkit.org/show_bug.cgi?id=26423
Patch by Jessie Berlin <jberlin@webkit.org> on 2009-09-24
Reviewed by Timothy Hatcher.
- inspector/front-end/ProfileDataGridTree.js:
(WebInspector.ProfileDataGridNode.prototype.sort):
Set shouldRefreshChildren to true on collapsed nodes with children so that expanding it
causes the children to be placed in the right positions.
- 6:13 PM Changeset in webkit [48741] by
-
- 4 edits in trunk/WebKitTools
wx build fix. SnowLeopard fixes for Mac dependencies.
- 5:18 PM Changeset in webkit [48740] by
-
- 2 edits in trunk/WebCore
Fixed sudden termination console spew due to too many calls to
enableSuddenTermination.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
Reviewed by Stephanie Lewis.
<rdar://problem/7063125> 10A410: Safari logging enableSuddenTermination errors
- page/DOMWindow.cpp:
(WebCore::removeUnloadEventListener):
(WebCore::removeAllUnloadEventListeners):
(WebCore::removeBeforeUnloadEventListener):
(WebCore::removeAllBeforeUnloadEventListeners): Only
enableSuddenTermination if the set of listeners is empty *and* this
window was in the set. Otherwise, a no-op will cause us to enableSuddenTermination.
- 4:44 PM Changeset in webkit [48739] by
-
- 6 edits2 deletes in trunk
2009-09-24 Carol Szabo <carol.szabo@nokia.com>
Reviewed by Alexey Proskuryakov.
WebKit returns "" instead of null when getting
inexistent, forbidden or invalidly named headers.
https://bugs.webkit.org/show_bug.cgi?id=29140
- http/tests/xmlhttprequest/get-dangerous-headers.html: Updated to test for null instead of ""
- http/tests/xmlhttprequest/getResponseHeader-expected.txt:
- http/tests/xmlhttprequest/getResponseHeader.html: Extended to also test for headers that should return null.
- http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html: Removed. getResponseHeader.html now covers this case as well.
2009-09-24 Carol Szabo <carol.szabo@nokia.com>
Reviewed by Alexey Proskuryakov.
WebKit returns "" instead of null when getting
inexistent, forbidden or invalidly named headers.
https://bugs.webkit.org/show_bug.cgi?id=29140
- xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::getResponseHeader): Changed to return null as it should according to the spec.
- 3:34 PM Changeset in webkit [48738] by
-
- 4 edits in trunk
JavaScriptCore: Add GYP generated files to svn:ignore
https://bugs.webkit.org/show_bug.cgi?id=29724
Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-24
Reviewed by Dimitri Glazkov.
Adding the following files to the svn:ignore list (all in the
JavaScriptCore/JavaScriptCore.gyp directory)
JavaScriptCore.xcodeproj
JavaScriptCore.sln
JavaScriptCore.vcproj
JavaScriptCore_Debug.rules
JavaScriptCore_Release.rules
JavaScriptCore_Release - no tcmalloc.rules
JavaScriptCore_Purify.rules
JavaScriptCore.mk
JavaScriptCore_Debug_rules.mk
JavaScriptCore_Release_rules.mk
JavaScriptCore_Release - no tcmalloc_rules.mk
JavaScriptCore_Purify_rules.mk
JavaScriptCore.scons
JavaScriptCore_main.scons
- JavaScriptCore.gyp: Changed property svn:ignore.
WebCore: Add GYP generated files to svn:ignore
https://bugs.webkit.org/show_bug.cgi?id=29724
Patch by Jeremy Orlow <jorlow@chromium.org> on 2009-09-24
Reviewed by Dimitri Glazkov.
Adding the following files to the svn:ignore list (all in the
WebCore/WebCore.gyp directory)
WebCore.xcodeproj
WebCore.sln
WebCore.vcproj
WebCore_Debug.rules
WebCore_Release.rules
WebCore_Release - no tcmalloc.rules
WebCore_Purify.rules
WebCore.mk
WebCore_Debug_rules.mk
WebCore_Release_rules.mk
WebCore_Release - no tcmalloc_rules.mk
WebCore_Purify_rules.mk
WebCore.scons
WebCore_main.scons
- WebCore.gyp: Changed property svn:ignore.
- 3:24 PM Changeset in webkit [48737] by
-
- 2 edits in trunk/WebCore
Unreviewed Mac build fix
- 3:00 PM Changeset in webkit [48736] by
-
- 3 edits in trunk/JavaScriptCore
2009-09-24 Yong Li <yong.li@torchmobile.com>
Reviewed by Adam Barth.
Replace platform-dependent code with WTF::currentTime()
https://bugs.webkit.org/show_bug.cgi?id=29148
- jsc.cpp: (StopWatch::start): (StopWatch::stop): (StopWatch::getElapsedMS):
- runtime/TimeoutChecker.cpp: (JSC::getCPUTime):
- 2:58 PM Changeset in webkit [48735] by
-
- 8 edits3 adds in trunk
Implement correct horizontal scrollbar behavior for GTK+
WebCore
2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Oliver Hunt.
Implement correct horizontal scrollbar behavior for GTK+ also on
styled scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=29348
[Gtk] Scrollwheel on horizontal scrollbars should slide horizontally
Test: platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
- page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent): on GTK+, when using the wheel with the pointer on the horizontal scrollbar, scroll horizontally;
- platform/PlatformWheelEvent.h:
- platform/gtk/WheelEventGtk.cpp: (WebCore::PlatformWheelEvent::swapOrientation): allow adding a vertical scroll to the horizontal one;
WebKitTools
2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Oliver Hunt.
Add support for DRT to send mouse wheel events.
https://bugs.webkit.org/show_bug.cgi?id=29348
[Gtk] Scrollwheel on horizontal scrollbars should slide horizontally
- DumpRenderTree/gtk/EventSender.cpp: (mouseWheelToCallback):
LayoutTests
2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Oliver Hunt.
Test for correct wheel scrolling behavior.
https://bugs.webkit.org/show_bug.cgi?id=29348
[Gtk] Scrollwheel on horizontal scrollbars should slide horizontally
- platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html: Added.
- platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll-expected.txt: Added.
- 2:36 PM Changeset in webkit [48734] by
-
- 7 edits in trunk/WebCore
2009-09-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Eric Seidel.
StorageNamespace::storageArea() should take in a PassRefPtr<StorageOrigin>
https://bugs.webkit.org/show_bug.cgi?id=29290
Modified StorageNamespace::storageArea() to take in a PassRefPtr<StorageOrigin>
per http://webkit.org/coding/RefPtr.html
No behavior change, so no tests.
- storage/StorageNamespace.h:
- storage/StorageNamespaceImpl.cpp: (WebCore::StorageNamespaceImpl::storageArea):
- storage/StorageNamespaceImpl.h:
- 2:25 PM Changeset in webkit [48733] by
-
- 4 edits in trunk/JavaScriptCore
<rdar://problem/7215058> FastMalloc scavenging thread should be named
Reviewed by Sam Weinig.
- wtf/FastMalloc.cpp:
(WTF::TCMalloc_PageHeap::scavengerThread): Set the thread name.
- wtf/Platform.h: Move the knowledge of whether pthread_setname_np exists to here as HAVE(PTHREAD_SETNAME_NP).
- wtf/ThreadingPthreads.cpp:
(WTF::setThreadNameInternal): Use HAVE(PTHREAD_SETNAME_NP).
- 2:18 PM Changeset in webkit [48732] by
-
- 4 edits in trunk
JavaScriptCore: Renamed clear to removeAll, as suggested by Darin Adler.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
Reviewed by Sam Weinig.
- wtf/HashCountedSet.h:
(WTF::::removeAll):
WebCore: Added back enable/disableSuddenTermination() functionality I accidentally
removed in my last patch.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
Reviewed by Sam Weinig.
- page/DOMWindow.cpp:
(WebCore::addUnloadEventListener):
(WebCore::removeUnloadEventListener):
(WebCore::removeAllUnloadEventListeners):
(WebCore::addBeforeUnloadEventListener):
(WebCore::removeBeforeUnloadEventListener):
(WebCore::removeAllBeforeUnloadEventListeners):
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):
- 2:15 PM Changeset in webkit [48731] by
-
- 3 edits in trunk/JavaScriptCore
Fix FastMalloc to build with assertions enabled.
Reviewed by Gavin Barraclough.
- wtf/FastMalloc.cpp:
(WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
- wtf/TCSpinLock.h:
(TCMalloc_SpinLock::IsHeld):
- 1:40 PM Changeset in webkit [48730] by
-
- 2 edits12 adds in trunk/WebKitTools
2009-09-17 Eric Seidel <eric@webkit.org>
Reviewed by David Levin.
commit-queue needs web-based status reporting
https://bugs.webkit.org/show_bug.cgi?id=29307
Add a first-pass web-based status for the commit-queue.
The bot is currently reachable at:
http://webkit-commit-queue.appspot.com/
- CommitQueueStatus/app.yaml: Added.
- Application description file required by App Engine.
- CommitQueueStatus/filters/init.py: Added.
- Required by python to treat 'filters' as a module.
- CommitQueueStatus/filters/webkit_extras.py: Added.
- Support for turning 'bug 123' and 'patch 123' into links. This lets us use plain text strings in our logs yet display nice HTML (help prevent XSS attacks on the page).
- CommitQueueStatus/index.html: Added.
- CommitQueueStatus/index.yaml: Added.
- Some auto-generated file from app engine.
- CommitQueueStatus/queue_status.py: Added.
- The core logic of this bot. We could eventually split this file out into pieces.
- CommitQueueStatus/stylesheets/main.css: Added.
- Some basic lame-o CSS to make the page look less awful.
- CommitQueueStatus/update_status.html: Added.
- The form that the commit-queue (or a human) can use to update the status.
- Scripts/bugzilla-tool:
- Add some very basic update_status calls.
- Scripts/modules/statusbot.py: Added.
- Knows how to post to the CommitQueueStatus web application.
- 1:32 PM Changeset in webkit [48729] by
-
- 2 edits in trunk/WebCore
Don't pass -F to GCC on non-mac platforms since it is an darwin only.
Reviewed by Steve Falkenburg and Mark Rowe.
- DerivedSources.make:
- 12:42 PM Changeset in webkit [48728] by
-
- 2 edits in trunk/WebCore
Fix windows build.
- dom/Element.idl:
- 12:37 PM Changeset in webkit [48727] by
-
- 2 edits in trunk/JavaScriptCore
Suggested by Darin Adler.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
Removed some unnecessary parameter names.
- wtf/HashCountedSet.h:
- 11:51 AM Changeset in webkit [48726] by
-
- 3 edits in trunk/WebCore
Fix for https://bugs.webkit.org/show_bug.cgi?id=29696 ([CHROMIUM] Paths fail to render in SVG with large viewbox)
Revert the relevant parts of r47925, and implement an alternate
fix (localize the coordinate check to GraphicsContext::clipPath()).
See http://crbug.com/21174.
Reviewed by Eric Seidel.
Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html.
- platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clipPath):
- platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::currentPathInLocalCoordinates):
- 11:18 AM Changeset in webkit [48725] by
-
- 2 edits in trunk/WebCore
Merge changes from Mozilla's FTP directory parser.
<rdar://problem/7227620> and https://bugs.webkit.org/show_bug.cgi?id=29294
Reviewed by Sam Weinig.
FTP layout tests not possible at this time.
https://bugs.webkit.org/show_bug.cgi?id=29719 tracks making them possible.
- loader/FTPDirectoryParser.cpp:
(WebCore::ParsingFailed):
(WebCore::parseOneFTPLine):
- 10:55 AM Changeset in webkit [48724] by
-
- 4 edits in trunk
WebCore
2009-09-24 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] re-enable some media tests
https://bugs.webkit.org/show_bug.cgi?id=29716
make canPlayType() return "probably" if mime-type is known
and codecs string is not empty. If codecs is empty return
"maybe".
- platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::supportsType):
LayoutTests
2009-09-24 Philippe Normand <pnormand@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] re-enable some media tests
https://bugs.webkit.org/show_bug.cgi?id=29716
- platform/gtk/Skipped:
- 10:47 AM Changeset in webkit [48723] by
-
- 29 edits in trunk
WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=29703
Add a function to element to check whether it matches a CSS selector
Reviewed by Dan Bernstein.
Implement Element.webkitMatchesSelector.
- css/CSSSelectorList.cpp:
(WebCore::forEachTagSelector):
(WebCore::forEachSelector):
(WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
(WebCore::CSSSelectorList::selectorsNeedNamespaceResolution):
- css/CSSSelectorList.h:
Moved code to iterate the CSSSelectorList and determine if any
selectors need namespace resolution from a static function in
Node.cpp to CSSSelectorList so that it can be used by webkitMatchesSelector
as well as querySelector/querySelectorAll.
- dom/Element.cpp:
(WebCore::Element::webkitMatchesSelector):
- dom/Element.h:
- dom/Element.idl:
Implement the new function. Handles exceptional cases identically to
querySelector/querySelectorAll.
- dom/Node.cpp:
(WebCore::Node::querySelector):
(WebCore::Node::querySelectorAll):
Moved selectorsNeedNamespaceResolution to CSSSelectorList from here.
LayoutTests: Update tests for https://bugs.webkit.org/show_bug.cgi?id=29703
Add a function to element to check whether it matches a CSS selector
Reviewed by Dan Bernstein.
Add webkitMatchesSelector to SelectorAPI tests.
- fast/dom/SelectorAPI/caseID-almost-strict-expected.txt:
- fast/dom/SelectorAPI/caseID-almost-strict.html:
- fast/dom/SelectorAPI/caseID-expected.txt:
- fast/dom/SelectorAPI/caseID-strict-expected.txt:
- fast/dom/SelectorAPI/caseID-strict.html:
- fast/dom/SelectorAPI/caseID.html:
- fast/dom/SelectorAPI/caseTag-expected.txt:
- fast/dom/SelectorAPI/caseTag.html:
- fast/dom/SelectorAPI/caseTagX-expected.txt:
- fast/dom/SelectorAPI/caseTagX.xhtml:
- fast/dom/SelectorAPI/detached-element-expected.txt:
- fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
- fast/dom/SelectorAPI/not-supported-namespace-in-selector.html:
- fast/dom/SelectorAPI/script-tests/detached-element.js:
- fast/dom/SelectorAPI/script-tests/undefined-null-stringify.js:
- fast/dom/SelectorAPI/script-tests/viewless-document.js:
- fast/dom/SelectorAPI/undefined-null-stringify-expected.txt:
- fast/dom/SelectorAPI/viewless-document-expected.txt:
- fast/dom/Window/window-properties-expected.txt:
- fast/dom/domListEnumeration-expected.txt:
- fast/dom/script-tests/domListEnumeration.js:
- 10:14 AM Changeset in webkit [48722] by
-
- 2 edits in trunk/WebKitTools
<http://webkit.org/b/29712> mark-bug-fixed: add -mcomment switch Reviewed by Adam Roben.
- Scripts/mark-bug-fixed:
(MarkBugFixed.init): Added -mcomment switch to list of parse options.
(MarkBugFixed.main): When specified, prepend comment from
-mcomment command-line switch to the bug comment. - 7:15 AM Changeset in webkit [48721] by
-
- 2 edits in trunk/WebKitTools
2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Jan Alonzo.
[GTK] DRT must display window instead of just realizing, to enable synthesizing events correctly
https://bugs.webkit.org/show_bug.cgi?id=29693
Show the window, to be able to synthesize events correctly.
- DumpRenderTree/gtk/DumpRenderTree.cpp: (runTest): (main):
- 7:11 AM Changeset in webkit [48720] by
-
- 11 edits in trunk/WebCore
2009-09-24 Vitaly Repeshko <vitalyr@chromium.org>
Reviewed by Dimitri Glazkov.
[V8] Fixed bindings build after http://trac.webkit.org/changeset/48701
https://bugs.webkit.org/show_bug.cgi?id=29713
Got rid of isWindowEvent in function signatures:
- bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::invokeEventHandler): (WebCore::V8AbstractEventListener::handleEvent): (WebCore::V8AbstractEventListener::getReceiverObject):
- bindings/v8/V8AbstractEventListener.h:
- bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::callListenerFunction):
- bindings/v8/V8LazyEventListener.h:
- bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::handleEvent): (WebCore::V8WorkerContextEventListener::callListenerFunction): (WebCore::V8WorkerContextEventListener::getReceiverObject):
- bindings/v8/V8WorkerContextEventListener.h:
- bindings/v8/custom/V8CustomEventListener.cpp: (WebCore::V8EventListener::callListenerFunction):
- bindings/v8/custom/V8CustomEventListener.h:
Switched to EventTarget methods of adding/removing listeners:
- bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: (WebCore::toEventID): (WebCore::ACCESSOR_SETTER):
- dom/EventTarget.h: Some functions were incorrectly marked as JSC-specific.
- 5:54 AM Changeset in webkit [48719] by
-
- 4 edits in trunk/WebKit/gtk
2009-09-24 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha and Jan Alonzo.
[GTK] Add WEBKIT_LOAD_ERROR status
https://bugs.webkit.org/show_bug.cgi?id=29644
Add a new load-status enum value, WEBKIT_LOAD_FAILED, emitted when
there's an error during the load process. This is needed if we
want notify::load-status to be able to handle all situations,
since WEBKIT_LOAD_FINISHED is not emitted when there's an error
and we are lacking a notification of the load being stopped.
- WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- tests/testloading.c: (web_loading_fixture_setup): (load_error_status_changed_cb): (load_error_cb): (test_loading_error): (load_cancelled_cb): (stop_load): (load_cancelled_status_changed_cb): (test_loading_cancelled): (main):
- webkit/webkitwebframe.h:
- 5:00 AM Changeset in webkit [48718] by
-
- 3 edits in trunk/WebCore
2009-09-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Color-code watch expression errors with red.
- inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update): (WebInspector.WatchExpressionTreeElement.prototype.update):
- inspector/front-end/inspector.css:
- 4:57 AM Changeset in webkit [48717] by
-
- 5 edits in trunk/WebCore
2009-09-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Fix formatting for messages derived from resource warnings,
couple of drive-by formatting fixes.
- inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addMessageToConsole):
- inspector/front-end/ConsoleView.js:
- inspector/front-end/InjectedScript.js: (InjectedScript._evaluateAndWrap):
- inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
- 4:45 AM Changeset in webkit [48716] by
-
- 5 edits in trunk/WebCore
2009-09-22 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Implement InspectorController::copyNode(id).
- inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::copyNode):
- inspector/InspectorBackend.h:
- inspector/InspectorBackend.idl:
- inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.handleCopyEvent):
- 3:55 AM Changeset in webkit [48715] by
-
- 8 edits in trunk
Roll out r48712 as it is incorrect.
Reviewed by NOBODY(rollout)
- 3:52 AM Changeset in webkit [48714] by
-
- 6 edits in trunk
Revert r48697, since it broke key handling notification to GTK+.
- 3:49 AM Changeset in webkit [48713] by
-
- 2 edits in trunk/WebCore
2009-09-24 Philippe Normand <pnormand@igalia.com>
Reviewed by Xan Lopez.
[GTK] GStreamer MediaPlayer is unable to correctly querry duration
https://bugs.webkit.org/show_bug.cgi?id=24639
check duration returned by gst_element_query_duration() only
when using GStreamer < 0.10.23.
- platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::duration):
- 3:42 AM Changeset in webkit [48712] by
-
- 8 edits in trunk
2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Eric Seidel.
The indices of RuntimeArray should be enumerated like for a regular array.
https://bugs.webkit.org/show_bug.cgi?id=29005
- platform/mac/fast/dom/wrapper-classes-objc-expected.txt:
- platform/mac/fast/dom/wrapper-classes-objc.html:
2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Eric Seidel.
The indices of RuntimeArray should be enumerated like for a regular array.
https://bugs.webkit.org/show_bug.cgi?id=29005
- bridge/runtime_array.cpp: (JSC::RuntimeArray::getPropertyNames):
- bridge/runtime_array.h:
2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=29005
The indices of RuntimeArray should be enumerated like for a regular array.
- DumpRenderTree/mac/ObjCController.m: (+[ObjCController isSelectorExcludedFromWebScript:]): (+[ObjCController webScriptNameForSelector:]): (-[ObjCController arrayOfString]):
- 3:12 AM Changeset in webkit [48711] by
-
- 2 edits in trunk/JavaScriptCore
On Windows JSChar is typedef'ed to wchar_t.
Patch by Janne Koskinen <janne.p.koskinen@digia.com> on 2009-09-24
Reviewed by Simon Hausmann.
When building with WINSCW for Symbian we need to do the
same typedef.
- API/JSStringRef.h:
- 2:38 AM Changeset in webkit [48710] by
-
- 12 edits in trunk/WebCore
2009-09-23 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Eric Seidel.
Introduce Pasteboard::writePlaintext(const String&) so that copying
of the inspected elements HTML will be possible in WebInspector.
https://bugs.webkit.org/show_bug.cgi?id=29634
- platform/Pasteboard.h:
- platform/android/TemporaryLinkStubs.cpp: (Pasteboard::writePlainText):
- platform/chromium/ChromiumBridge.h:
- platform/chromium/PasteboardChromium.cpp: (WebCore::Pasteboard::writePlainText):
- platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::writePlainText):
- platform/haiku/PasteboardHaiku.cpp: (WebCore::Pasteboard::writePlainText):
- platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writePlainText):
- platform/qt/PasteboardQt.cpp: (WebCore::Pasteboard::writePlainText):
- platform/win/PasteboardWin.cpp: (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writePlainText):
- platform/wince/PasteboardWince.cpp: (WebCore::Pasteboard::writePlainText):
- platform/wx/PasteboardWx.cpp: (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writePlainText): (WebCore::Pasteboard::writeURL):
- 1:11 AM Changeset in webkit [48709] by
-
- 2 edits in trunk/WebCore
Fix QApp::translate() calls to provide the correct class name without
a trailing comma.
Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2009-09-24
Reviewed by Simon Hausmann.
- platform/qt/Localizations.cpp:
(WebCore::localizedMediaTimeDescription):
- 1:11 AM Changeset in webkit [48708] by
-
- 2 edits in trunk/WebKit/qt
qdoc: Added \brief texts to all the since 4.6 functions.
Patch by Martin Smith <msmith@trolltech.com> on 2009-09-24
Reviewed by Simon Hausmann.
- Api/qwebhistory.cpp:
- 12:20 AM Changeset in webkit [48707] by
-
- 5 edits in trunk/WebCore
More build fix: Removed JSSharedWorkerContextCustom.cpp from project
files, since it no longer exists in the repository.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
- GNUmakefile.am:
- WebCore.gypi:
- WebCore.pro:
- WebCore.vcproj/WebCore.vcproj:
- 12:15 AM Changeset in webkit [48706] by
-
- 2 edits in trunk/WebCore
Windows build fix: Declare set/unsetPendingActivity public, so
SharedWorkerScriptLoader can call them.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
- dom/ActiveDOMObject.h:
- 12:12 AM Changeset in webkit [48705] by
-
- 3 edits in trunk/WebCore
Fixed a bit of the Windows build.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-24
- workers/SharedWorker.idl: Declare a custom mark function. (I accidentally
removed this in my last patch.)
- WebCore.xcodeproj/project.pbxproj: Added JSSharedWorkerCustom.cpp back
to the build. (I accidentally removed this in my last patch.)
Sep 23, 2009:
- 11:49 PM Changeset in webkit [48704] by
-
- 2 edits in trunk/WebCore
32-bit build fix: restore previous cast that I thought was unnecessary.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didSendData):
(WebCore::XMLHttpRequest::didReceiveData):
- 11:39 PM Changeset in webkit [48703] by
-
- 2 edits in trunk/JavaScriptCore
A piece of my last patch that I forgot.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
- wtf/HashCountedSet.h:
(WTF::::clear): Added HashCountedSet::clear.
- 11:10 PM Changeset in webkit [48702] by
-
- 2 edits in trunk/JavaScriptCore
2009-09-24 Gabor Loki <loki@inf.u-szeged.hu>
Reviewed by Gavin Barraclough.
Avoid clear_cache built-in function if DISABLE_BUILTIN_CLEAR_CACHE define is set
https://bugs.webkit.org/show_bug.cgi?id=28886
There are some GCC packages (for example GCC-2006q3 from CodeSourcery)
which contain clear_cache built-in function only for C while the C++
version of clear_cache is missing on ARM architectures.
Fixed a small bug in the inline assembly of cacheFlush function on
ARM_TRADITIONAL.
- jit/ExecutableAllocator.h: (JSC::ExecutableAllocator::cacheFlush):
- 10:53 PM Changeset in webkit [48701] by
-
- 131 edits6 adds1 delete in trunk
JavaScriptCore: Added the ability to swap vectors with inline capacities, so you can
store a vector with inline capacity in a hash table.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
Reviewed by Sam Weinig.
- wtf/Vector.h:
(WTF::swap):
(WTF::VectorBuffer::swap):
WebCore: Bring a little sanity to this crazy EventTarget world of ours
https://bugs.webkit.org/show_bug.cgi?id=29701
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
Reviewed by Sam Weinig.
Lots of EventTarget refactoring to achieve a single shared implementation
that fixes some of the performance and correctness bugs of the many individual
implementations, and makes reasoning about EventTargets and EventListeners
much easier.
The basic design is this:
- EventTarget manages a set of EventListeners.
- onXXX EventListener attributes forward to standard EventTarget APIs.
- Since the onXXX code is repetitive, it is usually done with macros of the form DEFINE_ATTRIBUTE_EVENT_LISTENER(attributeName).
- EventTarget provides a shared implementation of dispatchEvent, which subclasses with special event dispatch rules, like Node, override.
- To support Node, which lazily instantiates its EventTarget data, EventTarget has no data members, and instead makes a virtual call to get its data from wherever its subclass chose to store it.
Code that used to call dispatchEvent, passing an ExceptionCode paratmeter,
even though no exception could be thrown, has been changed not to do so,
to improve clarity and performance.
Code that used to call a special dispatchXXXEvent function, which just
turned around and called dispatchEvent, has been changed to call
dispatchEvent, to improve clarity and performance.
- WebCore.base.exp:
- WebCore.xcodeproj/project.pbxproj: Another day in the life of a WebKit
engineer.
- bindings/js/JSDOMBinding.cpp:
(WebCore::isObservableThroughDOM): Updated for Node API change. Added
"is not in the document but is firing event listeners" as a condition
that makes a Node observable in the DOM, so that event listeners firing
on removed nodes are not destroyed midstream. (This was a long-standing
bug that was somewhat hidden by the old implementation's habit of
copying the RegisteredEventListener vector before firing events, which
would keep almost all the relevant objects from being destroyed.)
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent): Removed the isWindowEvent flag
because it was one of the most elaborately planned no-ops in the history
of software crime, and one of the reasons clients thought they needed more
than one dispatchEvent function even though they didn't.
- bindings/js/JSEventListener.h:
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::markChildren):
(WebCore::JSMessagePort::markChildren):
- bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::markChildren):
- bindings/js/JSAbstractWorkerCustom.cpp:
- bindings/js/JSDOMApplicationCacheCustom.cpp:
- bindings/js/JSDedicatedWorkerContextCustom.cpp:
- bindings/js/JSEventSourceCustom.cpp:
- bindings/js/JSMessagePortCustom.cpp:
- bindings/js/JSSharedWorkerContextCustom.cpp: Removed.
- bindings/js/JSWebSocketCustom.cpp:
- bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::markChildren):
- bindings/js/JSWorkerCustom.cpp:
- bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::markChildren):
- bindings/js/JSXMLHttpRequestUploadCustom.cpp:
(WebCore::JSXMLHttpRequestUpload::markChildren): EventListener marking is
now autogenerated. Classes that still have custom mark functions for other
reasons now call a shared EventTarget API to mark their EventListeners.
- bindings/objc/ObjCEventListener.h:
- bindings/objc/ObjCEventListener.mm:
(WebCore::ObjCEventListener::handleEvent): Bye bye isWindowEvent.
- bindings/scripts/CodeGeneratorJS.pm: Autogeneration support for
marking and invalidating event listeners.
- dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChild):
(WebCore::ContainerNode::appendChild):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
- dom/Document.cpp:
(WebCore::Document::removeAllEventListeners):
(WebCore::Document::implicitClose):
(WebCore::Document::setFocusedNode):
(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):
(WebCore::Document::finishedParsing):
- dom/Document.h: Use dispatchEvent directly.
- dom/Element.h: Moved a few event listener attributes down from Node,
since they don't apply to all Nodes, only Elements.
- dom/EventListener.h: Removed isWindowEvent parameter.
- dom/EventNames.h: Added the "display" event name, so it works correctly
with attribute macros, and for performance.
- dom/EventTarget.cpp:
(WebCore::forbidEventDispatch):
(WebCore::allowEventDispatch):
(WebCore::eventDispatchForbidden): Made this code (embarrasingly) thread
safe, since it's now called on multiple threads. (Currently, we only forbid
event dispatch on the main thread. If we ever want to forbid event dispatch
on secondary threads, we can improve it then.)
(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::setAttributeEventListener):
(WebCore::EventTarget::getAttributeEventListener):
(WebCore::EventTarget::clearAttributeEventListener):
(WebCore::EventTarget::dispatchEvent):
(WebCore::EventTarget::fireEventListeners):
(WebCore::EventTarget::getEventListeners):
(WebCore::EventTarget::removeAllEventListeners):
- dom/EventTarget.h:
(WebCore::FiringEventEndIterator::FiringEventEndIterator):
(WebCore::EventTarget::ref):
(WebCore::EventTarget::deref):
(WebCore::EventTarget::markEventListeners):
(WebCore::EventTarget::invalidateEventListeners):
(WebCore::EventTarget::isFiringEventListeners):
(WebCore::EventTarget::hasEventListeners): The ONE TRUE IMPLEMENTATION of
EventTarget APIs, crafted from an amalgam of all the different versions
we used to have. The most significant change here is that we no longer
make a copy of an EventListener vector before firing the events in the
vector -- instead, we use a reference to the original vector, along with
a notification mechanism for the unlikely case when an EventListener is
removed from the vector. This substantially reduces malloc, copying, and
refcount overhead, and complexity.
- dom/InputElement.cpp:
(WebCore::InputElement::setValueFromRenderer):
- dom/MessageEvent.h:
(WebCore::MessageEvent::create): Use dispatchEvent directly.
- dom/MessagePort.cpp:
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::eventTargetData):
(WebCore::MessagePort::ensureEventTargetData):
- dom/MessagePort.h:
(WebCore::MessagePort::setOnmessage):
(WebCore::MessagePort::onmessage):
- dom/MessagePort.idl: Removed custom EventTarget implementation.
- dom/MutationEvent.h:
(WebCore::MutationEvent::create): Added some default values so callers
can construct MutationEvents more easily, without calling a custom dispatch
function.
- dom/Node.cpp:
(WebCore::Node::addEventListener):
(WebCore::Node::removeEventListener):
(WebCore::Node::eventTargetData):
(WebCore::Node::ensureEventTargetData):
(WebCore::Node::handleLocalEvents):
(WebCore::Node::dispatchEvent):
(WebCore::Node::dispatchGenericEvent):
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchUIEvent):
(WebCore::Node::dispatchKeyEvent):
(WebCore::Node::dispatchMouseEvent):
(WebCore::Node::dispatchWheelEvent):
(WebCore::Node::dispatchFocusEvent):
(WebCore::Node::dispatchBlurEvent):
- dom/Node.h:
(WebCore::Node::preDispatchEventHandler):
(WebCore::Node::postDispatchEventHandler):
- dom/Node.idl:
- dom/NodeRareData.h:
(WebCore::NodeRareData::eventTargetData):
(WebCore::NodeRareData::ensureEventTargetData): Use the shared EventTarget
interface, and call dispatchEvent directly instead of custom dispatchXXXEvent
functions that just forwarded to dispatchEvent.
- dom/RegisteredEventListener.cpp:
- dom/RegisteredEventListener.h:
(WebCore::RegisteredEventListener::RegisteredEventListener):
(WebCore::operator==): This is just a simple struct now, since we no longer
do a complicated copy / refCount / isRemoved dance just to honor the rule
that an EventListener can be removed during event dispatch.
- history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore): Removed another custom dispatchEvent.
- html/HTMLBodyElement.cpp:
- html/HTMLBodyElement.h: Use the shared EventTarget API.
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
(WebCore::HTMLFormControlElement::checkValidity):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::handleLocalEvents):
(WebCore::HTMLFormElement::prepareSubmit):
(WebCore::HTMLFormElement::reset):
- html/HTMLFormElement.h: Use the standard dispatchEvent API.
- html/HTMLFrameSetElement.cpp:
- html/HTMLFrameSetElement.h: Use the shared EventTarget API.
- html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::onSearch):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal):
- html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::dispatchLoadEvent):
(WebCore::HTMLScriptElement::dispatchErrorEvent):
- html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::errorEventTimerFired):
- html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::notifyFinished): Use the standard dispatchEvent API.
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::handleEvent):
- inspector/InspectorDOMAgent.h:
- inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::handleEvent):
- inspector/InspectorDOMStorageResource.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::canCachePageContainingThisFrame):
(WebCore::FrameLoader::logCanCacheFrameDecision):
(WebCore::HashChangeEventTask::performTask):
(WebCore::FrameLoader::pageHidden): No more isWindowEvent.
- loader/ImageDocument.cpp:
(WebCore::ImageEventListener::handleEvent):
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::CallCacheListenerTask::performTask):
- loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
- loader/appcache/ApplicationCacheHost.h:
- loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::eventTargetData):
(WebCore::DOMApplicationCache::ensureEventTargetData):
- loader/appcache/DOMApplicationCache.h:
- loader/appcache/DOMApplicationCache.idl: Switched to the standard
EventTarget API. As a part of this, I switched this class from using a
custom internal event name enumeration to using the standard EventNames.
- notifications/Notification.cpp:
(WebCore::Notification::eventTargetData):
(WebCore::Notification::ensureEventTargetData):
- notifications/Notification.h:
(WebCore::Notification::scriptExecutionContext):
- notifications/Notification.idl: Switched to the standard EventTarget API.
- page/DOMWindow.cpp:
(WebCore::PostMessageTimer::event):
(WebCore::windowsWithUnloadEventListeners):
(WebCore::windowsWithBeforeUnloadEventListeners):
(WebCore::allowsBeforeUnloadListeners):
(WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
(WebCore::DOMWindow::pendingUnloadEventListeners):
(WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Changed the "pending"
unload / beforeunload listener tracker just to track which windows had
such listeners, instead of actually keeping a copy of the listeners. Now,
this code can use the standard EventTarget API.
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::postMessageTimerFired):
(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::dispatchLoadEvent):
(WebCore::DOMWindow::dispatchEvent):
(WebCore::DOMWindow::removeAllEventListeners):
(WebCore::DOMWindow::captureEvents):
(WebCore::DOMWindow::releaseEvents):
(WebCore::DOMWindow::eventTargetData):
(WebCore::DOMWindow::ensureEventTargetData):
- page/DOMWindow.h:
- page/DOMWindow.idl: Use the standard EventTarget APIs.
- page/EventHandler.cpp:
(WebCore::EventHandler::canMouseDownStartSelect):
(WebCore::EventHandler::canMouseDragExtendSelect):
(WebCore::EventHandler::sendResizeEvent):
(WebCore::EventHandler::sendScrollEvent): Use dispatchEvent directly.
- page/EventSource.cpp:
(WebCore::EventSource::endRequest):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::parseEventStreamLine):
(WebCore::EventSource::stop):
(WebCore::EventSource::createMessageEvent):
(WebCore::EventSource::eventTargetData):
(WebCore::EventSource::ensureEventTargetData):
- page/EventSource.h:
- page/EventSource.idl: Use the standard EventTarget APIs.
- page/FocusController.cpp:
(WebCore::dispatchEventsOnWindowAndFocusedNode):
(WebCore::FocusController::setFocusedFrame):
- page/Frame.cpp:
(WebCore::Frame::shouldClose):
- page/Frame.h:
- page/Page.cpp:
(WebCore::networkStateChanged):
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::valueChanged):
- rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::selectionChanged):
- rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::subtreeHasChanged): Use dispatchEvent.
- svg/SVGElement.cpp:
(WebCore::hasLoadListener): Rewritten for new EventTarget API.
- svg/SVGElementInstance.cpp:
(WebCore::dummyEventTargetData):
(WebCore::SVGElementInstance::addEventListener):
(WebCore::SVGElementInstance::removeEventListener):
(WebCore::SVGElementInstance::removeAllEventListeners):
(WebCore::SVGElementInstance::dispatchEvent):
(WebCore::SVGElementInstance::eventTargetData):
(WebCore::SVGElementInstance::ensureEventTargetData): Use the EventTarget API.
- svg/SVGElementInstance.h:
- svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::dispatchLoadEvent):
- svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::dispatchErrorEvent): Use dispatchEvent directly.
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::transferEventListenersToShadowTree): Updated for
new EventTarget API.
- svg/animation/SVGSMILElement.cpp:
(WebCore::ConditionEventListener::handleEvent): No more isWindowEvent.
- websockets/WebSocket.cpp:
(WebCore::ProcessWebSocketEventTask::create):
(WebCore::ProcessWebSocketEventTask::performTask):
(WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
(WebCore::WebSocket::didConnect):
(WebCore::WebSocket::didReceiveMessage):
(WebCore::WebSocket::didClose):
(WebCore::WebSocket::eventTargetData):
(WebCore::WebSocket::ensureEventTargetData):
- websockets/WebSocket.h:
- websockets/WebSocket.idl:
- workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::eventTargetData):
(WebCore::AbstractWorker::ensureEventTargetData):
- workers/AbstractWorker.h:
- workers/AbstractWorker.idl:
- workers/DedicatedWorkerContext.cpp:
- workers/DedicatedWorkerContext.h:
- workers/DedicatedWorkerContext.idl:
- workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerConnectTask::performTask):
(WebCore::SharedWorkerScriptLoader::load):
(WebCore::SharedWorkerScriptLoader::notifyFinished):
- workers/SharedWorker.idl:
- workers/SharedWorkerContext.cpp:
(WebCore::createConnectEvent):
- workers/SharedWorkerContext.h:
- workers/SharedWorkerContext.idl:
- workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
- workers/Worker.h:
- workers/Worker.idl:
- workers/WorkerContext.cpp:
(WebCore::WorkerContext::eventTargetData):
(WebCore::WorkerContext::ensureEventTargetData):
- workers/WorkerContext.h:
- workers/WorkerContext.idl:
- workers/WorkerMessagingProxy.cpp:
(WebCore::MessageWorkerContextTask::performTask):
(WebCore::MessageWorkerTask::performTask):
(WebCore::WorkerExceptionTask::performTask):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::networkError):
(WebCore::XMLHttpRequest::abortError):
(WebCore::XMLHttpRequest::didSendData):
(WebCore::XMLHttpRequest::didReceiveData):
(WebCore::XMLHttpRequest::eventTargetData):
(WebCore::XMLHttpRequest::ensureEventTargetData):
- xml/XMLHttpRequest.h:
- xml/XMLHttpRequest.idl:
- xml/XMLHttpRequestProgressEvent.h:
(WebCore::XMLHttpRequestProgressEvent::create):
- xml/XMLHttpRequestUpload.cpp:
(WebCore::XMLHttpRequestUpload::eventTargetData):
(WebCore::XMLHttpRequestUpload::ensureEventTargetData):
- xml/XMLHttpRequestUpload.h:
- xml/XMLHttpRequestUpload.idl: Use new EventTarget API.
WebKit/mac: Updated for a WebCore rename.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
Reviewed by Sam Weinig.
- WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
LayoutTests: Layout tests for event target sanitization.
Patch by Geoffrey Garen <ggaren@apple.com> on 2009-09-23
Reviewed by Sam Weinig.
New tests for event dispatch:
- fast/events/event-attributes-after-exception-expected.txt: Added.
- fast/events/event-attributes-after-exception.html: Added.
- fast/events/event-fire-order-expected.txt: Added.
- fast/events/event-fire-order.html: Added.
- fast/events/event-fired-after-removal-expected.txt: Added.
- fast/events/event-fired-after-removal.html: Added.
Fixed these tests:
- fast/xmlhttprequest/xmlhttprequest-get-expected.txt: eventPhase should
be AT_TARGET (2) when firing an event on an XHR, not INVALID (0).
- http/tests/xmlhttprequest/infoOnProgressEvent-expected.txt: ditto
- http/tests/xmlhttprequest/event-target-expected.txt:
- http/tests/xmlhttprequest/event-target.html: Removing an event listener
during event dispatch should prevent it from firing. (This test was backwards.)
- svg/custom/loadevents-capturing.svg: Enhanced this test to tell you
why it fails when it fails. Changed it to register runTest() (now named
reportResults()) using addEventListener() instead of the 'onload' attribute.
The test relies on reportResults() running after handler(), so it needs
to register reportResults() after handler().
- 10:00 PM Changeset in webkit [48700] by
-
- 3 edits2 adds in trunk/WebKitTools
<http://webkit.org/b/28910> Move bugzilla-tool mark-fixed to standalone mark-bug-fixed tool
Reviewed by Darin Adler.
Also fixed a bug where specifying a revision on the command-line
as 'r12345' would fail. See <http://webkit.org/b/29699>.
- Scripts/bugzilla-tool: Updated module import statements. (parse_bug_id): Removed. Moved to bugzilla.py. (bug_comment_from_svn_revision): Removed. Moved to comments.py. (bug_comment_from_commit_text): Removed. Moved to comments.py. (MarkBugFixed): Removed. Code moved to mark-bug-fixed. (BugzillaTool.init): Removed mark-fixed subcommand.
- Scripts/mark-bug-fixed: Added.
- Scripts/modules/bugzilla.py: (parse_bug_id): Added. Moved from bugzilla-tool.
- Scripts/modules/comments.py: Added. (bug_comment_from_svn_revision): Added. Moved from bugzilla-tool. (bug_comment_from_commit_text): Added. Moved from bugzilla-tool.
- 8:02 PM Changeset in webkit [48699] by
-
- 1 edit4 adds in trunk/LayoutTests
2009-09-23 Karen Grünberg <karen+webkit@chromium.org>
Reviewed by Eric Seidel.
This tests all types of inputs text and password,
both enabled and disabled, the existing tests
weren't thorough enough for chromium.
- fast/forms/basic-inputs.html: Added.
- platform/mac/fast/forms/basic-inputs-expected.checksum: Added.
- platform/mac/fast/forms/basic-inputs-expected.png: Added.
- platform/mac/fast/forms/basic-inputs-expected.txt: Added.
- 7:55 PM Changeset in webkit [48698] by
-
- 8 edits3 adds in trunk
2009-09-23 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
Tests for maxLength of <textarea>
https://bugs.webkit.org/show_bug.cgi?id=29292
- fast/forms/script-tests/textarea-maxlength.js: Added.
- fast/forms/textarea-maxlength-expected.txt: Added.
- fast/forms/textarea-maxlength.html: Added.
2009-09-23 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Adler.
- Support for maxLength of <textarea>
- Move numGraphemeClusters() and numCharactersInGraphemeClusters() from InputElement to String. https://bugs.webkit.org/show_bug.cgi?id=29292
Test: fast/forms/textarea-maxlength.html
- dom/InputElement.cpp: (WebCore::InputElement::sanitizeUserInputValue): (WebCore::InputElement::handleBeforeTextInsertedEvent):
- html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::defaultEventHandler): (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): (WebCore::HTMLTextAreaElement::sanitizeUserInputValue): (WebCore::HTMLTextAreaElement::maxLength): (WebCore::HTMLTextAreaElement::setMaxLength):
- html/HTMLTextAreaElement.h:
- html/HTMLTextAreaElement.idl:
- platform/text/PlatformString.h:
- platform/text/String.cpp: (WebCore::String::numGraphemeClusters): (WebCore::String::numCharactersInGraphemeClusters):
- 7:44 PM Changeset in webkit [48697] by
-
- 6 edits in trunk
2009-09-23 Martin Robinson <martin.james.robinson@gmail.com>
Reviewed by Xan Lopez.
[GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
https://bugs.webkit.org/show_bug.cgi?id=29654
Enable tests which are now passing because of key event fixes.
- platform/gtk/Skipped:
2009-09-23 Martin Robinson <martin.james.robinson@gmail.com>
Reviewed by Xan Lopez.
[GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
https://bugs.webkit.org/show_bug.cgi?id=29654
Give GDK_Backspace key events the proper text properties.
Instead of adding new tests, this change removes existing tests
from Gtk's skipped list.
- platform/gtk/KeyEventGtk.cpp: (WebCore::keyIdentifierForGdkKeyCode): (WebCore::singleCharacterString):
2009-09-23 Martin Robinson <martin.james.robinson@gmail.com>
Reviewed by Xan Lopez.
[GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
https://bugs.webkit.org/show_bug.cgi?id=29654
Ensure that even when GTKSimpleIMContext filters non-IME keystrokes,
keyboard events are fired properly.
- WebCoreSupport/EditorClientGtk.cpp: (WebKit::clearPendingIMData): (WebKit::imContextCommitted): (WebKit::imContextPreeditChanged): (WebKit::EditorClient::shouldBeginEditing): (WebKit::EditorClient::shouldEndEditing): (WebKit::interpretEditorCommandKeyEvent): (WebKit::handleCaretBrowsingKeyboardEvent): (WebKit::EditorClient::handleKeyboardEvent): (WebKit::EditorClient::handleInputMethodKeydown):
- 7:17 PM Changeset in webkit [48696] by
-
- 1 edit33 adds in trunk/LayoutTests
2009-09-23 Eric Seidel <eric@webkit.org>
No review, just adding missing pixel test results from recent test additions.
- platform/mac/compositing/generated-content-expected.checksum: Added.
- platform/mac/compositing/generated-content-expected.png: Added.
- platform/mac/compositing/masks/masked-ancestor-expected.png: Added.
- platform/mac/compositing/masks/multiple-masks-expected.png: Added.
- platform/mac/compositing/masks/simple-composited-mask-expected.png: Added.
- platform/mac/compositing/reflections/reflection-on-composited-expected.checksum: Added.
- platform/mac/compositing/reflections/reflection-on-composited-expected.png: Added.
- platform/mac/compositing/self-painting-layers-expected.checksum: Added.
- platform/mac/compositing/self-painting-layers-expected.png: Added.
- platform/mac/compositing/sibling-positioning-expected.checksum: Added.
- platform/mac/compositing/sibling-positioning-expected.png: Added.
- platform/mac/fast/forms/button-style-color-expected.checksum: Added.
- platform/mac/fast/forms/button-style-color-expected.png: Added.
- platform/mac/fast/forms/text-style-color-expected.checksum: Added.
- platform/mac/fast/forms/text-style-color-expected.png: Added.
- platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.checksum: Added.
- platform/mac/fast/forms/textarea-placeholder-pseudo-style-expected.png: Added.
- platform/mac/fast/forms/textarea-placeholder-set-attribute-expected.checksum: Added.
- platform/mac/fast/forms/textarea-placeholder-set-attribute-expected.png: Added.
- platform/mac/fast/forms/textarea-placeholder-set-value-expected.checksum: Added.
- platform/mac/fast/forms/textarea-placeholder-set-value-expected.png: Added.
- platform/mac/fast/frames/viewsource-on-image-file-expected.checksum: Added.
- platform/mac/fast/frames/viewsource-on-image-file-expected.png: Added.
- platform/mac/fast/text/international/khmer-selection-expected.checksum: Added.
- platform/mac/fast/text/international/khmer-selection-expected.png: Added.
- platform/mac/media/audio-no-installed-engines-expected.checksum: Added.
- platform/mac/media/audio-no-installed-engines-expected.png: Added.
- platform/mac/media/controls-strict-expected.checksum: Added.
- platform/mac/media/controls-strict-expected.png: Added.
- platform/mac/media/controls-styling-expected.checksum: Added.
- platform/mac/media/controls-styling-expected.png: Added.
- platform/mac/media/video-no-audio-expected.checksum: Added.
- platform/mac/media/video-no-audio-expected.png: Added.
- 6:56 PM Changeset in webkit [48695] by
-
- 3 edits4 adds in trunk
WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=26989
Should allow navigation of top-level openers
<rdar://problem/7034025>
Reviewed by Adam Barth.
Allow navigation of cross-origin window.opener if it is top-level frame.
Test: http/tests/security/frameNavigation/cross-origin-opener.html
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldAllowNavigation):
LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=26989
Should allow navigation of top-level openers
<rdar://problem/7034025>
Reviewed by Adam Barth.
- http/tests/security/frameNavigation/cross-origin-opener-expected.txt: Added.
- http/tests/security/frameNavigation/cross-origin-opener.html: Added.
- http/tests/security/frameNavigation/resources/cross-origin-opener-opener.html: Added.
- http/tests/security/frameNavigation/resources/navigate-opener.html: Added.
- 6:20 PM Changeset in webkit [48694] by
-
- 19 edits in trunk/LayoutTests
2009-09-23 Andrew Scherkus <scherkus@chromium.org>
Reviewed by Eric Carlson.
Updating 17 media layout tests to provide different media files based on supported codecs.
- media/audio-constructor-autobuffer.html: Switched to findMediaFile().
- media/audio-constructor-src.html: Ditto.
- media/audio-constructor.html: Ditto.
- media/audio-controls-rendering.html: Ditto.
- media/audio-delete-while-slider-thumb-clicked.html: Ditto.
- media/audio-delete-while-step-button-clicked.html: Ditto.
- media/broken-video.html: Ditto.
- media/controls-after-reload.html: Ditto, and also changed initial video to counting.mp4 since scaled-matrix.mov is QuickTime specific.
- media/controls-right-click-on-timebar.html: Ditto.
- media/event-attributes.html: Ditto.
- media/media-load-event.html: Ditto.
- media/media-startTime.html: Ditto.
- media/progress-event-total-expected.txt: Added new total value.
- media/progress-event-total.html: Switched to for loop and findMediaFile(), added new total value.
- media/progress-event.html: Switched to findMediaFile().
- media/remove-from-document-no-load.html: Ditto.
- media/remove-from-document.html: Ditto.
- media/unsupported-tracks.html: Ditto.
- 6:02 PM Changeset in webkit [48693] by
-
- 2 edits in trunk/WebKit/qt
2009-09-23 J-P Nurmi <jpnurmi@gmail.com>
Reviewed by Simon Hausmann.
Prevent QWebPage::setView() from changing the viewport size on the fly
in case the view doesn't actually change. QWebPage::setView() is
called upon every QWebGraphicsItem::hoverMoveEvent(), which forced
the viewport size to be equal to the size of the whole graphics view.
- Api/qwebpage.cpp: (QWebPage::setView):
- 5:54 PM Changeset in webkit [48692] by
-
- 7 edits in trunk
2009-09-23 Marshall Culpepper <mculpepper@appcelerator.com>
Reviewed by Eric Seidel.
Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by
default when the necessary dependencies are extracted into the
WebKitLibrariesDir.
https://bugs.webkit.org/show_bug.cgi?id=29661
- WebCore.vcproj/WebCoreCairo.vsprops:
2009-09-23 Marshall Culpepper <mculpepper@appcelerator.com>
Reviewed by Eric Seidel.
Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by
default when the necessary dependencies are extracted into the
WebKitLibrariesDir.
https://bugs.webkit.org/show_bug.cgi?id=29661
- win/tools/vsprops/WinCairo.vsprops:
2009-09-23 Marshall Culpepper <mculpepper@appcelerator.com>
Reviewed by Eric Seidel.
jpeg.lib is now libjpeg.lib in DRT Cairo dependencies. return
"false" in non-implemented stub for setAlwaysAcceptCookies.
https://bugs.webkit.org/show_bug.cgi?id=29661
- DumpRenderTree/win/DumpRenderTree.vcproj:
- DumpRenderTree/win/DumpRenderTree.cpp:
- 5:47 PM Changeset in webkit [48691] by
-
- 2 edits in trunk/WebKit/qt
2009-09-23 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Crash fix in QWebHistory back and forward methods.
QWebHistory::back() and QWebHistory::forward() were crashing on
ASSERT in WebCore::BackForwardList. The methods should check
canGoBack() and canGoForward() at the beginning.
- Api/qwebhistory.cpp: (QWebHistory::back): (QWebHistory::forward):
- 5:40 PM Changeset in webkit [48690] by
-
- 1 edit4 adds in trunk/LayoutTests
2009-09-23 Karen Grünberg <karen+webkit@chromium.org>
Reviewed by Dimitri Glazkov.
Added layout test to test buttons extensively
with different paddings. Testing both buttons
with images and text. Existing tests were not
comprehensive enough.
- fast/forms/basic-buttons.html: Added.
- platform/mac/fast/forms/basic-buttons-expected.checksum: Added.
- platform/mac/fast/forms/basic-buttons-expected.png: Added.
- platform/mac/fast/forms/basic-buttons-expected.txt: Added.
- 5:33 PM Changeset in webkit [48689] by
-
- 2 edits in trunk/WebKit/mac
Speed up access to history items by caching date computation.
Patch by Darin Adler <Darin Adler> on 2009-09-23
Reviewed by Dan Bernstein.
- History/WebHistory.mm:
(getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
Returns the beginning of the day that the passed time is within and
the beginning of the next day.
(beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
multiple dates within the same day, which is the common case.
(dateKey): Added. Calls beginningOfDay and converts to an integer.
(-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey
insetad of timeIntervalForBeginningOfDay.
- 5:33 PM Changeset in webkit [48688] by
-
- 4 edits in trunk/WebKit/qt
2009-09-23 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Bug fix. QWebHistory should call QWebPage::updateNavigationActions
In QWebHistory's methods that change item count or current item call
to QWebPage::updateNavigationActions should be executed.
QWebHistory::clear() and QWebHistory::restorState() were changed.
New helper method, QWebPagePrivate accesor, were created in
QWebHistoryPrivate class.
Two autotest were developed.
- Api/qwebhistory.cpp: (QWebHistory::clear): (QWebHistory::restoreState): (QWebHistoryPrivate::page):
- Api/qwebhistory_p.h:
- tests/qwebhistory/tst_qwebhistory.cpp: (tst_QWebHistory::saveAndRestore_1): (tst_QWebHistory::clear):
- 4:27 PM Changeset in webkit [48687] by
-
- 4 edits2 adds in trunk/WebCore
Crash when website does a history.back() followed by an alert()
https://bugs.webkit.org/show_bug.cgi?id=29686
rdar://problem/6984996
Patch by Darin Adler <Darin Adler> on 2009-09-23
Reviewed by Sam Weinig.
When loading is deferred, we need to defer timer-based loads
too, not just networking-driven loads. Otherwise we can get
syncronouse navigation while running a script, which leads to
crashes and other badness.
This patch includes a manual test; an automated test may be
possible some time in the future.
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Use scheduleLocationChange
instead of scheduleHTTPRedirection to implement the navigation
needed for x-frame-options.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader): Updated for data members with
new names and new data members.
(WebCore::FrameLoader::setDefersLoading): When turning deferral
off, call startRedirectionTimer and startCheckCompleteTimer, since
either of them might have been fired and ignored while defersLoading
was true.
(WebCore::FrameLoader::clear): Updated for replacement of the
m_checkCompletedTimer and m_checkLoadCompleteTimer timers.
(WebCore::FrameLoader::allAncestorsAreComplete): Added.
(WebCore::FrameLoader::checkCompleted): Added code to set
m_shouldCallCheckCompleted to false. Changed code that calls
startRedirectionTimer to call it unconditionally, since that
function now knows when to do work and doesn't expect callers
to handle that any more.
(WebCore::FrameLoader::checkTimerFired): Added. Replaces the old
timer fired callbacks. Calls checkCompleted and checkLoadComplete
as appropriate, but not when defersLoading is true.
(WebCore::FrameLoader::startCheckCompleteTimer): Added. Replaces
the two different calls to start timers before. Only starts the
timers if they are needed.
(WebCore::FrameLoader::scheduleCheckCompleted): Changed to call
startCheckCompleteTimer after setting boolean.
(WebCore::FrameLoader::scheduleCheckLoadComplete): Ditto.
(WebCore::FrameLoader::scheduleHistoryNavigation): Removed
canGoBackOrForward check. The logic works more naturally when
we don't do anything until the timer fires.
(WebCore::FrameLoader::redirectionTimerFired): Do nothing if
defersLoading is true. Also moved canGoBackOrForward check here.
(WebCore::FrameLoader::scheduleRedirection): Changed code that
calls startRedirectionTimer to do so unconditionally. That
function now handles the rules about when to start the timer
rather than expecting the caller to do so.
(WebCore::FrameLoader::startRedirectionTimer): Added code to
handle the case where there is no redirection scheduled,
where the timer is already active, or where this is a classic
redirection and there is an ancestor that has not yet completed
loading.
(WebCore::FrameLoader::completed): Call startRedirectionTimer
here directly instead of calling a cover named parentCompleted.
Hooray! One less function in the giant FrameLoader class!
(WebCore::FrameLoader::checkLoadComplete): Added code to set
m_shouldCallCheckLoadComplete to false.
- loader/FrameLoader.h: Replaced the two functions
checkCompletedTimerFired and checkLoadCompleteTimerFired with
one function, checkTimerFired. Removed the parentCompleted
function. Added the startCheckCompleteTimer and
allAncestorsAreComplete functions. Replaced the
m_checkCompletedTimer and m_checkLoadCompleteTimer data
members with m_checkTimer, m_shouldCallCheckCompleted, and
m_shouldCallCheckLoadComplete.
- manual-tests/go-back-after-alert.html: Added.
- manual-tests/resources/alert-and-go-back.html: Added.
- 3:03 PM Changeset in webkit [48686] by
-
- 3 edits1 move in trunk/WebCore
<http://webkit.org/b/29660> Move "Generate 64-bit Export File" build phase script into DerivedSources.make
Reviewed by Mark Rowe.
The "Generate 64-bit Export File" build phase script generated
the WebCore.LP64.exp export file used to link 64-bit WebCore.
Instead of having a separate build phase script, move its
generation into DerivedSources.make where WebCore.exp is
generated.
- DerivedSources.make: Added a rule to make WebCore.LP64.exp. Added code to append WebCore.PluginHostProcess.exp to $(WEBCORE_EXPORT_DEPENDENCIES) when WTF_USE_PLUGIN_HOST_PROCESS is set to 1.
- WebCore.PluginHostProcess.exp: Renamed from WebCore/WebCore.LP64.exp.
- WebCore.xcodeproj/project.pbxproj: Removed the "Generate 64-bit Export File" build phase script. Renamed WebCore.LP64.exp to WebCore.PluginHostProcess.exp.
- 3:03 PM Changeset in webkit [48685] by
-
- 4 edits in trunk
Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h
Reviewed by Mark Rowe.
- wtf/Platform.h: Define WTF_USE_PLUGIN_HOST_PROCESS to 1 when building on 64-bit SnowLeopard. Define to 0 elsewhere.
WebKit/mac:
- WebKitPrefix.h: Removed definition of WTF_USE_PLUGIN_HOST_PROCESS.
- 2:18 PM Changeset in webkit [48684] by
-
- 2 edits in trunk/WebCore
https://bugs.webkit.org/show_bug.cgi?id=29694
[Chromium] Eliminate dependency on gfx::Rect from ImageSkia.
Reviewed by Dimitri Glazkov.
- platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawResampledBitmap):
- 12:43 PM Changeset in webkit [48683] by
-
- 8 edits in trunk
WebCore: Prevent scrolling multiple elements during latched wheel events.
Reviewed by Anders Carlsson.
- page/EventHandler.cpp:
(WebCore::scrollAndAcceptEvent):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleWheelEvent):
- page/EventHandler.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::scroll):
- rendering/RenderBox.h:
WebKit/mac: Prevent scrolling multiple frames during latched wheel events.
Reviewed by Anders Carlsson.
- WebView/WebDynamicScrollBarsView.h:
- WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView scrollWheel:]):
- 12:18 PM Changeset in webkit [48682] by
-
- 5 edits in trunk
WebKit/gtk
2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] need to dump number of pending unload handlers
https://bugs.webkit.org/show_bug.cgi?id=29685
- webkit/webkitprivate.h:
- webkit/webkitwebframe.cpp: (webkit_web_frame_get_pending_unload_event_count): New function to satisfy DRT needs.
WebKitTools
2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Xan Lopez.
[GTK] need to dump number of pending unload handlers
https://bugs.webkit.org/show_bug.cgi?id=29685
Implement dumping of the number of pending unload handlers.
The following tests will pass:
fast/loader/unload-form-about-blank.html
fast/loader/unload-form-post-about-blank.html
fast/loader/unload-form-post.html
fast/loader/unload-form.html
fast/loader/unload-hyperlink.html
fast/loader/unload-javascript-url.html
fast/loader/unload-reload.html
fast/loader/unload-window-location.html
- DumpRenderTree/gtk/DumpRenderTree.cpp: (getFrameNameSuitableForTestResult): (webViewLoadFinished):
- 11:52 AM Changeset in webkit [48681] by
-
- 2 edits in trunk/WebKit/win
<rdar://problem/7243354>
REGRESSION(48580-48636): Crash clicking embedded QT preview button on apple.com/trailers
Reviewed by Adam Roben.
Check for a null IWebPolicyDelegatePrivate.
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::shouldLoadMediaElementURL):
- 11:19 AM Changeset in webkit [48680] by
-
- 5 edits4 adds in trunk
2009-09-23 Daniel Bates <dbates@webkit.org>
Reviewed by Adam Barth.
Fixes an issue where a JavaScript URL that was URL-encoded twice can bypass the
XSSAuditor.
The method FrameLoader::executeIfJavaScriptURL decodes the URL escape
sequences in a JavaScript URL before it is eventually passed to the XSSAuditor.
Because the XSSAuditor also decodes the URL escape sequences as part of its
canonicalization, the double decoding of a JavaScript URL would
not match the canonicalization of the input parameters.
Tests: http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html
http/tests/security/xssAuditor/javascript-link-url-encoded.html
- bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate): Moved call to XSSAuditor::canEvaluateJavaScriptURL into FrameLoader::executeIfJavaScriptURL.
- bindings/v8/ScriptController.cpp: (WebCore::ScriptController::evaluate): Ditto.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::executeIfJavaScriptURL): Modified to call XSSAuditor::canEvaluateJavaScriptURL on the JavaScript URL before it is decoded.
2009-09-23 Daniel Bates <dbates@webkit.org>
Reviewed by Adam Barth.
Tests that JavaScript URLs that were URL-encoded twice do not bypass the XSSAuditor.
- http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt: Added.
- http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: Added.
- http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt: Added.
- http/tests/security/xssAuditor/javascript-link-url-encoded.html: Added.
- 9:53 AM Changeset in webkit [48679] by
-
- 4 edits4 adds in trunk
https://bugs.webkit.org/show_bug.cgi?id=29657
Columns don't break properly in positioned elements with a fixed height. Make sure that
a block is still considered to have columns even when the column count is 1 if the column
width is non-auto.
Reviewed by John Sullivan.
Added fast/multicol/positioned-with-constrained-height.html
WebCore:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):
LayoutTests:
- fast/multicol/positioned-with-constrained-height.html: Added.
- platform/mac/fast/multicol/float-multicol-expected.txt:
- platform/mac/fast/multicol/positioned-with-constrained-height-expected.checksum: Added.
- platform/mac/fast/multicol/positioned-with-constrained-height-expected.png: Added.
- platform/mac/fast/multicol/positioned-with-constrained-height-expected.txt: Added.
- 9:38 AM Changeset in webkit [48678] by
-
- 2 edits in trunk/WebCore
2009-09-23 Holger Hans Peter Freyther <zecke@selfish.org>
Rubber-stamped by Simon Hausmann.
Add a null check for the Document*. In the mirror benchmarking
application a crash from a call from JavaScript was observed.
I was not able to come up with a test case for this issue.
- platform/qt/CookieJarQt.cpp: (WebCore::cookieJar):
- 9:28 AM Changeset in webkit [48677] by
-
- 2 edits in trunk/LayoutTests
2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Unreviewed. Skipping new tests, and
plugins/destroy-during-npp-new.html, after reporting
https://bugs.webkit.org/show_bug.cgi?id=29683.
- platform/gtk/Skipped:
- 9:23 AM Changeset in webkit [48676] by
-
- 3 edits in trunk/WebKit/qt
2009-09-23 Norbert Leser <norbert.leser@nokia.com>
Reviewed by Tor Arne Vestbø.
Need to guard QX11Info include with Q_WS_X11.
That class may not be available (in QT 4.5 for Symbian, for instance).
Completes fixes in r48627 and r48604.
- Api/qwebgraphicsitem.cpp:
- Api/qwebview.cpp:
- 8:16 AM Changeset in webkit [48675] by
-
- 2 edits in trunk/LayoutTests
2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Unreviewed. Updated to match the changes done in r48566.
- platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
- 6:59 AM Changeset in webkit [48674] by
-
- 2 edits in trunk/WebCore
Fix the Qt/Windows build, after the introduction of
the page client.
Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2009-09-23
Reviewed by Tor Arne Vestbø.
- plugins/win/PluginViewWin.cpp:
(windowHandleForPageClient):
(WebCore::PluginView::getValue):
(WebCore::PluginView::forceRedraw):
(WebCore::PluginView::platformStart):
- 6:25 AM Changeset in webkit [48673] by
-
- 2 edits in trunk
2009-09-23 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Do not add unneeded include paths for gir files, and add the
include paths for headers manually instead of relying on our own
pc file and installed headers, since that adds a circular
dependency.
- GNUmakefile.am:
- 6:08 AM Changeset in webkit [48672] by
-
- 4 edits1 move in trunk
2009-09-23 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Xan Lopez.
Minor reorganization to the patch landed in
http://trac.webkit.org/changeset/48670. Also move JSCore-1.0.gir
in the gtk directory as that's only useful to the Gtk port at the
moment.
- JSCore-1.0.gir: Renamed from JSCore-1.0.gir.
- GNUmakefile.am:
- configure.ac:
- 5:49 AM Changeset in webkit [48671] by
-
- 2 edits in trunk/WebCore
2009-09-23 Gustavo Noronha Silva <Gustavo Noronha Silva>
Reviewed by Xan Lopez.
[GTK] media tests failing after their rework
https://bugs.webkit.org/show_bug.cgi?id=29532
Correctly advertise the mime types used by the common formats used
in the tests.
Tests that regressed, and will pass again:
media/video-canvas-source.html
media/video-controls.html
media/video-currentTime-set2.html
media/video-dom-autoplay.html
media/video-dom-src.html
media/video-error-abort.html
media/video-load-networkState.html
media/video-load-readyState.html
media/video-muted.html
media/video-no-autoplay.html
media/video-pause-empty-events.html
media/video-play-empty-events.html
media/video-seekable.html
media/video-seeking.html
media/video-size.html
media/video-source-type-params.html
media/video-source-type.html
media/video-source.html
media/video-src-change.html
media/video-src-invalid-remove.html
media/video-src-remove.html
media/video-src-set.html
media/video-src-source.html
media/video-src.html
media/video-timeupdate-during-playback.html
media/video-volume.html
- platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache):
- 5:03 AM Changeset in webkit [48670] by
-
- 3 edits1 add in trunk
2009-09-23 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
[GTK] We should generate our own gir file for introspection
https://bugs.webkit.org/show_bug.cgi?id=29603
Generate gir and typelib files for WebKit and JSCore. The JSCore
gir file is handwritten (since it's only useful, for now, as a
dependency of the WebKit gir file), the WebKit one is
autogenerated from the headers.
- GNUmakefile.am:
- JSCore-1.0.gir: Added.
- configure.ac:
- 1:59 AM Changeset in webkit [48669] by
-
- 2 edits in trunk/LayoutTests
2009-09-23 Andras Becsi <becsi.andras@stud.u-szeged.hu>
Reviewed by Tor Arne Vestbø.
[Qt] Skipping test added in r48644 due to missing layoutTestController features.