blob: 53c269021e51cf7a5aafec9c228b43b30a1b55aa [file] [log] [blame]
2009-08-11 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Holger Freyther.
Fix the build on the Qt build bot by making the generated JS bindings
files depend on the code generator itself.
* WebCore.pro:
2009-08-07 Oliver Hunt <oliver@apple.com>
Reviewed by Sam Weinig
Stack overflow crash in JavaScript garbage collector mark pass
https://bugs.webkit.org/show_bug.cgi?id=12216
Make WebCore use the new iterative marking logic.
Tests: fast/js/nested-object-gc.html
* bindings/js/JSAbstractWorkerCustom.cpp:
(WebCore::JSAbstractWorker::markChildren):
* bindings/js/JSDOMApplicationCacheCustom.cpp:
(WebCore::JSDOMApplicationCache::markChildren):
* bindings/js/JSDOMBinding.cpp:
(WebCore::markDOMNodesForDocument):
(WebCore::markActiveObjectsForContext):
(WebCore::markDOMObjectWrapper):
* bindings/js/JSDOMBinding.h:
(WebCore::DOMObjectWithGlobalPointer::markChildren):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::markChildren):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::markChildren):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::markChildren):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSDedicatedWorkerContextCustom.cpp:
(WebCore::JSDedicatedWorkerContext::markChildren):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::markChildren):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::markJSFunction):
* bindings/js/JSEventListener.h:
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::markChildren):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::markChildren):
* bindings/js/JSNavigatorCustom.cpp:
(WebCore::JSNavigator::markChildren):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::markChildren):
* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::markAggregate):
* bindings/js/JSNodeFilterCondition.h:
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::markChildren):
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::markChildren):
* bindings/js/JSQuarantinedObjectWrapper.cpp:
(WebCore::JSQuarantinedObjectWrapper::markChildren):
* bindings/js/JSQuarantinedObjectWrapper.h:
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::markChildren):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorker::markChildren):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::markChildren):
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::markChildren):
* bindings/js/JSWebSocketCustom.cpp:
(WebCore::JSWebSocket::markChildren):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::markChildren):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::JSWorker::markChildren):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::markChildren):
* bindings/js/JSXMLHttpRequestUploadCustom.cpp:
(WebCore::JSXMLHttpRequestUpload::markChildren):
* bindings/scripts/CodeGeneratorJS.pm:
* dom/EventListener.h:
(WebCore::EventListener::markJSFunction):
(WebCore::markIfNotNull):
* dom/NodeFilter.h:
(WebCore::NodeFilter::markAggregate):
* dom/NodeFilterCondition.h:
(WebCore::NodeFilterCondition::markAggregate):
* dom/RegisteredEventListener.h:
(WebCore::markEventListeners):
* page/DOMWindow.h:
* workers/WorkerContext.h:
2009-08-10 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Eric Seidel.
Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private".
https://bugs.webkit.org/show_bug.cgi?id=28089
Rename all the NPN_foo functions to _NPN_foo so that they can't directly be
called by mistake. This roughly matches the way JSC does it, which is an
additional advantage.
* bindings/v8/NPV8Object.cpp:
(npCreateV8ScriptObject):
(_NPN_Invoke):
(_NPN_InvokeDefault):
(_NPN_Evaluate):
(_NPN_EvaluateHelper):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_SetException):
(_NPN_Enumerate):
(_NPN_Construct):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::clearScriptObjects):
(WebCore::ScriptController::createScriptInstanceForWidget):
(WebCore::ScriptController::cleanupScriptObjectsForPlugin):
* bindings/v8/V8NPObject.cpp:
(npObjectInvokeImpl):
(npObjectGetProperty):
(npObjectIndexedPropertyGetter):
(npObjectGetIndexedProperty):
(npObjectSetProperty):
(npObjectIndexedPropertySetter):
(npObjectSetIndexedProperty):
(weakNPObjectCallback):
(createV8ObjectForNPObject):
(forgetV8ObjectForNPObject):
* bindings/v8/V8NPUtils.cpp:
(getStringIdentifier):
* bindings/v8/npruntime.cpp:
* bindings/v8/npruntime_impl.h:
2009-08-10 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Brady Eidson.
Change ___Storage.key() to match current spec behavior.
https://bugs.webkit.org/show_bug.cgi?id=28112
The current WebStorage spec says that ___Storage.key() should return null when
the index is out of bounds, rather than an exception. A bunch of logic can be
simplified after this change.
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::getPropertyNames):
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
* storage/Storage.cpp:
(WebCore::Storage::key):
* storage/Storage.h:
* storage/Storage.idl:
* storage/StorageArea.h:
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::key):
* storage/StorageAreaImpl.h:
* storage/StorageMap.cpp:
(WebCore::StorageMap::key):
* storage/StorageMap.h:
2009-08-07 Michael Nordman <michaeln@google.com>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=28087
Mods for a chrome specific impl of ApplicationCacheHost.
* The public section of the interface is the same, but we use
PLATFORM(CHROMIUM) to identify which parts of the private
section are shared. The chrome specific internals are encapsulated
in a seperate ApplicationCacheHostInternal class. WebCore common
code only contains a forward reference to this class.
* Cleanup a couple of stale comments.
* Have window.applicationCache return null to script when the
feature is disabled in the preferences.
No new tests.
* loader/appcache/ApplicationCacheHost.cpp:
* loader/appcache/ApplicationCacheHost.h:
(WebCore::ApplicationCacheHost::documentLoader):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::applicationCache):
2009-08-10 Crystal Zhang <crystal.zhang@staikos.net>
Reviewed by George Staikos.
Implement GraphicsContext::fillRoundRect() for WINCE port
https://bugs.webkit.org/show_bug.cgi?id=27842
* platform/graphics/GraphicsContext.h:
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::rectCenterPoint):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::drawRoundCorner):
2009-08-10 Anthony Ricaud <rik@webkit.org>
Reviewed by Timothy Hatcher.
Inspector Resources / Graphs should support filtering
https://bugs.webkit.org/show_bug.cgi?id=20629
Introduces a filter bar for resources.
Thanks to Matt Lilek for the CSS scope bar.
* English.lproj/localizedStrings.js:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.createFilterElement):
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter):
(WebInspector.ResourcesPanel.prototype._updateFilter):
(WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
* inspector/front-end/inspector.css:
* inspector/front-end/inspector.js:
(WebInspector.loaded):
2009-08-10 Brent Fulgham <bfulgham@webkit.org>
Unreviewed build correction after http://trac.webkit.org/changeset/46978
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::initializeHandle): Correct
deprecated removeRef to new removeFragmentIdentifier.
2009-08-07 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia.
Background color formatting lost on enter
https://bugs.webkit.org/show_bug.cgi?id=20348
This patch makes background color be preserved during editing.
In particular, editingStyleAtPosition would include the background color when obtaining styles.
* editing/ApplyStyleCommand.cpp:
(WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties
2009-08-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Hausmann.
Stop sending QEvent::CursorChange to Qt for mouse move.
Verify if the cursor didn't change in WidgetQt::setCursor,
just like the mac port does.
Thanks to Adriano Rezendo for spotting and debugging the
issue.
* platform/qt/WidgetQt.cpp:
(WebCore::Widget::setCursor):
2009-08-10 Alexey Proskuryakov <ap@apple.com>
Reviewed by Brady Eidson.
https://bugs.webkit.org/show_bug.cgi?id=28165
Application cache maximum size cannot be set before the database is opened
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't
open yet.
2009-08-10 Vitaly Repeshko <vitalyr@quad.spb.corp.google.com>
Reviewed by Dimitri Glazkov.
[V8] Fix memory leak in node event listeners. See http://crbug.com/17400.
https://bugs.webkit.org/show_bug.cgi?id=28156
* bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants.
* bindings/v8/V8AbstractEventListener.h:
(WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getTemplate):
* bindings/v8/V8ObjectEventListener.cpp:
* bindings/v8/V8ObjectEventListener.h:
(WebCore::V8ObjectEventListener::isObjectListener):
* bindings/v8/V8Utilities.cpp:
(WebCore::removeHiddenDependency):
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8ElementCustom.cpp:
* bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp.
(WebCore::toEventType):
(WebCore::getEventListener):
(WebCore::ACCESSOR_SETTER):
(WebCore::ACCESSOR_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::getEventListener): Made static.
2009-08-10 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
Cleanup DOM Storage namespace shutdown code + usage of security origin.
https://bugs.webkit.org/show_bug.cgi?id=28094
If a storage namespace is not explicitly closed, be sure to do so on
destruction of the object. In addition, the close call should wait
on the background thread finishing its syncing. (Not doing so is actually
a regression from the original LocalStorage code.)
There's no point to passing in the SecurityOrigin when copying a storage
area since what was passed in is exactly what is stored within each
storage area. In addition, the non-copy constructor should take in a
PassRefPtr rather than a pointer since that pointer was only passed into
the constuctor for RefPtr's anyway.
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::StorageAreaImpl):
(WebCore::StorageAreaImpl::copy):
* storage/StorageAreaImpl.h:
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
(WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
(WebCore::StorageNamespaceImpl::copy):
(WebCore::StorageNamespaceImpl::close):
* storage/StorageNamespaceImpl.h:
2009-08-10 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Not reviewed, build fix.
Rename ref() to fragmentIdentifier() in the wml/ subdirectory.
* wml/WMLCardElement.cpp:
(WebCore::WMLCardElement::determineActiveCard):
* wml/WMLGoElement.cpp:
(WebCore::WMLGoElement::executeTask):
* wml/WMLPageState.cpp:
(WebCore::WMLPageState::canAccessDeck):
2009-08-10 Steve Falkenburg <sfalken@apple.com>
Windows build fix.
Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp.
Fixes linker warnings.
Corrected spelling of JSInspectorBackend.cpp.
Other changes related to actually using a Visual Studio to open/save the vcproj file.
* WebCore.vcproj/WebCore.vcproj:
2009-08-10 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Remove a dead #define.
* bindings/js/JSDOMBinding.cpp:
2009-08-10 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
[Chromium] Update KURLGoogle for ref* method renames in
http://trac.webkit.org/changeset/46978.
https://bugs.webkit.org/show_bug.cgi?id=28084
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and
setFragmentIdentifier, respectively.
* platform/KURLGoogle.cpp: Ditto, plus all other ref* method names.
2009-08-10 Jan Michael Alonzo <jmalonzo@webkit.org>
[Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144
for r46989.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::finishedCallback):
2009-08-10 John Kjellberg <john.kjellberg@power.alstom.com>
Reviewed by Darin Adler.
Memory leak in error handling code for SOUP interface
https://bugs.webkit.org/show_bug.cgi?id=28144
Freed memory leaked in error handling code for soup requests.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::finishedCallback):
(WebCore::):
2009-08-10 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Adler.
Provide graceful handling of the situation when an embedder invokes
visited link update methods before a Page constructor has been called.
https://bugs.webkit.org/show_bug.cgi?id=28149
* page/Page.cpp:
(WebCore::Page::allVisitedStateChanged): Added a null-check for allPages.
(WebCore::Page::visitedStateChanged): Ditto.
2009-08-10 Xan Lopez <xlopez@igalia.com>
Fix GTK+ build.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::):
2009-08-10 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Remove the redundant, Windows CE-only GlyphBuffer::advnaceData()
* platform/graphics/GlyphBuffer.h: Removed advanceData().
* platform/graphics/wince/GraphicsContextWince.cpp:
(WebCore::GraphicsContext::drawText): Changed to use advances(from)
instead of advanceData() + from.
2009-08-10 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Remove workaround for older libsoup versions.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::fillResponseFromMessage):
2009-08-10 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Let startHttp validate the URI instead of doing it, with potential
crashes, in ::start.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startHttp):
2009-08-10 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
When empty <input> is focused, getSelection() exposes shadow tree nodes
https://bugs.webkit.org/show_bug.cgi?id=15903
Test: fast/forms/shadow-tree-exposure.html
* page/DOMSelection.cpp:
(WebCore::selectionShadowAncestor): Added.
(WebCore::DOMSelection::anchorNode): Return the parent of the shadow
ancestor if the selection is in a shadow tree. Matches Firefox.
(WebCore::DOMSelection::anchorOffset): Return the index of the shadow
ancestor if the selection is in a shadow tree. Matches Firefox.
(WebCore::DOMSelection::focusNode): Ditto.
(WebCore::DOMSelection::focusOffset): Ditto.
(WebCore::DOMSelection::baseNode): More of the same, but since this
is a WebKit-invented property, it does not match Firefox.
(WebCore::DOMSelection::baseOffset): Ditto.
(WebCore::DOMSelection::extentNode): Ditto.
(WebCore::DOMSelection::extentOffset): Ditto.
(WebCore::DOMSelection::isCollapsed): Return true even when the
selection is a range, if the selection is in the shadow tree.
Matches Firefox. Also changed behavior when called and the frame
is gone to return true instead of false which makes more sense.
(WebCore::DOMSelection::empty): Use clear() just like the other
selection-clearing function in this file does.
(WebCore::DOMSelection::getRangeAt): Return a range that starts
and ends before the shadow ancestor. Matches Firefox.
2009-08-10 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Make all status bar button images glyph-based.
https://bugs.webkit.org/show_bug.cgi?id=28124
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
* inspector/front-end/Images/clearConsoleButtonGlyph.png: Added.
* inspector/front-end/Images/clearConsoleButtons.png: Removed.
* inspector/front-end/Images/consoleButtonGlyph.png: Added.
* inspector/front-end/Images/consoleButtons.png: Removed.
* inspector/front-end/Images/dockButtonGlyph.png: Added.
* inspector/front-end/Images/dockButtons.png: Removed.
* inspector/front-end/Images/enableButtons.png: Removed.
* inspector/front-end/Images/enableOutlineButtonGlyph.png: Added.
* inspector/front-end/Images/enableSolidButtonGlyph.png: Added.
* inspector/front-end/Images/excludeButtonGlyph.png: Added.
* inspector/front-end/Images/excludeButtons.png: Removed.
* inspector/front-end/Images/focusButtonGlyph.png: Added.
* inspector/front-end/Images/focusButtons.png: Removed.
* inspector/front-end/Images/largerResourcesButtonGlyph.png: Added.
* inspector/front-end/Images/largerResourcesButtons.png: Removed.
* inspector/front-end/Images/nodeSearchButtonGlyph.png: Added.
* inspector/front-end/Images/nodeSearchButtons.png: Removed.
* inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added.
* inspector/front-end/Images/pauseOnExceptionButtons.png: Removed.
* inspector/front-end/Images/percentButtonGlyph.png: Added.
* inspector/front-end/Images/percentButtons.png: Removed.
* inspector/front-end/Images/recordButtonGlyph.png: Added.
* inspector/front-end/Images/recordButtons.png: Removed.
* inspector/front-end/Images/recordToggledButtonGlyph.png: Added.
* inspector/front-end/Images/reloadButtonGlyph.png: Added.
* inspector/front-end/Images/reloadButtons.png: Removed.
* inspector/front-end/Images/undockButtonGlyph.png: Added.
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.createStatusBarButton):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
* inspector/front-end/inspector.html:
2009-08-07 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
KURL ref() methods should be fragmentIdentifier() methods
https://bugs.webkit.org/show_bug.cgi?id=28084
In addition to the renames, also took the chance to replace all use of:
setRef(String());
with:
removeFragmentIdentifier();
* platform/KURL.cpp:
(WebCore::KURL::fragmentIdentifier):
(WebCore::KURL::hasFragmentIdentifier):
(WebCore::KURL::setFragmentIdentifier):
(WebCore::KURL::removeFragmentIdentifier):
(WebCore::KURL::prettyURL):
(WebCore::equalIgnoringFragmentIdentifier):
* platform/KURL.h:
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::internalLinkElement):
* css/CSSCursorImageValue.cpp:
(WebCore::isSVGCursorIdentifier):
* history/HistoryItem.cpp:
(WebCore::HistoryItem::isCurrentDocument):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::hash):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::isURLAllowed):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::gotoAnchor):
(WebCore::FrameLoader::scheduleLocationChange):
(WebCore::FrameLoader::scrollToAnchor):
(WebCore::FrameLoader::shouldReload):
(WebCore::FrameLoader::urlsMatchItem):
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::resourceForURL):
(WebCore::ApplicationCache::resourceForRequest):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::cacheForMainRequest):
(WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didFail):
(WebCore::ApplicationCacheGroup::addEntry):
* loader/appcache/ApplicationCacheResource.h:
(WebCore::ApplicationCacheResource::create):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
(WebCore::ApplicationCacheStorage::cacheGroupForURL):
(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
* loader/appcache/ManifestParser.cpp:
(WebCore::parseManifest):
* page/Location.cpp:
(WebCore::Location::hash):
* page/Page.cpp:
(WebCore::Page::goToItem):
* rendering/RenderPartObject.cpp:
(WebCore::isURLAllowed):
* workers/WorkerLocation.cpp:
(WebCore::WorkerLocation::hash):
2009-08-10 Andy Shaw <andy.shaw@nokia.com>
Reviewed by Simon Hausmann.
Fix endless loop when the application is quit by a secondary thread during a sync xml http request.
Replace the m_finished state variable and the call to QCoreApplication::processEvents() with
a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well
as from Qt through its knowledge of globally registered eventloops.
There is no unit test for this bug as it would require exporting additional symbols and
introduce the synchronous loader as global variable just for the test.
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::waitForCompletion):
2009-08-10 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Make properties inspection serialized.
https://bugs.webkit.org/show_bug.cgi?id=28078
* inspector/front-end/DOMAgent.js:
(InspectorController.getPrototypes):
(InspectorController.getProperties):
* inspector/front-end/InjectedScript.js:
(InjectedScript.getPrototypes):
(InjectedScript.getProperties):
(InjectedScript.setPropertyValue):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectRef):
(WebInspector.ObjectPropertyRef):
(WebInspector.ObjectPropertiesSection.prototype.onpopulate):
(WebInspector.ObjectPropertiesSection.prototype.update.callback):
(WebInspector.ObjectPropertiesSection.prototype.update):
(WebInspector.ObjectPropertiesSection.prototype._update):
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
(WebInspector.ObjectPropertyTreeElement.prototype.onattach):
(WebInspector.ObjectPropertyTreeElement.prototype.update):
* inspector/front-end/PropertiesSidebarPane.js:
(WebInspector.PropertiesSidebarPane.prototype.update.callback):
(WebInspector.PropertiesSidebarPane.prototype.update):
2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] wml.css lacks <pre> support
https://bugs.webkit.org/show_bug.cgi?id=28135
Add <pre> support for WML.
Extended fast/wml/text-emphasis.wml to cover <pre> support.
* css/wml.css: <pre> section copied from html.css
2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by Oliver Hunt.
Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'.
* loader/FrameLoader.cpp:
(WebCore::isBackForwardLoadType):
(WebCore::FrameLoader::restoreDocumentState):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::loadItem):
2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] Deck access control is completly broken
https://bugs.webkit.org/show_bug.cgi?id=27721
Rewrite WML deck access control, actually works now standalone and within LayoutTests.
Added several new layout tests covering local & remote access support.
In order to detect WML task execution failures from within the WML layout tests a new
method Console::lastWMLErrorMessage() has been added, returning the last recorded WML
error message. Change WML log messages to dump to InspectorClient, just like it's done
for HTML - we used to behave like JSMessageSource, which is wrong.
Tests: http/tests/wml/access-target-domain-deny.html
http/tests/wml/access-target-path-deny.html
http/tests/wml/access-target.html
wml/access-target-deny.html
wml/access-target.html
* inspector/ConsoleMessage.h:
(WebCore::ConsoleMessage::source): Added public method to fetch the message source type.
(WebCore::ConsoleMessage::message): Added public method to access the error message.
* inspector/InspectorController.h:
(WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages.
* loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML).
(WebCore::isBackForwardLoadType):
(WebCore::FrameLoader::restoreDocumentState):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::loadItem):
* loader/FrameLoaderTypes.h:
(WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information.
* page/Console.cpp:
(WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController.
(WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present.
* page/Console.h:
* page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()".
* wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument().
(WebCore::WMLAccessElement::parseMappedAttribute):
(WebCore::WMLAccessElement::insertedIntoDocument):
* wml/WMLAccessElement.h:
* wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck.
(WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
* wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState.
(WebCore::WMLDocument::finishedParsing):
(WebCore::WMLDocument::initialize):
* wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state.
(WebCore::reportWMLError):
* wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests.
(WebCore::WMLPageState::WMLPageState):
(WebCore::normalizedHostName):
(WebCore::hostFromURL):
(WebCore::urlForHistoryItem):
(WebCore::tryAccessHistoryURLs):
(WebCore::WMLPageState::processAccessControlData):
(WebCore::WMLPageState::resetAccessControlData):
(WebCore::WMLPageState::canAccessDeck):
(WebCore::WMLPageState::hostIsAllowedToAccess):
(WebCore::WMLPageState::pathIsAllowedToAccess):
* wml/WMLPageState.h:
2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by Maciej Stachowiak.
FrameLoadType / WebFrameLoadType enums are out of sync
https://bugs.webkit.org/show_bug.cgi?id=28132
Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl.
The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between
'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload + 2'.
Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl.
* loader/FrameLoaderTypes.h:
(WebCore::):
2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] manual-tests/wml/onevent-prev.wml crashes
https://bugs.webkit.org/show_bug.cgi?id=27722
Fix intrinsic event execution, leading to crashes.
First finish parsing the document, then execute the events. Not the other way round.
-> exposes bugs all over the WML layout tests, which relied on that quirk.
Fixes manual-tests/wml/onevent-prev.wml.
* wml/WMLDocument.cpp:
(WebCore::WMLDocument::WMLDocument):
(WebCore::WMLDocument::finishedParsing):
(WebCore::WMLDocument::initialize):
* wml/WMLDocument.h:
2009-08-08 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
[Chromium] Update WebCore.gyp to add ImageBuffer.cpp,
introduced by http://trac.webkit.org/changeset/46956.
https://bugs.webkit.org/show_bug.cgi?id=27844
* WebCore.gypi: Added ImageBuffer.cpp.
2009-08-08 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Rubber-stamped by Jan Michael Alonzo.
Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure
fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled.
* dom/Document.idl:
2009-08-08 Dirk Schulze <krit@webkit.org>
Reviewed by Eric Seidel.
SVG Filter need feColorMatrix implementation
[https://bugs.webkit.org/show_bug.cgi?id=27711]
Adds the filter effect feColorMatrix to SVG filters.
There is already a test in the w3c directory.
Test: svg/W3C-SVG-1.1/filters-color-01-b.svg
* platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::matrix):
(WebCore::saturate):
(WebCore::huerotate):
(WebCore::luminance):
(WebCore::FEColorMatrix::apply):
2009-08-08 Dirk Schulze <krit@webkit.org>
Reviewed by Oliver Hunt.
Build fix for Tiger.
https://bugs.webkit.org/show_bug.cgi?id=27844
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
2009-08-08 Dirk Schulze <krit@webkit.org>
Reviewed by Oliver Hunt.
This is an initial implementation for linearRGB and sRGB support for all
platforms. Some platforms like Cg support different color spaces
natively, others like Qt, Cairo and Skia do not. This patch uses the
native implementation of platforms if possible and offers a common version
if not.
Different color spaces are used in SVG Filters. Nearly every Filter test
case is a test for this patch and will be enabled, once Filters are enabled.
https://bugs.webkit.org/show_bug.cgi?id=27844
* GNUmakefile.am:
* WebCore.pro:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
* platform/graphics/GeneratedImage.cpp:
(WebCore::GeneratedImage::drawPattern):
* platform/graphics/ImageBuffer.cpp: Added.
(WebCore::ImageBuffer::transformColorSpace):
* platform/graphics/ImageBuffer.h:
(WebCore::):
(WebCore::ImageBuffer::create):
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::platformTransformColorSpace):
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::Image::drawPattern):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::getEffectContext):
* platform/graphics/qt/ImageBufferQt.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::platformTransformColorSpace):
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::strokeContains):
(WebCore::Path::strokeBoundingRect):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::platformTransformColorSpace):
* platform/graphics/skia/SkiaUtils.cpp:
(WebCore::scratchContext):
* platform/graphics/wx/ImageBufferWx.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::paint):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::drawMaskerContent):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::buildPattern):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::nativeImageForCurrentFrame):
* svg/graphics/SVGPaintServerGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
* svg/graphics/SVGPaintServerPattern.cpp:
(WebCore::SVGPaintServerPattern::setup):
* svg/graphics/SVGResourceFilter.cpp:
(WebCore::SVGResourceFilter::prepareFilter):
(WebCore::SVGResourceFilter::applyFilter):
* svg/graphics/SVGResourceMasker.cpp:
(WebCore::SVGResourceMasker::applyMask):
* svg/graphics/filters/SVGFETile.cpp:
(WebCore::FETile::apply):
2009-08-08 Xan Lopez <xlopez@igalia.com>
Roll out r46928, since it wasn't done in accordance with the
agreed naming.
* bindings/gdom/GdomDOMObject.cpp: Removed.
2009-08-08 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Xan Lopez.
[Gtk] Enable accessibility in Gtk DRT
https://bugs.webkit.org/show_bug.cgi?id=25989
Add SPI to get the focused accessible element to be used by DRT.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_get_focused_element):
* accessibility/gtk/AccessibilityObjectWrapperAtk.h:
2009-08-07 Jan Michael Alonzo <jmalonzo@webkit.org>
Gtk build fix - add html/canvas to the binding generator's include path
* GNUmakefile.am:
2009-08-07 Oliver Hunt <oliver@apple.com>
Another attempt to fix windows.
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
2009-08-07 Oliver Hunt <oliver@apple.com>
Windows build fix
* WebCore.vcproj/WebCore.vcproj:
2009-08-07 Jan Michael Alonzo <jmalonzo@webkit.org>
Gtk build fix - add html/canvas to the include path.
* GNUmakefile.am:
2009-08-07 Adam Treat <adam.treat@torchmobile.com>
Prospective build fix for Qt following r46937.
* WebCore.pro:
2009-08-07 Yong Li <yong.li@torchmobile.com>
WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices
https://bugs.webkit.org/show_bug.cgi?id=27734
* platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::advanceData):
(WebCore::GlyphBuffer::add):
2009-08-07 Yong Li <yong.li@torchmobile.com>
Reviewed by Eric Seidel.
WINCE PORT: pass unrecognized glyphs to GDI to handle
https://bugs.webkit.org/show_bug.cgi?id=27734
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataForCharacter):
2009-08-07 Chris Marrin <cmarrin@apple.com>
Reviewed by Oliver Hunt.
Move Canvas related file to a subdirectories
https://bugs.webkit.org/show_bug.cgi?id=28026
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* html/CanvasGradient.cpp: Removed.
* html/CanvasGradient.h: Removed.
* html/CanvasGradient.idl: Removed.
* html/CanvasPattern.cpp: Removed.
* html/CanvasPattern.h: Removed.
* html/CanvasPattern.idl: Removed.
* html/CanvasPixelArray.cpp: Removed.
* html/CanvasPixelArray.h: Removed.
* html/CanvasPixelArray.idl: Removed.
* html/CanvasRenderingContext2D.cpp: Removed.
* html/CanvasRenderingContext2D.h: Removed.
* html/CanvasRenderingContext2D.idl: Removed.
* html/CanvasStyle.cpp: Removed.
* html/CanvasStyle.h: Removed.
* html/canvas: Added.
* html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp.
* html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h.
* html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl.
* html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp.
* html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h.
* html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl.
* html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp.
* html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h.
* html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl.
* html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp.
* html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h.
* html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl.
* html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp.
* html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h.
2009-08-07 Szabo Carol <carol.szabo@nokia.com>
Reviewed by David Hyatt.
QtWebkit ignores letter-spacing and word-spacing styles.
QtWebkit handles custom letter-spacing and word-spacing in the native QFont
class, but the values for these options are not not passed on from
the platform independent part of the Font class.
Fixed QtWebkit behavior by applying the options to QFont when it is
returned via Font::font()
http://bugs.webkit.org/show_bug.cgi?id=27988
LayoutTests:
fast/css/word-space-extra.html
css2.1/t1604-c542-letter-sp-00-b-a.html
css2.1/t1604-c541-word-sp-01-b-a.html
css1/text_properties/word_spacing.html
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::font):
2009-08-07 Nicolas Weber <thakis@chromium.org>
Reviewed by Darin Adler.
Use correct highlight color for listboxes and completion popups.
https://bugs.webkit.org/show_bug.cgi?id=28090
* rendering/RenderThemeChromiumMac.h:
* rendering/RenderThemeChromiumMac.mm:
Rename activeListBoxSelectionBackgroundColor to
platformActiveListBoxSelectionBackgroundColor, so that it actually
overrides a virtual method.
2009-08-07 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Eric Seidel.
Added a fourth bunch of Haiku-specific files for WebCore.
https://bugs.webkit.org/show_bug.cgi?id=26988
* platform/haiku/PasteboardHaiku.cpp: Added.
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::writeImage):
(WebCore::Pasteboard::clear):
* platform/haiku/PlatformKeyboardEventHaiku.cpp: Added.
(WebCore::keyIdentifierForHaikuKeyCode):
(WebCore::windowsKeyCodeForKeyEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
(WebCore::PlatformKeyboardEvent::currentCapsLockState):
* platform/haiku/PlatformMouseEventHaiku.cpp: Added.
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/haiku/PlatformWheelEventHaiku.cpp: Added.
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
2009-08-07 Nicolas Weber <thakis@chromium.org>
Teach WebKit how to decode jpegs in cmyk and ycck color spaces.
Heavily inspired by Firefox's take on this issue.
https://bugs.webkit.org/show_bug.cgi?id=27909
Reviewed by Eric Seidel.
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
Tell jpeglib to convert ycck to cmyk and keep cmyk.
(WebCore::convertCMYKToRGBA):
Added function to convert cmyk to rgb.
(WebCore::convertRGBToRGBA):
Extracted existing conversion logic into its own function.
(WebCore::JPEGImageDecoder::outputScanlines):
Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb
images.
2009-08-07 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
SharedWorkers should be shared
https://bugs.webkit.org/show_bug.cgi?id=28058
Added tracking of shared workers to the SharedWorkerRepository.
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::create):
Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading).
(WebCore::SharedWorkerProxy::thread):
(WebCore::SharedWorkerProxy::closing):
Added flag used to determine whether the worker has closed itself while loading.
(WebCore::SharedWorkerProxy::url):
(WebCore::SharedWorkerProxy::name):
Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec.
(WebCore::SharedWorkerProxy::SharedWorkerProxy):
(WebCore::SharedWorkerProxy::addToDocumentSet):
Added API to track the document set for a worker to allow worker shutdown. Currently does nothing.
(WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity.
(WebCore::SharedWorkerScriptLoader::load):
(WebCore::SharedWorkerScriptLoader::notifyFinished):
(WebCore::DefaultSharedWorkerRepository::instance):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
Now handles "worker already loaded" case.
(WebCore::SharedWorkerRepository::connect):
Delegates to DefaultSharedWorkerRepository::connectToWorker
(WebCore::DefaultSharedWorkerRepository::connectToWorker):
Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case.
(WebCore::DefaultSharedWorkerRepository::getProxy):
Atomic get-or-create operation on the internal tracking HashMap.
* workers/DefaultSharedWorkerRepository.h:
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::SharedWorker):
* workers/SharedWorkerRepository.h:
Removed instance() API and made constructor private to prevent instantiation.
(WebCore::SharedWorkerRepository::SharedWorkerRepository):
2009-08-07 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Eric Seidel.
Added four Haiku-specific files for WebCore:
PopupMenuHaiku.cpp, ScreenHaiku.cpp,
SearchPopupMenuHaiku.cpp and SoundHaiku.cpp
https://bugs.webkit.org/show_bug.cgi?id=28080
* platform/haiku/PopupMenuHaiku.cpp: Added.
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::updateFromElement):
(WebCore::PopupMenu::itemWritingDirectionIsNatural):
* platform/haiku/ScreenHaiku.cpp: Added.
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
* platform/haiku/SearchPopupMenuHaiku.cpp: Added.
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
(WebCore::SearchPopupMenu::enabled):
* platform/haiku/SoundHaiku.cpp: Added.
(WebCore::systemBeep):
2009-08-07 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Eric Seidel.
Added two Haiku-specific files to WebCore:
TemporaryLinkStubs.cpp and WidgetHaiku.cpp
https://bugs.webkit.org/show_bug.cgi?id=28080
* platform/haiku/TemporaryLinkStubs.cpp: Added.
(loadResourceIntoArray):
(WebCore::historyContains):
(WebCore::supportedKeySizes):
(WebCore::signedPublicKeyAndChallengeString):
(WebCore::userIdleTime):
(WebCore::callOnMainThread):
(WebCore::SharedBuffer::createWithContentsOfFile):
(WebCore::KURL::fileSystemPath):
(WebCore::getSupportedKeySizes):
* platform/haiku/WidgetHaiku.cpp: Added.
(WebCore::Widget::Widget):
(WebCore::Widget::~Widget):
(WebCore::Widget::frameRect):
(WebCore::Widget::setFrameRect):
(WebCore::Widget::setFocus):
(WebCore::Widget::setCursor):
(WebCore::Widget::show):
(WebCore::Widget::hide):
(WebCore::Widget::paint):
(WebCore::Widget::setIsSelected):
2009-08-07 Jian Li <jianli@chromium.org>
Reviewed by Dimitri Glazkov.
[V8] Fix the problem that isAttribute is set to false for onerror and
onmessage in worker custom code.
https://bugs.webkit.org/show_bug.cgi?id=28083
* bindings/v8/custom/V8AbstractWorkerCustom.cpp:
(WebCore::getEventListener):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::getEventListener):
(WebCore::ACCESSOR_SETTER):
2009-08-07 Vitaly Repeshko <vitalyr@quad.spb.corp.google.com>
Reviewed by Dimitri Glazkov.
V8 bindings: speed up lookupDOMWrapper by using new V8 API function.
https://bugs.webkit.org/show_bug.cgi?id=28071
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::lookupDOMWrapper):
2009-08-07 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia.
selectionHasStyle doesn't handle text-specific properties properly
https://bugs.webkit.org/show_bug.cgi?id=27858
This patch modifies selectionHasStyle so that it returns TrueTriState when text styles
(text-decoration, font-style, font-weight, & color) are present in all text nodes,
regardless of whether the style is also present in their ancestor nodes or not.
e.g. New behavior concludes that <b><i>hello</i><i>world</i></b> has italic style.
WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on
at least one text node, rather than at the beginning of selection except on Mac.
On Mac, WebKit applies the text style if the style was not present at the beginning of style.
Test: editing/execCommand/toggle-compound-styles.html
* editing/ApplyStyleCommand.cpp:
(WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style.
* editing/Editor.cpp:
(WebCore::):
(WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles
(WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes
* editing/EditorCommand.cpp:
(WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle
2009-08-07 Jian Li <jianli@chromium.org>
Reviewed by Dimitri Glazkov.
[V8] Do not register V8 error message listener in WorkerContextExecutionProxy.
https://bugs.webkit.org/show_bug.cgi?id=28082
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
2009-08-07 Kwang Yul Seo <skyul@company100.net>
Reviewed by Eric Seidel.
Cairo-based Windows port does not handle cookies properly
https://bugs.webkit.org/show_bug.cgi?id=27414
curl handles cookies by itself, so using WinINet functions
to get and set cookies is wrong.
Replace CookieJarWin.cpp with CookieJarCurl.cpp so that
cookies can be implemented later once curl provides an API to
get and set cookies.
* WebCore.vcproj/WebCore.vcproj:
2009-08-07 Michael Nordman <michaeln@google.com>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=28074
V8 bindings for the window.applicationCache attribute.
* WebCore.gypi:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/DOMObjectsInclude.h:
* bindings/v8/DerivedSourcesAllInOne.cpp:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getTemplate):
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
* bindings/v8/V8Index.cpp:
* bindings/v8/V8Index.h:
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added.
2009-08-07 Alpha Lam <hclam@chromium.org>
Reviewed by Eric Seidel.
Right click on timeline of media controls panel cause seek
https://bugs.webkit.org/show_bug.cgi?id=27920
Add a test simulate the behavior of seeking by right clicking
on the time bar of media controls while playing.
* media/controls-right-click-on-timebar-expected.txt: Added.
* media/controls-right-click-on-timebar.html: Added.
2009-08-07 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia.
deprecatedCopyInheritableProperties must be replaced by two different functions
https://bugs.webkit.org/show_bug.cgi?id=28057
This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition
or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch,
which consists of all CSS properties need to be preserved under editing operations.
No test is added since this patch does not change any behavior.
* css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties
* css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties
* editing/ApplyStyleCommand.cpp:
(WebCore::):
(WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position
(WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position
(WebCore::removeStylesAddedByNode): Removes the style derived from the specified node
* editing/ApplyStyleCommand.h:
(WebCore::):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition
(WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition
* editing/DeleteSelectionCommand.cpp:
(WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode
(WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition
(WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt
* editing/EditCommand.cpp:
* editing/EditCommand.h:
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition
(WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt
* editing/RemoveFormatCommand.cpp:
(WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition
* editing/ReplaceSelectionCommand.cpp:
(WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition
(WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt
(WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt
* editing/markup.cpp:
(WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode
(WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt
(WebCore::createMarkup): Uses editingStyleAtPosition
2009-08-07 Steve Block <steveblock@google.com>
Reviewed by Darin Adler.
Bug 27250: Geolocation callback function IDL files are superfluous
https://bugs.webkit.org/show_bug.cgi?id=27250
The objects for the Geolocation success and error callbacks are created 'manually' in
WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are
marked 'NoInterfaceObject' in the W3C spec, so the prototype should not
appear on the window object. Hence IDL files for these callbacks are not required.
See http://www.w3.org/TR/geolocation-API/#geolocation_interface and
http://www.w3.org/TR/WebIDL/#NoInterfaceObject.
No new tests required.
* DerivedSources.make: Modified. Removed reference to IDL files.
* WebCore.gypi: Modified. Removed reference to IDL files.
* WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files.
* page/PositionCallback.idl: Removed.
* page/PositionErrorCallback.idl: Removed.
2009-08-07 Adam Treat <adam.treat@torchmobile.com>
Reviewed by David Levin.
Build fix for Qt when ENABLE_VIDEO = 0. This was necessitated by r46890 which
put the idl files back into play regardless of compile time defines.
* html/TimeRanges.idl:
2009-08-07 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by George Staikos.
Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py.
https://bugs.webkit.org/show_bug.cgi?id=28050
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::baselinePosition):
(WebCore::inflateButtonRect):
(WebCore::RenderThemeQt::supportsFocus):
(WebCore::RenderThemeQt::applyTheme):
2009-08-07 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Eric Seidel.
Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton
from discarding style colour.
Add tests and remove tests from platform/qt/Skipped that now pass.
https://bugs.webkit.org/show_bug.cgi?id=28050
Tests: fast/forms/menulist-style-color.html
fast/forms/text-style-color.html
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::adjustTextFieldStyle):
(WebCore::RenderThemeQt::adjustMenuListStyle):
(WebCore::RenderThemeQt::adjustMenuListButtonStyle):
2009-08-07 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
https://bugs.webkit.org/show_bug.cgi?id=22495
[V8] Re-land http://trac.webkit.org/changeset/46821, now that
http://trac.webkit.org/changeset/46874 re-landed
* bindings/v8/DOMObjectsInclude.h:
* bindings/v8/DerivedSourcesAllInOne.cpp:
* bindings/v8/V8Index.cpp:
* bindings/v8/V8Index.h:
2009-08-07 Adam Treat <adam.treat@torchmobile.com>
Reviewed by Darin Adler and George Staikos.
Add rectToRect convenience function which returns the TransformationMatrix
which maps the 'from' rectangle to the 'to' rectangle.
https://bugs.webkit.org/show_bug.cgi?id=28067
No tests as this would require binding the method to js and since it is static
that doesn't seem possible. Please check the math.
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::rectToRect):
* platform/graphics/transforms/TransformationMatrix.h:
2009-08-07 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
Implement the HTML5 hashchange event.
https://bugs.webkit.org/show_bug.cgi?id=21605
Test: fast/loader/hashchange-event.html
* dom/EventNames.h: Add "hashchange"
* html/HTMLAttributeNames.in: Add "onhashchange"
* loader/FrameLoader.cpp:
(WebCore::HashChangeEventTask::create):
(WebCore::HashChangeEventTask::performTask):
(WebCore::HashChangeEventTask::HashChangeEventTask):
(WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the
new fragment identifier is different from the old one, queue a hash change event
on the Document.
Add a window event listener for the hashchange event if onhashchange is encountered:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
Add a new string utility method that gives "null and empty are equivalent" behavior:
* platform/text/PlatformString.h:
(WebCore::equalIgnoringNullity):
* platform/text/StringImpl.cpp:
(WebCore::equalIgnoringNullity):
* platform/text/StringImpl.h:
2009-08-07 Jessie Berlin <jberlin@apple.com>
Reviewed by Timothy Hatcher.
Add the initial implementation of the ability to resize the columns in
a DataGrid in the Web Inspector. Enables that functionality in both the
Profile View and in the Local Storage View.
https://bugs.webkit.org/show_bug.cgi?id=26182
In this version, resizing a column can change the width of at most two
columns (the columns to the left and right of the resizer being dragged).
Possible changes in future patches:
1) Be able to specify the minimum size of a column and the maximum size
of a column. If the minimum size is equal to the maximum size, the
column can't be resized.
2) Make the behavior more in line with the following description:
Everything before the column that is resized stays fixed size. The
resized column changes sizes. The other columns except the last stay
the same size. And the last column adjusts to fit with a minimum size.
If the last column is already the minimum, the next to last column
shrinks, etc.
3) Make it possible to scale the column sizes appropriately when the
Web Inspector window gets resized.
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype.update):
Once the DataGrid is added to the DOM, update the widths of the
DataGrid in order to put the resizers in place.
(WebInspector.DOMStorageItemsView.prototype.resize):
Update the widths of the DataGrid in order to correctly adjust the
positions of the resizers.
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
Store column groups whose widths can later be changed when the columns
are resized by the user.
Also, keep track of whether the widths of the columns have been
initialized.
(WebInspector.DataGrid.prototype.updateWidths):
Create the resizers for the columns.
(WebInspector.DataGrid.prototype._clickInDataTable):
Didn't actually change anything in this method, just added a comma to
the end of the function.
(WebInspector.DataGrid.prototype._startResizerDragging):
Store the resizer that is currently dragging.
(WebInspector.DataGrid.prototype._resizerDragging):
Constrain the area that the resizer can be dragged to the column to
it's left and right, with some padding added to make sure that the
neighboring columns don't disappear.
(WebInspector.DataGrid.prototype._endResizerDragging):
* inspector/front-end/DatabasesPanel.js:
(WebInspector.DatabasesPanel.prototype.resize):
Resize the view.
(WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
ditto.
* inspector/front-end/ProfileView.js:
(WebInspector.ProfileView.prototype.show):
Now that the DataGrid is actually attached to the DOM, update the
widths of the DataGrid in order to put the resizers in place.
(WebInspector.ProfileView.prototype.resize):
Update the widths of the DataGrid in order to correctly adjust the
positions of the resizers.
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.resize):
Resize the view.
(WebInspector.ProfilesPanel.prototype._updateSidebarWidth):
ditto.
* inspector/front-end/inspector.css:
Add in a style rule for a resizer in the Data Grid.
2009-08-07 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
Back out r46847 and fix the Qt build system to always generate
all the JS binding files from IDL files. The generated files
have #if feature guards, so the #ifs are not needed in the
files using them.
* WebCore.pro:
* bindings/js/JSEventTarget.cpp:
* bindings/js/JSWorkerContextBase.cpp:
* bindings/js/WorkerScriptController.cpp:
2009-08-07 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Adele Peterson.
Cannot scroll for box-reflect:right
https://bugs.webkit.org/show_bug.cgi?id=27979
Update m_overflowLeft an m_overflowWidth for reflection just like
m_overflowTop and m_overflowHeight.
Test: fast/reflections/reflection-overflow-scroll.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
2009-08-06 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Adam Barth.
box-shadow's spread is ignored with <table>
https://bugs.webkit.org/show_bug.cgi?id=28017
Use RenderStyle::getBoxShadowExtent just like RenderBlock.
Test: fast/box-shadow/box-shadow-overflow-scroll.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
2009-08-06 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Inspector: NodeLists Don't Display Well in the Console
https://bugs.webkit.org/show_bug.cgi?id=28061
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array"
2009-08-06 Yusuke Sato <yusukes@chromium.org>
Reviewed by David Levin.
Chromium Linux: add support for @font-face
https://bugs.webkit.org/show_bug.cgi?id=28015
* loader/CachedFont.cpp:
(WebCore::CachedFont::~CachedFont):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::platformDataFromCustomData):
(WebCore::CachedFont::allClientsRemoved):
Modified #ifdefs so that chromium linux can load remote fonts.
* platform/graphics/chromium/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::createFontCustomPlatformData):
Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function.
(WebCore::RemoteFontStream::RemoteFontStream):
(WebCore::RemoteFontStream::~RemoteFontStream):
(WebCore::RemoteFontStream::rewind):
(WebCore::RemoteFontStream::read):
New class that implements SkStream interface and wraps wtf's SharedBuffer.
* platform/graphics/chromium/FontCustomPlatformData.h:
(WebCore::FontCustomPlatformData::FontCustomPlatformData):
Added member variables for Linux.
2009-08-06 Yong Li <yong.li@torchmobile.com>
Reviewed by Eric Seidel.
Fix JPEGImageDecoder.cpp compile error on WinCE
https://bugs.webkit.org/show_bug.cgi?id=28051
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2009-08-06 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Eric Seidel.
Adding WebCore support for the waf build system for wx.
https://bugs.webkit.org/show_bug.cgi?id=27619
* wscript: Added.
2009-08-06 Adam Barth <abarth@webkit.org>
Unreviewed revert.
http://bugs.webkit.org/show_bug.cgi?id=27879
Revert 46877 because it broke GTK.
* platform/graphics/wince/GraphicsContextWince.cpp:
2009-08-06 Chris Fleizach <cfleizach@apple.com>
Reviewed by Eric Seidel.
Bug 27956 - AX: roleValue should be cached for performance
https://bugs.webkit.org/show_bug.cgi?id=27956
Caches the role value of an accessibility object instead of calculating it everytime.
The changes gained a 5% speedup using VoiceOver to navigate a webpage.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAriaRoleChanged):
Use generic role setter instead of specific ARIA role setter.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::AccessibilityObject):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::headingLevel):
Make headingLevel into instance method so that it can *safely* be called in the constructor.
(WebCore::AccessibilityObject::setRoleValue):
(WebCore::AccessibilityObject::roleValue):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::headingLevel):
(WebCore::AccessibilityRenderObject::intValue):
(WebCore::AccessibilityRenderObject::updateAccessibilityRole):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(AXAttributeStringSetHeadingLevel):
2009-08-06 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
Reviewed by Adam Barth.
Change Noncopyable inheriting to public
http://bugs.webkit.org/show_bug.cgi?id=27879
Since Noncopyable is inherited from FastAllocBase, Noncopyable's
inheriting has been changed to public.
* platform/graphics/wince/GraphicsContextWince.cpp:
2009-08-06 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Sam Weinig.
Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
* WebCore.xcodeproj/project.pbxproj:
2009-08-05 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Implement the matchMedium method on the Media interface described in the CSSOM View Module.
https://bugs.webkit.org/show_bug.cgi?id=22495
Add a new Media interface, obtainable via the AbstractView, that can
evaluate queries via its matchesMedium() method.
Test: fast/media/matchmedium-query-api.html
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
Add Media.* files to the build.
* css/Media.cpp: Added.
(WebCore::Media::Media):
(WebCore::Media::type):
(WebCore::Media::matchMedium):
* css/Media.h: Added.
(WebCore::Media::create):
(WebCore::Media::document):
* css/Media.idl: Added.
Media::matchMedium() uses a MediaQueryEvaluator() to test the query.
* page/AbstractView.idl:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::media):
* page/DOMWindow.h:
* page/DOMWindow.idl:
Add a readonly attribute for Media.
2009-08-06 Michelangelo De Simone <micdesim@gmail.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=27455
Support for a custom validation message in ValidityState and related
form controls.
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity
Tests: fast/forms/ValidityState-customError-001.html
fast/forms/ValidityState-customError-002.html
fast/forms/ValidityState-customError-003.html
fast/forms/ValidityState-customError-004.html
* html/HTMLButtonElement.idl: setCustomValidity DOM method
* html/HTMLFieldSetElement.idl: ditto
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::setCustomValidity): ditto
* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::valueMissing): moved down
* html/HTMLInputElement.idl: ditto
* html/HTMLSelectElement.idl: ditto
* html/HTMLTextAreaElement.idl:
* html/ValidityState.h:
(WebCore::ValidityState::setCustomErrorMessage): method to set custom
validation message
(WebCore::ValidityState::customError): validation flag
2009-08-06 Mark Rowe <mrowe@apple.com>
Bring a little order to our otherwise out of control lives.
* WebCore.xcodeproj/project.pbxproj:
2009-08-06 Mark Rowe <mrowe@apple.com>
Stop copying .idl files in to the framework resources directory.
* WebCore.xcodeproj/project.pbxproj:
2009-08-06 Mark Rowe <mrowe@apple.com>
Fix the build some more.
Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related
files and groups in to the appropriate locations.
* WebCore.xcodeproj/project.pbxproj:
2009-08-06 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by Alexey Proskuryakov.
Add WebSocket.idl
https://bugs.webkit.org/show_bug.cgi?id=27209
Add WebSocket.idl in WebCore/websockets/.
Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
Other build systems will be updated once the code is functional.
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebSocketConstructor.cpp: Added.
* bindings/js/JSWebSocketConstructor.h: Added.
* bindings/js/JSWebSocketCustom.cpp: Added.
* websockets/WebSocket.cpp: Added.
* websockets/WebSocket.h: Added.
* websockets/WebSocket.idl: Added.
2009-08-06 Jian Li <jianli@chromium.org>
Reviewed by Dimitri Glazkov.
[V8] Style cleaning for WorkerContextExecutionProxy.
https://bugs.webkit.org/show_bug.cgi?id=27997
Cleanup WorkerContextExecutioonProxy related files to follow
WebKit coding styles after all V8 binding codes are upstreamed.
1) Lower-case the first letter of remaining functins in class
WorkerContextExecutionProxy. Update the V8 code generator
and all other references accordingly.
2) Integrate getConstructor from WorkerContextExecutionProxy
to V8DOMWrapper.
3) Other misc changes, like removing trailing whitespaces and
sorting the include files.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getConstructorForContext):
(WebCore::V8DOMWrapper::convertToV8Object):
* bindings/v8/V8DOMWrapper.h:
* bindings/v8/V8WorkerContextEventListener.cpp:
(WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener):
(WebCore::V8WorkerContextEventListener::handleEvent):
(WebCore::V8WorkerContextEventListener::reportError):
(WebCore::V8WorkerContextEventListener::getReceiverObject):
* bindings/v8/V8WorkerContextObjectEventListener.cpp:
(WebCore::weakObjectEventListenerCallback):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::handleConsoleMessage):
(WebCore::WorkerContextExecutionProxy::dispose):
(WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
(WebCore::WorkerContextExecutionProxy::convertToV8Object):
(WebCore::WorkerContextExecutionProxy::convertEventToV8Object):
(WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
(WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object):
(WebCore::WorkerContextExecutionProxy::toV8):
(WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
(WebCore::WorkerContextExecutionProxy::removeEventListener):
* bindings/v8/WorkerContextExecutionProxy.h:
(WebCore::WorkerContextExecutionProxy::context):
(WebCore::WorkerContextExecutionProxy::convertToV8Object):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
2009-08-06 Darin Adler <darin@apple.com>
Fix Mac Leopard debug build.
* platform/text/StringImpl.cpp:
(WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned
is always >= 0 and checking causes a warning in the newer versions of gcc.
2009-08-06 Adam Barth <abarth@webkit.org>
Unreview rollout.
Revert 46840 because it broke the reliability tests.
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::execute):
* bindings/v8/ScheduledAction.h:
(WebCore::ScheduledAction::ScheduledAction):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8Custom::WindowSetTimeoutImpl):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::SetTimeoutOrInterval):
2009-08-06 Adam Barth <abarth@webkit.org>
Unreviewed rollout.
Revert 46840 in preparation to revert 46838, which broke the reliability tests.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::updateDocumentWrapperCache):
(WebCore::V8Proxy::initContextIfNeeded):
(WebCore::V8Proxy::mainWorldContext):
* bindings/v8/V8Proxy.h:
(WebCore::V8Proxy::context):
2009-08-06 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: move style-related utilities into InjectedScript.
http://bugs.webkit.org/show_bug.cgi?id=27939
* inspector/front-end/DOMAgent.js:
(WebInspector.CSSStyleDeclaration):
(WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
(WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
(WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
(WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
* inspector/front-end/InjectedScript.js:
(InjectedScript.applyStyleText):
(InjectedScript.toggleStyleEnabled):
(InjectedScript._serializeStyle):
(InjectedScript._getUniqueStyleProperties):
(InjectedScript._getLonghandProperties):
(InjectedScript._getShorthandPriority):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._update):
(WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
(WebInspector.StylePropertiesSection.prototype.onpopulate):
(WebInspector.StylePropertyTreeElement.prototype.get priority):
(WebInspector.StylePropertyTreeElement.prototype.get value):
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/front-end/utilities.js:
2009-08-06 Simon Hausmann <simon.hausmann@nokia.com>
Unreviewed build fix, add #ifdef guards around
inclusions of shared worker specific files.
* bindings/js/JSEventTarget.cpp:
* bindings/js/JSWorkerContextBase.cpp:
* bindings/js/WorkerScriptController.cpp:
2009-08-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Darin Adler.
cssgrammar.cpp fails to compile with RVCT compiler
https://bugs.webkit.org/show_bug.cgi?id=27952
* css/CSSGrammar.y: Do not convert to String to get rid of the stray
memory allocation
* platform/text/StringImpl.cpp:
(WebCore::equalIgnoringCase):
* platform/text/StringImpl.h:
(WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase
function that works with a character pointer and length
2009-08-06 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
Created first working implementation of SharedWorkers (execution only, no sharing).
https://bugs.webkit.org/show_bug.cgi?id=27927
Added initial implementations of SharedWorkerThread and SharedWorkerContext.
No v8 bindings yet.
* DerivedSources.cpp:
Added shared worker files.
* DerivedSources.make:
Added shared worker files.
* GNUmakefile.am:
Added shared worker files.
* WebCore.gypi:
Added shared worker files.
* WebCore.pro:
Added shared worker files.
* WebCore.vcproj/WebCore.vcproj:
Added shared worker files.
* WebCore.xcodeproj/project.pbxproj:
Added shared worker files.
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
Added code to convert from EventTarget to correct JS class.
(WebCore::toEventTarget):
Added code to cast from JS object to appropriate EventTarget impl class.
* bindings/js/JSSharedWorkerConstructor.cpp:
(WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
(WebCore::constructSharedWorker):
Tweaked the constructor code to pass in the lexical global object like normal workers.
* bindings/js/JSSharedWorkerContextCustom.cpp: Added.
(WebCore::JSSharedWorkerContext::mark):
Custom marking of the onconnect handler.
* bindings/js/JSWorkerContextBase.cpp:
(WebCore::toJSSharedWorkerContext):
(WebCore::toJSWorkerContext):
Added proper conversion to the correct WorkerContext derived class.
* bindings/js/JSWorkerContextBase.h:
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::initScript):
Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext)
* bindings/scripts/CodeGeneratorV8.pm:
Added support for SharedWorkerContext.
* bindings/v8/DOMObjectsInclude.h:
Added shared worker bindings files.
* dom/EventNames.h:
Added connect event.
* dom/EventTarget.cpp:
(WebCore::EventTarget::toSharedWorkerContext):
Added API for casting to new derived class (SharedWorkerContext).
* dom/EventTarget.h:
* workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::resolveURL):
Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers.
* workers/AbstractWorker.h:
* workers/DedicatedWorkerContext.cpp:
(WebCore::DedicatedWorkerContext::logException):
Refactored exception handling code - moved onerror handling to base class.
* workers/DedicatedWorkerContext.h:
(WebCore::DedicatedWorkerContext::isDedicatedWorkerContext):
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::SharedWorker):
Changed constructor to fire up worker thread.
* workers/SharedWorker.h:
* workers/SharedWorkerContext.cpp: Added.
(WebCore::SharedWorkerContext::SharedWorkerContext):
(WebCore::SharedWorkerContext::~SharedWorkerContext):
(WebCore::SharedWorkerContext::logException):
(WebCore::SharedWorkerContext::addMessage):
Placeholder methods until we add support for sending exceptions/messages to console.
(WebCore::SharedWorkerContext::dispatchConnect):
(WebCore::SharedWorkerContext::thread):
* workers/SharedWorkerContext.h: Added.
(WebCore::SharedWorkerContext::create):
(WebCore::SharedWorkerContext::isSharedWorkerContext):
(WebCore::SharedWorkerContext::toSharedWorkerContext):
(WebCore::SharedWorkerContext::setOnconnect):
(WebCore::SharedWorkerContext::onconnect):
(WebCore::SharedWorkerContext::name):
* workers/SharedWorkerContext.idl: Added.
* workers/SharedWorkerRepository.h: Added.
(WebCore::SharedWorkerRepository::~SharedWorkerRepository):
* workers/DefaultSharedWorkerRepository.cpp: Added.
Implementation of core singleton class that will be used to implement sharing.
(WebCore::SharedWorkerProxy::setThread):
Proxy object used to handle resource loading for a given shared worker.
(WebCore::SharedWorkerProxy::postTaskToLoader):
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
Placeholder routines until we implement loading.
(WebCore::SharedWorkerConnectTask::create):
Creates a task to fire off a connect event on the worker thread.
(WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
(WebCore::SharedWorkerConnectTask::performTask):
(WebCore::SharedWorkerLoader::SharedWorkerLoader):
Added helper object to load the initial script for the worker.
(WebCore::SharedWorkerLoader::load):
(WebCore::SharedWorkerLoader::notifyFinished):
(WebCore::SharedWorkerRepository::instance):
(WebCore::DefaultSharedWorkerRepository::instance):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
Fires off the worker thread once the script is loaded.
(WebCore::SharedWorkerRepository::connect):
(WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository):
(WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository):
* workers/DefaultSharedWorkerRepository.h: Added.
* workers/SharedWorkerThread.cpp: Added.
(WebCore::SharedWorkerThread::create):
(WebCore::SharedWorkerThread::SharedWorkerThread):
(WebCore::SharedWorkerThread::~SharedWorkerThread):
(WebCore::SharedWorkerThread::createWorkerContext):
* workers/SharedWorkerThread.h: Added.
* workers/Worker.cpp:
(WebCore::Worker::Worker):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::reportException):
* workers/WorkerContext.h:
(WebCore::WorkerContext::isSharedWorkerContext):
(WebCore::WorkerContext::isDedicatedWorkerContext):
Added APIs to determine the type of a given context.
2009-08-06 Chris Marrin <cmarrin@apple.com>
Reviewed by David Hyatt.
Added ENABLE_3D_CANVAS flag to build, default to off
* Configurations/FeatureDefines.xcconfig:
2009-08-06 Andras Becsi <becsi.andras@stud.u-szeged.hu>
Reviewed by Simon Hausmann.
[Qt] windowsKeyCodeForKeyEvent fix
Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad.
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::windowsKeyCodeForKeyEvent):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2009-08-06 George Staikos <george.staikos@torchmobile.com>
Rubber-stamped by Ariya Hidayat.
Remove the dead wince/ directory that should never have gone in.
* svg/graphics/wince: Removed.
* svg/graphics/wince/SVGResourceFilterWince.cpp: Removed.
2009-08-06 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Extract style editing into a separate file that is
going to be loaded in page context.
https://bugs.webkit.org/show_bug.cgi?id=27939
* inspector/front-end/InjectedScript.js: Added.
(InjectedScript.applyStyleText):
(InjectedScript.setStyleText):
(InjectedScript.toggleStyleEnabled):
(InjectedScript.setStyleRule):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.StylePropertyTreeElement.prototype.):
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2009-08-06 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
[V8] Remove bug-bait V8Proxy::context()
https://bugs.webkit.org/show_bug.cgi?id=27826
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::updateDocumentWrapperCache):
(WebCore::V8Proxy::initContextIfNeeded):
(WebCore::V8Proxy::mainWorldContext):
* bindings/v8/V8Proxy.h:
2009-08-06 Adam Barth <abarth@webkit.org>
Unreviewed attempt to fix the Chromium Linux build. This function is
not used.
* bindings/v8/OwnHandle.h:
2009-08-06 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
[V8] Teach ScheduledAction::execute about isolated worlds
https://bugs.webkit.org/show_bug.cgi?id=27703
We now save a weak handle to the original context. We use that handle
to call the timeout in the right context / world.
Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
http/tests/security/isolatedWorld/window-setTimeout-string.html
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::execute):
* bindings/v8/ScheduledAction.h:
(WebCore::ScheduledAction::ScheduledAction):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8Custom::WindowSetTimeoutImpl):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::SetTimeoutOrInterval):
2009-08-05 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
[V8] Revert http://trac.webkit.org/changeset/46821, which was
landed to supplement http://trac.webkit.org/changeset/46816, but
now that the latter is reverted, the former needs the same.
* bindings/v8/DOMObjectsInclude.h:
* bindings/v8/DerivedSourcesAllInOne.cpp:
* bindings/v8/V8Index.cpp:
* bindings/v8/V8Index.h:
2009-08-05 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Color is only reported in rgb() format; should toggle between rgb() and hex
https://bugs.webkit.org/show_bug.cgi?id=13516
New Class to Parse and Change Between Color Representations:
* inspector/front-end/Color.js: Added.
(WebInspector.Color):
Representations of Colors in Raw Form. (May be Lazy Loaded):
(WebInspector.Color.prototype.get shorthex):
(WebInspector.Color.prototype.get hex):
(WebInspector.Color.prototype.set hex):
(WebInspector.Color.prototype.get rgb):
(WebInspector.Color.prototype.set rgb):
(WebInspector.Color.prototype.get hsl):
(WebInspector.Color.prototype.set hsl):
(WebInspector.Color.prototype.get nickname):
(WebInspector.Color.prototype.set nickname):
(WebInspector.Color.prototype.get rgba):
(WebInspector.Color.prototype.set rgba):
(WebInspector.Color.prototype.get hsla):
(WebInspector.Color.prototype.set hsla):
Helpers and Standard String Representations:
(WebInspector.Color.prototype.hasShortHex):
(WebInspector.Color.prototype.toRgb):
(WebInspector.Color.prototype.toHsl):
(WebInspector.Color.prototype.toShortHex):
(WebInspector.Color.prototype.toHex):
(WebInspector.Color.prototype.toRgba):
(WebInspector.Color.prototype.toHsla):
(WebInspector.Color.prototype.toNickname):
Conversion Functions to Determine Other Representations:
My Sources for all algorithms and sample data:
Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space
CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color
(WebInspector.Color.prototype.rgbToHex):
(WebInspector.Color.prototype.hexToRgb):
(WebInspector.Color.prototype.rgbToHsl):
(WebInspector.Color.prototype.hslToRgb.hueToRgb):
(WebInspector.Color.prototype.hslToRgb):
(WebInspector.Color.prototype.rgbaToHsla):
(WebInspector.Color.prototype.hslaToRgba):
Called from the constructor, attempts to parse and will throw an error
if it cannot parse. If simple then the "hex" value is guarenteed.
If advanced then both the "rgba" and "hsla" are guarenteed. If it is
a nickname in any way (e.g. "transparent", "black") then this is
guarenteed to be set as well.
(WebInspector.Color.prototype.parse):
Clicking on the swatch will rotate through Color Representations.
Simple: rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around)
Advanced: rgba -> hsla -> nickname? -> (loop around)
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.):
(WebInspector.StylePropertyTreeElement.prototype.updateTitle):
Load Color.js:
* inspector/front-end/inspector.html:
2009-08-05 John Abd-El-Malek <jam@chromium.org>
Reviewed by Dimitri Glazkov.
Support setting event listeners for message ports in the worker process.
https://bugs.webkit.org/show_bug.cgi?id=28004
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::retrieve):
(WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
* bindings/v8/WorkerContextExecutionProxy.h:
* bindings/v8/custom/V8MessagePortCustom.cpp:
(WebCore::getEventListener):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
2009-08-05 Stephen White <senorblanco@chromium.org>
Reviewed by Dimitri Glazkov.
http://bugs.webkit.org/show_bug.cgi?id=28022
Minor fix for media code on chromium/skia.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
2009-08-05 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Client side image maps did not handle zoom correctly.
Client side image maps did not handle border and padding correctly.
Test: fast/images/image-map-zoom.html
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map
element using the content box and the effective zoom.
2009-08-05 Alexey Proskuryakov <ap@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=28027
<rdar://7064428> Files with accents in names are submitted incorrectly due to use of
precomposed Unicode
* platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
FileSystem.h instead of custom code for getting file size. This adds path normalization
necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
important anyway.
2009-08-05 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
[V8] Include Media into V8 bindings.
* bindings/v8/DOMObjectsInclude.h: Added Media include.
* bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include.
* bindings/v8/V8Index.cpp: Added decl for V8Media.
* bindings/v8/V8Index.h: Added V8Media include.
2009-08-04 Jon Honeycutt <jhoneycutt@apple.com>
Fix Windows layout test crashes.
PluginView::removeFromUnstartedListIfNecessary() would try to remove
any unstarted PluginView from the Page's set of unstarted plug-ins,
regardless of why the PluginView wasn't started. If we tried to start a
plug-in, but it failed to start, we would hit an assertion in
Page::removeUnstartedPlugin() that asserts that we would only modify the
unstarted plug-ins set if we were not currently starting plug-ins.
Fix this by having PluginView track whether it's waiting to be started,
and to check this before trying to remove itself from the Page's
unstarted plug-ins set.
Reviewed by Darin Adler.
* page/Page.cpp:
(WebCore::Page::removeUnstartedPlugin):
Assert that the passed PluginView is in the unstarted set.
* plugins/PluginView.cpp:
(WebCore::PluginView::start):
Set that we are not waiting to be started.
(WebCore::PluginView::startOrAddtoUnstartedList):
Set that we are waiting to be started.
(WebCore::PluginView::removeFromUnstartedListIfNecessary):
Check not whether we are started, but whether we are waiting to be
started.
(WebCore::PluginView::PluginView):
* plugins/PluginView.h:
2009-08-05 Jeremy Orlow <jorlow@chromium.org>
Fix DOM Storage memory leak
https://bugs.webkit.org/show_bug.cgi?id=28029
Forgot to use adoptRef in one place. This caused the = operator to
increment the ref count when it shouldn't have, so StorageAreaImpl's were
never freed.
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::storageArea):
2009-08-05 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
[Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted.
* bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType.
2009-08-05 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522
Last patch. Makes all the casts of RenderObject use checked
casts instead of using static_cast directly.
* accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::visibleChildren):
(WebCore::AccessibilityListBox::doAccessibilityHitTest):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::elementRect):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySliderThumb::elementRect):
* dom/InputElement.cpp:
(WebCore::InputElement::updatePlaceholderVisibility):
* dom/SelectElement.cpp:
(WebCore::SelectElement::scrollToSelection):
(WebCore::SelectElement::recalcStyle):
(WebCore::SelectElement::setRecalcListItems):
(WebCore::SelectElement::menuListDefaultEventHandler):
(WebCore::SelectElement::listBoxDefaultEventHandler):
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::renderWidgetForJSBindings):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::reset):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::attach):
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::defaultEventHandler):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::attach):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
(WebCore::HTMLInputElement::addSearchResult):
(WebCore::HTMLInputElement::onSearch):
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::parseMappedAttribute):
(WebCore::HTMLLIElement::attach):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
(WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
(WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
(WebCore::HTMLMediaElement::defaultEventHandler):
(WebCore::HTMLMediaElement::finishParsingChildren):
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::parseMappedAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultEventHandler):
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::capsLockStateMayHaveChanged):
* page/Frame.cpp:
(WebCore::Frame::ownerRenderer):
* page/FrameView.cpp:
(WebCore::FrameView::detachCustomScrollbars):
* page/wince/FrameWince.cpp:
(WebCore::computePageRectsForFrame):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally):
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlTimelineElement::defaultEventHandler):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::findNextLineBreak):
* rendering/RenderCounter.cpp:
(WebCore::planCounter):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::computeEdgeInfo):
(WebCore::RenderFrameSet::setIsResizing):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::contentsBox):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo):
* rendering/RenderListItem.cpp:
(WebCore::previousListItem):
(WebCore::RenderListItem::explicitValueChanged):
* rendering/RenderObject.cpp:
(WebCore::updateListMarkerNumbers):
* rendering/RenderObjectChildList.cpp:
(WebCore::updateListMarkerNumbers):
(WebCore::invalidateCountersInContainer):
* rendering/RenderScrollbarTheme.cpp:
(WebCore::RenderScrollbarTheme::minimumThumbLength):
(WebCore::RenderScrollbarTheme::backButtonRect):
(WebCore::RenderScrollbarTheme::forwardButtonRect):
(WebCore::RenderScrollbarTheme::trackRect):
(WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
(WebCore::RenderScrollbarTheme::paintScrollbarBackground):
(WebCore::RenderScrollbarTheme::paintTrackBackground):
(WebCore::RenderScrollbarTheme::paintTrackPiece):
(WebCore::RenderScrollbarTheme::paintButton):
(WebCore::RenderScrollbarTheme::paintThumb):
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::defaultEventHandler):
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::paintSliderThumb):
(WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::determineSliderThumbState):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::paintSliderThumb):
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::determineSliderThumbState):
* rendering/SVGCharacterLayoutInfo.cpp:
(WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
* rendering/SVGRootInlineBox.cpp:
(WebCore::findSVGRootObject):
* rendering/TextControlInnerElements.cpp:
(WebCore::RenderTextControlInnerBlock::nodeAtPoint):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::attach):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::canvasResource):
* svg/SVGTextContentElement.cpp:
(WebCore::rootInlineBoxForTextContentElement):
* wml/WMLInputElement.cpp:
(WebCore::WMLInputElement::defaultEventHandler):
Use checked casts.
* rendering/RenderApplet.h:
* rendering/RenderCounter.h:
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.h:
* rendering/RenderFrame.h:
* rendering/RenderFrameSet.h:
* rendering/RenderHTMLCanvas.h:
* rendering/RenderListBox.h:
* rendering/RenderListItem.h:
* rendering/RenderListMarker.h:
* rendering/RenderMedia.h:
* rendering/RenderMenuList.h:
* rendering/RenderPart.h:
* rendering/RenderPartObject.h:
* rendering/RenderPath.h:
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGRoot.h:
* rendering/RenderSVGTextPath.h:
* rendering/RenderSVGViewportContainer.h:
* rendering/RenderScrollbar.h:
* rendering/RenderSlider.h:
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.h:
* rendering/RenderVideo.h:
Added a checked cast. Also made most members protected or private.
* rendering/RenderBlock.h:
* rendering/RenderInline.h:
* rendering/RenderReplaced.h:
* rendering/RenderSVGBlock.h:
* rendering/RenderSVGImage.h:
* rendering/RenderSVGInlineText.h:
* rendering/RenderSVGText.h:
* rendering/RenderTextControl.h:
Made most members protected or private.
* rendering/RenderInline.cpp:
* rendering/RenderSVGContainer.cpp:
* rendering/RenderSVGHiddenContainer.cpp:
* rendering/RenderSVGImage.cpp:
* rendering/RenderSVGRoot.cpp:
Removed unneeded destructor.
* rendering/RenderSVGHiddenContainer.h:
Removed unneeded virtual function overrides that did the same as
the default and base class.
* rendering/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
directly instead of using a function call.
(WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
(WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
(WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
(WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.
* rendering/RenderScrollbar.cpp:
(WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
all values instead of using a default case.
* rendering/RenderTreeAsText.cpp:
(WebCore::operator<<): Removed dependency on casting to types that don't
have any public members we need to get at. Instead, use function names to
identify the type rather than doing so much overloading. Changed to use
checked casts.
(WebCore::write): Ditto.
* rendering/SVGRenderSupport.cpp:
(WebCore::renderSubtreeToImage): Changed to use a checked cast and also
added a comment about the fact that the code does not do sufficient type
checking before doing the cast.
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
(WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
(WebCore::writeSVGText): Renamed this from write.
(WebCore::writeSVGInlineText): Ditto.
(WebCore::writeSVGImage): Ditto.
* rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
unneeded default arguments.
2009-08-05 Peter Kasting <pkasting@google.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=27851
Fix a pair of compiler warnings on the GTK Linux buildbot.
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable.
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned.
2009-08-05 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26460
Return multiple icon entries from the ICO decoder as separate frames,
sorted by decreasing quality (much like the CG ICO decoder does).
As a result of this change, we can eliminate the Skia-specific setData()
hack that the Chromium port used to select the desired icon size -- now
callers can just enumerate the frames and ask for the data from the one
they like.
Under the hood, the ICO decoder now keeps vectors for a number of things
(including directory entries and image decoders) where it used to have
single members. However, callers (that I have seen) will only request
one frame from the icon, so practically there aren't going to be lots of
instantiated image decoders.
* platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
* platform/graphics/skia/ImageSourceSkia.cpp:
(WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
(WebCore::ImageSource::setData): Remove function to ask for a particular icon size.
* platform/graphics/skia/ImageSourceSkia.h: Removed.
* platform/graphics/wx/ImageSourceWx.cpp:
(WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
(WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
(WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
(WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling. Otherwise, use size from icon directory instead of PNG decoder (if applicable).
(WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
(WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
(WebCore::ICOImageDecoder::frameCount): Implement.
(WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
(WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
(WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
(WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
(WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
(WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
(WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
(WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
(WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.
* platform/image-decoders/ico/ICOImageDecoder.h:
2009-08-05 Szabo Carol <carol.szabo@nokia.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=27942
Test: fast/forms/select-reset-multiple-selections-4-single-selection.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::reset):
Added HTML 4.01 compliant handling of broken webpages that
specify more than one selected option for single selection SELECT
element, in a manner that emulates Firefox and is similar to IE 7
2009-08-05 Andras Becsi <becsi.andras@stud.u-szeged.hu>
Reviewed by Simon Hausmann.
WebCore.pro bugfix
Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer.
* WebCore.pro:
2009-08-05 Chris Fleizach <cfleizach@apple.com>
Fix Tiger build breakage.
* accessibility/mac/AccessibilityObjectWrapper.mm:
2009-08-04 Simon Hausmann <hausmann@webkit.org>
Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp
to both source files, HTMLTagNames.in and HTMLAttributeNames.in
* WebCore.pro:
2009-08-04 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adele Peterson.
Keypress should exit from pan scrolling mode.
https://bugs.webkit.org/show_bug.cgi?id=28005
Change the logic from only exiting pan scrolling on escape to exiting on any key press,
making it easier for users to back out of an accidental pan scroll.
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
2009-08-04 Eric Seidel <eric@webkit.org>
Reviewed by Simon Fraser.
REGRESSION (r45064): Drop caret remains in text control after the mouse exits
https://bugs.webkit.org/show_bug.cgi?id=26787
Add back missing dragController()->clear() call.
* manual-tests/drag-caret.html: Added.
* page/DragController.cpp:
(WebCore::DragController::tryDocumentDrag):
2009-08-04 Chris Fleizach <cfleizach@apple.com>
Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
https://bugs.webkit.org/show_bug.cgi?id=27994
Forgot to commit attribute names.
* html/HTMLAttributeNames.in:
2009-08-04 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
https://bugs.webkit.org/show_bug.cgi?id=27994
Test: platform/mac/accessibility/aria-valuetext.html
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::valueDescription):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::valueDescription):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
* html/HTMLAttributeNames.in:
2009-08-04 Michael Nordman <michaeln@google.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=27821
No new features, no new tests. Existing layout tests pass.
* WebCore.base.exp:
Export AppliationCacheGroup::storeCopyOfCache
* WebCore.xcodeproj/project.pbxproj:
Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers
instead of 'private' headers since they're no longer in the DocumentLoader.h
include graph.
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::insertedIntoDocument):
Reinstate the test for manifest.isNull instead of .isEmtpty().
Added a FIXME to revisit once the spec gets clarified.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::mainReceivedError):
(WebCore::DocumentLoader::detachFromFrame):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::applicationCacheHost):
ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
for compile time friendliness, it results in a smaller include graph for files
dependent on DocumentLoader.h.
* loader/FrameLoader.cpp:
* loader/MainResourceLoader.cpp:
* loader/ResourceLoader.cpp:
Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
This was done for readability at the include site. The included files contain appropriate guards,
so they're not needed at the include site.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
(WebCore::ApplicationCacheGroup::failedLoadingMainResource):
(WebCore::ApplicationCacheGroup::update):
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::manifestNotFound):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
(WebCore::ApplicationCacheGroup::startLoadingEntry):
(WebCore::CallCacheListenerTask::create):
(WebCore::CallCacheListenerTask::performTask):
(WebCore::CallCacheListenerTask::CallCacheListenerTask):
(WebCore::ApplicationCacheGroup::postListenerTask):
* loader/appcache/ApplicationCacheGroup.h:
Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache.
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::ApplicationCacheHost):
(WebCore::ApplicationCacheHost::setDOMApplicationCache):
(WebCore::ApplicationCacheHost::notifyEventListener):
(WebCore::ApplicationCacheHost::status):
* loader/appcache/ApplicationCacheHost.h:
(WebCore::ApplicationCacheHost::):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::storeCopyOfCache):
* loader/appcache/ApplicationCacheStorage.h:
Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods.
* loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::status):
(WebCore::DOMApplicationCache::addEventListener):
(WebCore::DOMApplicationCache::removeEventListener):
(WebCore::DOMApplicationCache::callListener):
(WebCore::DOMApplicationCache::toEventType):
(WebCore::DOMApplicationCache::toEventID):
* loader/appcache/DOMApplicationCache.h:
(WebCore::DOMApplicationCache::setAttributeEventListener):
(WebCore::DOMApplicationCache::getAttributeEventListener):
(WebCore::DOMApplicationCache::clearAttributeEventListener):
(WebCore::DOMApplicationCache::callEventListener):
(WebCore::DOMApplicationCache::setOnchecking):
(WebCore::DOMApplicationCache::onchecking):
(WebCore::DOMApplicationCache::setOnerror):
(WebCore::DOMApplicationCache::onerror):
(WebCore::DOMApplicationCache::setOnnoupdate):
(WebCore::DOMApplicationCache::onnoupdate):
(WebCore::DOMApplicationCache::setOndownloading):
(WebCore::DOMApplicationCache::ondownloading):
(WebCore::DOMApplicationCache::setOnprogress):
(WebCore::DOMApplicationCache::onprogress):
(WebCore::DOMApplicationCache::setOnupdateready):
(WebCore::DOMApplicationCache::onupdateready):
(WebCore::DOMApplicationCache::setOncached):
(WebCore::DOMApplicationCache::oncached):
(WebCore::DOMApplicationCache::setOnobsolete):
(WebCore::DOMApplicationCache::onobsolete):
Use ApplicationCachHost defined constants for Status and EventIDs.
2009-08-04 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Revert r46421 and r46769, which appear to have totally hosed the v8 bindings.
https://bugs.webkit.org/show_bug.cgi?id=27719
* bindings/v8/V8AbstractEventListener.cpp: Revert r46421.
(WebCore::V8AbstractEventListener::invokeEventHandler):
* bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769.
(WebCore::ACCESSOR_GETTER):
2009-08-04 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 27993 - AXSliders are missing required attributes and actions
https://bugs.webkit.org/show_bug.cgi?id=27993
Expose appropriate actions and attributes for sliders.
Test: platform/mac/accessibility/slider-supports-actions.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::orientation):
* accessibility/AccessibilityObject.h:
(WebCore::):
* accessibility/AccessibilitySlider.cpp:
(WebCore::AccessibilitySlider::orientation):
* accessibility/AccessibilitySlider.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityActionNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2009-08-04 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
[V8] Fix an assert in WebCoreStringResource that causes worker script
evaluation failed.
https://bugs.webkit.org/show_bug.cgi?id=27996
The fix is to check for the same thread, instead of the main thread.
This is because Chromium's workers use v8 in a single thread that is
not the main thread.
* bindings/v8/V8Binding.cpp:
(WebCore::WebCoreStringResource::WebCoreStringResource):
(WebCore::WebCoreStringResource::~WebCoreStringResource):
(WebCore::WebCoreStringResource::atomicString):
2009-08-04 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Add support for transitions/animations of text-indent.
Test: transitions/text-indent-transition.html
* page/animation/AnimationBase.cpp:
(WebCore::ensurePropertyMap):
2009-08-04 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Add support for transitions of min- and max-width, and min- and max-height.
https://bugs.webkit.org/show_bug.cgi?id=27990
Test: transitions/min-max-width-height-transitions.html
* page/animation/AnimationBase.cpp:
(WebCore::ensurePropertyMap):
2009-08-04 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 27964 - WAI-ARIA: radio button does not determine its label from text content
https://bugs.webkit.org/show_bug.cgi?id=27964
ARIA radio buttons also need to use the text inside of them, like buttons and other roles.
Also fixed an issue where an extra space was being appended to some ARIA labels.
Test: platform/mac/accessibility/aria-radiobutton-text.html
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::ariaAccessibilityName):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::ariaAccessibilityName):
(WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
* accessibility/AccessibilityRenderObject.h:
2009-08-04 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Missed a place that expects window.event to be hidden when it shouldn't be.
https://bugs.webkit.org/show_bug.cgi?id=27719
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::ACCESSOR_GETTER): window.event is no longer hidden.
2009-08-03 Chris Fleizach <cfleizach@apple.com>
Reviewed by Jon Honeycutt.
Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
https://bugs.webkit.org/show_bug.cgi?id=27958
Test: platform/mac/accessibility/aria-required.html
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isRequired):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isRequired):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeNames]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
* html/HTMLAttributeNames.in:
2009-08-04 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Simon Hausmann.
Add QWebPluginDatabase API to the Qt API.
https://bugs.webkit.org/show_bug.cgi?id=27651
* WebCore.pro:
2009-08-04 Ariya Hidayat <ariya.hidayat@nokia.com>
Reviewed by Adam Treat.
[Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken
(as it is the closest match) instead of CompositionMode_SourceOver.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::toQtCompositionMode):
2009-08-04 Christian Plesner Hansen <christian.plesner.hansen@gmail.com>
Reviewed by Adam Barth.
[v8] Fix crash when converting empty v8 string to atomic webkit string.
https://bugs.webkit.org/show_bug.cgi?id=27975
collection-null-like-arguments.html tests for this.
* bindings/v8/V8Binding.cpp:
(WebCore::v8StringToAtomicWebCoreString):
2009-08-04 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
selectionHasStyle needs clean up to fix Bug 27858
https://bugs.webkit.org/show_bug.cgi?id=27865
This patch cleans up selectionStartHasStyle and selectionHasStyle.
No test is added because the patch does not change any behavior.
* editing/ApplyStyleCommand.cpp:
(WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well
* editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle
* editing/Editor.cpp:
(WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style.
(WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle
(WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState
2009-08-03 John Abd-El-Malek <jam@chromium.org>
Reviewed by David Levin.
Fix MessagePort construction in worker process. Also make the other object constructions match this.
https://bugs.webkit.org/show_bug.cgi?id=27906
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertToV8Object):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::ToV8Object):
2009-08-03 Christian Plesner Hansen <christian.plesner.hansen@gmail.com>
Reviewed by David Levin.
[V8] Cache atomic strings in externalized v8 strings
https://bugs.webkit.org/show_bug.cgi?id=27762
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8Binding.cpp:
(WebCore::WebCoreStringResource::WebCoreStringResource):
(WebCore::WebCoreStringResource::~WebCoreStringResource):
(WebCore::WebCoreStringResource::data):
(WebCore::WebCoreStringResource::length):
(WebCore::WebCoreStringResource::webcoreString):
(WebCore::WebCoreStringResource::atomicString):
(WebCore::WebCoreStringResource::toStringResource):
(WebCore::v8StringToWebCoreString):
(WebCore::v8StringToAtomicWebCoreString):
(WebCore::v8ValueToWebCoreString):
(WebCore::v8ValueToAtomicWebCoreString):
* bindings/v8/V8Binding.h:
(WebCore::):
* dom/Document.idl:
2009-08-03 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Inspector: DOM Storage Live Updating Should Not Affect Tabbing
https://bugs.webkit.org/show_bug.cgi?id=27957
* inspector/front-end/DOMStorageDataGrid.js:
(WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener
(WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener
(WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener
* inspector/front-end/DatabasesPanel.js:
(WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener
2009-08-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Eric Seidel.
[Qt] Consolidate common gcc flags to WebKit.pri
https://bugs.webkit.org/show_bug.cgi?id=27934
* WebCore.pro:
2009-08-03 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
Chromium code sometimes isn't sandboxed and needs to access the FS.
https://bugs.webkit.org/show_bug.cgi?id=27954
These changes are the WebKit side of http://codereview.chromium.org/159778 which
aims to make LocalStorage persistent.
This change runs all FileSystem routines through the ChromiumBridge so that
WebKitClients can handle them if they choose to. For now, the only such client
will be the one running in the browser process.
It also adds a method called sandboxEnabled to the Chromium bridge so that the
SQLite file system code can shift its behavior depending on whether we're
inside a sandbox or not.
* platform/chromium/ChromiumBridge.h:
* platform/chromium/FileSystemChromium.cpp:
(WebCore::deleteFile):
(WebCore::deleteEmptyDirectory):
(WebCore::getFileModificationTime):
(WebCore::directoryName):
(WebCore::pathByAppendingComponent):
(WebCore::makeAllDirectories):
(WebCore::fileExists):
* platform/sql/chromium/SQLiteFileSystemChromium.cpp:
(WebCore::SQLiteFileSystem::openDatabase):
* platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
(WebCore::SQLiteFileSystem::registerSQLiteVFS):
2009-08-03 Alpha Lam <hclam@chromium.org>
Reviewed by David Levin.
[chromium] Implement media slider for chromium
https://bugs.webkit.org/show_bug.cgi?id=27859
Implemented the media slider for chromium port. The implementation
is using Skia for drawing the thumb and buffered region instead of
using any native system controls so different platforms would have
the same look and feel.
No new tests because this is covered by existing tests.
* css/mediaControlsChromium.css:
* rendering/RenderThemeChromiumSkia.cpp:
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeChromiumWin.cpp:
2009-07-27 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26460
Plumbing and cleanup in advance of returning multiple frames from the
ICOImageDecoder:
* Make ImageDecoder::frameCount() return a size_t like
ImageSource::frameCount() and BitmapImage::frameCount() already do.
* Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
size of a particular frame. Hook all the
ImageSource::frameSizeAtIndex() implementations to this. No
ImageDecoder implements this yet; that will come in my next change.
* platform/graphics/cairo/ImageSourceCairo.cpp:
(WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::frameCount): returns size_t.
* platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t.
* platform/graphics/qt/ImageSourceQt.cpp:
(WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
* platform/graphics/skia/ImageSourceSkia.cpp:
(WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
* platform/graphics/win/ImageCGWin.cpp:
(WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
* platform/graphics/win/ImageCairoWin.cpp:
(WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
* platform/graphics/wx/ImageSourceWx.cpp:
(WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::size): Clarify comment.
(WebCore::ImageDecoder::frameSizeAtIndex): Add.
(WebCore::ImageDecoder::frameCount): returns size_t.
(WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::frameCount): returns size_t.
(WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t.
* platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t.
2009-08-03 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Darin Adler.
Fix a bug that could cause an ASSERT to fail incorrectly, leading
to a renderer crash in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=27947
All tests in storage/ pass.
* platform/sql/SQLiteTransaction.cpp:
(WebCore::SQLiteTransaction::~SQLiteTransaction):
(WebCore::SQLiteTransaction::begin):
2009-08-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Simon Hausmann.
Based on work by Yael Aharon.
Implement keyboard event forwarding for windowless plugins
for the Qt port.
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::setSharedXEventFields):
(WebCore::setXKeyEventSpecificFields):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
2009-08-03 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Inspector: Make Bottom "Drawer" More Extensible To Support Other Views
https://bugs.webkit.org/show_bug.cgi?id=27928
* English.lproj/localizedStrings.js:
"Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes"
* inspector/front-end/ChangesView.js: Added.
(WebInspector.ChangesView):
(WebInspector.ChangesView.prototype._clearButtonClicked):
(WebInspector.ChangesView.prototype._toggleChangesButtonClicked):
(WebInspector.ChangesView.prototype.attach):
(WebInspector.ChangesView.prototype.show):
(WebInspector.ChangesView.prototype.hide):
To be a new view to show Changes made via the inspector. DOM, CSS, or otherwise.
* inspector/front-end/Console.js: Removed.
Sliding View aspect moved to Drawer.js. The "console" itself has moved to ConsoleView.js
* inspector/front-end/ConsoleView.js: Added.
Little has changed from its move from Console.js other then support for working with the Drawer.
* inspector/front-end/Drawer.js: Added.
(WebInspector.Drawer):
(WebInspector.Drawer.prototype.get visibleView):
(WebInspector.Drawer.prototype.set visibleView):
(WebInspector.Drawer.prototype.show.animationFinished):
(WebInspector.Drawer.prototype.show):
(WebInspector.Drawer.prototype.hide.animationFinished):
(WebInspector.Drawer.prototype.hide):
(WebInspector.Drawer.prototype._safelyRemoveChildren):
(WebInspector.Drawer.prototype._startStatusBarDragging):
(WebInspector.Drawer.prototype._statusBarDragging):
(WebInspector.Drawer.prototype._endStatusBarDragging):
Allow for multiple views inside the Sliding Drawer.
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype.renameSelector):
(WebInspector.ElementsPanel.prototype.addStyleChange):
(WebInspector.ElementsPanel.prototype.removeStyleChange):
(WebInspector.ElementsPanel.prototype.generateStylesheet):
Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector.
* inspector/front-end/Images/styleIcon.png: Added.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
(WebInspector.StylePropertyTreeElement.prototype):
Interface with ElementsPanel for generating a Stylesheet of Changes.
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer.
* inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer.
* inspector/front-end/inspector.js:
(WebInspector.get styleChanges):
(WebInspector.set styleChanges):
(WebInspector._updateChangesCount):
(WebInspector.loaded):
(WebInspector.documentKeyDown):
(WebInspector.showConsole):
(WebInspector.showChanges):
Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons.
2009-08-03 Dean McNamee <deanm@chromium.org>
Reviewed by Adam Barth.
Correct an assert on a PassRefPtr in the v8 svg bindings.
https://bugs.webkit.org/show_bug.cgi?id=27951
* bindings/v8/V8SVGPODTypeWrapper.h:
(WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
2009-08-03 Dirk Pranke <dpranke@chromium.org>
Reviewed by Sam Weinig.
Fix for https://bugs.webkit.org/show_bug.cgi?id=27748
crash w/ stack overflow when same CSS file loaded repeatedly
Fix crash caused by a stack overflow when repeatedly loading very large
CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself
recursively rather than iteratively.
Test: fast/css/large-list-of-rules-crash.html
* css/CSSStyleSelector.h:
(WebCore::CSSRuleData::~CSSRuleData):
(WebCore::CSSRuleDataList::~CSSRuleDataList):
2009-08-03 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Make the DRT APIs to pause transitions and animations work for accelerated animations
<https://bugs.webkit.org/show_bug.cgi?id=27627>
<rdar://problem/6442932>
Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
available to LayoutTests to work with accelerated animations and transitions. Done by sending
the pause time down to the GraphicsLayer, and using it to stop time on the layer.
I also added an assertion to check that the animation has actually started when we
try to pause it, to check that the pause time we compute is valid. This revealed a number
of tests that tried to pause before animations started, required some amount of test fixing.
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::freezeAtTime):
* page/animation/AnimationBase.h:
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::pauseAnimationAtTime):
(WebCore::CompositeAnimation::pauseTransitionAtTime):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::suspendAnimations):
* platform/graphics/GraphicsLayer.h:
* platform/graphics/mac/GraphicsLayerCA.h:
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::suspendAnimations):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::suspendAnimations):
* rendering/RenderLayerBacking.h:
2009-08-03 Tony Chang <tony@chromium.org>
Reviewed by Darin Adler.
Fix Chromium build by removing PluginView.h from Page.cpp.
Chromium doesn't use PluginView and the pointer is never
dereferenced so the header doesn't need to be included.
https://bugs.webkit.org/show_bug.cgi?id=27946
No new tests because this is a build fix.
* page/Page.cpp:
2009-08-03 Eric Carlson <eric.carlson@apple.com>
One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
Unreviewed.
* WebCoreSources.bkl:
2009-08-03 Eric Carlson <eric.carlson@apple.com>
Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
Unreviewed.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
2009-08-03 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 27943: Need to implement ARIA role="radiogroup"
https://bugs.webkit.org/show_bug.cgi?id=27943
Test: platform/mac/accessibility/aria-radiogroup.html
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isRadioGroup):
(WebCore::AccessibilityObject::selectedRadioButton):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::selectedRadioButton):
(WebCore::RoleEntry::):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper roleDescription]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2009-08-03 Eric Carlson <eric.carlson@apple.com>
Reviewed by Eric Seidel.
HTMLInputElement is not controllable by assistive technologies
https://bugs.webkit.org/show_bug.cgi?id=27941
Test: accessibility/input-slider.html
* WebCore.xcodeproj/project.pbxproj:
Add AccessibilitySlider.cpp/.h
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::getOrCreate):
Create AccessibilitySlider and AccessibilitySliderThumb.
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::increment):
(WebCore::AccessibilityObject::decrement):
Add default, do nothing, base class methods.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::canSetFocusAttribute):
Correct typo.
* accessibility/AccessibilitySlider.cpp: Added.
(WebCore::AccessibilitySlider::AccessibilitySlider):
(WebCore::AccessibilitySlider::create):
(WebCore::AccessibilitySlider::children):
(WebCore::AccessibilitySlider::addChildren):
(WebCore::AccessibilitySlider::getAttribute):
(WebCore::AccessibilitySlider::valueForRange):
(WebCore::AccessibilitySlider::maxValueForRange):
(WebCore::AccessibilitySlider::minValueForRange):
(WebCore::AccessibilitySlider::changeValue):
(WebCore::AccessibilitySlider::setValue):
(WebCore::AccessibilitySlider::increment):
(WebCore::AccessibilitySlider::decrement):
(WebCore::AccessibilitySlider::element):
(WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
(WebCore::AccessibilitySliderThumb::create):
(WebCore::AccessibilitySliderThumb::elementRect):
(WebCore::AccessibilitySliderThumb::size):
* accessibility/AccessibilitySlider.h: Added.
(WebCore::AccessibilitySlider::~AccessibilitySlider):
(WebCore::AccessibilitySlider::roleValue):
(WebCore::AccessibilitySlider::accessibilityIsIgnored):
(WebCore::AccessibilitySlider::isSlider):
(WebCore::AccessibilitySlider::canSetValueAttribute):
(WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
(WebCore::AccessibilitySliderThumb::roleValue):
(WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
(WebCore::AccessibilitySliderThumb::setParentObject):
(WebCore::AccessibilitySliderThumb::parentObject):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(RoleEntry::):
SliderThumbRole -> NSAccessibilityValueIndicatorRole
(-[AccessibilityObjectWrapper roleDescription]):
Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole.
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
Minor coding style correction.
(-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
If attachement view handles press action, don't also call object wrapper.
(-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
New, call object's increment() method.
(-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
New, call object's decrement() method.
(-[AccessibilityObjectWrapper accessibilityPerformAction:]):
Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction.
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::thumbRect):
Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size.
(WebCore::RenderSlider::layout):
Move code to thumbRect().
* rendering/RenderSlider.h:
2009-08-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Eric Seidel.
Build fix if Netscape plugin support is turned off
https://bugs.webkit.org/show_bug.cgi?id=27940
* plugins/PluginView.cpp:
(WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is
disabled
* plugins/PluginViewNone.cpp:
(WebCore::PluginView::platformStart): Empty stub.
2009-07-31 Joe Mason <joe.mason@torchmobile.com>
Reviewed by George Staikos.
WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE
https://bugs.webkit.org/show_bug.cgi?id=27917
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx
2009-08-02 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext()
https://bugs.webkit.org/show_bug.cgi?id=27932
There's no reason to pay for a virtual function call in this case. We
can just call document() directly because we know that element is a
Node*.
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::scriptExecutionContext):
2009-08-02 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
JSNodeCustom should call document() instead of scriptExecutionContext()
https://bugs.webkit.org/show_bug.cgi?id=27931
We want to call document() because it's in inline function, instead of
scriptExecutionContext() because it's a virtual function. If we have a
Node*, then we know that the virtual function will always return the
document anyway.
There are more instance of this bug, but I'd like to start with a small
patch and work up.
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::toJSDOMGlobalObject):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::addEventListener):
(WebCore::JSNode::removeEventListener):
2009-08-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Anders Carlsson.
Share implementation of PluginView::userAgent() and userAgentStatic()
https://bugs.webkit.org/show_bug.cgi?id=27706
Differences to the original implementation are as follows:
- The Win port used to return 0 for userAgentStatic, but now
returns the quirk mode MozillaUserAgent as the other ports.
* plugins/PluginView.cpp:
(WebCore::PluginView::userAgent):
(WebCore::PluginView::userAgentStatic):
* plugins/PluginViewNone.cpp:
* plugins/gtk/PluginViewGtk.cpp:
* plugins/mac/PluginViewMac.cpp:
* plugins/qt/PluginViewQt.cpp:
* plugins/win/PluginViewWin.cpp:
2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Anders Carlsson.
Unregister plugin from PluginMainThreadScheduler if NPP_New fails
https://bugs.webkit.org/show_bug.cgi?id=27706
Since the plugin has not been started yet (m_isStarted is not set),
calling stop() will not have any affect, so we manually unregister
in start() before returning.
* plugins/PluginView.cpp:
(WebCore::PluginView::start):
2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Anders Carlsson.
Join the various versions of PluginView::stop() into one shared implementation
https://bugs.webkit.org/show_bug.cgi?id=27706
The platform-dependent bits are now ifdef'ed in the shared implementation,
using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h
Differences to the original implementation are as follows:
- The Qt port unregistered the plugin before calling NP_SetWindow
with a 0 window handle. Now it's done after (similar to Win)
- The GTK and Qt ports unregistered the plugin before clearing
the m_npWindow.ws_info struct. Now it's done after.
- The Win port constructed the DropAllLocks after unsubclassing
the window. Now it's done before.
- The Mac, Qt, and GTK ports did not pass a NPSavedData struct
to NP_Destroy (like the Win port). Now all ports do.
- The Win port did not call PluginView::setCurrentPluginView()
before calling to NP-functions. Now it does.
* plugins/PluginView.cpp:
* plugins/PluginViewNone.cpp:
* plugins/gtk/PluginViewGtk.cpp:
* plugins/mac/PluginViewMac.cpp:
* plugins/qt/PluginViewQt.cpp:
* plugins/win/PluginViewWin.cpp:
2009-07-30 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Inspector: let me *edit* css styles in the web inspector.
https://bugs.webkit.org/show_bug.cgi?id=27124
* English.lproj/localizedStrings.js:
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.update): handle blank sections
(WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position
(WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertiesSection.prototype.expand):
(WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
(WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
(WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
(WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties
(WebInspector.StylePropertiesSection.prototype._dblclickSelector):
(WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
(WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node
(WebInspector.BlankStylePropertiesSection.prototype._dblclick):
(WebInspector.BlankStylePropertiesSection.prototype.startEditing):
(WebInspector.BlankStylePropertiesSection.prototype.editingCancelled):
(WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
(WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection
(WebInspector.StylePropertyTreeElement.prototype):
(WebInspector.StylePropertyTreeElement.prototype.):
* inspector/front-end/inspector.css:
2009-07-31 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
[v8] check if proxy is present before invoking a handler
https://bugs.webkit.org/show_bug.cgi?id=27883
Do not invoke handler function if proxy is null pointer (that would lead to access violation
anyway)
* bindings/v8/custom/V8CustomEventListener.cpp:
(WebCore::V8EventListener::callListenerFunction):
2009-08-01 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Reimplement Elements Panel so that its
interaction with DOM is serialized.
This is a first cut wuth read support for DOM elements
tree as well as some limited editing. No properties, no
styles, no search capabilities are implemented yet.
Set Preferences.useDOMAgent to true in order to try it
out, otherwise disabled by default.
https://bugs.webkit.org/show_bug.cgi?id=27771
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::getChildNodes):
(WebCore::InspectorBackend::setAttribute):
(WebCore::InspectorBackend::removeAttribute):
(WebCore::InspectorBackend::setTextNodeValue):
* inspector/InspectorBackend.h:
* inspector/InspectorBackend.idl:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::windowScriptObjectAvailable):
(WebCore::InspectorController::setFrontendProxyObject):
(WebCore::InspectorController::close):
(WebCore::InspectorController::populateScriptObjects):
(WebCore::InspectorController::didCommitLoad):
* inspector/InspectorController.h:
(WebCore::InspectorController::domAgent):
* inspector/InspectorDOMAgent.cpp: Added.
* inspector/InspectorDOMAgent.h: Added.
* inspector/InspectorFrontend.cpp:
* inspector/InspectorFrontend.h:
* inspector/front-end/Callback.js: Added.
* inspector/front-end/DOMAgent.js: Added.
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.loaded):
2009-08-01 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Adele Peterson.
isContentEditable function in htmlediting.* must be removed
https://bugs.webkit.org/show_bug.cgi?id=27870
This patch removes isContentEditable function in htmlediting.cpp and
replaces all usage by calling Node::isContentEditable or its derivatives.
* editing/AppendNodeCommand.cpp: ditto
(WebCore::AppendNodeCommand::AppendNodeCommand): ditto
* editing/IndentOutdentCommand.cpp: ditto
(WebCore::IndentOutdentCommand::outdentParagraph): ditto
* editing/InsertNodeBeforeCommand.cpp: ditto
(WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto
* editing/htmlediting.cpp: ditto
(WebCore::enclosingNodeWithTag): ditto
(WebCore::enclosingNodeOfType): ditto
(WebCore::canMergeLists): ditto
* editing/htmlediting.h: Updated prototype
2009-08-01 John Abd-El-Malek <jam@chromium.org>
Reviewed by Adam Barth.
Fix a message port handle always getting marked as reachable once it gets entangled.
https://bugs.webkit.org/show_bug.cgi?id=27824
No tests since this only arises with the Chromium multi-process message port implementation
which isn't in this repostiory.
* bindings/v8/V8GCController.cpp:
(WebCore::GCEpilogueVisitor::visitDOMWrapper):
2009-07-31 Yong Li <yong.li@torchmobile.com>
Reviewed by Adam Barth.
Fix Geolocation permission problem
https://bugs.webkit.org/show_bug.cgi?id=26993
* page/Geolocation.cpp:
(WebCore::Geolocation::requestPermission):
2009-07-31 Norbert Leser <norbert.leser@nokia.com>
Reviewed by Eric Seidel.
Added project properties as needed by symbian platform
* WebCore.pro:
2009-07-31 Xan Lopez <xlopez@igalia.com>
Reviewed by Holger Freyther.
Fix compiler warning.
Initialize member variables in the correct order.
* plugins/PluginView.cpp:
(WebCore::PluginView::PluginView):
2009-07-31 Jon Honeycutt <jhoneycutt@apple.com>
Windows build fix!
Unreviewed.
* page/win/PageWin.cpp:
2009-07-31 Jon Honeycutt <jhoneycutt@apple.com>
Mac build fix.
Unreviewed.
* page/Page.cpp:
Move setCanStartPlugins() from here...
* page/win/PageWin.cpp:
(WebCore::Page::setCanStartPlugins):
... to here.
2009-07-29 Jon Honeycutt <jhoneycutt@apple.com>
<rdar://problem/5698113> Safari shouldn't auto-activate plug-ins in
background tabs (make Win consistent with Mac)
https://bugs.webkit.org/show_bug.cgi?id=27855
Reviewed by Anders Carlsson.
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin):
Declare a new function to dispatch failures to start plug-ins.
* page/Page.cpp:
(WebCore::Page::Page):
Initialize new member variable.
(WebCore::Page::addUnstartedPlugin):
Add the PluginView to the set of unstarted plug-ins.
(WebCore::Page::removeUnstartedPlugin):
Remove the PluginView from the set of unstarted plug-ins.
(WebCore::Page::setCanStartPlugins):
If we can now start plug-ins, iterate the set of unstarted plug-ins,
starting them. If a plug-in fails to start, dispatch a failed-to-start-
plug-in error. Clear the list of unstarted plug-ins.
* page/Page.h:
Added m_canStartPlugins to track whether we can currently start
plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the
page that are waiting to be started.
(WebCore::Page::canStartPlugins):
* plugins/PluginView.cpp:
(WebCore::PluginView::start):
m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New()
fails, set m_status to reflect this; this used to be set by init(), but
start() will not be called by init() if we are delaying start().
If NPP_New() succeeds, set m_status to reflect this, and call
platformStart().
(WebCore::PluginView::startOrAddToUnstartedList):
If we cannot start plug-ins, add this view to the Page's list of
unstarted plug-ins and return true. Otherwise, call start() and return
the result.
(WebCore::PluginView::removeFromUnstartedListIfNecessary):
If we've been started or we don't have a Page, return early. Remove
ourselves from the Page's list of unstarted plug-ins.
(WebCore::PluginView::bindingInstance):
If we haven't been started yet, return 0. This matches the Mac
behavior.
(WebCore::PluginView::setParameters):
If we find the "plug-ins page" parameter, record it; it may be used if
we fail to start the plug-in.
(WebCore::PluginView::PluginView):
Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType
with mimeType directly; m_mimeType is now a WebCore::String.
* plugins/PluginView.h:
Made start() public, so Page can call it when we start unstarted
plug-ins. Changed m_mimeType from CString to String and added
m_pluginsPage; these are needed by dispatchDidFailToStartPlugin().
(WebCore::PluginView::pluginsPage):
Added for dispatchDidFailToStartPlugin().
(WebCore::PluginView::mimeType):
Ditto.
(WebCore::PluginView::url):
Ditto.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::platformStart):
Stubbed.
* plugins/mac/PluginViewMac.cpp:
(WebCore::PluginView::platformStart):
Stubbed.
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::platformStart):
Stubbed.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::updatePluginWidget):
Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow()
and SetWindowRgn() to position the plug-in and set its clip rect if an
earlier call to updatePluginWidget() was made before
setPlatformPluginWidget() was called to set the plug-in's HWND.
(WebCore::PluginView::~PluginView):
Call removeFromUnstartedListIfNecessary() to remove the plug-in from
the unstarted list if the plug-in is destroyed before it is started.
(WebCore::PluginView::init):
Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins
cannot be started, to add it to the list of plug-ins waiting to be
started. Set m_status to indicate success; this is also set by start(),
but that may be delayed, and we don't want the loader to dispatch a
failed-to-start-plug-in error when we return from init().
(WebCore::PluginView::platformStart):
Added; code moved from init(). This is now called by start() to perform
any platform-specific tasks that need to take place after the plug-in
has started. Added a call to updatePluginWidget() to ensure we position
the plug-in and set its clip rect after the plug-in has started.
Removed the setting of m_status; start() does this before calling this
function (and we assert this at the head of the function).
2009-07-30 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522
Next step: Add casts for all the RenderTable classes and use them everywhere.
Also added a few uses in places that were still using static_cast.
Also made some virtual member functions private.
Also changed RenderTable::m_tableLayout to use OwnPtr.
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::cellForColumnAndRow):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):
(WebCore::AccessibilityTableCell::titleUIElement):
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::headerObject):
* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::parentTable):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeNode):
* editing/TextIterator.cpp:
(WebCore::shouldEmitTabBeforeNode):
(WebCore::shouldEmitNewlinesBeforeAndAfterNode):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::parseMappedAttribute):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::parseMappedAttribute):
* page/Frame.cpp:
(WebCore::Frame::searchForLabelsAboveCell):
* page/mac/FrameMac.mm:
(WebCore::Frame::searchForNSLabelsAboveCell):
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::fullRecalc):
(WebCore::shouldScaleColumns):
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::calcPrefWidths):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcPercentageHeight):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addChild):
(WebCore::RenderObject::containingBlock):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::collapsedBottomBorder):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::table):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild):
(WebCore::RenderTableRow::layout):
(WebCore::RenderTableRow::paint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::lowestPosition):
(WebCore::RenderTableSection::rightmostPosition):
(WebCore::RenderTableSection::leftmostPosition):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::recalcCells):
* rendering/RenderTreeAsText.cpp:
(WebCore::operator<<):
(WebCore::writeTextRun):
Use checked casts.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
(WebCore::RenderTable::addChild): Use checked cast.
(WebCore::RenderTable::layout): Ditto.
(WebCore::RenderTable::setCellWidths): Ditto.
(WebCore::RenderTable::paintObject): Ditto.
(WebCore::RenderTable::splitColumn): Ditto.
(WebCore::RenderTable::appendColumn): Ditto.
(WebCore::RenderTable::colElement): Ditto.
(WebCore::RenderTable::recalcSections): Ditto.
(WebCore::RenderTable::outerBorderBottom): Ditto.
(WebCore::RenderTable::outerBorderLeft): Ditto.
(WebCore::RenderTable::outerBorderRight): Ditto.
(WebCore::RenderTable::sectionAbove): Ditto.
(WebCore::RenderTable::sectionBelow): Ditto.
* rendering/RenderTable.h: Added checked cast. Made virtual
functions private. Changed m_tableLayout to be a OwnPtr.
* rendering/RenderTableCell.h: Added checked cast.
* rendering/RenderTableCol.h: Ditto. Made virtual functions private.
* rendering/RenderTableRow.h: Ditto.
* rendering/RenderTableSection.h: Ditto.
2009-07-31 Brady Eidson <beidson@apple.com>
Reviewed by John Sullivan.
<rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896
Favicons are still loaded when automatic image loading is disabled.
People who want to avoid loading images generally want to avoid loading all images.
Test: http/tests/misc/favicon-loads-with-images-disabled.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually
perform the load if images shouldn't be loading.
2009-07-31 Simon Fraser <simon.fraser@apple.com>
Reviewed by Anders Carlsson.
Accelerated animations stutter on pages with lots of animations and 3d transforms
https://bugs.webkit.org/show_bug.cgi?id=27884
This patch changes the strategy for synchronizing painting view the view,
and compositing layer updates. Previously the strategy was to disable screen
updates between the time we updated the layer tree, and painted the view. That
left screen updates disabled for too long (hundreds of milliseconds) in some
cases, causing animation stutter.
The new strategy is to batch up changes to the CA layer tree, and commit them
all at once just before painting happens (referred to as a "sync" in the code).
GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
the values stored in GraphicsLayer into the CA layer tree at commit time.
Compositing layers are then synced in FrameView::paintContents(). However, not
all style/layout changes will result in painting; to deal with style changes that
touch only compositing properties, we set up a runloop observer that takes care
of comitting layer changes when no painting happens.
* WebCore.base.exp: Export FrameView::syncCompositingStateRecursive()
* loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
* page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the
view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not
sync and returns false, since we only want to sync when layout is done.
(WebCore::FrameView::paintContents): syncCompositingState() before painting.
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::endAnimation):
Call animationPaused() to notify the graphics layers about animation pausing.
* platform/graphics/FloatPoint3D.h:
(WebCore::operator==):
(WebCore::operator!=):
Add missing comparison operators.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setOpacity):
(WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info.
(WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client.
* platform/graphics/GraphicsLayer.h:
(WebCore::AnimationValue:):
(WebCore::TransformAnimationValue:):
(WebCore::KeyframeValueList:):
(WebCore::KeyframeValueList::insert):
Cleaned up versions of FloatValue and TransformValue, used to store information
about keyframes values.
(WebCore::GraphicsLayer::contentsRect):
(WebCore::GraphicsLayer::setContentsRect):
ContentsRect is now a simple setter.
(WebCore::GraphicsLayer::addAnimation):
(WebCore::GraphicsLayer::removeAnimationsForProperty):
(WebCore::GraphicsLayer::removeAnimationsForKeyframes):
(WebCore::GraphicsLayer::pauseAnimation):
Simplified animation api.
(WebCore::GraphicsLayer::setGeometryOrientation):
(WebCore::GraphicsLayer::geometryOrientation):
setGeometryOrientation is now just a normal member variable.
(WebCore::GraphicsLayer::contentsOrientation): add a getter.
(WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code.
* platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive)
* platform/graphics/mac/GraphicsLayerCA.h:
* platform/graphics/mac/GraphicsLayerCA.mm:
Lots of cleanup and refactoring. Main points:
- Layer changes are all batched, and only committed to the CA layer on syncCompositingState().
- Bitmask is used to store which properties have changed. More efficient than before.
- Simpler animation interface; simple setters are no longer confounded with animations.
- Refactored code that creates CA animations, and stores which animations are running.
* platform/graphics/transforms/TransformOperations.h:
(WebCore::TransformOperations::size):
(WebCore::TransformOperations::at): Useful accessors for size and indexed access.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerBacking.cpp:
Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's
contentsLayer.
Adapt to GraphicsLayer's simpler animation API.
Pass animation pausing through to the graphics layers.
contentsBox() is no longer a callback via GraphicsLayerClient.
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
(WebCore::RenderLayerCompositor::scheduleSync):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync"
notifications, which travel up to WebKit and set up a runloop observer.
2009-07-30 Jeremy Orlow <jorlow@chromium.org>
Reviewed by David Levin.
Guard needs //'s between #endif and ENABLE(DATAGRID)
https://bugs.webkit.org/show_bug.cgi?id=27862
Compiling this file causes a build break without this change.
* bindings/v8/custom/V8DataGridColumnListCustom.cpp:
2009-07-31 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Eric Seidel.
Geolocation clean up when no longer updating
https://bugs.webkit.org/show_bug.cgi?id=27888
When Geolocation::disconnectFrame() is called, need to call
Document::setUsingGeolocation(false) to mirror the true call
when it is set up.
When handling an error, and there are no more listeners, call
GeolocationService::stopUpdating().
* page/Geolocation.cpp:
(WebCore::Geolocation::disconnectFrame):
(WebCore::Geolocation::handleError):
2009-07-31 Greg Bolsinga <bolsinga@apple.com>
Reviewed by George Staikos.
Consolidate GeoLocation code to send positions and errors
https://bugs.webkit.org/show_bug.cgi?id=27863
Create helper methods that will send positions and errors to either
one shots or watchers.
* page/Geolocation.cpp:
(WebCore::Geolocation::sendError):
(WebCore::Geolocation::sendErrorToOneShots):
(WebCore::Geolocation::sendErrorToWatchers):
(WebCore::Geolocation::sendPosition):
(WebCore::Geolocation::sendPositionToOneShots):
(WebCore::Geolocation::sendPositionToWatchers):
* page/Geolocation.h:
2009-07-31 Xan Lopez <xlopez@igalia.com>
Roll out previous change as it might be causing some weirdness in
the bots.
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::processFileHeader):
2009-07-31 Xan Lopez <xlopez@igalia.com>
Reviewed by Mark Rowe.
Fix compiler warning.
https://bugs.webkit.org/show_bug.cgi?id=27851
GCC does not like multi-character character constants, so use the
explicit numerical value of 'BM' in the enum.
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::processFileHeader):
2009-07-30 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions.
<rdar://problem/7106968> and https://bugs.webkit.org/show_bug.cgi?id=27868
http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others.
Test: http/tests/misc/meta-refresh-stray-single-quote.html
* platform/network/HTTPParsers.cpp:
(WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string.
2009-07-30 Mark Rowe <mrowe@apple.com>
Reviewed by Adele Peterson and Jon Honeycutt.
Fix <https://bugs.webkit.org/show_bug.cgi?id=27828> for Mac.
Bug 27828: Title attribute is not respected on option elements
No tests added as it is not clear how to test a tool tip from DumpRenderTree.
* platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item.
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip.
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.h:
(WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for
the popup menu in RenderTextControlSingleLine.
2009-07-30 Xiaomei Ji <xji@chromium.org>
Reviewed by Dan Bernstein.
Remove ChromeClientChromium::setToolTip().
https://bugs.webkit.org/show_bug.cgi?id=27861
This patch is just to remove a temporarily introduced overloaded empty
virtual function. No test is needed.
* page/chromium/ChromeClientChromium.h:
2009-07-30 Michael Nordman <michaeln@google.com>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=27821
ApplicationCacheHost refactoring.
1) Better encapsulate the interfaces between webcore common code
and the appcache system within a new class ApplicationCacheHost.
2) Use that interface throughout the loader system, replacing inline appcache logic.
3) Implement the interface in terms of webcore's appcache system.
4) Add the new files to various makefiles.
5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp
No new features, no new tests. The existing layout tests all pass.
* GNUmakefile.am:
* WebCore.base.exp:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::insertedIntoDocument):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::mainReceivedError):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::setPrimaryLoadComplete):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::applicationCacheHost):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::canCachePageContainingThisFrame):
(WebCore::FrameLoader::logCanCacheFrameDecision):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didReceiveData):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::didFail):
(WebCore::MainResourceLoader::load):
* loader/MainResourceLoader.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::load):
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didFail):
* loader/ResourceLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
(WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
(WebCore::ApplicationCacheGroup::failedLoadingMainResource):
(WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
(WebCore::ApplicationCacheGroup::update):
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::manifestNotFound):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
(WebCore::ApplicationCacheGroup::startLoadingEntry):
(WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
(WebCore::CallCacheListenerTask::create):
(WebCore::CallCacheListenerTask::performTask):
(WebCore::CallCacheListenerTask::CallCacheListenerTask):
(WebCore::ApplicationCacheGroup::postListenerTask):
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.cpp: Added.
* loader/appcache/ApplicationCacheHost.h: Added.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::transferApplicationCache):
* loader/appcache/ApplicationCacheStorage.h:
* loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::DOMApplicationCache):
(WebCore::DOMApplicationCache::disconnectFrame):
(WebCore::DOMApplicationCache::applicationCacheHost):
(WebCore::DOMApplicationCache::status):
(WebCore::DOMApplicationCache::update):
(WebCore::DOMApplicationCache::swapCache):
(WebCore::DOMApplicationCache::addEventListener):
(WebCore::DOMApplicationCache::removeEventListener):
(WebCore::DOMApplicationCache::dispatchEvent):
(WebCore::DOMApplicationCache::callListener):
(WebCore::DOMApplicationCache::toEventName):
(WebCore::DOMApplicationCache::toEventType):
* loader/appcache/DOMApplicationCache.h:
(WebCore::DOMApplicationCache::):
(WebCore::DOMApplicationCache::setAttributeEventListener):
(WebCore::DOMApplicationCache::getAttributeEventListener):
(WebCore::DOMApplicationCache::clearAttributeEventListener):
(WebCore::DOMApplicationCache::callEventListener):
(WebCore::DOMApplicationCache::setOnchecking):
(WebCore::DOMApplicationCache::onchecking):
(WebCore::DOMApplicationCache::setOnerror):
(WebCore::DOMApplicationCache::onerror):
(WebCore::DOMApplicationCache::setOnnoupdate):
(WebCore::DOMApplicationCache::onnoupdate):
(WebCore::DOMApplicationCache::setOndownloading):
(WebCore::DOMApplicationCache::ondownloading):
(WebCore::DOMApplicationCache::setOnprogress):
(WebCore::DOMApplicationCache::onprogress):
(WebCore::DOMApplicationCache::setOnupdateready):
(WebCore::DOMApplicationCache::onupdateready):
(WebCore::DOMApplicationCache::setOncached):
(WebCore::DOMApplicationCache::oncached):
(WebCore::DOMApplicationCache::setOnobsolete):
(WebCore::DOMApplicationCache::onobsolete):
(WebCore::DOMApplicationCache::~DOMApplicationCache):
* platform/KURLGoogle.cpp:
(WebCore::protocolHostAndPortAreEqual):
2009-07-30 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired
https://bugs.webkit.org/show_bug.cgi?id=27854
AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise
they can disappear and then lead to crashes.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::notificationPostTimerFired):
(WebCore::AXObjectCache::postNotification):
* accessibility/AXObjectCache.h:
2009-07-30 Simon Fraser <simon.fraser@apple.com>
Minor change to earlier commit suggested by Darin Adler.
Use the variable rather than dereferencing 'it' again.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::keyframeStylesForAnimation):
2009-07-30 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Animation with a timing function property in a keyframe eats CPU
https://bugs.webkit.org/show_bug.cgi?id=27856
<rdar://problem/7104476> Animation demo uses lots of CPU
Don't include animation-timing-function in the list of properties to
animate in a keyframe animation, because this property is not animated;
instead, it describes the timing function to apply to this keyframe.
This prevents the animation code from thinking that there's a property
that it has to software-animate, and thus firing the animation timer frequently.
Not testable because there is no visible impact.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add
CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate.
* page/animation/KeyframeAnimation.cpp
(WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment
2009-07-30 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Adam Treat.
Apply colour style to buttons that use Theme settings in Qt.
https://bugs.webkit.org/show_bug.cgi?id=27814
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::adjustButtonStyle):
=== End merge of nitro-extreme branch 2009-07-30 ===
2009-05-11 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Make WebCore compile with the new JS number representation.
* ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
* ForwardingHeaders/runtime/JSNumberCell.h: Removed.
* bindings/js/ScriptEventListener.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
* bridge/c/c_instance.cpp:
=== Start merge of nitro-extreme branch 2009-07-30 ===
2009-07-30 Dean McNamee <deanm@chromium.org>
Reviewed by Dimitri Glazkov.
Don't try to hash member function pointers, instead use a precomputed value based on the field.
https://bugs.webkit.org/show_bug.cgi?id=27843
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8SVGPODTypeWrapper.h:
(WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
(WebCore::PODTypeWrapperCacheInfo::operator==):
(WebCore::PODTypeWrapperCacheInfoHash::hash):
(WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
2009-07-30 Xan Lopez <xlopez@igalia.com>
Reviewed by Simon Fraser.
Fix compiler warning.
* dom/SelectElement.cpp:
(WebCore::SelectElement::menuListDefaultEventHandler):
2009-07-29 Matt Perry <mpcomplete@chromium.org>
Reviewed by Adam Barth.
Add a way to register V8 extensions for Isolated Worlds only.
https://bugs.webkit.org/show_bug.cgi?id=27785
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluateInNewWorld):
(WebCore::ScriptController::evaluateInNewContext):
* bindings/v8/ScriptController.h:
* bindings/v8/V8IsolatedWorld.cpp:
(WebCore::V8IsolatedWorld::evaluate):
* bindings/v8/V8IsolatedWorld.h:
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluateInNewWorld):
(WebCore::V8Proxy::evaluateInNewContext):
(WebCore::V8Proxy::createNewContext):
(WebCore::V8Proxy::initContextIfNeeded):
(WebCore::V8Proxy::registerExtensionWithV8):
(WebCore::V8Proxy::registerExtension):
* bindings/v8/V8Proxy.h:
2009-07-30 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Adam Treat.
Add previously defined out support to PopupMenuQt for marking entries as
disabled and for selecting the desired item.
https://bugs.webkit.org/show_bug.cgi?id=27772
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenu::populate):
2009-07-30 Darin Adler <darin@apple.com>
Reviewed by David Levin.
Use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522
Next step: Add new toRenderWidget cast and use it everywhere.
Use checked casts in all the places that were using static_cast
but there is a checked cast available.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::widget):
(WebCore::AccessibilityRenderObject::widgetForAttachmentView):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(getPangoLayoutForAtk):
* dom/Document.cpp:
(WebCore::widgetForNode):
(WebCore::Document::setFocusedNode):
* html/HTMLEmbedElement.cpp:
(WebCore::findWidgetRenderer):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::defaultEventHandler):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::renderWidgetForJSBindings):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadSubframe):
* loader/PluginDocument.cpp:
(WebCore::PluginTokenizer::writeRawData):
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
(WebCore::subframeForTargetNode):
(WebCore::EventHandler::handleWheelEvent):
* page/Frame.cpp:
(WebCore::isFrameElement):
* page/PrintContext.cpp:
(WebCore::PrintContext::computePageRects):
* page/android/EventHandlerAndroid.cpp:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* page/chromium/FrameChromium.cpp:
(WebCore::computePageRectsForFrame):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* page/haiku/EventHandlerHaiku.cpp:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passSubframeEventToSubframe):
* page/win/FrameWin.cpp:
(WebCore::computePageRectsForFrame):
* page/wx/EventHandlerWx.cpp:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* platform/chromium/ClipboardChromium.cpp:
(WebCore::getCachedImage):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeImage):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeImage):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::writeImage):
* platform/qt/ClipboardQt.cpp:
(WebCore::getCachedImage):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeImage):
* platform/win/ClipboardWin.cpp:
(WebCore::getCachedImage):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeImage):
* rendering/InlineBox.h:
(WebCore::InlineBox::boxModelObject):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateImageContents):
* rendering/TextControlInnerElements.cpp:
(WebCore::RenderTextControlInnerBlock::positionForPoint):
Use checked cast instead of static_cast.
* rendering/RenderWidget.h: Added toRenderWidget.
2009-07-30 Yong Li <yong.li@torchmobile.com>
Reviewed by George Staikos.
WINCE PORT: some files modified to build for WINCE
https://bugs.webkit.org/show_bug.cgi?id=27816
* accessibility/AccessibilityObject.h:
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::createDraggingClipboard):
* platform/win/PlatformMouseEventWin.cpp:
(WebCore::messageToEventType):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/win/PlatformScreenWin.cpp:
(WebCore::deviceInfoForWidget):
(WebCore::screenIsMonochrome):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::paint):
(WebCore::registerPopup):
(WebCore::PopupWndProc):
2009-07-30 Yong Li <yong.li@torchmobile.com>
Reviewed by George Staikos.
WINCE PORT: modified graphics files
https://bugs.webkit.org/show_bug.cgi?id=27779
* platform/graphics/BitmapImage.h:
(WebCore::BitmapImage::mayFillWithSolidColor):
* platform/graphics/Gradient.h:
* platform/graphics/GraphicsContext.cpp:
* platform/graphics/GraphicsContext.h:
* platform/graphics/ImageSource.h:
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/Path.h:
* platform/graphics/Pattern.h:
* platform/graphics/transforms/Matrix3DTransformOperation.cpp:
(WebCore::Matrix3DTransformOperation::blend):
* platform/graphics/transforms/MatrixTransformOperation.cpp:
(WebCore::MatrixTransformOperation::blend):
* platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::operator*):
* platform/graphics/win/IconWin.cpp:
(WebCore::Icon::createIconForFile):
(WebCore::Icon::createIconForFiles):
(WebCore::Icon::paint):
2009-07-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Ariya Hidayat.
Improve efficiency by rewriting code doing three hash table
lookups, which can be replaced by just one as pointed out
by Darin Adler.
Though being slightly less clear, this should be considerable
faster.
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::remove):
2009-07-30 Antonio Gomes <antonio.gomes@openbossa.org>
Reviewed by Gustavo Noronha.
[Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=27651
Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead.
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2009-07-30 Antonio Gomes <antonio.gomes@openbossa.org>
Reviewed by Gustavo Noronha.
[Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=27651
Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py
No functionality change at all.
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gtk/VideoSinkGStreamer.cpp:
* platform/graphics/gtk/VideoSinkGStreamer.h:
2009-07-30 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Simon Hausmann.
Allow to explicitly choose a preferred plugin for a mimetype.
https://bugs.webkit.org/show_bug.cgi?id=27651
When the preferred plugin is set for a specific MIME type, it will be
always picked up, regardless of its version, quirks etc.
Client applications may want to use that API to resolve mimetype
ambiguity in a custom way, rather than in the default way that is
currently used in WebKit.
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::pluginForMIMEType):
(WebCore::PluginDatabase::MIMETypeForExtension):
(WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added.
(WebCore::PluginDatabase::remove):
(WebCore::PluginDatabase::clear):
* plugins/PluginDatabase.h:
2009-07-30 Jakub Wieczorek <faw217@gmail.com>
[Qt] Fix build with Qt 4.4 after r46535.
* platform/network/qt/ResourceHandleQt.cpp:
2009-07-30 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
Video elements fires another "load" event when attached to DOM
https://bugs.webkit.org/show_bug.cgi?id=27623
Test: media/media-load-event.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::insertedIntoDocument):
Only schedule load when element's network state is NETWORK_EMPTY.
2009-07-30 Anton Muhin <antonm@chromium.org>
Reviewed by David Levin.
Cache v8 strings when converting from WebCore::String to v8 string.
https://bugs.webkit.org/show_bug.cgi?id=27655
* bindings/v8/V8Binding.cpp:
(WebCore::v8String): now just immediately calls v8ExternalString
(WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to
v8::String
(WebCore::makeExternalString): utilty function to create external v8::String out of
WebCore::String
(WebCore::getStringCache): static function to access string cache
(WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the
cache
(WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for
the given WebCore::StringImpl. If present, returns it, otherwise creates a new v8 external
string.
* bindings/v8/V8Binding.h:
2009-07-30 Xan Lopez <xlopez@igalia.com>
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=25535
[GTK] object:state-changed:checked events missing for radio buttons and checkboxes
Implement state-changed:checked for radio buttons and checkboxes.
* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
2009-07-30 Xan Lopez <xlopez@igalia.com>
Forgot the 'break'.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::checkOrEnableIfNeeded):
2009-07-30 Xan Lopez <xlopez@igalia.com>
Try to fix Mac build.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::checkOrEnableIfNeeded):
2009-07-29 Xan Lopez <xlopez@igalia.com>
Reviewed by Adam Barth.
Add missing enumeration value to switch.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::checkOrEnableIfNeeded):
2009-07-29 Jian Li <jianli@chromium.org>
Reviewed by Darin Adler.
Workers need to throw an exception when presented with invalid URLs.
https://bugs.webkit.org/show_bug.cgi?id=27770
Tests covered by worker-constructor.html and worker-redirect.html.
* bindings/js/JSWorkerConstructor.cpp:
(WebCore::constructWorker):
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* workers/Worker.cpp:
(WebCore::Worker::Worker):
* workers/Worker.h:
(WebCore::Worker::create):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::importScripts):
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::createResourceRequest):
* workers/WorkerScriptLoader.h:
2009-07-29 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
(REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts
https://bugs.webkit.org/show_bug.cgi?id=27822 and <rdar://problem/7091659>
* loader/loader.cpp:
(WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of
only limiting connections while parsing and still trying to figure out stylesheet urls.
2009-07-29 Yong Li <yong.li@torchmobile.com>
Reviewed by George Staikos.
WINCE PORT: Add WebCore/page/wince/FrameWince.cpp
https://bugs.webkit.org/show_bug.cgi?id=27729
* page/wince/FrameWince.cpp: Added.
2009-07-29 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia.
REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails
https://bugs.webkit.org/show_bug.cgi?id=27809
The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle.
To determine that a particular text decoration is present, currentlyHasStyle should refer to
-webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS.
We also need to update layout to accommodate the changes made within ApplyStyleCommand.
* editing/ApplyStyleCommand.cpp: ditto
(WebCore::StyleChange::currentlyHasStyle): ditto
2009-07-29 Yong Li <yong.li@torchmobile.com>
Reviewed by George Staikos.
WINCE PORT: changes to platform/text files
https://bugs.webkit.org/show_bug.cgi?id=27715
* platform/text/String.cpp:
(WebCore::String::format):
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode):
* platform/text/TextEncodingRegistry.cpp:
(WebCore::buildBaseTextCodecMaps):
(WebCore::extendTextCodecMaps):
2009-07-29 Yong Li <yong.li@torchmobile.com>
Reviewed by Adam Roben.
FIX: HDC leaks in PopupMenuWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=27817
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::paint):
2009-07-29 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Illegal values for <ol start> cause list numbering start at 0 (should start at 1)
https://bugs.webkit.org/show_bug.cgi?id=27810
Test: fast/lists/ol-start-parsing.html
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt
and use the value 1 if it failed to parse. Before we were getting toInt's default
behavior, which is to return 0.
2009-07-29 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin Adler.
Added foundation work to allow a testing infrastructure for the Web
Inspector.
* inspector/InspectorClient.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::scriptObjectReady): Tell the testing
harness that the window object is ready.
* loader/EmptyClients.h: Empty class support for SVG.
(WebCore::EmptyInspectorClient::inspectorWindowObjectCleared):
2009-07-29 Chris Fleizach <cfleizach@apple.com>
Build fix for windows after landing
Bug 27807 - AX: move re-usable code into more common areas for other platforms
Apparently bzero doesn't exist on windows.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
2009-07-29 Chris Fleizach <cfleizach@apple.com>
Reviewed by Justin Garcia.
Bug 27807 - AX: move re-usable code into more common areas for other platforms
https://bugs.webkit.org/show_bug.cgi?id=27807
Moves some accessibility code that was in the Mac file to a more common place so
it can be used by other platforms.
This includes:
Making TextMarkerData from a VisiblePosition.
Making a VisiblePosition from TextMarkerData.
Finding the anchor accessibility object for an arbitrary Node.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::visiblePositionForTextMarkerData):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::anchorElementForNode):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::visiblePositionForIndex):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(textMarkerForVisiblePosition):
(visiblePositionForTextMarker):
(AXAttributedStringAppendText):
2009-07-29 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
Inset box shadows are incorrectly accounted for in visual overflow
computations
https://bugs.webkit.org/show_bug.cgi?id=27811
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally): Use
getBoxShadowHorizontalExtent().
(WebCore::InlineFlowBox::placeBoxesVertically): Use
getBoxShadowVerticalExtent(). Removed duplicate code to get the
text-shadow overflow.
(WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent().
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::overflowHeight): Use
getBoxShadowVerticalExtent().
(WebCore::RenderBlock::overflowWidth): Use
getBoxShadowHorizontalExtent().
(WebCore::RenderBlock::overflowLeft): Ditto.
(WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent().
(WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent().
(WebCore::RenderBlock::layoutBlock): Ditto.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Ditto.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateRects): Exclude inset shadows.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use
getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent().
(WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset
shadows.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are
not inset.
(WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset
shadows.
(WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto.
(WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto.
* rendering/style/RenderStyle.h:
2009-07-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform)
https://bugs.webkit.org/show_bug.cgi?id=27796
Avoid repainting when a layer becomes composited if the renderer is not parented
yet, because it makes no sense to do so.
If the table row is a repaint container, default to the RenderBox implementation
of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect
computation to something that is above the repaint container.
Test: fast/table/table-row-compositing-repaint-crash.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::repaintOnCompositingChange):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::clippedOverflowRectForRepaint):
2009-07-29 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=27791
307 redirects of POSTs should use POST, not GET
Test: http/tests/loading/redirect-methods.html
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::willSendRequest):
* platform/network/mac/ResourceHandleMac.mm:
(-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
2009-07-29 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Adding -webkit-animation-play-state back in
https://bugs.webkit.org/show_bug.cgi?id=26867
We've decided to keep -webkit-animation-play-state. So this
just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907.
Test: animations/play-state.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationPlayState):
(WebCore::CSSParser::parseAnimationProperty):
* css/CSSParser.h:
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapAnimationPlayState):
* css/CSSStyleSelector.h:
* platform/animation/Animation.h:
* rendering/style/RenderStyleConstants.h:
(WebCore::):
2009-07-29 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Simon Hausmann.
Expose the default plugin directories and the current directory set of
the plugin database as public API.
https://bugs.webkit.org/show_bug.cgi?id=27651
* plugins/PluginDatabase.h:
(WebCore::PluginDatabase::pluginDirectories):
2009-07-29 Alpha Lam <hclam@chromium.org>
Reviewed by David Levin.
[chromium] Font size for current time display in media controls panel
is affected by body font size.
https://bugs.webkit.org/show_bug.cgi?id=27799
Fixing the problem of rendering by explicitly setting the font size
for the time displays.
No new tests since this is covered by existing media tests.
* css/mediaControlsChromium.css:
2009-07-29 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by David Levin.
Update WebCore/page/ContextMenuController.cpp to conform to WebKit
Style Guidelines as identified by cpp_style.py.
https://bugs.webkit.org/show_bug.cgi?id=27613
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):
2009-07-29 Dean McNamee <deanm@chromium.org>
Reviewed by Dimitri Glazkov.
Removed unused wrapCPointer/extractCPointer from the v8 bindings.
https://bugs.webkit.org/show_bug.cgi?id=27805
* bindings/v8/V8DOMWrapper.h:
2009-07-29 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Simon Hausmann.
Expose the PluginDatabase::pluginForMIMEType() function as public API.
https://bugs.webkit.org/show_bug.cgi?id=27651
It can be used to determine the appropriate plugin for a mime type,
without guessing the mimetype from the extension.
* plugins/PluginDatabase.h:
2009-07-29 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Adam Treat.
Allow to enable/disable particular plugin packages.
https://bugs.webkit.org/show_bug.cgi?id=27651
Disabled plugins will not be picked up when looking for a plugin
supporting the requested mimetypes.
Client applications may want to use that API to disable specific
plugins.
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::pluginForMIMEType):
(WebCore::PluginDatabase::MIMETypeForExtension):
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::PluginPackage):
(WebCore::PluginPackage::setEnabled):
* plugins/PluginPackage.h:
(WebCore::PluginPackage::isEnabled):
2009-07-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by Adam Treat.
[WML] Running WML tests in random order multiple times exposes subtle bugs
https://bugs.webkit.org/show_bug.cgi?id=27801
Remove superflous assertions regarding the parent node. Under certain circumstances
these can even fire (related to garbage collection while destructing). Fixes random order
WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random)
The wml/enter-first-card-with-events.html test relied on a bug in our implementation of
WMLPageState::reset() - the history stack should still contain the current card afterwards.
Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory().
* history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec.
(WebCore::BackForwardList::clearWMLPageHistory):
* wml/WMLDoElement.cpp:
(WebCore::WMLDoElement::insertedIntoDocument):
(WebCore::WMLDoElement::removedFromDocument):
* wml/WMLNoopElement.cpp:
(WebCore::WMLNoopElement::insertedIntoDocument):
* wml/WMLOnEventElement.cpp:
(WebCore::eventHandlingParent):
* wml/WMLPostfieldElement.cpp:
(WebCore::WMLPostfieldElement::insertedIntoDocument):
(WebCore::WMLPostfieldElement::removedFromDocument):
* wml/WMLSetvarElement.cpp:
(WebCore::WMLSetvarElement::insertedIntoDocument):
(WebCore::WMLSetvarElement::removedFromDocument):
* wml/WMLTaskElement.cpp:
(WebCore::WMLTaskElement::insertedIntoDocument):
(WebCore::WMLTaskElement::removedFromDocument):
* wml/WMLTimerElement.cpp:
(WebCore::WMLTimerElement::insertedIntoDocument):
(WebCore::WMLTimerElement::removedFromDocument):
2009-07-29 Yongjun Zhang <yongjun.zhang@nokia.com>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=26848
[Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadItem):
* platform/network/ResourceHandle.h:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::willLoadFromCache):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::willLoadFromCache):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willLoadFromCache):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::willLoadFromCache):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::):
2009-07-29 Alpha Lam <hclam@chromium.org>
Reviewed by David Levin.
Media control panel for <video> in MediaDocument is mis-placed
https://bugs.webkit.org/show_bug.cgi?id=27798
Fixing a rendering problem: When <video> is displayed in MediaDocument,
the media control panel overlaps with the video by 16 pixels.
No new tests as this is covered by existing media tests.
* css/mediaControlsChromium.css:
2009-07-29 Adam Barth <abarth@webkit.org>
Unreviewed build fix for Chromium. Those last two patches weren't
independent despite the clean merge.
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::V8AbstractEventListener):
2009-07-29 Avi Drissman <avi@chromium.org>
Reviewed by Darin Adler.
ImageSourceCG makes bad data refs (race condition causes blank images)
https://bugs.webkit.org/show_bug.cgi?id=27777
Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that
backs the CFDataRef will be long enough.
No new tests, as this fixes a bug with a race condition that is
difficult to trigger.
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::setData):
2009-07-29 Keishi Hattori <casey.hattori@gmail.com>
Reviewed by Timothy Hatcher.
Inspector: Console should show completions for the command line APIs
https://bugs.webkit.org/show_bug.cgi?id=27696
* inspector/front-end/Console.js:
(WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to
completions when available.
* inspector/front-end/utilities.js:
(Object.properties): Added.
(Object.sortedProperties):
2009-07-29 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Eric Seidel.
Refactor the first step of layout in RenderFlexibleBox.cpp
https://bugs.webkit.org/show_bug.cgi?id=27704
No new tests as this change is just a refactoring.
* rendering/RenderFlexibleBox.cpp:
(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
2009-07-29 Kent Tamura <tkent@chromium.org>
Reviewed by Nikolas Zimmermann.
Fix a bug that HTMLOptionElement::value() returns an incorrect
value in a case that the element has a label attribute and no
value attribute.
https://bugs.webkit.org/show_bug.cgi?id=27760
Test: fast/forms/option-value-and-label.html
* dom/OptionElement.cpp:
(WebCore::OptionElement::collectOptionLabelOrText):
(WebCore::OptionElement::collectOptionInnerText):
(WebCore::OptionElement::normalizeText):
(WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
(WebCore::OptionElement::collectOptionValue):
* dom/OptionElement.h:
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::text):
* wml/WMLOptionElement.cpp:
(WebCore::WMLOptionElement::text):
2009-07-29 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
[V8] Fix isolated world wrappers for event handlers
https://bugs.webkit.org/show_bug.cgi?id=27533
Instead of getting the context from the frame, we cache the context
when the listener is created so that we get the context for the right
world.
Test: http/tests/security/isolatedWorld/click-event.html
* WebCore.gypi:
* bindings/v8/OwnHandle.h: Added.
(WebCore::OwnHandle::OwnHandle):
(WebCore::OwnHandle::~OwnHandle):
(WebCore::OwnHandle::get):
(WebCore::OwnHandle::set):
(WebCore::OwnHandle::release):
(WebCore::OwnHandle::adopt):
(WebCore::OwnHandle::swap):
(WebCore::OwnHandle::clear):
(WebCore::OwnHandle::makeWeak):
(WebCore::OwnHandle::weakCallback):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::V8AbstractEventListener):
(WebCore::V8AbstractEventListener::handleEvent):
* bindings/v8/V8AbstractEventListener.h:
* bindings/v8/V8DOMWrapper.h:
2009-07-29 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
[V8] Teach V8Proxy::context about isolated worlds
https://bugs.webkit.org/show_bug.cgi?id=27701
Change V8Proxy::context(Frame*) to understand isolated worlds. Audit
all callers of this method to make sure they want isolated worlds. In
cases where we really want the main world, I've changed the call to
V8Proxy::mainWorldContext(Frame*).
The main visible change is to the document.open method when called with
more than two arguments. This design seems more likely to lead to
future correct code.
Test: http/tests/security/isolatedWorld/document-open.html
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::processingUserGesture):
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::bindToWindowObject):
(WebCore::ScriptController::collectGarbage):
(WebCore::createScriptObject):
(WebCore::ScriptController::createScriptObjectForPluginElement):
* bindings/v8/ScriptObjectQuarantine.cpp:
(WebCore::getQuarantinedScriptObject):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::handleEvent):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getConstructor):
(WebCore::V8DOMWrapper::setHiddenWindowReference):
(WebCore::V8DOMWrapper::convertNodeToV8Object):
(WebCore::V8DOMWrapper::convertWindowToV8Object):
* bindings/v8/V8Helpers.cpp:
(WebCore::toV8Context):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::getListenerFunction):
(WebCore::V8LazyEventListener::getWrappedListenerFunction):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::context):
(WebCore::V8Proxy::mainWorldContext):
(WebCore::V8Proxy::bindJsObjectToWindow):
* bindings/v8/V8Proxy.h:
2009-07-29 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
Reviewed by Simon Hausmann.
Fix the Qt build, add missing file.
* WebCore.pro:
2009-07-28 Jon Honeycutt <jhoneycutt@apple.com>
Speculative fix for <rdar://problem/7005077> WER: Crash in
WebCore::PluginStream::destroyStream+279 (1310510882)
Reviewed by Oliver Hunt.
* plugins/PluginStream.cpp:
(WebCore::PluginStream::destroyStream):
Move the "protector" RefPtr out of the block that dispatches
notifications and into the function level; if NPN_DestroyStream were
called from NPP_NewStream as the comment warns, we would be deleted at
the end of the block.
2009-07-28 Joseph Pecoraro <joepeck02@gmail.com>
Inspector: Tab Through the DOM Storage DataGrid when Editing
https://bugs.webkit.org/show_bug.cgi?id=27746
Reviewed by Timothy Hatcher.
* inspector/front-end/DOMStorageDataGrid.js:
(WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column
(WebInspector.DOMStorageDataGrid.prototype._startEditing):
(WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit
(WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately
2009-07-28 Joseph Pecoraro <joepeck02@gmail.com>
Inspector: Create New DOM Storage Items via DataGrid
https://bugs.webkit.org/show_bug.cgi?id=27322
Reviewed by Timothy Hatcher.
* inspector/front-end/DOMStorageDataGrid.js:
(WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode
(WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals
(WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode
(WebInspector.CreationDataGridNode): new type of node
(WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node
* inspector/front-end/DatabasesPanel.js:
(WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData
2009-07-28 Joseph Pecoraro <joepeck02@gmail.com>
Inspector: Automatically Refresh DOM Storage Grids on "storage" event
https://bugs.webkit.org/show_bug.cgi?id=27400
Reviewed by Timothy Hatcher.
* inspector/front-end/DatabasesPanel.js:
(WebInspector.DatabasesPanel.prototype.show): trigger adding the listener
(WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener
(WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window
(WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window
(WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event
2009-07-28 Keishi Hattori <casey.hattori@gmail.com>
Inspector should support inspect() in the command line.
https://bugs.webkit.org/show_bug.cgi?id=19874
rdar://problem/6070225
Reviewed by Timothy Hatcher.
* inspector/front-end/Console.js:
(WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject):
(WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
* inspector/front-end/DatabasesPanel.js:
(WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added.
(WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added.
(WebInspector.DatabasesPanel.prototype.showDatabase):
2009-07-28 Keishi Hattori <casey.hattori@gmail.com>
The rest of: Web Inspector: Add inspected node using public console API.
https://bugs.webkit.org/show_bug.cgi?id=27758
Reviewed by Timothy Hatcher.
* inspector/front-end/Console.js:
(WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode.
(WebInspector.Console.prototype.addInspectedNode): Added.
2009-07-28 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Accept autocomplete on 'End' key pressed.
https://bugs.webkit.org/show_bug.cgi?id=27447.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.handleKeyEvent):
2009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by David Levin.
[Qt] Build fix after r46502
https://bugs.webkit.org/show_bug.cgi?id=27789
* WebCore.pro: Remove StorageArea.cpp
2009-07-28 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
Follow-on fix to r35582. Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread
in -dealloc overrides in DOMObject subclasses.
* bindings/scripts/CodeGeneratorObjC.pm:
2009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by Adam Treat.
[WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument()
https://bugs.webkit.org/show_bug.cgi?id=27786
WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument().
The only case where this is relevant in WML is error handling. The parsed WML
tree fragment is inserted in an XHTML compound error document. This requires
removedFromDocument() to be correctly implemented otherwhise we run into
trouble (visible when using run-webkit-tests fast/wml --random).
* wml/WMLAnchorElement.cpp:
(WebCore::WMLAnchorElement::registerTask):
(WebCore::WMLAnchorElement::deregisterTask):
* wml/WMLAnchorElement.h:
* wml/WMLDoElement.cpp:
(WebCore::WMLDoElement::removedFromDocument):
(WebCore::WMLDoElement::registerTask):
(WebCore::WMLDoElement::deregisterTask):
* wml/WMLDoElement.h:
* wml/WMLEventHandlingElement.cpp:
(WebCore::WMLEventHandlingElement::registerDoElement):
(WebCore::WMLEventHandlingElement::deregisterDoElement):
* wml/WMLEventHandlingElement.h:
* wml/WMLFieldSetElement.cpp:
(WebCore::WMLFieldSetElement::removedFromDocument):
* wml/WMLGoElement.cpp:
(WebCore::WMLGoElement::registerPostfieldElement):
(WebCore::WMLGoElement::deregisterPostfieldElement):
* wml/WMLGoElement.h:
* wml/WMLIntrinsicEventHandler.cpp:
(WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent):
* wml/WMLIntrinsicEventHandler.h:
* wml/WMLOnEventElement.cpp:
(WebCore::eventHandlingParent):
(WebCore::WMLOnEventElement::registerTask):
(WebCore::WMLOnEventElement::deregisterTask):
* wml/WMLOnEventElement.h:
* wml/WMLPostfieldElement.cpp:
(WebCore::WMLPostfieldElement::removedFromDocument):
* wml/WMLPostfieldElement.h:
* wml/WMLSetvarElement.cpp:
(WebCore::WMLSetvarElement::removedFromDocument):
* wml/WMLSetvarElement.h:
* wml/WMLTaskElement.cpp:
(WebCore::WMLTaskElement::removedFromDocument):
(WebCore::WMLTaskElement::registerVariableSetter):
(WebCore::WMLTaskElement::deregisterVariableSetter):
(WebCore::WMLTaskElement::storeVariableState):
* wml/WMLTaskElement.h:
* wml/WMLTimerElement.cpp:
(WebCore::WMLTimerElement::removedFromDocument):
* wml/WMLTimerElement.h:
2009-07-28 David Levin <levin@chromium.org>
Suggested by Drew Wilson.
Speculative gtk build fix, follow up to:
https://bugs.webkit.org/show_bug.cgi?id=27697
* GNUmakefile.am:
2009-07-28 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
[CSS3 Backgrounds and Borders] Drop the prefix from the border-radius
properties
https://bugs.webkit.org/show_bug.cgi?id=27578
[CSS3 Backgrounds and Borders] Handle the / and 4 values in
border-radius
https://bugs.webkit.org/show_bug.cgi?id=27584
Test: fast/borders/border-radius-parsing.html
Dropped the -webkit- prefix from the individual corner border-radius
properties. Added border-radius with the / and 4-value syntax, and
maintained -webkit-border-radius with legacy 2-value syntax.
* css/CSSComputedStyleDeclaration.cpp:
(computedProperties): Removed Webkit prefix.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Removed Webkit prefix from the
single-corner properties. Call out to parseBorderRadius() to parse
border-radius and -webkit-border-radius.
(WebCore::completeBorderRadii): Added this helper function that
completes the values for all four corners when fewer than four are
specified.
(WebCore::CSSParser::parseBorderRadius): Added.
(WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the
unprefixed property.
* css/CSSParser.h:
* css/CSSPropertyLonghand.cpp:
(WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry
for border-radius. Kept the entry for -webkit-border-radius.
* css/CSSPropertyNames.in: Removed the -webkit- prefix from the
single-corenr properties. Added border-radius. Kept
-webkit-border-radius because of its conflicting syntax.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix.
* page/animation/AnimationBase.cpp:
(WebCore::ensurePropertyMap): Ditto.
2009-07-28 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class.
WorkerThread needs to be refactored to separate out dedicated-worker functionality.
https://bugs.webkit.org/show_bug.cgi?id=27697
This is just a refactoring, so existing tests suffice.
* GNUmakefile.am:
Added DedicatedWorkerThread.h/.cpp
* WebCore.gypi:
Added DedicatedWorkerThread.h/.cpp
* WebCore.pro:
Added DedicatedWorkerThread.h/.cpp
* WebCore.vcproj/WebCore.vcproj:
Added DedicatedWorkerThread.h/.cpp
* WebCore.xcodeproj/project.pbxproj:
Added DedicatedWorkerThread.h/.cpp
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
* workers/DedicatedWorkerContext.cpp:
(WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
(WebCore::DedicatedWorkerContext::addMessage):
Forwards console messages to parent document.
(WebCore::DedicatedWorkerContext::importScripts):
Now sends the updated pending activity status after importing scripts.
(WebCore::DedicatedWorkerContext::thread):
Helper routine that casts WorkerThread to DedicatedWorkerThread.
* workers/DedicatedWorkerContext.h:
(WebCore::DedicatedWorkerContext::create):
* workers/DedicatedWorkerThread.cpp: Added.
(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::~DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerContext):
Implementation of the base class factory method to create the appropriate worker context.
(WebCore::DedicatedWorkerThread::runEventLoop):
Reports pending activity before running the event loop.
* workers/DedicatedWorkerThread.h: Added.
(WebCore::DedicatedWorkerThread::workerObjectProxy):
Moved from base class.
* workers/WorkerContext.cpp:
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerContext):
Now creates DedicatedWorkerThread.
(WebCore::WorkerMessagingProxy::workerThreadCreated):
Now is passed a DedicatedWorkerThread.
* workers/WorkerMessagingProxy.h:
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):
Moved workerObjectProxy param into derived class constructor.
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThread::runEventLoop):
Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first.
* workers/WorkerThread.h:
(WebCore::WorkerThread::workerContext):
2009-07-28 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
Fix V8NPUtils' handling of UTF8 identifiers.
https://bugs.webkit.org/show_bug.cgi?id=27782
* bindings/v8/V8NPUtils.cpp:
(getStringIdentifier): Treat the input string as UTF8 instead of ASCII,
since NPN_GetStringIdentifier() is expecting UTF8.
2009-07-28 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Eric Seidel.
Misc cleanup in DOM Storage.
https://bugs.webkit.org/show_bug.cgi?id=27517
The StorageAreaImpl changes are all for Chromium. Because the DOM Storage implementation
runs in a different process from where the Frame object lives, Chromium passes in NULL
for the sourceFrame. This affects events and handling privateBrowsing. Chromium's
incognito mode does not use the private browsing setting, so that's not a concern. As for
events, I've decided to simply disable them for now.
The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread-
safety) and to add an assert that .copy is only ever called on a SessionStorage namespace.
Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp
* storage/StorageArea.cpp: Removed. (It was empty anyway.)
* storage/StorageAreaImpl.cpp:
(WebCore::privateBrowsingEnabled): Factored out the check.
(WebCore::StorageAreaImpl::setItem): Make frame optional.
(WebCore::StorageAreaImpl::removeItem): ditto
(WebCore::StorageAreaImpl::clear): ditto
(WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now.
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment.
(WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage.
2009-07-28 Alpha Lam <hclam@google.com>
Reviewed by David Levin.
[chromium] Default UI controls for <video> has rendering problems
https://bugs.webkit.org/show_bug.cgi?id=27669
Fixes the bug that <video> in MediaDocument is 1 pixel tall if
it is playing an audio file by changing the style to be 32px
tall.
Also fixes a problem of default styled audio tag that hides the
all the time digits by expanding the width to 300px.
Changed the size and position of the current time and remaining
display to give enough space for the hour digit to be shown.
There are no new tests provided because this is already covered
by existing tests.
* css/mediaControlsChromium.css:
2009-07-28 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Eric Seidel.
Fix style in PluginPackage and PluginDatabase.
Part of https://bugs.webkit.org/show_bug.cgi?id=27651
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::refresh):
(WebCore::PluginDatabase::findPlugin):
* plugins/PluginDatabase.h:
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::~PluginPackage):
(WebCore::PluginPackage::freeLibrarySoon):
(WebCore::PluginPackage::freeLibraryTimerFired):
(WebCore::PluginPackage::unloadWithoutShutdown):
(WebCore::PluginPackage::initializeBrowserFuncs):
* plugins/PluginPackage.h:
2009-07-28 Anantanarayanan Iyengar <ananta@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=27769
The V8 bindings function V8Proxy::createNewContext can be
called during frame shutdown where the activeDocumentLoader
function in FrameLoader can return NULL. Added a check for the
same.
No new tests added as this is an edge case where the V8
bindings code is reentered via NPAPI during shutdown. It is
difficult to write a consistently reproducible test for this.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::createNewContext):
2009-07-28 Ivan Posva <iposva@chromium.org>
Reviewed by Dimitri Glazkov.
Associate the CanvasPixelData backing store with the
indexed properties of the wrapper object.
https://bugs.webkit.org/show_bug.cgi?id=27773
No new tests: Relying on existing Canvas tests.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getTemplate):
(WebCore::V8DOMWrapper::convertToV8Object):
2009-07-28 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Nuke all references to JSWorkerContextBase.lut.h, it was removed
back in April.
* GNUmakefile.am:
2009-07-28 Robert Agoston <Agoston.Robert@stud.u-szeged.hu>
Reviewed by Simon Hausmann.
Fixed references to script generate-webkitversion.pl, and
removed duplicated generate-webkitversion.pl
https://bugs.webkit.org/show_bug.cgi?id=27158
* WebCore.pro:
* platform/generate-webkitversion.pl: Removed.
2009-07-28 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Dmitry Glazkov.
Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
InspectorJSONObject.
https://bugs.webkit.org/show_bug.cgi?id=27766
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/ScriptArray.cpp:
(WebCore::ScriptArray::ScriptArray):
(WebCore::ScriptArray::set):
(WebCore::ScriptArray::length):
(WebCore::ScriptArray::createNew):
* bindings/js/ScriptArray.h:
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::construct):
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptObject::ScriptObject):
(WebCore::ScriptObject::set):
(WebCore::ScriptObject::createNew):
(WebCore::ScriptGlobalObject::get):
* bindings/js/ScriptObject.h:
* bindings/js/ScriptObjectQuarantine.cpp:
(WebCore::getQuarantinedScriptObject):
* bindings/v8/ScriptArray.cpp:
(WebCore::ScriptArray::ScriptArray):
(WebCore::ScriptArray::set):
(WebCore::ScriptArray::length):
(WebCore::ScriptArray::createNew):
* bindings/v8/ScriptArray.h:
* bindings/v8/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::construct):
* bindings/v8/ScriptObject.cpp:
(WebCore::ScriptObject::ScriptObject):
(WebCore::ScriptObject::set):
(WebCore::ScriptObject::createNew):
(WebCore::ScriptGlobalObject::get):
* bindings/v8/ScriptObject.h:
(WebCore::ScriptObject::ScriptObject):
* bindings/v8/ScriptObjectQuarantine.cpp:
(WebCore::getQuarantinedScriptObject):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToConsole):
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::bind):
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::newScriptArray):
(WebCore::InspectorFrontend::newScriptObject):
(WebCore::InspectorFrontend::addMessageToConsole):
(WebCore::InspectorFrontend::addResource):
(WebCore::InspectorFrontend::updateResource):
(WebCore::InspectorFrontend::addDatabase):
(WebCore::InspectorFrontend::addDOMStorage):
* inspector/InspectorFrontend.h:
* inspector/InspectorJSONObject.cpp: Removed.
* inspector/InspectorJSONObject.h: Removed.
* inspector/InspectorResource.cpp:
(WebCore::populateHeadersObject):
(WebCore::InspectorResource::createScriptObject):
(WebCore::InspectorResource::updateScriptObject):
2009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] Variable substitution recursion seems to have bugs
https://bugs.webkit.org/show_bug.cgi?id=27726
Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements.
Required by the specification - assure it only works in linear order. A setvar element may
not depend on the variable state of a following setvar element, only the previous ones.
Extend wml/variable-reference-valid.html layout test to cover these cases.
* wml/WMLTaskElement.cpp:
(WebCore::WMLTaskElement::storeVariableState):
2009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] Page title doesn't update after variable substitution, if it contained variables
https://bugs.webkit.org/show_bug.cgi?id=27725
Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition
too much, leading to a bug with 1-char variable names, which were not detected properly.
Extend wml/variable-reference-valid.html layout test to cover 1-char variable names.
Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names.
* wml/WMLVariables.cpp:
(WebCore::containsVariableReference):
2009-07-28 Robert Hogan <robert@roberthogan.net>
Reviewed by Simon Hausmann.
Add WebKit version API to Qt.
Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig
at compile time and make it available to webkit ports through WebKitVersion.h.
https://bugs.webkit.org/show_bug.cgi?id=27158
* WebCore.pro: Call generate-webkitversion.pl
2009-07-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Unreviewed make dist build fix.
* GNUmakefile.am:
2009-07-28 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Adam Treat.
Replace hardcoded separator text with proper separator.
Also adjusts include order as per style guidelines.
https://bugs.webkit.org/show_bug.cgi?id=27763
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenu::populate):
2009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Steve Falkenburg.
Add output directory for VS pre-build steps to enable out-of-tree builds
https://bugs.webkit.org/show_bug.cgi?id=27700
The tmp.obj file is now placed in the intermediate build directory.
* WebCore.vcproj/WebCoreCommon.vsprops:
2009-07-28 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Add inspected node using public console API.
https://bugs.webkit.org/show_bug.cgi?id=27758
* inspector/front-end/Console.js:
(WebInspector.Console.prototype.addInspectedNode):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
(WebInspector.ElementsPanel):
2009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] <do> elements with a <noop> task shouldn't be exposed to the user
https://bugs.webkit.org/show_bug.cgi?id=27724
Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.
* manual-tests/wml/task-noop-in-do.wml: Removed.
* wml/WMLNoopElement.cpp:
(WebCore::WMLNoopElement::insertedIntoDocument):
2009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Disable some compiler warnings for the win build
https://bugs.webkit.org/show_bug.cgi?id=27709
* WebCore.pro: Move the msvc options to WebKit.pri
2009-07-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Tor Arne Vestbø
Make equality checks for logging channel names ignore casing.
* platform/Logging.cpp:
(WebCore::getChannelFromName):
2009-07-28 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Xan Lopez.
[Gtk] Refactor ResourceHandleSoup - make start* functions static
https://bugs.webkit.org/show_bug.cgi?id=27687
* platform/network/ResourceHandle.h:
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::startData):
(WebCore::startHttp):
(WebCore::):
2009-07-28 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
https://bugs.webkit.org/show_bug.cgi?id=25415
[GTK][ATK] Please implement support for get_text_at_offset
Do not cache the pango layout in the object, since the layout of
the page can change between calls.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2009-07-23 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
Simplify management of Nodes in weak handles callbacks.
https://bugs.webkit.org/show_bug.cgi?id=27628
* bindings/v8/V8DOMMap.cpp:
(WebCore::weakNodeCallback):
2009-07-28 Brian Weinstein <bweinstein@apple.com>
Rubber-stamped by David Levin.
Fix error handling of GetIconInfo (returns a bool).
* platform/win/DragImageWin.cpp:
(WebCore::createDragImageIconForCachedImage):
2009-07-27 Brian Weinstein <bweinstein@apple.com>
Reviewed by Jon Honeycutt.
Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
Implemented the createDragImageIconForCachedImage function by using the Windows
SHFILEINFO structure.
* platform/win/DragImageWin.cpp:
(WebCore::createDragImageIconForCachedImage):
2009-07-25 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
[V8] Split up V8DOMMap.cpp by class
https://bugs.webkit.org/show_bug.cgi?id=27685
No behavior change. Just copy-and-paste.
* WebCore.gypi:
* bindings/v8/ChildThreadDOMData.cpp: Added.
(WebCore::ChildThreadDOMData::ChildThreadDOMData):
(WebCore::ChildThreadDOMData::getStore):
* bindings/v8/ChildThreadDOMData.h: Added.
* bindings/v8/DOMData.cpp: Added.
(WebCore::DOMData::DOMData):
(WebCore::DOMData::getCurrent):
(WebCore::DOMData::getCurrentMainThread):
(WebCore::DOMData::handleWeakObject):
(WebCore::DOMData::ensureDeref):
(WebCore::DOMData::derefObject):
(WebCore::DOMData::derefDelayedObjects):
(WebCore::DOMData::derefDelayedObjectsInCurrentThread):
(WebCore::DOMData::removeObjectsFromWrapperMap):
* bindings/v8/DOMData.h: Added.
(WebCore::):
* bindings/v8/DOMDataStore.cpp: Added.
(WebCore::DOMDataStore::DOMDataStore):
(WebCore::DOMDataStore::~DOMDataStore):
(WebCore::DOMDataStore::allStores):
(WebCore::DOMDataStore::allStoresMutex):
(WebCore::DOMDataStore::getDOMWrapperMap):
(WebCore::forget):
(WebCore::DOMDataStore::weakDOMObjectCallback):
(WebCore::DOMDataStore::weakActiveDOMObjectCallback):
(WebCore::DOMDataStore::weakNodeCallback):
(WebCore::DOMDataStore::weakSVGElementInstanceCallback):
(WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
* bindings/v8/DOMDataStore.h: Added.
(WebCore::DOMDataStore::):
(WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
(WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
(WebCore::DOMDataStore::domData):
(WebCore::DOMDataStore::domNodeMap):
(WebCore::DOMDataStore::domObjectMap):
(WebCore::DOMDataStore::activeDomObjectMap):
(WebCore::DOMDataStore::domSvgElementInstanceMap):
(WebCore::DOMDataStore::domSvgObjectWithContextMap):
* bindings/v8/MainThreadDOMData.cpp: Added.
(WebCore::MainThreadDOMData::MainThreadDOMData):
(WebCore::MainThreadDOMData::getStore):
* bindings/v8/MainThreadDOMData.h: Added.
* bindings/v8/ScopedDOMDataStore.cpp: Added.
(WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
(WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
* bindings/v8/ScopedDOMDataStore.h: Added.
* bindings/v8/StaticDOMDataStore.cpp: Added.
(WebCore::StaticDOMDataStore::StaticDOMDataStore):
* bindings/v8/StaticDOMDataStore.h: Added.
* bindings/v8/V8DOMMap.cpp:
2009-07-27 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
Add a method for detecting if we're being used within Microsoft Messenger.
* WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
* platform/mac/RuntimeApplicationChecks.h:
* platform/mac/RuntimeApplicationChecks.mm:
(WebCore::applicationIsMicrosoftMessenger):
2009-07-27 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
[V8] Implement EventListener::reportError for V8 event listeners in worker context.
https://bugs.webkit.org/show_bug.cgi?id=27731
* bindings/v8/V8WorkerContextEventListener.cpp:
(WebCore::V8WorkerContextEventListener::reportError):
* bindings/v8/V8WorkerContextEventListener.h:
2009-07-27 Stephen White <senorblanco@chromium.org>
Reviewed by Eric Seidel and David Levin.
Re-apply chromium/skia border fix (originally landed in r46157,
reverted in r46363), since it was not the cause of the reliability
failures in Chromium.
http://bugs.webkit.org/show_bug.cgi?id=27388
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawLine):
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::setupPaintForStroking):
2009-07-27 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia.
createMarkup does not handle CSS properly
https://bugs.webkit.org/show_bug.cgi?id=27660
This patch isolates code that creates markup for styles in addStyleMarkup
It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
so that we can assume no text decoration style is passed to addStyleMarkup.
* editing/markup.cpp:
(WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
(WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
(WebCore::addStyleMarkup): Adds markup for style span and div
(WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
2009-07-27 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
fix more obvious global object lookups
https://bugs.webkit.org/show_bug.cgi?id=27745
No new tests for these changes. I believe in many cases
testing to be impossible. Lack of testing justification next to
each change below. The remaining pieces of bug 27634 will all
need tests.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::updateDocument): not testable.
* bindings/js/JSDataGridColumnListCustom.cpp:
(WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
* bindings/js/JSHTMLElementCustom.cpp:
(WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
* bindings/js/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener): unclear how to test.
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
* bindings/js/ScriptObjectQuarantine.cpp:
(WebCore::getQuarantinedScriptObject): unclear how to test.
* bindings/objc/DOMInternal.mm:
(-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] 'title' attribute handling not correct for <a> / <anchor> elements
https://bugs.webkit.org/show_bug.cgi?id=27720
Unify title() implementation in WMLElement instead of several copies of the same logic.
We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
WML manual-test suite.
* wml/WMLCardElement.cpp:
* wml/WMLCardElement.h:
* wml/WMLElement.cpp:
(WebCore::WMLElement::title):
* wml/WMLElement.h:
* wml/WMLOptGroupElement.cpp:
* wml/WMLOptGroupElement.h:
* wml/WMLSelectElement.cpp:
* wml/WMLSelectElement.h:
2009-07-27 Adam Treat <adam.treat@torchmobile.com>
Speculative build fix for Windows and WinCE.
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::load):
2009-07-27 Ojan Vafai <ojan@chromium.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=27474
Fixes crashes due to renderer getting destroyed in updateLayout.
We need to call updateLayout before we call into the renderer.
Removed the updateLayout call from RenderTextControl and moved it
into the calling sites.
Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
this works with pending stylesheets. Unfortunately, this seems to be
untestable. Loading an external stylesheet and then having an inline
script hit this code did not result in an pending stylesheets.
The are other cases of this bug in the rendering code. I'll file a
followup bug to audit the calls to updateLayout.
Test: fast/dom/text-control-crash-on-select.html
* dom/Document.h:
(WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
and setSelectionRange could deal with cases of reentrancy into updateLayout
calls. This happens in a couple layout tests.
* dom/InputElement.cpp:
(WebCore::InputElement::updateSelectionRange):
* html/HTMLInputElement.cpp:
(WebCore::isTextFieldWithRendererAfterUpdateLayout):
(WebCore::HTMLInputElement::setSelectionStart):
(WebCore::HTMLInputElement::setSelectionEnd):
(WebCore::HTMLInputElement::select):
* html/HTMLTextAreaElement.cpp:
(WebCore::rendererAfterUpdateLayout):
(WebCore::HTMLTextAreaElement::setSelectionStart):
(WebCore::HTMLTextAreaElement::setSelectionEnd):
(WebCore::HTMLTextAreaElement::select):
(WebCore::HTMLTextAreaElement::setSelectionRange):
(WebCore::HTMLTextAreaElement::updateFocusAppearance):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setSelectionRange):
2009-07-27 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Dave Levin.
[V8] Remove parameterless frame/window retrieval methods from V8Proxy.
https://bugs.webkit.org/show_bug.cgi?id=27737
Refactoring, no new behavior, covered by existing tests.
* bindings/v8/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::ScriptCallStack):
* bindings/v8/V8NPUtils.cpp:
(convertV8ObjectToNPVariant): Ditto.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::retrieve): Ditto.
(WebCore::V8Proxy::canAccessPrivate): Ditto.
* bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
* bindings/v8/custom/V8DatabaseCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
* bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL): Ditto.
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL): Ditto.
* bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL): Ditto.
* bindings/v8/custom/V8MessageChannelConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL): Ditto.
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL): Ditto.
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL): Ditto.
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL): Ditto.
2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] 'onpick' intrinsic event handling missing
https://bugs.webkit.org/show_bug.cgi?id=27723
Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
All was in place, just forgot to enable the relevant code.
Fixes manual-tests/wml/select-onpick-event.wml
Test: wml/option-element-onpick.html
* wml/WMLOptionElement.cpp:
(WebCore::WMLOptionElement::setSelectedState):
2009-07-27 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=27735
Give a helpful name to JSLock constructor argument
* bindings/js/GCController.cpp:
(WebCore::collect):
(WebCore::GCController::gcTimerFired):
(WebCore::GCController::garbageCollectNow):
* bindings/js/JSCustomPositionCallback.cpp:
(WebCore::JSCustomPositionCallback::handleEvent):
* bindings/js/JSCustomPositionErrorCallback.cpp:
(WebCore::JSCustomPositionErrorCallback::handleEvent):
* bindings/js/JSCustomSQLStatementCallback.cpp:
(WebCore::JSCustomSQLStatementCallback::handleEvent):
* bindings/js/JSCustomSQLStatementErrorCallback.cpp:
(WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
* bindings/js/JSCustomSQLTransactionCallback.cpp:
(WebCore::JSCustomSQLTransactionCallback::handleEvent):
* bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
(WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
* bindings/js/JSCustomVoidCallback.cpp:
(WebCore::JSCustomVoidCallback::handleEvent):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSInspectorBackendCustom.cpp:
(WebCore::JSInspectorBackend::currentCallFrame):
(WebCore::JSInspectorBackend::profiles):
* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
* bindings/js/ScriptArray.cpp:
(WebCore::ScriptArray::set):
(WebCore::ScriptArray::createNew):
* bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::clearScriptObjects):
* bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::windowScriptObject):
* bindings/js/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptObject::set):
(WebCore::ScriptObject::createNew):
(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):
* bindings/js/ScriptObjectQuarantine.cpp:
(WebCore::quarantineValue):
(WebCore::getQuarantinedScriptObject):
* bindings/js/ScriptValue.cpp:
(WebCore::ScriptValue::getString):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
* bridge/NP_jsobject.cpp:
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):
* bridge/c/c_class.cpp:
(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):
* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::getPropertyNames):
* bridge/c/c_runtime.cpp:
(JSC::Bindings::CField::valueFromInstance):
(JSC::Bindings::CField::setValueToInstance):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
(JSC::Bindings::convertNPVariantToValue):
* bridge/jni/jni_class.cpp:
(JavaClass::JavaClass):
(JavaClass::~JavaClass):
* bridge/jni/jni_instance.cpp:
(JavaInstance::stringValue):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::getSlot):
(JavaJSObject::setSlot):
(JavaJSObject::toString):
(JavaJSObject::convertValueToJObject):
(JavaJSObject::convertJObjectToValue):
* bridge/jni/jni_objc.mm:
(JSC::Bindings::dispatchJNICall):
* bridge/jni/jni_runtime.cpp:
(JavaMethod::signature):
* bridge/jni/jni_runtime.h:
(JSC::Bindings::JavaString::JavaString):
(JSC::Bindings::JavaString::_commonInit):
(JSC::Bindings::JavaString::~JavaString):
(JSC::Bindings::JavaString::UTF8String):
* bridge/jni/jni_utility.cpp:
(JSC::Bindings::convertValueToJValue):
* bridge/objc/objc_instance.mm:
(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeMethod):
(ObjcInstance::invokeDefaultMethod):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):
* bridge/objc/objc_utility.mm:
(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertNSStringToString):
(JSC::Bindings::convertObjcValueToValue):
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::createRuntimeObject):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):
(JSC::Bindings::QtConnectionObject::execute):
* bridge/runtime.cpp:
(JSC::Bindings::Instance::createRuntimeObject):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addScriptProfile):
* inspector/JavaScriptCallFrame.cpp:
(WebCore::JavaScriptCallFrame::evaluate):
* inspector/JavaScriptDebugServer.cpp:
(WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
* inspector/JavaScriptProfileNode.cpp:
(WebCore::getTotalTime):
(WebCore::getSelfTime):
(WebCore::getTotalPercent):
(WebCore::getSelfPercent):
(WebCore::getNumberOfCalls):
(WebCore::getChildren):
(WebCore::getParent):
(WebCore::getHead):
(WebCore::getVisible):
(WebCore::getCallUID):
* plugins/PluginView.cpp:
(WebCore::PluginView::start):
(WebCore::getString):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::bindingInstance):
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::stop):
(WebCore::PluginView::init):
* plugins/mac/PluginViewMac.cpp:
(WebCore::PluginView::stop):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::dispatchNPEvent):
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::stop):
(WebCore::PluginView::init):
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::stop):
2009-07-27 Yong Li <yong.li@torchmobile.com>
Reviewed by George Staikos.
WINCE PORT: Make plugin work for WINCE
https://bugs.webkit.org/show_bug.cgi?id=27713
* plugins/win/PluginDatabaseWin.cpp:
(SHGetValue):
(PathRemoveFileSpec):
(WebCore::addWindowsMediaPlayerPluginDirectory):
(WebCore::addMacromediaPluginDirectories):
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::load):
* plugins/win/PluginViewWin.cpp:
(WebCore::registerPluginView):
(WebCore::PluginView::wndProc):
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paintWindowedPluginIntoContext):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setParent):
(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::stop):
(WebCore::PluginView::init):
2009-07-27 Joseph Pecoraro <joepeck02@gmail.com>
Inspector: Tab Through Element Attributes and CSS Properties When Editing
https://bugs.webkit.org/show_bug.cgi?id=27673
Reviewed by Timothy Hatcher.
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement):
(WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
(WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
(WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
(WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
(WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.onpopulate):
(WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
(WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
(WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
(WebInspector.StylePropertyTreeElement.prototype.):
(WebInspector.StylePropertyTreeElement.prototype):
* inspector/front-end/inspector.js:
(WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
(WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
(WebInspector.startEditing):
2009-07-27 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Adam Treat.
Add mapping FontWeight to QFont::Weight values as requested via FIXME.
https://bugs.webkit.org/show_bug.cgi?id=27663
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
* platform/graphics/qt/FontPlatformData.h:
(WebCore::FontPlatformData::toQFontWeight):
* platform/graphics/qt/FontPlatformDataQt.cpp:
(WebCore::FontPlatformData::FontPlatformData):
2009-07-27 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Adam Treat.
When clearing the plugin database, clear also the timestamp map.
https://bugs.webkit.org/show_bug.cgi?id=27651
Currently, if we clear the database, it will still think that it is up
to date with the plugin directories so refreshing the database again
after changing the search paths may not work.
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::clear):
2009-07-27 Albert J. Wong <ajwong@chromium.org>
Reviewed by David Levin.
Add in trivial implementation of FontPlatformData::description() for
linux to fix build bustage in chromium.
Fix chromium linux build by adding missing function implementation.
https://bugs.webkit.org/show_bug.cgi?id=27732
Tested with a build of chromium on linux.
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::description):
* platform/graphics/chromium/FontPlatformDataLinux.h:
2009-07-27 Brent Fulgham <bfulgham@webkit.org>
Build correct, no review.
Final correction for WinCairo builds.
CoreServices only exists in Apple builds, but
some of its internal includes (e.g., <windows.h>) are needed
for other Windows targets.
* WebCorePrefix.h: When building for WinCairo, make sure
to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
2009-07-27 Michelangelo De Simone <micdesim@gmail.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=25552
Added new "pattern" attribute to HTMLInputElement and validation code
(validity.patternMismatch) as per HTML5 specs.
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
Tests: fast/forms/ValidityState-002.html
fast/forms/ValidityState-patternMismatch-001.html
fast/forms/ValidityState-patternMismatch-002.html
fast/forms/ValidityState-patternMismatch-003.html
fast/forms/ValidityState-patternMismatch-004.html
fast/forms/ValidityState-patternMismatch-005.html
fast/forms/ValidityState-patternMismatch-006.html
fast/forms/ValidityState-patternMismatch-007.html
fast/forms/pattern-attribute-001.html
fast/forms/pattern-attribute-002.html
fast/forms/pattern-attribute-003.html
* html/HTMLAttributeNames.in: pattern attribute
* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::patternMismatch): method definition
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::patternMismatch): validation method
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl:
* html/ValidityState.h:
(WebCore::ValidityState::patternMismatch): validation flag
2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] Manual WML tests aren't properly working
https://bugs.webkit.org/show_bug.cgi?id=27718
Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
Add missing resources directory and test image. Reformat all testcases to a common style.
Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
Filing bugs soon for all tests exposing bugs (7 in total).
* manual-tests/wml/StartTests.wml: Added.
* manual-tests/wml/a-br-element.wml:
* manual-tests/wml/a-element.wml:
* manual-tests/wml/a-img-element.wml:
* manual-tests/wml/access-target.wml:
* manual-tests/wml/anchor-br-element.wml:
* manual-tests/wml/anchor-element.wml:
* manual-tests/wml/anchor-img-element.wml:
* manual-tests/wml/card-newcontext-attr.wml:
* manual-tests/wml/card-onenterbackward.wml:
* manual-tests/wml/card-onenterforward.wml:
* manual-tests/wml/card-ontimer.wml:
* manual-tests/wml/card-title-attr.wml: Removed.
* manual-tests/wml/deck-access-control.wml:
* manual-tests/wml/go-element.wml: Removed.
* manual-tests/wml/input-emptyok.wml: Removed.
* manual-tests/wml/input-format.wml:
* manual-tests/wml/onevent-go.wml:
* manual-tests/wml/onevent-noop.wml:
* manual-tests/wml/onevent-prev.wml:
* manual-tests/wml/onevent-refresh.wml:
* manual-tests/wml/onevent-shadow.wml:
* manual-tests/wml/postfield-get.wml: Removed.
* manual-tests/wml/postfield-post.wml: Removed.
* manual-tests/wml/resources: Added.
* manual-tests/wml/resources/smiley.png: Added.
* manual-tests/wml/select-element.wml:
* manual-tests/wml/select-onpick-event.wml:
* manual-tests/wml/setvar-element.wml:
* manual-tests/wml/targetdeck.wml:
* manual-tests/wml/task-go-in-anchor.wml:
* manual-tests/wml/task-noop-in-do.wml:
* manual-tests/wml/task-noop-in-onevent.wml: Removed.
* manual-tests/wml/task-prev-in-anchor.wml:
* manual-tests/wml/task-refresh-in-anchor.wml:
* manual-tests/wml/template-go.wml:
* manual-tests/wml/template-onevent.wml: Removed.
* manual-tests/wml/template-ontimer.wml:
* manual-tests/wml/timer.wml:
* manual-tests/wml/variable-substitution.wml:
2009-07-27 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Fix a regression introduced in r42671, which caused the js event
object to be hidden (some websites depend on being able to access it).
https://bugs.webkit.org/show_bug.cgi?id=27719
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
2009-07-27 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Removing a no-op block of code in DatabaseTracker.cpp that
should've been removed in the patch for bug 26054.
https://bugs.webkit.org/show_bug.cgi?id=27666
All tests in WebCore/storage pass.
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
block of code that was moved to SQLiteFileSystem.cpp and should
have been removed from DatabaseTracker.cpp
2009-07-27 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Fix error handling in dedicated worker and worker context.
https://bugs.webkit.org/show_bug.cgi?id=27525
The following problems have been fixed:
1) The uncaught runtime script error is not reported using the
WorkerGlobalScope object's onerror attribute.
2) If the error is still not handled afterwards (onerror attribute
is not defined as a function or it returns true), the error should
be reported back to the associated Worker object by firing an
ErrorEvent.
3) If the error is still not handled by the associated Worker
object, the error should be reported to the user.
Test: fast/workers/worker-script-error.html
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::reportError):
* bindings/js/JSEventListener.h:
* dom/EventListener.h:
(WebCore::EventListener::reportError): adds a function to call
EventListener as a function with 3 arguments to report an error.
* workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::dispatchScriptErrorEvent):
* workers/AbstractWorker.h:
* workers/DedicatedWorkerContext.cpp:
(WebCore::DedicatedWorkerContext::reportException):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::reportException):
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::performTask):
* workers/WorkerMessagingProxy.h:
2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] History handling / page cache / loading is buggy and depends on several hacks
https://bugs.webkit.org/show_bug.cgi?id=27707
Redesign WML history/loading handling. In detail:
- Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
WML content itself.
WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
an XHTML document which embeds a WML document (that's the way the WML layout tests work).
Force WML loading behaviour even for XHTML document which embed WML documents. This only
applies to our layout tests, not for any real world site. Though it gives us a perfect
way to test the WML loading code even when we're not operating on a standalone WML document.
Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
in a standalone WML document or wheter the main frame document is different. If it differs
the main frame documents' "containsWMLContent" property is set to true.
-> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
checks if the associated frame document is a WML document or wheter it contains WML content.
- Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
detection. WML documents (or those containing WML content) always want new loads even for in-page
navigation. No "scroll to anchor" mechanism should apply.
- Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
WML pages should never be cached, potential security problem due the use of variables (per spec).
Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
and history navigation (<prev/> task).
Tests: wml/enter-card-with-events.html
wml/enter-first-card-with-events.html
* dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
(WebCore::Document::Document):
* dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
(WebCore::Document::setContainsWMLContent):
(WebCore::Document::containsWMLContent):
* history/BackForwardList.cpp:
(WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
* history/BackForwardList.h:
* loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
(WebCore::FrameLoader::FrameLoader):
(WebCore::frameContainsWMLContent):
(WebCore::FrameLoader::canCachePageContainingThisFrame):
(WebCore::FrameLoader::shouldReload):
(WebCore::FrameLoader::loadItem):
* loader/FrameLoader.h:
* wml/WMLCardElement.cpp:
(WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
(WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
* wml/WMLGoElement.cpp:
(WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
* wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
(WebCore::WMLPageState::WMLPageState):
(WebCore::WMLPageState::dump):
(WebCore::WMLPageState::reset):
* wml/WMLPageState.h:
2009-07-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Adam Roben.
Fix Chromium build breakage introduced in 46388.
https://bugs.webkit.org/show_bug.cgi?id=27705
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
(WebCore::FontPlatformData::description):
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Add some more debug logging to PluginViewMac.
* plugins/mac/PluginViewMac.cpp:
2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Jan Michael Alonzo.
Remove dead code from the GTK NPAPI implementation.
* plugins/gtk/PluginViewGtk.cpp:
2009-07-27 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
Reviewed by Simon Hausmann.
[Qt] Buildfix on Windows.
https://bugs.webkit.org/show_bug.cgi?id=27702
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::hookedEndPaint):
Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline
assembly, because with "g" constraint, wrong assembly code generated.
2009-07-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebCore bindings: Implement ScriptArray bindings.
https://bugs.webkit.org/show_bug.cgi?id=27691
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptArray.cpp: Added.
(WebCore::ScriptArray::ScriptArray):
(WebCore::handleException):
(WebCore::ScriptArray::set):
(WebCore::length):
(WebCore::ScriptArray::createNew):
* bindings/js/ScriptArray.h: Added.
(WebCore::ScriptArray::ScriptArray):
(WebCore::ScriptArray::jsArray):
* bindings/v8/ScriptArray.cpp: Added.
(WebCore::ScriptArray::ScriptArray):
(WebCore::ScriptArray::set):
(WebCore::ScriptArray::length):
(WebCore::ScriptArray::createNew):
* bindings/v8/ScriptArray.h: Added.
(WebCore::ScriptArray::ScriptArray):
(WebCore::ScriptArray::~ScriptArray):
2009-07-27 Brent Fulgham <bfulgham@webkit.org>
Build correct, no review.
Change in r46407 broke Apple Windows build.
Switch to WinCairo-only test, to avoid any
other platform break.
* WebCorePrefix.h:
2009-07-26 Brent Fulgham <bfulgham@webkit.org>
Build correct, no review.
Change in r46407 broke Apple Windows build.
* WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
CoreServices.h should be included.
2009-07-26 Brent Fulgham <bfulgham@webkit.org>
Build correction, no review.
Change in r46195 broke WinCairo build.
* WebCorePrefix.h: CoreServices should be ignored
for non-Apple build.
2009-07-26 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Implement the breakpoints sidebar pane.
This change adds simple UI support into the existing
BreakpointSidebarPane.
https://bugs.webkit.org/show_bug.cgi?id=11175
* inspector/front-end/Breakpoint.js:
(WebInspector.Breakpoint.prototype.set enabled):
(WebInspector.Breakpoint.prototype.get label):
(WebInspector.Breakpoint.prototype.get id):
* inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane):
(WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
(WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
(WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
(WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
(WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
* inspector/front-end/inspector.css:
2009-07-16 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Oliver Hunt.
Canvas: rotation of 'no-repeat' pattern still has small error
https://bugs.webkit.org/show_bug.cgi?id=26749
Use 1<<22 as steps of no-repeat pattern to make the error less
than 0.5. The previous value may cause 1 pixel errors.
Add another test to show this bug clearly.
Also add png expected image which was missing in the previous patch.
Test: fast/canvas/image-pattern-rotate.html
* platform/graphics/cg/PatternCG.cpp:
(WebCore::Pattern::createPlatformPattern):
2009-07-25 Kwang Yul Seo <skyul@company100.net>
Reviewed by Darin Adler.
Windows build break due to warning C4819
https://bugs.webkit.org/show_bug.cgi?id=27416
Disable C4819 warning to fix build.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCore.vcproj:
2009-07-25 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Kevin McCullough.
Inspector: Keyboard Shortcuts to Switch Panels
https://bugs.webkit.org/show_bug.cgi?id=27286
* inspector/front-end/inspector.js:
(WebInspector.loaded): save a list of the order of the panels
(WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
2009-07-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by George Staikos.
[Qt] Fix build break after r46369
https://bugs.webkit.org/show_bug.cgi?id=27680
* WebCore.pro:
2009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] Variable substitution is buggy
https://bugs.webkit.org/show_bug.cgi?id=27677
Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
* dom/Text.cpp:
(WebCore::Text::attach):
* dom/Text.h:
2009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
[WML] WMLDoElement doesn't update its RenderButton object upon attach()
https://bugs.webkit.org/show_bug.cgi?id=27676
WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
* wml/WMLDoElement.cpp:
(WebCore::WMLDoElement::attach):
* wml/WMLDoElement.h:
2009-07-25 Pavel Feldman <pfeldman@chromium.org>
Fix Windows build breakage introduced in 46390.
* WebCore.vcproj/WebCore.vcproj:
2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Oliver Hunt.
Inspector: Properties Should be Sorted more Naturally
https://bugs.webkit.org/show_bug.cgi?id=27329
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
(WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
* inspector/front-end/utilities.js:
(Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
2009-07-24 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Split InspectorController into InspectorController
and InspectorBackend. Everything frontend needs from InspectorController
will slowly migrate into the InspectorBackend.
https://bugs.webkit.org/show_bug.cgi?id=27541
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/JSInspectorBackendCustom.cpp: Added.
(WebCore::JSInspectorBackend::highlightDOMNode):
(WebCore::JSInspectorBackend::search):
(WebCore::JSInspectorBackend::databaseTableNames):
(WebCore::JSInspectorBackend::inspectedWindow):
(WebCore::JSInspectorBackend::setting):
(WebCore::JSInspectorBackend::setSetting):
(WebCore::JSInspectorBackend::wrapCallback):
(WebCore::JSInspectorBackend::currentCallFrame):
(WebCore::JSInspectorBackend::profiles):
* bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
(WebCore::CALLBACK_FUNC_DECL):
* bindings/js/JSInspectorControllerCustom.cpp: Removed.
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/js/ScriptObject.h:
* bindings/v8/DOMObjectsInclude.h:
* bindings/v8/DerivedSourcesAllInOne.cpp:
* bindings/v8/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/v8/ScriptObject.h:
* bindings/v8/V8Index.cpp:
* bindings/v8/V8Index.h:
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::windowScriptObjectAvailable):
* inspector/InspectorController.h:
(WebCore::InspectorController::inspectorBackend):
* inspector/InspectorBackend.cpp: Added.
* inspector/InspectorBackend.h: Added.
(WebCore::InspectorBackend::create):
(WebCore::InspectorBackend::inspectorController):
* inspector/InspectorBackend.idl: Added.
* inspector/InspectorController.idl: Removed.
* inspector/front-end/Resource.js:
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
2009-07-25 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by George Staikos.
Update WebCore/page/Frame.cpp/h to conform to WebKit
Style Guidelines as identified by cpplint.py.
https://bugs.webkit.org/show_bug.cgi?id=27654
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::~Frame):
(WebCore::Frame::setDocument):
(WebCore::Frame::firstRectForRange):
(WebCore::createRegExpForLabels):
(WebCore::Frame::searchForLabelsBeforeElement):
(WebCore::Frame::matchLabelsAgainstElement):
(WebCore::Frame::selectionLayoutChanged):
(WebCore::Frame::setZoomFactor):
(WebCore::Frame::reapplyStyles):
(WebCore::Frame::isContentEditable):
(WebCore::Frame::computeAndSetTypingStyle):
(WebCore::Frame::selectionStartStylePropertyValue):
(WebCore::Frame::selectionComputedStyle):
(WebCore::Frame::applyEditingStyleToBodyElement):
(WebCore::Frame::removeEditingStyleFromBodyElement):
(WebCore::Frame::applyEditingStyleToElement):
(WebCore::Frame::selectionBounds):
(WebCore::Frame::currentForm):
(WebCore::Frame::revealSelection):
(WebCore::Frame::styleForSelectionStart):
(WebCore::Frame::setSelectionFromNone):
(WebCore::Frame::findString):
(WebCore::Frame::markAllMatchesForText):
(WebCore::Frame::setMarkedTextMatchesAreHighlighted):
(WebCore::Frame::clearFormerDOMWindow):
(WebCore::Frame::unfocusWindow):
(WebCore::Frame::respondToChangedSelection):
(WebCore::Frame::documentAtPoint):
* page/Frame.h:
(WebCore::Frame::create):
(WebCore::Frame::displayStringModifiedByEncoding):
(WebCore::Frame::pageZoomFactor):
(WebCore::Frame::textZoomFactor):
2009-07-24 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Add functions to print the glyph page trees for debugging
https://bugs.webkit.org/show_bug.cgi?id=27671
* platform/graphics/FontData.h: Defined a description() method.
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
its descendants.
(showGlyphPageTrees): Added. Prints all glyph page trees.
(showGlyphPageTree): Added. Prints the glyph page tree for a given page.
* platform/graphics/GlyphPageTreeNode.h:
* platform/graphics/SegmentedFontData.cpp:
(WebCore::SegmentedFontData::description): Added.
* platform/graphics/SegmentedFontData.h:
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::description): Added. Uses the platform data
as the description for non-svg, non-custom fonts.
* platform/graphics/SimpleFontData.h:
* platform/graphics/gtk/FontPlatformData.h:
* platform/graphics/gtk/FontPlatformDataGtk.cpp:
(WebCore::FontPlatformData::description): Added. Returns a null string.
* platform/graphics/gtk/FontPlatformDataPango.cpp:
(WebCore::FontPlatformData::description): Added. Returns a null string.
* platform/graphics/mac/FontPlatformData.h:
* platform/graphics/mac/FontPlatformDataMac.mm:
(WebCore::FontPlatformData::description): Added. Returns the
description of the CGFont, the size and the synthetic style flags,
if set.
* platform/graphics/qt/FontPlatformData.h:
* platform/graphics/qt/FontPlatformDataQt.cpp:
(WebCore::FontPlatformData::description): Added. Returns a null string.
* platform/graphics/win/FontPlatformData.h:
* platform/graphics/win/FontPlatformDataWin.cpp:
(WebCore::FontPlatformData::description): Added. Returns a null string.
* platform/graphics/wince/FontPlatformData.cpp:
(WebCore::FontPlatformData::description): Added. Returns a null string.
* platform/graphics/wince/FontPlatformData.h:
* platform/graphics/wx/FontPlatformData.h:
* platform/graphics/wx/FontPlatformDataWx.cpp:
(WebCore::FontPlatformData::description): Added. Returns a null string.
2009-07-24 Mads Ager <ager@chromium.org>
Reviewed by Adam Barth.
SVG and XPath memory leaks in V8 bindings
https://bugs.webkit.org/show_bug.cgi?id=27488
Add proper 'create' methods to SVGPodTypeWrappers and
XPathNSResolvers in the V8 bindings to avoid memory leaks.
Introduce convertToV8Object methods that accept PassRefPtrs and
clean up the use of get() and release() on RefPtrs.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::convertNodeToV8Object):
(WebCore::V8DOMWrapper::convertEventToV8Object):
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
(WebCore::V8DOMWrapper::convertEventListenerToV8Object):
* bindings/v8/V8SVGPODTypeWrapper.h:
(WebCore::V8SVGPODTypeWrapperCreatorForList::create):
(WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
(WebCore::V8SVGStaticPODTypeWrapper::create):
(WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
(WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
(WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
(WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
(WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
(WebCore::V8SVGDynamicPODTypeWrapper::create):
(WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
(WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8ClientRectListCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::create):
* bindings/v8/custom/V8CustomXPathNSResolver.h:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8ElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::getNamedItems):
(WebCore::getItem):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8HTMLFormElementCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
* bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8InspectorControllerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8NodeIteratorCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8SVGMatrixCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8TreeWalkerCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8XSLTProcessorCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
2009-07-24 Brian Weinstein <bweinstein@apple.com>
Reviewed by Jon Honeycutt.
Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
https://bugs.webkit.org/show_bug.cgi?id=21794
Create two new booleans to determine whether we have done a springloaded pan scroll, and update
the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
does.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler): Initialized two new booleans.
(WebCore::EventHandler::autoscrollTimerFired):
(WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
(WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
(WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
* page/EventHandler.h:
2009-07-24 Yong Li <yong.li@torchmobile.com>
Reviewed by George Staikos.
https://bugs.webkit.org/show_bug.cgi?id=27657
Add more wince port files to WebCore
Written by Yong Li <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
* loader/icon/wince/IconDatabaseWince.cpp: Added.
* rendering/RenderThemeWince.cpp: Added.
* rendering/RenderThemeWince.h: Added.
* storage/wince/DatabaseThreadWince.cpp: Added.
* storage/wince/DatabaseThreadWince.h: Added.
* storage/wince/LocalStorageThreadWince.cpp: Added.
* storage/wince/LocalStorageThreadWince.h: Added.
* svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
2009-07-24 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Justin Garcia.
execCommand('underline') can modify DOM outside of the contentEditable area
https://bugs.webkit.org/show_bug.cgi?id=24333
highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
outside of it, we don't accidently modify the style attribute.
Tests: editing/style/textdecoration-outside-of-rooteditable.html
editing/style/textdecoration-outside-of-unsplittable-element.html
* editing/ApplyStyleCommand.cpp:
(WebCore::StyleChange::init):
(WebCore::highestAncestorWithTextDecoration):
2009-07-24 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=27639
Fixes false positives when evaluating certain strings that only contain
non-canonical characters.
Test: http/tests/security/xssAuditor/script-tag-safe.html
* page/XSSAuditor.cpp:
(WebCore::isNonCanonicalCharacter):
(WebCore::XSSAuditor::findInRequest):
2009-07-24 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
Changed WorkerContext destructor to not access possibly-freed WorkerThread.
Failed assertion in WorkerContext::~WorkerContext().
https://bugs.webkit.org/show_bug.cgi?id=27665
* workers/DedicatedWorkerContext.cpp:
(WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::~WorkerContext):
Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
2009-07-24 Drew Wilson <atwilson@google.com>
Reviewed by Adam Barth.
Updated code generator to properly generate bindings for WorkerContext exposed functions.
Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
https://bugs.webkit.org/show_bug.cgi?id=27419
Test: fast/workers/worker-call.html
* bindings/js/JSWorkerContextBase.cpp:
(WebCore::toJSDedicatedWorkerContext):
(WebCore::toJSWorkerContext):
Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
* bindings/js/JSWorkerContextBase.h:
Added toJS*WorkerContext APIs.
* bindings/scripts/CodeGeneratorJS.pm:
Added code to appropriately check the passed-in this object when invoking functions at global scope.
2009-07-24 Drew Wilson <atwilson@google.com>
Reviewed by Adam Barth.
Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
https://bugs.webkit.org/show_bug.cgi?id=27420
No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
* DerivedSources.cpp:
Added JSDerivedWorkerContext.cpp
* DerivedSources.make:
Added DerivedWorkerContext files
* GNUmakefile.am:
Added DerivedWorkerContext files
* WebCore.gypi:
Added DerivedWorkerContext files
* WebCore.pro:
Added DerivedWorkerContext files
* WebCore.vcproj/WebCore.vcproj:
Added DerivedWorkerContext files
* WebCore.xcodeproj/project.pbxproj:
Added DerivedWorkerContext files
* bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
(WebCore::JSDedicatedWorkerContext::mark):
Custom mark function for onmessage event handler.
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
Supports conversion to JSDedicatedWorkerContext.
(WebCore::toEventTarget):
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::mark):
Moved onmessage mark handling into DedicatedWorkerContext.
* bindings/js/WorkerScriptController.cpp:
Added appropriate casts to DedicatedWorkerContext for postMessage().
(WebCore::WorkerScriptController::initScript):
Manually sets up the prototype chain for the worker context.
* bindings/scripts/CodeGeneratorJS.pm:
Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
* bindings/scripts/CodeGeneratorV8.pm:
Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
* bindings/v8/DOMObjectsInclude.h:
Added DedicatedWorkerContext.h
* bindings/v8/DerivedSourcesAllInOne.cpp:
Added V8DedicatedWorkerContext.cpp
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getTemplate):
Added code to reserve extra fields for V8DedicatedWorkerContext.
* bindings/v8/V8Index.cpp:
Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
* bindings/v8/V8Index.h:
Added DedicatedWorkerContext as a non-node wrapper type.
Removed WORKERCONTEXT as a valid template type.
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
Creates DedicatedWorkerContext instead of WorkerContext.
(WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
Returns DedicatedWorkerContext instead of WorkerContext.
(WebCore::WorkerContextExecutionProxy::retrieve):
Refactored to deal with DedicatedWorkerContext.
* bindings/v8/custom/V8AbstractWorkerCustom.cpp:
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
Moved onmessage code from V8WorkerContextCustom.cpp
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
* dom/EventTarget.cpp:
(WebCore::EventTarget::toDedicatedWorkerContext):
* dom/EventTarget.h:
* workers/DedicatedWorkerContext.cpp: Added.
Moved DedicatedWorker-only APIs from WorkerContext.
(WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
(WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
(WebCore::DedicatedWorkerContext::reportException):
(WebCore::DedicatedWorkerContext::postMessage):
(WebCore::DedicatedWorkerContext::dispatchMessage):
* workers/DedicatedWorkerContext.h: Added.
Moved DedicatedWorker-only APIs from WorkerContext.
(WebCore::DedicatedWorkerContext::create):
(WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
(WebCore::DedicatedWorkerContext::setOnmessage):
(WebCore::DedicatedWorkerContext::onmessage):
* workers/DedicatedWorkerContext.idl: Added.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::~WorkerContext):
Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
* workers/WorkerContext.h:
(WebCore::WorkerContext::isClosing):
Exposed closing flag as an API so derived classes can access it.
* workers/WorkerContext.idl:
* workers/WorkerMessagingProxy.cpp:
(WebCore::MessageWorkerContextTask::performTask):
Calls into DedicatedWorkerContext to handle message.
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::workerThread):
Creates a DedicatedWorkerContext when the thread starts up.
2009-07-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move more callers to using 3 argument toJS
https://bugs.webkit.org/show_bug.cgi?id=27661
No functional changes, thus no tests.
These are all the places where we can't yet pass the
correct globalObject because we don't have or don't know the right one.
* bindings/js/JSCustomPositionCallback.cpp:
(WebCore::JSCustomPositionCallback::handleEvent):
* bindings/js/JSCustomPositionErrorCallback.cpp:
(WebCore::JSCustomPositionErrorCallback::handleEvent):
* bindings/js/JSCustomSQLStatementCallback.cpp:
(WebCore::JSCustomSQLStatementCallback::handleEvent):
* bindings/js/JSCustomSQLStatementErrorCallback.cpp:
(WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
* bindings/js/JSCustomSQLTransactionCallback.cpp:
(WebCore::JSCustomSQLTransactionCallback::handleEvent):
* bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
(WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode):
2009-07-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Fix the last of the x-frame constructor calls to have the right prototype chains
https://bugs.webkit.org/show_bug.cgi?id=27645
Fix the last few constructors to use their stored globalObject pointer when
constructing objects instead of the lexicalGlobalObject().
* bindings/js/JSAudioConstructor.cpp:
(WebCore::constructAudio):
* bindings/js/JSImageConstructor.cpp:
(WebCore::constructImage):
* bindings/js/JSMessageChannelConstructor.cpp:
(WebCore::JSMessageChannelConstructor::construct):
* bindings/js/JSOptionConstructor.cpp:
(WebCore::constructHTMLOptionElement):
* bindings/js/JSWebKitPointConstructor.cpp:
(WebCore::constructWebKitPoint):
* bindings/js/JSWorkerConstructor.cpp:
(WebCore::constructWorker):
2009-07-24 Jian Li <jianli@chromium.org>
Reviewed by Adam Barth.
[V8] Cleanup exception handling in worker evaluation code.
https://bugs.webkit.org/show_bug.cgi?id=27282
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::evaluate):
* bindings/v8/WorkerContextExecutionProxy.h:
(WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):
2009-07-24 Stephen White <senorblanco@chromium.org>
Reviewed by David Levin.
Reverting r46157, since it may be causing problems with Chromium
reliability (see http://crbug.com/17569).
https://bugs.webkit.org/show_bug.cgi?id=27388
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawLine):
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::setupPaintForStroking):
2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
REGRESSION: inspector seems broken in ToT WebKit
https://bugs.webkit.org/show_bug.cgi?id=27646
* inspector/front-end/Console.js:
(WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
2009-07-24 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Add the shadow style member to the ShadowData constructor and ==
operator
* rendering/style/ShadowData.cpp:
(WebCore::ShadowData::ShadowData):
(WebCore::ShadowData::operator==):
2009-07-24 Jian Li <jianli@chromium.org>
Reviewed by Eric Seidel.
[V8] More V8 bindings changes to use ErrorEvent.
https://bugs.webkit.org/show_bug.cgi?id=27630
* bindings/v8/DOMObjectsInclude.h:
* bindings/v8/DerivedSourcesAllInOne.cpp:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventToV8Object):
* bindings/v8/V8Index.cpp:
* bindings/v8/V8Index.h:
2009-07-24 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Dave Hyatt.
Clean up dependencies on Apple support libraries for non-Apple build.
http://bugs.webkit.org/show_bug.cgi?id=27532.
* platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
to ApplicationServices.h and WebKitSystemInterface.h
2009-07-24 Dan Bernstein <mitz@apple.com>
Another attempted build fix
* bindings/js/JSAbstractWorkerCustom.cpp:
2009-07-24 Dan Bernstein <mitz@apple.com>
Attempted build fix
* bindings/js/JSAbstractWorkerCustom.cpp:
(WebCore::toJS):
2009-07-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
Build fix for 64 bit Linux.
int64_t is long on Linux 64 bit and not long long, thus
getFileSize with a int64_t out value fails to build.
Use a temporary to work around the problem.
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::spaceNeeded):
2009-07-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
https://bugs.webkit.org/show_bug.cgi?id=27644
This is another attempt at making the change for bug 27634 smaller.
I included the changes to make_names.pl as well as any file which
used CREATE_DOM_*_WRAPPER macros.
The changes to the construct* functions are what fix the cases in
fast/dom/constructed-objects-prototypes.html
The changes to passing globalObject through CREATE_* are what fix
fast/dom/prototype-inheritance-2.html
* bindings/js/JSCDATASectionCustom.cpp:
(WebCore::toJSNewlyCreated): pass globalObject.
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS): pass globalObject.
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJS): pass globalObject.
* bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
* bindings/js/JSDocumentCustom.cpp:
(WebCore::toJS): pass globalObject.
* bindings/js/JSElementCustom.cpp:
(WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
(WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
(WebCore::toJSNewlyCreated): pass globalObject.
* bindings/js/JSEventCustom.cpp:
(WebCore::JSEvent::clipboardData): pass globalObject.
(WebCore::toJS): pass globalObject.
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
(WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
(WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
(WebCore::toJS): pass globalObject.
* bindings/js/JSImageDataCustom.cpp:
(WebCore::toJS): pass globalObject.
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapper): pass globalObject.
* bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJS): pass globalObject.
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::toJS): pass globalObject.
* bindings/js/JSTextCustom.cpp:
(WebCore::toJSNewlyCreated): pass globalObject.
* bindings/js/JSWebKitCSSMatrixConstructor.cpp:
(WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
* bindings/js/JSXMLHttpRequestConstructor.cpp:
(WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
* bindings/js/JSXSLTProcessorConstructor.cpp:
(WebCore::constructXSLTProcessor): use constructors globalObject when constructing
* dom/make_names.pl:
Pass globalObject through CREATE_* macros and various support functions.
2009-07-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
https://bugs.webkit.org/show_bug.cgi?id=27643
This is an attempt to make this change as small as possible.
I started by including all changes to CodeGeneratorJS.pm from bug 27634,
and then made the minimal amount of other changes needed to support that change.
Most toJS implementations ignore their passed JSDOMGlobalObject.
There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
All places where it is not clear what we should pass as the global object
(or where the global object is simply not available, like for some SVG bindings)
we pass deprecatedGlobalObjectForPrototype instead.
* bindings/js/JSCDATASectionCustom.cpp:
(WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException): pass the wrong globalObject for now
* bindings/js/JSDOMBinding.h:
Pass the wrong global object to the CREATE_ macros for now.
In the next change we'll come back and pass the correct one.
That will require changes to make_names.pl.
(WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
(WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
(WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
(WebCore::createDOMObjectWrapper):
(WebCore::getDOMObjectWrapper):
(WebCore::createDOMNodeWrapper):
(WebCore::getDOMNodeWrapper):
(WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
(WebCore::toJSNewlyCreated):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::toJS): DOMWindow always uses its own prototype chain.
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDocumentCustom.cpp:
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSEventTarget.h:
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSImageDataCustom.cpp:
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
(WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::toJS): pass globalObject along
* bindings/js/JSSVGMatrixCustom.cpp:
(WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
(WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
* bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJS):
* bindings/js/JSSVGPathSegListCustom.cpp:
All of these methods need a globalObject, but most SVG binding don't have
space for one, so we just pass the lexicalGlobalObject for now.
(WebCore::JSSVGPathSegList::initialize):
(WebCore::JSSVGPathSegList::getItem):
(WebCore::JSSVGPathSegList::insertItemBefore):
(WebCore::JSSVGPathSegList::replaceItem):
(WebCore::JSSVGPathSegList::removeItem):
(WebCore::JSSVGPathSegList::appendItem):
* bindings/js/JSSVGPointListCustom.cpp:
(WebCore::finishGetter): pass wrong globalObject for now.
(WebCore::finishSetter):
(WebCore::finishSetterReadOnlyResult):
* bindings/js/JSSVGTransformListCustom.cpp:
(WebCore::finishGetter): pass wrong globalObject for now.
(WebCore::finishSetter):
(WebCore::finishSetterReadOnlyResult):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::toJS): add ignored JSDOMGlobalObject*
* bindings/js/JSTextCustom.cpp:
(WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
* bindings/js/JSWorkerContextBase.cpp:
(WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
* bindings/js/JSWorkerContextBase.h:
* bindings/scripts/CodeGeneratorJS.pm:
All generated toJS calls now pass a globalObject.
All generated toJS implementations now expect a globalObject.
Simplified all the slot casts by using a "castedThis" local.
SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
Simplified printing of constructor objects using a $constructorClassName variable.
All generated constructor functions follow the construct$className form to match the custom constructors.
2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
typing "document.__proto__" in inspector throws exception
https://bugs.webkit.org/show_bug.cgi?id=27169
* inspector/front-end/utilities.js:
(Object.type):
2009-07-24 Andrei Popescu <andreip@google.com>
Reviewed by Anders Carlsson.
ApplicationCache should have size limit
https://bugs.webkit.org/show_bug.cgi?id=22700
https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
This change implements a mechanism for limiting the maximum size of
the application cache file. When this size is reached, a ChromeClient
callback is invoked asynchronously and the saving of the last (failed)
cache is retried automatically.
This change also extends the ApplicationCacheStorage API by allowing
a client to query or modify the application cache without having to
load any resources into memory.
Test: http/tests/appcache/max-size.html
* WebCore.base.exp:
Exports the symbols required by the DumpRenderTree test application.
* loader/EmptyClients.h:
Adds empty implementation of the new ChromeClient methods.
* loader/appcache/ApplicationCache.cpp:
* loader/appcache/ApplicationCache.h:
Adds the ability to calculate the approximate size of an ApplicationCache object.
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheGroup.h:
Invokes the ChromeClient callback when the storage layer runs out of space.
After the callback is invoked, we re-attempt to store the newest cache,
in case the ChromeClient has freed some space.
* loader/appcache/ApplicationCacheResource.cpp:
* loader/appcache/ApplicationCacheResource.h:
Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
* loader/appcache/ApplicationCacheStorage.cpp:
* loader/appcache/ApplicationCacheStorage.h:
Enforces a maximum size for the application cache file.
* page/ChromeClient.h:
Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
reached the maximum size for its database file.
* platform/sql/SQLiteDatabase.cpp:
* platform/sql/SQLiteDatabase.h:
Adds a new method that allows querying for the amount of unused space inside the
application cache database file.
2009-07-24 Xan Lopez <xlopez@igalia.com>
Reviewed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=25415
[GTK][ATK] Please implement support for get_text_at_offset
Use TextEncoding facilities to convert between UTF16 and UTF8
instead of rolling our own solution.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(convertUniCharToUTF8):
2009-07-24 Xan Lopez <xlopez@igalia.com>
Reviewed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=25415
[GTK][ATK] Please implement support for get_text_at_offset
Fix confusion in g_substr between length in bytes and length in
characters. Was causing crashes in some situations when dealing
with non-ASCII text encoded as UTF8.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(g_substr):
2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Inspector: Impossible to add an attribute to a node without attributes
https://bugs.webkit.org/show_bug.cgi?id=21108
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement):
(WebInspector.ElementsTreeElement.prototype.set hovered):
(WebInspector.ElementsTreeElement.prototype.toggleNewButton):
(WebInspector.ElementsTreeElement.prototype.ondblclick):
(WebInspector.ElementsTreeElement.prototype._startEditing):
(WebInspector.ElementsTreeElement.prototype._addNewAttribute):
(WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
* inspector/front-end/inspector.css:
2009-07-24 Keishi Hattori <casey.hattori@gmail.com>
Reviewed by Timothy Hatcher.
Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
https://bugs.webkit.org/show_bug.cgi?id=17907
* inspector/front-end/Console.js:
(WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
_inspectedNodes, _addInspectedNode, $0, $1, $n}
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
in _inspectorCommandLineAPI._inspectedNodes
(WebInspector.ElementsPanel):
2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Dragging a resource in the sidebar should drag it's URL
https://bugs.webkit.org/show_bug.cgi?id=14410
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourceSidebarTreeElement.prototype.onattach):
2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Double click on a resource in the sidebar should open that resource in Safari
https://bugs.webkit.org/show_bug.cgi?id=14409
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
2009-07-24 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Xan Lopez.
Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
* platform/graphics/gtk/FontGtk.cpp:
(WebCore::getDefaultPangoLayout):
* platform/graphics/gtk/FontPlatformDataPango.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/gtk/Language.cpp:
2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Inspector: Missing UIString and other localizedString.js fixes
https://bugs.webkit.org/show_bug.cgi?id=27288
* English.lproj/localizedStrings.js:
2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Timothy Hatcher.
Inspector: Should Syntax Highlight JSON
https://bugs.webkit.org/show_bug.cgi?id=27503
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype._contentLoaded):
2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Eric Seidel.
Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
Style Guidelines as identified by cpplint.py.
https://bugs.webkit.org/show_bug.cgi?id=27624
* page/DragController.cpp:
(WebCore::DragController::~DragController):
(WebCore::documentFragmentFromDragData):
(WebCore::DragController::dragEnded):
(WebCore::DragController::dragEntered):
(WebCore::DragController::dragExited):
(WebCore::DragController::dragUpdated):
(WebCore::DragController::performDrag):
(WebCore::asFileInput):
(WebCore::DragController::tryDocumentDrag):
(WebCore::DragController::delegateDragSourceAction):
(WebCore::DragController::concludeEditDrag):
(WebCore::DragController::canProcessDrag):
(WebCore::DragController::tryDHTMLDrag):
(WebCore::DragController::mayStartDragAtEventLocation):
(WebCore::getCachedImage):
(WebCore::getImage):
(WebCore::prepareClipboardForImageDrag):
(WebCore::dragLocForDHTMLDrag):
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):
(WebCore::DragController::placeDragCaret):
2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Eric Seidel.
Update WebCore/page/Chrome.cpp to conform to WebKit
Style Guidelines as identified by cpplint.py.
https://bugs.webkit.org/show_bug.cgi?id=27608
* page/Chrome.cpp:
(WebCore::Chrome::runBeforeUnloadConfirmPanel):
(WebCore::Chrome::runJavaScriptAlert):
(WebCore::Chrome::runJavaScriptConfirm):
(WebCore::Chrome::runJavaScriptPrompt):
(WebCore::Chrome::shouldInterruptJavaScript):
(WebCore::Chrome::setToolTip):
(WebCore::Chrome::requestGeolocationPermissionForFrame):
(WebCore::ChromeClient::generateReplacementFile):
(WebCore::ChromeClient::paintCustomScrollbar):
2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Eric Seidel.
Update WebCore/page/Coordinates.cpp to conform to WebKit
Style Guidelines as identified by cpplint.py.
https://bugs.webkit.org/show_bug.cgi?id=27614
* page/Coordinates.cpp:
(WebCore::Coordinates::toString):
2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Eric Seidel.
Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
Style Guidelines as identified by cpplint.py.
https://bugs.webkit.org/show_bug.cgi?id=27614
* page/DOMSelection.cpp:
(WebCore::DOMSelection::setBaseAndExtent):
(WebCore::DOMSelection::modify):
(WebCore::DOMSelection::addRange):
(WebCore::DOMSelection::deleteFromDocument):
* page/DOMSelection.h:
2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by Eric Seidel.
Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
Style Guidelines as identified by cpplint.py.
https://bugs.webkit.org/show_bug.cgi?id=27618
* page/DOMTimer.cpp:
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::~DOMTimer):
(WebCore::DOMTimer::fired):
(WebCore::DOMTimer::suspend):
(WebCore::DOMTimer::resume):
(WebCore::DOMTimer::canSuspend):
* page/DOMTimer.h:
(WebCore::DOMTimer::minTimerInterval):
(WebCore::DOMTimer::setMinTimerInterval):
2009-07-24 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
https://bugs.webkit.org/show_bug.cgi?id=27641
Nothing uses globalObject() yet, but this was causing crashes
in the patch for bug 27634. This is covered by fast/dom/gc-6.html.
I decided to change these to Base:: instead of DOMObjectWithGlobal::
for future-proofing. All autogenerated classes use a typedef Base
to avoid bugs like these. Sadly C++ does not have a built-in super:: we could use.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSAbstractWorkerCustom.cpp:
(WebCore::JSAbstractWorker::mark):
* bindings/js/JSDOMApplicationCacheCustom.cpp:
(WebCore::JSDOMApplicationCache::mark):
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::mark):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::mark):
* bindings/js/JSNamedNodesCollection.cpp:
(WebCore::JSNamedNodesCollection::getOwnPropertySlot):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::mark):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::mark):
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::mark):
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::mark):
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::mark):
2009-07-22 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Make most DOMObjects hold onto a JSDOMGlobalObject*
https://bugs.webkit.org/show_bug.cgi?id=27588
This change is almost entirely plumbing. Only one functional
change as part of this all (window.document.constructor has the correct prototype)
Changes are detailed below.
inner.document.constructor is fixed because all properties on the window
object are created with the correct globalObject (instead of the lexical one).
Since all objects now carry a globalObject pointer, when document creates
HTMLDocumentConstructor it now has the right globalObject to use.
Tests:
fast/dom/prototype-inheritance.html
fast/dom/prototype-inheritance-2.html
* bindings/js/DOMObjectWithSVGContext.h:
(WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
Update the comment and add an ignored globalObject argument.
* bindings/js/JSDOMBinding.h:
Pass a globalObject to all DOMObjects during creation. Currently it's the wrong global object.
Once toJS is passed a globalObject it will be the right one.
(WebCore::createDOMObjectWrapper):
(WebCore::createDOMNodeWrapper):
* bindings/js/JSDOMGlobalObject.h:
(WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
(WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
* bindings/js/JSHTMLAllCollection.h:
(WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
* bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
(WebCore::getNamedItems):
(WebCore::callHTMLCollection):
(WebCore::JSHTMLCollection::canGetItemsForName):
(WebCore::JSHTMLCollection::nameGetter):
(WebCore::JSHTMLCollection::item):
(WebCore::JSHTMLCollection::namedItem):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSNamedNodesCollection.cpp:
Now passed globalObject. This is tested by inner.document.forms.testForm.
The passed globalObject is still wrong until toJS is fixed.
(WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
* bindings/js/JSNamedNodesCollection.h:
* bindings/js/JSSharedWorkerConstructor.cpp:
Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
This class is not compiled by default, so not testable.
(WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
* bindings/js/JSSharedWorkerConstructor.h:
* bindings/scripts/CodeGeneratorJS.pm:
Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
SVG bindings which need a context() pointer do not have enough space for globalObject() too.
WorkerContext does not need a globalObject (it is one), so special case it.
Make all .constructor calls use the stored globalObject(). This is what fixes window.document.constructor.
Make all constructors inherit from DOMConstructorObject for consistency. Since the auto-bound constructors
override createStructure anyway, there is no functional change here. Just completing work started in r45938.
2009-07-23 Brady Eidson <beidson@apple.com>
Reviewed by Geoff Garen.
WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
https://bugs.webkit.org/show_bug.cgi?id=27595
Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
* inspector/InspectorController.cpp:
(WebCore::InspectorController::removeResource): Null-check the request URL.
* platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
(WebCore::willSendRequest):
2009-07-23 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 27633 - AXLoadComplete can be fired off to frequently
https://bugs.webkit.org/show_bug.cgi?id=27633
An integration issue left out some curly braces.
* dom/Document.cpp:
(WebCore::Document::implicitClose):
2009-07-23 Darin Adler <darin@apple.com>
Reviewed by Brady Eidson.
URL appears in back/forward button menu instead of title for items with custom representation
https://bugs.webkit.org/show_bug.cgi?id=27586
rdar://problem/5060337
* WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
loader is the correct one; previously this would never happen because we'd
commit the load before any title changes could be registered, but now we can
encounter a case where we get a title during a provisional load.
2009-07-23 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
[CSS3 Backgrounds and Borders] Add support for inset box shadows
https://bugs.webkit.org/show_bug.cgi?id=27582
Test: fast/box-shadow/inset.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
as needed.
* css/CSSParser.cpp:
(WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
members. Initialize the allowStyle member.
(WebCore::ShadowParseContext::commitValue): Pass the style value to the
ShadowValue constructor. Reset allowStyle.
(WebCore::ShadowParseContext::commitLength): Update allowStyle.
(WebCore::ShadowParseContext::commitColor): Ditto.
(WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
updates the state.
(WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Get the style value from the
shadow value and pass it to the ShadowData constructor.
* css/ShadowValue.cpp:
(WebCore::ShadowValue::ShadowValue): Added style.
(WebCore::ShadowValue::cssText): Added style.
* css/ShadowValue.h:
(WebCore::ShadowValue::create): Added style.
* page/animation/AnimationBase.cpp:
(WebCore::blendFunc): Added a blend function for shadow styles. When blending
between normal and inset shadows, all intermediate values map to normal.
(WebCore::PropertyWrapperShadow::blend): Added normal style to the default
shadow.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
which is passed through to RenderBoxModelObject::paintBoxShadow().
(WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
the background.
* rendering/InlineFlowBox.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
background.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
parameter, and code to paint inset shadows.
* rendering/RenderBoxModelObject.h:
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
the background.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paintBoxDecorations): Ditto.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintBoxDecorations): Ditto.
* rendering/style/ShadowData.h:
Added a ShadowStyle enum.
(WebCore::ShadowData::ShadowData): Add and initialize a style member.
2009-07-23 Simon Fraser <simon.fraser@apple.com>
Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
* css/MediaQueryEvaluator.cpp:
(WebCore::transform_3dMediaFeatureEval):
2009-07-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Adele Peterson.
3d-transforms media query needs to look check that accelerated compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=27621
When evaluating a media query with '-webkit-transform-3d', we need to check the
runtime switch that toggles accererated compositing, and therefore 3D.
No test because we can't disable the pref dynamically in DRT.
* css/MediaQueryEvaluator.cpp:
(WebCore::transform_3dMediaFeatureEval):
2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
execCommand('underline') can't remove <U> underlines
https://bugs.webkit.org/show_bug.cgi?id=20215
This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
WebKit can remove those presentational tags when necessary.
It also modifies StyleChange::init not to add "text-decoration: none". Not only is this style meaningless
(does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
* css/CSSValueList.cpp:
(WebCore::CSSValueList::hasValue): True if the property contains the specified value
* css/CSSValueList.h: Updated prototype
* editing/ApplyStyleCommand.cpp:
(WebCore::StyleChange::init): No longer adds "text-decoration: none"
(WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
2009-07-23 Jessie Berlin <jberlin@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=27554
Expose the value of text-overflow in getComputedStyle.
Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
Add text-overflow to the list of computedProperties.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Return the value of the text-overflow property.
2009-07-23 Yongjun Zhang <yongjun.zhang@nokia.com>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=27510
[S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
file for linking. This is a temporary workaround for qmake bug in Symbian port, should
be reverted after qmake is fixed.
* WebCore.pro:
2009-07-23 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
[V8] Fix an assert in running workers in Chrome.
https://bugs.webkit.org/show_bug.cgi?id=27620
The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
to do not call removeObjectsFromWrapperMap for certain types of DOM
objects that exist only in main thread.
* bindings/v8/V8DOMMap.cpp:
(WebCore::removeAllDOMObjectsInCurrentThreadHelper):
2009-07-23 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=27572
Implement support for background-attachment:local.
Added new test fast/overflow/overflow-with-local-attachment.html.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFillProperty):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFillAttachment):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::mapFillAttachment):
* css/CSSValueKeywords.in:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
* rendering/style/FillLayer.h:
(WebCore::FillLayer::attachment):
(WebCore::FillLayer::setAttachment):
(WebCore::FillLayer::hasFixedImage):
(WebCore::FillLayer::initialFillAttachment):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::backgroundAttachment):
(WebCore::InheritedFlags::maskAttachment):
* rendering/style/RenderStyleConstants.h:
(WebCore::):
2009-07-23 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
https://bugs.webkit.org/show_bug.cgi?id=27325
This patch deprecates copyInheritableProperties because it has been used for two different purposes:
1. Calculating the typing style.
2. Moving HTML subtrees and seeking to remove redundant styles.
These tasks should be broken out into two separate functions. New code should not use this function.
It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
There is no test since the patch does not change any behavior.
* css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
(WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
* css/CSSComputedStyleDeclaration.h: ditto
* editing/DeleteSelectionCommand.cpp: ditto
(WebCore::removeEnclosingAnchorStyle): ditto
(WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
* editing/EditCommand.cpp: ditto
(WebCore::EditCommand::styleAtPosition): ditto
* editing/RemoveFormatCommand.cpp: ditto
(WebCore::RemoveFormatCommand::doApply): ditto
* editing/ReplaceSelectionCommand.cpp: ditto
(WebCore::handleStyleSpansBeforeInsertion): ditto
(WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
* editing/markup.cpp: ditto
(WebCore::removeEnclosingMailBlockquoteStyle): ditto
(WebCore::removeDefaultStyles): ditto
(WebCore::createMarkup): ditto
2009-07-22 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
Audio element at default width shouldn't have time field.
https://bugs.webkit.org/show_bug.cgi?id=27589
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
forget to remember the visibility if there is no renderer.
2009-07-23 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the
AccessibilityObject class
Mostly this is just moving empty stubs into the header rather than
muddying the cpp file with them. A few functions were made pure
virtual.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isARIAControl):
(WebCore::AccessibilityObject::clickPoint):
(WebCore::AccessibilityObject::documentFrameView):
(WebCore::AccessibilityObject::actionVerb):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::intValue):
(WebCore::AccessibilityObject::layoutCount):
(WebCore::AccessibilityObject::doAccessibilityHitTest):
(WebCore::AccessibilityObject::focusedUIElement):
(WebCore::AccessibilityObject::firstChild):
(WebCore::AccessibilityObject::lastChild):
(WebCore::AccessibilityObject::previousSibling):
(WebCore::AccessibilityObject::nextSibling):
(WebCore::AccessibilityObject::parentObjectIfExists):
(WebCore::AccessibilityObject::observableObject):
(WebCore::AccessibilityObject::linkedUIElements):
(WebCore::AccessibilityObject::titleUIElement):
(WebCore::AccessibilityObject::ariaRoleAttribute):
(WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
(WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
(WebCore::AccessibilityObject::roleValue):
(WebCore::AccessibilityObject::ariaAccessiblityName):
(WebCore::AccessibilityObject::ariaLabeledByAttribute):
(WebCore::AccessibilityObject::ariaDescribedByAttribute):
(WebCore::AccessibilityObject::accessibilityDescription):
(WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
(WebCore::AccessibilityObject::axObjectCache):
(WebCore::AccessibilityObject::axObjectID):
(WebCore::AccessibilityObject::setAXObjectID):
(WebCore::AccessibilityObject::anchorElement):
(WebCore::AccessibilityObject::actionElement):
(WebCore::AccessibilityObject::boundingBoxRect):
(WebCore::AccessibilityObject::selectedTextRange):
(WebCore::AccessibilityObject::selectionStart):
(WebCore::AccessibilityObject::selectionEnd):
(WebCore::AccessibilityObject::url):
(WebCore::AccessibilityObject::selection):
(WebCore::AccessibilityObject::stringValue):
(WebCore::AccessibilityObject::title):
(WebCore::AccessibilityObject::helpText):
(WebCore::AccessibilityObject::textUnderElement):
(WebCore::AccessibilityObject::text):
(WebCore::AccessibilityObject::textLength):
(WebCore::AccessibilityObject::selectedText):
(WebCore::AccessibilityObject::accessKey):
(WebCore::AccessibilityObject::widget):
(WebCore::AccessibilityObject::widgetForAttachmentView):
(WebCore::AccessibilityObject::setFocused):
(WebCore::AccessibilityObject::setSelectedText):
(WebCore::AccessibilityObject::setSelectedTextRange):
(WebCore::AccessibilityObject::setValue):
(WebCore::AccessibilityObject::setSelected):
(WebCore::AccessibilityObject::makeRangeVisible):
(WebCore::AccessibilityObject::childrenChanged):
(WebCore::AccessibilityObject::addChildren):
(WebCore::AccessibilityObject::hasChildren):
(WebCore::AccessibilityObject::selectedChildren):
(WebCore::AccessibilityObject::visibleChildren):
(WebCore::AccessibilityObject::visiblePositionRange):
(WebCore::AccessibilityObject::visiblePositionRangeForLine):
(WebCore::AccessibilityObject::boundsForVisiblePositionRange):
(WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
(WebCore::AccessibilityObject::visiblePositionForPoint):
(WebCore::AccessibilityObject::nextVisiblePosition):
(WebCore::AccessibilityObject::previousVisiblePosition):
(WebCore::AccessibilityObject::visiblePositionForIndex):
(WebCore::AccessibilityObject::indexForVisiblePosition):
(WebCore::AccessibilityObject::index):
(WebCore::AccessibilityObject::doAXRangeForLine):
(WebCore::AccessibilityObject::doAXRangeForIndex):
(WebCore::AccessibilityObject::doAXStringForRange):
(WebCore::AccessibilityObject::doAXBoundsForRange):
(WebCore::AccessibilityObject::updateBackingStore):
2009-07-23 Brian Weinstein <bweinstein@apple.com>
Reviewed by David Hyatt.
Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
2009-07-23 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=27581
Drop the prefix from the box-shadow property.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::ShadowParseContext::commitLength):
(WebCore::cssPropertyID):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* page/animation/AnimationBase.cpp:
(WebCore::ensurePropertyMap):
2009-07-22 Viet-Trung Luu <viettrungluu@gmail.com>
Reviewed by David Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=27289
When a mouse click occurs on a scrollbar without a preceding mouse move
onto it, the release isn't handled correctly (since
EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
only on mouse move). (Side comment: That scrollbar-handling code
in EventHandler is ugly. It should be fixed properly.)
Tests: scrollbars/scrollbar-miss-mousemove.html
scrollbars/scrollbar-miss-mousemove-disabled.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
* page/EventHandler.h:
2009-07-23 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by David Levin.
Update WebCore/page/BarInfo.cpp to conform to WebKit
Style Guidelines as identified by cpplint.py.
https://bugs.webkit.org/show_bug.cgi?id=27606
* page/BarInfo.cpp:
(WebCore::BarInfo::visible):
2009-07-23 Mike Fenton <mike.fenton@torchmobile.com>
Reviewed by David Levin.
Update WebCore/page/Console.cpp to conform to WebKit
Style Guidelines as identified by cpplint.py.
https://bugs.webkit.org/show_bug.cgi?id=27606
* page/Console.cpp:
(WebCore::printMessageSourceAndLevelPrefix):
(WebCore::Console::profile):
(WebCore::Console::time):
2009-07-23 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Holger Freyther.
Fix crashes with the QObject bindings after garbage collection.
There is one QtInstance per wrapped QObject, and that QtInstance keeps
references to cached JSObjects for slots. When those objects get
deleted due to GC, then they becoming dangling pointers.
When a cached member dies, it is now removed from the QtInstance's
cache.
As we cannot track the lifetime of the children, we have to remove
them from QtInstance alltogether. They are not cached and were
only used for mark(), but we _want_ them to be subject to gc.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
use qDeleteAll().
(JSC::Bindings::QtInstance::removeCachedMethod): New function, to
clean m_methods and m_defaultMethod.
(JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
(JSC::Bindings::QtField::valueFromInstance): Don't save children for
marking.
* bridge/qt/qt_instance.h: Declare removeCachedMethod.
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
with this on the instance.
2009-07-23 Xan Lopez <xlopez@igalia.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=27599
'const unsigned' in return value
Remove const modifier from unsigned return value, as it does not
make sense.
* dom/ErrorEvent.h:
2009-07-22 Jens Alfke <snej@chromium.org>
Reviewed by David Levin.
Bug 22784: Improve keyboard navigation of Select elements.
Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
on non-Mac platforms.
https://bugs.webkit.org/show_bug.cgi?id=22784
http://code.google.com/p/chromium/issues/detail?id=4576
New test: LayoutTests/fast/forms/select-popup-pagekeys.html
* dom/SelectElement.cpp:
(WebCore::nextValidIndex):
New utility fn for traversing items of a select's list.
(WebCore::SelectElement::menuListDefaultEventHandler):
Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
2009-07-23 Xan Lopez <xlopez@igalia.com>
Reviewed by Mark Rowe.
Fix a couple of compiler warnings.
* platform/graphics/cairo/ImageBufferCairo.cpp:
(copySurface):
* platform/graphics/gtk/SimpleFontDataGtk.cpp:
(WebCore::SimpleFontData::containsCharacters):
2009-07-22 Simon Hausmann <simon.hausmann@nokia.com>
Rubber-stamped by David Levin.
Enable HTML5 Datagrid defines for the Qt build.
* WebCore.pro:
2009-07-22 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
[V8] Make Node wrappers go fast
https://bugs.webkit.org/show_bug.cgi?id=27597
Profiles indicate we're spending a lot of time asking whether we're on
the main thread when looking up DOM wrappers for Nodes, but there isn't
much point in doing that work because Nodes only exist on the main
thread. I've also added an assert to keep us honest in this regard.
* bindings/v8/V8DOMMap.cpp:
(WebCore::):
(WebCore::getDOMNodeMap):
(WebCore::DOMData::getCurrent):
(WebCore::DOMData::getCurrentMainThread):
2009-07-22 Adam Barth <abarth@webkit.org>
Reviewed by Alexey Proskuryakov.
Remove unneeded virtual destructor from ScriptSourceProvider
https://bugs.webkit.org/show_bug.cgi?id=27563
* bindings/js/ScriptSourceProvider.h:
2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
https://bugs.webkit.org/show_bug.cgi?id=27476
executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
and adds removeAll member function to CSSValueList.
Tests: editing/execCommand/toggle-text-decorations.html
fast/css/getComputedStyle/getComputedStyle-text-decoration.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
* css/CSSValueList.cpp:
(WebCore::CSSValueList::removeAll): Removes all values that match the specified value
* css/CSSValueList.h:
* editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame): Apply style to a frame using specified command
(WebCore::executeApplyStyle): Uses applyCommandToFrame
(WebCore::executeToggleStyleInList): Uses applyCommandToFrame
(WebCore::executeToggleStyle): Toggles a style in CSSValueList
(WebCore::executeStrikethrough): Uses executeToggleStyleInList
(WebCore::executeUnderline): Uses executeToggleStyleInList
2009-07-22 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=27174
And
https://bugs.webkit.org/show_bug.cgi?id=26938
Code cleanup. Implements support for detecting attacks transformed by
PHP Magic Quotes/PHP addslashes().
Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
* page/XSSAuditor.cpp:
(WebCore::isInvalidCharacter):
(WebCore::XSSAuditor::canEvaluate):
(WebCore::XSSAuditor::canEvaluateJavaScriptURL):
(WebCore::XSSAuditor::canLoadObject):
(WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
and removes control characters that could otherwise cause a discrepancy between
the source code of a script and the outgoing HTTP parameters.
(WebCore::XSSAuditor::decodeURL):
(WebCore::XSSAuditor::decodeHTMLEntities):
(WebCore::XSSAuditor::findInRequest):
* page/XSSAuditor.h:
2009-07-22 Oliver Hunt <oliver@apple.com>
Reviewed by Adele Peterson.
Null deref in JSObject::mark due to null xhr wrapper
https://bugs.webkit.org/show_bug.cgi?id=27565
Make event target binding for appcache and xhr behave in the same way as
it does for all other events.
No test as I couldn't make a testcase which was remotely reliable.
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
2009-07-22 Mads Ager <ager@chromium.org>
Reviewed by David Levin.
Inform V8 of the amount of WebCore string memory it is keeping alive.
https://bugs.webkit.org/show_bug.cgi?id=27537
V8 uses external strings that are backed by WebCore strings. Since
the external strings themselves are small, V8 has no way of
knowing how much memory it is actually holding on to. With this
change, we inform V8 of the amount of WebCore string data it is
holding on to with external strings.
* bindings/v8/V8Binding.cpp:
(WebCore::WebCoreStringResource::WebCoreStringResource):
(WebCore::WebCoreStringResource::~WebCoreStringResource):
2009-07-22 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=27562
Add the finalized versions of background-clip and background-origin. Remove background-clip from
the background shorthand and have it be auto-set based off background-origin's value.
Three new tests added in fast/backgrounds/size
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::getPropertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::parseFillProperty):
* css/CSSPropertyLonghand.cpp:
(WebCore::initShorthandMap):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in:
2009-07-22 Jens Alfke <snej@chromium.org>
Reviewed by Darin Fisher.
Hook up V8 bindings for DataGrid elements.
https://bugs.webkit.org/show_bug.cgi?id=27383
http://code.google.com/p/chromium/issues/detail?id=16730
Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
to handle exceptions, check appropriate JS prototypes, and
test column-list's item() method as well as array-indexing.
* WebCore.gypi: Added new source files.
* bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
* bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
* bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
(WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
* bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
(WebCore::V8DataGridDataSource::V8DataGridDataSource):
(WebCore::V8DataGridDataSource::~V8DataGridDataSource):
* bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
(WebCore::V8DataGridDataSource::create):
(WebCore::V8DataGridDataSource::isJSDataGridDataSource):
(WebCore::V8DataGridDataSource::jsDataSource):
(WebCore::asV8DataGridDataSource):
* bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
* bindings/v8/V8Index.h: Conditionalize datagrid stuff.
* bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
* bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
* bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
pushDownTextDecorationStyleAroundNode needs clean up
https://bugs.webkit.org/show_bug.cgi?id=27556
Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
While traversing, it will apply the specified style to all nodes but targetNode.
i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
* editing/ApplyStyleCommand.h: Updated prototype
2009-07-22 Peter Kasting <pkasting@google.com>
Reviewed by David Kilzer.
https://bugs.webkit.org/show_bug.cgi?id=27323
Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
* DerivedSources.make:
* css/makeprop.pl:
* css/makevalues.pl:
2009-07-22 Paul Godavari <paul@chromium.org>
Reviewed by Darin Fisher.
Chromium has a build break after removal of JSRGBColor bindings
https://bugs.webkit.org/show_bug.cgi?id=27548
Fix a build break in Chromium V8 after the JSRGBColor bindings change:
https://bugs.webkit.org/show_bug.cgi?id=27242
* bindings/scripts/CodeGeneratorV8.pm:
2009-07-22 Adam Langley <agl@google.com>
Reviewed by Darin Fisher.
Chromium Linux: add static functions to FontPlatformData which allow
for setting the global font rendering preferences.
https://bugs.webkit.org/show_bug.cgi?id=27513
http://code.google.com/p/chromium/issues/detail?id=12179
This should not affect any layout tests.
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::setHinting):
(WebCore::FontPlatformData::setAntiAlias):
(WebCore::FontPlatformData::setSubpixelGlyphs):
(WebCore::FontPlatformData::setupPaint):
* platform/graphics/chromium/FontPlatformDataLinux.h:
2009-07-22 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Timothy Hatcher.
Move Inspector panels creation into a function to make possible introducing
custom panels.
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
(WebInspector.loaded):
2009-07-22 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Print console command message upon evaluate
selection request; Handle errors in evaluation request
properly.
https://bugs.webkit.org/show_bug.cgi?id=27535
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
2009-07-22 Xan Lopez <xlopez@igalia.com>
Attempt to fix the GTK+ build.
* GNUmakefile.am:
2009-07-21 Simon Hausmann <simon.hausmann@nokia.com>
Fix the Qt build.
* WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
2009-07-21 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=27494
Fixes an issue that can cause a crash or unexpected behavior when calling
WebCore::ScriptSourceCode::source on a cached script.
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/CachedScriptSourceProvider.h: Modified to inherit from
WebCore::ScriptSourceCode.
(WebCore::CachedScriptSourceProvider::source):
(WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
rewrote to use WebCore::ScriptSourceProvider.
(WebCore::ScriptSourceCode::source):
* bindings/js/ScriptSourceProvider.h: Added.
(WebCore::ScriptSourceProvider::ScriptSourceProvider):
(WebCore::ScriptSourceProvider::~ScriptSourceProvider):
* bindings/js/StringSourceProvider.h: Modified to inherit from
WebCore::ScriptSourceCode.
(WebCore::StringSourceProvider::StringSourceProvider):
2009-07-21 Sam Weinig <sam@webkit.org>
Another attempt to fix the Windows build.
* WebCore.vcproj/WebCore.vcproj:
2009-07-21 Sam Weinig <sam@webkit.org>
Attempt to fix the Windows build.
* DerivedSources.cpp:
2009-07-21 Sam Weinig <sam@webkit.org>
Attempt to fix the GTK build.
* GNUmakefile.am:
2009-07-21 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Autogenerate Objective-C binding implementation for RGBColor.
No functionality change.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMRGBColor.mm: Removed.
* bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
WebCore::Color to NSColor*.
* css/RGBColor.idl:
2009-07-21 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
Move the JSC and Objective-C bindings onto using the RGBColor object instead
of just an unsigned int. The JSC bindings are now completely autogenerated for
this class. (Also removes the last lut from WebCore).
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/JSRGBColor.cpp: Removed.
* bindings/js/JSRGBColor.h: Removed.
* bindings/objc/DOM.mm:
(-[DOMRGBColor _color]):
* bindings/objc/DOMRGBColor.mm:
(-[DOMRGBColor dealloc]):
(-[DOMRGBColor finalize]):
(-[DOMRGBColor red]):
(-[DOMRGBColor green]):
(-[DOMRGBColor blue]):
(-[DOMRGBColor alpha]):
(-[DOMRGBColor color]):
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::getRGBColorValue):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::getRGBA32Value):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
* css/RGBColor.cpp:
(WebCore::RGBColor::alpha):
* css/RGBColor.h:
(WebCore::RGBColor::color):
(WebCore::RGBColor::RGBColor):
* css/RGBColor.idl:
* page/DOMWindow.idl:
* svg/SVGColor.cpp:
(WebCore::SVGColor::rgbColor):
* svg/SVGColor.h:
2009-07-21 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
https://bugs.webkit.org/show_bug.cgi?id=27515
* workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::dispatchScriptErrorEvent):
2009-07-21 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Move m_context out of generator into a superclass
https://bugs.webkit.org/show_bug.cgi?id=27521
Mostly this is removing code from CodeGeneratorJS
and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
I also removed context pointer from SVGZoomEvent since it was never used.
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/DOMObjectWithSVGContext.h: Added.
(WebCore::DOMObjectWithSVGContext::context):
(WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/scripts/CodeGeneratorJS.pm:
2009-07-21 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
REGRESSION (r46142): editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
https://bugs.webkit.org/show_bug.cgi?id=27480
Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
We made m_anchorType unsigned so that anchorType() returns the correct value.
* dom/Position.h:
(WebCore::Position::anchorType): statically cast to AnchorType
2009-07-21 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
[V8] Add V8 bindings for onerror in WorkerContext.
https://bugs.webkit.org/show_bug.cgi?id=27518
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
2009-07-21 Jian Li <jianli@chromium.org>
Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
https://bugs.webkit.org/show_bug.cgi?id=27516
* workers/WorkerContext.h:
(WebCore::WorkerContext::setOnerror):
(WebCore::WorkerContext::onerror):
* workers/WorkerContext.idl:
2009-07-21 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Add onerror to WorkerContext.
https://bugs.webkit.org/show_bug.cgi?id=27516
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::mark):
* workers/WorkerContext.h:
(WebCore::WorkerContext::setOnerror):
(WebCore::WorkerContext::onerror):
* workers/WorkerContext.idl:
2009-07-21 Yong Li <yong.li@torchmobile.com>
Reviewed by George Staikos.
https://bugs.webkit.org/show_bug.cgi?id=27509
Add font-related files for the WinCE port.
Written by Yong Li <yong.li@torchmobile.com>
* platform/graphics/wince/FontCacheWince.cpp: Added.
* platform/graphics/wince/FontCustomPlatformData.cpp: Added.
* platform/graphics/wince/FontCustomPlatformData.h: Added.
* platform/graphics/wince/FontPlatformData.cpp: Added.
* platform/graphics/wince/FontPlatformData.h: Added.
* platform/graphics/wince/FontWince.cpp: Added.
* platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
* platform/graphics/wince/SimpleFontDataWince.cpp: Added.
2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
* WebCorePrefix.h:
2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
* WebCorePrefix.h:
2009-07-21 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=27478
This is just moving code.
I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
(It's a baseclass because eventually all DOMObjects will have a global pointer, but
I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
which require a backpointer to the Document to function. I made this a subclass of
DOMConstructorObject to make clear that most constructors can hold no-such assumptions
about having a back-pointer to the Document (since many constructors can be used from Workers).
* bindings/js/JSAudioConstructor.cpp:
(WebCore::JSAudioConstructor::JSAudioConstructor):
* bindings/js/JSAudioConstructor.h:
* bindings/js/JSDOMBinding.h:
(WebCore::DOMObjectWithGlobalPointer::globalObject):
(WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
(WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
(WebCore::DOMObjectWithGlobalPointer::mark):
(WebCore::DOMConstructorObject::DOMConstructorObject):
(WebCore::DOMConstructorWithDocument::document):
(WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
* bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::JSImageConstructor):
* bindings/js/JSImageConstructor.h:
* bindings/js/JSMessageChannelConstructor.cpp:
(WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
* bindings/js/JSMessageChannelConstructor.h:
* bindings/js/JSOptionConstructor.cpp:
(WebCore::JSOptionConstructor::JSOptionConstructor):
* bindings/js/JSOptionConstructor.h:
* bindings/js/JSWebKitCSSMatrixConstructor.cpp:
(WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
* bindings/js/JSWebKitPointConstructor.cpp:
(WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
* bindings/js/JSWorkerConstructor.cpp:
(WebCore::JSWorkerConstructor::JSWorkerConstructor):
* bindings/js/JSXMLHttpRequestConstructor.cpp:
(WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
* bindings/js/JSXMLHttpRequestConstructor.h:
* bindings/js/JSXSLTProcessorConstructor.cpp:
(WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2009-07-21 James Hawkins <jhawkins@google.com>
Reviewed by David Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=27453
Initialize isInt when creating a CSSParserValue for a function.
No change in behavior, so no tests.
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::parserValue):
2009-07-20 Jens Alfke <snej@google.com>
Reviewed by David Levin.
Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
an arrow key is pressed.
https://bugs.webkit.org/show_bug.cgi?id=27448
No new tests; affects only control response to user input.
* dom/SelectElement.cpp:
Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
so it will behave compatibly with Mac HI guidelines on pop-up menus.
It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
2009-07-21 Paul Godavari <paul@chromium.org>
Reviewed by Eric Seidel.
[Chromium] popup menus can crash when the selected index is -1
https://bugs.webkit.org/show_bug.cgi?id=27275
Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
is passed an index of less than 0 (which is possible under certain circumstances). This
change prevents such a value from causing a crash by enforcing valid index values passed
by all callers of isSelectableItem. isSelectableItem is now a private method of
PopupListBox, as there are no external callers.
Also cleaned up a small amount of code for style and grammar errors.
No automatic test is provided since we cannot send events to the child window used by
the popup menu.
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::acceptIndex):
(WebCore::PopupListBox::selectIndex):
(WebCore::PopupListBox::isSelectableItem):
(WebCore::PopupListBox::selectPreviousRow):
2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
* platform/network/curl/ResourceHandleManager.h:
2009-07-21 Adam Roben <aroben@apple.com>
Roll out r46153, r46154, and r46155
These changes were causing build failures and assertion failures on
Windows.
* ForwardingHeaders/wtf/PossiblyNull.h: Removed.
* platform/graphics/cg/ImageBufferCG.cpp:
2009-07-21 Jian Li <jianli@chromium.org>
Reviewed by Eric Seidel.
Implement ErrorEvent API.
https://bugs.webkit.org/show_bug.cgi?id=27387
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* dom/ErrorEvent.cpp: Added.
* dom/ErrorEvent.h: Added.
* dom/ErrorEvent.idl: Added.
* dom/Event.cpp:
(WebCore::Event::isErrorEvent):
* dom/Event.h:
2009-07-21 Priit Laes <plaes@plaes.org>
Reviewed by Gustavo Noronha.
[Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
https://bugs.webkit.org/show_bug.cgi?id=24602
Remove workaround required for <=libsoup-2.26.1
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::restartedCallback):
2009-07-21 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
V8IsolatedWorld keeps a handle to a disposed context
https://bugs.webkit.org/show_bug.cgi?id=27397
Make a copy of the context handle before making it weak. We don't want
to make the original handle weak because we want it to survive for the
length of the V8IsolatedWorld::evaluate method.
* bindings/v8/V8IsolatedWorld.cpp:
(WebCore::V8IsolatedWorld::V8IsolatedWorld):
2009-07-21 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Add ability to evaluate selection while on break point.
https://bugs.webkit.org/show_bug.cgi?id=27502
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._loaded):
(WebInspector.SourceFrame.prototype._documentKeyDown):
2009-07-21 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Special case ConsolePanel opening since
it is a 'fast view'.
https://bugs.webkit.org/show_bug.cgi?id=27493
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setWindowVisible):
2009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
Reviewed by Eric Seidel.
Fix Qt code to follow the WebKit Coding Style.
* platform/graphics/qt/FontQt.cpp:
(WebCore::qstring):
(WebCore::fixSpacing):
* platform/graphics/qt/FontQt43.cpp:
(WebCore::generateComponents):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::cursorToX):
* platform/graphics/qt/GradientQt.cpp:
(WebCore::Gradient::platformGradient):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::toQtFillRule):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::~GraphicsContext):
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::getWindowsContext):
* platform/graphics/qt/IconQt.cpp:
(WebCore::Icon::paint):
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::ReadContext::read):
(WebCore::ImageDecoderQt::ReadContext::readImageLines):
(WebCore::ImageDecoderQt::setData):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::Image::drawPattern):
(WebCore::BitmapImage::draw):
* platform/graphics/qt/ImageSourceQt.cpp:
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):
(WebCore::ImageSource::frameIsCompleteAtIndex):
* platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::create):
(WebCore::MediaPlayerPrivate::bytesLoaded):
(WebCore::MediaPlayerPrivate::updateStates):
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::addArcTo):
(WebCore::Path::isEmpty):
* platform/graphics/qt/TransformationMatrixQt.cpp:
(WebCore::TransformationMatrix::operator QTransform):
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::ClipboardQt):
(WebCore::ClipboardQt::clearData):
(WebCore::ClipboardQt::clearAllData):
(WebCore::ClipboardQt::getData):
(WebCore::ClipboardQt::setData):
(WebCore::ClipboardQt::setDragImage):
(WebCore::getCachedImage):
(WebCore::ClipboardQt::declareAndWriteDragImage):
(WebCore::ClipboardQt::writeURL):
(WebCore::ClipboardQt::writeRange):
(WebCore::ClipboardQt::hasData):
* platform/qt/ClipboardQt.h:
* platform/qt/ContextMenuItemQt.cpp:
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::title):
* platform/qt/CursorQt.cpp:
(WebCore::westPanningCursor):
(WebCore::notAllowedCursor):
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::containsFiles):
(WebCore::DragData::asFilenames):
(WebCore::DragData::asPlainText):
(WebCore::DragData::asFragment):
* platform/qt/DragImageQt.cpp:
(WebCore::createDragImageIconForCachedImage):
* platform/qt/FileSystemQt.cpp:
(WebCore::getFileSize):
(WebCore::unloadModule):
* platform/qt/Localizations.cpp:
(WebCore::contextMenuItemTagShowSpellingPanel):
* platform/qt/MIMETypeRegistryQt.cpp:
(WebCore::):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::plainText):
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/qt/PlatformMouseEventQt.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenu::populate):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::fallbackStyle):
(WebCore::inflateButtonRect):
(WebCore::RenderThemeQt::computeSizeBasedOnStyle):
(WebCore::RenderThemeQt::paintButton):
(WebCore::RenderThemeQt::paintMenuList):
(WebCore::RenderThemeQt::applyTheme):
(WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
(WebCore::RenderThemeQt::paintMediaBackground):
(WebCore::RenderThemeQt::paintMediaFullscreenButton):
* platform/qt/RenderThemeQt.h:
* platform/qt/ScreenQt.cpp:
(WebCore::screenRect):
(WebCore::usableScreenRect):
* platform/qt/ScrollbarQt.cpp:
(WebCore::Scrollbar::contextMenu):
* platform/qt/ScrollbarThemeQt.cpp:
(WebCore::scPart):
(WebCore::scrollbarPart):
* platform/qt/ScrollbarThemeQt.h:
* platform/qt/SharedBufferQt.cpp:
(WebCore::SharedBuffer::createWithContentsOfFile):
* platform/qt/TemporaryLinkStubs.cpp:
(PluginDatabase::defaultPluginDirectories):
(PluginDatabase::getPluginPathsInDirectories):
(PluginDatabase::isPreferredPluginDirectory):
(WebCore::getSupportedKeySizes):
(WebCore::signedPublicKeyAndChallengeString):
(WebCore::userIdleTime):
(WebCore::prefetchDNS):
* platform/text/qt/StringQt.cpp:
(WebCore::String::String):
* platform/text/qt/TextBoundaries.cpp:
* platform/text/qt/TextBreakIteratorQt.cpp:
(WebCore::TextBreakIterator::following):
(WebCore::TextBreakIterator::preceding):
(WebCore::WordBreakIteratorQt::first):
(WebCore::WordBreakIteratorQt::next):
(WebCore::WordBreakIteratorQt::previous):
(WebCore::CharBreakIteratorQt::first):
(WebCore::CharBreakIteratorQt::next):
(WebCore::CharBreakIteratorQt::previous):
(WebCore::characterBreakIterator):
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo):
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::userAgentStatic):
(WebCore::PluginView::handlePostReadFile):
(WebCore::PluginView::init):
2009-07-21 Maxime Simon <simon.maxime@gmail.com>
Reviewed by David Levin.
Added a first bunch of Haiku-specific files for WebCore.
https://bugs.webkit.org/show_bug.cgi?id=26988
* platform/haiku/ClipboardHaiku.cpp: Added.
(WebCore::ClipboardHaiku::ClipboardHaiku):
(WebCore::ClipboardHaiku::clearData):
(WebCore::ClipboardHaiku::clearAllData):
(WebCore::ClipboardHaiku::getData):
(WebCore::ClipboardHaiku::setData):
(WebCore::ClipboardHaiku::types):
(WebCore::ClipboardHaiku::files):
(WebCore::ClipboardHaiku::dragLocation):
(WebCore::ClipboardHaiku::dragImage):
(WebCore::ClipboardHaiku::setDragImage):
(WebCore::ClipboardHaiku::dragImageElement):
(WebCore::ClipboardHaiku::setDragImageElement):
(WebCore::ClipboardHaiku::createDragImage):
(WebCore::ClipboardHaiku::declareAndWriteDragImage):
(WebCore::ClipboardHaiku::writeURL):
(WebCore::ClipboardHaiku::writeRange):
(WebCore::ClipboardHaiku::hasData):
* platform/haiku/ClipboardHaiku.h: Added.
(WebCore::ClipboardHaiku::create):
(WebCore::ClipboardHaiku::~ClipboardHaiku):
* platform/haiku/CookieJarHaiku.cpp: Added.
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookiesEnabled):
* platform/haiku/CursorHaiku.cpp: Added.
(WebCore::Cursor::Cursor):
(WebCore::Cursor::~Cursor):
(WebCore::Cursor::operator=):
(WebCore::pointerCursor):
(WebCore::moveCursor):
(WebCore::crossCursor):
(WebCore::handCursor):
(WebCore::iBeamCursor):
(WebCore::waitCursor):
(WebCore::helpCursor):
(WebCore::eastResizeCursor):
(WebCore::northResizeCursor):
(WebCore::northEastResizeCursor):
(WebCore::northWestResizeCursor):
(WebCore::southResizeCursor):
(WebCore::southEastResizeCursor):
(WebCore::southWestResizeCursor):
(WebCore::westResizeCursor):
(WebCore::northSouthResizeCursor):
(WebCore::eastWestResizeCursor):
(WebCore::northEastSouthWestResizeCursor):
(WebCore::northWestSouthEastResizeCursor):
(WebCore::columnResizeCursor):
(WebCore::rowResizeCursor):
(WebCore::verticalTextCursor):
(WebCore::cellCursor):
(WebCore::contextMenuCursor):
(WebCore::noDropCursor):
(WebCore::copyCursor):
(WebCore::progressCursor):
(WebCore::aliasCursor):
(WebCore::noneCursor):
(WebCore::notAllowedCursor):
(WebCore::zoomInCursor):
(WebCore::zoomOutCursor):
(WebCore::grabCursor):
(WebCore::grabbingCursor):
2009-07-21 Albert Astals Cid <aacid@kde.org>
Reviewed by Tor Arne Vestbø.
Change #error line not to have a ' (single quote)
* DerivedSources.cpp:
2009-07-21 Roland Steiner <rolandsteiner@google.com>
Reviewed by David Levin.
Add ENABLE_RUBY to list of build options
https://bugs.webkit.org/show_bug.cgi?id=27324
Added flag ENABLE_RUBY:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/build-generated-files.sh:
2009-07-21 James Hawkins <jhawkins@google.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=27467
Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
if matrix.invert() fails. This prevents the use of an uninitialized
value in inverseMatrix.
No new tests added. Run
LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
under valgrind and notice there are no errors.
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::currentPathInLocalCoordinates):
2009-07-21 Stephen White <senorblanco@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=27388
Fix dotted and dashed borders on Chromium/skia. This follows
the logic in the Cg path, so results are much closer to Safari now
(some tests won't be exactly the same due to font layout differences).
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawLine):
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::setupPaintForStroking):
2009-07-20 Oliver Hunt <oliver@apple.com>
Reviewed by Gavin Barraclough.
Make it harder to misuse try* allocation routines
https://bugs.webkit.org/show_bug.cgi?id=27469
Add forwarding header for PossiblyNull type, and add missing null check
to ImageBuffer creation.
* ForwardingHeaders/wtf/PossiblyNull.h: Added.
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
2009-07-20 Adam Langley <agl@google.com>
Reviewed by Eric Seidel.
Guard access to installedMediaEngines()[0].
https://bugs.webkit.org/show_bug.cgi?id=27479
http://code.google.com/p/chromium/issues/detail?id=16541
Else where in the file, installedMediaEngines is always checked for
being empty because access. This patch adds a case which missed that
check.
This triggered a crash in Chromium:
http://www.yakeze.com/chat/example-chromium-crash/
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load):
2009-07-20 Adam Langley <agl@google.com>
Reviewed by Eric Seidel.
Allow search entries to render with a CSS border if the RenderTheme
doesn't paint them.
https://bugs.webkit.org/show_bug.cgi?id=27466
http://code.google.com/p/chromium/issues/detail?id=16958
<input type="search"> is very much like a text entry except that,
currently, if the RenderTheme doesn't deal with it, nothing is
rendered. With this patch, the default CSS border is rendered if the
RenderTheme requests it.
This will affect many layout tests, but only for Chromium Linux and
those results are not currently in the WebKit tree.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintBorderOnly):
2009-07-17 Anton Muhin <antonm@chromium.org>
Reviewed by Adam Barth.
Switch to faster methods to access internal fields.
https://bugs.webkit.org/show_bug.cgi?id=27372
Minor refactoring.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
(WebCore::V8DOMWrapper::setDOMWrapper):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::convertDOMWrapperToNative):
(WebCore::V8DOMWrapper::convertDOMWrapperToNode):
(WebCore::V8DOMWrapper::convertToNativeObject):
(WebCore::V8DOMWrapper::convertToNativeEvent):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8ElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::removeElement):
* bindings/v8/custom/V8InspectorControllerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XSLTProcessorCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
2009-07-20 Adam Langley <agl@google.com>
Reviewed by Eric Seidel.
Chromium Linux: cache Harfbuzz faces.
https://bugs.webkit.org/show_bug.cgi?id=27473
Previously, we recreated the Harfbuzz face for each script-run. With
this patch, we keep the Harfbuzz face in the FontPlatformData (created
as needed) and so they will persist for the duration of the
FontPlatformData.
Shouldn't affect any layout tests. Results in a significant win on the
intl2 page cycler time.
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::TextRunWalker::~TextRunWalker):
(WebCore::TextRunWalker::setupFontForScriptRun):
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/chromium/FontPlatformDataLinux.h:
(WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
(WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
(WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
* platform/graphics/chromium/HarfbuzzSkia.h: Added.
2009-07-20 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Simon Fraser.
REGRESSION (r46142): Need to remove showTreeThisForThis
https://bugs.webkit.org/show_bug.cgi?id=27475
Removes showTreeThisForThis
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::appendParagraphIntoNode):
2009-07-19 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Eric Seidel.
Refactoring of indentRegion to fix bugs 26816 and 25317
https://bugs.webkit.org/show_bug.cgi?id=26816
https://bugs.webkit.org/show_bug.cgi?id=25317
https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
1. We try to indent as many wrapping nodes as possible.
e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
2. We do not delete any wrapping elements
With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
With appendParagraphIntoNode, we can preserve all wrapping nodes.
3. We only split the tree until the closest block node instead of until the root editable node.
This behavioral change fixes the bug 25317.
4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
e.g. when a list is a child node of a div, and the entire div is intended,
we enclose the div by a single blockquote.
Note that new behavior is more consistent with that of Internet Explorer and Firefox.
To demonstrate this, the following tests are added.
Tests: editing/execCommand/indent-div-inside-list.html
editing/execCommand/indent-nested-blockquotes.html
editing/execCommand/indent-nested-div.html
editing/execCommand/indent-second-paragraph-in-blockquote.html
* editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
(WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
(WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
(WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
(WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
(WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
* editing/IndentOutdentCommand.h: updated prototype
2009-07-20 Dan Bernstein <mitz@apple.com>
Try to fix release builds after r46136
* dom/Element.cpp:
2009-07-17 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Eric Seidel.
Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
https://bugs.webkit.org/show_bug.cgi?id=27380
Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
* css/mediaControlsQT.css:
2009-07-20 Peter Kasting <pkasting@google.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=27468
Back out r46060, which caused problems for some Apple developers.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/WebCoreGenerated.vcproj:
2009-07-20 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
When loading a custom view into a frame, the old document is still
around
<rdar://problem/5145841>
Safari fires onload before PDF is loaded into the browser
<rdar://problem/6618869>
Test: fast/loader/non-html-load-event.html
* GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* WebCoreSources.bkl: Ditto.
* dom/Document.h:
(WebCore::Document::setStyleSelector): Added this protected accessor for
PlaceholderDocument to use.
* dom/Element.cpp:
(WebCore::Element::clientWidth): Check whether the document has a
renderer.
(WebCore::Element::clientHeight): Ditto.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
that do not use an HTML view. Do not nullify the content size in
that case.
(WebCore::FrameLoader::transitionToCommitted): For frames that do not
use an HTML view, call receivedFirstData(), which sets up the
frame with a new PlaceHolderDocument.
* loader/PlaceholderDocument.cpp: Added.
(WebCore::PlaceholderDocument::attach): Sets up the style selector but
does not create a RenderView.
* loader/PlaceholderDocument.h: Added.
(WebCore::PlaceholderDocument::create):
(WebCore::PlaceholderDocument::PlaceholderDocument):
2009-07-20 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Handle opacity and opacity animations on transform layers in Leopard
https://bugs.webkit.org/show_bug.cgi?id=27398
This makes two changes, and only for Leopard.
First, whenever opacity is changed on a layer I propagate the
change into the content layer and all the children if the layer
on which opacity is set is a transform layer (preserve3D is true).
The opacity set is the accumulated opacity from this layer
and all its direct ancestor transform layers. Second, I turn off all
hardware opacity animation.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::accumulatedOpacity):
(WebCore::GraphicsLayer::distributeOpacity):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setOpacityInternal):
* platform/graphics/mac/GraphicsLayerCA.h:
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::setPreserves3D):
(WebCore::GraphicsLayerCA::setOpacity):
(WebCore::GraphicsLayerCA::animateFloat):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::setOpacityInternal):
(WebCore::GraphicsLayerCA::updateOpacityOnLayer):
2009-07-20 Yong Li <yong.li@torchmobile.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=27349
Add GraphicsContext implementation for the WinCE port.
Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
* platform/graphics/wince/GraphicsContextWince.cpp: Added.
2009-07-20 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Adding the Win SQLite VFS implementation for Chromium, and stubs
for the Mac and Linux VFSs.
https://bugs.webkit.org/show_bug.cgi?id=26940
* WebCore.gypi:
* platform/chromium/ChromiumBridge.h:
* platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
* platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
* platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
* platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
2009-07-20 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
https://bugs.webkit.org/show_bug.cgi?id=27097
[Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
Check that an object is a RenderObject before trying to access its
renderer and related node.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_get_role):
2009-07-20 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
Reviewed by Simon Hausmann.
[Qt] font cache reworking
https://bugs.webkit.org/show_bug.cgi?id=27265
Reimplemented Qt's FontCache in a way that follows the shared one.
Now we can release its elements when those became inactive.
FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
No change in behavior, so no tests.
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
(WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
(WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
(WebCore::FontPlatformDataCacheKey::operator==):
(WebCore::FontPlatformDataCacheKey::hash):
(WebCore::FontPlatformDataCacheKey::computeHash):
(WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
(WebCore::FontPlatformDataCacheKeyHash::hash):
(WebCore::FontPlatformDataCacheKeyHash::equal):
(WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
(WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
(WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
(WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
(WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
(WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
(WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
(WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
* platform/graphics/qt/FontFallbackListQt.cpp:
(WebCore::FontFallbackList::releaseFontData):
(WebCore::FontFallbackList::fontDataAt):
* platform/graphics/qt/FontPlatformData.h:
(WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
(WebCore::FontPlatformData::bold): Ditto.
(WebCore::FontPlatformData::italic): Ditto.
(WebCore::FontPlatformData::smallCaps): Ditto.
(WebCore::FontPlatformData::pixelSize): Ditto.
* platform/graphics/qt/FontPlatformDataQt.cpp:
(WebCore::FontPlatformData::FontPlatformData): Set m_bold.
2009-07-20 Xan Lopez <xlopez@igalia.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=26716
[Gtk] Each XMLHttpRequest leaks memory.
Free the SoupURI we create to check the URI. Fix suggested by John
Kjellberg.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::):
2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Holger Freyther.
[Qt] On Symbian link against system sqlite3
https://bugs.webkit.org/show_bug.cgi?id=27368
Add an option to force linking against system sqlite3
by adding system-sqlite to the CONFIG variable.
The Symbian specific part of this patch is contributed by
Norbert Leser.
* WebCore.pro:
2009-07-20 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Change the glib version check to check for the first unstable
release with g_mapped_file_unref. Otherwise this would be useless
until 2.22 is released, a few months from now.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::startHttp):
2009-07-20 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by and done with Tor Arne Vestbø.
Fix fast/css/pseudo-required-optional-*.html in the Qt build
after r46062.
These tests triggered a bug in RenderThemeQt where we did not fall back
to the unstyled painting of text areas and input fields when they have
a styled background.
Our re-implementation of isControlStyled incorrectly only checked the
border for determining whether to style or not. The base-implementation
performs the same check, but also includes the background. Removing
our implementation fixes the appearance.
* platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
* platform/qt/RenderThemeQt.h: Ditto.
2009-07-20 Simon Hausmann <simon.hausmann@nokia.com>
Rubber-stamped by Tor Arne Vestbø.
Add missing (sorted) header files to the HEADERS variable in the qmake
.pro file for improved completion in IDEs.
* WebCore.pro:
2009-07-19 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
[V8] Factor V8ConsoleMessage out of V8Proxy
https://bugs.webkit.org/show_bug.cgi?id=27421
No behavior change.
* WebCore.gypi:
* bindings/v8/V8ConsoleMessage.cpp: Added.
(WebCore::V8ConsoleMessage::V8ConsoleMessage):
(WebCore::V8ConsoleMessage::dispatchNow):
(WebCore::V8ConsoleMessage::dispatchLater):
(WebCore::V8ConsoleMessage::processDelayed):
(WebCore::V8ConsoleMessage::handler):
* bindings/v8/V8ConsoleMessage.h: Added.
(WebCore::V8ConsoleMessage::Scope::Scope):
(WebCore::V8ConsoleMessage::Scope::~Scope):
* bindings/v8/V8Proxy.cpp:
(WebCore::logInfo):
(WebCore::reportUnsafeAccessTo):
(WebCore::V8Proxy::runScript):
(WebCore::V8Proxy::callFunction):
(WebCore::V8Proxy::newInstance):
(WebCore::V8Proxy::initContextIfNeeded):
(WebCore::V8Proxy::processConsoleMessages):
2009-07-19 Rob Buis <rwlbuis@gmail.com>
Reviewed by Adam Barth.
Remove unused member variable.
* svg/SVGPolyElement.h:
2009-07-19 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
HTMLAudioElement: constructor should set "autobuffer" attribute
https://bugs.webkit.org/show_bug.cgi?id=27422
Test: media/audio-constructor-autobuffer.html
* bindings/js/JSAudioConstructor.cpp:
(WebCore::constructAudio):
Set 'autobuffer' attribute.
2009-07-19 Thierry Bastian <thierry.bastian@nokia.com>
Reviewed by Simon Hausmann.
Fix the Qt build with mingw.
* WebCore.pro: Don't use MSVC commandline options to disable warnings
with mingw.
2009-07-19 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
[V8] Phase 2: Remove event listener methods from V8Proxy
https://bugs.webkit.org/show_bug.cgi?id=27415
No behavior change.
* bindings/v8/V8ObjectEventListener.cpp:
(WebCore::weakObjectEventListenerCallback):
(WebCore::V8ObjectEventListener::~V8ObjectEventListener):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::disconnectEventListeners):
* bindings/v8/V8Proxy.h:
(WebCore::V8Proxy::eventListeners):
(WebCore::V8Proxy::objectListeners):
* bindings/v8/custom/V8AbstractWorkerCustom.cpp:
(WebCore::getEventListener):
* bindings/v8/custom/V8CustomEventListener.cpp:
(WebCore::V8EventListener::~V8EventListener):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8ElementCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8MessagePortCustom.cpp:
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::getEventListener):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::getEventListener):
* bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
2009-07-18 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Gustavo Noronha.
[Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
https://bugs.webkit.org/show_bug.cgi?id=27230
Use g_mapped_file_unref for GLIB version 2.22 onwards.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::startHttp):
2009-07-18 Dan Bernstein <mitz@apple.com>
Reviewed by Anders Carlsson.
Add spread radius support to -webkit-box-shadow
https://bugs.webkit.org/show_bug.cgi?id=27417
rdar://problem/7072267
Test: fast/box-shadow/spread.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForShadow): Added a property ID parameter and used it to
include the spread length for box-shadow but not for text-shadow.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Pass the property ID to valueForShadow().
* css/CSSParser.cpp:
(WebCore::ShadowParseContext::ShadowParseContext): Added property,
spread, and allowSpread members. Added a property ID parameter to
the constructor. Initialize the property and allowSpread members.
(WebCore::ShadowParseContext::allowLength): Added allowSpread.
(WebCore::ShadowParseContext::commitValue): Pass the spread value to
the ShadowValue constructor. Reset allowSpread.
(WebCore::ShadowParseContext::commitLength): Allow spread after blur
for the box-shadow property.
(WebCore::ShadowParseContext::commitColor): Reset allowSpread.
(WebCore::CSSParser::parseShadow): Pass the property ID to
ShadowParseContext().
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Get the spread value from
the shadow value and pass it to the ShadowData constructor.
* css/ShadowValue.cpp:
(WebCore::ShadowValue::ShadowValue): Added spread.
(WebCore::ShadowValue::cssText): Added spread.
* css/ShadowValue.h:
(WebCore::ShadowValue::create): Added spread.
* page/animation/AnimationBase.cpp:
(WebCore::blendFunc): Blend the spread value.
(WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
shadow.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
the visual overflow calculations.
(WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
(WebCore::InlineFlowBox::paint): Ditto.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::overflowHeight): Ditto.
(WebCore::RenderBlock::overflowWidth): Ditto.
(WebCore::RenderBlock::overflowLeft): Ditto.
(WebCore::RenderBlock::overflowTop): Ditto.
(WebCore::RenderBlock::overflowRect): Ditto.
(WebCore::RenderBlock::layoutBlock): Ditto.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
casting rect by the shadow spread value. Adjust border radii if
necessary.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
visual overflow calculations.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateRects): Ditto.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
(WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
have spread.
* rendering/style/ShadowData.cpp:
(WebCore::ShadowData::ShadowData): Added spread.
(WebCore::ShadowData::operator==): Compare spread.
* rendering/style/ShadowData.h:
(WebCore::ShadowData::ShadowData): Added spread.
2009-07-18 Adam Barth <abarth@webkit.org>
Reviewed by Jan Alonzo.
Minor FrameLoader.cpp cleanup
https://bugs.webkit.org/show_bug.cgi?id=27406
No behavior change.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::executeIfJavaScriptURL):
2009-07-18 Adam Barth <abarth@webkit.org>
Reviewed by Darin Fisher.
[V8] Move event listener methods from V8Proxy to V8EventListenerList
https://bugs.webkit.org/show_bug.cgi?id=27408
Move some event listener code out of V8Proxy and into the event
listener list.
I'd like to remove these methods from V8Proxy entirely and just expose
getters for the lists themselves, but I'll do that in a follow up
patch.
* bindings/v8/V8EventListenerList.cpp:
(WebCore::V8EventListenerList::findWrapper):
* bindings/v8/V8EventListenerList.h:
(WebCore::V8EventListenerList::findOrCreateWrapper):
* bindings/v8/V8ObjectEventListener.cpp:
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::findV8EventListener):
(WebCore::V8Proxy::findOrCreateV8EventListener):
(WebCore::V8Proxy::removeV8EventListener):
(WebCore::V8Proxy::findObjectEventListener):
(WebCore::V8Proxy::findOrCreateObjectEventListener):
(WebCore::V8Proxy::removeObjectEventListener):
* bindings/v8/V8Proxy.h:
2009-07-18 Jeremy Orlow <jorlow@chromium.org>
Rubber stamped by Adam Barth.
Revert https://bugs.webkit.org/show_bug.cgi?id=27383
https://bugs.webkit.org/show_bug.cgi?id=27407
Revert Jens' patch. I believe he forgot to include a file.
* WebCore.gypi:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/DOMObjectsInclude.h:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getTemplate):
* bindings/v8/V8DataGridDataSource.cpp: Removed.
* bindings/v8/V8DataGridDataSource.h: Removed.
* bindings/v8/V8GCController.h:
* bindings/v8/V8Index.h:
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
2009-07-17 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=27405
Fixes an issue when decoding HTML entities with an unknown named entity that
caused null-characters to be inserted into the decoded result.
Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
http/tests/security/xssAuditor/javascript-link-ampersand.html
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
non-zero entity values are not inserted during decoding process.
2009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org>
<http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
Reviewed by Holger Freyther.
Add Gtk to platforms that want to open the menulist using the
spacebar.
* dom/SelectElement.cpp:
(WebCore::SelectElement::menuListDefaultEventHandler):
2009-07-17 Mario Sanchez Prada <msanchez@igalia.com>
Reviewed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=25523
[GTK] The text displayed by push buttons is not exposed to assistive technologies
Add new public method text() to RenderButton and use it from
AccessibilityRenderObject::stringValue().
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::stringValue):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::text):
* rendering/RenderButton.h:
2009-07-17 Anton Muhin <antonm@chromium.org>
Reviewed by Dimitri Glazkov.
Restore proxy retrieval
https://bugs.webkit.org/show_bug.cgi?id=27369
No new tests are needed.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
2009-07-17 Yael Aharon <yael.aharon@nokia.com>
Reviewed by George Staikos.
https://bugs.webkit.org/show_bug.cgi?id=27351
Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
Use uname to find the correct platform for Linux.
* page/NavigatorBase.cpp:
(WebCore::NavigatorBase::platform):
2009-07-17 Jens Alfke <snej@chromium.org>
Reviewed by Dimitri Glazkov.
Hook up V8 bindings for DataGrid elements.
https://bugs.webkit.org/show_bug.cgi?id=27383
http://code.google.com/p/chromium/issues/detail?id=16730
Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
to handle exceptions, check appropriate JS prototypes, and
test column-list's item() method as well as array-indexing.
* WebCore.gypi: Added new source files.
* bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
* bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
* bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
(WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
* bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
(WebCore::V8DataGridDataSource::V8DataGridDataSource):
(WebCore::V8DataGridDataSource::~V8DataGridDataSource):
* bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
(WebCore::V8DataGridDataSource::create):
(WebCore::V8DataGridDataSource::isJSDataGridDataSource):
(WebCore::V8DataGridDataSource::jsDataSource):
(WebCore::asV8DataGridDataSource):
* bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
* bindings/v8/V8Index.h: Conditionalize datagrid stuff.
* bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
* bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
2009-07-17 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
StorageArea should only contain methods we intend to proxy.
https://bugs.webkit.org/show_bug.cgi?id=27181
Right now, StorageAreaSync takes in a StorageArea* and calls methods
like importItem. Really, StorageAreaSync should be operating directly
on StorageAreaImpl* and those methods should be removed from StorageArea
since StorageAreaSync should never be attached to anything other than a
StorageAreaImpl.
This was pointed out in the review for
https://bugs.webkit.org/show_bug.cgi?id=27072
Also clean up StorageNamespaceImpl to operate directly on
StorageAreaImpl. Also, get rid of the factory for StorageArea
since nothing should ever create a StorageArea directly.
* GNUmakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* storage/StorageArea.cpp: Removed.
* storage/StorageArea.h:
(WebCore::StorageArea::~StorageArea):
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::copy):
* storage/StorageAreaImpl.h:
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::create):
(WebCore::StorageAreaSync::StorageAreaSync):
* storage/StorageAreaSync.h:
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::copy):
(WebCore::StorageNamespaceImpl::storageArea):
* storage/StorageNamespaceImpl.h:
2009-07-17 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Dimitri Glazkov.
Add v8 implementation for DOM Storage ScriptObjectQuarantine.
https://bugs.webkit.org/show_bug.cgi?id=27327
Wrap the storage object with a generic object as is done elsewhere in
the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
enabled.
* bindings/v8/ScriptObjectQuarantine.cpp:
(WebCore::getQuarantinedScriptObject):
2009-07-17 Mads Ager <ager@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=27394
Fix access to global object wrappers after navigation of their
frame in the V8 bindings. This fixes selenium test failures.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::updateDocument):
2009-07-17 Mark Rowe <mrowe@apple.com>
Fix the 32-bit build by removing implicit float <-> double conversions.
* inspector/InspectorController.cpp:
(WebCore::constrainedAttachedWindowHeight):
2009-07-17 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adam Roben.
Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
https://bugs.webkit.org/show_bug.cgi?id=14272
Moved preference setting for attached inspector height and inspector height calculation from
WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
Windows resizing of attached inspector.
* inspector/InspectorController.cpp:
* inspector/InspectorController.h:
2009-07-17 Dan Bernstein <mitz@apple.com>
Another attempt at fixing the build after r46063
* WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
header, because it is now included from htmlediting.h, which is
a private header.
2009-07-17 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=27396
Moving cursor in Thai text sometimes jumps over two characters
Test: editing/text-iterator/thai-cursor-movement.html
* platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
case for five Thai characters, matching ICU/CLDR changes.
2009-07-14 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Some constructor objects exposed on Window have the wrong prototype chain
https://bugs.webkit.org/show_bug.cgi?id=27276
Several Constructor classes were already being passed a global object
during construction, but they were ignoring it for prototype lookup.
I've fixed those to use the passed global object instead.
Most of these Constructor classes should just be auto-generated, but I
refrained from changing them over to auto-gen in this patch.
Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
to match existing behavior.
Test: fast/dom/prototype-inheritance.html
* bindings/js/JSAudioConstructor.cpp:
(WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
* bindings/js/JSDOMBinding.h:
(WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
(WebCore::deprecatedGetDOMStructure):
* bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
(WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
(WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
(WebCore::JSDOMWindow::worker): pass "this" for the global object.
* bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
* bindings/js/JSMessageChannelConstructor.cpp:
(WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
* bindings/js/JSOptionConstructor.cpp:
(WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
* bindings/js/JSWebKitCSSMatrixConstructor.cpp:
(WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
* bindings/js/JSWebKitCSSMatrixConstructor.h:
* bindings/js/JSWebKitPointConstructor.cpp:
(WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
* bindings/js/JSWebKitPointConstructor.h:
* bindings/js/JSWorkerConstructor.cpp:
(WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
* bindings/js/JSWorkerConstructor.h:
* bindings/js/JSXMLHttpRequestConstructor.cpp:
(WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
-- XMLHttpRequest constructor was also missing a length. Added one.
* bindings/js/JSXSLTProcessorConstructor.cpp:
(WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
* bindings/js/JSXSLTProcessorConstructor.h:
* bindings/scripts/CodeGeneratorJS.pm:
2009-07-17 Dan Bernstein <mitz@apple.com>
Build fix
* editing/htmlediting.cpp:
(WebCore::visiblePositionBeforeNode):
(WebCore::visiblePositionAfterNode):
2009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org>
Gtk build fix for symbol lookup error.
Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
Changed in http://trac.webkit.org/changeset/46048
* GNUmakefile.am:
2009-07-17 Ryosuke Niwa <ryosuke.niwa@gmail.com>
Reviewed by Eric Seidel.
htmlediting.cpp needs more utility functions to fix the bug 26816
https://bugs.webkit.org/show_bug.cgi?id=27038
In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
No tests because functions haven't been used anywhere yet.
* dom/Range.cpp:
(WebCore::Range::create):
(WebCore::Range::comparePoint): added const qualifier
(WebCore::Range::compareNode): added const qualifier
* dom/Range.h:
* editing/htmlediting.cpp:
(WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
(WebCore::positionBeforeNode): added ASSERT(node)
(WebCore::positionAfterNode): added ASSERT(node)
(WebCore::visiblePositionBeforeNode):
(WebCore::visiblePositionAfterNode):
(WebCore::createRange): create a range object from two visible positions
(WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
(WebCore::canMergeLists): typo
(WebCore::indexForVisiblePosition): added const qualifier
(WebCore::isVisiblyAdjacent): typo
(WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
* editing/htmlediting.h:
2009-07-17 Michelangelo De Simone <micdesim@gmail.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=25551
Added support for the "required" attribute, the valueMissing flag
to the ValidityState object and :required/:optional CSS pseudoclasses.
Part of HTML5 sec. Forms specs.
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
Tests: fast/css/pseudo-required-optional-001.html
fast/css/pseudo-required-optional-002.html
fast/css/pseudo-required-optional-003.html
fast/css/pseudo-required-optional-004.html
fast/css/pseudo-required-optional-005.html
fast/css/pseudo-required-optional-006.html
fast/forms/ValidityState-valueMissing-001.html
fast/forms/ValidityState-valueMissing-002.html
fast/forms/ValidityState-valueMissing-003.html
fast/forms/ValidityState-valueMissing-004.html
fast/forms/ValidityState-valueMissing-005.html
fast/forms/ValidityState-valueMissing-006.html
fast/forms/ValidityState-valueMissing-007.html
fast/forms/ValidityState-valueMissing-008.html
fast/forms/ValidityState-valueMissing-009.html
fast/forms/required-attribute-001.html
fast/forms/required-attribute-002.html
* css/CSSSelector.cpp:
(WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
* css/CSSSelector.h:
(WebCore::CSSSelector::): ditto
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
* dom/Element.h:
(WebCore::Element::isOptionalFormControl): check for optional controls
(WebCore::Element::isRequiredFormControl): check for required controls
* html/HTMLAttributeNames.in: required attribute
* html/HTMLButtonElement.h:
(WebCore::HTMLButtonElement::isOptionalFormControl): ditto
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::required): requiredAttr getter
(WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::valueMissing): method definition
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::valueMissing): validation code
(WebCore::HTMLInputElement::isRequiredFormControl): ditto
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isOptionalFormControl): ditto
* html/HTMLInputElement.idl: required DOM attribute
* html/HTMLSelectElement.h:
(WebCore::HTMLSelectElement::isOptionalFormControl): ditto
* html/HTMLTextAreaElement.h:
(WebCore::HTMLTextAreaElement::valueMissing): validation code
(WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
(WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
* html/HTMLTextAreaElement.idl: required DOM attribute
* html/ValidityState.cpp:
* html/ValidityState.h:
(WebCore::ValidityState::valueMissing): validation flag
2009-07-17 Beth Dakin <bdakin@apple.com>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom
cursor hotspots should work in quirks mode
- and corresponding <rdar://problem/6554340>
Enable hotspots in quirks mode.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
Update this manual test to reflect the fact that hotspots are now
expected to work in quirks mode.
* manual-tests/css3-cursor-fallback-quirks.html:
2009-07-17 Peter Kasting <pkasting@google.com>
Reviewed by Steve Falkenburg.
https://bugs.webkit.org/show_bug.cgi?id=27323
Only add Cygwin to the path when it isn't already there. This avoids
causing problems for people who purposefully have non-Cygwin versions of
executables like svn in front of the Cygwin ones in their paths.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/WebCoreGenerated.vcproj:
2009-07-17 Alexey Proskuryakov <ap@webkit.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=27384
Random crashes in appcache/update-cache.html test
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
after canceling it.
2009-07-17 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
Need to refactor Worker to derive from AbstractWorker
https://bugs.webkit.org/show_bug.cgi?id=26948
Changed Worker to derive from AbstractWorker, which involved moving
AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
ENABLE_WORKERS.
Removed obsolete functionality from the JS/V8 bindings that is now
inherited from AbstractWorker.
* WebCore.pro:
Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
* bindings/js/JSAbstractWorkerCustom.cpp:
Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
* bindings/js/JSWorkerCustom.cpp:
Removed obsolete event listener code (now in base class)
(WebCore::JSWorker::mark):
No longer need to explicitly mark event listeners (handled by base class).
* bindings/v8/V8Index.h:
Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
* bindings/v8/custom/V8AbstractWorkerCustom.cpp:
Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
* bindings/v8/custom/V8CustomBinding.h:
Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
* bindings/v8/custom/V8WorkerCustom.cpp:
Removed obsolete event listener code that now lives in the base class.
(WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
* workers/AbstractWorker.cpp:
Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
* workers/AbstractWorker.h:
Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
* workers/Worker.cpp:
Removed event listener code (now in base class).
(WebCore::Worker::Worker): Now derives from AbstractWorker.
(WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
* workers/Worker.h:
Removed APIs that now live in the base class.
* workers/Worker.idl:
Now derives from AbstractWorker.
Removed APIs that live in the base class, and added a GenerateToJS flag.
2009-07-17 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=27379
Absolutely-positioned elements with a scrollbar wrap prematurely. Make sure to include
the vertical scrollbar width for overflow:scroll elements.
Added fast/css/positioned-overflow-scroll.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::calcPrefWidths):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::calcPrefWidths):
2009-07-17 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Dimitri Glazkov.
Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
https://bugs.webkit.org/show_bug.cgi?id=27375
In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
and StorageEvent.cpp. Unfortunately, until later this afternoon,
DOM_STORAGE is not turned on by default in Chromium, and so these two
files are never generated. This breaks the compile.
There are no other instances of guards in the file, which puzzles me...
but I think adding guards is the right way to go about this.
* bindings/v8/DerivedSourcesAllInOne.cpp: Added the guard.
2009-07-17 Brady Eidson <beidson@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26496
Let WebCore always enforce the connection-per-host limit itself.
* loader/loader.cpp:
(WebCore::Loader::Host::servePendingRequests):
2009-07-17 Chris Marrin <cmarrin@apple.com>
Reviewed by David Hyatt.
Some transitions don't work correctly on Leopard
https://bugs.webkit.org/show_bug.cgi?id=27356
We only have code to do component animation using valueFunction.
So on Leopard we always need to do matrix animation in hardware.
This fix ensures that.
This is currently not testable because it appears only in the
hardware animation and we can't yet do pixel tests while
hardware animating.
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::animateTransform):
2009-07-17 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Gustavo Noronha.
[GTK+] Crash in screenAvailable due a null Widget*
JSDOMWindow::open called screenAvailableRect(0). The other
Screen methods can be called with a null widget as well, fix the
crashing test by checking for null.
In screenRect and screenAvailableRect it is not tried to use
a default screen as the existing implementation didn't try either
in case of not having a toplevel widget.
LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::getVisual): New method to get a visual or return zero.
(WebCore::screenDepth): Use getVisual.
(WebCore::screenDepthPerComponent): Use getVisual.
(WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
(WebCore::screenRect): Check for !widget.
(WebCore::screenAvailableRect): Check for !widget.
2009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix the include path for the Symbian port
https://bugs.webkit.org/show_bug.cgi?id=27358
* WebCore.pro:
2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Simon Hausmann.
Make it possible to set the plugin directories from the DRT.
Part of https://bugs.webkit.org/show_bug.cgi?id=27215
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::installedPlugins): Now optionally takes
a populate argument, so we can avoid loading system plugins from the
DRT and thus avoid their strerr errors that can make tests fail.
(WebCore::PluginDatabase::clear): Make it possible to clear the
database. Called from setPluginDirectories.
* plugins/PluginDatabase.h:
(WebCore::PluginDatabase::setPluginDirectories): Make public
2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
PluginViewMac: Stop the plugin when loading fails
Also, prevent event propagation when in the stopped state
* plugins/mac/PluginViewMac.cpp:
2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
PluginViewMac: Allow query and set of drawing and event models
We now support querying and setting of the drawing and event model,
but we still only support the CoreGraphics drawing model, and the
Carbon event model.
If unsupported drawing or event models are detected we show the
missing-plugin icon.
* plugins/PluginView.cpp:
* plugins/PluginView.h:
* plugins/mac/PluginViewMac.cpp:
2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Initialize two PluginView members using memset
m_npWindow is used on all platforms, not just for XP_UNIX,
so always initialize it. m_npCgContext on the other hand
is only used for XP_MACOSX.
* plugins/PluginView.cpp:
2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Add more debug logging in PluginView
* plugins/PluginView.cpp: Add debug for setValue
* plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
* plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
* plugins/qt/PluginViewQt.cpp: Add debug for getValue
* plugins/win/PluginViewWin.cpp: Add debug for getValue
2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Holger Freyther.
Use same license in PluginDebug.cpp as in the original PluginDebug.h
* plugins/PluginDebug.cpp: Use license from PluginDebug.h
2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Add more debugging functionality for the WebCore NPAPI layer
* GNUmakefile.am: Add PluginDebug.cpp
* WebCore.gypi: Add PluginDebug.cpp
* WebCore.pro: Add PluginDebug.cpp
* WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
* WebCoreSources.bkl: Add PluginDebug.cpp
* plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
* plugins/PluginDebug.cpp: New file
2009-07-17 Jeremy Orlow <jorlow@chromium.org>
Reviewed by David Levin.
Fix Chromium build with DOM_STORAGE enabled.
https://bugs.webkit.org/show_bug.cgi?id=27360
2 minor changes as noted below:
* bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
* storage/StorageAreaImpl.cpp: #include "DOMWindow.h"
2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by David Levin.
Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
https://bugs.webkit.org/show_bug.cgi?id=27206
Add ENABLE_WEB_SOCKETS
* Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
* GNUmakefile.am: add ENABLE_WEB_SOCKETS
* WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
* WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
2009-07-16 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Oliver Hunt.
Added a third bunch of Haiku-specific files for WebCore.
https://bugs.webkit.org/show_bug.cgi?id=26952
Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
* platform/haiku/EventLoopHaiku.cpp: Added.
(WebCore::EventLoop::cycle):
* platform/haiku/FileChooserHaiku.cpp: Added.
(WebCore::FileChooser::FileChooser):
(WebCore::FileChooser::basenameForWidth):
* platform/haiku/FileSystemHaiku.cpp: Added.
(WebCore::fileSystemRepresentation):
(WebCore::homeDirectoryPath):
(WebCore::openTemporaryFile):
(WebCore::closeFile):
(WebCore::writeToFile):
(WebCore::unloadModule):
(WebCore::listDirectory):
* platform/haiku/KeyboardCodes.h: Added.
* platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
(WebCore::):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2009-07-16 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Oliver Hunt.
Added a second bunch of Haiku-specific files for WebCore.
https://bugs.webkit.org/show_bug.cgi?id=26952
Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
DragDataHaiku.cpp and DragImageHaiku.cpp
* platform/haiku/ContextMenuHaiku.cpp: Added.
(WebCore::ContextMenuReceiver::ContextMenuReceiver):
(WebCore::ContextMenuReceiver::HandleMessage):
(WebCore::ContextMenuReceiver::Result):
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::itemCount):
(WebCore::ContextMenu::insertItem):
(WebCore::ContextMenu::platformDescription):
(WebCore::ContextMenu::setPlatformDescription):
* platform/haiku/ContextMenuItemHaiku.cpp: Added.
(ContextMenuItem::ContextMenuItem):
(ContextMenuItem::~ContextMenuItem):
(ContextMenuItem::releasePlatformDescription):
(ContextMenuItem::type):
(ContextMenuItem::setType):
(ContextMenuItem::action):
(ContextMenuItem::setAction):
(ContextMenuItem::title):
(ContextMenuItem::setTitle):
(ContextMenuItem::platformSubMenu):
(ContextMenuItem::setSubMenu):
(ContextMenuItem::setChecked):
(ContextMenuItem::setEnabled):
(ContextMenuItem::enabled):
* platform/haiku/DragDataHaiku.cpp: Added.
(WebCore::DragData::canSmartReplace):
(WebCore::DragData::containsColor):
(WebCore::DragData::containsFiles):
(WebCore::DragData::asFilenames):
(WebCore::DragData::containsPlainText):
(WebCore::DragData::asPlainText):
(WebCore::DragData::asColor):
(WebCore::DragData::createClipboard):
(WebCore::DragData::containsCompatibleContent):
(WebCore::DragData::containsURL):
(WebCore::DragData::asURL):
(WebCore::DragData::asFragment):
* platform/haiku/DragImageHaiku.cpp: Added.
(WebCore::dragImageSize):
(WebCore::deleteDragImage):
(WebCore::scaleDragImage):
(WebCore::dissolveDragImageToFraction):
(WebCore::createDragImageFromImage):
(WebCore::createDragImageIconForCachedImage):
2009-07-16 Stephen White <senorblanco@chromium.org>
Reviewed by Darin Fisher and Brett Wilson.
Refactor Skia implementation of gradients and patterns.
http://bugs.webkit.org/show_bug.cgi?id=26618
The following layout tests were breaking on Chromium/Linux:
LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
I could've fixed these the easy way, by copying the same 5
lines of code we use everywhere we need patterns or gradients, but
I decided to fix it the hard way: by refactoring the code so that
PlatformContextSkia::setupPaintForFilling() and
PlatformContextSkia::setupPaintForStroking() do the right thing,
and also handle gradients and patterns.
This required pushing the gradients and patterns set in
(generic) GraphicsContext::setFillPattern() and friends down into
PlatformContextSkia. For this, I followed the setPlatformXXX()
pattern used elsewhere in GraphicsContext, and stubbed them out on
the other platforms with #if !PLATFORM(SKIA). This also required
pushing changes to the gradientSpaceTransform from the Gradient into
GradientSkia.
Since it's a Skia context, I decided to cache the values as
SkShaders. There were existing m_pattern and m_gradient SkShaders,
but they were unused, and whose use was ambiguous, so I
replaced them with one SkShader each for filling and stroking.
* platform/graphics/Gradient.cpp:
(WebCore::Gradient::setGradientSpaceTransform):
(WebCore::Gradient::setPlatformGradientSpaceTransform):
* platform/graphics/Gradient.h:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setStrokePattern):
(WebCore::GraphicsContext::setFillPattern):
(WebCore::GraphicsContext::setStrokeGradient):
(WebCore::GraphicsContext::setFillGradient):
(WebCore::GraphicsContext::setPlatformFillGradient):
(WebCore::GraphicsContext::setPlatformFillPattern):
(WebCore::GraphicsContext::setPlatformStrokeGradient):
(WebCore::GraphicsContext::setPlatformStrokePattern):
* platform/graphics/GraphicsContext.h:
* platform/graphics/skia/GradientSkia.cpp:
(WebCore::Gradient::setPlatformGradientSpaceTransform):
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformFillGradient):
(WebCore::GraphicsContext::setPlatformFillPattern):
(WebCore::GraphicsContext::setPlatformStrokeGradient):
(WebCore::GraphicsContext::setPlatformStrokePattern):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::strokeRect):
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::State::State):
(PlatformContextSkia::State::~State):
(PlatformContextSkia::drawRect):
(PlatformContextSkia::setupPaintCommon):
(PlatformContextSkia::setupPaintForFilling):
(PlatformContextSkia::setupPaintForStroking):
(PlatformContextSkia::setFillColor):
(PlatformContextSkia::setStrokeColor):
(PlatformContextSkia::setStrokeShader):
(PlatformContextSkia::setFillShader):
* platform/graphics/skia/PlatformContextSkia.h:
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::skiaDrawText):
(WebCore::paintSkiaText):
* svg/graphics/SVGPaintServer.cpp:
(WebCore::SVGPaintServer::teardown):
2009-07-16 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Oliver Hunt.
Added Haiku-specific files for WebCore/platform/image-decoders/.
https://bugs.webkit.org/show_bug.cgi?id=26949
Adding a new file, ImageDecoderHaiku.cpp.
* platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
(WebCore::RGBA32Buffer::RGBA32Buffer):
(WebCore::RGBA32Buffer::clear):
(WebCore::RGBA32Buffer::zeroFill):
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::setSize):
(WebCore::RGBA32Buffer::asNewNativeImage):
(WebCore::RGBA32Buffer::hasAlpha):
(WebCore::RGBA32Buffer::setHasAlpha):
(WebCore::RGBA32Buffer::setStatus):
(WebCore::RGBA32Buffer::operator=):
(WebCore::RGBA32Buffer::width):
(WebCore::RGBA32Buffer::height):
2009-07-16 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Eric Seidel.
Added Haiku-specific files for WebCore/page/.
https://bugs.webkit.org/show_bug.cgi?id=26949
Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
and FrameHaiku.cpp
* page/haiku/DragControllerHaiku.cpp: Added.
(WebCore::DragController::isCopyKeyDown):
(WebCore::DragController::dragOperation):
(WebCore::DragController::maxDragImageSize):
(WebCore::DragController::cleanupAfterSystemDrag):
* page/haiku/EventHandlerHaiku.cpp: Added.
(WebCore::isKeyboardOptionTab):
(WebCore::EventHandler::invertSenseOfTabsToLinks):
(WebCore::EventHandler::tabsToAllControls):
(WebCore::EventHandler::focusDocumentView):
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passMouseDownEventToWidget):
(WebCore::EventHandler::eventActivatedView):
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::EventHandler::passWheelEventToWidget):
(WebCore::EventHandler::createDraggingClipboard):
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
(WebCore::EventHandler::accessKeyModifiers):
* page/haiku/FrameHaiku.cpp: Added.
(WebCore::Frame::dragImageForSelection):
2009-07-16 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Eric Seidel.
Added Haiku-specific files for WebCore/editing/.
https://bugs.webkit.org/show_bug.cgi?id=26949
Adding one new file, EditorHaiku.cpp
* editing/haiku/EditorHaiku.cpp: Added.
(WebCore::Editor::newGeneralClipboard):
2009-07-16 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Eric Seidel.
Added Haiku-specific files for WebCore/bindings/js/.
https://bugs.webkit.org/show_bug.cgi?id=26949
Adding a new file, ScriptControllerHaiku.cpp
* bindings/js/ScriptControllerHaiku.cpp: Added.
(WebCore::ScriptController::createScriptInstanceForWidget):
2009-07-16 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Eric Seidel.
Added Haiku-specific files for WebCore/platform/text/.
https://bugs.webkit.org/show_bug.cgi?id=26949
Adding two new files, StringHaiku.cpp
and TextBreakIteratorInternalICUHaiku.cpp
* platform/text/haiku/StringHaiku.cpp: Added.
(WebCore::String::String):
(WebCore::String::operator BString):
* platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
(WebCore::currentTextBreakLocaleID):
2009-07-16 Kent Tamura <tkent@chromium.org>
Reviewed by Eric Seidel.
Sends the basename of a selected file for non-multipart form submission.
<https://bugs.webkit.org/show_bug.cgi?id=26505>
Test: fast/forms/get-file-upload.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::appendFormData):
2009-07-16 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
[V8] Centralize hidden property names
https://bugs.webkit.org/show_bug.cgi?id=27359
No behavior change. Just moving these names to a central location.
I'll move the rest of our hidden property names as I sweep though the
bindings.
* WebCore.gypi:
* bindings/v8/V8HiddenPropertyName.cpp: Added.
(WebCore::V8HiddenPropertyName::objectPrototype):
(WebCore::V8HiddenPropertyName::isolatedWorld):
* bindings/v8/V8HiddenPropertyName.h: Added.
* bindings/v8/V8IsolatedWorld.cpp:
(WebCore::V8IsolatedWorld::V8IsolatedWorld):
(WebCore::V8IsolatedWorld::getEntered):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::getHiddenObjectPrototype):
(WebCore::V8Proxy::installHiddenObjectPrototype):
2009-07-16 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
https://bugs.webkit.org/show_bug.cgi?id=26747
rdar://problem/7009243
Test: fast/repaint/background-misaligned.html
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled): Moved a variable definition closer to where
it is used.
* platform/graphics/cg/ImageCG.cpp:
(WebCore::BitmapImage::draw): In the subimage code path, compute a
pixel-aligned source rect, because the subiamge is always pixel-aligned
in source space, and adjust the destination rect to preserve the
source -> destination mapping. Clip to the (original) destination rect
to prevent bleeding out.
2009-07-16 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Adam Barth.
Add a sessionStorageEnabled setting to the settings class.
https://bugs.webkit.org/show_bug.cgi?id=27318
Allow LocalStorage to be enabled without enabling SessionStorage at
runtime. There is a settings class setting for localStorage, but not
for sessionStorage. We want to be able to test one of these features
without necessarily enabling the other.
SessionStorage defaults to true so as to not change behavior and
because there really aren't any security concerns around SessionStorage
(unlike LocalsStorage). The flag is needed in Chromium only because
we want to enable the compile time flag in the default build, but don't
want it on by default until it's been thoroughly tested.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::sessionStorage): Check the new flag
(WebCore::DOMWindow::localStorage): A bit of cleanup
* page/Settings.cpp:
(WebCore::Settings::Settings): Default the flag to true
(WebCore::Settings::setSessionStorageEnabled): Add the new flag
* page/Settings.h:
(WebCore::Settings::sessionStorageEnabled): Get the new flag
2009-07-16 Adam Barth <abarth@webkit.org>
Unreviewed.
Revert 45987. Tests did not pass on Windows.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::appendFormData):
2009-07-16 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
Added missing V8 bindings to the AllInOne file
https://bugs.webkit.org/show_bug.cgi?id=27321
* WebCore.vcproj/WebCore.vcproj:
Added missing files to build.
* bindings/v8/DerivedSourcesAllInOne.cpp:
Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
* DerivedSources.cpp
Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
2009-07-16 John Abd-El-Malek <jam@chromium.org>
Reviewed by David Levin.
Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
https://bugs.webkit.org/show_bug.cgi?id=27337
* dom/MessagePortChannel.h:
(WebCore::MessagePortChannel::channel):
2009-07-16 Xiaomei Ji <xji@chromium.org>
Reviewed by Darin Adler.
Fix tooltip does not get its directionality from its element's directionality.
https://bugs.webkit.org/show_bug.cgi?id=24187
Per mitz's suggestion in comment #6, while getting the plain-text
title, we also get the directionality of the title. How to handle
the directionality is up to clients. Clients could ignore it,
or use attribute or unicode control characters to display the title
as what they want.
WARNING: NO TEST CASES ADDED OR CHANGED
* WebCore.base.exp: Replace 2 names due to signature change.
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
* page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
* page/chromium/ChromeClientChromium.h:
(WebCore::ChromeClientChromium::setToolTip): Add setToolTip()
temprarily to make chromium compile after pick up this webkit patch.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::spellingToolTip): Besides getting the
spelling tooltip, get its directionality as well.
(WebCore::HitTestResult::title): Besides getting the title,
get its directionality as well.
* rendering/HitTestResult.h: Add 2 more methods.
2009-07-16 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Oliver Hunt.
[CAIRO] pattern of a canvas-element changes after modifications on canvas-element
https://bugs.webkit.org/show_bug.cgi?id=20578
Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
Test: fast/canvas/canvas-pattern-modify.html
* platform/graphics/cairo/ImageBufferCairo.cpp:
(copySurface):
(WebCore::ImageBuffer::image):
2009-07-16 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=27353
Images mispositioned because of bug in percentage-based relative positioning.
Added fast/css/nested-floating-relative-position-percentages.html
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::relativePositionOffsetX):
2009-07-16 Kent Tamura <tkent@chromium.org>
Reviewed by Eric Seidel.
Sends the basename of a selected file for non-multipart form submission.
<https://bugs.webkit.org/show_bug.cgi?id=26505>
Test: fast/forms/get-file-upload.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::appendFormData):
2009-07-16 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Video size sometimes jumps just after the video starts loading
https://bugs.webkit.org/show_bug.cgi?id=27352
Ensure that the media player is at or after the 'HaveMetadata' state so that
the instrinsic size is known before we create the layer for video. This avoids
a flash caused by computing the video rect using the default intrinsic size, and then
re-computing it when that size changes.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::isReadyForRendering):
(WebCore::MediaPlayerPrivate::updateStates):
(WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
2009-07-16 Brady Eidson <beidson@apple.com>
Reviewed by Antti Koivisto.
Patch by Brady Eidson and Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=26496
<rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
from the connection-per-host limit. Removing that exemption makes the test case load smoothly after reloads.
* loader/loader.cpp:
(WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
2009-07-16 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
[V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
https://bugs.webkit.org/show_bug.cgi?id=27335
evaluateInNewContext makes this delegate call. evaluateInNewWorld
needs to make the same call. This does not appear to be testable with
our current technology.
* bindings/v8/V8IsolatedWorld.cpp:
(WebCore::V8IsolatedWorld::evaluate):
2009-07-15 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Simon Hausmann.
Fix a typo: application/atom=xml -> application/atom+xml.
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
2009-07-16 Dean McNamee <deanm@chromium.org>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=27292
Improve handling of <canvas> path operations on an empty path.
Implement Skia's Path::hasCurrentPoint().
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::lineTo):
(WebCore::CanvasRenderingContext2D::quadraticCurveTo):
(WebCore::CanvasRenderingContext2D::bezierCurveTo):
* platform/graphics/skia/PathSkia.cpp:
(WebCore::Path::hasCurrentPoint):
2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Eric Seidel.
Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
https://bugs.webkit.org/show_bug.cgi?id=26254
Make it so that setting white-space and word-wrap via CSS
overrides the wrap attribute.
This involves having the shadow div in the textarea inherit
the CSS from its parent instead of hard-coding it in
RenderTextControlMultiline.
Committer note: Earlier I reverted this change because I did it incorrectly
by leaving out css/html.css. In the patch, the filename was the old name
css/html4.css and that led to my error.
* css/html.css:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::parseMappedAttribute):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2009-07-15 James Hawkins <jhawkins@google.com>
Reviewed by Adam Barth.
[V8] Remove a local variable that is shadowing a function parameter.
https://bugs.webkit.org/show_bug.cgi?id=27309
No test required as this modification does not change the current behavior.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
2009-07-15 Adam Langley <agl@google.com>
No review: reverting previous change.
Revert r45959:
2009-07-15 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Adding the Win SQLite VFS implementation for Chromium.
https://bugs.webkit.org/show_bug.cgi?id=26940
The Chromium side of this patch was landed in 20839, but broke the build. It
was reverted in r20840. Thus, I'm reverting this side of the patch too.
* WebCore.gypi:
* platform/chromium/ChromiumBridge.h:
* platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
* platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
2009-07-15 David Levin <levin@chromium.org>
Layout test fix, reverting previous change.
Reverting r45962 as it caused several layout test failures.
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::parseMappedAttribute):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2009-06-08 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Eric Seidel.
Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
https://bugs.webkit.org/show_bug.cgi?id=26254
Make it so that setting white-space and word-wrap via CSS
overrides the wrap attribute.
This involves having the shadow div in the textarea inherit
the CSS from its parent instead of hard-coding it in
RenderTextControlMultiline.
* css/html4.css:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::parseMappedAttribute):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2009-07-15 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Adding the Win SQLite VFS implementation for Chromium.
https://bugs.webkit.org/show_bug.cgi?id=26940
* platform/chromium/ChromiumBridge.h:
* platform/sql/chromium: Added.
* platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
* platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
2009-07-15 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Bug 25151 - workers that fail to load scripts not firing error event.
https://bugs.webkit.org/show_bug.cgi?id=25151
This fixes the problem that an error event is not fired when the worker
script fails to load. Some reasons this may occur are an invalid URL for
the worker script or a cross-origin redirect.
We also moves the code to complete the URL and check its origin from
Worker constructor to WorkerScriptLoader loading functions in order to
move the exception throwing logic out of the scope of Worker constructor.
Due to this change, we also remove the output ExceptionCode parameter
in the worker constructor. Corresponding JS/V8 binding codes have been
updated to reflect this change.
* bindings/js/JSWorkerConstructor.cpp:
(WebCore::constructWorker):
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* workers/Worker.cpp:
(WebCore::Worker::Worker):
(WebCore::Worker::notifyFinished):
* workers/Worker.h:
(WebCore::Worker::create):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::importScripts):
* workers/WorkerScriptLoader.cpp:
(WebCore::toCrossOriginRedirectPolicy):
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::notifyLoadErrorTask):
(WebCore::WorkerScriptLoader::createResourceRequest):
(WebCore::WorkerScriptLoader::didFail):
(WebCore::WorkerScriptLoader::didFailRedirectCheck):
(WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
(WebCore::WorkerScriptLoader::notifyError):
* workers/WorkerScriptLoader.h:
(WebCore::):
(WebCore::WorkerScriptLoader::url):
2009-07-15 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
text-shadow is not drawn for text with transparent colour
https://bugs.webkit.org/show_bug.cgi?id=21374
Test: fast/text/shadow-translucent-fill.html
* rendering/InlineTextBox.cpp:
(WebCore::paintTextWithShadows): If the text fill color is not opaque,
paint all shadows separately from the text, by casting them from
clipped-out opaque text.
2009-07-15 Adam Treat <adam.treat@torchmobile.com>
Fix the Qt build.
* html/HTMLAreaElement.cpp:
2009-07-15 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
Cleanup DOM Storage dependencies.
https://bugs.webkit.org/show_bug.cgi?id=27180
DOM Storage had several unnecessary (and probably unintended)
dependencies. This patch replaces many includes of header files with
forward declaration of classes, making some destructors explicit, and
taking some factories out of the header files.
This will allow things like StorageAreaSync to take a StorageAreaImpl*
(as it should) rather than a StorageArea* which previously weren't
possible because the dependencies were such a tangled mess.
* storage/LocalStorageTask.cpp:
(WebCore::LocalStorageTask::~LocalStorageTask):
* storage/LocalStorageTask.h:
* storage/Storage.cpp:
(WebCore::Storage::~Storage):
* storage/Storage.h:
* storage/StorageArea.cpp:
* storage/StorageArea.h:
* storage/StorageAreaImpl.cpp:
* storage/StorageAreaImpl.h:
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::~StorageAreaSync):
* storage/StorageAreaSync.h:
* storage/StorageEvent.cpp:
(WebCore::StorageEvent::create):
(WebCore::StorageEvent::StorageEvent):
* storage/StorageEvent.h:
* storage/StorageNamespace.h:
* storage/StorageNamespaceImpl.cpp:
* storage/StorageNamespaceImpl.h:
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::~StorageSyncManager):
* storage/StorageSyncManager.h:
2009-07-15 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
Incorrect animation when trying to duplicate effect of transform-origin
https://bugs.webkit.org/show_bug.cgi?id=27310
The bug is that matrix animation is being used when animating
a list of transform functions that match in the from and to states.
This sometimes works. But because of the way CA does matrix animation
function lists like the one shown in the testcase animate incorrectly.
This fixes the bug by always doing component animation
as long as the function lists match. This allows CA
to animate the components and then recompose the result
into the correct matrix.
Test: animations/transform-origin-vs-functions.html
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::animateTransform):
2009-07-15 Albert J. Wong <ajwong@chromium.org>
Reviewed by David Levin.
Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
downstream
https://bugs.webkit.org/show_bug.cgi?id=27274
Changes the build file for chromium. Test built the chromium tree
to verify.
* WebCore.gypi:
2009-07-15 Mark Rowe <mrowe@apple.com>
I like it when the code compiles.
* WebCore.base.exp:
2009-07-15 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Renamed parseURL to deprecatedParseURL.
* bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::setValue): Renamed.
* bindings/js/JSElementCustom.cpp:
(WebCore::allowSettingSrcToJavascriptURL): Renamed.
* bindings/js/JSHTMLFrameElementCustom.cpp:
(WebCore::allowSettingJavascriptURL): Renamed.
* bindings/js/JSHTMLIFrameElementCustom.cpp:
(WebCore::JSHTMLIFrameElement::setSrc): Renamed.
* bindings/objc/DOM.mm:
(-[DOMElement _getURLAttribute:]): Renamed.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
* bindings/v8/custom/V8CustomBinding.cpp:
(WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
* css/CSSHelper.cpp:
(WebCore::deprecatedParseURL): Renamed.
* css/CSSHelper.h: Renamed and updated comment.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
(WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::sourceURI): Renamed.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseTag): Renamed.
* html/PreloadScanner.cpp:
(WebCore::PreloadScanner::processAttribute): Renamed.
(WebCore::PreloadScanner::emitCSSRule): Renamed.
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeImage): Renamed.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteImageURL): Renamed.
(WebCore::HitTestResult::absoluteMediaURL): Renamed.
(WebCore::HitTestResult::absoluteLinkURL): Renamed.
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler): Renamed.
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::sourceURI): Renamed.
* wml/WMLAElement.cpp:
(WebCore::WMLAElement::defaultEventHandler): Renamed.
* wml/WMLImageLoader.cpp:
(WebCore::WMLImageLoader::sourceURI): Renamed.
2009-07-15 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
CSSHelper.h's parseURL is a function that no one should ever call
Part 1: Eliminate callers in the CSS parser.
https://bugs.webkit.org/show_bug.cgi?id=26599
Test: fast/css/uri-token-parsing.html
* css/CSSHelper.h: Added a comment explaining why nobody should ever call this
function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
CSSParser::text already takes care of parsing the URI token syntax, and the
parseURL function does no good.
(WebCore::CSSParser::parseContent): Ditto.
(WebCore::CSSParser::parseFillImage): Ditto.
(WebCore::CSSParser::parseFontFaceSrc): Ditto.
(WebCore::CSSParser::parseBorderImage): Ditto.
(WebCore::isCSSWhitespace): Added. Helper function that makes the text function
easier to read.
(WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
are both trimmed before removing the quote marks. Changed to use the
isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
* css/CSSParser.h: Removed stray "public:" in this header.
* platform/text/StringImpl.cpp:
(WebCore::StringImpl::substring): Optimized the case where the substring covers
the entire string, so we just share the StringImpl instead of making a new one.
This case came up in earlier versions of the CSS parser changes above.
(WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
not call substring any more. Before, this was relying on the substring function
always making a copy of any non-empty substring.
2009-07-15 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
After double-clicking a word, using Shift-arrow to select behaves unpredictably
https://bugs.webkit.org/show_bug.cgi?id=27177
rdar://problem/7034324
Test: editing/selection/extend-selection-after-double-click.html
The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
being cleared in many cases where it should have been.
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
to false. This catches all sorts of cases that don't flow through the modify function.
Before, the flag would reflect the last call to the modify function, which was not
necessarily the last selection change.
(WebCore::SelectionController::willBeModified): Rearrange function for clarity.
Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere.
(WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
setSelection when setting up a trial selection controller, since setSelection now
clears that flag. Also changed both trial selection controller cases to set the flag,
although it's not strictly necessary in both cases. Added code to set
m_lastChangeWasHorizontalExtension when extending the selection, which used to be
handled in willBeModified. Now we need to do it after the selection change.
2009-07-15 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Dimitri Glazkov.
Need to update DOM Storage files in GYPI file.
https://bugs.webkit.org/show_bug.cgi?id=27317
Need to update DOM Storage files in the GYPI file. They're pretty out
of date and we're on the path towards enabling them for everyone!
* WebCore.gypi:
2009-07-15 Kwang Yul Seo <skyul@company100.net>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26794
Make Yacc-generated parsers to use fastMalloc/fastFree.
Define YYMALLOC and YYFREE to fastMalloc and fastFree
respectively.
* css/CSSGrammar.y:
* xml/XPathGrammar.y:
2009-07-15 David Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=27193
Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in
is effectively broken as a result.
No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::handleRunInChild):
2009-07-15 Yuzo Fujishima <yuzo@google.com>
Reviewed by Darin Adler.
Test: fast/js/instanceof-operator.html
Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=25205
In addition to for XMLHttpRequest, this also fixes for:
- Audio
- Image
- MessageChannel
- Option
- WebKitCSSMatrix
- WebKitPoint
- Worker
- XSLTProcessor
* bindings/js/JSAudioConstructor.cpp:
(WebCore::JSAudioConstructor::JSAudioConstructor):
* bindings/js/JSAudioConstructor.h:
* bindings/js/JSDOMBinding.h:
(WebCore::DOMConstructorObject::createStructure):
(WebCore::DOMConstructorObject::DOMConstructorObject):
* bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::JSImageConstructor):
* bindings/js/JSImageConstructor.h:
* bindings/js/JSMessageChannelConstructor.cpp:
(WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
* bindings/js/JSMessageChannelConstructor.h:
* bindings/js/JSOptionConstructor.cpp:
(WebCore::JSOptionConstructor::JSOptionConstructor):
* bindings/js/JSOptionConstructor.h:
* bindings/js/JSWebKitCSSMatrixConstructor.cpp:
(WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
* bindings/js/JSWebKitCSSMatrixConstructor.h:
* bindings/js/JSWebKitPointConstructor.cpp:
(WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
* bindings/js/JSWebKitPointConstructor.h:
* bindings/js/JSWorkerConstructor.cpp:
(WebCore::JSWorkerConstructor::JSWorkerConstructor):
* bindings/js/JSWorkerConstructor.h:
* bindings/js/JSXMLHttpRequestConstructor.cpp:
(WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
* bindings/js/JSXMLHttpRequestConstructor.h:
* bindings/js/JSXSLTProcessorConstructor.cpp:
(WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
* bindings/js/JSXSLTProcessorConstructor.h:
2009-07-15 Kai Br�ning <kai@granus.net>
Reviewed by Dave Hyatt.
CSS21 attribute selectors not dynamic for xml.
https://bugs.webkit.org/show_bug.cgi?id=25072
Moved the relevant test in StyledElement::attributeChanged()
to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
so it can be called from both StyledElement::attributeChanged()
and Element::attributeChanged().
Refactored Element::attributeChanged() into
Element::updateAfterAttributeChanged() and
Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
separately from StyledElement::attributeChanged().
Test: fast/css/attribute-selector-dynamic.xml
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::updateAfterAttributeChanged):
(WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
* dom/Element.h:
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):
2009-07-15 Alpha Lam <hclam@chromium.org>
Reviewed by David Levin.
[V8] Layout test failures for drawImage in Canvas
https://bugs.webkit.org/show_bug.cgi?id=27311
Fixing several canvas layout tests failures due to a
missing return statement in CanvasRenderingContext2DDrawImage() which
was accidentally removed in r45929.
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2009-07-15 Robert Hogan <robert@roberthogan.net>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26969
If the httpMethod() of the request passed to SubresourceLoader::create is not
supported by the client we must expect to call didFail() while m_loader is still null.
* loader/DocumentThreadableLoader.cpp:
(DocumentThreadableLoader::didFail):Changed.
2009-07-15 Mark Rowe <mrowe@apple.com>
Fix the Mac build.
* WebCore.base.exp:
* css/MediaQueryEvaluator.cpp:
* rendering/SVGRenderTreeAsText.cpp:
* rendering/style/SVGRenderStyle.cpp:
* svg/graphics/SVGPaintServer.cpp:
2009-07-07 Alpha Lam <hclam@chromium.org>
Reviewed by Dimitri Glazkov.
[V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
https://bugs.webkit.org/show_bug.cgi?id=27170
Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
as a parameter of drawImage() for HTMLCanvasElement.
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2009-07-15 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
[V8] Fix isolated world constructors
https://bugs.webkit.org/show_bug.cgi?id=27287
Don't enter V8Proxy::m_context before creating DOM constructors.
Instead, use getWrapperContext to get the right context.
After this patch, all my tests pass. I'll enable the feature
downstream and land the tests.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getConstructor):
(WebCore::V8DOMWrapper::lookupDOMWrapper):
* bindings/v8/V8DOMWrapper.h:
* bindings/v8/V8IsolatedWorld.cpp:
(WebCore::V8IsolatedWorld::evaluate):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::createWrapperFromCache):
(WebCore::V8Proxy::isContextInitialized):
(WebCore::V8Proxy::disposeContextHandles):
(WebCore::V8Proxy::installDOMWindow):
(WebCore::V8Proxy::initContextIfNeeded):
(WebCore::V8Proxy::getHiddenObjectPrototype):
(WebCore::V8Proxy::installHiddenObjectPrototype):
* bindings/v8/V8Proxy.h:
2009-07-15 Antonio Gomes <antonio.gomes@openbossa.org>
Reviewed by Darin Adler.
useless null-check statement in visible_units.cpp@logicalStartOfLine
https://bugs.webkit.org/show_bug.cgi?id=27154
Simple fix.
* editing/visible_units.cpp:
(WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
2009-07-15 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=27304
WebKit should provide usage and eligibility information about the page cache.
* WebCore.base.exp:
* history/CachedFrame.cpp:
(WebCore::CachedFrame::childFrameCount):
* history/CachedFrame.h:
* history/PageCache.cpp:
(WebCore::PageCache::frameCount):
(WebCore::PageCache::autoreleasedPageCount):
* history/PageCache.h:
(WebCore::PageCache::pageCount):
2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by David Levin.
Chromium's canvas forgets its context after fillText again
https://bugs.webkit.org/show_bug.cgi?id=27293
No new tests because the test for this was already added in
https://bugs.webkit.org/show_bug.cgi?id=26436
* platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::compositeTextComposite):
2009-07-14 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=27283
Implement the new 'rem' unit from CSS3.
Added some rem-* tests in fast/css.
* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::validUnit):
(WebCore::unitFromString):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::lex):
* css/CSSParserValues.cpp:
(WebCore::CSSParserValue::createCSSValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLengthInt):
(WebCore::CSSPrimitiveValue::computeLengthIntForLength):
(WebCore::CSSPrimitiveValue::computeLengthShort):
(WebCore::CSSPrimitiveValue::computeLengthFloat):
(WebCore::CSSPrimitiveValue::computeLengthDouble):
(WebCore::CSSPrimitiveValue::cssText):
(WebCore::CSSPrimitiveValue::parserValue):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::):
(WebCore::CSSPrimitiveValue::isUnitTypeLength):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::initForStyleResolve):
(WebCore::convertToLength):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapFillSize):
(WebCore::CSSStyleSelector::mapFillXPosition):
(WebCore::CSSStyleSelector::mapFillYPosition):
(WebCore::CSSStyleSelector::createTransformOperations):
* css/CSSStyleSelector.h:
* css/MediaQueryEvaluator.cpp:
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* css/tokenizer.flex:
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Document::usesRemUnits):
(WebCore::Document::setUsesRemUnits):
* dom/Element.cpp:
(WebCore::Element::recalcStyle):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::cssPrimitiveToLength):
* svg/graphics/SVGPaintServer.cpp:
(WebCore::applyStrokeStyleToContext):
(WebCore::dashArrayFromRenderingStyle):
* svg/graphics/SVGPaintServer.h:
2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
* bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Fisher.
[V8] Update bindings for ValiditeState patch.
https://bugs.webkit.org/show_bug.cgi?id=19562
* bindings/v8/DOMObjectsInclude.h:
* bindings/v8/DerivedSourcesAllInOne.cpp:
* bindings/v8/V8Index.cpp:
* bindings/v8/V8Index.h:
2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Cleanup - Remove obsolete code from the make system
https://bugs.webkit.org/show_bug.cgi?id=27299
* WebCore.pro:
2009-07-15 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Ariya Hidayat.
Fix the build without media elements.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
markers around the body of the method.
2009-07-14 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Move storeLastActivePanel out of the
ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
Add default panel for the first opening of the
WebInspector.
https://bugs.webkit.org/show_bug.cgi?id=27263
* inspector/InspectorController.cpp:
(InspectorController::setWindowVisible):
* inspector/InspectorController.idl:
2009-07-14 Darin Adler <darin@apple.com>
Try to fix Windows build.
* bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
2009-07-14 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Oliver Hunt.
HTMLMediaElement::supportsFullscreen() should return false
https://bugs.webkit.org/show_bug.cgi?id=27284
(Reverting a part of 45875)
HTMLVideoElement::supportsFullscreen() will properly do the
job, and check if the backend supports fullscreen.
HTMLVideoElement is the only subclass to support fullscreen
(conditionnaly). HTMLAudioElement fullscreen is not supported
and is a different kind of fullscreen, if it comes to be wanted.
No test can be done currently given that none of the media
backends support fullscreen.
* html/HTMLMediaElement.cpp:
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::supportsFullscreen):
2009-07-14 Darin Adler <darin@apple.com>
Reviewed by Dimitri Glazkov.
Next step in making DOM attribute getter/setters consistently use AtomicString
https://bugs.webkit.org/show_bug.cgi?id=25425
This covers eight DOM classes, and for each one of the classes:
- Changes the IDL to use the Reflect syntax for all simple cases.
- Removes unused functions in the classes, mainly newly unused ones that were
used for reflection before.
- Removes unneeded explicitly defined destructors.
- Explicitly declares destructors as virtual.
- Removes unneeded includes.
- Makes members protected or private rather than public where possible.
- Renames "doc" to "document".
- Tweaks formatting to match our latest style in a few places.
- Improves some FIXME comments.
Over time we'll want to do this for all HTML DOM classes.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::HTMLAnchorElement):
* html/HTMLAnchorElement.h:
(WebCore::HTMLAnchorElement::endTagRequirement):
(WebCore::HTMLAnchorElement::tagPriority):
* html/HTMLAnchorElement.idl:
* html/HTMLAppletElement.cpp:
* html/HTMLAppletElement.h:
* html/HTMLAppletElement.idl:
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::parseMappedAttribute):
* html/HTMLAreaElement.h:
(WebCore::HTMLAreaElement::endTagRequirement):
(WebCore::HTMLAreaElement::tagPriority):
* html/HTMLAreaElement.idl:
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::parseMappedAttribute):
* html/HTMLBRElement.h:
* html/HTMLBRElement.idl:
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::HTMLBaseElement):
(WebCore::HTMLBaseElement::removedFromDocument):
(WebCore::HTMLBaseElement::process):
* html/HTMLBaseElement.h:
* html/HTMLBaseElement.idl:
* html/HTMLBaseFontElement.cpp:
(WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
* html/HTMLBaseFontElement.h:
(WebCore::HTMLBaseFontElement::endTagRequirement):
(WebCore::HTMLBaseFontElement::tagPriority):
* html/HTMLBaseFontElement.idl:
* html/HTMLBlockquoteElement.cpp:
(WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
* html/HTMLBlockquoteElement.h:
(WebCore::HTMLBlockquoteElement::tagPriority):
* html/HTMLBlockquoteElement.idl:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::HTMLBodyElement):
(WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
* html/HTMLBodyElement.h:
(WebCore::HTMLBodyElement::endTagRequirement):
(WebCore::HTMLBodyElement::tagPriority):
* html/HTMLBodyElement.idl:
Made changes as described above.
* loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
2009-07-14 Steve Falkenburg <sfalken@apple.com>
Reorganize JavaScriptCore headers into:
API: include/JavaScriptCore/
Private: include/private/JavaScriptCore/
Reviewed by Darin Adler.
* WebCore.vcproj/QTMovieWin.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/build-generated-files.sh:
2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
Reviewed by Darin Adler.
Change all Noncopyable inheriting visibility to public.
https://bugs.webkit.org/show_bug.cgi?id=27225
Change all Noncopyable inheriting visibility to public because
it is needed to the custom allocation framework (bug #20422).
* bindings/js/GCController.h:
* bindings/js/WorkerScriptController.h:
* bindings/v8/V8DOMMap.cpp:
(WebCore::):
* bridge/runtime.h:
* css/CSSSelector.h:
* css/CSSSelectorList.h:
* css/CSSStyleSelector.h:
* dom/ClassNames.h:
* dom/MessagePortChannel.h:
* dom/XMLTokenizerLibxml2.cpp:
* dom/XMLTokenizerScope.h:
* editing/ReplaceSelectionCommand.cpp:
* editing/SelectionController.h:
* editing/TextIterator.cpp:
* history/PageCache.h:
* html/CanvasRenderingContext2D.h:
* html/HTMLParser.h:
* html/HTMLParserQuirks.h:
* html/PreloadScanner.h:
* loader/Cache.h:
* loader/CrossOriginPreflightResultCache.h:
* loader/FrameLoader.h:
* loader/ProgressTracker.h:
* loader/ThreadableLoader.h:
* loader/appcache/ApplicationCacheGroup.h:
* loader/archive/ArchiveResourceCollection.h:
* loader/icon/IconDatabase.h:
* loader/icon/IconLoader.h:
* loader/icon/PageURLRecord.h:
* loader/loader.h:
* page/ContextMenuController.h:
* page/EventHandler.h:
* page/FrameTree.h:
* page/Page.h:
* page/PageGroup.h:
* page/PageGroupLoadDeferrer.h:
* page/mac/EventHandlerMac.mm:
* platform/AutodrainedPool.h:
* platform/ContextMenu.h:
* platform/EventLoop.h:
* platform/HostWindow.h:
* platform/Pasteboard.h:
* platform/PurgeableBuffer.h:
* platform/RunLoopTimer.h:
* platform/ThreadGlobalData.h:
* platform/ThreadTimers.h:
* platform/Timer.h:
* platform/TreeShared.h:
* platform/graphics/FontData.h:
* platform/graphics/GlyphWidthMap.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/ImageBuffer.h:
* platform/graphics/ImageSource.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/skia/GraphicsContextPlatformPrivate.h:
* platform/graphics/skia/PlatformContextSkia.h:
* platform/graphics/win/QTMovieWin.cpp:
* platform/mac/LocalCurrentGraphicsContext.h:
* platform/network/FormDataBuilder.h:
* platform/network/ResourceHandleInternal.h:
* platform/network/soup/ResourceHandleSoup.cpp:
* platform/text/StringBuffer.h:
* platform/text/TextCodec.h:
* platform/win/WindowMessageBroadcaster.h:
* rendering/CounterNode.h:
* rendering/LayoutState.h:
* rendering/RenderFrameSet.h:
* rendering/RenderView.h:
* rendering/TransformState.h:
* svg/SVGAnimatedProperty.h:
* svg/SynchronizableTypeWrapper.h:
* workers/WorkerMessagingProxy.h:
* workers/WorkerRunLoop.cpp:
* xml/XPathExpressionNode.h:
* xml/XPathParser.h:
* xml/XPathPredicate.h:
* xml/XPathStep.h:
2009-07-14 Darin Fisher <darin@chromium.org>
Reviewed by Darin Adler.
Fails to save document state when navigating away from a page with a
reference fragment.
https://bugs.webkit.org/show_bug.cgi?id=27281
Test: fast/history/saves-state-after-fragment-nav.html
* history/HistoryItem.cpp:
(WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
to compare URLs.
2009-07-14 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Sam Weinig.
Inspector: Remove Unintended Global Variables
https://bugs.webkit.org/show_bug.cgi?id=27203
* inspector/front-end/Console.js:
(WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
* inspector/front-end/DatabasesPanel.js:
(WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype.update):
* inspector/front-end/inspector.js:
(WebInspector.animateStyle):
2009-07-14 Michelangelo De Simone <micdesim@gmail.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=19562
Added build stuff and stub for the ValidityState class, part of HTML5
section Forms:
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
Test: fast/forms/ValidityState-001.html
* DerivedSources.cpp: Inclusion of ValidityState files
* DerivedSources.make: ditto
* GNUmakefile.am: ditto
* WebCore.gypi: ditto
* WebCore.pro: ditto
* WebCore.vcproj/WebCore.vcproj: ditto
* WebCore.xcodeproj/project.pbxproj: ditto
* WebCoreSources.bkl: ditto
* html/HTMLButtonElement.idl: validity attribute
* html/HTMLFieldSetElement.idl: ditto
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::validity): ValidityState getter
* html/HTMLFormControlElement.h: ditto
* html/HTMLInputElement.idl: validity attribute
* html/HTMLSelectElement.idl: ditto
* html/HTMLTextAreaElement.idl: ditto
* html/ValidityState.cpp: Added.
(WebCore::ValidityState::ValidityState):
(WebCore::ValidityState::valid): validation flag
* html/ValidityState.h: Added.
(WebCore::ValidityState::create): validation flag
(WebCore::ValidityState::control): ditto
(WebCore::ValidityState::valueMissing): ditto
(WebCore::ValidityState::typeMismatch): ditto
(WebCore::ValidityState::patternMismatch): ditto
(WebCore::ValidityState::tooLong): ditto
(WebCore::ValidityState::rangeUnderflow): ditto
(WebCore::ValidityState::rangeOverflow): ditto
(WebCore::ValidityState::stepMismatch): ditto
(WebCore::ValidityState::customError): ditto
* html/ValidityState.idl: Added.
2009-07-14 Ryosuke Niwa <rniwa@google.com>
Reviewed by Eric Seidel.
Outdenting a line inside a blockquote tag does nothing
https://bugs.webkit.org/show_bug.cgi?id=25316
The bug was caused by the code checking whether the blockquote is created by WebKit or not.
We simply remove this code to be consistent with Firefox and Internet Explorer.
Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
the placeholder before the enclosingNode because there could be contents before the current paragraph.
Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
Test: editing/execCommand/outdent-regular-blockquote.html
* editing/IndentOutdentCommand.cpp:
(WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
(WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
2009-07-14 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
[V8] Fix isolated world wrappers for Node prototypes
https://bugs.webkit.org/show_bug.cgi?id=27277
This change does two things:
1) We bypass the wrapper cache in the isolated world. This is because
the wrapper template cache has prototypes that lead to the main
world. We can add a template cache for the isolated world if
performance warrants.
2) We introduce a smarter way to grab the wrapper context for a frame
that is aware that proxy <-> context do not stand in one-to-one
correspondence. This generalizes our solution for the node wrapper
case to prototypes.
The net result is that Node wrappers get the right prototypes. As
before, tests to follow.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::setHiddenWindowReference):
(WebCore::V8DOMWrapper::instantiateV8Object):
(WebCore::V8DOMWrapper::convertNodeToV8Object):
(WebCore::V8DOMWrapper::convertWindowToV8Object):
(WebCore::V8DOMWrapper::getWrapperContext):
* bindings/v8/V8DOMWrapper.h:
2009-07-14 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
[V8] Fix isolated world wrappers for Nodes
https://bugs.webkit.org/show_bug.cgi?id=27271
Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
I have tests, but I can't land them until I get this feature under
control.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertNodeToV8Object):
* bindings/v8/V8Proxy.h:
(WebCore::V8Proxy::V8Proxy):
2009-07-14 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
[V8] Fix isolated world crash on getting window.location
https://bugs.webkit.org/show_bug.cgi?id=27268
I have a test for this locally, but it requires a compile-time hack to
run. Once I get the feature's stability under control, we can turn the
feature on and add the tests.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::setHiddenWindowReference):
* bindings/v8/V8IsolatedWorld.h:
(WebCore::V8IsolatedWorld::context):
2009-07-14 Brent Fulgham <bfulgham@webkit.org>
Correct failing tests after r45875. The original patch did not
test the m_player member for null, causing crashes. This will
happen fairly frequently in real use. Was this original patch
ever tested?
https://bugs.webkit.org/show_bug.cgi?id=27246
Test via existing media tests.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
(WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
2009-07-14 Avi Drissman <avi@chromium.org>
Reviewed by Darin Fisher.
Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
The Windows clipboard format is explicitly documented as being UTF-8,
and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
indicated, Windows-1252 is assumed, which is wrong.
Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
No new tests.
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::writeRange):
* platform/chromium/PasteboardChromium.cpp:
(WebCore::Pasteboard::writeSelection):
2009-07-14 Albert J. Wong <ajwong@chromium.org>
Reviewed by Dimitri Glazkov.
Upstream V8NPObject.h and V8NPObject.cpp.
https://bugs.webkit.org/show_bug.cgi?id=27103
This just upstreams the files from the chromium code base. Only
minor changes to formatting and similar were done, so no testing
is required because nothing really changed. Code verified to compile.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::bindToWindowObject):
(WebCore::ScriptController::createScriptInstanceForWidget):
* bindings/v8/V8NPObject.cpp: Added.
(npObjectInvokeImpl):
(npObjectMethodHandler):
(npObjectInvokeDefaultHandler):
(weakTemplateCallback):
(npObjectGetProperty):
(npObjectNamedPropertyGetter):
(npObjectIndexedPropertyGetter):
(npObjectGetNamedProperty):
(npObjectGetIndexedProperty):
(npObjectSetProperty):
(npObjectNamedPropertySetter):
(npObjectIndexedPropertySetter):
(npObjectSetNamedProperty):
(npObjectSetIndexedProperty):
(weakNPObjectCallback):
(createV8ObjectForNPObject):
(forgetV8ObjectForNPObject):
* bindings/v8/V8NPObject.h: Added.
* bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
2009-07-14 Albert J. Wong <ajwong@chromium.org>
Reviewed by Darin Adler.
Add HTMLMediaElement::supportSave() and a
HitTestResult::absoluteMediaURL() functions
https://bugs.webkit.org/show_bug.cgi?id=27246
Added an implementation of supportsSave() into HTMLMediaElement
that delegates to MediaPlayerPrivateImpl so that the media engine
is able to signal whether or not a media source supports saving.
Also added a function to HitTestResult that allows for retrieval
of the currentSrc associated with the "hit" media element.
These functions are just pipeing with no visible UI change so there
are no related layout test changes.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::supportsFullscreen):
(WebCore::HTMLMediaElement::supportsSave):
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::supportsSave):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
(WebCore::MediaPlayerPrivateInterface::supportsSave):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString):
(WebCore::HitTestResult::absoluteMediaURL):
* rendering/HitTestResult.h:
2009-07-14 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Adam Barth.
[V8] Implement Reflect and ReflectURL attribute support.
https://bugs.webkit.org/show_bug.cgi?id=27273
* bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
2009-07-14 Dmitry Titov <dimich@chromium.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=27266
Add hasCurrentPoint() to WebCore::Path.
This fixes Skia-based Chromium regression caused by the fix for
https://bugs.webkit.org/show_bug.cgi?id=27187.
For Skia, the new method always returns 'true', pending actual implementation.
This means Chromium still will differ from Gecko behavior, but at least its Canvas
will not be completely broken.
Existing Canvas Layout Tests should pass in Chromium after this change.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
(WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
(WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
* platform/graphics/Path.h:
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::hasCurrentPoint):
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::isEmpty):
(WebCore::Path::hasCurrentPoint):
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::hasCurrentPoint):
* platform/graphics/skia/PathSkia.cpp:
(WebCore::Path::hasCurrentPoint):
* platform/graphics/wx/PathWx.cpp:
(WebCore::Path::hasCurrentPoint):
All these files add a Path::hasCurrentPoint() for various platforms.
2009-07-14 Nate Chapin <japhet@chromium.org>
Reviewed by Sam Weinig.
Upstream RGBColor from src.chromium.org.
https://bugs.webkit.org/show_bug.cgi?id=27133
* WebCore.gypi: Add RGBColor
* css/RGBColor.cpp: Added.
(WebCore::RGBColor::create):
(WebCore::RGBColor::red):
(WebCore::RGBColor::green):
(WebCore::RGBColor::blue):
* css/RGBColor.h: Added.
(WebCore::RGBColor::RGBColor):
2009-07-10 Matt Perry <mpcomplete@chromium.org>
Reviewed by Darin Fisher.
[V8] Rename the didCreate/DestroyScriptContext calls to make it
clear that that those refer to the frame's contxt. Add another
similar call for when creating contexts via evaluateInNewContext.
https://bugs.webkit.org/show_bug.cgi?id=27104
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluateInNewContext):
(WebCore::V8Proxy::disposeContextHandles):
(WebCore::V8Proxy::initContextIfNeeded):
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
(WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
(WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
* loader/FrameLoaderClient.h:
2009-07-14 Brent Fulgham <bfulgham@webkit.org>
Revert http://trac.webkit.org/changeset/45864 after
breaking of Windows build.
* storage/LocalStorageTask.cpp:
* storage/LocalStorageTask.h:
* storage/Storage.cpp:
* storage/Storage.h:
* storage/StorageArea.cpp:
* storage/StorageArea.h:
* storage/StorageAreaImpl.cpp:
* storage/StorageAreaImpl.h:
* storage/StorageAreaSync.cpp:
* storage/StorageAreaSync.h:
* storage/StorageEvent.cpp:
* storage/StorageEvent.h:
(WebCore::StorageEvent::create):
(WebCore::StorageEvent::StorageEvent):
* storage/StorageNamespace.h:
* storage/StorageNamespaceImpl.cpp:
* storage/StorageNamespaceImpl.h:
* storage/StorageSyncManager.cpp:
* storage/StorageSyncManager.h:
2009-07-11 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Adler.
Cleanup DOM Storage dependencies.
https://bugs.webkit.org/show_bug.cgi?id=27180
DOM Storage had several unnecessary (and probably unintended)
dependencies. This patch replaces many includes of header files with
forward declaration of classes, making some destructors explicit, and
taking some factories out of the header files.
This will allow things like StorageAreaSync to take a StorageAreaImpl*
(as it should) rather than a StorageArea* which previously weren't
possible because the dependencies were such a tangled mess.
* storage/LocalStorageTask.cpp:
(WebCore::LocalStorageTask::~LocalStorageTask):
* storage/LocalStorageTask.h:
* storage/Storage.cpp:
(WebCore::Storage::~Storage):
* storage/Storage.h:
* storage/StorageArea.cpp:
* storage/StorageArea.h:
* storage/StorageAreaImpl.cpp:
* storage/StorageAreaImpl.h:
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::~StorageAreaSync):
* storage/StorageAreaSync.h:
* storage/StorageEvent.cpp:
(WebCore::StorageEvent::create):
(WebCore::StorageEvent::StorageEvent):
* storage/StorageEvent.h:
* storage/StorageNamespace.h:
* storage/StorageNamespaceImpl.cpp:
* storage/StorageNamespaceImpl.h:
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::~StorageSyncManager):
* storage/StorageSyncManager.h:
2009-07-14 Adam Treat <adam.treat@torchmobile.com>
Reviewed by David Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=26983
Check to make sure the view is attached to a frame() in the visibleContentsResized()
method as it can be triggered before the view is attached by Frame::createView(...)
setting various values such as setScrollBarModes(...) for example. An ASSERT is
triggered when a view is layout before being attached to a frame().
* page/FrameView.cpp:
(WebCore::FrameView::visibleContentsResized):
* page/FrameView.h:
2009-07-14 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: show last opened panel when invoking inspector.
https://bugs.webkit.org/show_bug.cgi?id=27263
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::setWindowVisible):
(WebCore::InspectorController::storeLastActivePanel):
(WebCore::InspectorController::specialPanelForJSName):
* inspector/InspectorController.h:
(WebCore::InspectorController::Setting::Setting):
* inspector/InspectorController.idl:
* inspector/front-end/inspector.js:
(WebInspector.set currentPanel):
(WebInspector.loaded):
2009-07-14 Anton Muhin <antonm@chromium.org>
Reviewed by Dimitri Glazkov.
Speed up access to NodeList length.
https://bugs.webkit.org/show_bug.cgi?id=27264
That's a minimal alternation of the code.
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
v8::Integer::New instead of v8::Number::New.
2009-07-14 Anton Muhin <antonm@chromium.org>
Reviewed by Dimitri Glazkov.
Do not do unnecessary conversions from v8::Handle<v8::Value> to
v8::Handle<v8::Object> and accompanying changes.
https://bugs.webkit.org/show_bug.cgi?id=26953
Three things:
1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
but are not free (they check for emptiness of handle);
2) inline conversion from wrapper to node;
3) simplify case to an ASSERT.
This is just a refactoring, so no new tests are needed.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::evaluateInNewContext):
(WebCore::V8Proxy::convertToSVGPODTypeImpl):
* bindings/v8/V8Proxy.h:
(WebCore::V8Proxy::convertDOMWrapperToNative):
(WebCore::V8Proxy::convertToNativeObject):
(WebCore::V8Proxy::convertToNativeEvent):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::toCanvasStyle):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8CustomBinding.cpp:
(WebCore::V8Custom::GetTargetFrame):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::V8Custom::ClearTimeoutImpl):
(WebCore::NAMED_ACCESS_CHECK):
(WebCore::INDEXED_ACCESS_CHECK):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
2009-07-14 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Straight quotes should match fancy quotes in in-page search
https://bugs.webkit.org/show_bug.cgi?id=27217
Tests: fast/text/find-quotes.html
* editing/TextIterator.cpp:
(WebCore::foldQuoteMark): Added.
(WebCore::foldQuoteMarks): Added.
(WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
(WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
added to the search buffer.
* platform/text/CharacterNames.h: Added more quotation mark character names.
Sorted character names with the sort tool.
2009-07-13 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: handle debugger shortcuts while on source frame or on
script file selector.
https://bugs.webkit.org/show_bug.cgi?id=27224
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._loaded):
2009-07-13 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Use standard HashCountedSet instead of a hand rolled one
in HTMLDocument.
* html/HTMLDocument.cpp:
(WebCore::addItemToMap):
(WebCore::removeItemFromMap):
* html/HTMLDocument.h:
2009-07-13 Erik Arvidsson <arv@chromium.org>
Reviewed by Darin Adler and Maciej Stachowiak.
Implement HTML5 draggable
https://bugs.webkit.org/show_bug.cgi?id=26262
This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
Test: fast/html/draggable.html
* css/html.css:
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::draggable):
* html/HTMLAnchorElement.h:
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::draggable):
(WebCore::HTMLElement::setDraggable):
* html/HTMLElement.h:
* html/HTMLElement.idl:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::draggable):
* html/HTMLImageElement.h:
2009-07-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Image rendered as layer contents looks different from image rendered via CG.
<rdar://problem/7048830>
Fix a visible color profile difference between between images rendered via Core Graphics
and those rendered via a compositing layer, by assigning the GenericRGB profile to
untagged images (which come through as having the DeviceRGB profile) when they are set
as layer contents.
Test: compositing/color-matching/image-color-matching.html
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::setContentsToImage):
2009-07-13 Darin Adler <darin@apple.com>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=27220
Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
* editing/TextIterator.cpp:
(WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
in the assertion. Affects only the assertion.
2009-07-13 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26925
<rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
Test: http/tests/appcache/main-resource-hash.html
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::resourceForURL):
(WebCore::ApplicationCache::resourceForRequest):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::cacheForMainRequest):
(WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
(WebCore::ApplicationCacheGroup::selectCache):
(WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didFail):
(WebCore::ApplicationCacheGroup::addEntry):
Remove URL fragment at appcache code borders.
* loader/appcache/ApplicationCacheResource.h:
(WebCore::ApplicationCacheResource::create):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
(WebCore::ApplicationCacheStorage::cacheGroupForURL):
(WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
Assert that there is no URL fragment in URL at key points in appcache code.
2009-07-13 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=27166
rdar://problem/7015857
Find for strings composed entirely of spaces doesn't work
Test: fast/text/find-spaces.html
* editing/TextIterator.cpp:
(WebCore::findPlainText): Removed unneeded special case.
The empty string case already works correctly.
2009-07-13 Anders Carlsson <andersca@apple.com>
Reviewed by Kevin Decker.
Remove NPPVpluginPrivateModeBool, it was removed from the spec.
* bridge/npapi.h:
2009-07-13 Feng Qian <feng@chromium.org>
Reviewed by Dimitri Glazkov.
Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.
* bindings/v8/V8DOMMap.h:
(WebCore::WeakReferenceMap::WeakReferenceMap):
(WebCore::WeakReferenceMap::~WeakReferenceMap):
2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Fisher.
Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
* WebCore.gypi: Removed bidi.cpp and bidi.h
2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Fisher.
Update WebCore.gyp in preparation to hooking it up.
* WebCore.gypi: Added files that were mid-stream while switching over.
2009-07-13 Dmitry Titov <dimich@chromium.org>
Not reviewed, another small fix for Chromium build.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluate):
2009-07-13 Dmitry Titov <dimich@chromium.org>
Not reviewed, fix Chromium build bustage.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluate):
* bindings/v8/V8Proxy.cpp:
(WebCore::JavaScriptConsoleMessage::addToPage):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::handleConsoleMessage):
2009-07-13 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
<rdar://problem/7054356>
Add null page check in HTMLDocument::hasFocus.
Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::hasFocus): Add page null check.
(WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
2009-07-13 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Disable continuous spell checking in the inspector
https://bugs.webkit.org/show_bug.cgi?id=27131
* inspector/front-end/inspector.html: Added spellcheck="false" to the
main-panels and console-prompt containers.
2009-07-13 Adam Langley <agl@google.com>
Reviewed by Eric Seidel.
Chromium Linux: fix assertion when rendering google.com.kh
https://bugs.webkit.org/show_bug.cgi?id=26924
Some shapers (i.e. Khmer) will produce cluster logs which report that
/no/ code points contributed to certain glyphs. Because of this, we
take any code point which contributed to the glyph in question, or any
subsequent glyph. If we run off the end, then we take the last code
point.
Added LayoutTests/fast/text/international/khmar-selection.html
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::offsetForPositionForComplexText):
2009-07-13 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
spellcheck="false" is ignored
<rdar://problem/7054177>
* editing/Editor.cpp:
(WebCore::markMisspellingsOrBadGrammar): Moved code to check the
spellcheck attribute from here...
(WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
if spell chcking is disabled by the spellcheck attribute.
* editing/Editor.h:
2009-07-13 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Adam Roben.
Add new configuration flag for redistributable Windows build.
https://bugs.webkit.org/show_bug.cgi=27087
* WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
Debug_Cairo and Release_Cairo builds.
* config.h: Check for presence of WIN_CAIRO and select appropriate
configuration. Defaults to standard Apple build.
2009-07-13 Peter Kasting <pkasting@google.com>
https://bugs.webkit.org/show_bug.cgi?id=19562
Back out previous patch for this bug (too many problems).
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* html/HTMLButtonElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLFormControlElement.cpp:
* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElement::form):
* html/HTMLInputElement.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTextAreaElement.idl:
* html/ValidityState.cpp: Removed.
* html/ValidityState.h: Removed.
* html/ValidityState.idl: Removed.
2009-07-13 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Add HTMLAllCollection to WebCore.gypi.
https://bugs.webkit.org/show_bug.cgi?id=27223
* WebCore.gypi: Add HTMLAllCollection.
2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Fisher.
[V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
https://bugs.webkit.org/show_bug.cgi?id=27218
Test: fast/css/matrix-as-function-crash.html
* bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Unreviewed make dist build fix.
* GNUmakefile.am:
2009-07-13 Cédric Luthi <cedric.luthi@gmail.com>
Reviewed by Tor Arne Vestbø.
Fix NPWindow clip rect in PluginViewMac
The rect should be in window-coordinates. This bug can be observed
with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
* plugins/mac/PluginViewMac.cpp:
2009-07-13 Simon Hausmann <hausmann@webkit.org>
Reviewed by Ariya Hidayat.
Fix Qt implementation of WebCore::directoryName to return the absolute
directory name instead of the base file name.
* platform/qt/FileSystemQt.cpp:
(WebCore::directoryName):
2009-07-13 Simon Hausmann <hausmann@webkit.org>
Reviewed by Ariya Hidayat.
Fix WebCore::Path::isEmpty() for the Qt port to return true
if there is no element in the path.
QPainterPath::isEmpty() returns also true if there is one single
MoveTo element inside, which makes sense but doesn't patch Webcore's
is-empty definition.
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::isEmpty): Use elementCount() == 0.
2009-07-13 Albert J. Wong <ajwong@chromium.org>
Reviewed by Dimitri Glazkov.
Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
https://bugs.webkit.org/show_bug.cgi?id=27127
There were a number of bugs introduced during the last upstreaming
effort that broke around 30 layout tests. This fixes those bugs.
It also has compile fixes to match the recent cutting apart of
V8Proxy.
* bindings/v8/NPV8Object.cpp:
(freeV8NPObject):
(npCreateV8ScriptObject):
(NPN_Invoke):
(NPN_InvokeDefault):
(NPN_EvaluateHelper):
(NPN_SetException):
(NPN_Construct):
2009-07-13 Mads Ager <ager@chromium.org>
Reviewed by Adam Barth.
Fix memory leak in the V8 binding layer.
https://bugs.webkit.org/show_bug.cgi?id=27163
Reinitializing the context is not necessary when clearing the proxy for navigation
and it will lead us to hold on to an empty context for each frame.
Test for empty context instead of empty global object handle when
updating the document for a context.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::clearForNavigation):
(WebCore::V8Proxy::updateDocument):
2009-07-13 John Gregg <johnnyg@google.com>
Reviewed by David Levin.
Correct the logic to determine if a V8 callback returns a value.
https://bugs.webkit.org/show_bug.cgi?id=27155
* bindings/v8/custom/V8CustomVoidCallback.cpp:
(WebCore::invokeCallback):
- Don't crash if result.IsEmpty().
2009-07-13 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
https://bugs.webkit.org/show_bug.cgi?id=26932
Initial IDL definition and bindings for SharedWorkers.
* Configurations/FeatureDefines.xcconfig:
Added new files for SharedWorker support.
* DerivedSources.make:
Added new files for SharedWorker support.
* GNUmakefile.am:
Added new files for SharedWorker support.
* WebCore.gypi:
Added new files for SharedWorker support.
* WebCore.pro:
Added new files for SharedWorker support.
* WebCore.xcodeproj/project.pbxproj:
Added new files for SharedWorker support.
* bindings/js/JSAbstractWorkerCustom.cpp: Added.
(WebCore::JSAbstractWorker::mark):
Custom mark handler that marks the event listeners.
(WebCore::JSAbstractWorker::addEventListener):
(WebCore::JSAbstractWorker::removeEventListener):
(WebCore::JSAbstractWorker::toJS):
Custom toJS handler which differentiates between various subclasses.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::sharedWorker):
SharedWorker constructor (only enabled when SHARED_WORKERS is
enabled).
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
(WebCore::toEventTarget):
Added support for converting to/from SharedWorkers.
* bindings/js/JSSharedWorkerConstructor.cpp: Added.
(WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
(WebCore::constructSharedWorker):
(WebCore::JSSharedWorkerConstructor::getConstructData):
* bindings/js/JSSharedWorkerConstructor.h: Added.
(WebCore::JSSharedWorkerConstructor::classInfo):
* bindings/js/JSSharedWorkerCustom.cpp: Added.
(WebCore::JSSharedWorker::mark):
Custom mark function that marks the internal MessagePort.
* bindings/v8/DOMObjectsInclude.h:
Updated to include new header files.
* bindings/v8/V8Index.cpp:
* bindings/v8/V8Index.h:
* bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
(WebCore::getEventListener):
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
V8 handlers for add/removeEventListener().
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
(WebCore::CALLBACK_FUNC_DECL):
Custom constructor for SharedWorker.
* dom/EventTarget.cpp:
(WebCore::EventTarget::toSharedWorker):
* dom/EventTarget.h:
* page/DOMWindow.idl:
* workers/AbstractWorker.cpp: Added.
(WebCore::AbstractWorker::AbstractWorker):
Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
(WebCore::AbstractWorker::~AbstractWorker):
(WebCore::AbstractWorker::addEventListener):
(WebCore::AbstractWorker::removeEventListener):
(WebCore::AbstractWorker::dispatchEvent):
(WebCore::AbstractWorker::dispatchLoadErrorEvent):
(WebCore::AbstractWorker::dispatchScriptErrorEvent):
* workers/AbstractWorker.h: Added.
Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
(WebCore::AbstractWorker::scriptExecutionContext):
(WebCore::AbstractWorker::setOnerror):
(WebCore::AbstractWorker::onerror):
(WebCore::AbstractWorker::eventListeners):
(WebCore::AbstractWorker::refEventTarget):
(WebCore::AbstractWorker::derefEventTarget):
* workers/AbstractWorker.idl: Added.
* workers/SharedWorker.cpp: Added.
(WebCore::SharedWorker::SharedWorker):
(WebCore::SharedWorker::~SharedWorker):
* workers/SharedWorker.h: Added.
(WebCore::SharedWorker::create):
(WebCore::SharedWorker::port):
(WebCore::SharedWorker::toSharedWorker):
* workers/SharedWorker.idl: Added.
2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Cleanup - Remove prf install target
https://bugs.webkit.org/show_bug.cgi?id=27191
qtwebkit.prf has been removed; this cleans up the related
install target as well.
* WebCore.pro: Remove prf install target
2009-07-12 Adam Barth <abarth@webkit.org>
Reviewed by Oliver Hunt.
Facebook Chat is broken due to XSS auditor
https://bugs.webkit.org/show_bug.cgi?id=27179
Instead of just using the script's URL as to detect an XSS attack, we
now use a bit of context before the URL. In particular, we use the
bytes from the beginning of the attribute name to the end of the
attribute value. In virtually all injection attacks, the attacker
would need to supply the attribute name as well as the attribute value.
However, in the Facebook false positive, the attribute name is not
present in the URL.
Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseTag):
* html/HTMLTokenizer.h:
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
* page/XSSAuditor.h:
2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
Reviewed by Timothy Hatcher.
Refactor ConsoleMessage to add MessageType attribute.
https://bugs.webkit.org/show_bug.cgi?id=20625
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::printErrorMessage):
* dom/Document.cpp:
(WebCore::Document::reportException):
(WebCore::Document::addMessage):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* html/HTMLParser.cpp:
(WebCore::HTMLParser::reportErrorToConsole):
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToConsole):
(WebCore::ConsoleMessage::isEqual):
* inspector/ConsoleMessage.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addMessageToConsole):
(WebCore::InspectorController::startGroup):
(WebCore::InspectorController::endGroup):
(WebCore::InspectorController::addProfileFinishedMessageToConsole):
(WebCore::InspectorController::addStartProfilingMessageToConsole):
(WebCore::InspectorController::count):
* inspector/InspectorController.h:
* inspector/front-end/Console.js:
(WebInspector.Console.prototype.addMessage):
(WebInspector.ConsoleMessage): Added type property.
(WebInspector.ConsoleMessage.prototype.toMessageElement):
(WebInspector.ConsoleMessage.prototype.toString):
(WebInspector.ConsoleMessage.prototype.isEqual):
(WebInspector.ConsoleCommandResult):
(WebInspector.ConsoleGroup.prototype.addMessage):
(WebInspector.ConsoleGroup.prototype._titleClicked):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype._addTip):
(WebInspector.Resource.prototype._checkWarning):
* inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
* inspector/front-end/inspector.js:
(WebInspector.addMessageToConsole):
* loader/DocLoader.cpp:
(WebCore::DocLoader::printAccessDeniedMessage):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::addMessageToConsole):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::reportLocalLoadFailed):
(WebCore::FrameLoader::shouldAllowNavigation):
* page/ChromeClient.h:
* page/Console.cpp:
(WebCore::printMessageSourceAndLevelPrefix):
(WebCore::Console::addMessage):
(WebCore::Console::error):
(WebCore::Console::log):
(WebCore::Console::dir):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::timeEnd):
(WebCore::Console::warn):
* page/Console.h: Added MessageType enum.
(WebCore::):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::postMessageTimerFired):
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::canEvaluate):
(WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
(WebCore::XSSAuditor::canLoadObject):
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::reportWarning):
(WebCore::SVGDocumentExtensions::reportError):
* wml/WMLErrorHandling.cpp:
(WebCore::reportWMLError):
* workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
(WebCore::GenericWorkerTask8::create):
(WebCore::GenericWorkerTask8::GenericWorkerTask8):
(WebCore::GenericWorkerTask8::performTask):
(WebCore::createCallbackTask):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::addMessage):
(WebCore::WorkerContext::importScripts):
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::postConsoleMessageTask):
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
* workers/WorkerMessagingProxy.h:
* workers/WorkerObjectProxy.h:
* xml/XMLHttpRequest.cpp:
(WebCore::reportUnsafeUsage):
(WebCore::XMLHttpRequest::didFinishLoading):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::parseErrorFunc):
2009-07-12 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
https://bugs.webkit.org/show_bug.cgi?id=27132
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/DOMObjectsInclude.h:
* bindings/v8/DerivedSourcesAllInOne.cpp:
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::getTemplate):
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/V8Index.cpp:
* bindings/v8/V8Index.h:
* dom/HTMLAllCollection.idl: Added.
2009-07-12 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Maciej Stachowiak.
Inspector: Duplicate Computation in Autocompletion
https://bugs.webkit.org/show_bug.cgi?id=26778
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._completionsReady):
2009-07-12 Dan Bernstein <mitz@apple.com>
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=27196
Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
* GNUmakefile.am: Updated.
* WebCore.gypi: Updated.
* WebCore.pro: Updated.
* WebCore.vcproj/WebCore.vcproj: Updated.
* WebCore.xcodeproj/project.pbxproj: Updated.
* WebCoreSources.bkl: Updated.
* rendering/RenderBlock.h: Removed unnecessary forward declaration and
updated comments.
* rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
Removed unnecessary #include statements.
(WebCore::BidiRun::BidiRun): Moved here from bidi.h.
(WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
* rendering/bidi.cpp: Removed.
* rendering/bidi.h: Removed.
2009-07-12 Dan Bernstein <mitz@apple.com>
- Windows build fix
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::dataChanged):
2009-07-12 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- Image cleanup
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
instead of the m_data member.
(WebCore::BitmapImage::dataChanged): Ditto.
* platform/graphics/Image.h: Re-ordered #includes and class
declarations. Removed the drawPatternCallback() declaration. Made member
variables private.
* platform/graphics/cg/ImageCG.cpp:
(WebCore::drawPatternCallback): Changed this from a member function to a
static function.
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
instead of the m_data member.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged): Ditto.
2009-07-12 Daniel Bates <dbates@intudata.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=27189
Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused
XSSAuditor to incorrectly block HTML Base elements whose base path coincided
with the URL of the page.
Test: http/tests/security/xssAuditor/base-href-safe3.html
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call
XSSAuditor::findInRequest() if the host in the page URL disagrees with the host
in the base element URL.
2009-07-12 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Text searching with ICU should take the user's default locale into account
https://bugs.webkit.org/show_bug.cgi?id=27184
rdar://problem/6812121
No simple way to test this since it's dependent on user locale.
After this, the user's default locale is used only on Mac.
* editing/TextIterator.cpp:
(WebCore::createSearcher): Pass result of the currentSearchLocaleID
function as the locale.
* platform/text/TextBreakIteratorInternalICU.h: Added declaration of
currentSearchLocaleID function.
* platform/text/android/TextBreakIteratorInternalICU.cpp:
(WebCore::currentSearchLocaleID): Added. Returns the empty string.
* platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
(WebCore::currentSearchLocaleID): Ditto.
* platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
(WebCore::currentSearchLocaleID): Ditto.
* platform/text/mac/TextBreakIteratorInternalICUMac.mm:
(WebCore::textBreakLocalePreference): Added. Returns the value of
the AppleTextBreakLocale preference.
(WebCore::topLanguagePreference): Added. Returns the value of the
first item in the AppleLanguages preference.
(WebCore::canonicalLanguageIdentifier): Added. Cover for the
CFLocaleCreateCanonicalLanguageIdentifierFromString function.
(WebCore::getLocale): Added. Transfers the locale from a CFStringRef
into a buffer.
(WebCore::getSearchLocale): Added. Calls topLanguagePreference,
canonicalLanguageIdentifier, and getLocale.
(WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
(WebCore::getTextBreakLocale): Changed to call
textBreakLocalePreference, topLanguagePreference,
canonicalLanguageIdentifier, and getLocale.
* platform/text/win/TextBreakIteratorInternalICUWin.cpp:
(WebCore::currentSearchLocaleID): Added. Returns the empty string.
* platform/wx/TemporaryLinkStubs.cpp:
(WebCore::currentSearchLocaleID): Ditto.
2009-07-12 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
https://bugs.webkit.org/show_bug.cgi?id=25415
[GTK][ATK] Please implement support for get_text_at_offset
Create a PangoLayout that properly represents the visual
appearance of the text in the web page so that the line boundary
modes of getText{At,Before,After}Offset work correctly.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(UTF16ToUTF8):
(g_substr):
(convertUniCharToUTF8):
(getPangoLayoutForAtk):
2009-07-11 Oliver Hunt <oliver@apple.com>
Reviewed by Simon Fraser.
Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
<https://bugs.webkit.org/show_bug.cgi?id=27187>
Simple API change, check for the empty path and add appropriate point if necessary.
Test: fast/canvas/canvas-modify-emptyPath.html
* Info.plist:
* WebCore.xcodeproj/project.pbxproj:
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::lineTo):
(WebCore::CanvasRenderingContext2D::quadraticCurveTo):
(WebCore::CanvasRenderingContext2D::bezierCurveTo):
2009-07-11 Eric Carlson <eric.carlson@apple.com>
Reviewed by Antti Koivisto.
HTMLMediaElement.canPlayType "maybe" and "probably" reversed
https://bugs.webkit.org/show_bug.cgi?id=27186
* platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivate::supportsType):
Return "probably" if type has codecs parameter.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::supportsType):
Ditto.
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
(WebCore::MediaPlayerPrivate::supportsType):
Ditto.
2009-07-11 Brady Eidson <beidson@apple.com>
Reviewed by Mark Rowe.
A worker-thread inspired follow-up for:
https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
not currently supported.
2009-07-11 Simon Fraser <simon.fraser@apple.com>
Enable support for accelerated compositing and 3d transforms on Leopard.
<https://bugs.webkit.org/show_bug.cgi?id=20166>
<rdar://problem/6120614>
Reviewed by Oliver Hunt.
* Configurations/FeatureDefines.xcconfig:
2009-07-11 Simon Hausmann <hausmann@webkit.org>
Fix the Qt build after r45724.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2009-07-10 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=26921
Implements support for HTML entities, so XSSAuditor can protect against attacks
encoded with HTML entities.
Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
http/tests/security/xssAuditor/javascript-link-HTML-entities.html
http/tests/security/xssAuditor/link-onclick-entities.html
http/tests/security/xssAuditor/script-tag-entities.html
http/tests/security/xssAuditor/script-tag-with-source-entities.html
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::canEvaluate):
(WebCore::XSSAuditor::canEvaluateJavaScriptURL):
(WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
to decode HTML entities.
(WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
(WebCore::XSSAuditor::findInRequest):
* page/XSSAuditor.h:
2009-07-10 David Kilzer <ddkilzer@apple.com>
Bug 27007: Build fixes when ICONDATABASE is disabled
<https://bugs.webkit.org/show_bug.cgi?id=27007>
Reviewed by Sam Weinig.
* WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
to the project.
* loader/icon/IconDatabase.cpp: Added
#if ENABLE(ICONDATABASE)/#endif macro guard.
* loader/icon/IconDatabase.h: Removed three public methods from
#if ENABLE(ICONDATABASE)/#endif macro so that they may be
stubbed out in IconDatabaseNone.cpp.
* loader/icon/IconDatabaseNone.cpp: Added
#if !ENABLE(ICONDATABASE)/#endif macro guard.
(WebCore::IconDatabase::importIconURLForPageURL): Added.
(WebCore::IconDatabase::importIconDataForIconURL): Added.
(WebCore::IconDatabase::shouldStopThreadActivity): Added.
2009-07-10 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=27151
Fixes issue where JavaScript URLs that contain null- and non-null control characters can
bypass XSSAuditor.
Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
http/tests/security/xssAuditor/javascript-link-null-char.html
http/tests/security/xssAuditor/javascript-link.html
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from
inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
bindings/js/ScriptController.cpp.
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
into its own method.
* page/XSSAuditor.h:
2009-07-10 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by David Kilzer.
WebKit needs a style linting tool
https://bugs.webkit.org/show_bug.cgi?id=25884
Fix bunch of style issues by autofix of cpplint.
This patch is created to demonstrate the autofix of cpplint.py.
No new testcases because it's a style fix
* css/CSSParser.cpp:
(WebCore::CSSParser::parseMediaQuery):
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::parseValue):
(WebCore::skipCommaInDashboardRegion):
(WebCore::CSSParser::parseDashboardRegions):
(WebCore::ShadowParseContext::commitValue):
(WebCore::ShadowParseContext::commitLength):
(WebCore::ShadowParseContext::commitColor):
(WebCore::BorderImageParseContext::commitNumber):
(WebCore::BorderImageParseContext::commitWidth):
(WebCore::BorderImageParseContext::commitRule):
(WebCore::BorderImageParseContext::commitBorderImage):
(WebCore::CSSParser::lex):
(WebCore::CSSParser::text):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/MediaList.cpp:
(WebCore::MediaList::deleteMedium):
* css/MediaQuery.h:
* css/MediaQueryEvaluator.cpp:
(WebCore::parseAspectRatio):
* css/MediaQueryEvaluator.h:
* css/MediaQueryExp.h:
(WebCore::MediaQueryExp::operator==):
* css/WebKitCSSMatrix.h:
* dom/Comment.h:
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* dom/Document.h:
(WebCore::Document::setHasDashboardRegions):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::nodeName):
* dom/DocumentFragment.h:
* dom/DynamicNodeList.h:
* dom/EditingText.h:
* dom/Element.cpp:
(WebCore::Element::dispatchAttrAdditionEvent):
* dom/NamedAttrMap.cpp:
(WebCore::NamedNodeMap::item):
* dom/Node.cpp:
(WebCore::Node::nodeValue):
(WebCore::Node::nodeIndex):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::create):
* dom/Notation.h:
* dom/ProcessingInstruction.h:
* dom/Range.cpp:
(WebCore::Range::processContents):
* dom/StyledElement.cpp:
(WebCore::toHex):
* dom/XMLTokenizerLibxml2.cpp:
(WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
(WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
(WebCore::PendingCallbacks::):
(WebCore::OffsetBuffer::readOutBytes):
(WebCore::handleElementNamespaces):
(WebCore::handleElementAttributes):
(WebCore::attributesStartElementNsHandler):
* dom/XMLTokenizerQt.cpp:
(WebCore::attributesStartElementNsHandler):
(WebCore::XMLTokenizer::parseStartElement):
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyInlineStyle):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removeNode):
* editing/Editor.cpp:
(WebCore::Editor::pasteAsPlainText):
* editing/SelectionController.cpp:
(WebCore::SelectionController::directionOfEnclosingBlock):
* editing/SmartReplaceICU.cpp:
(WebCore::addAllCodePoints):
* history/HistoryItem.cpp:
(WebCore::HistoryItem::icon):
(WebCore::HistoryItem::adoptVisitCounts):
* html/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyFillColor):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setActive):
(WebCore::HTMLAnchorElement::isLiveLink):
* html/HTMLAppletElement.h:
* html/HTMLAudioElement.h:
* html/HTMLBRElement.h:
* html/HTMLBaseElement.h:
* html/HTMLBaseFontElement.h:
* html/HTMLDListElement.h:
* html/HTMLDirectoryElement.h:
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::reset):
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::parseMappedAttribute):
* html/HTMLHeadElement.h:
* html/HTMLHtmlElement.h:
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::setLoadManually):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selection):
* html/HTMLIsIndexElement.h:
* html/HTMLMarqueeElement.cpp:
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::):
* html/HTMLMenuElement.h:
* html/HTMLMetaElement.h:
* html/HTMLModElement.h:
* html/HTMLOListElement.h:
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::childrenChanged):
* html/HTMLParamElement.h:
* html/HTMLQuoteElement.h:
* html/HTMLStyleElement.h:
* html/HTMLTableCaptionElement.h:
* html/HTMLTableCellElement.h:
* html/HTMLTableColElement.h:
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::deleteRow):
* html/HTMLTitleElement.h:
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseNonHTMLText):
(WebCore::HTMLTokenizer::parseEntity):
(WebCore::HTMLTokenizer::parseTag):
(WebCore::HTMLTokenizer::write):
* html/HTMLUListElement.h:
* html/HTMLVideoElement.h:
* html/TimeRanges.h:
(WebCore::TimeRanges::Range::Range):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::enableResourceTracking):
(WebCore::InspectorController::disableResourceTracking):
* inspector/InspectorFrontend.cpp:
(WebCore::InspectorFrontend::newInspectorJSONObject):
* page/Console.cpp:
(WebCore::Console::addMessage):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::defaultKeyboardEventHandler):
* page/Frame.cpp:
(WebCore::Frame::jsDefaultStatusBarText):
* page/android/DragControllerAndroid.cpp:
(WebCore::DragController::dragOperation):
* page/android/EventHandlerAndroid.cpp:
(WebCore::EventHandler::tabsToAllControls):
(WebCore::EventHandler::eventActivatedView):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
* page/gtk/DragControllerGtk.cpp:
(WebCore::DragController::dragOperation):
* page/qt/DragControllerQt.cpp:
* page/win/DragControllerWin.cpp:
(WebCore::DragController::isCopyKeyDown):
* page/win/FrameWin.h:
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::mouseEventOffsetToThumb):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::setVerticalAlignLength):
(WebCore::InheritedFlags::setUnicodeBidi):
(WebCore::InheritedFlags::setCursor):
* rendering/style/RenderStyleConstants.h:
(WebCore::):
* rendering/style/SVGRenderStyleDefs.h:
* rendering/style/StyleInheritedData.h:
(WebCore::StyleInheritedData::operator!=):
* storage/DatabaseTask.h:
* svg/GradientAttributes.h:
* svg/LinearGradientAttributes.h:
* svg/PatternAttributes.h:
* svg/RadialGradientAttributes.h:
* svg/SVGAnimatedPathData.h:
* svg/SVGAnimatedPoints.h:
* svg/SVGAnimationElement.h:
* svg/SVGClipPathElement.h:
* svg/SVGElementInstance.h:
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::build):
* svg/SVGFEBlendElement.h:
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::build):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::build):
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::build):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::build):
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::build):
* svg/SVGFEDistantLightElement.h:
* svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::build):
* svg/SVGFEFloodElement.h:
* svg/SVGFEFuncAElement.h:
* svg/SVGFEFuncBElement.h:
* svg/SVGFEFuncGElement.h:
* svg/SVGFEFuncRElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::build):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::build):
* svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::build):
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::build):
* svg/SVGFEPointLightElement.h:
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::build):
* svg/SVGFESpotLightElement.h:
* svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::build):
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::parseMappedAttribute):
* svg/SVGList.h:
* svg/SVGListTraits.h:
(WebCore::):
* svg/SVGMPathElement.h:
* svg/SVGMetadataElement.h:
* svg/SVGParserUtilities.cpp:
(WebCore::SVGPathParser::parseSVG):
(WebCore::SVGPathParser::calculateArc):
* svg/SVGPathElement.h:
* svg/SVGPathSegClosePath.h:
* svg/SVGSVGElement.h:
* svg/SVGSetElement.h:
* svg/SVGSwitchElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::parseMappedAttribute):
* svg/SVGTextPathElement.h:
* svg/SVGTitleElement.h:
* svg/SVGTransformable.cpp:
(WebCore::):
* svg/SVGViewSpec.cpp:
(WebCore::):
* svg/animation/SMILTime.cpp:
(WebCore::operator+):
(WebCore::operator-):
(WebCore::operator*):
* svg/animation/SVGSMILElement.h:
* svg/graphics/SVGResource.cpp:
(WebCore::clientMap):
* wml/WMLPostfieldElement.cpp:
(WebCore::WMLPostfieldElement::value):
* wml/WMLSetvarElement.cpp:
(WebCore::WMLSetvarElement::value):
* workers/WorkerRunLoop.cpp:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::dropProtection):
* xml/XPathPath.h:
2009-07-10 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7049066>.
Update SnowLeopard media controller layout.
* css/mediaControlsQT.css:
Update for new layout.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::movieLoadType):
Added to replace isStreaming.
* html/HTMLMediaElement.h:
Declare movieLoadType, remove isStreaming.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlStatusDisplayElement::update):
Use movieLoadType instead of isStreaming.
(WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
MediaControlElement is the base class, not HTMLInputElement.
(WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
Ditto.
(WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
Don't display rewind button for live streams.
(WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
MediaControlInputElement is the base class, not HTMLInputElement.
* rendering/MediaControlElements.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::getMediaUIPartStateFlags):
New, return wkDrawMediaUIPart flags.
(WebCore::RenderThemeMac::paintMediaFullscreenButton):
(WebCore::RenderThemeMac::paintMediaMuteButton):
(WebCore::RenderThemeMac::paintMediaPlayButton):
(WebCore::RenderThemeMac::paintMediaSeekBackButton):
(WebCore::RenderThemeMac::paintMediaSeekForwardButton):
(WebCore::RenderThemeMac::paintMediaSliderTrack):
(WebCore::RenderThemeMac::paintMediaSliderThumb):
(WebCore::RenderThemeMac::paintMediaRewindButton):
(WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
(WebCore::RenderThemeMac::paintMediaControlsBackground):
(WebCore::RenderThemeMac::paintMediaCurrentTime):
(WebCore::RenderThemeMac::paintMediaTimeRemaining):
Use getMediaUIPartStateFlags.
2009-07-10 Michelangelo De Simone <micdesim@gmail.com>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=19562
Added build stuff and stub for the ValidityState class, part of HTML5
section Forms:
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
Test: fast/forms/ValidityState-001.html
* DerivedSources.cpp: Fix aimed to include ValidityState files
* DerivedSources.make: ditto
* GNUmakefile.am: ditto
* WebCore.gypi: ditto
* WebCore.pro: ditto
* WebCore.vcproj/WebCore.vcproj: ditto
* WebCore.xcodeproj/project.pbxproj: ditto
* WebCoreSources.bkl: ditto
* html/HTMLButtonElement.idl: "validity" attribute
* html/HTMLFieldSetElement.idl: ditto
* html/HTMLFormControlElement.cpp: object getter
(WebCore::HTMLFormControlElement::validity):
* html/HTMLFormControlElement.h: ditto
* html/HTMLInputElement.idl: "validity" attribute
* html/HTMLSelectElement.idl: ditto
* html/HTMLTextAreaElement.idl: ditto
* html/ValidityState.cpp: Added.
(WebCore::ValidityState::ValidityState):
(WebCore::ValidityState::valid): validation flag
* html/ValidityState.h: Added.
(WebCore::ValidityState::create): creation routine
(WebCore::ValidityState::control): ValidityState's parent getter
(WebCore::ValidityState::valueMissing): validation flag
(WebCore::ValidityState::typeMismatch): ditto
(WebCore::ValidityState::patternMismatch): ditto
(WebCore::ValidityState::tooLong): ditto
(WebCore::ValidityState::rangeUnderflow): ditto
(WebCore::ValidityState::rangeOverflow): ditto
(WebCore::ValidityState::stepMismatch): ditto
(WebCore::ValidityState::customError): ditto
* html/ValidityState.idl: Added.
2009-07-10 Brady Eidson <beidson@apple.com>
Style cleanup over my last patch.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::~XMLHttpRequest):
2009-07-10 Kevin McCullough <kmccullough@apple.com>
Reviewed by Geoffrey Garen.
* inspector/JavaScriptCallFrame.cpp:
(WebCore::JavaScriptCallFrame::dynamicGlobalObject):
* inspector/JavaScriptCallFrame.h: New helper method, used below.
* inspector/JavaScriptDebugServer.cpp:
(WebCore::JavaScriptDebugServer::detach): In the special case
where we detach from a window currently executing JavaScript,
manually tear down our representation of the JavaScript
call stack, since we won't get any more callbacks from JavaScriptCore
to automatically tear it down. It's too bad that WebCore is
responsible for this kind of tracking -- in the future, it would
be nice if more of the breakpoint handling was inside of JavaScriptCore.
2009-07-10 Brady Eidson <beidson@apple.com>
Reviewed by Antti Koivisto.
https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
When that happened, the first request that was over the limit ended up in a bizarre state where it
wasn't fully serviced until after the long running XHR was complete.
Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
resources - such as XHR - could still end up causing this limit to be exceeded.
This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
handle this at the resource handle level.
* loader/loader.cpp:
(WebCore::Loader::nonCacheRequestInFlight):
(WebCore::Loader::nonCacheRequestComplete):
(WebCore::Loader::Host::Host):
(WebCore::Loader::Host::nonCacheRequestInFlight):
(WebCore::Loader::Host::nonCacheRequestComplete):
(WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
* loader/loader.h:
(WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::~XMLHttpRequest):
(WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
(WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
(WebCore::XMLHttpRequest::didFinishLoading): Ditto.
2009-07-10 Antti Koivisto <antti@apple.com>
Try to unbreak non-Mac build.
* page/ChromeClient.h:
(WebCore::ChromeClient::formDidFocus):
(WebCore::ChromeClient::formDidBlur):
2009-07-10 Beth Dakin <bdakin@apple.com>
Reviewed by Anders Carlsson.
The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT):
In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after
clicking To Do's close box
Make the Widget* in passMouseDownEventToWidget() a RefPtr.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passMouseDownEventToWidget):
2009-07-10 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
https://bugs.webkit.org/show_bug.cgi?id=27157
This is the first step to fixing
https://bugs.webkit.org/show_bug.cgi?id=27088
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.h:
(WebCore::deprecatedGetDOMStructure):
(WebCore::createDOMObjectWrapper):
(WebCore::createDOMNodeWrapper):
* bindings/js/JSNamedNodesCollection.cpp:
(WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
* bindings/js/JSRGBColor.cpp:
(WebCore::JSRGBColor::JSRGBColor):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::RuntimeArray):
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::RuntimeMethod):
* bridge/runtime_object.cpp:
(JSC::RuntimeObjectImp::RuntimeObjectImp):
2009-07-10 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Antti Koivisto.
Add delegate methods about focus and blur and state change
https://bugs.webkit.org/show_bug.cgi?id=27153
Call the appropriate new ChromeClient methods for focus and blur.
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::dispatchFocusEvent):
(WebCore::HTMLFormControlElement::dispatchBlurEvent):
* html/HTMLFormControlElement.h:
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::formDidFocus):
(WebCore::EmptyChromeClient::formDidBlur):
* page/ChromeClient.h:
2009-07-10 Steve Falkenburg <sfalken@apple.com>
<rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
Use altered search path while loading plug-ins. This modifies the DLL search order
to look in the directory containing the plug-in even if a call to SetDllDirectory
was previously made. Use of SetDllDirectory removes the current directory from the search path,
breaking the previous strategy for locating any dependent DLLs of the plug-in.
Reviewed by Jon Honeycutt.
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
2009-07-10 Adam Roben <aroben@apple.com>
Sort all our Xcode projects
Accomplished using sort-Xcode-project-file.
Requested by Dave Kilzer.
* WebCore.xcodeproj/project.pbxproj:
2009-07-10 Adam Langley <agl@google.com>
Reviewed by Darin Fisher.
Chromium Linux: use disabled images for disabled widgets.
https://bugs.webkit.org/show_bug.cgi?id=27106
Previously, checkboxes and radio controls rendered the same even if disabled.
The Chromium side of this change is r20224.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::paintCheckbox):
(WebCore::RenderThemeChromiumSkia::paintRadio):
2009-07-10 Simon Fraser <simon.fraser@apple.com>
Reviewed by John Sullivan.
Fix crash when changing the zoom level in http://iphone.akamai.com/
<rdar://problem/7029077>
RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
which could potentially destroy that compositing layer, causing a crash.
Prevent this from happening by not doing a compositing update from paintIntoLayer().
The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
compositing layers, and is still called from paintIntoLayer().
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateLayerListsIfNeeded):
(WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
* rendering/RenderLayer.h:
2009-07-10 Drew Wilson <atwilson@google.com>
Reviewed by Darin Adler.
Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
https://bugs.webkit.org/show_bug.cgi?id=27010
Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
* bindings/scripts/CodeGeneratorJS.pm:
Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
* css/CSSRule.idl:
* css/CSSValue.idl:
* css/StyleSheet.idl:
* dom/Document.idl:
* dom/Event.idl:
* dom/Node.idl:
* html/ImageData.idl:
* svg/SVGElementInstance.idl:
* svg/SVGPathSeg.idl:
Added CustomToJS attribute to all the above IDL files.
2009-07-10 Dan Bernstein <mitz@apple.com>
- fix the build by reverting the ill-advised r45711
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
2009-07-09 Brian Weinstein <bweinstein@apple.com>
Reviewed by Tim Hatcher.
Updated WebCore.base.exp to add some needed functions.
* WebCore.base.exp:
2009-07-10 Dan Bernstein <mitz@apple.com>
- address a review comment from Simon Fraser which I forgot to include
in the last check-in
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
maximum transform friendliness!
2009-07-10 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
- fix https://bugs.webkit.org/show_bug.cgi?id=27137
<rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
to infinite recursion into FrameLoader::gotoAnchor() ->
FrameView::layout()
Test: fast/loader/goto-anchor-infinite-layout.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
find the renderer to scroll to, and scroll from here to methods on
FrameView, and replaced it with a call to
FrameView::maintainScrollPositionAtAnchor().
(WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
instead of setLockedToAnchor().
* page/FrameView.cpp:
(WebCore::FrameView::FrameView): Removed initialization of
m_lockedToAnchor.
(WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
of m_lockedToAnchor.
(WebCore::FrameView::layout): Removed the code related to scrolling to
the anchor from here, because scrolling can trigger events which
invalidate the layout, and as such, belongs with the post-layout tasks.
(WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
with a node scrolls the view to the top of that node and maintains it
scrolled to the top of the node during subsequent layouts, until
this function is called with 0 or other things trigger scrolling.
(WebCore::FrameView::scrollRectIntoViewRecursively): Reset
m_maintainScrollPositionAnchor.
(WebCore::FrameView::setScrollPosition): Ditto.
(WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
m_maintainScrollPositionAnchor, if it is set.
(WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
(WebCore::FrameView::setWasScrolledByUser): Reset
m_maintainScrollPositionAnchor.
* page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
m_maintainScrollPositionAnchor.
2009-07-04 Sriram Yadavalli <sriram.yadavalli@nokia.com>
Reviewed by Simon Hausmann.
https://bugs.webkit.org/show_bug.cgi?id=26439
QtWebKit fails in loading www.nytimes.com in Windows/Linux
QNetworkReplyHandler is ignoring content associated with 401 error.
This causes the XHR response handling to fail.
Simon: Added also ProxyAuthenticationRequiredError, to handle the same
case when going through proxies, as suggested by Prasanth.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::finish):
2009-07-10 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Holger Freyther.
Enable HTML 5 Messaging to fix message channel Qt DRT failures in
fast/events.
* WebCore.pro:
2009-07-09 Roland Steiner <rolandsteiner@google.com>
Reviewed by Maciej Stachowiak.
added InlineBox::isLeaf()
firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.
Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
Currently, these methods are called on RootInlineBox objects only, so above changes should not have
any observable effect (only the removal of the square performance behavior could apply,
but the conditions for that are probably of a rather theoretical nature).
* rendering/InlineBox.cpp:
(WebCore::InlineBox::nextLeafChild):
(WebCore::InlineBox::prevLeafChild):
* rendering/InlineBox.h:
(WebCore::InlineBox::isLeaf):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::firstLeafChild):
(WebCore::InlineFlowBox::lastLeafChild):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::firstChild):
(WebCore::InlineFlowBox::lastChild):
(WebCore::InlineFlowBox::isLeaf):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::closestLeafChildForXPos):
2009-07-09 Roland Steiner <rolandsteiner@google.com>
Reviewed by Maciej Stachowiak.
Added InlineBox::baselinePosition() and lineHeight() methods
(adapted remaining code accordingly to use those methods)
No change in functionality.
* rendering/InlineBox.h:
(WebCore::InlineBox::baselinePosition):
(WebCore::InlineBox::lineHeight):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesVertically):
2009-07-09 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej Stachowiak.
Bug 27142 - canPlayType() should return empty string for unsupported content
<https://bugs.webkit.org/show_bug.cgi?id=27142>
Return "" instead of "no" for unsupport media types.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType):
2009-07-09 Roland Steiner <rolandsteiner@google.com>
Reviewed by Maciej Stachowiak.
Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
in that their end tags are optional if followed by <rp>/<rt>.
Also specify a new accessibility role "annotation" for <rp> and <rt>.
Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
is not affected by whether ruby is rendered properly or not (in fact, it may
be more profound without ruby layouting, since the contents of <rp> are not hidden).
Test: fast/ruby/parse-rp.html
* accessibility/AccessibilityObject.h:
(WebCore::):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::roleValue):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::endTagRequirement):
(WebCore::HTMLElement::tagPriority):
(WebCore::inlineTagList):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::rpCreateErrorCheck):
(WebCore::HTMLParser::rtCreateErrorCheck):
(WebCore::HTMLParser::getNode):
* html/HTMLParser.h:
* html/HTMLTagNames.in:
2009-07-09 Dmitry Titov <dimich@chromium.org>
Not reviewed, fix for previous commit.
The change http://trac.webkit.org/changeset/45695 did not correctly
enabled GTL and QT build flags. This caused layout tests failure.
This is speculative fix for those failures.
* GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
* WebCore.pro: ditto.
* page/DOMWindow.idl: touched to cause recompile.
* workers/WorkerContext.idl: ditto.
2009-07-09 Drew Wilson <atwilson@google.com>
Reviewed by Alexey Proskuryakov.
https://bugs.webkit.org/show_bug.cgi?id=26903
Turned on CHANNEL_MESSAGING by default because the MessageChannel API
is now implemented for Web Workers and is reasonably stable.
Tests: fast/events/message-channel-gc-2.html
fast/events/message-channel-gc-3.html
fast/events/message-channel-gc-4.html
fast/events/message-channel-gc.html
fast/events/message-channel-listener-circular-ownership.html
fast/events/message-port-clone.html
fast/events/message-port-constructor-for-deleted-document.html
fast/events/message-port-deleted-document.html
fast/events/message-port-deleted-frame.html
fast/events/message-port-inactive-document.html
fast/events/message-port-no-wrapper.html
fast/events/message-port.html
fast/workers/worker-cloneport.html
fast/workers/worker-messageport-gc.html
fast/workers/worker-messageport.html
* Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
* WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
* WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
* WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
* WebCore/workers/WorkerContext.idl: ditto.
2009-07-09 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
Full page zoom breaks remaining and elapsed time display in the <video> controller.
https://bugs.webkit.org/show_bug.cgi?id=27123
We are changing the size of the time remaining and time elapsed field, to
automatically hide them, when the controller is too short.
Because we toggle the size between 0 and the previous value of the
controller, we miss any width change that may occur during full page zoom,
and we fail to restore a correct width.
This change fixes that problem by using a cloned style on which we
set the width to 0, and restoring the previous style when going back to
the normal width.
We take care about properly using the cloned style or the pseudo style,
by overriding styleForElement().
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlElement::styleForElement):
(WebCore::MediaControlElement::attach):
(WebCore::MediaControlElement::updateStyle):
(WebCore::MediaControlInputElement::styleForElement):
(WebCore::MediaControlInputElement::attach):
(WebCore::MediaControlInputElement::updateStyle):
(WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
(WebCore::MediaControlTimeDisplayElement::styleForElement):
(WebCore::MediaControlTimeDisplayElement::setVisible):
* rendering/MediaControlElements.h:
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
we take in account the zoom level when deciding if we should hide the
ellapsed and remaining time.
2009-07-09 Michael Nordman <michaeln@google.com>
Reviewed by Darin Adler.
Fix chromium build bustage due to Widget being a RefCounted class.
https://bugs.webkit.org/show_bug.cgi?id=27139
* platform/chromium/PopupMenuChromium.cpp:
* platform/chromium/PopupMenuChromium.h:
2009-07-09 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 27130 - Need to implement ARIA role="toolbar"
https://bugs.webkit.org/show_bug.cgi?id=27130
Test: platform/mac/accessibility/aria-toolbar.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::RoleEntry::):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper roleDescription]):
2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Fisher.
[Chromium] Upstream WebCore.gypi, the project file for Chromium build.
https://bugs.webkit.org/show_bug.cgi?id=27135
* WebCore.gypi: Added.
2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
A more robust fix for <rdar://problem/6930280> Reproducible crash at
USA Today photo gallery
Reviewed by Steve Falkenburg.
* plugins/win/PluginMessageThrottlerWin.cpp:
(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
Protect the PluginView from destruction before calling its window proc.
2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
<rdar://problem/6978804> WER #16: Repro Access Violation in
WebCore::PluginView::bindingInstance (1310178023)
Reviewed by Darin Adler.
* plugins/PluginView.cpp:
(WebCore::PluginView::bindingInstance):
Protect the PluginView from destruction before calling NPN_GetValue. If
the renderer for the PluginView was destroyed during the call, and the
PluginView's ref count is now 1, return null.
2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
Speculative fix for <rdar://problem/6991251> WER #13: Crash in
WebKit!WebCore::PluginView::performRequest+203 (1311461169)
Reviewed by Darin Adler.
* plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):
Protect the PluginView from destruction before performing a load.
Removed some trailing whitespace.
2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
Build fix.
* inspector/JavaScriptDebugServer.cpp:
(WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
Reviewed by Dave Hyatt.
Make Widget RefCounted to fix or make fixable:
<rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
at WebCore::Widget::afterMouseDown() after clicking To Do's close
box
<rdar://problem/6978804> WER #16: Repro Access Violation in
WebCore::PluginView::bindingInstance (1310178023)
-and-
<rdar://problem/6991251> WER #13: Crash in WebKit!
WebCore::PluginView::performRequest+203 (1311461169)
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::createPlugin):
Changed to return PassRefPtr
(WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
Ditto.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadSubframe):
(WebCore::FrameLoader::loadPlugin):
Make the widget variable a RefPtr. Use .get() when passing it to
RenderPart::setWidget().
(WebCore::FrameLoader::createJavaAppletWidget):
Make the widget variable a RefPtr.
* loader/FrameLoader.h:
Changed the return type of createJavaAppletWidget().
* loader/FrameLoaderClient.h:
Change the return types of createPlugin() and
createJavaAppletWidget().
* page/Frame.cpp:
(WebCore::Frame::createView):
No need to call .get() since setWidget() takes a RefPtr.
* page/FrameView.cpp:
(WebCore::FrameView::layoutIfNeededRecursive):
children() now returns a HashSet of RefPtrs.
* page/FrameView.h:
Remove inheritance from RefCounted; we pick this up from ScrollView
through Widget.
* platform/ScrollView.cpp:
(WebCore::ScrollView::addChild):
addChild() now takes a PassRefPtr and m_children now keeps a
HashSet of RefPtrs.
* platform/ScrollView.h:
ScrollView constructor is now protected.
(WebCore::ScrollView::children):
m_children is now a HashSet of RefPtrs.
* platform/Scrollbar.h:
Remove inheritance from RefCounted; we pick this up from ScrollView
through Widget.
* platform/Widget.h:
Inherit from RefCounted. Cleaned up some whitespace. Make m_widget
a RefPtr.
* plugins/PluginView.cpp:
(WebCore::PluginView::create):
Adopt the PluginView when returning it.
* plugins/PluginView.h:
Changed create() to return a PassRefPtr.
* rendering/RenderApplet.cpp:
Receive result in a RefPtr when calling createJavaAppletWidget().
* rendering/RenderPart.cpp:
(WebCore::RenderPart::setWidget):
setWidget() now takes a PassRefPtr. Also removed the manual ref of
FrameViews. This is handled by having m_widget be a RefPtr. Removed
deleteWidget().
* rendering/RenderPart.h:
Removed override of deleteWidget().
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::destroy):
(WebCore::RenderWidget::setWidget):
(WebCore::RenderWidget::paint):
(WebCore::RenderWidget::setOverlapTestResult):
(WebCore::RenderWidget::updateWidgetPosition):
Use .get().
(WebCore::RenderWidget::clearWidget):
Don't call deleteWidget(). It was removed.
* rendering/RenderWidget.h:
Removed deleteWidget(). Made m_widget a RefPtr.
(WebCore::RenderWidget::widget):
Use .get().
2009-07-09 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 27129 - AX: possible assertion for a non-native image in accessibility
https://bugs.webkit.org/show_bug.cgi?id=27129
It's possible for an image that is not really an image to assert, because its renderer
is turned into a RenderImage.
Test: accessibility/non-native-image-crash.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
(WebCore::RoleEntry::):
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper roleDescription]):
2009-07-09 Simon Fraser <simon.fraser@apple.com>
Build fix for SnowLeopard.
Avoid using the contentsTransform methods if not on Leopard, because
we don't need to call them.
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::updateContentsTransform):
* platform/graphics/mac/WebLayer.mm:
(-[WebLayer setNeedsDisplayInRect:]):
* platform/graphics/mac/WebTiledLayer.mm:
(-[WebTiledLayer setNeedsDisplayInRect:]):
2009-07-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
is not available.
<rdar://problem/6120614>
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setContentsOrientation):
(WebCore::GraphicsLayer::contentsOrientation):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
Add a m_contentsOrientation member and getter/setter to control whether
the contents of this layer have a transform applied to them before display.
* platform/graphics/mac/GraphicsLayerCA.h:
New method to return the default contents orientation.
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::flipTransform):
Convenience method to return a transform with a Y flip.
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::setSize):
After the size changes we have to update the contentsTransform.
(WebCore::GraphicsLayerCA::setGeometryOrientation):
(WebCore::GraphicsLayerCA::geometryOrientation):
If -setGeometryFlipped: is not available, use a children transform.
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
Tiled layers have issues with flipped contentsTransform, so just use
top-down drawing for them. Call updateContentsTransform() to set the
new contents transform after swapping layers.
(WebCore::GraphicsLayerCA::defaultContentsOrientation):
Use bottom-up when -geometryFlipped is not available, otherwise top-down.
(WebCore::GraphicsLayerCA::updateContentsTransform):
Set the layer contents transform based on contentsOrientation().
(WebCore::GraphicsLayerCA::setContentsLayer):
We have to manually flip contents layers if we're not using -geometryFlipped.
* platform/graphics/mac/WebLayer.h:
* platform/graphics/mac/WebLayer.mm:
Do early return if layerContents is nil. Flip the CTM if the layer has
bottom-up coordinates, so that CG sees a CTM with no flip.
Do the CGContextRestoreGState() after drawing the debug indicator.
(-[WebLayer setNeedsDisplayInRect:]):
* platform/graphics/mac/WebTiledLayer.mm:
(-[WebTiledLayer setNeedsDisplayInRect:]):
Need to map the dirty rect through the contentsTransform.
2009-07-09 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoff Garen.
<rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
Can't test this functionality with layout tests.
* WebCore.base.exp:
* history/HistoryItem.cpp:
(WebCore::HistoryItem::recordVisitAtTime):
(WebCore::HistoryItem::visited):
* history/HistoryItem.h:
Only increase visit count if explicitly told to. Now, some visits change last access time,
but do not increase visit count.
2009-07-09 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
Require QuickTime 7.6.3 or higher to enable the new media controller UI.
* rendering/RenderThemeMac.mm:
(WebCore::mediaControllerTheme):
2009-07-09 Sam Weinig <sam@webkit.org>
Reviewed by Beth Dakin.
Remove incorrect comment.
* page/MouseEventWithHitTestResults.h:
2009-07-09 Mads Ager <ager@chromium.org>
Reviewed by Dimitri Glazkov.
Update the V8 bindings codegenerator to use the RGBColor::create
method to handle refcounts for RGBColor objects correctly.
* bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
2009-07-09 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adele Peterson.
Crash in RenderMedia::styleDidChange.
<rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with
media element (RenderMedia::styleDidChange + 115)
Speculative fix for crash in styleDidChange. Null check controller elements before tell
them to update style.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::styleDidChange):
2009-07-09 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
[V8] Move V8DOMWrapper to its own file
https://bugs.webkit.org/show_bug.cgi?id=27121
* bindings/v8/V8DOMWrapper.cpp: Added.
(WebCore::GetToStringName):
(WebCore::ConstructorToString):
(WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
(WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
(WebCore::V8DOMWrapper::domObjectHasJSWrapper):
(WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
(WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
(WebCore::V8DOMWrapper::getTemplate):
(WebCore::V8DOMWrapper::convertToV8Object):
(WebCore::V8DOMWrapper::setHiddenWindowReference):
(WebCore::V8DOMWrapper::domWrapperType):
(WebCore::V8DOMWrapper::convertToNativeObjectImpl):
(WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
(WebCore::V8DOMWrapper::lookupDOMWrapper):
(WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
(WebCore::V8DOMWrapper::wrapNativeNodeFilter):
(WebCore::V8DOMWrapper::instantiateV8Object):
(WebCore::V8DOMWrapper::setDOMWrapper):
(WebCore::V8DOMWrapper::maybeDOMWrapper):
(WebCore::V8DOMWrapper::isDOMEventWrapper):
(WebCore::V8DOMWrapper::isWrapperOfType):
(WebCore::V8DOMWrapper::htmlElementType):
(WebCore::V8DOMWrapper::svgElementType):
(WebCore::V8DOMWrapper::convertEventToV8Object):
(WebCore::):
(WebCore::V8DOMWrapper::convertNodeToV8Object):
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
(WebCore::V8DOMWrapper::convertEventListenerToV8Object):
(WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
(WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
(WebCore::V8DOMWrapper::convertCSSValueToV8Object):
(WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
(WebCore::V8DOMWrapper::convertWindowToV8Object):
* bindings/v8/V8DOMWrapper.h: Added.
(WebCore::V8DOMWrapper::convertDOMWrapperToNative):
(WebCore::V8DOMWrapper::wrapCPointer):
(WebCore::V8DOMWrapper::extractCPointer):
(WebCore::V8DOMWrapper::convertDOMWrapperToNode):
(WebCore::V8DOMWrapper::convertToV8Object):
(WebCore::V8DOMWrapper::convertToNativeObject):
(WebCore::V8DOMWrapper::convertToNativeEvent):
(WebCore::V8DOMWrapper::extractCPointerImpl):
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
2009-07-09 David Hyatt <hyatt@apple.com>
Reviewed by Adele Peterson.
Crash in setFocusedFrame.
<rdar://7032869> Crashing in setFocusedFrame on blogger.com.
Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire
the events only after the local member has been updated.
* page/FocusController.cpp:
(WebCore::FocusController::setFocusedFrame):
2009-07-09 Eric Carlson <eric.carlson@apple.com>
Reviewed by Adele Peterson.
Possible crashes when mouse clicks not dispatched because range input destroyed while
thumb is being dragged (e.g. scrub to end of movie)
<rdar://problem/7037494>
https://bugs.webkit.org/show_bug.cgi?id=27101
Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to
get mouse events even when the mouse is moved outside of the node. This is done by putting
EventHandler into a mode where it sends all mouse events to the node regardless of the
actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
to try to send events to the deleted node. This sometimes results in a crash, and sometimes
in a page that doesn't respond to click events.
Tests: fast/forms/search-delete-while-cancel-button-clicked.html
fast/forms/slider-delete-while-dragging-thumb.html
media/audio-delete-while-slider-thumb-clicked.html
media/audio-delete-while-step-button-clicked.html
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlSeekButtonElement::detach):
New, call setCapturingMouseEventsNode if capturing mouse events.
* rendering/MediaControlElements.h:
Declare detach().
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::detach):
New, call setCapturingMouseEventsNode if capturing mouse events.
* rendering/TextControlInnerElements.cpp:
(WebCore::SearchFieldCancelButtonElement::detach):
New, call setCapturingMouseEventsNode if capturing mouse events.
* rendering/TextControlInnerElements.h:
Declare detach().
2009-07-09 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Dimitri Glazkov.
Enter the Frame's context before creating new objects in setContextDebugId.
https://bugs.webkit.org/show_bug.cgi?id=27112
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setContextDebugId):
2009-07-09 Simon Hausmann <hausmann@webkit.org>
Fix the Qt build.
* WebCore.pro: Add new storage impl files to the build.
2009-07-08 Adam Barth <abarth@webkit.org>
Rubber stamped by Eric Seidel.
[V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
https://bugs.webkit.org/show_bug.cgi?id=27107
This patch is just renaming. Code motion will occur next.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::processingUserGesture):
(WebCore::createScriptObject):
(WebCore::ScriptController::createScriptObjectForPluginElement):
* bindings/v8/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/v8/ScriptObjectQuarantine.cpp:
(WebCore::getQuarantinedScriptObject):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::handleEvent):
(WebCore::V8AbstractEventListener::getReceiverObject):
* bindings/v8/V8Collection.cpp:
(WebCore::toOptionsCollectionSetter):
* bindings/v8/V8Collection.h:
(WebCore::getV8Object):
(WebCore::getNamedPropertyOfCollection):
(WebCore::nodeCollectionNamedPropertyGetter):
(WebCore::getIndexedPropertyOfCollection):
(WebCore::nodeCollectionIndexedPropertyGetter):
(WebCore::nodeCollectionIndexedPropertyEnumerator):
(WebCore::collectionIndexedPropertyEnumerator):
(WebCore::collectionStringOrNullIndexedPropertyGetter):
* bindings/v8/V8DOMMap.cpp:
(WebCore::DOMData::handleWeakObject):
(WebCore::DOMData::removeObjectsFromWrapperMap):
* bindings/v8/V8GCController.cpp:
(WebCore::enumerateDOMObjectMap):
(WebCore::DOMObjectVisitor::visitDOMWrapper):
(WebCore::GCPrologueVisitor::visitDOMWrapper):
(WebCore::GCEpilogueVisitor::visitDOMWrapper):
* bindings/v8/V8Helpers.cpp:
(WebCore::wrapNPObject):
* bindings/v8/V8NodeFilterCondition.cpp:
(WebCore::V8NodeFilterCondition::acceptNode):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
(WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
(WebCore::V8DOMWrapper::domObjectHasJSWrapper):
(WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
(WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
(WebCore::V8Proxy::evaluateInNewContext):
(WebCore::V8Proxy::getConstructor):
(WebCore::V8DOMWrapper::getTemplate):
(WebCore::V8Proxy::retrieveWindow):
(WebCore::V8Proxy::updateDocumentWrapperCache):
(WebCore::V8Proxy::clearForNavigation):
(WebCore::V8Proxy::installDOMWindow):
(WebCore::setDOMExceptionHelper):
(WebCore::V8DOMWrapper::convertToV8Object):
(WebCore::V8DOMWrapper::setHiddenWindowReference):
(WebCore::V8DOMWrapper::domWrapperType):
(WebCore::V8DOMWrapper::convertToNativeObjectImpl):
(WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
(WebCore::V8DOMWrapper::lookupDOMWrapper):
(WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
(WebCore::V8DOMWrapper::wrapNativeNodeFilter):
(WebCore::V8DOMWrapper::instantiateV8Object):
(WebCore::V8DOMWrapper::setDOMWrapper):
(WebCore::V8DOMWrapper::maybeDOMWrapper):
(WebCore::V8DOMWrapper::isDOMEventWrapper):
(WebCore::V8DOMWrapper::isWrapperOfType):
(WebCore::V8DOMWrapper::htmlElementType):
(WebCore::V8DOMWrapper::svgElementType):
(WebCore::V8DOMWrapper::convertEventToV8Object):
(WebCore::V8DOMWrapper::convertNodeToV8Object):
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
(WebCore::V8DOMWrapper::convertEventListenerToV8Object):
(WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
(WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
(WebCore::V8DOMWrapper::convertCSSValueToV8Object):
(WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
(WebCore::V8DOMWrapper::convertWindowToV8Object):
(WebCore::V8Proxy::bindJsObjectToWindow):
* bindings/v8/V8Proxy.h:
(WebCore::V8DOMWrapper::convertDOMWrapperToNative):
(WebCore::V8DOMWrapper::wrapCPointer):
(WebCore::V8DOMWrapper::extractCPointer):
(WebCore::V8DOMWrapper::convertDOMWrapperToNode):
(WebCore::V8DOMWrapper::convertToV8Object):
(WebCore::V8DOMWrapper::convertToNativeObject):
(WebCore::V8DOMWrapper::convertToNativeEvent):
(WebCore::V8DOMWrapper::extractCPointerImpl):
(WebCore::V8DOMWrapper::instantiateV8Object):
(WebCore::V8Proxy::constructDOMObject):
(WebCore::toV8):
* bindings/v8/V8SVGPODTypeWrapper.h:
(WebCore::V8SVGPODTypeUtil::toSVGPODType):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::retrieve):
(WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
(WebCore::WorkerContextExecutionProxy::GetConstructor):
(WebCore::WorkerContextExecutionProxy::ToV8Object):
(WebCore::WorkerContextExecutionProxy::EventToV8Object):
(WebCore::WorkerContextExecutionProxy::toV8):
* bindings/v8/custom/V8AttrCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_SETTER):
* bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::toV8):
(WebCore::toCanvasStyle):
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8ClientRectListCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8CustomBinding.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::INDEXED_ACCESS_CHECK):
(WebCore::NAMED_ACCESS_CHECK):
(WebCore::V8Custom::GetTargetFrame):
* bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
(WebCore::V8CustomSQLStatementCallback::handleEvent):
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
(WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
(WebCore::V8CustomSQLTransactionCallback::handleEvent):
* bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
(WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8Custom::WindowSetTimeoutImpl):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_GETTER):
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::V8Custom::ClearTimeoutImpl):
(WebCore::NAMED_ACCESS_CHECK):
(WebCore::INDEXED_ACCESS_CHECK):
* bindings/v8/custom/V8DatabaseCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8ElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_SETTER):
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::ACCESSOR_SETTER):
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::getNamedItems):
(WebCore::getItem):
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8HTMLFormElementCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLInputElementCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
* bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_SETTER):
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
* bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::removeElement):
* bindings/v8/custom/V8InspectorControllerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::ACCESSOR_SETTER):
(WebCore::ACCESSOR_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::INDEXED_ACCESS_CHECK):
(WebCore::NAMED_ACCESS_CHECK):
* bindings/v8/custom/V8MessageChannelConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8MessagePortCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8NavigatorCustom.cpp:
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NodeIteratorCustom.cpp:
(WebCore::toV8):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SVGLengthCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SVGMatrixCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
(WebCore::storageGetter):
(WebCore::storageSetter):
(WebCore::storageDeleter):
* bindings/v8/custom/V8StyleSheetListCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8TreeWalkerCustom.cpp:
(WebCore::toV8):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::SetTimeoutOrInterval):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XSLTProcessorCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
Make sure we can click outside the slider thumb and start dragging.
https://bugs.webkit.org/show_bug.cgi?id=26229
Previously we were assuming that if the thumb hasn't been clicked, we
wouldn't issue any value change upon dragging.
We need to handle the two different cases:
- Clicked in the thumb, we need to make sure the cursor is always pointing
the same slider thumb point.
- Clicked outside, the cursor should always be pointing to the center of
the thumb.
For simplicity, we don't remember the original point of the mouse down,
but a vector between that point and the thumb.
* rendering/RenderSlider.cpp:
(WebCore::SliderThumbElement::SliderThumbElement):
(WebCore::SliderThumbElement::defaultEventHandler):
(WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
* rendering/RenderSlider.h:
2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=27100
<rdar://problem/7042621>
Don't display "loading" in the <video> controller when
there is no src specified.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlStatusDisplayElement::update): The only
way to find out if we have an element is currentSrc(). networkState()
will always report LOADING according to the spec.
2009-07-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
[V8] Move V8GCController functions to their own file
https://bugs.webkit.org/show_bug.cgi?id=27102
* bindings/v8/V8GCController.cpp: Added.
* bindings/v8/V8GCController.h: Added.
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
2009-07-08 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
Split StorageArea and StorageNamespace into an interface and implementation.
https://bugs.webkit.org/show_bug.cgi?id=27072
I need to split StorageNamespace and StorageArea into an interface and
implementation. In a later patch, I'll implement a proxy interface
that'll run inside the Chromium renderer process.
Additionally, fix the alphabetical ordering of files I recently added
in the project files.
This is a continuation of other refactoring work:
https://bugs.webkit.org/show_bug.cgi?id=25376
* GNUmakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* storage/StorageArea.cpp:
(WebCore::StorageArea::create):
* storage/StorageArea.h:
(WebCore::StorageArea::~StorageArea):
* storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
(WebCore::StorageAreaImpl::create):
(WebCore::StorageAreaImpl::~StorageAreaImpl):
(WebCore::StorageAreaImpl::StorageAreaImpl):
(WebCore::StorageAreaImpl::copy):
(WebCore::StorageAreaImpl::length):
(WebCore::StorageAreaImpl::key):
(WebCore::StorageAreaImpl::getItem):
(WebCore::StorageAreaImpl::setItem):
(WebCore::StorageAreaImpl::removeItem):
(WebCore::StorageAreaImpl::clear):
(WebCore::StorageAreaImpl::contains):
(WebCore::StorageAreaImpl::importItem):
(WebCore::StorageAreaImpl::securityOrigin):
(WebCore::StorageAreaImpl::close):
(WebCore::StorageAreaImpl::blockUntilImportComplete):
(WebCore::StorageAreaImpl::dispatchStorageEvent):
* storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
* storage/StorageAreaSync.h:
* storage/StorageNamespace.cpp:
(WebCore::StorageNamespace::localStorageNamespace):
(WebCore::StorageNamespace::sessionStorageNamespace):
* storage/StorageNamespace.h:
(WebCore::StorageNamespace::~StorageNamespace):
* storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
(WebCore::StorageNamespaceImpl::localStorageNamespace):
(WebCore::StorageNamespaceImpl::sessionStorageNamespace):
(WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
(WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
(WebCore::StorageNamespaceImpl::copy):
(WebCore::StorageNamespaceImpl::storageArea):
(WebCore::StorageNamespaceImpl::close):
* storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
2009-07-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
[V8] Move garbage collector related functions from V8Proxy to V8GCController
https://bugs.webkit.org/show_bug.cgi?id=26967
This patch just moves the functions around in V8Proxy. We'll actually
move them to a separate file in another patch.
* bindings/v8/NPV8Object.cpp:
(freeV8NPObject):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::~ScheduledAction):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::gcProtectJSWrapper):
(WebCore::ScriptController::gcUnprotectJSWrapper):
* bindings/v8/ScriptInstance.cpp:
(WebCore::V8ScriptInstance::clear):
(WebCore::V8ScriptInstance::set):
* bindings/v8/ScriptValue.h:
(WebCore::ScriptValue::ScriptValue):
(WebCore::ScriptValue::operator=):
(WebCore::ScriptValue::clear):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::disposeListenerObject):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::~V8LazyEventListener):
(WebCore::V8LazyEventListener::getListenerFunction):
(WebCore::V8LazyEventListener::getWrappedListenerFunction):
* bindings/v8/V8NodeFilterCondition.cpp:
(WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
(WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8GCController::registerGlobalHandle):
(WebCore::V8GCController::unregisterGlobalHandle):
(WebCore::V8GCController::gcProtect):
(WebCore::V8GCController::gcUnprotect):
(WebCore::V8Proxy::destroyGlobal):
(WebCore::V8Proxy::updateDocumentWrapper):
(WebCore::V8Proxy::clearDocumentWrapper):
(WebCore::V8Proxy::disposeContextHandles):
(WebCore::V8Proxy::initContextIfNeeded):
* bindings/v8/V8Proxy.h:
(WebCore::):
(WebCore::GlobalHandleInfo::GlobalHandleInfo):
* bindings/v8/custom/V8CustomEventListener.cpp:
(WebCore::V8EventListener::V8EventListener):
2009-07-08 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=26918
Prevents injection of HTML Base tag.
Tests: http/tests/security/xssAuditor/base-href-control-char.html
http/tests/security/xssAuditor/base-href-null-char.html
http/tests/security/xssAuditor/base-href-safe.html
http/tests/security/xssAuditor/base-href-safe2.html
http/tests/security/xssAuditor/base-href-scheme-relative.html
http/tests/security/xssAuditor/base-href.html
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::parseMappedAttribute):
(WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
to determine if it is safe to use base element URL.
* html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::canSetBaseElementURL):
* page/XSSAuditor.h:
2009-07-08 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Upstream V8 npruntime bindings.
https://bugs.webkit.org/show_bug.cgi?id=27094
* bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
(StringKey::operator==):
(StringKey::StringKeyHash::hash):
(StringKey::StringKeyHash::equal):
(StringKeyHashTraits::constructDeletedValue):
(StringKeyHashTraits::isDeletedValue):
(getStringIdentifierMap):
(getIntIdentifierMap):
* bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
* bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
* bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
2009-07-08 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Darin Fisher.
Extending the PlatformFileHandle definition from PLATFORM(WIN) to
PLATFORM(WIN_OS)
https://bugs.webkit.org/show_bug.cgi?id=27013
* platform/FileSystem.h:
2009-07-08 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=27071
Resolves issue when HTTP parameters contain null- and non-null-control- characters.
Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
http/tests/security/xssAuditor/embed-tag-control-char.html
http/tests/security/xssAuditor/embed-tag-null-char.html
http/tests/security/xssAuditor/embed-tag.html
http/tests/security/xssAuditor/link-onclick-control-char.html
http/tests/security/xssAuditor/link-onclick-null-char.html
http/tests/security/xssAuditor/object-embed-tag-control-char.html
http/tests/security/xssAuditor/object-embed-tag-null-char.html
http/tests/security/xssAuditor/object-embed-tag.html
http/tests/security/xssAuditor/object-tag.html
http/tests/security/xssAuditor/script-tag-post-control-char.html
http/tests/security/xssAuditor/script-tag-post-null-char.html
http/tests/security/xssAuditor/script-tag-with-source-control-char.html
http/tests/security/xssAuditor/script-tag-with-source-null-char.html
* page/XSSAuditor.cpp:
(WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
(WebCore::XSSAuditor::canEvaluate):
(WebCore::XSSAuditor::canCreateInlineEventListener):
(WebCore::XSSAuditor::canLoadObject):
(WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
and matchNonNullControlCharacters.
(WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
and matchNonNullControlCharacters.
* page/XSSAuditor.h:
2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Dimitri Glazkov.
Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
https://bugs.webkit.org/show_bug.cgi?id=27093
This is specific for v8, no change in behavior.
* bindings/v8/DerivedSourcesAllInOne.cpp: Added.
2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=27086
Make sure the Media controller doesn't fade in for no reason.
This is happening because a update() call to the controller
panel may reset the opacity to 1.0, given that it reloads the
style.
We also add a different fade in and fade out time to soften
the fade out effect.
No test case because this depends on how the movie is loaded.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::RenderMedia):
(WebCore::RenderMedia::updateControls):
(WebCore::RenderMedia::updateControlVisibility): Simplify
, and make sure we stop the timer if there is no animation
to do.
(WebCore::RenderMedia::opacityAnimationTimerFired):
* rendering/RenderMedia.h:
2009-07-08 David Kilzer <ddkilzer@apple.com>
Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
<https://bugs.webkit.org/show_bug.cgi?id=27081>
Reviewed by Timothy Hatcher.
* platform/cf/RunLoopTimerCF.cpp: This code is only used on
Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
in that macro as well.
2009-07-08 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Darin Adler.
Add -[WebView _isProcessingUserGesture]
https://bugs.webkit.org/show_bug.cgi?id=27084
Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
for clarity.
* WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::processingUserGesture):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::requestFrame):
(WebCore::FrameLoader::isProcessingUserGesture):
* loader/FrameLoader.h:
2009-07-08 Alexey Proskuryakov <ap@webkit.org>
Reviewed (an earlier version) by Geoff Garen.
https://bugs.webkit.org/show_bug.cgi?id=27090
Remove lockBackForwardList argument from HTMLFormElement::submit()
No change in behavior, so no tests.
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::submit):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submit):
* html/HTMLFormElement.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::scheduleFormSubmission):
* loader/FrameLoader.h:
Don't pass lockBackForwardList around when it's known to be false.
2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Adam Barth.
Fix V8 idl codegen to use unique constant names
<https://bugs.webkit.org/show_bug.cgi?id=27089>
Embed the interface name in the global constant names so coagulating all
the .cc files into one compile unit works with V8 bindings.
Nothing added; Still compiles and pass tests.
* bindings/scripts/CodeGeneratorV8.pm:
2009-07-08 Brent Fulgham <bfulgham@webkit.org>
Build fix: Add missing #includes for Windows (cURL) build.
The <winsock2.h> and <windows.h> headers were not being
included in Windows cURL builds.
* platform/network/ResourceHandleInternal.h:
* platform/network/curl/ResourceHandleManager.h:
2009-07-08 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by David Kilzer.
WebKit needs a style linting tool
https://bugs.webkit.org/show_bug.cgi?id=25884
Fix bunch of style issues in WebCore/rendering.
This patch is created to demonstrate cpplint.py.
No testcase because it's just a style fixes.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::layout):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeEllipsisBox):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlTimelineElement::defaultEventHandler):
* rendering/MediaControlElements.h:
* rendering/RenderArena.cpp:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::startDelayUpdateScrollInfo):
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):
(WebCore::RenderBlock::updateScrollInfoAfterLayout):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::newLine):
(WebCore::RenderBlock::floatBottom):
(WebCore::RenderBlock::leftBottom):
(WebCore::RenderBlock::rightBottom):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::calcReplacedWidthUsing):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::layoutLegend):
* rendering/RenderFlexibleBox.cpp:
(WebCore::FlexBoxIterator::FlexBoxIterator):
(WebCore::FlexBoxIterator::reset):
(WebCore::FlexBoxIterator::first):
(WebCore::FlexBoxIterator::next):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
* rendering/RenderFrameSet.cpp:
(WebCore::borderStartEdgeColor):
* rendering/RenderFrameSet.h:
* rendering/RenderImage.cpp:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateVisibilityStatus):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::panScroll):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::updateMarqueeStyle):
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::updateControls):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::localCaretRect):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::adjustRectsForAspectRatio):
* rendering/RenderSlider.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::outerBorderBottom):
* rendering/RenderTableCol.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::itemIsSeparator):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::supportsHover):
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::supportsFocusRing):
* rendering/SVGCharacterLayoutInfo.cpp:
(WebCore::SVGCharacterLayoutInfo::addStackContent):
* rendering/SVGCharacterLayoutInfo.h:
* rendering/TextControlInnerElements.h:
* rendering/bidi.cpp:
(WebCore::RenderBlock::computeHorizontalPositionsForLine):
2009-07-07 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej Stachowiak.
Reduce complexity of lifetime management in DynamicNodeList caches
<https://bugs.webkit.org/show_bug.cgi?id=27068>
Switch the Cache object used by DynamicNodeList into a normal
refcounted object rather than having a weird flag controlled
refcounting system, where positive refcount did not automatically
imply the cache object would actually still be live.
* dom/DynamicNodeList.cpp:
(WebCore::DynamicNodeList::DynamicNodeList):
(WebCore::DynamicNodeList::~DynamicNodeList):
(WebCore::DynamicNodeList::Caches::Caches):
(WebCore::DynamicNodeList::Caches::create):
* dom/DynamicNodeList.h:
* dom/Node.cpp:
(WebCore::Node::childNodes):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::NodeListsNodeData::invalidateCaches):
(WebCore::NodeListsNodeData::isEmpty):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::NodeListsNodeData):
2009-07-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
-webkit-perspective should be a Length
https://bugs.webkit.org/show_bug.cgi?id=27066
-webkit-perspective should not take a magic valueless number, but should
be a normal Length value which responds to zooming. Treat valueless numbers
as pixels for backward compatibility.
Test: transforms/3d/general/perspective-units.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2009-07-07 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=27047
We need to make sure that when we reattach, we also reattach
the children in every MediaControlElement. Else we may end up
having no remaining or elapsed time.
We have to handle that, because we are using a special shadow
tree in the DOM, and that we are ourselves handling
attaching/detaching the renderer.
The strategy here is to try to implement ::attach(), and try
to reuse as much code as we can from the super class, including
children attachement.
Test: media/controls-after-reload.html
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlElement::styleForElement): Code factoring.
(WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
(WebCore::MediaControlElement::attach): Implement attach
and call super class so that children are also attached.
(WebCore::MediaControlElement::updateStyle): Use attach()
(WebCore::MediaControlInputElement::styleForElement): Code factoring.
(WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
(WebCore::MediaControlInputElement::attach): See above.
(WebCore::MediaControlInputElement::updateStyle): Use attach()
* rendering/MediaControlElements.h:
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::updateControls): Directly run attach() on
the m_panel, which is a root node for our shadow tree.
2009-07-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Repaint issue after layer drops out of composited mode.
<https://bugs.webkit.org/show_bug.cgi?id=27022>
RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
and expect these to stay valid from one style change to the next. These rects
are relative to the repaint container, so if a layer stops being composited,
we need to recompute them.
Test: compositing/repaint/layer-repaint-rects.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::computeRepaintRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
2009-07-07 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt and Darin Adler.
- fix https://bugs.webkit.org/show_bug.cgi?id=26963
<rdar://problem/7030998> Reproducible crash at
FontCache::getFontData() when a custom font is used in a pseudo-style
Test: fast/css/pseudo-cache-stale.html
* dom/Element.cpp:
(WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
style and the new style, goes over cached pseudo-styles in the old
style and re-resolves the same style types off the new style. If any of
the new pseudo-styles is different from the currently cached
corresponding style, returns true. Otherwise, returns false.
(WebCore::Element::recalcStyle): Validate the pseudo-style cache before
deciding to keep the existing style.
* dom/Element.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
returns an uncached first-line style based off the given style.
(WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
parameter.
* rendering/RenderObject.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
pseudo-styles in the passed-in vector.
* rendering/style/RenderStyle.h:
2009-07-07 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
- fix https://bugs.webkit.org/show_bug.cgi?id=27042
<rdar://problem/7010981> Incomplete painting of newly created floats
Tests: fast/repaint/float-in-new-block-with-layout-delta.html
fast/repaint/float-new-in-block.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren): If the child has never been
laid out before, paint its overhanging floats in addition to itself.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
initialized a boolean everHadLayout member.
* rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
never been laid out before and did not move from (0, 0).
2009-07-07 Brady Eidson <beidson@apple.com>
Contributions from both Darin Adler and Brady Eidson.
Reviewed by Darin Adler.
<rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
navigation was still in progress.
This patch makes things even better than it used to be by:
- Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
- Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
Test: fast/loader/subframe-navigate-during-main-frame-load.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
used from multiple sites.
(WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
(WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
lockBackForwardList flag.
(WebCore::FrameLoader::scheduleFormSubmission): Ditto.
2009-07-07 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
Upstream DOMObjectsInclude.h from src.chromium.org.
https://bugs.webkit.org/show_bug.cgi?id=27035
* bindings/v8/DOMObjectsInclude.h: Added.
2009-07-07 Nate Chapin <japhet@chromium.org>
Reviewed by David Levin.
Relanding r45559, which was rolled back at r45574.
https://bugs.webkit.org/show_bug.cgi?id=26857
* bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
* bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
* bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::getListenerFunction):
* bindings/v8/V8Proxy.cpp:
(WebCore::handleConsoleMessage):
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::sourceName):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::handleConsoleMessage):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::NAMED_PROPERTY_SETTER):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::removeElement):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::SetTimeoutOrInterval):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
2009-07-07 Gregory Hughes <gfhughesVO+webkit@gmail.com>
Reviewed by Darin Adler.
AX: Some webpages do not send AXLoadComplete
https://bugs.webkit.org/show_bug.cgi?id=26995
When sending the AXLayoutComplete notification it is possible
that the AXObjectCache was cleared, resulting in no valid
object to send the notification to. This fix ensures that an
AX object is created and cached if one does not already exist.
Not able to add a test because notifications get sent after the layout test is completed.
* dom/Document.cpp:
(WebCore::Document::implicitClose):
2009-07-06 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=27015
Make sure that the CSS properties letter-spacing, word-spacing,
line-height, text-transform, text-indent, text-shadow,
text-decoration and color do not affect the media element controls,
that display text.
Controls that display text are only present in when the theme
MediaControllerThemeQT is being used.
Test: media/controls-styling.html
* css/mediaControlsQT.css:
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlElement::updateStyle): Special case for
text-decoration. text-decoration can't be overriden from CSS, because
text-decoration is additive for historical reasons.
2009-07-07 Albert Wong <ajwong@chromium.org>
Not reviewed, Chromium build fix.
Add in missing header + fix syntax issue that crept into last patch.
https://bugs.webkit.org/show_bug.cgi?id=27027
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
2009-07-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Make use of geometry information to decide which layers become composited.
<rdar://problem/7011947>
<https://bugs.webkit.org/show_bug.cgi?id=27021>
In addition to looking at painting order, also, optionally, take layer
overlap into account when deciding which RenderLayers need to be composited.
No testcase because DRT doesn't dump which layers are composited.
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::updateCompositingLayers):
Removed the unused CompositingUpdate parameter, and just do an early return
when there is no view.
* rendering/RenderLayer.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::rendererContentChanged):
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):
(WebCore::RenderLayer::styleChanged):
(WebCore::RenderLayer::mustOverlapCompositedLayers):
(WebCore::RenderLayer::setMustOverlapCompositedLayers):
Change "overlay" to "overlap" for consistency with the use of "overlap"
elsewhere.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterLayout):
compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):
Tell the compositor that we started an accelerated animation or transition.
* rendering/RenderLayerCompositor.h:
(WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
Renamed, since it's explicitly about changes in hierarchy now.
(WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
(WebCore::RenderLayerCompositor::compositingConsultsOverlap):
New getter and setter for whether compositing should take overlap into account.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
Add m_compositingConsultsOverlap, re-order some member variables.
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
Whitespace cleanup and method rename.
(WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
Method and variable renaming.
(WebCore::RenderLayerCompositor::updateCompositingLayers):
Now we have to run through the layer hierarchy every time if looking
at overlap, because changes in layout can now alter compositing behavior.
We minimize work by tracking whether we actually need to change the layer
hierarchy via needLayerRebuild.
(WebCore::RenderLayerCompositor::updateBacking):
3D transforms turn off overlap mode.
(WebCore::RenderLayerCompositor::layerWasAdded):
(WebCore::RenderLayerCompositor::layerWillBeRemoved):
Method rename.
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::overlapsCompositedLayers):
Utility methods to add a layer to the overlapMap (computing the absolute
bounding box only if we haven't already done so), and testing the map
entries.
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
If a layer would composite only because it comes after other compositing
layers in the painting order, then consult the overlap map to determine whether
it overlaps, and thus actually needs to composite.
Add layers to the map when they must be composited.
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
Only do re-parenting work if the updateHierarchy flag is set.
(WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
When we start an accelerated transition or animation, we stop looking at
overlap because we can no longer guarantee correct front-to-back ordering while the
accelerated animation is running.
(WebCore::RenderLayerCompositor::needsToBeComposited):
Method renames.
* rendering/RenderView.cpp:
(WebCore::RenderView::setMaximalOutlineSize):
Add comment indicating that this could be optimized.
2009-07-14 Anton Muhin <antonm@chromium.org>
Reviewed by Darin Fisher.
Speed up creation of V8 wrappers for DOM nodes.
https://bugs.webkit.org/show_bug.cgi?id=26882
This patch doesn't require new tests as it a set of refactorings
to speed up wrapper creation.
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
2009-07-07 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Gustavo Noronha.
[GTK] textarea height property works only if other property are defined
https://bugs.webkit.org/show_bug.cgi?id=18984
Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
Test: fast/forms/textarea-metrics.html
* platform/gtk/RenderThemeGtk.cpp:
* platform/gtk/RenderThemeGtk.h:
2009-07-07 Ben Murdoch <benm@google.com>
Reviewed by Antti Koivisto.
HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
https://bugs.webkit.org/show_bug.cgi?id=25711
Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
storage databases could become locked until the browser is shut
down if the page is refreshed whilst a transaction is in progress.
Test: storage/database-lock-after-reload.html
* storage/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::close): add code to inform the database thread we've closed the database.
(WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
* storage/Database.h:
(WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
* storage/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
(WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
(WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
* storage/DatabaseThread.h:
(WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
2009-07-07 Jiahua Huang <jhuangjiahua@gmail.com>
Reviewed by Jan Alonzo.
[Gtk] Paste of rich text from firefox results garbled markup
https://bugs.webkit.org/show_bug.cgi?id=26791
Fix problem with UTF-16 clipboard pasted.
* manual-tests/gtk/paste-richtext-from-firefox.html: Added.
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::documentFragment):
2009-07-07 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Timothy Hatcher.
Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
https://bugs.webkit.org/show_bug.cgi?id=23849
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
2009-07-06 Albert J. Wong <ajwong@chromium.org>
Reviewed by Maciej Stachowiak.
Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
change.
Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
https://bugs.webkit.org/show_bug.cgi?id=27018
This is mainly an API change update to fix the chromium compile. It
also has a small fix of a typo in RenderThemeMac.mm.
Compilation against the head of chromium trunk passed. Since this is
a compile fix, that should be sufficient.
* rendering/RenderThemeChromiumMac.mm:
(WebCore::):
(WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
(WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
(WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
(WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
(WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
(WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
(WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
* rendering/RenderThemeMac.mm:
(WebCore::):
2009-07-06 David Kilzer <ddkilzer@apple.com>
Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
<https://bugs.webkit.org/show_bug.cgi?id=27002>
Reviewed by Geoff Garen.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
disabled.
2009-07-06 David Kilzer <ddkilzer@apple.com>
Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
<https://bugs.webkit.org/show_bug.cgi?id=27001>
Reviewed by Geoff Garen.
PassRefPtr<> should only be used for arguments to functions that
take ownership of the object, or as return values from functions
that relinquish ownership of the object.
* editing/Editor.cpp:
(WebCore::Editor::increaseSelectionListLevelOrdered): Changed
stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
release() on returned object.
(WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
2009-07-06 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7035474> Make new media controller UI default on SnowLeopard
* rendering/RenderThemeMac.mm:
(WebCore::mediaControllerTheme):
New media controller UI is enabled by default on SnowLeopard.
2009-07-06 Nate Chapin <japhet@chromium.org>
Unreviewed, build fix.
Roll out r45559 to fix Chromium canary.
https://bugs.webkit.org/show_bug.cgi?id=26857
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/V8Binding.cpp: Removed.
* bindings/v8/V8Binding.h:
(WebCore::toInt32):
(WebCore::toWebCoreString):
(WebCore::fromWebCoreString):
(WebCore::toWebCoreStringWithNullCheck):
(WebCore::isUndefinedOrNull):
(WebCore::v8Boolean):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::getListenerFunction):
* bindings/v8/V8Proxy.cpp:
(WebCore::handleConsoleMessage):
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::sourceName):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::handleConsoleMessage):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::NAMED_PROPERTY_SETTER):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::removeElement):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::SetTimeoutOrInterval):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
2009-07-06 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
<rdar://problem/7008093> Media controller can’t be used to scrub when movie is
narrow — track is too narrow
Do not show media controller time display elements when the a movie is too narrow.
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
Give current time and time remaining controls a common base class.
(WebCore::MediaControlTimeDisplayElement::setVisible):
New method, hide and show the element.
* rendering/MediaControlElements.h:
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::RenderMedia):
Initialize m_previousVisible.
(WebCore::RenderMedia::layout):
Show/hide the time display elements as the movie width changes.
(WebCore::RenderMedia::createCurrentTimeDisplay):
(WebCore::RenderMedia::createTimeRemainingDisplay):
Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
(WebCore::RenderMedia::shouldShowTimeDisplayControls):
New, decide if time display elements should be visible or not.
* rendering/RenderMedia.h:
* rendering/RenderThemeMac.mm:
(WebCore::):
(WebCore::RenderThemeMac::paintMediaFullscreenButton):
(WebCore::RenderThemeMac::paintMediaMuteButton):
(WebCore::RenderThemeMac::paintMediaPlayButton):
(WebCore::RenderThemeMac::paintMediaSeekBackButton):
(WebCore::RenderThemeMac::paintMediaSeekForwardButton):
(WebCore::RenderThemeMac::paintMediaSliderTrack):
(WebCore::RenderThemeMac::paintMediaSliderThumb):
(WebCore::RenderThemeMac::paintMediaRewindButton):
(WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
(WebCore::RenderThemeMac::paintMediaControlsBackground):
(WebCore::RenderThemeMac::paintMediaCurrentTime):
(WebCore::RenderThemeMac::paintMediaTimeRemaining):
The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
2009-07-06 David Kilzer <ddkilzer@apple.com>
Bug 27000: Minor clean up to runtime_root.{cpp|h}
<https://bugs.webkit.org/show_bug.cgi?id=27000>
Reviewed by Geoff Garen.
* bridge/runtime_root.cpp: Added blank line between license and
the first #include statement.
* bridge/runtime_root.h: Added comment to #endif.
2009-07-06 Roland Steiner <rolandsteiner@google.com>
Reviewed by Maciej Stachowiak.
generalize the special height treatment for SVG (to be re-used for ruby):
renamed InlineBox::m_isSVG to m_hasVirtualHeight
renamed InlineBox::isSVG() to hasVirtualHeight()
renamed InlineBox::setIsSVG() to setHasVirtualHeight()
* rendering/InlineBox.cpp:
(WebCore::InlineBox::height):
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::isText):
(WebCore::InlineBox::setIsText):
(WebCore::InlineBox::isSVGRootInlineBox):
(WebCore::InlineBox::hasVirtualHeight):
(WebCore::InlineBox::setHasVirtualHeight):
(WebCore::InlineBox::virtualHeight):
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::createFlowBox):
* rendering/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::createTextBox):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::createRootBox):
* rendering/SVGInlineFlowBox.h:
(WebCore::SVGInlineFlowBox::virtualHeight):
* rendering/SVGInlineTextBox.h:
(WebCore::SVGInlineTextBox::virtualHeight):
* rendering/SVGRootInlineBox.h:
(WebCore::SVGRootInlineBox::virtualHeight):
2009-07-06 Alice Liu <alice.liu@apple.com>
Reviewed by Darin Adler.
REGRESSION(r45285): focus rings are black on windows safari
https://bugs.webkit.org/show_bug.cgi?id=26821
<rdar://problem/7018252>
Add a mechanism for setting a custom focus ring color, and relocate the
determination of focus ring color to base class RenderTheme.
No new tests. Already-existing tests run in pixel mode would have caught this regression
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
of determining focus color to base class RenderTheme.
* rendering/RenderTheme.cpp:
(WebCore::customFocusRingColor): Added static local.
(WebCore::RenderTheme::setCustomFocusRingColor): Added
(WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
* rendering/RenderTheme.h:
(WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
are the same under which we want to use the focus ring color from SafariTheme.
(WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
* rendering/RenderThemeSafari.h:
Renaming focusRingColor to platformFocusRingColor in these files:
* rendering/RenderThemeChromiumMac.h:
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::platformFocusRingColor):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformFocusRingColor):
Cleanup leftover from removal of WebCore::Color in r45285 in these files:
* WebCore.order:
* platform/graphics/Color.h:
2009-07-06 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by David Hyatt.
Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
contents makes its container scroll to the top
https://bugs.webkit.org/show_bug.cgi?id=15135
Delay updateing scroll bar of descendants of flexbox until their
positions are determined. In this way we can prevent descendants
of flexible boxes from changing positions of their scrollbars
using tentative positions.
Test: fast/flexbox/repaint-scrollbar.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::startDelayUpdateScrollInfo):
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):
(WebCore::RenderBlock::updateScrollInfoAfterLayout):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutOnlyPositionedObjects):
* rendering/RenderBlock.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):
2009-07-06 Hironori Bono <hbono@chromium.org>
Reviewed by Maciej Stachowiak.
Make unconfirmed IME text affect textarea's value.
This matches input and contentEditable elements as well
IE and Firefox.
This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
Input elements would go down this code path because it
would always get a null compositionNode from frame->editor().
Special casing compositionNodes is wrong because we explicitly
want unconfirmed IME input in the textarea's value (assuming we
want to match IE and Firefox here).
This change is originally created by Ojan Vafai <ojan@chromium.org> and
I just changed its manual tests with an automated test on his behalf.
Test: platform/mac/editing/input/text-control-ime-input.html
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::text):
(WebCore::RenderTextControl::textWithHardLineBreaks):
2009-07-06 Anders Carlsson <andersca@apple.com>
Reviewed by Adele Peterson.
Add the ability for wheel events to latch to a node.
* WebCore.base.exp:
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleWheelEvent):
* page/EventHandler.h:
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::wheelEvent):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2009-07-06 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
https://bugs.webkit.org/show_bug.cgi?id=26997
* bindings/v8/V8Binding.cpp:
(WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
2009-07-06 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: suggest global properties based on async evaluation.
https://bugs.webkit.org/show_bug.cgi?id=26976
Before this change, empty string was evaluated to the global object
(or scope chain object) synchronously. This is now fixed and global
object is evaluated using the same control flow.
* inspector/front-end/Console.js:
(WebInspector.Console.prototype.completions):
(WebInspector.Console.prototype._evalInInspectedWindow):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._variablesInScope):
2009-07-06 Ojan Vafai <ojan@chromium.org>
Reviewed by Eric Seidel.
Fix crash when indenting in an empty table cell.
https://bugs.webkit.org/show_bug.cgi?id=26872
The crash is that we would call splitTreeToNode where the node
and the nodeToSplitTo were the same node.
Test: editing/execCommand/indent-empty-table-cell.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::splitTreeToNode):
Added an assert in that node and nodeToSplitTo
are different nodes to make this assumption explicit.
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::isAtUnsplittableElement):
(WebCore::IndentOutdentCommand::indentRegion):
* editing/IndentOutdentCommand.h:
2009-07-06 Nate Chapin <japhet@chromium.org>
Reviewed by David Levin.
Upstream V8Binding and update some function names.
https://bugs.webkit.org/show_bug.cgi?id=26857
* bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
* bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
* bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::getListenerFunction):
* bindings/v8/V8Proxy.cpp:
(WebCore::handleConsoleMessage):
(WebCore::V8Proxy::compileScript):
(WebCore::V8Proxy::sourceName):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::handleConsoleMessage):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::NAMED_PROPERTY_SETTER):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::removeElement):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::SetTimeoutOrInterval):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
2009-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Reviewed by Jan Alonzo.
Use soup's content sniffing
https://bugs.webkit.org/show_bug.cgi?id=26982
Drop our hackish content sniffing code, and use the new libsoup
feature to do that job for us.
Testing this is in a cross-platform way is not obvious or possible
while we are using platform-specific code for sniffing.
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::gotHeadersCallback):
(WebCore::contentSniffedCallback):
(WebCore::gotChunkCallback):
(WebCore::ResourceHandle::startHttp):
2009-07-05 Antonio Gomes <antonio.gomes@openbossa.org>
Reviewed by Darin Adler.
REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
https://bugs.webkit.org/show_bug.cgi?id=20342
Re-added code removed by commit r40499.
Without this, both Qt and Mac were crashing while running the test.
Note that this does not entirely fix the bug. It fixes the WebCore
crash, but the test no longer seems to work due to loader changes.
So this patch does not reenable the test. The test probably has to
be rewritten.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removedFromDocument): Re-added code to
set the CSS target of the document to 0.
2009-07-05 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=26943
When one transition finishes slightly before another the longer
one will fire a second time. This is because the second
ImplicitAnmation object is culled too early, before its final
RenderStyle is in place. This is done by cleanupFinishedAnimations()
so I got rid of that method completely and now cleanup each
transition or animation at the point where I am setting the final
style, or when I detect that the transition or animation has been
terminated early (which happens when you remove it from the style).
Test: transitions/extra-transition.html
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
* page/animation/CompositeAnimation.h:
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::getTimeToNextEvent):
Avoid a divide by zero if m_animation->duration() is zero, which can happen
if the duration is changed to zero while the animation is running.
2009-07-05 Simon Fraser <simon.fraser@apple.com>
Revert the previous commit because it broke the
animations/transition-and-animation-1.html
testcase.
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::getTimeToNextEvent):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
(WebCore::CompositeAnimation::cleanupFinishedAnimations):
* page/animation/CompositeAnimation.h:
2009-07-05 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=26943
When one transition finishes slightly before another the longer
one will fire a second time. This is because the second
ImplicitAnmation object is culled too early, before its final
RenderStyle is in place. This is done by cleanupFinishedAnimations()
so I got rid of that method completely and now cleanup each
transition or animation at the point where I am setting the final
style, or when I detect that the transition or animation has been
terminated early (which happens when you remove it from the style).
Test: transitions/extra-transition.html
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
* page/animation/CompositeAnimation.h:
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::getTimeToNextEvent):
Avoid a divide by zero if m_animation->duration() is zero, which can happen
if the duration is changed to zero while the animation is running.
2009-07-05 Lars Knoll <lars.knoll@nokia.com>
Reviewed by Maciej Stachowiak.
https://bugs.webkit.org/show_bug.cgi?id=26843
Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
The Metrowerks compiler on the Symbian platform moves the globally
defined Hashtables into read-only memory, despite one of the members
being mutable. This causes crashes at run-time due to write access to
read-only memory.
Avoid the use of const with this compiler by introducing the
JSC_CONST_HASHTABLE macro.
Based on idea by Norbert Leser.
* bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
define in the bindings.
2009-07-05 Rob Buis <rwlbuis@gmail.com>
Reviewed by Maciej Stachowiak.
Bug 26897 - Dynamic SVG images do not display correctly
https://bugs.webkit.org/show_bug.cgi?id=26897
Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
Test: svg/custom/createImageElement2.xhtml
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::imageChanged):
2009-07-05 Xan Lopez <xlopez@igalia.com>
Reviewed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=26960
[Gtk] caret offset not updated when selecting text
Report the caret offset from the end of the selection so it works
correctly for multi-char selections too (ie, anything that is not
the zero width caret).
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_text_get_caret_offset):
2009-07-05 Holger Hans Peter Freyther <zecke@selfish.org>
Unreviewed link fix for Qt.
Fix Qt link error by adding two new localized strings
In r45474 two new strings got added to LocalizedStrings.h add
the definition of them to Qt.
* platform/qt/Localizations.cpp:
(WebCore::mediaElementLoadingStateText):
(WebCore::mediaElementLiveBroadcastStateText):
2009-07-03 Darin Adler <darin@apple.com>
Reviewed by Adele Peterson.
REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
https://bugs.webkit.org/show_bug.cgi?id=26959
rdar://problem/7029882
The code to handle iteration boundaries was malfunctioning when the boundary was
at the edge of a shadow tree. This happens all the time with <input> elements.
It's not immediately obvious how to make a regression test for this since the
symptom was a performance problem, not incorrect behavior. I'll add a test if I
figure out a way to make one.
* editing/TextIterator.cpp:
(WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
(WebCore::depthCrossingShadowBoundaries): Updated for name change.
(WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
(WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
(WebCore::setUpFullyClippedStack): Updated for name change.
(WebCore::TextIterator::TextIterator): Updated for name change. Use
nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
(WebCore::TextIterator::advance): Updated for name change.
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
Tweaked formatting.
(WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
(WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
(WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
2009-07-03 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sam Weinig.
Background audio stops playing when JS GC runs
https://bugs.webkit.org/show_bug.cgi?id=26956
Ensure we keep the Audio object around while it is playing, so that it
doesn't get collected.
Not testable because there's no way to know whether the audio keeps
playing without holding a reference to it.
* bindings/js/JSDOMBinding.cpp:
(WebCore::isObservableThroughDOM):
2009-07-02 Xan Lopez <xlopez@igalia.com>
Reviewed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=26814
[Gtk] Caret-moved events are not issued for the correct offset
when text is selected forward
Report the caret offset from the end of the selection, otherwise
we'll report the same offset when moving the caret while
modififying the selection (eg, with Shift + Right).
* editing/gtk/SelectionControllerGtk.cpp:
(WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2009-07-02 Xan Lopez <xlopez@igalia.com>
Reviewed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=26815
[Gtk] text-selection-changed events are not issued for the correct
object when the selection spans multiple objects
Get the focused node from the end of the selection, not the start,
so we can detect when we cross object boundaries.
* editing/gtk/SelectionControllerGtk.cpp:
(WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=26947
Fix the media controls hit tests. They may lose click events.
Test cases already covered in the video-controls-zoomed tests.
Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
* rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
* rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
2009-07-02 Roland Steiner <rolandsteiner@google.com>
Reviewed by Eric Seidel.
RenderBlock and RenderInline have confusingly named object creation methods:
RenderBlock::createRootBox/createRootInlineBox
RenderInline::createFlowBox/createInlineFlowBox
where the 2nd method in both cases just calls the first and then appends the created object.
I therefore renamed those methods to something IMHO more informative:
createRootBox() -> createRootInlineBox()
createRootInlineBox() -> createAndAppendRootInlineBox();
createFlowBox() -> createInlineFlowBox();
createInlineFlowBox() -> createAndAppendInlineFlowBox();
https://bugs.webkit.org/show_bug.cgi?id=26828
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createRootInlineBox):
(WebCore::RenderBlock::createAndAppendRootInlineBox):
* rendering/RenderBlock.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::createInlineFlowBox):
(WebCore::RenderInline::createAndAppendInlineFlowBox):
* rendering/RenderInline.h:
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::createInlineFlowBox):
* rendering/RenderSVGInline.h:
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::createRootInlineBox):
* rendering/RenderSVGText.h:
* rendering/bidi.cpp:
(WebCore::createInlineBoxForRenderer):
2009-07-02 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Fix typo in the resource panel enabler caption.
https://bugs.webkit.org/show_bug.cgi?id=26753
* English.lproj/localizedStrings.js:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
2009-07-02 Erik Arvidsson <arv@chromium.org>
Reviewed by Adam Roben.
[Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
https://bugs.webkit.org/show_bug.cgi?id=26699
* manual-tests/drag-escape.html: Added.
* page/EventHandler.cpp:
(WebCore::EventHandler::dragSourceEndedAt):
2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=26944
Make sure we support full page zoom in video controls.
This is tracked by a the video-controls-zoom test case.
* css/mediaControlsQT.css: Make sure we don't have any inherited margin.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
* rendering/RenderThemeMac.mm: Adjust the painting rect.
(WebCore::getUnzoomedRectAndAdjustCurrentContext):
(WebCore::RenderThemeMac::paintMediaSliderTrack):
(WebCore::RenderThemeMac::paintMediaCurrentTime):
(WebCore::RenderThemeMac::paintMediaTimeRemaining):
2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
Fix the Gtk build after r45474. The localized strings should
have been added there.
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::mediaElementLoadingStateText):
(WebCore::mediaElementLiveBroadcastStateText):
2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=26939
Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
We fix two things:
- We use px instead of em, because px is used everywhere else
and because 0.09em hit the font size limit.
- We use -webkit-box instead of inline-block because in strict mode
inline-block has a different behavior.
Test: media/controls-strict.html
* css/mediaControlsQT.css:
2009-07-02 David Hyatt <hyatt@apple.com>
Reviewed by Dan Bernstein.
TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
https://bugs.webkit.org/show_bug.cgi?id=26942
* editing/TextIterator.cpp:
(WebCore::fullyClipsContents):
2009-07-02 Sam Weinig <sam@webkit.org>
Reviewed by Dave Hyatt.
Fix for <rdar://problem/5230700>
Remove local .xhtml file workaround
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
2009-07-02 Anders Carlsson <andersca@apple.com>
Reviewed by Dan Bernstein.
Sort, add functions used by WebKit.
* WebCore.base.exp:
2009-07-02 Brady Eidson <beidson@apple.com>
Rubberstamped by Sam Weinig.
More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
* platform/network/mac/WebCoreURLResponse.mm:
(webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
2009-07-02 Adam Langley <agl@google.com>
Reviewed by Eric Seidel.
Chromium Linux: fix complex text rendering with line break characters.
https://bugs.webkit.org/show_bug.cgi?id=26935
If the CSS white-space property is inhibiting line breaking, we might
find end-of-line characters rendered via the complex text path. Fonts
don't provide glyphs for these code points so, if we find one, we
simulate the space glyph being interposed in this case. Because the
input is variable-length per code point, we walk the input in step
with the output.
Covered by:
LayoutTests/fast/text/international/bidi-linebreak-002.html
LayoutTests/fast/text/international/bidi-linebreak-003.html
LayoutTests/fast/text/international/hindi-whitespace.html
* platform/graphics/chromium/HarfbuzzSkia.cpp:
(WebCore::stringToGlyphs):
2009-07-02 Victor Wang <victorw@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=26521
Expose file size to chromium.
Implement getFileSize() for Chromium.
* platform/chromium/ChromiumBridge.h:
* platform/chromium/FileSystemChromium.cpp:
(WebCore::getFileSize):
2009-07-02 Nate Chapin <japhet@chromium.org>
Unreviewed, build fix.
* bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
2009-07-02 Simon Fraser <simon.fraser@apple.com>
Build fix: add missing #include.
* platform/mac/ThemeMac.mm:
2009-07-02 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
<rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
that can possibly throw Objective-C exceptions when drawing Mac form controls.
* platform/mac/ThemeMac.mm:
(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):
(WebCore::ThemeMac::inflateControlPaintRect):
2009-07-02 Nate Chapin <japhet@chromium.org>
Reviewed by David Levin.
Upstream V8SVGPODTypeWrapper.
https://bugs.webkit.org/show_bug.cgi?id=26907
* bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
* bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
2009-07-02 Dumitru Daniliuc <dumi@chromium.org>
Reviewed by Dimitri Glazkov.
Adds an abstraction layer between the DB classes and the file
system, which allows us to add our own logic for storing, opening,
deleting, etc. databases.
The patch was tested using the tests in WebCore/storage.
https://bugs.webkit.org/show_bug.cgi?id=26054
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
* platform/sql/SQLiteFileSystem.cpp: Added.
* platform/sql/SQLiteFileSystem.h: Added.
* platform/win/FileSystemWin.cpp:
(WebCore::directoryName): Implemented.
* storage/Database.cpp:
(WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
(WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
(WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
(WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
(WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
(WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
(WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
(WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
* storage/OriginUsageRecord.cpp:
(WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
2009-07-02 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
Always clip replaced elements to border radii.
https://bugs.webkit.org/show_bug.cgi?id=26933
Make sure to always clip replaced elements to border radii, even when overflow is visible.
Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
necessary.
Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
* css/html.css:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
2009-07-02 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Simon Fraser.
convertFromScrollbarToContainingView and friends should be in ScrollView
https://bugs.webkit.org/show_bug.cgi?id=26929
This is breaking Chromium's build because PopupMenuChromium inherits
from ScrollView, but these functions are pure virtual in it. I could
put it directly in PopupMenuChromium, but that seems a bit silly since
the functions are fairly generic.
Passes existing layout tests.
* page/FrameView.cpp: Remove the 4 functions Hyatt just added
(IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
(IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
(IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
(IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
* page/FrameView.h: ditto
* platform/ScrollView.cpp: Move the 4 functions from FrameView here
(IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
(IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
(IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
(IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
* platform/ScrollView.h: ditto
2009-07-02 Dirk Pranke <dpranke@chromium.org>
Reviewed by Darin Fisher.
Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin
doesn't handle errors well at all; revise it to fail silently
(drawing nothing), and bulletproof FontChromiumWin to handle the
failure accordingly.
Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
fast/text/text-letter-spacing.html
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
(WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
* platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::TransparencyWin):
(WebCore::TransparencyWin::setupLayerForNoLayer):
(WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
(WebCore::TransparencyWin::setupLayerForWhiteLayer):
(WebCore::TransparencyWin::setupTransformForKeepTransform):
(WebCore::TransparencyWin::setupTransformForScaleTransform):
(WebCore::TransparencyWin::initializeNewContext):
(WebCore::TransparencyWin::compositeOpaqueComposite):
(WebCore::TransparencyWin::compositeTextComposite):
(WebCore::TransparencyWin::makeLayerOpaque):
* platform/graphics/chromium/TransparencyWin.h:
(WebCore::TransparencyWin::platformContext):
2009-07-02 Eric Carlson <eric.carlson@apple.com>
Change #import to #include to fix non-ObjC builds.
* rendering/MediaControlElements.cpp:
2009-07-02 Anders Carlsson <andersca@apple.com>
Build fix.
* platform/network/mac/WebCoreURLResponse.mm:
(mimeTypeFromUTITree):
2009-07-02 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
Fix for bug 22119, clicks in the scrollbars of transformed content don't work. Add new
conversion methods for going across parent/child widget boundaries that can be implemented
by the FrameView and ScrollbarClient to be transform-aware.
Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
* WebCore.base.exp:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseMoveEvent):
* page/FrameView.cpp:
(WebCore::FrameView::convertFromScrollbarToContainingView):
(WebCore::FrameView::convertFromContainingViewToScrollbar):
(WebCore::FrameView::convertFromRenderer):
(WebCore::FrameView::convertToRenderer):
(WebCore::FrameView::convertToContainingView):
(WebCore::FrameView::convertFromContainingView):
* page/FrameView.h:
* platform/ScrollView.h:
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::convertToContainingView):
(WebCore::Scrollbar::convertFromContainingView):
* platform/Scrollbar.h:
* platform/ScrollbarClient.h:
(WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
(WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
* platform/Widget.cpp:
(WebCore::Widget::convertFromContainingWindow):
(WebCore::Widget::convertToContainingWindow):
(WebCore::Widget::convertFromRootToContainingWindow):
(WebCore::Widget::convertFromContainingWindowToRoot):
(WebCore::Widget::convertToContainingView):
(WebCore::Widget::convertFromContainingView):
* platform/Widget.h:
* platform/graphics/IntPoint.h:
(WebCore::IntPoint::move):
* platform/mac/WidgetMac.mm:
(WebCore::Widget::convertFromRootToContainingWindow):
(WebCore::Widget::convertFromContainingWindowToRoot):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isPointInOverflowControl):
* rendering/RenderDataGrid.cpp:
(WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
(WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
* rendering/RenderDataGrid.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::convertFromScrollbarToContainingView):
(WebCore::RenderLayer::convertFromContainingViewToScrollbar):
(WebCore::RenderLayer::scrollbarOffset):
(WebCore::RenderLayer::hitTestOverflowControls):
* rendering/RenderLayer.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::isPointInOverflowControl):
(WebCore::RenderListBox::convertFromScrollbarToContainingView):
(WebCore::RenderListBox::convertFromContainingViewToScrollbar):
* rendering/RenderListBox.h:
2009-07-02 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt and Simon Fraser.
- fix <rdar://problem/6933052> SPOD playing video in a div with a box
shadow
Test: fast/box-shadow/transform-fringing.html
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
box even if it has an opaque background, but in that case, inset the
clip path by 1 pixel, to avoid antialiasing artifacts.
Do not inset the clip rect by 1 pixel if the CTM is purely a
translation.
Move the shadow-casting path away in the non-rounded-rect case (it
was already being done in the rounded-rect case), to avoid a black
fringe when the CTM is not purely a translation.
2009-07-02 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
<rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
For many types of text files (such as source code files) this ends up being text/plain.
* platform/network/mac/ResourceHandleMac.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
* platform/network/mac/WebCoreURLResponse.h:
* platform/network/mac/WebCoreURLResponse.mm:
(mimeTypeFromUTITree):
(webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
(-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/6518119>
Add a rewind button and hide the timeline for live broadcasts when
in MediaUI mode.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::extractPseudoType): Ditto.
* css/CSSSelector.h:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
* css/CSSValueKeywords.in: Ditto.
* css/mediaControls.css: Ditto.
* css/mediaControlsQT.css: Ditto.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::rewind): New.
(WebCore::HTMLMediaElement::returnToRealTime): New.
(WebCore::HTMLMediaElement::isStreaming): New.
* html/HTMLMediaElement.h:
* page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
* platform/LocalizedStrings.h: Add localized media state messages.
* platform/ThemeTypes.h: Add the new pseudo element.
* platform/mac/LocalizedStringsMac.mm:
(WebCore::mediaElementLoadingStateText): Add localized media state.
(WebCore::mediaElementLiveBroadcastStateText): Ditto.
* platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
multiple states.
* platform/mac/WebCoreSystemInterface.mm: Ditto.
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
(WebCore::MediaControlElement::attachToParent): Ditto.
(WebCore::MediaControlElement::update): Ditto.
(WebCore::MediaControlElement::updateStyle): Ditto.
(WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
(WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
(WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
(WebCore::MediaControlStatusDisplayElement::update): Ditto.
(WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
(WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
(WebCore::MediaControlInputElement::attachToParent): Ditto.
(WebCore::MediaControlInputElement::updateStyle): Ditto.
(WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
(WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
(WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
(WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
(WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
(WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
(WebCore::MediaControlTimelineElement::update): Ditto.
(WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
* rendering/MediaControlElements.h: Ditto.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::styleDidChange): Deal with the new elements.
(WebCore::RenderMedia::createPanel): Ditto.
(WebCore::RenderMedia::createRewindButton): Ditto.
(WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
(WebCore::RenderMedia::createStatusDisplay): Ditto.
(WebCore::RenderMedia::createTimelineContainer): Ditto.
(WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
(WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
(WebCore::RenderMedia::updateControls): Ditto.
(WebCore::RenderMedia::forwardEvent): Ditto.
* rendering/RenderMedia.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint): Deal with the new elements.
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
(WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
(WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
(WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
(WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
* rendering/style/RenderStyleConstants.h: Add constants for the new elements.
2009-07-01 John Abd-El-Malek <jam@chromium.org>
Reviewed by Darin Fisher.
Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
may be defined at the WebKit layer.
https://bugs.webkit.org/show_bug.cgi?id=26905
* dom/MessageChannel.cpp:
(WebCore::MessageChannel::MessageChannel):
* dom/MessagePortChannel.cpp:
* dom/MessagePortChannel.h:
* dom/default/PlatformMessagePortChannel.cpp:
(WebCore::MessagePortChannel::createChannel):
(WebCore::MessagePortChannel::create):
(WebCore::MessagePortChannel::MessagePortChannel):
(WebCore::MessagePortChannel::~MessagePortChannel):
2009-07-01 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<video> fails to show on http://camendesign.com/code/video_for_everybody
<rdar://problem/7026010>
https://bugs.webkit.org/show_bug.cgi?id=26919
Fix an issue introduced in r44961. In that revision we changed to only update
compositing layer geometry when all siblings had been laid out (i.e. we pushed
the updates one level down). However, that left out the root layer, so this
fix ensures that the root layer geometry gets updated at the end.
Test: compositing/geometry/root-layer-update.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterLayout):
2009-07-01 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein
<rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
First part of fix: when outline width changes, don't to a synchronous
layer update right away, but just set the flag to say that compositing
layers need updating. The synchronous layer update left the layer geometries
out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
Test: compositing/geometry/outline-change.html
* rendering/RenderView.cpp:
(WebCore::RenderView::setMaximalOutlineSize):
2009-07-01 Kwang Yul Seo <skyul@company100.net>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26842
Build fix when ENABLE_DATABASE is off
Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
off does not break builds.
* bindings/js/ScriptObjectQuarantine.cpp:
2009-07-01 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=26899
Modified XSSAuditor::decodeURL to only remove null characters so that
it is consistent with the behavior of HTMLTokenizer and prevents
injected scripts that contain control characters.
Tests: http/tests/security/xssAuditor/script-tag-control-char.html
http/tests/security/xssAuditor/script-tag-null-char.html
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::decodeURL): Modified to only remove null characters.
* page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
from allowControlCharacters back to allowNullCharacters.
* platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
(WebCore::isControlCharacter):
* platform/network/ResourceResponseBase.h: Reverted back to rev #45003.
2009-07-01 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Timothy Hatcher.
- supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
F10, Ctrl+' (win, lin), Command+' (mac) - step over
F11, Ctrl+; (win, lin), Command+; (mac) - step into
Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
- added call stack navigation shortcuts:
Ctrl+. - next call frame
Ctrl+, - previouse call frame
https://bugs.webkit.org/show_bug.cgi?id=23849
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
(WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
(WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
(WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
(WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
* inspector/front-end/KeyboardShortcut.js: Added.
(WebInspector.KeyboardShortcut):
(WebInspector.KeyboardShortcut.makeKey):
(WebInspector.KeyboardShortcut.makeKeyFromEvent):
(WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.handleKeyEvent):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2009-07-01 Daniel Erat <derat@google.com>
Reviewed by David Levin.
Chromium Linux: Move the scrollbar thumb on middle-click.
https://bugs.webkit.org/show_bug.cgi?id=26910
http://code.google.com/p/chromium/issues/detail?id=11976
Tested by building Chrome and checking that the scrollbar moves as expected.
* platform/chromium/ScrollbarThemeChromium.cpp:
* platform/chromium/ScrollbarThemeChromium.h:
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
* platform/chromium/ScrollbarThemeChromiumLinux.h:
* platform/chromium/ScrollbarThemeChromiumWin.cpp:
* platform/chromium/ScrollbarThemeChromiumWin.h:
2009-07-01 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
* WebCore.base.exp:
* page/Settings.cpp:
(WebCore::Settings::setLocalFileContentSniffingEnabled):
* page/Settings.h:
(WebCore::Settings::localFileContentSniffingEnabled):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
2009-07-01 Chris Fleizach <cfleizach@apple.com>
Reviewed by Oliver Hunt.
Bug 26909: aria-label needs to be supported
https://bugs.webkit.org/show_bug.cgi?id=26909
Test: accessibility/aria-label.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::accessibilityDescription):
* html/HTMLAttributeNames.in:
2009-07-01 David Hyatt <hyatt@apple.com>
Reviewed by Oliver Hunt.
More datagrid columns work. Make sure columns cache both a style for the column header as well
as a style for the column background (behind the cells).
Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
unimplemented).
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
(WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
* css/CSSStyleSelector.h:
* html/DataGridColumn.h:
(WebCore::DataGridColumn::setColumnList):
(WebCore::DataGridColumn::columnStyle):
(WebCore::DataGridColumn::setColumnStyle):
(WebCore::DataGridColumn::headerStyle):
(WebCore::DataGridColumn::setHeaderStyle):
* rendering/RenderDataGrid.cpp:
(WebCore::RenderDataGrid::recalcStyleForColumn):
(WebCore::RenderDataGrid::columnStyle):
(WebCore::RenderDataGrid::headerStyle):
(WebCore::RenderDataGrid::paintColumnHeaders):
* rendering/RenderDataGrid.h:
2009-07-01 Eric Carlson <eric.carlson@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change
back to Play button
Grab onto the current time when QTKit "ended" notification fires and use it as
duration from that point on as QuickTime sometimes refuses to play all the way to
the time it reports for duration and buffered. HTMLMediaElement assumes that there
more to play in this situation and tries to restart playback, endlessly.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
(WebCore::MediaPlayerPrivate::duration):
Return m_cachedDuration once it has been set.
(WebCore::MediaPlayerPrivate::updateStates):
Rename m_duration to m_reportedDuration.
(WebCore::MediaPlayerPrivate::didEnd):
Set m_cachedDuration to currentTime().
2009-07-01 Chris Fleizach <cfleizach@apple.com>
Reviewed by Beth Dakin.
Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
https://bugs.webkit.org/show_bug.cgi?id=26900
Editable web areas should have a clickpoint that uses where the selection is.
Test: accessibility/editable-webarea-context-menu-point.html
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::clickPoint):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2009-07-01 David Levin <levin@chromium.org>
Reviewed by Eric Seidel.
Remove unused code in SVGTransformList and SVGTransformDistance
<https://bugs.webkit.org/show_bug.cgi?id=26891>
* svg/SVGTransformDistance.cpp:
(WebCore::SVGTransformDistance::SVGTransformDistance):
* svg/SVGTransformList.cpp:
* svg/SVGTransformList.h:
2009-07-01 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
Begin stubbing out functions for layout, painting and style/geometry caching on columns. Not enough
is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
* html/DataGridColumn.cpp:
(WebCore::DataGridColumn::columnChanged):
* html/DataGridColumn.h:
(WebCore::DataGridColumn::setId):
(WebCore::DataGridColumn::setLabel):
(WebCore::DataGridColumn::setType):
(WebCore::DataGridColumn::setSortable):
(WebCore::DataGridColumn::setSortDirection):
(WebCore::DataGridColumn::setColumnList):
(WebCore::DataGridColumn::style):
(WebCore::DataGridColumn::setStyle):
(WebCore::DataGridColumn::rect):
(WebCore::DataGridColumn::setRect):
* html/DataGridColumnList.cpp:
(WebCore::DataGridColumnList::DataGridColumnList):
(WebCore::DataGridColumnList::setDataGridNeedsLayout):
(WebCore::DataGridColumnList::add):
(WebCore::DataGridColumnList::remove):
(WebCore::DataGridColumnList::move):
(WebCore::DataGridColumnList::clear):
(WebCore::DataGridColumnList::primaryColumnChanged):
* html/DataGridColumnList.h:
(WebCore::DataGridColumnList::create):
(WebCore::DataGridColumnList::dataGrid):
(WebCore::DataGridColumnList::clearDataGrid):
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
(WebCore::HTMLDataGridColElement::findDataGridAncestor):
(WebCore::HTMLDataGridColElement::insertedIntoTree):
(WebCore::HTMLDataGridColElement::removedFromTree):
* html/HTMLDataGridColElement.h:
(WebCore::HTMLDataGridColElement::dataGrid):
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::HTMLDataGridElement):
(WebCore::HTMLDataGridElement::~HTMLDataGridElement):
* rendering/RenderDataGrid.cpp:
(WebCore::RenderDataGrid::styleDidChange):
(WebCore::RenderDataGrid::recalcStyleForColumns):
(WebCore::RenderDataGrid::recalcStyleForColumn):
(WebCore::RenderDataGrid::styleForColumn):
(WebCore::RenderDataGrid::layout):
(WebCore::RenderDataGrid::layoutColumns):
(WebCore::RenderDataGrid::paintColumnHeaders):
(WebCore::RenderDataGrid::paintColumnHeader):
* rendering/RenderDataGrid.h:
(WebCore::RenderDataGrid::renderName):
(WebCore::RenderDataGrid::canHaveChildren):
2009-07-01 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=26807
Fixes this address by checking whether frame->document()->decoder() is null.
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::findInRequest):
2009-07-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by George Staikos.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
Correctly reset history length to '0', not '1'. Old relict from early WML days.
Add some new WML testcases covering the use of history length (by onenterforward event handling)
Tests: wml/onenterforward-event.html
wml/onenterforward-inline-event.html
wml/ontimer-event.html
* wml/WMLPageState.cpp:
(WebCore::WMLPageState::reset):
2009-07-01 David Hyatt <hyatt@apple.com>
Reviewed by Simon Fraser.
Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
Added new test in fast/dom/HTMLDataGridElement.
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::parseMappedAttribute):
* html/HTMLDataGridColElement.h:
2009-07-01 David Hyatt <hyatt@apple.com>
Reviewed by Tim Hatcher.
<rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
even though the field is not actually focused for keyboard input
Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the
focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
actually happen to have focus at that time.
* WebCore.base.exp:
* page/FocusController.cpp:
(WebCore::FocusController::FocusController):
(WebCore::FocusController::setFocusedFrame):
(WebCore::FocusController::setFocused):
(WebCore::FocusController::setActive):
* page/FocusController.h:
(WebCore::FocusController::isFocused):
2009-07-01 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Simon Hausmann.
[Qt] Move some API headers from WebCore.pro to headers.pri so that they
get installed when running make install from the build directory.
* WebCore.pro:
2009-07-01 Simon Hausmann <simon.hausmann@nokia.com>
Rubber-stamped by Ariya Hidayat.
Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
qrc file with new png files from the web inspector.
* inspector/front-end/WebKit.qrc:
2009-06-30 Mark Rowe <mrowe@apple.com>
Land some code that has a hope of compiling.
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::imageSourceOptions):
2009-06-30 Stephanie Lewis <slewis@apple.com>
Reviewed by Simon Fraser.
Flip back on block caching. Throwing away block data, while
a perceived memory win, is a performance hit in cases where we
are repainting large images (i.e. backgrounds) frequently
(i.e. a flash video playing on top).
<rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are
decoded on drawing, slowing down painting of sites that frequently
repaint e.g. because of Flash (pandora.com, Starcraft 2)
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::imageSourceOptions):
2009-06-30 Maciej Stachowiak <mjs@apple.com>
Reviewed by Sam Weinig.
- Rename html4.css to html.css, since we target HTML5 now
https://bugs.webkit.org/show_bug.cgi?id=26873
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.cpp:
(WebCore::loadFullDefaultStyle):
* css/html.css: Copied from css/html4.css.
* css/html4.css: Removed.
* css/themeWin.css:
* platform/Theme.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::adjustMenuListButtonStyle):
* rendering/RenderTheme.h:
2009-06-30 Zan Dobersek <zandobersek@gmail.com>
Reviewed by Gustavo Noronha.
[GTK] Drag and drop support
https://bugs.webkit.org/show_bug.cgi?id=23642
Define DragImageRef as GdkPixbuf and implement essential
functions which manipulate drag images.
* platform/DragImage.h:
* platform/gtk/DragImageGtk.cpp:
(WebCore::dragImageSize):
(WebCore::deleteDragImage):
(WebCore::scaleDragImage):
(WebCore::createDragImageFromImage):
2009-06-30 Maxime Simon <simon.maxime@gmail.com>
Reviewed by Eric Seidel.
StorageNamespace.cpp build issue
https://bugs.webkit.org/show_bug.cgi?id=26859
Moved #endif //ENABLE(DOM_STORAGE) position
so that the build doesn't fail.
The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
but closed after the #endif.
* storage/StorageNamespace.cpp:
2009-06-30 Eric Carlson <eric.carlson@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in
buffered time ranges
* html/HTMLMediaElement.cpp:
Don't ASSERT if the network state goes to Idle when when the ready state is
HaveEnoughData or higher, it is perfectly legal.
(WebCore::HTMLMediaElement::setReadyState):
Don't clear m_seeking after posting a 'seeking' event.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::seek):
Do nothing when asked to seek to the same time we are already seeking to. Check requested
seek time against maxTimeSeekable, not maxTimeLoaded.
(WebCore::MediaPlayerPrivate::doSeek):
Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
(WebCore::MediaPlayerPrivate::seekTimerFired):
Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
(WebCore::MediaPlayerPrivate::updateStates):
A streaming movie has as much data as it needs once it reaches "playable", so
set the ready state to HaveFutureData. A movie with metadata doesn't drop back
to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
(WebCore::MediaPlayerPrivate::timeChanged):
It may not be possible to seek to a specific time in a streamed movie but when seeking
in a streaming movie QuickTime sets the time to closest time possible and posts a
timechanged notification, so update m_seekTo so we can detect when the seek completes.
2009-06-30 Steve Falkenburg <sfalken@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=26860
Reviewed by Sam Weinig.
Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
Earlier versions cause corruption crashes.
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::isPluginBlacklisted):
2009-06-30 Dean Jackson <dino@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
Fix drawImage of video in CanvasRenderingContext2D when
accelerated compositing is enabled. This is done by
adding a new paint method to HTMLVideoElement that
is only called from canvas, which will create the software
renderer if necessary, but otherwise calls the regular
paint method. Meanwhile, add logic to the software video
renderer so that it can be created without calling repaint
every time it sees a new frame.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::paintCurrentFrameInContext):
* html/HTMLVideoElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::paintCurrentFrameInContext):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovie):
(WebCore::MediaPlayerPrivate::createQTVideoRenderer):
(WebCore::MediaPlayerPrivate::currentRenderingMode):
(WebCore::MediaPlayerPrivate::setUpVideoRendering):
(WebCore::MediaPlayerPrivate::tearDownVideoRendering):
(WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
2009-06-30 David Hyatt <hyatt@apple.com>
Reviewed by Beth Dakin.
https://bugs.webkit.org/show_bug.cgi?id=26858
Get <dcol> elements reflected into the datagrid's column list. Make sure columns get added/removed
properly. (Attribute changes are still not caught. That is coming in a separate patch.)
Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
* html/DataGridColumn.h:
(WebCore::DataGridColumn::create):
(WebCore::DataGridColumn::setColumnList):
(WebCore::DataGridColumn::DataGridColumn):
* html/DataGridColumnList.cpp:
(WebCore::DataGridColumnList::add):
(WebCore::DataGridColumnList::remove):
(WebCore::DataGridColumnList::clear):
* html/DataGridColumnList.h:
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
(WebCore::HTMLDataGridColElement::findDatagridAncestor):
(WebCore::HTMLDataGridColElement::ensureColumn):
(WebCore::HTMLDataGridColElement::insertedIntoTree):
(WebCore::HTMLDataGridColElement::removedFromTree):
(WebCore::HTMLDataGridColElement::sortable):
(WebCore::HTMLDataGridColElement::setSortable):
* html/HTMLDataGridColElement.h:
(WebCore::HTMLDataGridColElement::column):
(WebCore::HTMLDataGridColElement::setColumn):
(WebCore::HTMLDataGridColElement::datagrid):
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::setDataSource):
(WebCore::HTMLDataGridElement::dataSource):
2009-06-30 Jeremy Orlow (jorlow@chromium.org)
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=26852
Fix some minor build issues in the v8 bindings.
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
(WebCore::storageGetter):
(WebCore::storageSetter):
(WebCore::storageDeleter):
* storage/StorageArea.cpp:
2009-06-30 Adam Langley <agl@google.com>
Reviewed by Eric Seidel.
Chromium Linux: use different fonts for each script run.
https://bugs.webkit.org/show_bug.cgi?id=26853
Previously, when rendering complex text, we picked a single font which
could render all the glyphs needed for the run. However, this meant
that sometimes lines were rendered with, for example, [LATIN, THAI,
LATIN] and we could end up with a different font for the Latin parts
than for lines without Thai in them.
With this patch, we pick a font for each script run.
This change is covered by existing layout tests.
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::drawGlyphs):
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::~TextRunWalker):
(WebCore::TextRunWalker::nextScriptRun):
(WebCore::TextRunWalker::fontPlatformDataForScriptRun):
(WebCore::TextRunWalker::setupFontForScriptRun):
(WebCore::TextRunWalker::allocHarfbuzzFont):
(WebCore::setupForTextPainting):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/chromium/FontPlatformDataLinux.cpp:
(WebCore::FontPlatformData::setupPaint):
2009-06-30 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt, Dan Bernstein.
<rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
There are two parts to this fix. First, if a compositing layer has overflow clipping
or a mask, then the compositing layer does not need to be sized to encompass all
non-composited children.
Second, when scrolling, we have to back up to the compositing ancestor and have
it reposition descendant compositing layers, because overflow doesn't follow
the z-order tree.
Test: compositing/overflow/overflow-scroll.html
* page/FrameView.cpp:
(WebCore::FrameView::layout):
Pass the UpdateCompositingLayers flag when updating layers after layout, so that
we can reposition compositing layers if we're not about to do a layer rebuild.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
Only update compositing layers if the flag is set.
(WebCore::RenderLayer::scrollToOffset):
Do compositing layer updates from the compositing ancestor in one fell swoop.
* rendering/RenderLayer.h:
Replace the unused FullUpdate flag with one that allows us to specify whether
compositing layers should be updated.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterLayout):
* rendering/RenderLayerBacking.h:
New param that we can pass to updateCompositingDescendantGeometry to control
whether the update goes deep.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
We can return earlier if this is not a self-painting layer.
If the layer has overflow clip or a mask, then the composited bounds are just the
local bounds, excluding descendants.
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
* rendering/RenderLayerCompositor.h:
Renamed from updateCompositingChildrenGeometry, and added a flag that allows
us to do a deep update.
2009-06-30 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=26764
Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
Test: fast/parser/empty-text-resource.html
* loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
hasn't been created yet.
2009-06-30 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adam Roben.
Renamed scrollbarUnderPoint to scrollbarAtPoint.
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollbarAtPoint):
* platform/ScrollView.h:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::handleMouseDownEvent):
(WebCore::PopupListBox::handleMouseMoveEvent):
2009-06-30 Oliver Hunt <oliver@apple.com>
Reviewed by Geoff Garen.
<rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62
<select> elements and other elements the produce popups can keep their popups
live across a page load. If this occurs and the <select> element has an
onchange handler it is possible to get into a state where we try to execute
JS on a page that no longer has an execution context.
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::parseCode):
Be paranoid and add a null check, but assert as well because we shouldn't
actually get to this point.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::valueChanged):
2009-06-30 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
<https://bugs.webkit.org/show_bug.cgi?id=25435>
Added support for sending MessagePorts to/from Workers via postMessage().
* bindings/js/JSWorkerContextCustom.cpp:
(WebCore::JSWorkerContext::messageChannel):
Exposes MessageChannel constructor WorkerContext.
* bindings/js/JSWorkerCustom.cpp:
* bindings/v8/custom/V8MessageChannelConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
Now correctly handles being instantiated from within a Worker.
* platform/CrossThreadCopier.h:
(WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
Added support for passing PassOwnPtr as argument to GenericWorkerTask
* workers/GenericWorkerTask.h:
(WebCore::):
* workers/Worker.cpp:
(WebCore::Worker::postMessage):
Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
(WebCore::Worker::dispatchMessage):
* workers/Worker.h:
* workers/Worker.idl:
Added an optional MessagePort argument to postMessage()
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::hasPendingActivity):
Workers now report pending activity whenever there are remotely entangled ports.
(WebCore::WorkerContext::postMessage):
Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
(WebCore::WorkerContext::dispatchMessage):
* workers/WorkerContext.h:
* workers/WorkerContext.idl:
Added an optional MessagePort argument to postMessage()
* workers/WorkerContextProxy.h:
* workers/WorkerMessagingProxy.cpp:
Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
(WebCore::MessageWorkerContextTask::create):
(WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
(WebCore::MessageWorkerContextTask::performTask):
(WebCore::MessageWorkerTask::create):
(WebCore::MessageWorkerTask::MessageWorkerTask):
(WebCore::MessageWorkerTask::performTask):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
* workers/WorkerMessagingProxy.h:
Added additional postMessage() API that accepts a MessagePort
* workers/WorkerObjectProxy.h:
Added additional postMessage() API that accepts a MessagePort
2009-06-30 Adam Langley <agl@google.com>
Reviewed by Eric Seidel.
Chromium: Add complex text support on Linux.
https://bugs.webkit.org/show_bug.cgi?id=25068
This patch adds complex text support on Linux using Harfbuzz. It's not
the fastest code possible: some caching of font tables will certainly
be required. However, it's probably the simplest code that works.
This will require checking in new baselines in the Chromium tree for
those layout tests which now pass.
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::drawGlyphs):
(WebCore::truncateFixedPointToInteger):
(WebCore::TextRunWalker::TextRunWalker):
(WebCore::TextRunWalker::~TextRunWalker):
(WebCore::TextRunWalker::reset):
(WebCore::TextRunWalker::setXOffsetToZero):
(WebCore::TextRunWalker::rtl):
(WebCore::TextRunWalker::setBackwardsIteration):
(WebCore::TextRunWalker::nextScriptRun):
(WebCore::TextRunWalker::glyphs):
(WebCore::TextRunWalker::length):
(WebCore::TextRunWalker::xPositions):
(WebCore::TextRunWalker::advances):
(WebCore::TextRunWalker::width):
(WebCore::TextRunWalker::logClusters):
(WebCore::TextRunWalker::numCodePoints):
(WebCore::TextRunWalker::widthOfFullRun):
(WebCore::TextRunWalker::allocHarfbuzzFont):
(WebCore::TextRunWalker::deleteGlyphArrays):
(WebCore::TextRunWalker::createGlyphArrays):
(WebCore::TextRunWalker::expandGlyphArrays):
(WebCore::TextRunWalker::shapeGlyphs):
(WebCore::TextRunWalker::setGlyphXPositions):
(WebCore::setupForTextPainting):
(WebCore::fontPlatformDataForTextRun):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::glyphIndexForXPositionInScriptRun):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
(WebCore::SkiaScalarToHarfbuzzFixed):
(WebCore::stringToGlyphs):
(WebCore::glyphsToAdvances):
(WebCore::canRender):
(WebCore::getOutlinePoint):
(WebCore::getGlyphMetrics):
(WebCore::getFontMetric):
(WebCore::harfbuzzSkiaGetTable):
2009-06-30 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::updateStates):
Always fall back to a plug-in if m_hasUnsupportedTracks is set.
(WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
Set m_hasUnsupportedTracks if we disable a track.
2009-06-30 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
https://bugs.webkit.org/show_bug.cgi?id=26820
* bindings/v8/V8Proxy.cpp:
(WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
2009-06-30 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
to Grid" window is clipping
Added an app-specific quirk to revert the behavior of <link> elements
to the way it was before r30673, namely that if the rel attribute
is not "stylesheet" but the type attribute contains "text/css", the
link behaves as a stylesheet link.
* WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process): Check
Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
style sheet link if the type contains "text/css".
* page/Settings.cpp:
(WebCore::Settings::Settings):
Initialize m_treatsAnyTextCSSLinkAsStylesheet.
(WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
* page/Settings.h:
(WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
2009-06-30 Adrien Nader <camaradetux@gmail.com>
Reviewed by Xan Lopez.
Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
* GNUmakefile.am:
2009-06-30 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Xan Lopez.
[Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
* GNUmakefile.am:
2009-06-30 Raju Kunnath <raju.kunnath@nokia.com>
Reviewed by Simon Hausmann.
<https://bugs.webkit.org/show_bug.cgi?id=26752>
[Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008.
* WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
2009-06-30 Xan Lopez <xlopez@igalia.com>
Reviewed by Jan Alonzo.
Initialize member variables in the right order. Fixes compiler
warning.
* platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::BMPImageReader):
2009-06-29 Xan Lopez <xlopez@igalia.com>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=26831
Fix compiler warning in WorkerLoaderProxy.h
Forward declaration of a class within a class is not allowed,
since the compiler can't know if the declaration is legal at that
point. This gives the following compiler warning:
../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
"class WebCore::ScriptExecutionContext::Task" does not declare
anything
Include the full ScriptExecutionHeader header instead.
* workers/WorkerLoaderProxy.h:
2009-06-29 Xan Lopez <xlopez@igalia.com>
Reviewed by Jan Alonzo.
Remove unused function.
* plugins/gtk/PluginPackageGtk.cpp:
2009-06-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
boolean arguments. FullUpdate is unused at present, but will be used soon.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::scrollToOffset):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::):
2009-06-29 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Fix one more bad merge in V8Proxy.
https://bugs.webkit.org/show_bug.cgi?id=26819
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
2009-06-29 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Remove more unused scons support.
* SConstruct: Removed.
2009-06-29 Sam Weinig <sam@webkit.org>
Reviewed by Dave Hyatt.
Fix some incorrect create functions.
* html/DataGridColumn.h:
(WebCore::DataGridColumn::create):
* html/DataGridColumnList.h:
(WebCore::DataGridColumnList::create):
2009-06-29 Sam Weinig <sam@webkit.org>
Reviewed by Dave Hyatt.
Remove initialize method from DataGridDataSource and add
DOMDataGridDataSource.
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/JSDataGridDataSource.cpp:
* bindings/js/JSDataGridDataSource.h:
* bindings/js/JSHTMLDataGridElementCustom.cpp:
(WebCore::JSHTMLDataGridElement::setDataSource):
* html/DOMDataGridDataSource.cpp: Added.
(WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
(WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
* html/DOMDataGridDataSource.h: Added.
(WebCore::DOMDataGridDataSource::create):
(WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
(WebCore::asDOMDataGridDataSource):
* html/DataGridDataSource.h:
(WebCore::DataGridDataSource::isDOMDataGridDataSource):
(WebCore::DataGridDataSource::isJSDataGridDataSource):
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::HTMLDataGridElement):
(WebCore::HTMLDataGridElement::setDataSource):
(WebCore::HTMLDataGridElement::dataSource):
* html/HTMLDataGridElement.h:
2009-06-29 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Fix a couple of bad merge items from my previous V8Proxy patch.
https://bugs.webkit.org/show_bug.cgi?id=26813
* bindings/v8/V8Collection.h:
(WebCore::nodeCollectionNamedPropertyGetter): Fix a bad function name that slipped through.
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException): Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
2009-06-29 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser <simon.fraser@apple.com>.
https://bugs.webkit.org/show_bug.cgi?id=26706
Fixed crash due to dereference of m_toStyle
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::isTargetPropertyEqual):
2009-06-29 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
* WebCore.base.exp:
Export _wkQTMovieGetType
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::hasSingleSecurityOrigin):
Move to keep with other non-callback functions.
(WebCore::MediaPlayer::movieLoadType):
New, returns the movie type.
* platform/graphics/MediaPlayer.h:
Declare MovieLoadType enum and movieLoadType method.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::movieLoadType):
Default implementation of movieLoadType
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovie):
Don't base m_isStreaming on protocol, there are other types of streaming movies.
(WebCore::MediaPlayerPrivate::maxTimeBuffered):
Don't assume all streams are unbuffered.
(WebCore::MediaPlayerPrivate::updateStates):
Update m_isStreaming once we have metadata.
(WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
(WebCore::MediaPlayerPrivate::movieLoadType):
New, return movie type.
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
Add wkQTMovieGetType.
2009-06-29 Alice Liu <alice.liu@apple.com>
Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
Reviewed by Anders Carlsson.
No test added because the crash requires a flash plugin
* plugins/win/PluginMessageThrottlerWin.cpp:
Rely on the hWnd of the plugin to tell us whether the PluginView has
been deleted during execution of its wndProc.
(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
2009-06-29 Dmitry Titov <dimich@chromium.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=26811
[Chromium] Remove a flag and functions used to enable workers in runtime.
* bindings/v8/WorkerContextExecutionProxy.cpp:
* bindings/v8/WorkerContextExecutionProxy.h:
2009-06-29 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
<rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
Improve the appearance of text in compositing layers by making use of
CA's layer geometry flipping, rather that doing it ourselves with a flip
transform. This allows CG to use font autohinting in the layer text.
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setGeometryOrientation):
(WebCore::GraphicsLayer::geometryOrientation):
New methods to set whether this layer uses flipped geometry.
* platform/graphics/mac/GraphicsLayerCA.h:
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::setGeometryOrientation):
(WebCore::GraphicsLayerCA::geometryOrientation):
Subclass in order to call into CA
(WebCore::GraphicsLayerCA::setContentsLayer):
Now that CA is doing the geometry flipping, we no longer need to flip the content
layers for image and video manually
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
Turn on flipping on the root layer.
2009-06-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by Adam Treat.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
Implement most WML specific <select> element features.
Add 'iname' / 'ivalue' support and support variable references.
Add two tests covering most select/variable related functionality.
Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
Tests: http/tests/wml/post-data-to-server.html
wml/select-element-variables.html
* dom/SelectElement.cpp:
(WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
* dom/SelectElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
* wml/WMLCardElement.cpp:
(WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
* wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
(WebCore::WMLSelectElement::title):
(WebCore::WMLSelectElement::formControlName):
(WebCore::WMLSelectElement::defaultEventHandler):
(WebCore::WMLSelectElement::selectInitialOptions):
(WebCore::WMLSelectElement::calculateDefaultOptionIndices):
(WebCore::WMLSelectElement::selectDefaultOptions):
(WebCore::WMLSelectElement::initializeVariables):
(WebCore::WMLSelectElement::updateVariables):
(WebCore::WMLSelectElement::parseIndexValueString):
(WebCore::WMLSelectElement::valueStringToOptionIndices):
(WebCore::WMLSelectElement::optionIndicesToValueString):
(WebCore::WMLSelectElement::optionIndicesToString):
(WebCore::WMLSelectElement::name):
(WebCore::WMLSelectElement::value):
(WebCore::WMLSelectElement::iname):
(WebCore::WMLSelectElement::ivalue):
* wml/WMLSelectElement.h:
2009-06-29 David Hyatt <hyatt@apple.com>
Reviewed by Adam Roben.
Put <datagrid> behind an ifdef.
* Configurations/FeatureDefines.xcconfig:
* bindings/js/JSDataGridColumnListCustom.cpp:
* bindings/js/JSDataGridDataSource.cpp:
* bindings/js/JSDataGridDataSource.h:
* bindings/js/JSHTMLDataGridElementCustom.cpp:
* html/DataGridColumn.cpp:
* html/DataGridColumn.h:
* html/DataGridColumn.idl:
* html/DataGridColumnList.cpp:
* html/DataGridColumnList.h:
* html/DataGridColumnList.idl:
* html/DataGridDataSource.h:
* html/HTMLDataGridCellElement.cpp:
* html/HTMLDataGridCellElement.h:
* html/HTMLDataGridCellElement.idl:
* html/HTMLDataGridColElement.cpp:
* html/HTMLDataGridColElement.h:
* html/HTMLDataGridColElement.idl:
* html/HTMLDataGridElement.cpp:
* html/HTMLDataGridElement.h:
* html/HTMLDataGridElement.idl:
* html/HTMLDataGridRowElement.cpp:
* html/HTMLDataGridRowElement.h:
* html/HTMLDataGridRowElement.idl:
* html/HTMLTagNames.in:
* page/DOMWindow.idl:
* rendering/RenderDataGrid.cpp:
* rendering/RenderDataGrid.h:
2009-06-29 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Ariya Hidayat and Adam Roben.
Fix compilation with MINGW. Ported MSVC inline assembly to
GNU inline assembly. Also fixed casting errors where gcc
refused to cast a pointer-to-function to a pointer-to-object,
without an intermediate cast to a non-pointer type.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::hookedBeginPaint):
(WebCore::PluginView::hookedEndPaint):
(WebCore::hook):
(WebCore::setUpOffscreenPaintingHooks):
2009-06-26 John Sullivan <sullivan@apple.com>
Added Speech submenu to context menu on Mac when there's a non-editable selection
(it was already present when there's an editable selection).
Also added support for disabling "Stop Speaking" when there is no speaking to stop.
Reviewed by Tim Hatcher.
* loader/EmptyClients.h:
(WebCore::EmptyContextMenuClient::isSpeaking):
implemented this new virtual function to return false
* page/ContextMenuClient.h:
declared this new pure virtual function
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
insert Speech item (after a separator) on Mac when there's selected non-editable text
(WebCore::ContextMenu::checkOrEnableIfNeeded):
enable Stop Speaking item only if the context menu client returns true for isSpeaking()
2009-06-28 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
- fix https://bugs.webkit.org/show_bug.cgi?id=26783
<rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
in MobileMe iDisk Web App
Test: added a case to fast/dom/Element/scrollWidth.html
Ensure that scroll{Width, Height} is greater or equal to
client{Width, Height}.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):
2009-06-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26780
Do not make compositing layers for non-self-painting RenderLayers,
since these exist only to push a clip onto the clipping stack. If such
a layer gets compositied for some other reason, it should not paint.
Also ensure that we update composited layer positions correctly
inside overflow:scroll layers. We can't assume that the contents
are child layers, so we have to go up to the compositing ancestor,
and tell it to update all its child layer positions as we do
after layout.
Tests: compositing/layers-inside-overflow-scroll.html
compositing/self-painting-layers.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollToOffset):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
(WebCore::RenderLayerCompositor::needsToBeComposited):
2009-06-28 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
Reviewed by Eric Seidel.
PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
https://bugs.webkit.org/show_bug.cgi?id=23057
Define these functions for Gtk as well.
* platform/PurgeableBuffer.h:
2009-06-28 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Update CodeGeneratorV8.pm to match the new api for V8Proxy.
https://bugs.webkit.org/show_bug.cgi?id=26765
* bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.
2009-06-28 Nicolas Sylvain <nsylvain@chromium.org>
Reviewed by Dimitri Glazkov.
If loading a font fails because of the sandbox, we ask the browser process to
try to load it by calling ensureFontLoaded. If it still fails after
ensureFontLoaded, we hit a ASSERT_NOT_REACHED.
This case happens once in a while during browser shutdown. The browser will
queue a message to the renderer to shutdown, and will then stop answering sync
messages from the renderer. If the renderer is still loading a page during this
time, it might try to call the browser process to ask to load a font. The
browser process will ignore the request, and the font will fail to load, even
after the second try.
This is unfortunate, but there is no real risk here, since the renderer will be
going away as soon as it processes another message.
This can't be layout tested as it depends on the sandbox.
https://bugs.webkit.org/show_bug.cgi?id=26743
* platform/graphics/chromium/FontChromiumWin.cpp:
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
* platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2009-06-28 John Abd-El-Malek <jam@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=15457
Test: plugins/netscape-plugin-map-data-to-src.html
Fix problems with Real or WMP plugins not displaying because "data" was set
on the OBJECT tag instead of "src". This is based on what Firefox does, see
http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045
* rendering/RenderPartObject.cpp:
(WebCore::mapDataParamToSrc):
(WebCore::RenderPartObject::updateWidget):
2009-06-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Jan Alonzo.
[Qt] Build fix after r45290
https://bugs.webkit.org/show_bug.cgi?id=26769
* WebCore.pro:
2009-06-27 Emilio Pozuelo Monfort <pochu27@gmail.com>
Reviewed by Jan Alonzo.
[GTK] Don't use deprecated GTK+ symbols.
https://bugs.webkit.org/show_bug.cgi?id=26583
* plugins/gtk/gtk2xtbin.c:
(gtk_xtbin_class_init):
(gtk_xtbin_new):
(gtk_xtbin_destroy):
2009-06-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=26780
Fix up previous change. When computeCompositingRequirements() determines
that the current layer is composited, it needs to inform its parent
by setting compositingState.m_subtreeIsCompositing() to true. That didn't
always happen after the previous patch. Clarified the logic here.
* rendering/RenderLayerCompositor.cpp:
(WebCore::CompositingState::CompositingState):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
2009-06-27 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=26780
First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
correctly.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
Do not unconditionally set compositingState.m_subtreeIsCompositing, because
that can clobber the value from an earlier sibling. Add some more comments.
Remove a final use of Vector iterators.
(WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
Move the normalFlowList() processing outside the test for isStackingContext().
2009-06-27 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser and Antti Koivisto.
- make paintFillLayerExtended() non-virtual and remove its clipY and
clipH parameters
These parameters were computed and passed along to
paintFillLayerExtended in order to vertically constrain the rect fill to
the damage rect, because Qt cannot paint tall rectangles (see
<http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
is passed along in the PaintInfo, the extra parameters are redundant,
and the intersection can just take place in paintFillLayerExtended().
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintFillLayers):
(WebCore::InlineFlowBox::paintFillLayer):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):
* rendering/InlineFlowBox.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxDecorations):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMask):
(WebCore::RenderBox::paintMaskImages):
(WebCore::RenderBox::paintFillLayers):
(WebCore::RenderBox::paintFillLayer):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
(WebCore::RenderFieldset::paintMask):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paintBoxDecorations):
(WebCore::RenderTable::paintMask):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
(WebCore::RenderTableCell::paintMask):
2009-06-27 Ryosuke Niwa <rniwa@google.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26762
Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
https://bugs.webkit.org/show_bug.cgi?id=21712
Added few utility functions to htmlediting.h/cpp
isVisibilyAdjacent checks whether the first position is visibly next to the second position.
i.e. there is no visible node between the first and second positions
canMergeLists checks whether two lists can be merged.
It checks the type of list, the editing boundary, and adjacency of the lists.
Tests: editing/execCommand/indent-nested-lists-1.html
editing/execCommand/indent-nested-lists-2.html
editing/execCommand/indent-nested-lists-3.html
editing/execCommand/indent-nested-lists-4.html
editing/execCommand/indent-nested-lists-5.html
editing/execCommand/indent-nested-lists-6.html
editing/execCommand/indent-nested-lists-7.html
editing/execCommand/outdent-nested-lists-1.html
editing/execCommand/outdent-nested-lists-2.html
editing/execCommand/outdent-nested-lists-3.html
editing/execCommand/outdent-nested-lists-4.html
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
(WebCore::IndentOutdentCommand::tryIndentingAsListItem):
(WebCore::IndentOutdentCommand::indentIntoBlockquote):
(WebCore::IndentOutdentCommand::indentRegion):
* editing/IndentOutdentCommand.h:
* editing/htmlediting.cpp:
(WebCore::enclosingListChild):
(WebCore::canMergeLists):
(WebCore::isVisibilyAdjacent):
* editing/htmlediting.h:
2009-06-27 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Timothy Hatcher.
WebInspector: Fix completion when iterating options using Tab.
https://bugs.webkit.org/show_bug.cgi?id=26722
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._completionsReady):
2009-06-27 Gustavo Noronha Silva <gns@gnome.org>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=25889
[GTK] scrollbar policy for main frame is not implementable
Override visibleContentRect to handle GTK+'s case, in which
scrollbars or equivalent decoration are painted by the parent
widget.
* platform/ScrollView.cpp:
* platform/gtk/ScrollViewGtk.cpp:
(WebCore::ScrollView::visibleContentRect):
2009-06-27 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=26708
Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
and UTF-7 encoded payloads.
Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
http/tests/security/xssAuditor/iframe-javascript-url.html
http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
(WebCore::HTMLTokenizer::parseTag):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
as to compare against iFrame javascript URL.
* page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
isControlCharacter in ResourceResponseBase.cpp.
(WebCore::XSSAuditor::XSSAuditor):
(WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
(WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
of iFrame javascript URL.
* page/XSSAuditor.h: Added field m_parentFrame.
* platform/network/ResourceResponseBase.cpp:
(WebCore::isControlCharacter):
* platform/network/ResourceResponseBase.h:
2009-06-27 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej Stachowiak.
Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements
The drawImage(<video>) logic naively assumes that it just needs
to check the src attribute of the video element when in fact it
needs to look at the url that is being played instead. Failure
to do this means that video provided through source elements
taints the canvas.
Test: media/video-canvas-source.html
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::checkOrigin):
(WebCore::CanvasRenderingContext2D::drawImage):
* html/CanvasRenderingContext2D.h:
2009-06-26 Brian Weinstein <bweinstein@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=26695
Added the ability to do scrollbar hit testing in EventHandler, changed the
signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
to scrollbarUnderPoint, and updated all calls to that function.
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
* page/EventHandler.h:
(WebCore::):
* platform/PlatformWheelEvent.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollbarUnderPoint):
* platform/ScrollView.h:
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::handleMouseDownEvent):
(WebCore::PopupListBox::handleMouseMoveEvent):
* platform/win/WheelEventWin.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
2009-06-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
Don't go into compositing mode just for opacity transitions, but they will be
hardware acclerated if we're already compositing.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::requiresCompositingForTransform):
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
* rendering/RenderLayerCompositor.h:
2009-06-26 Simon Fraser <simon.fraser@apple.com>
Rubber-stamped by Dave Levin
Rename ioCompState to compositingState to better match WebCore coding style.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2009-06-26 Dan Bernstein <mitz@apple.com>
Reviewed by Mark Rowe.
- revert unintentional project changes from r45277
* WebCore.xcodeproj/project.pbxproj:
2009-06-26 Mark Rowe <mrowe@apple.com>
Fix the Windows build.
* WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
the file was deleted from SVN.
2009-06-26 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=26766
Change to use array indexing rather than Vector enumerators; the former
are preferred style.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::hasNonCompositingContent):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
(WebCore::RenderLayerCompositor::layerHas3DContent):
2009-06-26 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
as 1 px
Test: fast/dom/Element/scrollWidth.html
Changed scrollWidth and scrollHeight to use the same logic for
visible overflow boxes that is used for clipped overflow boxes. In
particular, borders are not included and
{leftmost,rightmost,lowest}Position() are used. This logic matches IE8.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):
2009-06-26 Chris Fleizach <cfleizach@apple.com>
Reviewed by Oliver Hunt.
Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
https://bugs.webkit.org/show_bug.cgi?id=26725
Tests: accessibility/aria-disabled.html
accessibility/aria-hidden.html
accessibility/aria-readonly.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::ariaIsHidden):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::isEnabled):
(WebCore::AccessibilityRenderObject::canSetValueAttribute):
* accessibility/AccessibilityRenderObject.h:
* html/HTMLAttributeNames.in:
2009-06-26 Brett Wilson <brettw@chromium.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=26759
GIFImageDecoder is broken.
Make the GIFImageDecoder.repetitionCount function const to match the
base class. The mismatched definitions were causing the function to not
get called.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::repetitionCount):
* platform/image-decoders/gif/GIFImageDecoder.h:
2009-06-26 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser <simon.fraser@apple.com>.
Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
The flag should always default to true to avoid it getting set
to false in a build with accelerated compositing turned off
and then disabling accelerated compositing when subsequently
running a build with it turned on.
* page/Settings.cpp:
(WebCore::Settings::Settings):
2009-06-26 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig.
Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!
* platform/network/mac/ResourceHandleMac.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
* platform/network/mac/WebCoreURLResponse.h:
2009-06-26 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=26732
For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
combine LocalStorage and SessionStorage into StorageNamespace. The
synching code (for LocalStorage) has already been removed, so these
classes are now very similar. All they do is essentially contain a
logical grouping of origins that are attached to specific contexts
(be it PageGroups for LocalStorage and Page for SessionStorage).
* GNUmakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* page/Chrome.cpp:
(WebCore::Chrome::createWindow):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::localStorage):
* page/DOMWindow.h:
* page/Page.cpp:
(WebCore::Page::sessionStorage):
(WebCore::Page::setSessionStorage):
* page/Page.h:
* page/PageGroup.cpp:
(WebCore::PageGroup::localStorage):
* page/PageGroup.h:
* storage/LocalStorage.cpp: Removed.
* storage/LocalStorage.h: Removed.
* storage/LocalStorageTask.cpp:
* storage/LocalStorageThread.cpp:
* storage/SessionStorage.cpp: Removed.
* storage/SessionStorage.h: Removed.
* storage/StorageArea.cpp:
(WebCore::StorageArea::create):
(WebCore::StorageArea::StorageArea):
(WebCore::StorageArea::copy):
(WebCore::StorageArea::length):
(WebCore::StorageArea::key):
(WebCore::StorageArea::getItem):
(WebCore::StorageArea::setItem):
(WebCore::StorageArea::removeItem):
(WebCore::StorageArea::clear):
(WebCore::StorageArea::contains):
(WebCore::StorageArea::importItem):
(WebCore::StorageArea::close):
(WebCore::StorageArea::dispatchStorageEvent):
* storage/StorageArea.h:
(WebCore::):
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::scheduleFinalSync):
* storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
(WebCore::localStorageNamespaceMap):
(WebCore::StorageNamespace::localStorageNamespace):
(WebCore::StorageNamespace::sessionStorageNamespace):
(WebCore::StorageNamespace::StorageNamespace):
(WebCore::StorageNamespace::~StorageNamespace):
(WebCore::StorageNamespace::copy):
(WebCore::StorageNamespace::storageArea):
(WebCore::StorageNamespace::close):
* storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
2009-06-26 Nate Chapin <japhet@chromium.org>
Reviewed by David Levin.
Upstream V8Proxy. This involved updating a lot of function and variable names to match WebKit style, hence the large size.
https://bugs.webkit.org/show_bug.cgi?id=26623
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::~ScheduledAction):
(WebCore::ScheduledAction::execute):
* bindings/v8/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::ScriptCallStack):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::isSafeScript):
(WebCore::ScriptController::gcProtectJSWrapper):
(WebCore::ScriptController::gcUnprotectJSWrapper):
(WebCore::ScriptController::processingUserGesture):
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::setEventHandlerLineNumber):
(WebCore::ScriptController::bindToWindowObject):
(WebCore::ScriptController::collectGarbage):
(WebCore::ScriptController::haveInterpreter):
(WebCore::createScriptObject):
(WebCore::ScriptController::createScriptObjectForPluginElement):
* bindings/v8/ScriptInstance.cpp:
(WebCore::V8ScriptInstance::clear):
(WebCore::V8ScriptInstance::set):
* bindings/v8/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/v8/ScriptObjectQuarantine.cpp:
(WebCore::getQuarantinedScriptObject):
* bindings/v8/ScriptScope.cpp:
(WebCore::ScriptScope::ScriptScope):
* bindings/v8/ScriptValue.h:
(WebCore::ScriptValue::ScriptValue):
(WebCore::ScriptValue::operator=):
(WebCore::ScriptValue::clear):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::invokeEventHandler):
(WebCore::V8AbstractEventListener::handleEvent):
(WebCore::V8AbstractEventListener::disposeListenerObject):
(WebCore::V8AbstractEventListener::getReceiverObject):
* bindings/v8/V8Collection.cpp:
(WebCore::toOptionsCollectionSetter):
* bindings/v8/V8Collection.h:
(WebCore::getV8Object):
(WebCore::getNamedPropertyOfCollection):
(WebCore::nodeCollectionNamedPropertyGetter):
(WebCore::getIndexedPropertyOfCollection):
(WebCore::nodeCollectionIndexedPropertyGetter):
(WebCore::nodeCollectionIndexedPropertyEnumerator):
(WebCore::collectionIndexedPropertyEnumerator):
(WebCore::collectionStringOrNullIndexedPropertyGetter):
* bindings/v8/V8DOMMap.cpp:
(WebCore::weakDOMObjectCallback):
(WebCore::DOMData::removeObjectsFromWrapperMap):
* bindings/v8/V8Helpers.cpp:
(WebCore::wrapNPObject):
(WebCore::toV8Context):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::~V8LazyEventListener):
(WebCore::V8LazyEventListener::getListenerFunction):
(WebCore::V8LazyEventListener::callListenerFunction):
(WebCore::V8LazyEventListener::getWrappedListenerFunction):
* bindings/v8/V8NodeFilterCondition.cpp:
(WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
(WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
(WebCore::V8NodeFilterCondition::acceptNode):
* bindings/v8/V8ObjectEventListener.cpp:
(WebCore::weakObjectEventListenerCallback):
(WebCore::V8ObjectEventListener::~V8ObjectEventListener):
* bindings/v8/V8Proxy.cpp: Added.
* bindings/v8/V8Proxy.h:
(WebCore::):
(WebCore::GlobalHandleInfo::GlobalHandleInfo):
(WebCore::V8Proxy::):
(WebCore::V8Proxy::V8Proxy):
(WebCore::V8Proxy::frame):
(WebCore::V8Proxy::inlineCode):
(WebCore::V8Proxy::setInlineCode):
(WebCore::V8Proxy::timerCallback):
(WebCore::V8Proxy::setTimerCallback):
(WebCore::V8Proxy::setEventHandlerLineNumber):
(WebCore::V8Proxy::finishedWithEvent):
(WebCore::V8Proxy::wrapCPointer):
(WebCore::V8Proxy::extractCPointer):
(WebCore::V8Proxy::convertDOMWrapperToNative):
(WebCore::V8Proxy::convertDOMWrapperToNode):
(WebCore::V8Proxy::convertToV8Object):
(WebCore::V8Proxy::convertToNativeObject):
(WebCore::V8Proxy::convertToNativeEvent):
(WebCore::V8Proxy::context):
(WebCore::V8Proxy::extractCPointerImpl):
(WebCore::V8Proxy::utilityContext):
(WebCore::V8Proxy::constructDOMObject):
(WebCore::throwError):
(WebCore::toV8):
* bindings/v8/V8Utilities.h:
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::retrieve):
(WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
(WebCore::WorkerContextExecutionProxy::GetConstructor):
(WebCore::WorkerContextExecutionProxy::ToV8Object):
(WebCore::WorkerContextExecutionProxy::EventToV8Object):
(WebCore::WorkerContextExecutionProxy::toV8):
(WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
(WebCore::WorkerContextExecutionProxy::evaluate):
(WebCore::WorkerContextExecutionProxy::runScript):
* bindings/v8/custom/V8AttrCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_SETTER):
* bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
* bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
(WebCore::toV8):
(WebCore::toCanvasStyle):
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8ClientRectListCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8CustomBinding.cpp:
(WebCore::allowSettingFrameSrcToJavascriptUrl):
(WebCore::ACCESSOR_GETTER):
(WebCore::INDEXED_ACCESS_CHECK):
(WebCore::NAMED_ACCESS_CHECK):
(WebCore::V8Custom::GetTargetFrame):
* bindings/v8/custom/V8CustomEventListener.cpp:
(WebCore::V8EventListener::V8EventListener):
(WebCore::V8EventListener::~V8EventListener):
(WebCore::V8EventListener::callListenerFunction):
* bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
(WebCore::V8CustomSQLStatementCallback::handleEvent):
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
(WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
(WebCore::V8CustomSQLTransactionCallback::handleEvent):
* bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
(WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
* bindings/v8/custom/V8CustomVoidCallback.cpp:
(WebCore::V8CustomVoidCallback::handleEvent):
(WebCore::invokeCallback):
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
* bindings/v8/custom/V8DOMParserConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8Custom::WindowSetTimeoutImpl):
(WebCore::convertBase64):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_GETTER):
(WebCore::createWindow):
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::V8Custom::ClearTimeoutImpl):
(WebCore::NAMED_ACCESS_CHECK):
(WebCore::INDEXED_ACCESS_CHECK):
* bindings/v8/custom/V8DatabaseCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8ElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_SETTER):
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::ACCESSOR_SETTER):
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLCollectionCustom.cpp:
(WebCore::getNamedItems):
(WebCore::getItem):
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8HTMLFormElementCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLInputElementCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
* bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_SETTER):
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
* bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
(WebCore::INDEXED_PROPERTY_SETTER):
* bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::removeElement):
* bindings/v8/custom/V8InspectorControllerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::ACCESSOR_SETTER):
(WebCore::ACCESSOR_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::INDEXED_ACCESS_CHECK):
(WebCore::NAMED_ACCESS_CHECK):
* bindings/v8/custom/V8MessageChannelConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8MessagePortCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::INDEXED_PROPERTY_GETTER):
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8NavigatorCustom.cpp:
(WebCore::ACCESSOR_GETTER):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NodeIteratorCustom.cpp:
(WebCore::toV8):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SQLTransactionCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SVGLengthCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8SVGMatrixCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8StyleSheetListCustom.cpp:
(WebCore::NAMED_PROPERTY_GETTER):
* bindings/v8/custom/V8TreeWalkerCustom.cpp:
(WebCore::toV8):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WebKitPointConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::SetTimeoutOrInterval):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
(WebCore::getEventListener):
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::getEventListener):
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
(WebCore::ACCESSOR_GETTER):
(WebCore::ACCESSOR_SETTER):
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XMLSerializerConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8XSLTProcessorCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
2009-06-26 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim Hatcher.
<rdar://problem/7011047> Profiler shows the record button 'on' even
though it's finished
I consolidated the creation of the user initiated profile name into
its own function and then called it from console::profile instead of
calling startUserInitiatedProfiling(). This way we don't call
toggleRecordButton() which turns on the record button.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::getCurrentUserInitiatedProfileName):
(WebCore::InspectorController::startUserInitiatedProfiling):
(WebCore::InspectorController::stopUserInitiatedProfiling):
* inspector/InspectorController.h:
* page/Console.cpp:
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
2009-06-26 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26691
Cleanup: Move focusRingColor to RenderTheme.
Most of this CL involves deleting files and removing dead code.
focusRingColor() is now defined in RenderTheme rather than in
misc. places on each port. The default color is specified as
black in renderTheme and ports can override it in their own
custom renderThemes.
Behavior should be identical except for the following cases,
this lists platform and what the focus ring color used to be
before this cl and the file where it used to be defined:
Android - red
WebCore/platform/android/TemporaryLinkStubs.cpp
Cairo - aqua focus ring color - 0xFF7DADD9
WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
wx - red
WebCore/platform/wx/TemporaryLinkStubs.cpp
QT - black
WebCore/platform/graphics/qt/GraphicsContextQt.cpp
Manual test: manual-tests/focusringcolor-change-on-theme-change.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
* manual-tests/focusringcolor-change-on-theme-change.html: Added.
* platform/android/TemporaryLinkStubs.cpp:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
* platform/graphics/chromium/ColorChromium.cpp: Removed.
* platform/graphics/chromium/ColorChromiumMac.mm: Removed.
* platform/graphics/mac/ColorMac.h:
* platform/graphics/mac/ColorMac.mm:
(WebCore::oldAquaFocusRingColor):
(WebCore::setUsesTestModeFocusRingColor):
(WebCore::usesTestModeFocusRingColor):
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::drawFocusRing):
* platform/graphics/win/ColorSafari.cpp: Removed.
* platform/wx/TemporaryLinkStubs.cpp:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::focusRingColor):
* rendering/RenderTheme.h:
* rendering/RenderThemeChromiumMac.h:
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::focusRingColor):
(WebCore::RenderThemeChromiumMac::systemColor):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::focusRingColor):
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::focusRingColor):
(WebCore::RenderThemeMac::systemColor):
* rendering/RenderThemeSafari.cpp:
(WebCore::makeRGBAFromCGColor):
(WebCore::RenderThemeSafari::focusRingColor):
* rendering/RenderThemeSafari.h:
2009-06-26 Dmitry Titov <dimich@chromium.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=26761
[Chromium] Enable Dedicated Workers in Chromium.
* bindings/v8/custom/V8WorkerCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
Remove the check that prevented workers from being created w/o a command-line switch.
The flag itself and methods will be removed in a subsequent patch, after
corresponding change in Chromium.
2009-06-26 Jessie Berlin <jberlin@apple.com>
Reviewed by Mark Rowe.
Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
Where the m_mouseDown event was never being set on windows, so the
client X and Y coordinates were always being reported as zero in a
dragstart handler.
Test: editing/selection/drag-start-event-client-x-y.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
Set the m_mouseDown event when the mouse press is handled.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::mouseDown):
Removed now redundant setting of m_mouseDown.
2009-06-26 Brady Eidson <beidson@apple.com>
Tiger build fix
* WebCore.xcodeproj/project.pbxproj:
* platform/network/mac/WebCoreURLResponse.mm:
(swizzleMIMETypeMethodIfNecessary):
2009-06-26 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=26681
Problem updating applicationCache when server returns 304
Improve the fix, make the test pass on Tiger.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
current item from list.
* platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
conditional requests that cannot be cached by network layer cause errors with default cache
policy.
2009-06-26 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
<rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
didn't intend to lose. Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
knew about.
By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
type mappings that are missing in CoreType's database.
Test: platform/mac/fast/loader/file-url-mimetypes.html
* platform/network/mac/ResourceHandleMac.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
WebCoreURLResponse.
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
where we do all MIMEType correction.
* platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
implementation of MIMEType.
* platform/network/mac/WebCoreURLResponse.mm:
(createBinaryExtensionsSet):
(createExtensionToMIMETypeMap):
(swizzleMIMETypeMethodIfNecessary):
(webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the
extension -> MIME type map before turning to the default MIME type. Also roll in what was previously
implemented in _webcore_MIMEType.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.
2009-06-25 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
Show the fullscreen button only if the backend has support for it.
https://bugs.webkit.org/show_bug.cgi?id=26661
No test since this is not reachable via the DOM.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::supportsFullscreen): new
* html/HTMLVideoElement.h:
(WebCore::HTMLVideoElement::supportsFullscreen): new
* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
(WebCore::MediaPlayer::supportsFullscreen): new
* platform/graphics/MediaPlayer.h: new
* platform/graphics/MediaPlayerPrivate.h: new
(WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
* rendering/MediaControlElements.h:
2009-06-25 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/7007776> Controller doesn't automatically update counters when file
is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )
Update the time display when the movie time changes.
* rendering/RenderMedia.cpp:
(WebCore::RenderMedia::updateControls):
2009-06-25 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Simon Fraser.
https://bugs.webkit.org/show_bug.cgi?id=26659
Support hidding a control bar element from the Media element controller.
Update layout tests since the fullscreen button no longer has a renderer.
* rendering/MediaControlElements.cpp:
(WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
is updated properly.
(WebCore::MediaControlInputElement::MediaControlInputElement):
(WebCore::MediaControlInputElement::update): call updateStyle()
(WebCore::MediaControlInputElement::updateStyle): create the renderer properly
or not depending on what rendererIsNeeded() return.
* rendering/MediaControlElements.h:
2009-06-26 Kevin McCullough <kmccullough@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6968137> Profiler title numbers increment even after a
reload.
- Now the numbers are reset when the profiles are.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::didCommitLoad):
2009-06-26 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for <rdar://problem/7000796>
REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages
Test: editing/inserting/break-blockquote-after-delete.html
Keep track of whether the typing style should be preserved after the TypingCommand is applied. When adding onto an open
typing command, keep that flag up to date.
In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style,
was following an open Delete command, which does preserve the typing style. So we were applying the original
typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::TypingCommand):
(WebCore::TypingCommand::typingAddedToOpenCommand):
(WebCore::TypingCommand::insertTextRunWithoutNewlines):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparator):
(WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::deleteSelection):
(WebCore::TypingCommand::updatePreservesTypingStyle):
* editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):
2009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed by Simon Hausmann.
Add support for saving and loading of QWebHistory to and from a QByteArray.
This includes streaming operators for QWebHistory. for convenience.
New autotests that test QWebHistory and QWebHistoryItem serialization.
* WebCore.pro:
* history/HistoryItem.h:
(WebCore::HistoryItem::dailyVisitCounts):
(WebCore::HistoryItem::weeklyVisitCounts):
* history/qt/HistoryItemQt.cpp: Added.
(WebCore::HistoryItem::restoreState):
(WebCore::HistoryItem::saveState):
2009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed by Simon Hausmann.
Add support for QDataStream operators to String and IntPoint.
* platform/graphics/IntPoint.h:
(WebCore::operator<<):
(WebCore::operator>>):
* platform/text/PlatformString.h:
* platform/text/qt/StringQt.cpp:
(WebCore::operator<<):
(WebCore::operator>>):
2009-06-26 Ben Murdoch <benm@google.com>
Reviewed by Darin Fisher.
Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
https://bugs.webkit.org/show_bug.cgi?id=26757
* bindings/v8/custom/V8StorageCustom.cpp
2009-06-26 Yongjun Zhang <yongjun.zhang@nokia.com>
Reviewed by Eric Seidel.
Test: platform/qt/fast/events/event-sender-keydown-frame.html
Bug 20303: [Qt] Key events are not working in frames.
Merge scrolling handling code in qt and win port, move it to
EventHandler.
* page/EventHandler.cpp:
(WebCore::EventHandler::scrollRecursively):
* page/EventHandler.h:
2009-06-26 Rob Buis <rwlbuis@gmail.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26682
Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)
Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.
Test: svg/custom/createImageElement.svg
* svg/SVGAnimatedProperty.h:
(WebCore::synchronizeProperty):
2009-06-26 Takeshi Yoshino <tyoshino@google.com>
Reviewed by Timothy Hatcher.
Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
https://bugs.webkit.org/show_bug.cgi?id=26156
When in view-source mode, render the contents using HTMLViewSourceDocument
regardless it's applicable for any plugin or not.
Chromium tells WebCore to render the contents of specified URL when
view-source: prefix is added to the URL. But currently, DOMImplementation
ignores inViewSourceMode() when the MIME type is indicating that the contents
are neither texts nor HTML family documents.
For example, we can check the contents of asf file without launching media
player. Rendering contents for view-source:-specified input is not what user
expects.
http://code.google.com/p/chromium/issues/detail?id=10545
I want to fix this issue by this patch. IMHO, regardless of this Chromium
specific issue, I think we should force use of HTMLViewSourceDocument when
inViewSourceMode() is specified.
Test: fast/frames/viewsource-on-image-file.html
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::createTokenizer):
* html/HTMLViewSourceDocument.h:
2009-06-26 Xan Lopez <xlopez@igalia.com>
Reviewed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=25529
[Gtk] Expected states not exposed to assistive technologies
Add support for VISIBLE, EDITABLE and SENSITIVE states.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(setAtkStateSetFromCoreObject):
2009-06-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Darin Adler.
"Pointer to incomplete class type is not allowed" error with RVCT
https://bugs.webkit.org/show_bug.cgi?id=26721
Based on Norbert Leser's work.
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* dom/Node.cpp:
(WebCore::Node::dispatchMouseEvent):
* dom/Node.h: Remove the default value for PassRefPtr<Event> args,
to eliminate dependency on the Event class definition
2009-06-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
Reviewed by Maciej Stachowiak.
[Qt] Build fix after r45183
https://bugs.webkit.org/show_bug.cgi?id=26748
* WebCore.pro:
2009-06-25 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26681
<rdar://problem/7003461> Problem updating applicationCache when server returns 304
Test: http/tests/appcache/update-cache.html
* loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
We're already done with the resource, don't try to load it again.
2009-06-25 Simon Fraser <simon.fraser@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6990481>
Handle perspective computation on non-layer objects.
Test: transforms/3d/general/perspective-non-layer.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTransformFromContainer):
2009-06-25 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26653
Use flex box in the mediaControls.css style, to nicely scale if a button gets
dynamically added or removed.
Media tests results are affected by this changes.
* css/mediaControls.css:
* css/mediaControlsQT.css:
2009-06-25 Albert J. Wong <ajwong@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=26724
Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
up into RenderThemeChromiumSkia.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::setDefaultFontSize):
* rendering/RenderThemeChromiumWin.h:
2009-06-25 Matt Perry <mpcomplete@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=26733
Add V8-only methods to FrameLoaderClient that V8 can use to send
out notifications when it creates/destroys a script context.
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
(WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::didCreateScriptContext):
(WebCore::FrameLoaderClient::didDestroyScriptContext):
2009-06-25 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by David Levin.
Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
to match WebKit style.
* bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.
2009-06-25 Adam Langley <agl@google.com>
TBRed: fix for Chromium tree.
Add missing include for r45199.
https://bugs.webkit.org/show_bug.cgi?id=26736
r45199 added a reference to throwError without including V8Proxy.h
* bindings/v8/WorkerScriptController.cpp:
2009-06-25 Adam Langley <agl@google.com>
TBRed: fix for Chromium tree.
https://bugs.webkit.org/show_bug.cgi?id=26735
Fix V8IsolatedWorld to point to the correct include file.
The deprecated v8_index.h was removed from the Chromium tree in r19291
and upstreamed into WebKit with r45193. However V8IsolatedWorld
slipped in between the cracks and broke the build.
* bindings/v8/V8IsolatedWorld.h: update with new header location.
2009-06-25 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser <simon.fraser@apple.com>.
https://bugs.webkit.org/show_bug.cgi?id=26651
Preference is named "WebKitAcceleratedCompositingEnabled"
and is a boolean value. When false, prevents compositing layers from
being created, which prevents hardware animation from running.
Also forces video to do software rendering. Added a cache for
the flag in RenderLayerCompositing and made it all work
on-the-fly when the flag is changed while a page is loaded.
* WebCore.base.exp:
* page/FrameView.cpp:
(WebCore::FrameView::updateCompositingLayers):
* page/Settings.cpp:
(WebCore::setNeedsReapplyStylesInAllFrames):
(WebCore::Settings::Settings):
(WebCore::Settings::setAcceleratedCompositingEnabled):
* page/Settings.h:
(WebCore::Settings::acceleratedCompositingEnabled):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasAcceleratedCompositing):
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateLayerTransform):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::enableCompositingMode):
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::needsToBeComposited):
(WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
* rendering/RenderLayerCompositor.h:
(WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
* rendering/RenderObject.h:
(WebCore::makeMatrixRenderable):
2009-06-25 Jian Li <jianli@chromium.org>
Reviewed by Dimitri Glazkov.
Bug 26701: Implement the missing code for "FIXME: Need to return an
exception" in WorkerScriptController::evaluate for v8 bindings.
https://bugs.webkit.org/show_bug.cgi?id=26701
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
2009-06-25 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
Upstream V8Index.
https://bugs.webkit.org/show_bug.cgi?id=26495
* bindings/v8/V8Index.cpp: Added.
(WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
(WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
* bindings/v8/V8Index.h:
(WebCore::V8ClassIndex::): Moved from src.chromium.org.
(WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
(WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.
2009-06-25 Adam Langley <agl@google.com>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=26529
This is hopefully the last step before our renderers can run
cleanly in a chroot.
WebKit needs to be able to ask for the correct font to use in
the case that the current font doesn't include glyphs for
certain code points. Currently we make a fontconfig call in our
WebKit port to handle this.
This patch changes this so that the call is sent our via
ChromiumBridge.
http://codereview.chromium.org/132007
This should not affect any layout tests.
* platform/chromium/ChromiumBridge.h:
* platform/graphics/chromium/FontCacheLinux.cpp:
(WebCore::FontCache::getFontDataForCharacters):
2009-06-25 Albert J. Wong <ajwong@chromium.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=26566
Upstream these files from the chromium v8 code. No tests were
affected because this is essentially a code move.
* bindings/v8/NPV8Object.cpp: Added.
(allocV8NPObject):
(freeV8NPObject):
(listFromVariantArgs):
(npIdentifierToV8Identifier):
(npCreateV8ScriptObject):
(NPN_Invoke):
(NPN_InvokeDefault):
(NPN_Evaluate):
(NPN_EvaluateHelper):
(NPN_GetProperty):
(NPN_SetProperty):
(NPN_RemoveProperty):
(NPN_HasProperty):
(NPN_HasMethod):
(NPN_SetException):
(NPN_Enumerate):
(NPN_Construct):
* bindings/v8/NPV8Object.h: Added.
(PrivateIdentifier::):
* bindings/v8/V8NPUtils.cpp: Added.
(convertV8ObjectToNPVariant):
(convertNPVariantToV8Object):
(getStringIdentifier):
* bindings/v8/V8NPUtils.h: Added.
2009-06-25 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=26436
Windows Chromium bug fix: save context of destination canvas in
TransparencyWin::compositeTextComposite() before the function
modifies the context.
Test: fast/canvas/translate-text.html
* platform/graphics/chromium/TransparencyWin.cpp:
(WebCore::TransparencyWin::compositeTextComposite):
2009-06-25 Patrick Mueller <Patrick_Mueller@us.ibm.com>
Reviewed by Timothy Hatcher.
Show the filename and first line for "(program)" in the Profiler/Debugger
https://bugs.webkit.org/show_bug.cgi?id=25475
Add support to associate a sourceURL with an eval()'d string
via a @sourceURL comment. Currently the sourceURL is only available
in the script debugger, not in the console or profiler, but it's
most needed in the script debugger.
* English.lproj/localizedStrings.js: added new "(program): %s" string
* inspector/front-end/Script.js:
(WebInspector.Script): if no sourceURL is available for the Script,
search for a comment of the form //@ sourceURL=(url) to use
as the sourceURL instead.
* manual-tests/inspector/named-evals.html: Added.
2009-06-25 John Gregg <johnnyg@google.com>
Reviewed by Sam Weinig.
Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange
https://bugs.webkit.org/show_bug.cgi?id=23721
onchange events fire when a SELECT element has
focus and the selectedIndex is updated by script in some way--either
during another onchange, onkeypress, onfocus, or timer--and then
focus is lost.
Fixed by making a separate method for user-driven selectedIndex
changes, leaving scripts to use one which doesn't cause onchange to
be queued.
Test: fast/forms/select-script-onchange.html
* dom/SelectElement.cpp: check if the pending change is user driven
before calling onchange
(WebCore::SelectElement::menuListOnChange):
(WebCore::SelectElement::setSelectedIndex):
* dom/SelectElement.h: store whether the pending change is user driven
(WebCore::SelectElementData::userDrivenChange):
(WebCore::SelectElementData::setUserDrivenChange):
* html/HTMLSelectElement.cpp: split into two methods -- script version
[non-user-driven] corresponds to IDL defined property name
(WebCore::HTMLSelectElement::setSelectedIndex):
(WebCore::HTMLSelectElement::setSelectedIndexByUser):
* html/HTMLSelectElement.h:
* rendering/RenderMenuList.cpp: use ByUser method when coming through
the renderer
(WebCore::RenderMenuList::valueChanged):
2009-06-25 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=26698
Combined LocalStorageArea and SessionStorageArea into StorageArea since
(after my other refactorings) there are no longer substantial
differences between the two.
* GNUmakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* storage/LocalStorage.cpp:
(WebCore::LocalStorage::storageArea):
* storage/LocalStorage.h:
* storage/LocalStorageArea.cpp: Removed.
* storage/LocalStorageArea.h: Removed.
* storage/SessionStorage.cpp:
(WebCore::SessionStorage::copy):
(WebCore::SessionStorage::storageArea):
* storage/SessionStorage.h:
* storage/SessionStorageArea.cpp: Removed.
* storage/SessionStorageArea.h: Removed.
* storage/StorageArea.cpp:
(WebCore::StorageArea::createLocalStorage):
(WebCore::StorageArea::StorageArea):
(WebCore::StorageArea::createSessionStorage):
(WebCore::StorageArea::copy):
(WebCore::StorageArea::setItem):
(WebCore::StorageArea::removeItem):
(WebCore::StorageArea::clear):
(WebCore::StorageArea::scheduleFinalSync):
(WebCore::StorageArea::blockUntilImportComplete):
(WebCore::StorageArea::dispatchStorageEvent):
* storage/StorageArea.h:
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::scheduleFinalSync):
(WebCore::StorageAreaSync::syncTimerFired):
(WebCore::StorageAreaSync::performImport):
* storage/StorageAreaSync.h:
* storage/StorageSyncManager.h:
2009-06-25 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix https://bugs.webkit.org/show_bug.cgi?id=26671
<rdar://problem/7001880> Safari 4.0 crashes in
WebCore::DOMTimer::fired()
Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html
When a "style sheet candidate" element is removed from a document,
call Document::removeStyleSheetCandidateNode() regardless of whether
the document is rendered. Otherwise, the document's style sheet
candidate set can end up containing stale references.
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::removedFromDocument):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::removedFromDocument):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::removedFromDocument):
2009-06-25 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Darin Fisher.
Update CodeGeneratorV8.pm to sync up with the changes downstream.
* bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check,
FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion.
2009-06-25 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, build fix.
Add FileList.h include to fix Chromium build.
* platform/chromium/ClipboardChromium.cpp: Added FileList.h include.
2009-06-25 Joseph Pecoraro <joepeck02@gmail.com>
Reviewed by Jan Alonzo.
Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message
https://bugs.webkit.org/show_bug.cgi?id=26489
Fixed a Typo in a Web Inspector error message.
* English.lproj/localizedStrings.js:
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView.prototype._queryError):
2009-06-25 Simon Hausmann <simon.hausmann@nokia.com>
Fix the Qt build, add missing StorageAreaSync files to the build.
* WebCore.pro:
2009-06-25 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by and done with Tor Arne Vestbø.
Fix shortcut keyboard handling with plugins on the Qt/Mac build.
When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is
empty. If we're asked to disambiguate the event into a Char keyboard event,
we try to detect this situation and still set the text, to ensure that the
general event handling sends a key press event after this disambiguation.
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2009-06-25 Eric Seidel <eric@webkit.org>
Build fix only, no review.
Add FileList.h and NotImplemented.h includes in an attempt to fix bots.
* platform/gtk/ClipboardGtk.cpp:
* platform/qt/ClipboardQt.cpp:
* platform/win/ClipboardWin.cpp:
* platform/wx/ClipboardWx.cpp:
2009-05-21 Eric Seidel <eric@webkit.org>
Reviewed by Maciej Stachowiak.
Expose files in the clipboard in ondrop events
https://bugs.webkit.org/show_bug.cgi?id=25916
Make it possible for applications like gmail to implement
drag and drop of attachments onto email messages.
This patch exposes an event.dataTransfer.files accessor
on the drop event. No information is exposed during dragover.
This follows the HTML 5 drag and drop security model:
http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model
The test http/tests/security/clipboard/clipboard-file-access.html
verifies this behavior.
Internet Explorer shows historical documentation of supporting
getData('File') as a way of exposing files on the pasteboard. The current version of their docs:
http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx
has removed this reference (as far as I can tell IE never implemented it)
I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE.
IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover.
I choose not to use IE's getData('File') and instead added .files
so that the accessor could have a type, matching WebKit's existing
.files accessor on HTMLInputElement.
Mozilla has equivalent file access:
event.dataTransfer.mozGetDataAt("application/x-moz-file", 0);
which also does not return a typed value.
https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files
This is only implemented for Mac WebKit. All other platforms (including Apple's Win WebKit)
have incomplete Clipboard implementations and will require experts from those platforms
to add this functionality. Right now they all have Clipboard*::files() methods which call notImplemented();
Test: http/tests/security/clipboard/clipboard-file-access.html
* dom/Clipboard.h:
* dom/Clipboard.idl:
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::files):
* platform/chromium/ClipboardChromium.h:
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::files):
* platform/gtk/ClipboardGtk.h:
* platform/mac/ClipboardMac.h:
* platform/mac/ClipboardMac.mm:
(WebCore::absoluteURLsFromPasteboardFilenames):
(WebCore::absoluteURLsFromPasteboard):
(WebCore::ClipboardMac::files):
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::files):
* platform/qt/ClipboardQt.h:
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::files):
* platform/win/ClipboardWin.h:
* platform/wx/ClipboardWx.cpp:
(WebCore::ClipboardWx::files):
* platform/wx/ClipboardWx.h:
2009-06-25 Eric Seidel <eric@webkit.org>
No review, only completing revert of r45144.
Add back files deleted by r45144.
* storage/LocalStorageArea.cpp: Added.
(WebCore::LocalStorageArea::create):
(WebCore::LocalStorageArea::LocalStorageArea):
(WebCore::LocalStorageArea::scheduleFinalSync):
(WebCore::LocalStorageArea::itemChanged):
(WebCore::LocalStorageArea::itemRemoved):
(WebCore::LocalStorageArea::areaCleared):
(WebCore::LocalStorageArea::blockUntilImportComplete):
(WebCore::LocalStorageArea::dispatchStorageEvent):
* storage/LocalStorageArea.h: Added.
* storage/SessionStorageArea.cpp: Added.
(WebCore::SessionStorageArea::copy):
(WebCore::SessionStorageArea::SessionStorageArea):
(WebCore::SessionStorageArea::itemChanged):
(WebCore::SessionStorageArea::itemRemoved):
(WebCore::SessionStorageArea::areaCleared):
(WebCore::SessionStorageArea::blockUntilImportComplete):
(WebCore::SessionStorageArea::dispatchStorageEvent):
* storage/SessionStorageArea.h: Added.
(WebCore::SessionStorageArea::create):
2009-06-25 Eric Seidel <eric@webkit.org>
No review, reverting r45144 only.
Roll out r45144 after 18 test failures appeared on the bots.
https://bugs.webkit.org/show_bug.cgi?id=26698
* GNUmakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* storage/LocalStorage.cpp:
(WebCore::LocalStorage::storageArea):
* storage/LocalStorage.h:
* storage/SessionStorage.cpp:
(WebCore::SessionStorage::copy):
(WebCore::SessionStorage::storageArea):
* storage/SessionStorage.h:
* storage/StorageArea.cpp:
(WebCore::StorageArea::StorageArea):
(WebCore::StorageArea::~StorageArea):
(WebCore::StorageArea::setItem):
(WebCore::StorageArea::removeItem):
(WebCore::StorageArea::clear):
* storage/StorageArea.h:
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::scheduleFinalSync):
(WebCore::StorageAreaSync::syncTimerFired):
(WebCore::StorageAreaSync::performImport):
* storage/StorageAreaSync.h:
* storage/StorageSyncManager.h:
2009-06-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=26698
Combined LocalStorageArea and SessionStorageArea into StorageArea since
(after my other refactorings) there are no longer substantial
differences between the two.
* GNUmakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* storage/LocalStorage.cpp:
(WebCore::LocalStorage::storageArea):
* storage/LocalStorage.h:
* storage/LocalStorageArea.cpp: Removed.
* storage/LocalStorageArea.h: Removed.
* storage/SessionStorage.cpp:
(WebCore::SessionStorage::copy):
(WebCore::SessionStorage::storageArea):
* storage/SessionStorage.h:
* storage/SessionStorageArea.cpp: Removed.
* storage/SessionStorageArea.h: Removed.
* storage/StorageArea.cpp:
(WebCore::StorageArea::createLocalStorage):
(WebCore::StorageArea::StorageArea):
(WebCore::StorageArea::createSessionStorage):
(WebCore::StorageArea::copy):
(WebCore::StorageArea::setItem):
(WebCore::StorageArea::removeItem):
(WebCore::StorageArea::clear):
(WebCore::StorageArea::scheduleFinalSync):
(WebCore::StorageArea::blockUntilImportComplete):
(WebCore::StorageArea::dispatchStorageEvent):
* storage/StorageArea.h:
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::scheduleFinalSync):
(WebCore::StorageAreaSync::syncTimerFired):
(WebCore::StorageAreaSync::performImport):
* storage/StorageAreaSync.h:
* storage/StorageSyncManager.h:
2009-06-24 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
- fix <rdar://problem/7001817> REGRESSION (r41902): Base position track
at UCSC Genome Browser doesn't work because image map prevents img
from hit-testing
Test: fast/replaced/image-map-2.html
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if
the image map failed the hit test.
2009-06-22 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=26366
Refactor V8DOMMap to support isolated worlds.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluateInNewWorld):
* bindings/v8/ScriptController.h:
* bindings/v8/V8DOMMap.cpp:
(WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
(WebCore::DOMDataStore::allStores):
(WebCore::DOMDataStore::allStoresMutex):
(WebCore::DOMDataStore::domData):
(WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
(WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
(WebCore::StaticDOMDataStore::StaticDOMDataStore):
(WebCore::):
(WebCore::MainThreadDOMData::MainThreadDOMData):
(WebCore::MainThreadDOMData::getStore):
(WebCore::ChildThreadDOMData::ChildThreadDOMData):
(WebCore::ChildThreadDOMData::getStore):
(WebCore::DOMDataStore::DOMDataStore):
(WebCore::DOMDataStore::~DOMDataStore):
(WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
(WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
(WebCore::forget):
(WebCore::getDOMNodeMap):
(WebCore::getDOMObjectMap):
(WebCore::getActiveDOMObjectMap):
(WebCore::getDOMSVGElementInstanceMap):
(WebCore::getDOMSVGObjectWithContextMap):
(WebCore::DOMData::getCurrent):
(WebCore::DOMData::handleWeakObject):
(WebCore::DOMData::ensureDeref):
(WebCore::weakDOMObjectCallback):
(WebCore::weakActiveDOMObjectCallback):
(WebCore::weakNodeCallback):
(WebCore::weakSVGElementInstanceCallback):
(WebCore::weakSVGObjectWithContextCallback):
(WebCore::DOMData::derefObject):
(WebCore::DOMData::derefDelayedObjects):
(WebCore::DOMData::derefDelayedObjectsInCurrentThread):
(WebCore::DOMData::removeObjectsFromWrapperMap):
(WebCore::removeAllDOMObjectsInCurrentThreadHelper):
(WebCore::visitDOMNodesInCurrentThread):
(WebCore::visitDOMObjectsInCurrentThread):
(WebCore::visitActiveDOMObjectsInCurrentThread):
(WebCore::visitDOMSVGElementInstancesInCurrentThread):
(WebCore::visitSVGObjectsInCurrentThread):
* bindings/v8/V8DOMMap.h:
(WebCore::DOMDataStoreHandle::getStore):
* bindings/v8/V8IsolatedWorld.cpp: Added.
(WebCore::getIsolatedWorldKey):
(WebCore::contextWeakReferenceCallback):
(WebCore::V8IsolatedWorld::evaluate):
(WebCore::V8IsolatedWorld::V8IsolatedWorld):
(WebCore::V8IsolatedWorld::~V8IsolatedWorld):
(WebCore::V8IsolatedWorld::getEntered):
* bindings/v8/V8IsolatedWorld.h: Added.
(WebCore::V8IsolatedWorld::getDOMDataStore):
2009-06-24 Mikhail Naganov <mnaganov@chromium.org>
Reviewed by Timothy Hatcher.
Bug 26604: Search doesn't work in Web Inspector Profiler
https://bugs.webkit.org/show_bug.cgi?id=26604
Seems like search was damaged in revision 42808.
* inspector/front-end/ProfileView.js:
(WebInspector.ProfileView.prototype.refresh):
Here and in other functions: nodes we're searching in are profile data grid
nodes, so there is no more need for '_dataGridNode' references.
(WebInspector.ProfileView.prototype.searchCanceled):
(WebInspector.ProfileView.prototype.performSearch.matchesQuery):
Fixed accidental semicolon that caused 'matchesQuery' always return true.
(WebInspector.ProfileView.prototype.performSearch):
To perform search correctly in the case of bottom up tree, we need to populate
the tree, because there's no 1-to-1 correspondence between profile nodes and
data grid nodes in this case.
(WebInspector.ProfileView.prototype._jumpToSearchResult):
2009-06-24 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6450239&6574516>
Fix flashing issues caused by compositing layers rendering content before
a deferred layout has happened. Because the -viewWillDraw machinery doesn't
work for composited layers, we need to use scheduleViewUpdate() to queue
up a layout via the run loop observer in WebKit, whenever we know we
are going to be painting soon.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
2009-06-24 David Levin <levin@chromium.org>
Fix all builds.
* ForwardingHeaders/wtf/FastAllocBase.h: Added.
2009-06-24 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=26658
Split the syncing portions of LocalStorageArea into StorageAreaSync.
This name will make more sense in the next patch (in this set) when
LocalStorageArea and SessionStorageArea are merged to become simply
StorageArea. (Thus the synching portion of StorageArea is in
StorageAreaSync.)
This looks like a big patch, but really all it's doing is splitting
code and patching split-related things up.
* GNUmakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* storage/LocalStorageArea.cpp:
(WebCore::LocalStorageArea::create):
(WebCore::LocalStorageArea::LocalStorageArea):
(WebCore::LocalStorageArea::scheduleFinalSync):
(WebCore::LocalStorageArea::itemChanged):
(WebCore::LocalStorageArea::itemRemoved):
(WebCore::LocalStorageArea::areaCleared):
(WebCore::LocalStorageArea::blockUntilImportComplete):
* storage/LocalStorageArea.h:
* storage/LocalStorageTask.cpp:
(WebCore::LocalStorageTask::LocalStorageTask):
* storage/LocalStorageTask.h:
(WebCore::LocalStorageTask::createImport):
(WebCore::LocalStorageTask::createSync):
* storage/LocalStorageThread.cpp:
(WebCore::LocalStorageThread::scheduleImport):
(WebCore::LocalStorageThread::scheduleSync):
* storage/LocalStorageThread.h:
* storage/SessionStorageArea.cpp:
(WebCore::SessionStorageArea::blockUntilImportComplete):
* storage/SessionStorageArea.h:
* storage/StorageArea.h:
* storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp.
* storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h.
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::scheduleImport):
(WebCore::StorageSyncManager::scheduleSync):
* storage/StorageSyncManager.h:
2009-06-24 Adam Treat <adam.treat@torchmobile.com>
Fix Qt build.
* WebCore.pro:
2009-06-24 David Levin <levin@chromium.org>
Reviewed by David Hyatt.
Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr.
https://bugs.webkit.org/show_bug.cgi?id=26696
* html/DataGridColumnList.cpp:
(WebCore::DataGridColumnList::itemWithName):
(WebCore::DataGridColumnList::add):
* html/DataGridColumnList.h:
(WebCore::DataGridColumnList::item):
(WebCore::DataGridColumnList::primaryColumn):
(WebCore::DataGridColumnList::sortColumn):
2009-06-24 Sam Weinig <sam@webkit.org>
Reviewed by Dave "Messy" Hyatt.
Little bit of style cleanup.
* html/DataGridColumn.cpp:
* html/DataGridColumn.h:
* html/DataGridColumn.idl:
* html/DataGridColumnList.cpp:
* html/DataGridColumnList.h:
* html/DataGridColumnList.idl:
* html/HTMLDataGridCellElement.cpp:
* html/HTMLDataGridCellElement.h:
* html/HTMLDataGridCellElement.idl:
* html/HTMLDataGridColElement.cpp:
* html/HTMLDataGridColElement.h:
* html/HTMLDataGridColElement.idl:
* html/HTMLDataGridElement.h:
* html/HTMLDataGridElement.idl:
* html/HTMLDataGridRowElement.cpp:
* html/HTMLDataGridRowElement.h:
* html/HTMLDataGridRowElement.idl:
2009-06-24 Chris Fleizach <cfleizach@apple.com>
Reviewed by Oliver Hunt.
Bug 26668: AX: need a way to retrieve the language for an element
Provides a way to retrieve the language associated with a specific accessibility element.
Test: accessibility/language-attribute.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::language):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::language):
* accessibility/AccessibilityRenderObject.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2009-06-24 Brady Eidson <beidson@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text.
* platform/network/mac/WebCoreURLResponse.mm:
(createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions.
2009-06-24 Nicolas Weber <thakis@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26685
Accomodate for backwards-incompatible skia api changes.
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::setCompositeOperation):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/skia/ImageSkia.cpp:
(WebCore::paintSkBitmap):
(WebCore::Image::drawPattern):
* platform/graphics/skia/PlatformContextSkia.cpp:
(PlatformContextSkia::State::State):
(PlatformContextSkia::setupPaintCommon):
(PlatformContextSkia::setXfermodeMode):
(PlatformContextSkia::applyClipFromImage):
* platform/graphics/skia/PlatformContextSkia.h:
* platform/graphics/skia/SkiaUtils.cpp:
(WebCore::):
(WebCore::WebCoreCompositeToSkiaComposite):
* platform/graphics/skia/SkiaUtils.h:
2009-06-24 Jan Michael Alonzo <jmalonzo@webkit.org>
Gtk build fix. Add files that were added in r45093 and r45096
* GNUmakefile.am:
2009-06-24 Brady Eidson <beidson@apple.com>
Fix 64-bit SnowLeopard build.
* html/DataGridColumnList.cpp:
(WebCore::DataGridColumnList::remove):
(WebCore::DataGridColumnList::move):
2009-06-24 Rob Buis <rwlbuis@gmail.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26392
Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work.
https://bugs.webkit.org/show_bug.cgi?id=26328
Bug 26328: changing href attribute of svg images does not work when changing display attribute as well
React to href updates even when there is no renderer, i.e. display=none.
Tests: svg/custom/js-update-image-and-display.svg
svg/custom/js-update-image-and-display2.svg
svg/custom/js-update-image-and-display3.svg
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged):
2009-06-24 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=26687
Add basic back-end column support to datagrid.
Added fast/dom/HTMLDataGridElement/ column tests.
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* html/DataGridColumn.cpp: Added.
(WebCore::DataGridColumn::setPrimary):
* html/DataGridColumn.h: Added.
(WebCore::DataGridColumn::create):
(WebCore::DataGridColumn::id):
(WebCore::DataGridColumn::setId):
(WebCore::DataGridColumn::label):
(WebCore::DataGridColumn::setLabel):
(WebCore::DataGridColumn::type):
(WebCore::DataGridColumn::setType):
(WebCore::DataGridColumn::sortable):
(WebCore::DataGridColumn::setSortable):
(WebCore::DataGridColumn::sortDirection):
(WebCore::DataGridColumn::setSortDirection):
(WebCore::DataGridColumn::primary):
(WebCore::DataGridColumn::detachFromColumnList):
(WebCore::DataGridColumn::DataGridColumn):
* html/DataGridColumn.idl: Added.
* html/DataGridColumnList.cpp: Added.
(WebCore::DataGridColumnList::~DataGridColumnList):
(WebCore::DataGridColumnList::itemWithName):
(WebCore::DataGridColumnList::add):
(WebCore::DataGridColumnList::remove):
(WebCore::DataGridColumnList::move):
(WebCore::DataGridColumnList::clear):
(WebCore::DataGridColumnList::primaryColumnChanged):
* html/DataGridColumnList.h: Added.
(WebCore::DataGridColumnList::create):
(WebCore::DataGridColumnList::length):
(WebCore::DataGridColumnList::item):
(WebCore::DataGridColumnList::primaryColumn):
(WebCore::DataGridColumnList::sortColumn):
* html/DataGridColumnList.idl: Added.
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::sortable):
(WebCore::HTMLDataGridColElement::setSortable):
(WebCore::HTMLDataGridColElement::sortDirection):
(WebCore::HTMLDataGridColElement::setSortDirection):
* html/HTMLDataGridColElement.h:
* html/HTMLDataGridColElement.idl:
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::HTMLDataGridElement):
* html/HTMLDataGridElement.h:
(WebCore::HTMLDataGridElement::columns):
* html/HTMLDataGridElement.idl:
* rendering/RenderDataGrid.cpp:
(WebCore::RenderDataGrid::paintObject):
(WebCore::RenderDataGrid::paintColumnHeaders):
(WebCore::RenderDataGrid::rebuildColumns):
* rendering/RenderDataGrid.h:
(WebCore::RenderDataGrid::gridElement):
2009-06-24 Jessie Berlin <jberlin@apple.com>
Reviewed by Adam Roben.
Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735
(<rdar://problem/5015942>)
Where on windows it was not possible to set an element as the drag
image using setDragImage on the dataTransfer object.
Does not "fix" the case of dragging a link where the default link image
is still used, even when the -webkit-user-drag is set to "element". This
is the same behavior as is found on OS X.
Added a manual test because it is not possible to check that what is
contained in the image snapshot is indeed the requested element.
* dom/Clipboard.h:
(WebCore::Clipboard::dragImageElement):
Made getting the raw pointer from the RefPtr a const operation.
* manual-tests/drag-with-div-or-image-as-data-image.html: Added.
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::createDragImage):
Get an image of the rendered element and its subtree.
2009-06-24 Darin Fisher <darin@chromium.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=26683
Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource
This change just adds a stub implementation for now to help fix the build.
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added.
2009-06-24 David Kilzer <ddkilzer@apple.com>
Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO)
Reviewed by Adam Roben.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::deliverNotification): Removed
ExceptionCode parameter from togglePlayState().
(WebCore::HTMLMediaElement::initialURL): Don't convert a KURL
object to a String when assigning to a KURL variable.
2009-06-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by Adam Treat.
Save memory by not storing attribute values in member variables, if not absolutely needed.
Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element).
* wml/WMLDoElement.cpp:
(WebCore::WMLDoElement::parseMappedAttribute):
(WebCore::WMLDoElement::label):
* wml/WMLDoElement.h:
* wml/WMLFieldSetElement.cpp:
(WebCore::WMLFieldSetElement::insertedIntoDocument):
* wml/WMLFieldSetElement.h:
* wml/WMLOptGroupElement.cpp:
(WebCore::WMLOptGroupElement::title):
(WebCore::WMLOptGroupElement::parseMappedAttribute):
(WebCore::WMLOptGroupElement::groupLabelText):
* wml/WMLOptGroupElement.h:
* wml/WMLPostfieldElement.cpp:
(WebCore::WMLPostfieldElement::name):
(WebCore::WMLPostfieldElement::value):
(WebCore::WMLPostfieldElement::encodeData):
* wml/WMLPostfieldElement.h:
* wml/WMLSetvarElement.cpp:
(WebCore::WMLSetvarElement::parseMappedAttribute):
(WebCore::WMLSetvarElement::name):
(WebCore::WMLSetvarElement::value):
* wml/WMLSetvarElement.h:
* wml/WMLTimerElement.cpp:
(WebCore::WMLTimerElement::parseMappedAttribute):
(WebCore::WMLTimerElement::insertedIntoDocument):
(WebCore::WMLTimerElement::timerFired):
(WebCore::WMLTimerElement::start):
(WebCore::WMLTimerElement::value):
* wml/WMLTimerElement.h:
2009-06-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Reviewed by Adam Roben.
Forgot to initialize m_task member variable. Results in crashes sometimes.
* wml/WMLAnchorElement.cpp:
(WebCore::WMLAnchorElement::WMLAnchorElement):
2009-06-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
Not reviewed. Forgot to include within last patch.
* manual-tests/wml/card-title-attr.wml: Added.
2009-06-24 Wajahat Siddiqui <wajahatmeister@gmail.com>
Reviewed by Nikolas Zimmermann.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474
Adding WML <card> title attribute handling.
* wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const
* wml/WMLElement.cpp:
* wml/WMLCardElement.h:
(WebCore::WMLCardElement::title):
* wml/WMLCardElement.cpp:
* wml/manual-test/card-title-attr.wml: Manual test
2009-06-24 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Tor Arne Vestbø.
Fix the build without ENABLE_VIDEO.
* html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards.
* html/CanvasRenderingContext2D.h: Ditto.
2009-06-24 Siddhartha Chattopadhyay <sidchat@google.com>
Reviewed by Eric Seidel.
Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had
the smartReplace set TRUE initially, which was wrong since the purpose of this call is
to just replace the selection, and place the caret at the end of the selection it replaced.
* editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToPosition):
* manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added.
2009-06-24 Kevin Watters <kevinwatters@gmail.com>
Reviewed by Kevin Ollivier.
Don't use an unsigned int for intervalInMS because we sometimes initialize
it with a negative value.
* platform/wx/SharedTimerWx.cpp:
(WebCore::setSharedTimerFireTime):
2009-06-24 Eric Seidel <eric@webkit.org>
No review, build fix only.
The previous checkin had an improper merge. This fixes the build.
* page/DragController.cpp:
(WebCore::DragController::tryDocumentDrag):
2009-06-05 Eric Seidel <eric@webkit.org>
Reviewed by Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=25922
JS setting dropEffect = "none" causes tryDHTMLDrag
to return DragOperationNone. Which is also the value
tryDHTMLDrag previously used to indicate JS did not
want to handle the drag.
Make it possible for the DragController::try* methods
to return a bool to indicate if javascript accepted
or rejected the drag event, separate from the DragOperation.
Tests:
- fast/events/drag-to-navigate.html
- fast/events/prevent-drag-to-navigate.html
* page/DragController.cpp:
(WebCore::DragController::dragEnteredOrUpdated):
(WebCore::DragController::tryDocumentDrag):
(WebCore::defaultOperationForDrag):
(WebCore::DragController::tryDHTMLDrag):
* page/DragController.h:
2009-06-23 Oliver Hunt <oliver@apple.com> and Eric Carlson <eric.carlson@apple.com>
Reviewed by Sam Weinig and Dave Hyatt.
<rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames
<https://bugs.webkit.org/show_bug.cgi?id=25920>
Add support for drawing the contents of the video element to the canvas
in accordance with the current HTML5 draft.
Test: media/video-canvas.html
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::drawImage):
Standard custom bindings stuff we need to do for all canvas methods.
* html/CanvasRenderingContext2D.cpp:
(WebCore::size): Helper function for finding the size of a video element
(WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file.
(WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>)
* html/CanvasRenderingContext2D.h:
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::hasSingleSecurityOrigin):
hasSingleSecurityOrigin is needed for security, currently all implementations are trivial
as we force QT to maintain a single origin.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::paint):
Paint routine on video so we don't have to look at MediaPlayer directly
* html/HTMLVideoElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
(WebCore::MediaPlayer::hasSingleSecurityOrigin):
Default implementations of hasSingleSecurityOrigin
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::setUpVideoRendering):
A video may need a player now even if it is not visible.
(WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
Always return true due to restrictions we've placed on QT.
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
(WebCore::MediaPlayerPrivate::paint):
Jump through some hoops to allow windows QT to draw to an intermediate buffer.
In the long term we'd like to cache the HDC, but this will do for now.
(WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
As for Mac we force QT to only allow same origin loads.
2009-06-23 Adam Langley <agl@google.com>
Reviewed by Eric Seidel.
Chromium: Fix crash with inherited font-size in <option>
https://bugs.webkit.org/show_bug.cgi?id=26656
http://code.google.com/p/chromium/issues/detail?id=14853
In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed
the <select> handing for Chromium to fix a rendering bug. However,
although the font-size is correctly ignored, getRowHeight wasn't
updated and so was calculating the height of the rows in an
inconsistent manner. This can lead to a crash.
* manual-tests/optgroup-empty-and-nested.html: adding test case for crash
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::getRowHeight):
2009-06-23 Brady Eidson <beidson@apple.com>
Patch by Antti Koivisto.
Reviewed by Brady Eidson.
<rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK
A latent bug that cache revalidation uncovered. When a CachedResource failed to load,
it should always be revalidated upon reload.
* loader/CachedResource.cpp:
(WebCore::CachedResource::canUseCacheValidator):
(WebCore::CachedResource::mustRevalidate):
2009-06-23 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath
EventHandler::passMouseDownEventToWidget()
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passMouseDownEventToWidget): Surround the
-mouseDown: call with calls to Widget::beforeMouseDown() and
Widget::afterMouseDown(), which prevent the widget's view hierarchy from
being removed from its parent view while the scroller is tracking the
mouse.
2009-06-23 Sam Weinig <sam@webkit.org>
Reviewed by Dave Hyatt.
Fix for https://bugs.webkit.org/show_bug.cgi?id=26516
Add initial implementation of DataGridDataSource
- Initial implementation only supports the initialize callback function.
Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html
* WebCore.xcodeproj/project.pbxproj:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/JSDataGridDataSource.cpp: Added.
(WebCore::JSDataGridDataSource::JSDataGridDataSource):
(WebCore::JSDataGridDataSource::~JSDataGridDataSource):
(WebCore::JSDataGridDataSource::initialize):
* bindings/js/JSDataGridDataSource.h: Added.
(WebCore::JSDataGridDataSource::create):
(WebCore::JSDataGridDataSource::isJSDataGridDataSource):
(WebCore::JSDataGridDataSource::jsDataSource):
(WebCore::asJSDataGridDataSource):
* bindings/js/JSHTMLDataGridElementCustom.cpp: Added.
(WebCore::JSHTMLDataGridElement::listener):
(WebCore::JSHTMLDataGridElement::setListener):
* html/DataGridDataSource.h: Added.
(WebCore::DataGridDataSource::~DataGridDataSource):
(WebCore::DataGridDataSource::isJSDataGridDataSource):
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::HTMLDataGridElement):
(WebCore::HTMLDataGridElement::setDataSource):
(WebCore::HTMLDataGridElement::initializationTimerFired):
* html/HTMLDataGridElement.h:
(WebCore::HTMLDataGridElement::dataSource):
* html/HTMLDataGridElement.idl:
2009-06-23 Ryosuke Niwa <rniwa@google.com>
Reviewed by Justin Garcia.
Undo the changeset 21212 to fix the regression bug 14062.
The changeset 21212 attempted to fix rdar://problem/5002441.
The changeset 21212 modified InsertTextCommand::input so as to convert
all spaces in text to non-breaking spaces for rdar://problem/5002441.
However, the bug was originally caused by rebalanceWhitespaceAt
and this workaround introduced a regression bug 14062.
Because rebalanceWhitespaceAt appears to behave correctly now,
the workaround introduced in 21212 is no longer needed.
Test: editing/inserting/space-after-removeformat.html
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input):
2009-06-23 Beth Dakin <bdakin@apple.com>
Reviewed by Dave Hyatt.
Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col>
elements width can't be changed with javascript
This patch both fixes setting the width attribute directly in
JavaScript, and setting the width on the style attribute.
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::parseMappedAttribute): If we have a
new width, call setNeedsLayoutAndPrefWidthsRecalc()
Call calcPrefWidths() on the table cols.
* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
Call layoutIfNeeded on the table cols.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new
table() convenience function.
(WebCore::RenderTableCol::calcPrefWidths): Just call
setPrefWidthsDirty(false) on ourself and our children.
(WebCore::RenderTableCol::table):
* rendering/RenderTableCol.h:
2009-06-23 Ojan Vafai <ojan@chromium.org>
Reviewed by Dan Bernstein.
Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are
keyword values. When diff is called on a CSSStyleDeclaration, we check
the keywordSize to see if font-size matches a keyword value.
This ensures that when we diff a CSSMutableStyleDeclaration returned from
copyInheritableProperties on a CSSComputedStyleDeclaration that we
correctly identify matching font-sizes.
https://bugs.webkit.org/show_bug.cgi?id=26279
Test: editing/inserting/font-size-clears-from-typing-style.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
* css/CSSComputedStyleDeclaration.h:
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::cssPropertyMatches):
(WebCore::CSSStyleDeclaration::diff):
* css/CSSStyleDeclaration.h:
2009-06-23 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to
add a blank line to pasted Facebook content (under
CompositeEditCommand::positionAvoidingSpecialElementBoundary)
- Just added null checks and I will create a new bug to prevent the
bad behavior.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
2009-06-23 Simon Fraser <simon.fraser@apple.com>
Build fix.
Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when
ACCELERATED_COMPOSITING is not defined.
* rendering/RenderLayer.cpp:
2009-06-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=24863
Fix reflection painting on elements with compositing layers.
Test: compositing/reflections/reflection-on-composited.html
* rendering/RenderLayer.h:
Add a new PaintLayerPaintingReflection flag which is set while painting inside
reflections.
(WebCore::RenderLayer::setPaintingInsideReflection):
Add a setter so that RenderLayerBacking can call it.
* rendering/RenderLayer.cpp:
(WebCore::shouldDoSoftwarePaint):
Utility to clarify the logic of when a composited layer should do a software paint.
(WebCore::RenderLayer::paintLayer):
Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer.
Remove transform-related tests from the reflection-painting if test because they appear
to be unnecessary.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
Add the code to paint reflections to the composited layer painting method.
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
Set the PaintLayerPaintingReflection flag.
2009-06-23 Antti Koivisto <antti@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26643
Memory cache should respect Cache-Control: no-store
Make resources with Cache-Control: no-store uncacheable in the memory cache.
They get evicted immediately when all clients are gone and are always
reloaded from the server.
Conforms to RFC2616 14.9.2 and seems also match Firefox behavior.
* loader/CachedResource.cpp:
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::canUseCacheValidator):
(WebCore::CachedResource::mustRevalidate):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::parseCacheControlDirectives):
(WebCore::ResourceResponseBase::cacheControlContainsNoStore):
* platform/network/ResourceResponseBase.h:
2009-06-23 Brady Eidson <beidson@apple.com>
Windows build fix.
* platform/graphics/win/QTMovieWin.cpp:
(QTMovieWin::play):
(QTMovieWin::pause):
(QTMovieWin::setRate):
(QTMovieWin::setCurrentTime):
2009-06-23 Kevin McCullough <kmccullough@apple.com>
Reviewed by Adele Peterson.
<rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect
after manually quoting blank line then hitting return
If the insertion point is both the begining and ending visible position
then we need to insert at the end instead of the begining, which is what
would normally happen if the insertion point was as the begining.
* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):
2009-06-23 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig, and looked over by Eric Carlson.
<rdar://problem/6980466> Media elements should provide option for changing pitch correction
Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation
property (Quicktime on Mac and Win) have had it on by default, so continue that default for now.
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::webkitPreservesPitch):
(WebCore::HTMLMediaElement::setWebkitPreservesPitch):
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:
* platform/graphics/MediaPlayer.cpp:
(WebCore::NullMediaPlayerPrivate::setPreservesPitch):
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::preservesPitch):
(WebCore::MediaPlayer::setPreservesPitch):
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setPreservesPitch):
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the
exact same attributes as before, with pitch preservation being the difference.
(WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes.
(WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie.
(WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it
has been effectively overwritten.
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
(WebCore::MediaPlayerPrivate::load):
(WebCore::MediaPlayerPrivate::setPreservesPitch):
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
* platform/graphics/win/QTMovieWin.cpp:
(QTMovieWinPrivate::QTMovieWinPrivate):
(QTMovieWinPrivate::~QTMovieWinPrivate):
(QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie.
(QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it.
(QTMovieWin::pause): Ditto.
(QTMovieWin::setRate): Ditto.
(QTMovieWin::setCurrentTime): Ditto.
(QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes.
(QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it,
but changing the pitch preservation flag.
* platform/graphics/win/QTMovieWin.h:
2009-06-23 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/6998286> Crash after leaving page with <video>
Don't try to post events after going into the page cache.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop
event timers so we won't try to post events after going into the cache.
2009-06-23 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Brady Eidson.
Simplify the interaction between LocalStorageArea/SessionStorageArea
and StorageArea by creating a "blockUntilImportComplete()" function
rather than bouncing back and forth between the child and parent
classes in a somewhat unintuitive manner.
This patch also paves the way for LocalStorageArea and
SessionStorageArea being merged into one. It's part of several in a
set which are separating syncing (to disk) code from the rest of the
implementation so that local storage and session storage's code can be
unified.
https://bugs.webkit.org/show_bug.cgi?id=25376
* storage/LocalStorageArea.cpp:
(WebCore::LocalStorageArea::blockUntilImportComplete):
* storage/LocalStorageArea.h:
* storage/StorageArea.cpp:
(WebCore::StorageArea::length):
(WebCore::StorageArea::key):
(WebCore::StorageArea::getItem):
(WebCore::StorageArea::setItem):
(WebCore::StorageArea::removeItem):
(WebCore::StorageArea::clear):
(WebCore::StorageArea::contains):
* storage/StorageArea.h:
(WebCore::StorageArea::blockUntilImportComplete):
2009-06-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt
First part of https://bugs.webkit.org/show_bug.cgi?id=26652
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
* rendering/RenderLayerBacking.h:
Remove the unused 'haveTransparency' param to paintIntoLayer().
2009-06-23 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration
The updatingControlTints() painting pass goes through compositing layer boundaries,
so we need to ensure we don't cache clip rects computed with the wrong root by
setting temporaryClipRects to true.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
Remove a printf that I left in by mistake.
2009-06-23 Anders Carlsson <andersca@apple.com>
Reviewed by Darin Adler.
WebCore side of <rdar://problem/6946094>.
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::setExternalDataObject):
* platform/win/ClipboardWin.h:
2009-06-23 Darin Fisher <darin@chromium.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26650
Add setFormContentType and setFormData since it is awkward for Chromium
to use setFormInfoFromRequest to set the underlying members. Also, add
a clearChildren method that Chromium needs. These methods are used as
part of the Chromium code that serializes a HistoryItem for storing in
the browser's session history.
* history/HistoryItem.cpp:
* history/HistoryItem.h:
2009-06-23 Eric Carlson <eric.carlson@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6978938> Need HTML 5 event attributes for media elements
Test: media/event-attributes.html
* html/HTMLAttributeNames.in: Add media event attribute names.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes.
2009-06-23 Thiago Macieira <thiago.macieira@nokia.com>
Reviewed by Simon Hausmann.
Fix Qt build with Phonon.
The #include <phonon> header no longer exists. And the <Phonon> or
<Phonon/Phonon> headers have never existed (neither for us nor for the
Phonon sources). You have to select each and every header that you do
want now.
* platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2009-06-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Remove duplicated code in Qt & GTK logging initialization
We now share the getChannelFromName() function in Logging.cpp
* platform/gtk/LoggingGtk.cpp:
* platform/qt/LoggingQt.cpp:
2009-06-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Rename the plugin logging channel to plural form 'Plugins'
This matches both the other logging channel names, as well as the
WebKit logging channel used by Safari/Mac for plugins.
* platform/Logging.cpp:
* platform/Logging.h:
* platform/gtk/LoggingGtk.cpp:
* platform/mac/LoggingMac.mm:
* platform/qt/LoggingQt.cpp:
* platform/win/LoggingWin.cpp:
* plugins/PluginDebug.h:
* plugins/gtk/PluginPackageGtk.cpp:
* plugins/mac/PluginPackageMac.cpp:
* plugins/mac/PluginViewMac.cpp:
* plugins/qt/PluginPackageQt.cpp:
2009-06-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed by Simon Hausmann.
Fix NPAPI mouse translation issues on Mac
The WindowRef we pass to the plugin refers to the the top level window,
so the x and y positions have to be relative to this position, but we
have to manually compensate for title bar decorations and other parents
of the QWebView since contentsToWindow() only traverses to the QWebView.
Previously we did this compensation when passing on mouse coordinates to
the plugin, which caused various issues with translations such as not
being able to close the Flash settings dialog, or the hand cursor not
appearing over links.
We now do the compensation as part of the call to NPP_SetWindow, and
then pass mouse coordinates in global context without any compensation,
similar to how both Safari and Mozilla does it.
* plugins/mac/PluginViewMac.cpp:
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::globalMousePosForPlugin):
2009-06-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Rubber-stamped by Simon Hausmann.
[Qt] Resolve absolute path to library install_name manually
Since our target.path is set to the Qt directory (to be able
to do 'make install') the 'absolute_library_soname' option
to QMake did not do the right thing.
We now compute the absolute path manually using DESTDIR.
* WebCore.pro:
2009-06-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6991146> Scrollbars in hardware layers don't change to the
inactive look in background windows
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
Don't short-circuit the "painting" pass that is used to udpate control tints.
2009-06-22 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=26567
Upstream V8 bindings code generator. With this change, also added interface ancestor
traversal to IDL parser, which is necessary for V8 bindings. The traversal is used
to determine whether an interface is a Node to facilitate proper casting and storage
in V8DOMMap.
* bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed
by V8 bindings.
* bindings/scripts/CodeGeneratorV8.pm: Added.
* bindings/scripts/IDLParser.pm: Modified to allow limited parsing for
parent traversal cases.
2009-06-22 Sam Weinig <sam@webkit.org>
Reviewed by Gavin Barraclough.
Add event handler attribute getter/setters to HTMLFrameSetElement
as specified in HTML 5. These match the ones on HTMLBodyElement.
* dom/Node.h:
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::parseMappedAttribute):
(WebCore::HTMLFrameSetElement::onblur):
(WebCore::HTMLFrameSetElement::setOnblur):
(WebCore::HTMLFrameSetElement::onerror):
(WebCore::HTMLFrameSetElement::setOnerror):
(WebCore::HTMLFrameSetElement::onfocus):
(WebCore::HTMLFrameSetElement::setOnfocus):
(WebCore::HTMLFrameSetElement::onload):
(WebCore::HTMLFrameSetElement::setOnload):
(WebCore::HTMLFrameSetElement::onbeforeunload):
(WebCore::HTMLFrameSetElement::setOnbeforeunload):
(WebCore::HTMLFrameSetElement::onmessage):
(WebCore::HTMLFrameSetElement::setOnmessage):
(WebCore::HTMLFrameSetElement::onoffline):
(WebCore::HTMLFrameSetElement::setOnoffline):
(WebCore::HTMLFrameSetElement::ononline):
(WebCore::HTMLFrameSetElement::setOnonline):
(WebCore::HTMLFrameSetElement::onresize):
(WebCore::HTMLFrameSetElement::setOnresize):
(WebCore::HTMLFrameSetElement::onstorage):
(WebCore::HTMLFrameSetElement::setOnstorage):
(WebCore::HTMLFrameSetElement::onunload):
(WebCore::HTMLFrameSetElement::setOnunload):
* html/HTMLFrameSetElement.h:
* html/HTMLFrameSetElement.idl:
2009-06-22 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
https://bugs.webkit.org/show_bug.cgi?id=25425
* bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* dom/Element.cpp:
(WebCore::Element::getURLAttribute): Added. For use implementing getters
for ReflectURL.
* dom/Element.h: Added getURLAttribute.
* html/HTMLImageElement.idl: Use Reflect and ReflectURL.
2009-06-22 Jian Li <jianli@chromium.org>
Reviewed by Dimitri Glazkov.
Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
objects.
https://bugs.webkit.org/show_bug.cgi?id=26626
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::ToV8Object):
2009-06-22 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
Add RenderDataGrid to the build. Give it some basic default styling (that more or less matches a listbox). It has a default size
of 300x150.
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* css/html4.css:
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::createRenderer):
* html/HTMLDataGridElement.h:
* html/HTMLDataGridElement.idl:
* rendering/RenderDataGrid.cpp: Added.
(WebCore::RenderDataGrid::RenderDataGrid):
(WebCore::RenderDataGrid::~RenderDataGrid):
(WebCore::RenderDataGrid::calcPrefWidths):
(WebCore::RenderDataGrid::paintObject):
(WebCore::RenderDataGrid::valueChanged):
(WebCore::RenderDataGrid::invalidateScrollbarRect):
(WebCore::RenderDataGrid::isActive):
* rendering/RenderDataGrid.h: Added.
(WebCore::RenderDataGrid::renderName):
(WebCore::RenderDataGrid::canHaveChildren):
(WebCore::RenderDataGrid::scrollbarCornerPresent):
2009-06-22 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=26430
<rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
<rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
during window resize when using hardware layers
Fix an ordering dependency which caused the compositing position of a layer
to be affected by some later sibling, which affected the compositing ancestor's
composited bounds.
The fix is to only update the compositing positions of layers in some subtree
when updateAfterLayout() has been called on all the layers in that subtree,
from the ancestor down.
Also cache the composited bounds of a RenderLayerBacking, now that we can
guarantee that those bounds are accurate.
Test: compositing/sibling-positioning.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::hitTestLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::compositedBounds):
(WebCore::RenderLayerBacking::setCompositedBounds):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::updateLayerCompositingState):
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
(WebCore::RenderLayerCompositor::layerWillBeRemoved):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
* rendering/RenderLayerCompositor.h:
2009-06-22 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Darin Fisher.
First step in https://bugs.webkit.org/show_bug.cgi?id=25376
Add StorageSyncManager.cpp/h
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
In preparation for combining SessionStorage and LocalStorage into a
single StorageManager, move the syncing bits out of LocalStorage and
into its own class.
The next step is to combine LocalStorageArea and SessionStorageArea
into one. Then SessionStorage and LocalStorage can be combined.
Note that combining them will cut down on code paths that must be
proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
write historical sessionStorage to disk when memory is getting tight.
Also remove a couple bits of cruft including code for quotas which is
unnecessary (since a meta-data db is unnecessary since you can just
count bytes as you read the local storage databases into memory).
* storage/LocalStorage.cpp:
(WebCore::LocalStorage::LocalStorage):
(WebCore::LocalStorage::storageArea):
(WebCore::LocalStorage::close):
* storage/LocalStorage.h:
* storage/LocalStorageArea.cpp:
(WebCore::LocalStorageArea::LocalStorageArea):
(WebCore::LocalStorageArea::scheduleFinalSync):
(WebCore::LocalStorageArea::syncTimerFired):
(WebCore::LocalStorageArea::performImport):
* storage/LocalStorageArea.h:
(WebCore::LocalStorageArea::create):
* storage/LocalStorageTask.cpp:
(WebCore::LocalStorageTask::performTask):
* storage/LocalStorageTask.h:
(WebCore::LocalStorageTask::):
(WebCore::LocalStorageTask::createImport):
* storage/LocalStorageThread.cpp:
* storage/LocalStorageThread.h:
* storage/SessionStorage.h:
* storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
(WebCore::StorageSyncManager::create):
(WebCore::StorageSyncManager::StorageSyncManager):
(WebCore::StorageSyncManager::fullDatabaseFilename):
(WebCore::StorageSyncManager::close):
(WebCore::StorageSyncManager::scheduleImport):
(WebCore::StorageSyncManager::scheduleSync):
* storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
(WebCore::):
2009-06-22 Darin Fisher <darin@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=26622
Add ChromiumDataObject::copy()
* platform/chromium/ChromiumDataObject.cpp:
* platform/chromium/ChromiumDataObject.h:
2009-06-22 Timothy Hatcher <timothy@apple.com>
Add a silhouette image for the enable view of the Resource panel.
Reviewed by Kevin McCullough.
* inspector/front-end/Images/resourcesSilhouette.png: Added.
* inspector/front-end/inspector.css:
2009-06-22 Kyle Prete <kylep@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=26552
Add V8 JS bindings for Audio Constructor.
* bindings/v8/custom/V8CustomBinding.h:
Added a callback declaration for audio ctor to macro.
* bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
Added the whole file.
2009-06-22 Alexey Proskuryakov <ap@webkit.org>
Reviewed by David Levin.
https://bugs.webkit.org/show_bug.cgi?id=26600
StringImpl::copy() no longer copies empty string correctly
* platform/text/StringImpl.cpp:
(WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
static method.
(WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.
2009-06-22 Xiaomei Ji <xji@chromium.org>
Reviewed by Eric Seidel
Not auto-testable since it involves sending a keyboard event to
the popup, which is not possible (eventSender sends the key
events through webview, we want to go through the webwidget).
This patch is one part of the fix for issue "keyboard selection in
Hebrew select element does not work in Windows". The other part of the
fix is in chromium's webkit/glue layer.
https://bugs.webkit.org/show_bug.cgi?id=25899
* manual-tests/keyboard_select_non_english.html: Added.
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::isCharacterTypeEvent): Added. Check whether the event is a
character type event. "Char" in Windows or "KeyDown" in Mac is character
type event.
(WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
indicate whether user types multiple characters continuely as a search
prefix or not, it should be only assigned when the event is character
type event.
2009-06-22 Kevin McCullough <kmccullough@apple.com>
Reviewed by Darin Adler.
<rdar://problem/6115819> Notify of profile start in console
Put a message in the console that announces that a profile has started,
similar to how a console message announces that a profile has finished.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::addProfile): Use renamed function.
(WebCore::InspectorController::addProfileFinishedMessageToConsole):
Renamed.
(WebCore::InspectorController::addStartProfilingMessageToConsole):
New function that logs the message about the profile starting.
(WebCore::InspectorController::startUserInitiatedProfiling): Ditto
* inspector/InspectorController.h:
* inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
title if there are multiple profiles, and take into account the fact
that titles are displayed twice as much now.
(WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
* page/Console.cpp:
(WebCore::Console::profile): Call new function.
2009-06-22 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=26615
Add IDL interface for datagrid cell elements. Add a few more properties to the datagrid itself that
correspond to ones you find on <select> elements.
Add an expanded property to row elements.
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* html/HTMLAttributeNames.in:
* html/HTMLDataGridCellElement.cpp: Added.
(WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement):
(WebCore::HTMLDataGridCellElement::label):
(WebCore::HTMLDataGridCellElement::setLabel):
(WebCore::HTMLDataGridCellElement::focused):
(WebCore::HTMLDataGridCellElement::setFocused):
(WebCore::HTMLDataGridCellElement::checked):
(WebCore::HTMLDataGridCellElement::setChecked):
(WebCore::HTMLDataGridCellElement::indeterminate):
(WebCore::HTMLDataGridCellElement::setIndeterminate):
(WebCore::HTMLDataGridCellElement::progress):
(WebCore::HTMLDataGridCellElement::setProgress):
* html/HTMLDataGridCellElement.h: Added.
(WebCore::HTMLDataGridCellElement::endTagRequirement):
(WebCore::HTMLDataGridCellElement::tagPriority):
* html/HTMLDataGridCellElement.idl: Added.
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::autofocus):
(WebCore::HTMLDataGridElement::setAutofocus):
(WebCore::HTMLDataGridElement::disabled):
(WebCore::HTMLDataGridElement::setDisabled):
(WebCore::HTMLDataGridElement::size):
(WebCore::HTMLDataGridElement::setSize):
* html/HTMLDataGridElement.h:
* html/HTMLDataGridElement.idl:
* html/HTMLDataGridRowElement.cpp:
(WebCore::HTMLDataGridRowElement::checkDTD):
(WebCore::HTMLDataGridRowElement::expanded):
(WebCore::HTMLDataGridRowElement::setExpanded):
* html/HTMLDataGridRowElement.h:
* html/HTMLDataGridRowElement.idl:
* html/HTMLElementsAllInOne.cpp:
* html/HTMLTagNames.in:
2009-06-22 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Add event handler attribute getter/setters to HTMLBodyElement
as specified in HTML 5.
- Removes erroneous inclusion of the onresize and onunload event
handler attributes in Element and Document.
* dom/Document.cpp:
(WebCore::Document::getWindowAttributeEventListener):
* dom/Document.h:
* dom/Document.idl:
* dom/Element.idl:
* dom/Node.cpp:
* dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared
virtual, since their behavior for HTMLBodyElement differs from the base
implementation.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::onblur):
(WebCore::HTMLBodyElement::setOnblur):
(WebCore::HTMLBodyElement::onerror):
(WebCore::HTMLBodyElement::setOnerror):
(WebCore::HTMLBodyElement::onfocus):
(WebCore::HTMLBodyElement::setOnfocus):
(WebCore::HTMLBodyElement::onload):
(WebCore::HTMLBodyElement::setOnload):
(WebCore::HTMLBodyElement::onbeforeunload):
(WebCore::HTMLBodyElement::setOnbeforeunload):
(WebCore::HTMLBodyElement::onmessage):
(WebCore::HTMLBodyElement::setOnmessage):
(WebCore::HTMLBodyElement::onoffline):
(WebCore::HTMLBodyElement::setOnoffline):
(WebCore::HTMLBodyElement::ononline):
(WebCore::HTMLBodyElement::setOnonline):
(WebCore::HTMLBodyElement::onresize):
(WebCore::HTMLBodyElement::setOnresize):
(WebCore::HTMLBodyElement::onstorage):
(WebCore::HTMLBodyElement::setOnstorage):
(WebCore::HTMLBodyElement::onunload):
(WebCore::HTMLBodyElement::setOnunload):
* html/HTMLBodyElement.h:
* html/HTMLBodyElement.idl:
2009-06-22 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26601
Remove disabled code for appcache dynamic entries
This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet.
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/JSDOMStringListCustom.cpp: Removed.
* bindings/v8/custom/V8CustomBinding.h:
* bindings/v8/custom/V8DOMStringListCustom.cpp: Removed.
* dom/DOMStringList.cpp: Removed.
* dom/DOMStringList.h: Removed.
* dom/DOMStringList.idl: Removed.
* dom/StaticStringList.cpp: Removed.
* dom/StaticStringList.h: Removed.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::addResource):
* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
* loader/appcache/ApplicationCacheResource.cpp:
(WebCore::ApplicationCacheResource::dumpType):
* loader/appcache/ApplicationCacheResource.h:
(WebCore::ApplicationCacheResource::):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::storeUpdatedType):
* loader/appcache/DOMApplicationCache.cpp:
* loader/appcache/DOMApplicationCache.h:
* loader/appcache/DOMApplicationCache.idl:
* page/DOMWindow.idl:
2009-06-22 Steve Falkenburg <sfalken@apple.com>
Windows build fix.
* DerivedSources.cpp:
* html/HTMLElementsAllInOne.cpp:
2009-06-22 Alexey Proskuryakov <ap@webkit.org>
Reviewed by John Sullivan.
<rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
Japanese can't be input.
WebKit uses a per-frame input context for most editable fields, and application's global
context for password fields, manually controlling secure input state and the list of available
input sources.
We were setting TSMDocument property to disable non-Roman input methods after focus changed
to a password field, but before selection was updated. This resulted in the property being
applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input
context cached by +[NSApplication updateWindows], we change context based on selection,
not on focus.
* page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one
context that we use for password fields - the global one - there is no need to get the active
one.
2009-06-22 David Levin <levin@chromium.org>
Reviewed by David Hyatt and Eric Seidel.
REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
https://bugs.webkit.org/show_bug.cgi?id=26326
Test: scrollbars/scrollbar-crash-on-refresh.html
* dom/Document.cpp:
(WebCore::Document::detach):
Gives the FrameView a change to do any necessary cleanup on
Document::detach() which is where the renderArena gets detroyed.
* page/FrameView.cpp:
(WebCore::FrameView::detachCustomScrollbars):
Gets rid of any custom scrollbars (if the docment supplied them).
* page/FrameView.h:
* platform/Scrollbar.h:
(WebCore::Scrollbar::isCustomScrollbar):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
Removed the check for document()->frame(). If frame() is 0 in this code,
then the call to animation() is also incorrect (since it does document()->frame()->animation()).
* rendering/RenderScrollbar.h:
(WebCore::RenderScrollbar::isCustomScrollbar):
2009-06-22 Dan Bernstein <mitz@apple.com>
Reviewed by Simon Fraser.
- fix https://bugs.webkit.org/show_bug.cgi?id=23606
<rdar://problem/6537777> CSS gradient not repainted when image load
completes
Test: fast/repaint/background-generated.html
* rendering/RenderObject.cpp:
(WebCore::mustRepaintFillLayers): Return true if the layer does not
specify a size and the image uses the container size.
2009-06-22 David Hyatt <hyatt@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=26607
Add IDL for HTMLDataGridRowElement.
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* html/HTMLAttributeNames.in:
* html/HTMLDataGridColElement.cpp:
(WebCore::HTMLDataGridColElement::primary):
(WebCore::HTMLDataGridColElement::setPrimary):
* html/HTMLDataGridColElement.h:
* html/HTMLDataGridColElement.idl:
* html/HTMLDataGridElement.cpp:
(WebCore::HTMLDataGridElement::checkDTD):
(WebCore::HTMLDataGridElement::multiple):
(WebCore::HTMLDataGridElement::setMultiple):
* html/HTMLDataGridElement.h:
* html/HTMLDataGridElement.idl:
* html/HTMLDataGridRowElement.cpp: Added.
(WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement):
(WebCore::HTMLDataGridRowElement::selected):
(WebCore::HTMLDataGridRowElement::setSelected):
(WebCore::HTMLDataGridRowElement::focused):
(WebCore::HTMLDataGridRowElement::setFocused):
* html/HTMLDataGridRowElement.h: Added.
(WebCore::HTMLDataGridRowElement::tagPriority):
* html/HTMLDataGridRowElement.idl: Added.
* html/HTMLTagNames.in:
2009-06-19 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=26556
Fix a crash in case that the QNetworkReply::readReady signal is
"stuck" in deferred mode due to JavaScript alert, and in the meantime,
QNetworkreply::finished signal is received and processed before
QNetworkReply::readReady is processed.
* manual-tests/qt/unload-alert.html: Added.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::setLoadMode):
(WebCore::QNetworkReplyHandler::finish):
(WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
(WebCore::QNetworkReplyHandler::forwardData):
(WebCore::QNetworkReplyHandler::start):
(WebCore::QNetworkReplyHandler::sendQueuedItems):
* platform/network/qt/QNetworkReplyHandler.h:
(WebCore::QNetworkReplyHandler::):
2009-06-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Fix the Qt build.
* WebCore.pro:
2009-06-21 Darin Adler <darin@apple.com>
Reviewed by Sam Weinig.
Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
https://bugs.webkit.org/show_bug.cgi?id=25425
* bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit
more consistent and to make SVGElement.h be included in the header rather than in
every implementation file that includes the header. Added code to use getAttribute
and setAttribute directly when the [Reflect] extended attribute is used.
* bindings/scripts/CodeGeneratorObjC.pm: Ditto.
* html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that
reflect content attributes. Restricting this to one class for now to keep the
patch small and start out slowly.
2009-06-21 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Fix for https://bugs.webkit.org/show_bug.cgi?id=26596
Only expose event handler attributes to elements and documents.
Test: fast/dom/event-attribute-availability.html
* dom/Document.idl:
* dom/Element.idl:
* dom/Node.cpp:
* dom/Node.h:
* dom/Node.idl:
2009-06-21 Daniel Bates <dbates@intudata.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=26580
Fix to enable XSSAuditor on child windows.
Test: http/tests/security/xssAuditor/link-opens-new-window.html
* page/XSSAuditor.cpp:
(WebCore::XSSAuditor::XSSAuditor):
(WebCore::XSSAuditor::isEnabled):
(WebCore::XSSAuditor::canEvaluate):
(WebCore::XSSAuditor::canCreateInlineEventListener):
(WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
(WebCore::XSSAuditor::canLoadObject):
* page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled.
Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation
to query Settings.
2009-06-21 David Levin <levin@chromium.org>
Reviewed by NOBODY.
Speculative windows build fix (idea by Mark Rowe).
* WebCore.vcproj/WebCore.vcproj:
2009-06-21 David Levin <levin@chromium.org>
Reviewed by NOBODY (Speculative gtk build fix).
* GNUmakefile.am:
2009-06-21 David Levin <levin@chromium.org>
Reviewed by NOBODY.
Speculative tiger build fix and a windows build fix.
More fixes may still be in order.
* WebCore.vcproj/WebCoreCommon.vsprops:
* dom/default/PlatformMessagePortChannel.h:
(WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
2009-06-21 David Levin <levin@chromium.org>
Reviewed by NOBODY (Speculative tiger build fix).
* dom/default/PlatformMessagePortChannel.h:
(WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue):
2009-06-21 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
<https://bugs.webkit.org/show_bug.cgi?id=26448>
Added optimized GC for MessagePorts when the entangled port is run by the same thread.
Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port.
* bindings/js/JSDOMBinding.cpp:
(WebCore::markActiveObjectsForContext):
Now marks remotely entangled ports as in-use, in addition to those with pending activity.
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::mark):
Now checks if the entangled port is local (run by same thread) and if so mark()s it.
* dom/MessagePort.cpp:
(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentangle):
Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports.
(WebCore::MessagePort::start):
(WebCore::MessagePort::locallyEntangledPort):
Added API for fetching the entangled port if it is run by the same thread
* dom/MessagePort.h:
* dom/MessagePortProxyWrapper.h:
* dom/default/MessagePortProxy.cpp:
(WebCore::MessagePortProxyWrapper::locallyEntangledPort):
Added API for fetching the entangled port if it is run by the same thread
(WebCore::MessagePortProxy::hasPendingActivity):
Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages.
(WebCore::MessagePortProxy::locallyEntangledPort):
* dom/default/MessagePortProxy.h:
2009-06-21 Drew Wilson <atwilson@google.com>
Reviewed by David Levin.
<https://bugs.webkit.org/show_bug.cgi?id=25043>
Removed obsolete MessagePort.startConversation(), active and onclose APIs.
Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel
implementation. Modified APIs to simplify cross-process implementations by moving the messaging code
entirely into the platform-dependent proxy.
Created a thread-safe default PlatformMessagePortChannel implementation.
Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how
cross-thread MessagePorts work.
* GNUMakefile.am:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Added MessagePortChannel/PlatformMessagePortChannel files.
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::mark):
Changed ports to not mark their entangled pair as reachable, per the spec.
* bindings/v8/custom/V8MessagePortCustom.cpp:
* dom/MessageChannel.cpp:
(WebCore::MessageChannel::MessageChannel):
Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports.
* dom/MessagePort.cpp:
(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::~MessagePort):
(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentangle):
(WebCore::MessagePort::messageAvailable):
(WebCore::MessagePort::start):
(WebCore::MessagePort::close):
(WebCore::MessagePort::entangle):
(WebCore::MessagePort::contextDestroyed):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::setOnmessage):
(WebCore::MessagePort::hasPendingActivity):
Changed these APIs to delegate to new PlatformMessagePortChannel APIs.
* dom/MessagePort.h:
Renamed isQueueOpen() to started().
* dom/MessagePort.idl:
Removed startConversation and onclose.
* dom/MessagePortProxy.h: Removed.
* dom/MessagePortChannel.cpp: Added.
(WebCore::MessagePortChannel::EventData::create):
(WebCore::MessagePortChannel::EventData::EventData):
(WebCore::MessagePortChannel::~MessagePortChannel):
* dom/MessagePortChannel.h: Added.
(WebCore::MessagePortChannel::EventData::message):
(WebCore::MessagePortChannel::EventData::channel):
Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging.
(WebCore::MessagePortChannel::MessagePortChannel):
(WebCore::MessagePortChannel::create):
* dom/ScriptExecutionContext.cpp:
(WebCore:ScriptExecutionContext::dispatchMessagePortEvents):
Renamed isQueueOpen() to started().
* dom/default/PlatformMessagePortChannel.cpp: Added.
(WebCore::MessagePortChannel::entangleIfOpen):
(WebCore::MessagePortChannel::disentangle):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):
(WebCore::MessagePortChannel::close):
(WebCore::MessagePortChannel::isConnectedTo):
(WebCore::MessagePortChannel::hasPendingActivity):
(WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
(WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
(WebCore::PlatformMessagePortChannel::createChannel):
(WebCore::PlatformMessagePortChannel::entangleIfOpen):
(WebCore::PlatformMessagePortChannel::disentangle):
(WebCore::PlatformMessagePortChannel::setRemotePort):
(WebCore::PlatformMessagePortChannel::remotePort):
(WebCore::PlatformMessagePortChannel::entangledChannel):
(WebCore::PlatformMessagePortChannel::setEntangledChannel):
(WebCore::PlatformMessagePortChannel::postMessageToRemote):
(WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
(WebCore::PlatformMessagePortChannel::isConnectedTo):
(WebCore::PlatformMessagePortChannel::close):
(WebCore::PlatformMessagePortChannel::closeInternal):
(WebCore::PlatformMessagePortChannel::hasPendingActivity):
* dom/default/PlatformMessagePortChannel.h: Added.
(WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
(WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
(WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
(WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty):
(WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue):
* page/DOMWindow.cpp:
(WebCore::PostMessageTimer::PostMessageTimer):
Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work.
(WebCore::PostMessageTimer::event):
(WebCore::DOMWindow::postMessage):
(WebCore::DOMWindow::postMessageTimerFired):
2009-06-21 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- fix https://bugs.webkit.org/show_bug.cgi?id=15383
<rdar://problem/5682745> resize: vertical does not restrict to vertical
resize
Test: fast/css/resize-single-axis.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize): Ignore movement along the non-resizing
axis.
2009-06-21 Sam Weinig <sam@webkit.org>
Reviewed by Eric Seidel
Fix for https://bugs.webkit.org/show_bug.cgi?id=26578
event.currentTarget for listener registered on window should point to the window object like in Firefox
Test: fast/events/event-trace.html
* dom/Node.cpp:
(WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched
to it. We previously used the document because DOMWindow was not yet an EventTarget.
2009-06-21 Dan Bernstein <mitz@apple.com>
Reviewed by Sam Weinig.
- fix https://bugs.webkit.org/show_bug.cgi?id=9694
resize value not compared
Test: fast/css/resize-value-compared.html
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::operator==): Compare the resize
member.
2009-06-19 Alice Liu <alice.liu@apple.com>
Fix https://bugs.webkit.org/show_bug.cgi?id=26568
Repro crash animating GIF if previously used in a closed window's back/forward list
Also filed as <rdar://problem/6978362>
Reviewed by Maciej Stachowiak.
Can't test this bug with an automated layout test since it requires b/f caching
* manual-tests/animated-gif-bfcache-crash.html: Added.
* manual-tests/resources/containsAnimatedGif.html: Added.
Adding checks for hostWindow() since there is no guarantee that the Page is alive
* platform/ScrollView.cpp:
(WebCore::ScrollView::scrollRectIntoViewRecursively):
(WebCore::ScrollView::contentsToScreen):
(WebCore::ScrollView::screenToContents):
(WebCore::ScrollView::wheelEvent):
2009-06-20 Sam Weinig <sam@webkit.org>
Reviewed by Adam Barth.
Fix for https://bugs.webkit.org/show_bug.cgi?id=26554
Shadowing of top and parent
* page/DOMWindow.idl:
2009-06-20 Mark Rowe <mrowe@apple.com>
Reviewed by Dan Bernstein.
Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>.
Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none
We allow selections to begin within an element that has -webkit-user-select: none set,
unless the element is draggable as dragging should take priority over starting a selection.
Test: editing/selection/user-drag-element-and-user-select-none.html
* dom/Node.cpp:
(WebCore::Node::canStartSelection):
2009-06-20 Darin Adler <darin@apple.com>
Reviewed by Dan Bernstein.
Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com
https://bugs.webkit.org/show_bug.cgi?id=26528
rdar://problem/6985329
* editing/TextIterator.cpp:
(WebCore::TextIterator::handleReplacedElement): When entering a text control,
start at the top of the shadow tree (by calling shadowTreeRootNode). Also
remove assumption that innerTextElement will never be 0 since RenderTextControl
doesn't really guarantee this.
2009-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by NOBODY.
Speculative Qt build fix - add HTMLDataGridColElement to the build script.
* WebCore.pro:
2009-06-19 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26561
Remove a memcpy by retrieving the already existing copy of a string
instead of making a new one.
* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::source):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::source):
2009-06-19 Brian Weinstein <bweinstein@apple.com>
Reviewed by Steve Falkenburg.
https://bugs.webkit.org/show_bug.cgi?id=26488
No Support for Single Finger or Two Finger Panning in Windows 7
The code in WebCore allows us to interpret a Pan gesture as
a mousewheel event, and we are able to reuse the scrolling code.
Another constructor was created in WheelEventWin which takes data
better suited to the pan guesture than what was currently there.
Unable to add tests to simulate touch behavior/gestures.
* platform/PlatformWheelEvent.h:
* platform/win/WheelEventWin.cpp:
2009-06-19 Chris Marrin <cmarrin@apple.com>
Fixed a build error, which only shows up in the i386 compile
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::animateTransform):
2009-06-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6988385> REGRESSION: In full page video player, movie's
video track becomes detached from its controller.
When in the media document, the MediaPlayer should not report that it
is capable of hardware acceleration, because it renders via a QTMovieView
which is already accelerated.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
2009-06-19 Kevin Ollivier <kevino@theolliviers.com>
Adding XSSAuditor.cpp to the wx build.
* WebCoreSources.bkl:
2009-06-19 Chris Marrin <cmarrin@apple.com>
Reviewed by Simon Fraser <simon.fraser@apple.com>.
https://bugs.webkit.org/show_bug.cgi?id=26544
If I am doing a Matrix hardware animation and any matrix is singular, I revert to software.
This is not really testable, since we can't see what the hardware animation is doing.
* platform/graphics/mac/GraphicsLayerCA.mm:
(WebCore::GraphicsLayerCA::animateTransform):
2009-06-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej Stachowiak.
An additional fix for Bug 26532: Native functions do not correctly unlink
from optimised callsites when they're collected
<https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385>
Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame
accessors, so the type of object you get to wrap a function is the same,
regardless of whether the access to the function is cross-frame.
This is faster and more idiomatic than what we had before. It also would
have avoided Bug 26532 because it would have prevented a conflicting
PrototypeFunction from being allocated to wrap postMessage, where a
NativeFunctionWrapper had been allocated previously.
* bindings/js/JSDOMBinding.cpp:
(WebCore::objectToStringFunctionGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::nonCachingStaticFunctionGetter):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):
* bindings/js/JSLocationCustom.cpp:
(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):
2009-06-19 Simon Fraser <simon.fraser@apple.com>
Reviewed by John Sullivan
<rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent
Fix a crash that could occur in complex content due to timing issues
when doing a partial layer tree rebuild which is required when painting;
setCompositingParent() could be called with a parent which has not been made
compositing yet.
2009-06-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Build fix. Adding missing HTMLDataGrid* files to the build.
* GNUmakefile.am:
2009-06-19 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26460 part three
Make BMPImageReader a standalone class that is used by ICOImageDecoder
and BMPImageDecoder to decode individual BMPs within a file. These
decoders now inherit directly from ImageDecoder.
This also makes these decoders decode on-demand in isSizeAvailable() and
frameBufferAtIndex(), like the other decoders, instead of when setData()
is called, like before. This should provide a speedup on pages
containing BMPs that aren't immediately onscreen.
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::BMPImageDecoder):
(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::isSizeAvailable):
(WebCore::BMPImageDecoder::frameBufferAtIndex):
(WebCore::BMPImageDecoder::decodeWithCheckForDataEnded):
(WebCore::BMPImageDecoder::decode):
(WebCore::BMPImageDecoder::processFileHeader):
* platform/image-decoders/bmp/BMPImageDecoder.h:
(WebCore::BMPImageDecoder::readUint32):
* platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::BMPImageReader):
(WebCore::BMPImageReader::decodeBMP):
(WebCore::BMPImageReader::readInfoHeaderSize):
(WebCore::BMPImageReader::processInfoHeader):
(WebCore::BMPImageReader::readInfoHeader):
(WebCore::BMPImageReader::processBitmasks):
(WebCore::BMPImageReader::processColorTable):
(WebCore::BMPImageReader::processRLEData):
(WebCore::BMPImageReader::processNonRLEData):
(WebCore::BMPImageReader::setFailed):
* platform/image-decoders/bmp/BMPImageReader.h:
(WebCore::BMPImageReader::readUint16):
(WebCore::BMPImageReader::readUint32):
(WebCore::BMPImageReader::setBuffer):
(WebCore::BMPImageReader::setData):
(WebCore::BMPImageReader::):
(WebCore::BMPImageReader::pastEndOfImage):
(WebCore::BMPImageReader::readCurrentPixel):
(WebCore::BMPImageReader::setRGBA):
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::isSizeAvailable):
(WebCore::ICOImageDecoder::size):
(WebCore::ICOImageDecoder::frameBufferAtIndex):
(WebCore::ICOImageDecoder::decodeWithCheckForDataEnded):
(WebCore::ICOImageDecoder::decode):
(WebCore::ICOImageDecoder::processDirectory):
(WebCore::ICOImageDecoder::processDirectoryEntries):
(WebCore::ICOImageDecoder::readDirectoryEntry):
(WebCore::ICOImageDecoder::processImageType):
* platform/image-decoders/ico/ICOImageDecoder.h:
(WebCore::ICOImageDecoder::readUint16):
(WebCore::ICOImageDecoder::readUint32):
2009-06-19 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=26555
Fix the Chromium canary bot. Turns out ScriptSourceCode doesn't have
the same API in V8 and JSC.
* WebCore/bindings/js/ScriptController.cpp:
* WebCore/bindings/js/ScriptSourceCode.h:
* WebCore/bindings/v8/ScriptController.cpp:
* WebCore/page/XSSAuditor.cpp:
* WebCore/page/XSSAuditor.h:
2009-06-19 David Hyatt <hyatt@apple.com>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=26547
Implement the IDL interface for HTMLDataGridColElement.
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* html/HTMLAttributeNames.in:
* html/HTMLDataGridColElement.cpp: Added.
(WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
(WebCore::HTMLDataGridColElement::label):
(WebCore::HTMLDataGridColElement::setLabel):
(WebCore::HTMLDataGridColElement::type):
(WebCore::HTMLDataGridColElement::setType):
(WebCore::HTMLDataGridColElement::sortable):
(WebCore::HTMLDataGridColElement::setSortable):
(WebCore::HTMLDataGridColElement::sortDirection):
(WebCore::HTMLDataGridColElement::setSortDirection):
(WebCore::HTMLDataGridColElement::selected):
(WebCore::HTMLDataGridColElement::setSelected):
* html/HTMLDataGridColElement.h: Added.
(WebCore::HTMLDataGridColElement::endTagRequirement):
(WebCore::HTMLDataGridColElement::tagPriority):
* html/HTMLDataGridColElement.idl: Added.
* html/HTMLDataGridElement.h:
* html/HTMLElementsAllInOne.cpp:
* html/HTMLTagNames.in:
* page/DOMWindow.idl:
2009-06-19 Chris Evans <scarybeasts@gmail.com>
Reviewed by Eric Seidel.
There is no new test because this cannot be tested deterministically.
I've not been able to cause a crash at all in the test framework, but
I have verified that this is happening in the wild and that the patch
fixes the likely cause in the debugger.
* loader/TextResourceDecoder.cpp: careful not to iterate off the end
of our input buffer looking for the end of the comment.
2009-06-19 Adam Barth <abarth@webkit.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=26536
Fix external-script-URL-location.html and
write-external-script-open.html LayoutTests.
implicitOpen is called from several places. We need to setXSSAuditor
each time, so I moved the call inside implicitOpen.
* dom/Document.cpp:
(WebCore::Document::open):
(WebCore::Document::implicitOpen):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin):
2009-06-19 Kent Tamura <tkent@chromium.org>
Reviewed by David Levin.
Use WebCore::multipleFileUploadText() in Chromium to fix a problem
that Chromium shows only the first filename even if a user selects
multiple files for <input type=file multiple>.
<https://bugs.webkit.org/show_bug.cgi?id=26502>
* platform/chromium/FileChooserChromium.cpp:
(WebCore::FileChooser::basenameForWidth):
2009-06-19 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
- fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried
to look up a word in Dictionary using command-control-d
Test: editing/selection/move-by-line-005.html
The root cause of this bug was searchAheadForBetterMatch() continuing
past the first rendered text object after the given object. While we
want to skip non-rendered text and empty containers, when we encounter
rendered text object, we must return a text box for that object.
* dom/Position.cpp:
(WebCore::searchAheadForBetterMatch):
2009-06-19 Jungshik Shin <jshin@chromium.org>
Reviewed by David Levin
https://bugs.webkit.org/show_bug.cgi?id=25657
Chromium Linux port does not handle non-BMP characters properly.
It's fixed with a 'UTF-16 iterator macro' to extract Unicode
codepoints out of a UTF-16 input string.
A manual test is added for non-BMP character rendering,
which we can use until a small freely-distributable font
covering non-BMP is added to the Webkit source tree.
* platform/graphics/chromium/FontCacheLinux.cpp:
(WebCore::FontCache::getFontDataForCharacters):
* manual-tests/non-bmp.html: Added.
2009-06-19 Pavel Feldman <pfeldman@chromium.org>
Reviewed by Dimitri Glazkov.
V8 Bindings: return proper state from the script stack.
https://bugs.webkit.org/show_bug.cgi?id=26512
* bindings/v8/ScriptCallStack.cpp:
(WebCore::ScriptCallStack::ScriptCallStack):
* bindings/v8/ScriptCallStack.h:
(WebCore::ScriptCallStack::state):
2009-06-19 Jessie Berlin <jberlin@apple.com>
Reviewed by Simon Fraser.
Windows build fix.
* platform/graphics/cg/PatternCG.cpp:
(WebCore::Pattern::createPlatformPattern):
2009-06-19 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Simon Hausmann.
Build fix after 44825.
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::isSizeAvailable):
* platform/graphics/qt/ImageDecoderQt.h:
2009-06-18 Shinichiro Hamaji <hamaji@chromium.org>
Reviewed by Oliver Hunt.
Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird
<https://bugs.webkit.org/show_bug.cgi?id=26426>
Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f.
The original number cannot be represented by mantissa of float
(23bit) so that it caused some error.
Test: fast/canvas/image-object-in-canvas.html:
* platform/graphics/cg/PatternCG.cpp:
(WebCore::Pattern::createPlatformPattern):
2009-06-19 Adam Barth <abarth@webkit.org>
Unreviewed attempt to fix the Chromium build.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::ScriptController):
(WebCore::ScriptController::evaluate):
* bindings/v8/ScriptController.h:
(WebCore::ScriptController::xssAuditor):
* bindings/v8/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
2009-06-18 Adam Barth <abarth@webkit.org>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=26199
Added an experimental reflective XSS filter. The filter is disabled by
default.
Test: http/tests/security/xssAuditor/script-tag.html
* GNUmakefile.am:
* WebCore.base.exp:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::ScriptController):
(WebCore::ScriptController::evaluate):
* bindings/js/ScriptController.h:
(WebCore::ScriptController::xssAuditor):
* bindings/js/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* dom/Tokenizer.h:
(WebCore::Tokenizer::xssAuditor):
(WebCore::Tokenizer::setXSSAuditor):
(WebCore::Tokenizer::Tokenizer):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::scriptHandler):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::requestObject):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setXSSAuditorEnabled):
* page/Settings.h:
(WebCore::Settings::xssAuditorEnabled):
* page/XSSAuditor.cpp: Added.
(WebCore::isControlCharacter):
(WebCore::XSSAuditor::XSSAuditor):
(WebCore::XSSAuditor::~XSSAuditor):
(WebCore::XSSAuditor::canEvaluate):
(WebCore::XSSAuditor::canCreateInlineEventListener):
(WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
(WebCore::XSSAuditor::canLoadObject):
(WebCore::XSSAuditor::decodeURL):
(WebCore::XSSAuditor::findInRequest):
* page/XSSAuditor.h: Added.
(WebCore::XSSAuditor::isEnabled):
(WebCore::XSSAuditor::setXSSAuditorEnabled):
2009-06-18 Dirk Schulze <krit@webkit.org>
Reviewed by Oliver Hunt.
feOffset and objectBoundingBox
[https://bugs.webkit.org/show_bug.cgi?id=26441]
If we use objectBoundingBox for primitiveUnits, the fractions given
to dx or dy of feOffset must be multiplied with the referenced objects
objectBoundingBox size.
Test: svg/filters/feOffset.svg
* svg/graphics/filters/SVGFEOffset.cpp:
(WebCore::FEOffset::apply):
2009-06-18 Dirk Schulze <krit@webkit.org>
Reviewed by Oliver Hunt.
feTile implementation missing
[https://bugs.webkit.org/show_bug.cgi?id=26419]
Implementation of feTile, a pattern effect for SVG filters. It was
necessary to modify FilterEffect since source inputs need a secial
logic and we have to identify if an effect is a source input.
Tests: svg/batik/filters/feTile.svg
svg/filters/feTile.svg
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::isSourceInput):
* platform/graphics/filters/SourceAlpha.h:
(WebCore::SourceAlpha::isSourceInput):
* platform/graphics/filters/SourceGraphic.h:
(WebCore::SourceGraphic::isSourceInput):
* svg/graphics/filters/SVGFETile.cpp:
(WebCore::FETile::apply):
2009-06-18 Dirk Schulze <krit@webkit.org>
Reviewed by Oliver Hunt.
feMerge implementation
[https://bugs.webkit.org/show_bug.cgi?id=26480]
Added feMerge to the SVG Filter system.
Test: svg/filters/feMerge.svg
* svg/graphics/filters/SVGFEMerge.cpp:
(WebCore::FEMerge::uniteChildEffectSubregions):
(WebCore::FEMerge::apply):
* svg/graphics/filters/SVGFEMerge.h:
2009-06-18 Mark Rowe <mrowe@apple.com>
Speculative Windows build fix.
* page/win/FrameCGWin.cpp: Add missing #include.
2009-06-17 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Dave Levin.
https://bugs.webkit.org/show_bug.cgi?id=26425
Final refactorings, picking up a few places where BitmapInfo
could be used.
* page/win/FrameCGWin.cpp:
(WebCore::imageFromRect):
* platform/win/CursorWin.cpp:
(WebCore::Cursor::Cursor):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint):
2009-06-18 Chris Fleizach <cfleizach@apple.com>
Reviewed by Darin Adler.
Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely
https://bugs.webkit.org/show_bug.cgi?id=26522
Test: accessibility/non-data-table-cell-title-ui-element.html
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::titleUIElement):
2009-06-18 Kevin Ollivier <kevino@theolliviers.com>
wx build fix after recent RenderTheme changes.
* platform/wx/RenderThemeWx.cpp:
(WebCore::RenderThemeWx::~RenderThemeWx):
(WebCore::RenderTheme::themeForPage):
2009-06-18 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26460 part two
Attempt to minimize diff of following functional change by first landing
non-functional change to:
* Make readUintX() public and static (since they will need to be once
BMPImageReader is included in *ImageDecoder via composition rather
than inheritance). Add wrappers in each class so callers can be
simpler. In the next patch, these wrappers will be beefed up slightly
and the callers will get even simpler.
* Change direct setting of m_failed to use setFailed(), since in the
next patch much of this code won't even have direct access to m_failed
* Add a helper function in ICOImageDecoder to determine the image type
instead of simply doing it inline
* Rewrap lines that used to be <=80 cols and slipped over it during the
original landing of these decoders
* Other misc. changes, e.g. adding constructor definitions, reordering
functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no
functional effect but minimize the subsequent diff for readability
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::BMPImageDecoder):
(WebCore::BMPImageDecoder::processFileHeader):
* platform/image-decoders/bmp/BMPImageDecoder.h:
(WebCore::BMPImageDecoder::readUint32):
* platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::decodeBMP):
(WebCore::BMPImageReader::getInfoHeaderSize):
(WebCore::BMPImageReader::processInfoHeader):
(WebCore::BMPImageReader::readInfoHeader):
(WebCore::BMPImageReader::processBitmasks):
(WebCore::BMPImageReader::processColorTable):
(WebCore::BMPImageReader::processRLEData):
(WebCore::BMPImageReader::processNonRLEData):
* platform/image-decoders/bmp/BMPImageReader.h:
(WebCore::BMPImageReader::readUint16Helper):
(WebCore::BMPImageReader::readUint32Helper):
(WebCore::BMPImageReader::):
(WebCore::BMPImageReader::readUint16):
(WebCore::BMPImageReader::readUint32):
(WebCore::BMPImageReader::readCurrentPixel):
(WebCore::BMPImageReader::getComponent):
(WebCore::BMPImageReader::setI):
(WebCore::BMPImageReader::setRGBA):
(WebCore::BMPImageReader::fillRGBA):
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::isSizeAvailable):
(WebCore::ICOImageDecoder::size):
(WebCore::ICOImageDecoder::decodeImage):
(WebCore::ICOImageDecoder::processDirectory):
(WebCore::ICOImageDecoder::processDirectoryEntries):
(WebCore::ICOImageDecoder::isBetterEntry):
(WebCore::ICOImageDecoder::processImageType):
* platform/image-decoders/ico/ICOImageDecoder.h:
(WebCore::ICOImageDecoder::readUint16):
(WebCore::ICOImageDecoder::readUint32):
2009-06-18 Peter Kasting <pkasting@google.com>
Fix build bustage.
* platform/image-decoders/gif/GIFImageDecoder.h:
2009-06-18 Kevin McCullough <kmccullough@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit
Convert intptr_t to Strings so that we don't loose bits in the
conversion to JS. Previously they were being put into 32bit ints.
* inspector/InspectorController.cpp: Convert the String back to an
intptr_t.
(WebCore::InspectorController::addBreakpoint):
(WebCore::InspectorController::removeBreakpoint):
* inspector/InspectorController.h:
* inspector/InspectorController.idl: Use strings in JS to avoid 32bit
truncation.
* inspector/InspectorFrontend.cpp: Make the intptr_t into a String.
(WebCore::InspectorFrontend::parsedScriptSource):
* platform/text/PlatformString.h: Implemented the necessary conversion
functions to be able to convert to and from an intptr_t.
* platform/text/String.cpp: Ditto.
(WebCore::String::toIntPtrStrict):
(WebCore::String::toIntPtr):
(WebCore::charactersToIntPtrStrict):
(WebCore::charactersToIntPtr):
* platform/text/StringImpl.cpp: Ditto.
(WebCore::StringImpl::toIntPtrStrict):
(WebCore::StringImpl::toIntPtr):
* platform/text/StringImpl.h: Ditto.
2009-06-17 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Eric Seidel.
Final cleanups in this refactoring:
(1) Move WindowsBitmap implementation from CG-specific file to
the platform-common GraphicsContextWin.cpp, since it is
equally useful on both platforms.
(2) Revise the TransformationMatrix logic as suggested by
Adam Roben in his review comments to Part #2 of this
refactoring.
* platform/graphics/win/GraphicsContextCGWin.cpp:
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
(WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
(WebCore::GraphicsContext::createWindowsBitmap):
(WebCore::GraphicsContext::getWindowsContext):
(WebCore::GraphicsContextPlatformPrivate::scale):
(WebCore::GraphicsContextPlatformPrivate::rotate):
(WebCore::GraphicsContextPlatformPrivate::translate):
(WebCore::GraphicsContextPlatformPrivate::concatCTM):
2009-06-18 Peter Kasting <pkasting@google.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26460 part one
Make isSizeAvailable non-const, since it's not logically const (it
triggers lazy decoding), and simplify all the implementations (without
changing behavior; just make less verbose). Remove some other
inappropriate consts, which enables the removal of all the mutable
declarations in the decoders.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::isSizeAvailable):
(WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this.
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::isSizeAvailable):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.h:
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::isSizeAvailable):
* platform/image-decoders/ico/ICOImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::isSizeAvailable):
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::isSizeAvailable):
(WebCore::PNGImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.h:
* platform/image-decoders/xbm/XBMImageDecoder.cpp:
(WebCore::XBMImageDecoder::isSizeAvailable):
(WebCore::XBMImageDecoder::frameBufferAtIndex):
(WebCore::XBMImageDecoder::decode):
* platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders.
2009-06-17 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Eric Seidel.
Move some common functions out of platform files and into
the common implementation.
https://bugs.webkit.org/show_bug.cgi?id=26425.
Add a new platform context method (flush) so that the
getWindowsContext method can be consolidated into the common
GraphicsContextWin.cpp file.
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
(WebCore::GraphicsContextPlatformPrivate::flush):
* platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
(WebCore::GraphicsContextPlatformPrivate::flush):
* platform/graphics/win/GraphicsContextCGWin.cpp: Remove
getWindowContext method.
* platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
getWindowContext method and fillWithClearColor methods.
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::fillWithClearColor): Moved from *CairoWin.cpp
(WebCore::GraphicsContext::getWindowsContext): Moved
from *CairoWin.cpp
2009-06-18 Ojan Vafai <ojan@chromium.org>
Reviewed by Oliver Hunt.
Remove code that I accidentally committed in r44811.
* editing/markup.cpp:
(WebCore::createMarkup):
2009-06-18 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/6983207> Non-layer content is not re-rendered when transition
starts sometimes (with hardware acceleration).
When deciding which RenderLayers should be composited, when a layer goes into
compositing mode we repaint the old location. However, we did that before
we'd looked at all the factors that may force a layer to composite, so missed
some cases. Fix by doing the repaint once we really know whether it's going
to composite.
Test: compositing/repaint/become-overlay-composited-layer.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
2009-06-18 Simon Fraser <simon.fraser@apple.com>
Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and
the Tiger build where QTMovieLayer does not exist.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovieLayer):
(WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
(WebCore::MediaPlayerPrivate::currentRenderingMode):
(WebCore::MediaPlayerPrivate::setUpVideoRendering):
(WebCore::MediaPlayerPrivate::tearDownVideoRendering):
(WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
2009-06-18 Simon Fraser <simon.fraser@apple.com>
Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::currentRenderingMode):
(WebCore::MediaPlayerPrivate::setUpVideoRendering):
(WebCore::MediaPlayerPrivate::tearDownVideoRendering):
2009-06-17 Erik Arvidsson <arv@chromium.org>
Reviewed by Adele Peterson.
https://bugs.webkit.org/show_bug.cgi?id=15189
Adds the HTML5 input event support for textarea.
Also, moves the oninput attribute parse handling to HTMLElement so that
it can be set on any HTML element so that bubbling events can be handled
using HTML attribute handlers.
Test: fast/forms/textarea-input-event.html
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::subtreeHasChanged):
2009-06-18 Dirk Schulze <krit@webkit.org>
Reviewed by Oliver Hunt.
Share code between filterEffects
[https://bugs.webkit.org/show_bug.cgi?id=26479]
Share more code of filter effects. The imageBuffer creation can move to
FilterEffect ant every effect asks for the GraphicsContext. Move the
drawingRect calculation to FilterEffect.
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::calculateDrawingRect):
(WebCore::FilterEffect::getEffectContext):
* platform/graphics/filters/FilterEffect.h:
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::apply):
* svg/graphics/filters/SVGFEFlood.cpp:
(WebCore::FEFlood::apply):
* svg/graphics/filters/SVGFEOffset.cpp:
(WebCore::FEOffset::apply):
2009-06-18 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=26499
Support hardware-accelerationed rendering of video elements.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
(WebCore::HTMLMediaElement::mediaPlayerRepaint):
Just move these methods to group the render-related methods together.
(WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
Call out method to ask the RenderLayerCompositor if presentation of this video
can be acclerated. It might say no, if, for example, the video has a reflection.
(WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
Fetch the GraphicsLayer from the RenderVideo that will host the movie layer.
* html/HTMLMediaElement.h:
Reordered the rendering-related methods, and added two methods related to video
acceleration.
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::acceleratedRenderingStateChanged):
Called by the rendering system when it determines that the video must go into, or
fall off of the hardware-accelerated path.
(WebCore::MediaPlayer::supportsAcceleratedRendering):
Method to say whether the media engine supports accelerated rendering.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerRepaint):
(WebCore::MediaPlayerClient::mediaPlayerSizeChanged):
Moved.
(WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated):
(WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer):
New methods to ask the client if the rendering system can support accelerated
rendering, and to get a GraphicsLayer to plug the movie layer into.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering):
(WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged):
Forwarding methods from MediaPlayer.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovieLayer):
(WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
Methods to create and destroy the QTMovieLayer.
(WebCore::MediaPlayerPrivate::currentRenderingMode):
(WebCore::MediaPlayerPrivate::preferredRenderingMode):
Methods to clarify the code that decides which of the 3 rendering modes to use.
(WebCore::MediaPlayerPrivate::setUpVideoRendering):
Changed to use the new rendering mode methods.
(WebCore::MediaPlayerPrivate::tearDownVideoRendering):
Destroy the layer if we have one.
(WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
Small utility method.
(WebCore::MediaPlayerPrivate::updateStates):
Move the call to setUpVideoRendering() to before we send out the state notifications,
so that we will have created the rendering objects already.
(WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
Return true if we have QTMovieLayer.
(WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
We've been told that we went into or out of accelerated mode; maybe reset
the renderer, and set the layer if we have to.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::rendererContentChanged):
We may need to udpate compositing layers if the video went into accelerated mode.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::canUseDirectCompositing):
Add smarts to deal with video, which allows us to avoid extra backing store.
(WebCore::RenderLayerBacking::contentsBox):
Use the videoBox to use the content layer for video layers.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerCompositingState):
Poke the RenderVideo if the state changed.
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
Handle an edge case when the video element itself is a stacking context
because of opacity or transform.
(WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo):
Allow video to throw us into compositing mode if the media engine supports it.
* rendering/RenderLayerCompositor.h:
New methods related to video.
* rendering/RenderVideo.h:
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::updatePlayer):
Call rendererContentChanged() to give the compositor a change to throw the video into
compositing mode.
(WebCore::RenderVideo::supportsAcceleratedRendering):
(WebCore::RenderVideo::acceleratedRenderingStateChanged):
(WebCore::RenderVideo::videoGraphicsLayer):
Methods to allow the MediaPlayer to do rendering-related stuff via the media element.
2009-06-18 Rob Buis <rwlbuis@gmail.com>
Reviewed by Niko.
https://bugs.webkit.org/show_bug.cgi?id=26385
Root SVG element is not checked on requiredFeatures, requiredExtension like other elements
Also do the isValid check for outer <svg>.
Test: svg/custom/outer-svg-unknown-feature.svg
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::childShouldCreateRenderer):
* svg/SVGDocument.h:
2009-06-18 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
- fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on
apple.com cuts entered text
Test: fast/forms/search-vertical-alignment.html
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout): Vertically center the
the search field's inner block.
2009-06-18 Janne Koskinen <janne.p.koskinen@digia.com>
Reviewed by Simon Hausmann.
Fix compilation with Symbian WINSCW compiler, which produced
multiple definitions of the CSSPrimitiveValue conversion operators.
It turns out that they are defined inline but not declared inline.
Adding the inline keyword to the declaration fixes the build.
* css/CSSPrimitiveValue.h:
2009-06-18 Markus Goetz <Markus.Goetz@nokia.com>
Reviewed by Simon Hausman.
Clarify in docs how to compile with debug information.
* WebCore.pro:
2009-06-18 Jakub Wieczorek <faw217@gmail.com>
Reviewed by Simon Hausmann.
[Qt] When writing an URL to the clipboard, save the corresponding title
in the mime data as well.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::writeURL):
2009-06-18 Jakub Wieczorek <faw217@gmail.com>
[Qt] Fix build. Add HTMLDataGridElement.
* WebCore.pro:
2009-06-18 Jan Michael Alonzo <jmalonzo@webkit.org>
Gtk build fix.
Add HTMLDataGridElement header and IDL to the build script.
* GNUmakefile.am:
2009-06-18 Chris Evans <scarybeasts@gmail.com>
Reviewed by Adam Barth.
Fix 8-digit long hex entities. Fixes bug 26454
https://bugs.webkit.org/show_bug.cgi?id=26454
Test: fast/parser/eightdigithexentity.html
* html/HTMLTokenizer.cpp: fix off-by-ones.
2009-06-18 David Levin <levin@chromium.org>
Fix chromium linux build.
Fixes a mistake that happened during the complicated merge for
landing r44775, r44776, r44777.
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumLinux::create):
2009-06-17 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=26499
First step to making video rendering be hardware-accelerated:
make <video> elements get self-painting RenderLayers, and add
an isVideo() virtual method to RenderObject.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::isSelfPaintingLayer):
* rendering/RenderObject.h:
(WebCore::RenderObject::isVideo):
* rendering/RenderVideo.h:
(WebCore::RenderVideo::requiresLayer):
(WebCore::RenderVideo::isVideo):
2009-06-17 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Adam Roben.
Refactor a few common routines in the various Windows ports
and reduce some duplicated code.
(1) Create TransformationMatrix XFORM casting operator, and
switch various XFORM structure uses to utilize it.
(2) Push concatCTM call to GraphicsContextWin now that the
TransformationMatrix can directly create XFORM (rather
than converting to CGAffineTransform/cairo_matrix_t first.)
* WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure.
* platform/graphics/transforms/TransformationMatrix.h:
* platform/graphics/win/GraphicsContextCGWin.cpp:
* platform/graphics/win/GraphicsContextCairoWin.cpp:
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContextPlatformPrivate::scale):
(WebCore::GraphicsContextPlatformPrivate::rotate):
(WebCore::GraphicsContextPlatformPrivate::translate):
(WebCore::GraphicsContextPlatformPrivate::concatCTM):
* platform/graphics/win/TransformationMatrixWin.cpp: Added.
(WebCore::TransformationMatrix::operator XFORM): New operator
2009-06-17 Brent Fulgham <bfulgham@webkit.org>
Non-CG Windows build fix after @r44758.
* rendering/RenderThemeWin.cpp:
(WebCore::RenderTheme::themeForPage):
2009-06-17 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Adam Roben.
Refactor a few common routines in the various Windows ports
and reduce some duplicated code.
https://bugs.webkit.org/show_bug.cgi?id=26425.
Refactor use of BITMAPINFO for the new BitmapInfo structure.
* WebCore.vcproj/WebCore.vcproj:
* platform/win/BitmapInfo.cpp: Added.
(WebCore::bitmapInfoForSize):
(WebCore::BitmapInfo::create):
(WebCore::BitmapInfo::createBottomUp):
* platform/win/BitmapInfo.h: Added.
* platform/graphics/win/GraphicsContextCairoWin.cpp:
* platform/graphics/win/GraphicsContextCGWin.cpp:
* platform/graphics/win/TransformationMatrixWin.cpp: Added.
(WebCore::TransformationMatrix::operator XFORM): New operator
* platform/win/DragImageCGWin.cpp:
(WebCore::allocImage):
* platform/win/DragImageCairoWin.cpp:
(WebCore::allocImage):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeImage):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint):
2009-06-17 Adam Roben <aroben@apple.com>
Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL
Reviewed by Mark Rowe.
* platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and
an unnecessary parameter name.
* platform/win/SoftLinking.h: Removed the unused 6th parameter.
2009-06-17 Adam Roben <aroben@apple.com>
Make Settings::shouldPaintNativeControls default to true
This matches the default up in WebKit (that was changed in r43318).
Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style
form controls
<https://bugs.webkit.org/show_bug.cgi?id=26493>
Reviewed by Darin Adler and Dave Hyatt.
No test possible since DRT always uses Mac-style form controls.
* page/Settings.cpp: Changed the initial value of
gShouldPaintNativeControls to true.
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderTheme::themeForPage): Added a FIXME about the design
flaw here involving querying Settings before it's been initialized.
2009-06-17 David Levin <levin@chromium.org>
Fix chromium windows build.
A mistake that happened during the complicated merge for
landing r44775, r44776, r44777.
* rendering/RenderThemeChromiumWin.h:
(WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
(WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
2009-06-17 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
<rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent
* rendering/MediaControlElements.cpp:
(WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer.
(WebCore::MediaControlInputElement::attachToParent): Ditto.
2009-06-17 David Hyatt <hyatt@apple.com>
Fix Windows build. There's no HTMLDataGridElement.cpp file yet.
* html/HTMLElementsAllInOne.cpp:
2009-06-17 David Hyatt <hyatt@apple.com>
Reviewed by Adam Roben and Anders Carlsson.
Stub out the HTMLDataGridElement.
* DerivedSources.make:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::adjustRenderStyle):
* editing/htmlediting.cpp:
(WebCore::canHaveChildrenForEditing):
* html/HTMLDataGridElement.h: Added.
(WebCore::HTMLDataGridElement::HTMLDataGridElement):
(WebCore::HTMLDataGridElement::tagPriority):
* html/HTMLDataGridElement.idl: Added.
* html/HTMLElement.cpp:
(WebCore::inlineTagList):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::isAffectedByResidualStyle):
* html/HTMLTagNames.in:
2009-06-17 David Levin <levin@chromium.org>
Reviewed by NOBODY (chromium build fix).
Fix typo in previous changes.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::defaultGUIFont):
2009-06-17 Albert J. Wong <ajwong@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26148
Remove common code from RenderThemeChromiumWin that is shared with
RenderThemeChromiumSkia.
Also move supportsControlTints to RenderThemeChromiumLinux since it
is linux specific.
There are no tests changed because this just removes functions with
duplicate implementations between the base and derived classes.
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumLinux::supportsControlTints):
* rendering/RenderThemeChromiumLinux.h:
* rendering/RenderThemeChromiumSkia.cpp:
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::):
(WebCore::getNonClientMetrics):
(WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
(WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
(WebCore::RenderThemeChromiumWin::systemFont):
(WebCore::RenderThemeChromiumWin::paintCheckbox):
(WebCore::RenderThemeChromiumWin::paintRadio):
(WebCore::RenderThemeChromiumWin::paintSliderThumb):
(WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal):
* rendering/RenderThemeChromiumWin.h:
2009-06-17 Albert J. Wong <ajwong@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26148
Move RenderThemeChromiumSkia into its own file. This is purely a code move.
* rendering/RenderThemeChromiumLinux.cpp:
* rendering/RenderThemeChromiumLinux.h:
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::):
(WebCore::setSizeIfAuto):
(WebCore::mediaElementParent):
(WebCore::RenderThemeChromiumSkia::defaultGUIFont):
(WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
(WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
(WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
(WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
(WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
(WebCore::RenderThemeChromiumSkia::supportsHover):
(WebCore::RenderThemeChromiumSkia::supportsFocusRing):
(WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
(WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
(WebCore::RenderThemeChromiumSkia::systemFont):
(WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
(WebCore::RenderThemeChromiumSkia::paintCheckbox):
(WebCore::RenderThemeChromiumSkia::setCheckboxSize):
(WebCore::RenderThemeChromiumSkia::paintRadio):
(WebCore::RenderThemeChromiumSkia::setRadioSize):
(WebCore::brightenColor):
(WebCore::paintButtonLike):
(WebCore::RenderThemeChromiumSkia::paintButton):
(WebCore::RenderThemeChromiumSkia::paintTextField):
(WebCore::RenderThemeChromiumSkia::paintTextArea):
(WebCore::RenderThemeChromiumSkia::paintSearchField):
(WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
(WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
(WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
(WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
(WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
(WebCore::RenderThemeChromiumSkia::paintMenuList):
(WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
(WebCore::RenderThemeChromiumSkia::paintMenuListButton):
(WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
(WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
(WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
(WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
(WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
(WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
(WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
(WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
(WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
(WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
* rendering/RenderThemeChromiumSkia.h:
(WebCore::RenderThemeChromiumSkia::supportsControlTints):
2009-06-17 Albert J. Wong <ajwong@chromium.org>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=26148
Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux. This
is mostly a code shuffle. The non-suffle changes are:
1) Creation of a caretBlinkIntervalInternal.
2) Moving of some inline functions into the implementation files.
3) Changing of defaultGUIFont into a static class constant from a
static function. Also the type is changed to String.
4) Changing of defaultFontSize into a static class constant from a
static variable in the file scope.
5) The static supportsFocus function was collapsed into
supportsFocusRing.
6) Split the extraDefaultStyleSheet into Skia and Linux versions.
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumSkia::defaultGUIFont):
(WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
(WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
(WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
(WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
(WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
(WebCore::RenderThemeChromiumSkia::supportsHover):
(WebCore::RenderThemeChromiumSkia::supportsFocusRing):
(WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
(WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
(WebCore::RenderThemeChromiumSkia::systemFont):
(WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
(WebCore::RenderThemeChromiumSkia::paintCheckbox):
(WebCore::RenderThemeChromiumSkia::setCheckboxSize):
(WebCore::RenderThemeChromiumSkia::paintRadio):
(WebCore::RenderThemeChromiumSkia::setRadioSize):
(WebCore::RenderThemeChromiumSkia::paintButton):
(WebCore::RenderThemeChromiumSkia::paintTextField):
(WebCore::RenderThemeChromiumSkia::paintTextArea):
(WebCore::RenderThemeChromiumSkia::paintSearchField):
(WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
(WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
(WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
(WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
(WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
(WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
(WebCore::RenderThemeChromiumSkia::paintMenuList):
(WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
(WebCore::RenderThemeChromiumSkia::paintMenuListButton):
(WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
(WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
(WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
(WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
(WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
(WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
(WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
(WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
(WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
(WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
(WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
(WebCore::RenderThemeChromiumLinux::systemColor):
(WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
(WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
* rendering/RenderThemeChromiumLinux.h:
2009-06-17 Adam Roben <aroben@apple.com>
Add a SOFT_LINK_OPTIONAL macro
This macro is useful when soft-linking functions that are present in
only some versions of a particular library (e.g., APIs added in
Windows Vista that aren't available on Windows XP).
Reviewed by Ada Chan.
* platform/graphics/win/ColorSafari.cpp:
(WebCore::focusRingColor):
Use the SoftLinking.h macros instead of doing the soft-link ourselves.
Also removed an unused call to focusRingColor.isValid().
* platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL.
2009-06-17 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Gustavo Noronha.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470.
The use of zero-width or zero-height rectangles in generating
gradients caused Windows Cairo to crash, and webkitgtk to
produce invalid images.
We now test for NaN in the phase argument, which is calculated
using fmodf and can blow up when the width/height values passed
are zero.
Test: fast/gradients/border-image-gradient-sides-and-corners.html
* platform/graphics/cairo/ImageCairo.cpp:
(WebCore::Image::drawPattern):
2009-06-17 Ojan Vafai <ojan@chromium.org>
Reviewed by Dimitri Glazkov.
If loading a font fails because of the sandbox, we ask the browser process to
try to load it by calling ensureFontLoaded. If it still fails after
ensureFontLoaded, we hit a ASSERT_NOT_REACHED.
This case happens once in a while during browser shutdown. The browser will
queue a message to the renderer to shutdown, and will then stop answering sync
messages from the renderer. If the renderer is still loading a page during this
time, it might try to call the browser process to ask to load a font. The
browser process will ignore the request, and the font will fail to load, even
after the second try.
This is unfortunate, but there is no real risk here, since the renderer will be
going away as soon as it processes another message.
This can't be layout tested as it depends on the sandbox.
https://bugs.webkit.org/show_bug.cgi?id=26484
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::fontContainsCharacter):
2009-06-17 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=26482
<rdar://problem/6978590> When setting playback rate to 0, the audio element stops
playing (doesn't resume later)
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused".
* platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
(WebCore::MediaPlayerPrivate::setRate): Ditto.
2009-06-17 Adam Roben <aroben@apple.com>
Add all the generated JS*.cpp files back to WebCore.vcproj
They are not compiled by the vcproj directly. Instead they are
compiled as part of DerivedSources.cpp. Having them listed in the
vcproj makes them be included in Project Find, etc.
Rubber-stamped in advance by Steve Falkenburg.
* WebCore.vcproj/WebCore.vcproj:
2009-06-17 Kent Tamura <tkent@chromium.org>
Reviewed by Darin Fisher.
Don't fire redundant 'change' events for a file upload form.
https://bugs.webkit.org/show_bug.cgi?id=26471
* platform/FileChooser.cpp:
(WebCore::FileChooser::chooseFiles): Suppress change event if the
existing selected files and the incoming selected files are equal.
(WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected
files.
2009-06-17 Adam Treat <adam.treat@torchmobile.com>
Reviewed by George Staikos.
https://bugs.webkit.org/show_bug.cgi?id=23155
Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
* platform/KeyboardCodes.h:
2009-06-17 George Staikos <george.staikos@torchmobile.com>
Reviewed by Adam Treat.
https://bugs.webkit.org/show_bug.cgi?id=23155
Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::getWindowsContext):
* platform/win/SystemTimeWin.cpp:
(WebCore::userIdleTime):
2009-06-17 Adam Roben <aroben@apple.com>
Speculative Mac build fix
* page/Page.h: Forward-declare RenderTheme instead of including
RenderTheme.h so that we don't need to make RenderTheme.h a private
header for WebKit's benefit.
* editing/SelectionController.cpp:
* rendering/InlineTextBox.cpp:
* rendering/RenderObject.cpp:
Added #includes of RenderTheme.h.
2009-06-17 Adam Roben <aroben@apple.com>
Speculative Mac build fix
* rendering/RenderThemeMac.mm:
(WebCore::RenderTheme::create): Added.
2009-06-17 Adam Roben <aroben@apple.com>
Speculative Mac build fix
* rendering/RenderThemeMac.mm:
(WebCore::RenderTheme::themeForPage): Remove the name of an unused
parameter.
2009-06-17 Adam Roben <aroben@apple.com>
Speculative Mac build fix
* page/Page.cpp:
(WebCore::Page::Page): Change the initializer order to match the
declaration order.
2009-06-16 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Simon Hausmann.
Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278
Patch that make WebCore have a RenderTheme per page
Make the Qt implementation of RenderTheme create a theme per page,
and use the QStyle associated with the view of each page, in order
to make the QWidget setStyle() method work as advertised.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::RenderThemeQt):
(WebCore::RenderThemeQt::qStyle):
(WebCore::findFrameLineWidth):
(WebCore::inflateButtonRect):
(WebCore::RenderThemeQt::adjustRepaintRect):
(WebCore::RenderThemeQt::isControlStyled):
(WebCore::RenderThemeQt::computeSizeBasedOnStyle):
(WebCore::RenderThemeQt::setButtonPadding):
(WebCore::RenderThemeQt::paintButton):
(WebCore::RenderThemeQt::paintTextField):
(WebCore::RenderThemeQt::setPopupPadding):
* platform/qt/RenderThemeQt.h:
2009-06-16 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Dave Hyatt and Adam Roben.
https://bugs.webkit.org/show_bug.cgi?id=26278
Patch that make WebCore have a RenderTheme per page
Create a different RenderTheme per page, so that RenderTheme has
access to page specific theming. This is needed for the Qt port, as Qt
supports setting the theme (style) per widget.
This change was suggested and discussed with Dave Hyatt.
More detailed:
1) Create a theme per page or one global one, depending on the needs
of the platform.
2) Add an accesser to the theme from RenderObject.
3) Change all uses of the theming to access the theme through
RenderObject, using the global default theme as fallback, when the
document of RenderObject has no page.
When we don't have access to a RenderObject, use the default theme.
4) Modify all RenderTheme platform implementations to work with the
above changes, still creating only one global theme.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::boundingBoxRect):
* css/CSSStyleSelector.cpp:
(WebCore::loadFullDefaultStyle):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::adjustRenderStyle):
(WebCore::CSSStyleSelector::applyProperty):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::setActive):
(WebCore::ContainerNode::setHovered):
* editing/SelectionController.cpp:
(WebCore::SelectionController::focusedOrActiveStateChanged):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::parseMappedAttribute):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):
* page/Frame.cpp:
(WebCore::Frame::selectionLayoutChanged):
* page/FrameView.cpp:
(WebCore::FrameView::updateControlTints):
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::theme):
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupListBox::paintRow):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::RenderThemeGtk::RenderThemeGtk):
(WebCore::RenderThemeGtk::~RenderThemeGtk):
(WebCore::RenderThemeGtk::gtkEntry):
(WebCore::RenderThemeGtk::gtkTreeView):
* platform/gtk/RenderThemeGtk.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::create):
(WebCore::RenderTheme::themeForPage):
* platform/qt/RenderThemeQt.h:
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint):
* rendering/RenderMediaControls.cpp:
(WebCore::determineState):
* platform/wx/RenderThemeWx.cpp:
(WebCore::RenderThemeWx::create):
(WebCore::RenderTheme::themeForPage):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/MediaControlElements.cpp:
(WebCore::MediaControlInputElement::hitTest):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::theme):
* rendering/RenderObject.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::defaultTheme):
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumLinux::create):
(WebCore::RenderTheme::themeForPage):
* rendering/RenderThemeChromiumLinux.h:
(WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
* rendering/RenderThemeChromiumMac.h:
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::create):
(WebCore::RenderTheme::themeForPage):
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::create):
(WebCore::RenderTheme::themeForPage):
* rendering/RenderThemeChromiumWin.h:
(WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
(WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderTheme::themeForPage):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::create):
(WebCore::RenderTheme::themeForPage):
* rendering/RenderThemeSafari.h:
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::create):
(WebCore::RenderTheme::themeForPage):
* rendering/RenderThemeWin.h:
2009-06-17 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
JSDOMWindowCustom was using PropertySlot::putValue, however this interface
appears to be fundaementally incorrect - PropertySlots are only used to get
values, all puts use PutPropertySlot. However PutPropertySlot cannot be
used in the fashion desired here - it only reports the caching type of a
write that has been performed.
(This caused a bug where the put should have triggered a transition, and
failed to do so.)
Removing the faulty case from the optimization leads to a ~0.5% progression
on in-browser SunSpider (presumably the very first case was not being hit
often, and the simplification here is beneficial).
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::put):
2009-06-17 David Levin <levin@chromium.org>
Reviewed by NOBODY, layout tests fix.
https://bugs.webkit.org/show_bug.cgi?id=26326
This reverts commit r44751.
Once that change was checked scrollbars/scrollbar-orientation.html started
crashing on Windows.
* dom/Document.cpp:
(WebCore::Document::detach):
* page/FrameView.cpp:
* page/FrameView.h:
* platform/Scrollbar.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
* rendering/RenderScrollbar.h:
2009-06-16 Kevin Watters <kevinwatters@gmail.com>
Reviewed by Kevin Ollivier.
In ImageSource::setData, delete the old m_encoder before replacing it with a new one.
https://bugs.webkit.org/show_bug.cgi?id=26458
* platform/graphics/wx/ImageSourceWx.cpp:
(WebCore::ImageSource::setData):
2009-06-16 David Levin <levin@chromium.org>
Reviewed by David Hyatt.
REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
https://bugs.webkit.org/show_bug.cgi?id=26326
Test: scrollbars/scrollbar-crash-on-refresh.html
* dom/Document.cpp:
(WebCore::Document::detach):
Gives the FrameView a change to do any necessary cleanup on
Document::detach() which is where the renderArena gets detroyed.
* page/FrameView.cpp:
(WebCore::FrameView::detachCustomScrollbars):
Gets rid of any custom scrollbars (if the docment supplied them).
* page/FrameView.h:
* platform/Scrollbar.h:
(WebCore::Scrollbar::isCustomScrollbar):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroy):
Removed the check for document()->frame(). If frame() is 0 in this code,
then the call to animation() is also incorrect (since it does document()->frame()->animation()).
* rendering/RenderScrollbar.h:
(WebCore::RenderScrollbar::isCustomScrollbar):
2009-06-16 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adele Peterson.
Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari.
This patch kept the way events were firing as they were before, and Windows events are
consistent with Mac.
* editing/Editor.cpp:
(WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard
(WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard
2009-06-16 Antti Koivisto <antti@apple.com>
Reviewed by Brady Eidson.
<rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient + 53
When revalidating a resource, calling addClient() on one client might cause another to get removed.
- made CachedResource::addClient() non-virtual and added virtual didAddClient()
- in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first
- check if the client is still in the set before invoking didAddClient() for it
No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that
reference each other via @imports and reloading.
* WebCore.base.exp:
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::didAddClient):
* loader/CachedCSSStyleSheet.h:
* loader/CachedFont.cpp:
(WebCore::CachedFont::didAddClient):
* loader/CachedFont.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::didAddClient):
* loader/CachedImage.h:
* loader/CachedResource.cpp:
(WebCore::CachedResource::addClient):
(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::switchClientsToRevalidatedResource):
* loader/CachedResource.h:
* loader/CachedScript.cpp:
(WebCore::CachedScript::didAddClient):
* loader/CachedScript.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::didAddClient):
* loader/CachedXSLStyleSheet.h:
2009-06-16 Simon Fraser <simon.fraser@apple.com>
No Review
Fix code inside an #ifdef that draws the video framerate.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::paint):
2009-06-16 Jian Li <jianli@chromium.org>
Reviewed by Dimitri Glazkov.
Bug 26456: Hook up V8 bindings for Worker's importScripts functionality.
https://bugs.webkit.org/show_bug.cgi?id=26456
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::CALLBACK_FUNC_DECL):
* bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code
handling in Worker constructor for V8 bindings.
(WebCore::CALLBACK_FUNC_DECL):
2009-06-16 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Maciej Stachowiak.
Update of https://bugs.webkit.org/show_bug.cgi?id=26353.
Provide an assignment operator to avoid improper reference
counts on the Cairo font objects. This brings the Windows
Cairo port in line with the GTK+ port.
* platform/graphics/win/FontPlatformData.h:
* platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
2009-06-16 Eric Carlson <eric.carlson@apple.com>
Reviewed by Simon Fraser.
Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from
the MediaControlInputElement, rather than computing it again
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation.
* html/HTMLMediaElement.h:
* rendering/MediaControlElements.h:
(WebCore::MediaControlInputElement::displayType): New, return m_displayType.
* rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button
state from the button itself and get movie state from HTMLMediaElement.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer.
(WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
2009-06-16 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Bug 26450: Rename values of enum RedirectOriginCheck to make them
clearer.
https://bugs.webkit.org/show_bug.cgi?id=26450
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::create):
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::willSendRequest):
* loader/DocumentThreadableLoader.h:
* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoader::create):
(WebCore::ThreadableLoader::loadResourceSynchronously):
* loader/ThreadableLoader.h:
* workers/Worker.cpp:
(WebCore::Worker::Worker):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::importScripts):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
(WebCore::WorkerThreadableLoader::loadResourceSynchronously):
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
* loader/WorkerThreadableLoader.h:
(WebCore::WorkerThreadableLoader::create):
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
* workers/WorkerScriptLoader.h:
(WebCore::WorkerContext::importScripts):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::loadRequestAsynchronously):
2009-06-16 Tony Chang <tony@chromium.org>
Reviewed by Darin Fisher.
Fix a UMR in WebCore::BitStack by initializing new memory to 0.
https://bugs.webkit.org/show_bug.cgi?id=26449
No new tests, covered by purify.
* editing/TextIterator.cpp:
(WebCore::BitStack::push):
2009-06-16 Brent Fulgham <bfulgham@webkit.org>
Reviewed by Xan Lopez.
Test: fast/multicol/columns-shorthand-parsing.html
Fixes https://bugs.webkit.org/show_bug.cgi?id=26453.
Null Cairo contextwill crash Windows Cairo build.
* platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::GraphicsContextPlatformPrivate::syncContext):
Add a check for null context before attempting to
retrieve the Cairo surface.
2009-06-16 Peter Kasting <pkasting@google.com>
Reviewed by Xan Lopez.
https://bugs.webkit.org/show_bug.cgi?id=26447
Fix animated GIF breakage in Cairo/wx ports.
* platform/image-decoders/cairo/ImageDecoderCairo.cpp:
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::operator=):
* platform/image-decoders/wx/ImageDecoderWx.cpp:
(WebCore::RGBA32Buffer::copyBitmapData):
(WebCore::RGBA32Buffer::operator=):
2009-06-16 Pierre d'Herbemont <pdherbemont@apple.com>
Reviewed by John Sullivan
<rdar://problem/6937882>
Tweak "time remaining" and "time elapsed" fields in the overlay video controller.
* css/mediaControlsQT.css:
2009-06-16 Jian Li <jianli@chromium.org>
Reviewed by Adam Barth and David Levin.
Bug 26146: Change to use ThreadableLoader to load the worker script
in order to check URL origin for redirection.
https://bugs.webkit.org/show_bug.cgi?id=26146
Test: http/tests/workers/worker-redirect.html
* GNUmakefile.am:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* workers/Worker.cpp:
(WebCore::Worker::Worker):
(WebCore::Worker::notifyFinished):
* workers/Worker.h:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::importScripts):
* workers/WorkerImportScriptsClient.cpp: Removed.
* workers/WorkerImportScriptsClient.h: Removed.
* workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp.
This to make it more generic so worker script loading could use it.
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::didFinishLoading):
(WebCore::WorkerScriptLoader::didFail):
(WebCore::WorkerScriptLoader::didFailRedirectCheck):
(WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
(WebCore::WorkerScriptLoader::notifyFinished):
* workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h.
This to make it more generic so worker script loading could use it.
* workers/WorkerScriptLoaderClient.h: Added.
2009-06-16 Brent Fulgham <bfulgham@gmail.com>
Reviewed by Darin Adler.
Use consistent GUID comparison functions.
https://bugs.webkit.org/show_bug.cgi?id=26427
* platform/win/WCDataObject.cpp:
(WebCore::WCDataObject::QueryInterface):
2009-06-16 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Fix compiler warning.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(webkit_accessible_class_init):
2009-08-07 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=27424
* WebKit/gtk/gdom/ConvertToGCharPrivate.h: Added.
(copyAsGChar): added to help GObject bindings convert various types to glib's gchar*
2009-06-16 Xan Lopez <xlopez@igalia.com>
Reviewed by Gustavo Noronha.
Remove dummy AtkStreamableContent implementation.
It's completely empty, we'll add it back (and conditionally
instead of unconditionally) when it does something.
* accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
(GetAtkInterfaceTypeFromWAIType):
(getInterfaceMaskFromObject):
== Rolled over to ChangeLog-2009-06-16 ==