blob: ccf309485329181605e6c9620ef7e0e10b11fa51 [file] [log] [blame]
2011-11-09 Kentaro Hara <haraken@chromium.org>
Remove redundant [CanBeConstructed] IDLs
https://bugs.webkit.org/show_bug.cgi?id=71868
Reviewed by Adam Barth.
If a class has [Constructor] or [CustomConstructor],
then [CanBeConstructed] is not necessary.
This patch just removes [CanBeConstructed] from all the classes
that already have [Constructor] or [CustomConstructor].
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorV8.pm: Corrected typo. This correction is required for this patch.
* bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-bindings-tests result.
(WebCore::ConfigureV8TestObjTemplate):
* css/WebKitCSSMatrix.idl:
* dom/BeforeLoadEvent.idl:
* dom/CustomEvent.idl:
* dom/ErrorEvent.idl:
* dom/Event.idl:
* dom/HashChangeEvent.idl:
* dom/MessageChannel.idl:
* dom/MessageEvent.idl:
* dom/OverflowEvent.idl:
* dom/PageTransitionEvent.idl:
* dom/PopStateEvent.idl:
* dom/ProgressEvent.idl:
* dom/WebKitAnimationEvent.idl:
* dom/WebKitMutationObserver.idl:
* dom/WebKitTransitionEvent.idl:
* fileapi/FileReader.idl:
* html/DOMFormData.idl:
* html/TextTrackCue.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/DataView.idl:
* html/canvas/Float32Array.idl:
* html/canvas/Float64Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/track/TrackEvent.idl:
* mediastream/PeerConnection.idl:
* page/EventSource.idl:
* page/WebKitPoint.idl:
* webaudio/AudioContext.idl:
* websockets/CloseEvent.idl:
* websockets/WebSocket.idl:
* workers/SharedWorker.idl:
* workers/Worker.idl:
* xml/XMLHttpRequest.idl:
* xml/XSLTProcessor.idl:
2011-11-09 Ken Buchanan <kenrb@chromium.org>
SVG foreignObject wrong container
https://bugs.webkit.org/show_bug.cgi?id=64780
Reviewed by Simon Fraser.
Resubmitting a patch originally by scottmg@chromium.org.
In determining where to add to m_positionedObjects during a repaint,
containingBlock is used, which adds the absolute positioned object to
the containing foreignObject. But, when the contained object is
dirtied, container() was used to dirty up the tree, which skipped over
the foreignObject causing the wrong parent to needsLayout(). This fix
makes container() and containingBlock() handle svg foreignObject's in
the same way.
This patch will cause svg/overflow/overflow-on-foreignObject.svg to
require rebaselined results on qt and gtk ports.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::container):
2011-11-09 Andreas Kling <kling@webkit.org>
Shrink StyleSheet on 64-bit.
<http://webkit.org/b/71923>
Reviewed by Darin Adler.
Move m_disabled to the top so it folds into the padding at
the end of RefCounted on 64-bit, shrinking StyleSheet by 8 bytes.
* css/StyleSheet.cpp:
(WebCore::StyleSheet::StyleSheet):
* css/StyleSheet.h:
2011-11-09 Andreas Kling <kling@webkit.org>
StyleSheet: Devirtualize styleSheetChanged().
<http://webkit.org/b/71913>
Reviewed by Antti Koivisto.
Since this mechanism is only used by CSSStyleSheet, move it there.
Out-of-lined StyleSheet::setDisabled() so we can do a type check
before invoking it from there.
* css/CSSStyleSheet.h:
* css/StyleSheet.cpp:
(WebCore::StyleSheet::setDisabled):
* css/StyleSheet.h:
2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Unreviewed, adding missing files to the build.
* Target.pri: Add ContentTypeParser.cpp/h
2011-11-09 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [refactoring] remove a bunch of methods from JavaScriptSourceFrameDelegate
https://bugs.webkit.org/show_bug.cgi?id=71826
Reviewed by Pavel Feldman.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.requestContent):
(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype.editContent):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
* inspector/front-end/ScriptsPanel.js:
2011-11-09 Pavel Feldman <pfeldman@google.com>
Not reviewed: annotate inspector front-end javascript so that it compiled again.
* inspector/front-end/ShortcutsScreen.js:
* inspector/front-end/WorkerManager.js:
2011-11-09 Andreas Kling <kling@webkit.org>
Unreviewed build fix after r99711. (Signed/unsigned compare.)
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::getDoubleValueInternal):
2011-11-09 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Provisionally change StylesSidebarPane section DOM layout to allow media queries
https://bugs.webkit.org/show_bug.cgi?id=71902
Reviewed by Pavel Feldman.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
2011-11-09 Andreas Kling <kling@webkit.org>
CSSPrimitiveValue: Fix up bitfield member types.
<http://webkit.org/b/71751>
Reviewed by Antti Koivisto.
The primitive unit type doesn't need to be a signed value,
and by making it unsigned, we can shave one bit off of it.
Furthermore, m_hasCachedCSSText and m_isQuirkValue should be
bool, not unsigned.
* css/CSSValue.h:
2011-11-09 Pavel Feldman <pfeldman@google.com>
Web Inspector: discard injected scripts upon front-end disconnect.
https://bugs.webkit.org/show_bug.cgi?id=71823
Reviewed by Yury Semikhatsky.
Test: http/tests/inspector-enabled/injected-script-discard.html
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::clearFrontend):
2011-11-09 Andreas Kling <kling@webkit.org>
CSS: Remove empty value and rule destructors.
<http://webkit.org/b/71901>
Reviewed by Antti Koivisto.
* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.h:
(WebCore::CSSBorderImageSliceValue::create):
* css/CSSBorderImageValue.h:
(WebCore::CSSBorderImageValue::create):
* css/CSSCharsetRule.cpp:
* css/CSSCharsetRule.h:
* css/CSSCrossfadeValue.h:
* css/CSSFlexValue.h:
* css/CSSFontFaceSrcValue.h:
* css/CSSFunctionValue.h:
* css/CSSPageRule.cpp:
* css/CSSPageRule.h:
* css/CSSUnicodeRangeValue.h:
* css/CSSValueList.h:
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSTransformValue.h:
2011-11-09 Andreas Kling <kling@webkit.org>
CSS: Remove redudant WTF_MAKE_FAST_ALLOCATED macros.
<http://webkit.org/b/71897>
Reviewed by Antti Koivisto.
Everything that inherits from RefCounted<T> is already fast-allocated,
so we don't need this in subclasses.
* css/CSSImageValue.h:
* css/CSSImportRule.h:
* css/WebKitCSSShaderValue.h:
2011-11-09 Igor Oliveira <igor.oliveira@openbossa.org>
[TextureMapper] Clean up TextureMapperAnimation constructor
https://bugs.webkit.org/show_bug.cgi?id=71892
Remove copyAnimationValue and copyTimingFunction static functions. KeyframeList has
a copy constructor and it does not need anymore these copy functions.
Reviewed by Simon Hausmann.
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperAnimation::TextureMapperAnimation):
2011-11-09 Alexandru Chiculita <achicu@adobe.com>
[Part 1] Parse the custom() function in -webkit-filter
https://bugs.webkit.org/show_bug.cgi?id=71441
Added code that parses the custom() function. There's no code
for the CSSStyleSelector yet, so the only way to test this was to
check the "styleSheets" rules.
Reviewed by Dean Jackson.
Tests: css3/filters/custom-filter-property-parsing-invalid.html
css3/filters/custom-filter-property-parsing.html
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedFilter):
* css/CSSParser.cpp:
(WebCore::filterInfoForName):
(WebCore::acceptCommaOperator):
(WebCore::CSSParser::parseCustomFilter):
(WebCore::CSSParser::parseFilter):
* css/CSSParser.h:
* css/CSSStyleSelector.cpp:
(WebCore::filterOperationForType):
(WebCore::CSSStyleSelector::createFilterOperations):
* css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::isWebKitCSSShaderValue):
* css/CSSValueKeywords.in:
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
(WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
(WebCore::WebKitCSSFilterValue::customCssText):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSFilterValue.idl:
* css/WebKitCSSShaderValue.h: Added.
(WebCore::WebKitCSSShaderValue::create):
(WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
* platform/graphics/filters/FilterOperation.h:
2011-11-09 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: exception in remote front-end load handler due to undefined reference to workerManager
https://bugs.webkit.org/show_bug.cgi?id=71889
Move calls to WorkerManager load handlers into doLoadedDone method which is
called in case of remote front-end too.
Reviewed by Pavel Feldman.
* inspector/front-end/inspector.js:
(WebInspector.loaded):
2011-11-09 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Extract ApplicationCacheModel from ApplicationCacheItemsView.
https://bugs.webkit.org/show_bug.cgi?id=71850
Reviewed by Pavel Feldman.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView):
(WebInspector.ApplicationCacheItemsView.prototype._update):
* inspector/front-end/ApplicationCacheModel.js: Added.
(WebInspector.ApplicationCacheModel):
(WebInspector.ApplicationCacheModel.prototype.getApplicationCachesAsync):
(WebInspector.ApplicationCacheDispatcher):
(WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
(WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.wasShown):
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype._populateResourceTree):
(WebInspector.ResourcesPanel.prototype.showApplicationCache):
(WebInspector.ResourcesPanel.prototype._initializeApplicationCacheModel):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
2011-11-09 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: ResourcesPanel should support adding subtitle to any BaseStorageTreeElement.
https://bugs.webkit.org/show_bug.cgi?id=71848
Reviewed by Pavel Feldman.
* inspector/front-end/ResourcesPanel.js:
(WebInspector.BaseStorageTreeElement.prototype.onattach):
(WebInspector.BaseStorageTreeElement.prototype.get displayName):
(WebInspector.BaseStorageTreeElement.prototype._updateDisplayName):
(WebInspector.BaseStorageTreeElement.prototype._updateTitle):
(WebInspector.BaseStorageTreeElement.prototype._updateSubtitle):
(WebInspector.BaseStorageTreeElement.prototype.set titleText):
(WebInspector.BaseStorageTreeElement.prototype.get subtitleText):
(WebInspector.BaseStorageTreeElement.prototype.set subtitleText):
(WebInspector.FrameTreeElement.prototype.frameNavigated):
(WebInspector.FrameTreeElement.prototype.get itemURL):
(WebInspector.FrameTreeElement.prototype.onselect):
2011-11-08 Pavel Feldman <pfeldman@google.com>
Web Inspector: crash upon InspectorValue serialization that has 0 value / array entry.
https://bugs.webkit.org/show_bug.cgi?id=71806
Reviewed by Yury Semikhatsky.
Test: inspector/elements/resolve-alien-node.html
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::resolveNode):
* inspector/InspectorValues.h:
(WebCore::InspectorObject::setValue):
(WebCore::InspectorObject::setObject):
(WebCore::InspectorObject::setArray):
(WebCore::InspectorArray::pushValue):
(WebCore::InspectorArray::pushObject):
(WebCore::InspectorArray::pushArray):
2011-11-08 Andreas Kling <kling@webkit.org>
Move CSSPrimitiveValue bitfields up into CSSValue.
<http://webkit.org/b/71835>
Reviewed by Darin Adler.
Move m_type (and rename it to m_primitiveUnitType),
m_hasCachedCSSText and m_isQuirkValue from CSSPrimitiveValue
up into CSSValue to share the space.
This, together with the devirtualization of CSSValue that
happened on <http://webkit.org/b/71666>, reduces the size
of CSSPrimitiveValue by one CPU word.
More specifically, we go from 16 to 12 bytes on 32-bit,
and from 24 to 16 bytes on 64-bit.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::init):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::getDoubleValueInternal):
(WebCore::CSSPrimitiveValue::getStringValue):
(WebCore::CSSPrimitiveValue::getCounterValue):
(WebCore::CSSPrimitiveValue::getRectValue):
(WebCore::CSSPrimitiveValue::getQuadValue):
(WebCore::CSSPrimitiveValue::getRGBColorValue):
(WebCore::CSSPrimitiveValue::getPairValue):
(WebCore::CSSPrimitiveValue::getIdent):
(WebCore::CSSPrimitiveValue::customCssText):
(WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isLength):
(WebCore::CSSPrimitiveValue::primitiveType):
(WebCore::CSSPrimitiveValue::setPrimitiveType):
(WebCore::CSSPrimitiveValue::getCounterValue):
(WebCore::CSSPrimitiveValue::getRectValue):
(WebCore::CSSPrimitiveValue::getQuadValue):
(WebCore::CSSPrimitiveValue::getRGBA32Value):
(WebCore::CSSPrimitiveValue::getPairValue):
(WebCore::CSSPrimitiveValue::getDashboardRegionValue):
(WebCore::CSSPrimitiveValue::getShapeValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator short):
(WebCore::CSSPrimitiveValue::operator unsigned short):
(WebCore::CSSPrimitiveValue::operator int):
(WebCore::CSSPrimitiveValue::operator unsigned):
(WebCore::CSSPrimitiveValue::operator float):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):
* css/CSSValue.h:
(WebCore::CSSValue::CSSValue):
2011-11-09 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::defineOwnProperty
https://bugs.webkit.org/show_bug.cgi?id=71429
Reviewed by Geoffrey Garen.
No new tests.
Added defineOwnProperty to the MethodTable, changed all the virtual
implementations of defineOwnProperty to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineOwnProperty):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::defineOwnProperty):
* bindings/js/JSDOMWindowShell.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
2011-11-09 Kentaro Hara <haraken@chromium.org>
Make [CanBeConstructed] IDL redundant
https://bugs.webkit.org/show_bug.cgi?id=71871
Reviewed by Adam Barth.
As the first step to remove [CanBeConstructed] IDL completely,
we need to make [CanBeConstructed] IDL redundant.
This patch replaces '[CanBeConstructed]' in CodeGeneratorV8.pm
with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]',
and replaces '[CanBeConstructed]' in CodeGeneratorJS.pm
with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [JSCustomConstructor]'
An example:
before: '[CanBeConstructed] and ![V8CustomConstructor]'
after: '([CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]) and ![V8CustomConstructor]' <==> '([CanBeConstructed] or [Constructor] or [CustomConstructor]) and ![V8CustomConstructor]'
Tests: bindings/scripts/test/TestObj.idl
* bindings/scripts/CodeGeneratorJS.pm: Modified as I described above.
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Updated a run-bindings-tests result.
(WebCore::JSTestObjConstructor::constructJSTestObj):
(WebCore::JSTestObjConstructor::getConstructData):
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
(WebCore::V8TestObj::constructorCallback):
2011-11-09 Nikolas Zimmermann <nzimmermann@rim.com>
svg failures after r99561
https://bugs.webkit.org/show_bug.cgi?id=71830
Reviewed by Antti Koivisto.
Fix regressions in svg/zoom/page/relative-sized-document-scrollbars.svg and svg/zoom/page/zoom-svg-as-relative-image.html.
Fix merging problem in r99561, bug 71780. It moved several methods from SVGLength to SVGLengthContext, and unfortunately
the SVGLength changes part of r98852, bug 47156, got reverted again, making these two tests fail.
* svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::determineViewport):
2011-11-09 Rakesh KN <rakesh.kn@motorola.com>
Select multiple options with mouse drag in Select element.
https://bugs.webkit.org/show_bug.cgi?id=71128
Reviewed by Ryosuke Niwa.
Multiple selection of option elements in select element with an mouse drag.
Other browsers(IE, Firefox, Opera) support this feature.
Test: fast/forms/select-multiple-elements-with-mouse-drag.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseDraggedEvent):
Allow auto scroll to be fired if current node(option) under mouse does not have renderer
but its container node(select) can autoscroll and has renderer for specific case of ListBox
2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Build system cleanup
https://bugs.webkit.org/show_bug.cgi?id=71815
Reviewed by Kenneth Rohde Christiansen.
* Target.pri: Removed CodeGenHSL.cpp from the angle build. In the angle build the back-end has to
be either GLSL or HSL, it can't be both. Make a choice for GLSL as that's what it seems to be used for
at the moment.
2011-11-09 Mark Rowe <mrowe@apple.com>
Fix the build.
* WebCore.exp.in: Export the right symbol names.
* WebCore.xcodeproj/project.pbxproj: Make the header file available outside of WebCore.
2011-11-08 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Replace use of QApplication with QGuiApplication
https://bugs.webkit.org/show_bug.cgi?id=71794
Reviewed by Andreas Kling.
* Target.pri: Add compat include dir when compiling with Qt 4.
* platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
(FullScreenVideoWindow::closeEvent): Replace use of QApplication with QGuiApplication.
(FullScreenVideoWindow::hideCursor): Ditto.
(FullScreenVideoWindow::showCursor): Ditto.
* platform/graphics/qt/TileQt.cpp: Remove unnecessary inclusion of QApplication.
* platform/qt/ClipboardQt.cpp: Replace use of QApplication with QGuiApplication.
(WebCore::ClipboardQt::ClipboardQt):
(WebCore::ClipboardQt::clearData):
(WebCore::ClipboardQt::clearAllData):
(WebCore::ClipboardQt::setData):
(WebCore::ClipboardQt::declareAndWriteDragImage):
(WebCore::ClipboardQt::writeURL):
(WebCore::ClipboardQt::writeRange):
(WebCore::ClipboardQt::writePlainText):
* platform/qt/PasteboardQt.cpp: Ditto.
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::writeImage):
2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
Mac Build fix part 2: Oops, use the correct wtf/ prefix for the WTF include.
* page/SecurityPolicy.cpp:
2011-11-09 Simon Hausmann <simon.hausmann@nokia.com>
Prospective build fix for Windows: Include MainThread.h for ASSERT(isMainThread())
to compile.
* page/SecurityPolicy.cpp:
2011-11-07 Adam Barth <abarth@webkit.org>
Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
https://bugs.webkit.org/show_bug.cgi?id=71755
Reviewed by Eric Seidel.
The SecurityOrigin class should be focused on representing a web
security origin rather than being a dumping ground for all
security-related state. This patch moves a bunch of static "policy"
state into its own SecurityPolicy class.
* WebCore.exp.in:
* WebCore.gypi:
* dom/Document.cpp:
(WebCore::Document::initSecurityContext):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/PingLoader.cpp:
(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::reportContentSecurityPolicyViolation):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canRequest):
(WebCore::SecurityOrigin::canDisplay):
(WebCore::SecurityOrigin::grantLoadLocalResources):
* page/SecurityOrigin.h:
2011-11-08 Antaryami Pandia <antaryami.pandia@motorola.com>
Default <select multiple> expands up to 10 items instead of showing 4.
https://bugs.webkit.org/show_bug.cgi?id=70765
Reviewed by Darin Adler.
Tests: fast/forms/select-clientheight-large-size.html
fast/forms/select-clientheight-with-multiple-attr.html
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::size):
2011-11-08 Chris Evans <cevans@google.com>
Crash accessing font fact rule parent
https://bugs.webkit.org/show_bug.cgi?id=71860
Reviewed by Adam Barth.
Test: fast/css/css-fontface-rule-crash.html
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::~CSSFontFaceRule): tell our child rule when we are going away.
2011-11-08 Adam Klein <adamk@chromium.org>
Use a typedef for ExceptionCode in all header files instead of including ExceptionCode.h
https://bugs.webkit.org/show_bug.cgi?id=71845
Reviewed by Adam Barth.
Some headers in WebCore include ExceptionCode.h to get the ExceptionCode typedef,
while others provide the typedef themselves. Per Darin, the latter is preferred,
so this patch updates all references, and fixes up .cpp files that
need the include in order to access the enum.
* bindings/js/JSSVGLengthCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): #include ExceptionCode.h when needed for SVG.
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation): #include ExceptionCode.h when needed for SVG.
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
* bindings/v8/custom/V8SVGLengthCustom.cpp:
* css/WebKitCSSMatrix.h:
* fileapi/DirectoryReaderSync.h:
* fileapi/EntrySync.h:
* fileapi/FileReader.h:
* fileapi/FileReaderSync.h:
* fileapi/SyncCallbackHelper.h:
* html/ClassList.h:
* html/DOMSettableTokenList.h:
* html/DOMTokenList.cpp:
* html/DOMTokenList.h:
* html/TextTrack.cpp:
* html/TextTrack.h:
* html/TimeRanges.cpp:
* html/TimeRanges.h:
* html/canvas/ArrayBuffer.cpp:
* html/canvas/ArrayBuffer.h:
* html/canvas/ArrayBufferView.cpp:
* html/canvas/ArrayBufferView.h:
* html/canvas/DataView.cpp:
* html/canvas/DataView.h:
* html/canvas/OESVertexArrayObject.h:
* html/canvas/WebGLDebugShaders.h:
* html/canvas/WebGLRenderingContext.cpp:
* html/canvas/WebGLRenderingContext.h:
* mediastream/MediaStreamFrameController.cpp:
* mediastream/MediaStreamFrameController.h:
* notifications/Notification.h:
* notifications/NotificationCenter.h:
* storage/AbstractDatabase.cpp:
* storage/AbstractDatabase.h:
* storage/Database.h:
* storage/DatabaseSync.h:
* storage/DatabaseTask.h:
* storage/IDBCursor.h:
* storage/IDBCursorBackendInterface.h:
* storage/IDBDatabase.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBFactory.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBIndexBackendInterface.h:
* storage/IDBKeyRange.h:
* storage/IDBObjectStoreBackendInterface.h:
* storage/IDBRequest.h:
* storage/IDBTransactionBackendInterface.h:
* storage/SQLResultSet.cpp:
* storage/SQLResultSet.h:
* storage/SQLStatementSync.h:
* storage/SQLTransaction.cpp:
* storage/SQLTransaction.h:
* storage/SQLTransactionSync.h:
* svg/ElementTimeControl.h:
* svg/SVGAngle.cpp:
* svg/SVGAngle.h:
* svg/SVGLength.cpp:
* svg/SVGLength.h:
* svg/SVGLengthContext.cpp:
* svg/SVGLengthContext.h:
* svg/SVGLocatable.h:
* svg/SVGMatrix.h:
* svg/SVGPreserveAspectRatio.cpp:
* svg/SVGPreserveAspectRatio.h:
* testing/Internals.h:
* webaudio/AudioContext.cpp:
* workers/DefaultSharedWorkerRepository.cpp:
* workers/DefaultSharedWorkerRepository.h:
* workers/SharedWorkerRepository.h:
2011-11-08 Kentaro Hara <haraken@chromium.org>
CodeGeneratorV8.pm can generate a NamedConstructor
https://bugs.webkit.org/show_bug.cgi?id=71756
Reviewed by Adam Barth.
- IDLParser.pm can parse [NamedConstructor] IDL.
- CodeGeneratorV8.pm can generate a NamedConstructor
and a template getter for the NamedConstructor.
- Added a new binding test named TestNamedConstructor.idl.
Tests: WebCore/bindings/scripts/test/TestNamedConstructor.idl
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader): Generates a header for a NamedConstructor.
(GenerateNamedConstructorCallback): Generates the NamedConstructor and a template getter for the NamedConstructor.
(GenerateSingleBatchedAttribute): If an IDL type is "XXXXConstructorConstructor", then we do not add a header file of XXXXConstructor, because the XXXXConstructor declaration is written in the header file of class XXXX.
* bindings/scripts/IDLParser.pm:
(parseExtendedAttributes): Parses 'NamedConstructor' '=' name '(' parameters ')' ','?
(ParseInterface): Creates the signature of a NamedConstructor.
* bindings/scripts/test/TestNamedConstructor.idl: Added a new test for the [NamedConstructor] IDL.
* bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Added a run-binding-test result of TestNamedConstructor.idl.
(WebDOMTestNamedConstructor::WebDOMTestNamedConstructorPrivate::WebDOMTestNamedConstructorPrivate):
(WebDOMTestNamedConstructor::WebDOMTestNamedConstructor):
(WebDOMTestNamedConstructor::operator=):
(WebDOMTestNamedConstructor::impl):
(WebDOMTestNamedConstructor::~WebDOMTestNamedConstructor):
(toWebCore):
(toWebKit):
* bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp: Ditto.
(WebKit::kit):
(WebKit::core):
(webkit_dom_test_named_constructor_finalize):
(webkit_dom_test_named_constructor_set_property):
(webkit_dom_test_named_constructor_get_property):
(webkit_dom_test_named_constructor_constructed):
(webkit_dom_test_named_constructor_class_init):
(webkit_dom_test_named_constructor_init):
(WebKit::wrapTestNamedConstructor):
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h: Ditto.
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
(WebCore::JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor):
(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
(WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
(WebCore::JSTestNamedConstructorPrototype::self):
(WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
(WebCore::JSTestNamedConstructor::finishCreation):
(WebCore::JSTestNamedConstructor::createPrototype):
(WebCore::JSTestNamedConstructor::getOwnPropertySlot):
(WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
(WebCore::jsTestNamedConstructorConstructor):
(WebCore::JSTestNamedConstructor::getConstructor):
(WebCore::isObservable):
(WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestNamedConstructorOwner::finalize):
(WebCore::toJS):
(WebCore::toTestNamedConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
(WebCore::JSTestNamedConstructor::create):
(WebCore::JSTestNamedConstructor::createStructure):
(WebCore::JSTestNamedConstructor::impl):
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
(WebCore::JSTestNamedConstructorPrototype::create):
(WebCore::JSTestNamedConstructorPrototype::createStructure):
(WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
(WebCore::JSTestNamedConstructorConstructor::create):
(WebCore::JSTestNamedConstructorConstructor::createStructure):
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Ditto.
(-[DOMTestNamedConstructor dealloc]):
(-[DOMTestNamedConstructor finalize]):
(core):
(kit):
* bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Ditto.
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
(WebCore::TestNamedConstructorInternal::V8_USE):
(WebCore::V8TestNamedConstructorConstructorCallback):
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
(WebCore::ConfigureV8TestNamedConstructorTemplate):
(WebCore::V8TestNamedConstructor::GetRawTemplate):
(WebCore::V8TestNamedConstructor::GetTemplate):
(WebCore::V8TestNamedConstructor::HasInstance):
(WebCore::V8TestNamedConstructor::toActiveDOMObject):
(WebCore::V8TestNamedConstructor::wrapSlow):
(WebCore::V8TestNamedConstructor::derefObject):
* bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
(WebCore::V8TestNamedConstructor::toNative):
(WebCore::V8TestNamedConstructor::existingWrapper):
(WebCore::V8TestNamedConstructor::wrap):
(WebCore::toV8):
* page/DOMWindow.idl: Added [CustomConstructor] IDL to HTMLAudioElement, HTMLImageElement and HTMLOptionElement.
2011-11-08 Philip Rogers <pdr@google.com>
fix REGRESSION: SVG feColorMatrix causes crash
https://bugs.webkit.org/show_bug.cgi?id=71287
Reviewed by Simon Fraser.
Test: svg/filters/feColorMatrix-invalid-animation.svg
* svg/SVGAnimatedNumberList.cpp:
(WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
2011-11-08 Scott Graham <scottmg@chromium.org>
Add support for arrays of numbers to IDL bindings code generator
https://bugs.webkit.org/show_bug.cgi?id=71763
Adds support for float[] and double[] to IDL. Support for other types
appears to be more complicated (or at least more copy-paste) so not
doing that for now for lack of need.
Reviewed by Adam Barth.
Tests added to TestObj.idl.
* bindings/scripts/CodeGeneratorV8.pm:
(IsRefPtrType):
(GetNativeType):
(JSValueToNative):
(NativeToJSValue):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::floatArrayAttrGetter):
(WebCore::TestObjInternal::floatArrayAttrSetter):
(WebCore::TestObjInternal::doubleArrayAttrGetter):
(WebCore::TestObjInternal::doubleArrayAttrSetter):
* bindings/v8/V8Binding.h:
(WebCore::v8NumberArray):
(WebCore::v8NumberArrayToVector):
2011-11-08 Dan Bernstein <mitz@apple.com>
REGRESSION (r99613): Incomplete painting of the root element background in flipped blocks writing mode
https://bugs.webkit.org/show_bug.cgi?id=71863
Reviewed by Anders Carlsson.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxFillLayers): Instead of unconditionally flipping the background
rect here...
* rendering/RenderView.cpp:
(WebCore::RenderView::backgroundRect): ...flip it only in column mode here.
* rendering/RenderView.h:
2011-11-08 Michael Saboff <msaboff@apple.com>
Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
https://bugs.webkit.org/show_bug.cgi?id=71761
Cleaned up SourceCode data() to return StringImpl* and eliminated
the recently added stringData() virtual method.
No tests added - refactored base class SourceCode and its subclasses.
* bindings/js/CachedScriptSourceProvider.h:
(WebCore::CachedScriptSourceProvider::data):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidParseSource):
(WebCore::ScriptDebugServer::dispatchFailedToParseSource):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::data):
2011-11-08 Xiaomei Ji <xji@chromium.org>
REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
https://bugs.webkit.org/show_bug.cgi?id=70395
Reviewed by Tony Chang.
Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
to be correct for RTL page as well, which is checking either the scroll position change or
the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).
And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
the pass-in offset is adjusted within the current scroll range, it could be the same as
m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old
scroll range, but scolling is still needed when page resize and scroll range changes.
Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
correct for RTL pages as well.
* platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
(WebCore::ScrollableArea::ScrollableArea):
(WebCore::ScrollableArea::setScrollOrigin):
(WebCore::ScrollableArea::setScrollOriginX):
(WebCore::ScrollableArea::setScrollOriginY):
* platform/ScrollableArea.h: Add m_scrollOriginChanged.
(WebCore::ScrollableArea::scrollOriginChanged):
(WebCore::ScrollableArea::resetScrollOriginChanged):
2011-11-08 Dan Bernstein <mitz@apple.com>
<rdar://problem/10262225> Allow RenderView to have columns
https://bugs.webkit.org/show_bug.cgi?id=71840
Reviewed by Simon Fraser.
Tests: fast/multicol/pagination-h-horizontal-bt.html
fast/multicol/pagination-h-horizontal-tb.html
fast/multicol/pagination-h-vertical-lr.html
fast/multicol/pagination-h-vertical-rl.html
fast/multicol/pagination-v-horizontal-bt.html
fast/multicol/pagination-v-horizontal-tb.html
fast/multicol/pagination-v-vertical-lr.html
fast/multicol/pagination-v-vertical-rl.html
* WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
document style if the view is paginated.
* page/Page.cpp:
(WebCore::Page::setPagination): Added this setter.
* page/Page.h:
(WebCore::Page::Pagination::Pagination):
(WebCore::Page::pagination): Added this getter.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
(WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
instead of unscaledDocumentRect().
* rendering/RenderView.cpp:
(WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
is paginated.
(WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
across all columns.
* rendering/RenderView.h:
* testing/Internals.cpp:
(WebCore::Internals::reset): Also reset pagination.
(WebCore::Internals::setPagination): Added this setter for testing.
* testing/Internals.h:
* testing/Internals.idl:
2011-11-08 Vineet Chaudhary <vineet.chaudhary@motorola.com>
Document.importNode's 'deep' argument should default to true.
https://bugs.webkit.org/show_bug.cgi?id=71190
Reviewed by Adam Barth.
As new specification says deep argument of importNode should be default to true.
Test: fast/dom/document-importNode-arguments.html
* dom/Document.h: Added supportive method.
(WebCore::Document::importNode):
* dom/Document.idl: Modified deep argument as optional.
2011-11-08 Adam Klein <adamk@chromium.org>
WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments
https://bugs.webkit.org/show_bug.cgi?id=71596
Reviewed by Ryosuke Niwa.
Adds two cases where WebKitMutationObserver.observe throws an exception:
- When passed a null Node*.
- When passed options that don't make sense, e.g.,
'attributeOldValue' but not 'attributes'.
* bindings/js/JSWebKitMutationObserverCustom.cpp:
(WebCore::JSWebKitMutationObserver::observe):
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::observeCallback):
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::validateOptions):
(WebCore::WebKitMutationObserver::observe):
* dom/WebKitMutationObserver.h:
* dom/WebKitMutationObserver.idl:
2011-11-08 Joshua Bell <jsbell@chromium.org>
IndexedDB: implement compound (array) key support
https://bugs.webkit.org/show_bug.cgi?id=62284
Reviewed by Tony Chang.
Add support for Array values as IDBKeys. (Multirow indexes are still
not yet supported.)
Tests: storage/indexeddb/cursor-key-order.html
storage/indexeddb/key-type-array.html
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS):
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* storage/IDBKey.cpp:
(WebCore::IDBKey::compare):
* storage/IDBKey.h:
(WebCore::IDBKey::createArray):
(WebCore::IDBKey::valid):
(WebCore::IDBKey::array):
(WebCore::IDBKey::compareTypes):
* storage/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
(WebCore::IDBLevelDBCoding::encodeIDBKey):
(WebCore::IDBLevelDBCoding::decodeIDBKey):
(WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
(WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
(WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
* storage/IDBLevelDBCoding.h:
2011-11-08 Daniel Bates <dbates@webkit.org>
Remove get() defined in CredentialStorageQt.cpp
https://bugs.webkit.org/show_bug.cgi?id=71829
Reviewed by Andreas Kling.
CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
provides the base implementation for each platform. We shouldn't re-define
CredentialStorage::get() in CredentialStorageQt.cpp.
* Target.pri: Add files CredentialStorage.{cpp, h}.
* platform/network/qt/CredentialStorageQt.cpp:
2011-11-08 Joshua Bell <jsbell@chromium.org>
IndexedDB: reference cycle between IDBDatabase and IDBTransaction
https://bugs.webkit.org/show_bug.cgi?id=71749
Reviewed by Tony Chang.
Break a cyclic reference leak following a setVersion call.
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::setVersionChangeTransaction):
(WebCore::IDBDatabase::clearVersionChangeTransaction):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):
* storage/IDBDatabase.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):
2011-11-08 Daniel Bates <dbates@webkit.org>
Remove get() defined in CredentialStorageSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=71825
Reviewed by Martin Robinson.
CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
provides the base implementation for each platform. We shouldn't re-define
CredentialStorage::get() in CredentialStorageSoup.cpp.
* GNUmakefile.list.am: Add source file CredentialStorage.cpp.
* platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
CredentialStorage::get() is defined in CredentialStorage.cpp.
2011-11-08 Roland Steiner <rolandsteiner@chromium.org>
Rename CSS document() -> findDocument(), to indicate tree climbing
https://bugs.webkit.org/show_bug.cgi?id=71764
Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().
Reviewed by Darin Adler.
No new tests. (simple refactoring)
* css/CSSGrammar.y:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::setCSSStyleSheet):
(WebCore::CSSImportRule::requestStyleSheet):
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::setStyleSheet):
(WebCore::CSSParser::findDocument):
(WebCore::CSSParser::parseAttr):
* css/CSSParser.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::cssRules):
(WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
(WebCore::CSSStyleSheet::findDocument):
(WebCore::CSSStyleSheet::styleSheetChanged):
* css/CSSStyleSheet.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::bindStyleSheet):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::ownerDocument):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeCSSStyleSheet):
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
2011-11-07 Ryosuke Niwa <rniwa@webkit.org>
Indent command can insert block quote in non editable content
https://bugs.webkit.org/show_bug.cgi?id=71754
Reviewed by Enrica Casucci.
The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
outerNode even if it was body. Fixed those bugs.
Test: editing/execCommand/indent-images.html
editing/execCommand/indent-images-2.html
editing/execCommand/indent-images-3.html
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::indentIntoBlockquote):
2011-11-08 Adam Klein <adamk@chromium.org>
Only walk up the tree in search of MutationObservers if one has been added
https://bugs.webkit.org/show_bug.cgi?id=71499
Reviewed by Ojan Vafai.
Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
to Document that keeps track of which observer types have been added.
This allows us to avoid doing any extra work if MutationObservers are
not attached to a document.
This could be improved upon to keep a count of each type, as removing
an observer currently has no effect on m_subtreeMutationObserverTypes.
But that would require a more complex implementation: one counter per
mutation type. And it would be easier to get wrong: if the counter
gets out of sync with the actual state of the DOM, we could start
dropping mutation notifications.
Test: fast/mutation/cross-document.html
* dom/Document.h:
(WebCore::Document::hasSubtreeMutationObserverOfType):
(WebCore::Document::hasSubtreeMutationObserver):
(WebCore::Document::addSubtreeMutationObserverTypes):
* dom/MutationObserverRegistration.h:
(WebCore::MutationObserverRegistration::isSubtree):
(WebCore::MutationObserverRegistration::deliveryOptions):
(WebCore::MutationObserverRegistration::mutationTypes):
* dom/Node.cpp:
(WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
(WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
(WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
* dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum
2011-11-08 Andreas Kling <kling@webkit.org>
Devirtualize CSSValue.
<http://webkit.org/b/71666>
Reviewed by Antti Koivisto.
Make the CSSValue destructor non-virtual (along with all the subclasses.)
This removes the vtables, and the pointers thereto in each value instance,
shrinking each object by one CPU word (4 or 8 bytes.)
We use the same trick as CSSRule to implement destruction; providing our
own deref() instead of RefCounted's, and performing a statically typed
delete in a destroy() method called when the ref count reaches 0.
Also made all the empty subclass destructors inline.
* css/CSSAspectRatioValue.cpp:
* css/CSSAspectRatioValue.h:
(WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
* css/CSSBorderImageSliceValue.cpp:
* css/CSSBorderImageSliceValue.h:
(WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
* css/CSSBorderImageValue.cpp:
* css/CSSBorderImageValue.h:
(WebCore::CSSBorderImageValue::~CSSBorderImageValue):
* css/CSSCanvasValue.h:
* css/CSSCrossfadeValue.cpp:
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
* css/CSSCursorImageValue.h:
* css/CSSFlexValue.cpp:
* css/CSSFlexValue.h:
(WebCore::CSSFlexValue::~CSSFlexValue):
* css/CSSFontFaceSrcValue.cpp:
* css/CSSFontFaceSrcValue.h:
(WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
* css/CSSFunctionValue.cpp:
* css/CSSFunctionValue.h:
(WebCore::CSSFunctionValue::~CSSFunctionValue):
* css/CSSImageGeneratorValue.h:
* css/CSSImageValue.h:
* css/CSSMutableValue.h:
(WebCore::CSSMutableValue::~CSSMutableValue):
* css/CSSParserValues.h:
* css/CSSPrimitiveValue.h:
* css/CSSUnicodeRangeValue.cpp:
* css/CSSUnicodeRangeValue.h:
(WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
* css/CSSValue.cpp:
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::deref):
(WebCore::CSSValue::~CSSValue):
* css/CSSValueList.cpp:
* css/CSSValueList.h:
(WebCore::CSSValueList::~CSSValueList):
* css/WebKitCSSFilterValue.cpp:
* css/WebKitCSSFilterValue.h:
(WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
* css/WebKitCSSTransformValue.cpp:
* css/WebKitCSSTransformValue.h:
(WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):
2011-11-08 Darin Adler <darin@apple.com>
Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding
https://bugs.webkit.org/show_bug.cgi?id=71828
Reviewed by Nate Chapin.
No new tests; not sure how to reproduce this, but crash traces indicate it
is an otherwise-harmless null dereference.
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::deprecatedFrameEncoding):
Handle null document the same as a document without a URL.
2011-11-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r95720.
http://trac.webkit.org/changeset/95720
https://bugs.webkit.org/show_bug.cgi?id=71831
This has made the menulists on WebKit patch reviews much less
usable (Requested by mrobinson on #webkit).
* platform/gtk/GtkPopupMenu.cpp:
(WebCore::GtkPopupMenu::menuPositionFunction):
2011-11-08 Nico Weber <thakis@chromium.org>
[chromium] Remove 6 exit time destructors and 6 static initializers
https://bugs.webkit.org/show_bug.cgi?id=71760
Reviewed by Nate Chapin.
Do this by moving global statics into function-local statics, and using
DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
thread, this is a safe change to make.
No behavior change, so no new tests.
* bindings/v8/ScriptGCEvent.cpp:
(WebCore::sEventListeners):
(WebCore::ScriptGCEvent::addEventListener):
(WebCore::ScriptGCEvent::removeEventListener):
(WebCore::ScriptGCEvent::gcEpilogueCallback):
* bindings/v8/ScriptGCEvent.h:
* bindings/v8/V8NPObject.cpp:
(WebCore::staticTemplateMap):
(WebCore::weakTemplateCallback):
(WebCore::npObjectGetProperty):
(WebCore::staticNPObjectMap):
(WebCore::weakNPObjectCallback):
(WebCore::createV8ObjectForNPObject):
(WebCore::forgetV8ObjectForNPObject):
* bindings/v8/V8Proxy.cpp:
(WebCore::staticExtensionsList):
(WebCore::V8Proxy::registeredExtensionWithV8):
(WebCore::V8Proxy::registerExtension):
(WebCore::V8Proxy::extensions):
* bindings/v8/V8Proxy.h:
* bindings/v8/npruntime.cpp:
* plugins/chromium/PluginDataChromium.cpp:
(WebCore::pluginCache):
(WebCore::PluginData::initPlugins):
(WebCore::PluginData::refresh):
(WebCore::getPluginMimeTypeFromExtension):
2011-11-08 Hans Wennborg <hans@chromium.org>
IndexedDB: Start using the onSuccessWithContinuation() callback
https://bugs.webkit.org/show_bug.cgi?id=71565
Reviewed by Tony Chang.
This is a follow-up to r99169 where we start using this new
callback for cursors.
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::continueFunctionInternal):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::setCursor):
2011-11-08 Justin Schuh <jschuh@chromium.org>
Document::loader should use documentLoader(), not activeDocumentLoader()
https://bugs.webkit.org/show_bug.cgi?id=65895
Reviewed by Brady Eidson.
Test: fast/loader/stateobjects/replacestate-in-onunload.html
* dom/Document.cpp:
(WebCore::Document::loader):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSImageGeneratorValue: Devirtualize image(), isFixedSize() and fixedSize().
<http://webkit.org/b/71824>
Reviewed by Darin Adler.
Redirect the calls to the appropriate subclass in CSSImageGeneratorValue.cpp.
* css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::isFixedSize):
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::isFixedSize):
* css/CSSGradientValue.h:
(WebCore::CSSGradientValue::isFixedSize):
(WebCore::CSSGradientValue::fixedSize):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize):
(WebCore::CSSImageGeneratorValue::fixedSize):
* css/CSSImageGeneratorValue.h:
2011-11-08 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extension API][Chromium] injected extension API needs to return an object
https://bugs.webkit.org/show_bug.cgi?id=71822
Reviewed by Pavel Feldman.
* inspector/front-end/ExtensionAPI.js:
(buildExtensionAPIInjectedScript):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
<http://webkit.org/b/71814>
Reviewed by Antti Koivisto.
Defer to CSSCursorImageValue (the only CSSImageValue subclass)
when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).
* css/CSSCursorImageValue.h:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage):
* css/CSSImageValue.h:
2011-11-08 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel
https://bugs.webkit.org/show_bug.cgi?id=71817
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.evaluate):
(WebInspector.ConsoleView.prototype._enterKeyPressed):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._evaluateSelectionInConsole):
* inspector/front-end/ShortcutsScreen.js:
(WebInspector.ShortcutsSection.prototype.addRelatedKeys):
(WebInspector.ShortcutsSection.prototype.addAlternateKeys):
* inspector/front-end/externs.js:
(WebInspector.evaluateInConsole):
* inspector/front-end/inspector.js:
(WebInspector.evaluateInConsole):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSValue: Devirtualize cssText().
<http://webkit.org/b/71813>
Reviewed by Antti Koivisto.
Rename all subclass implementations to customCssText() and add
a CSSValue::cssText() that defers to the appropriate subclass
based on the type info.
The rename is both for clarity, and to ensure that calling
cssText() will always end up in the correct method.
* css/CSSAspectRatioValue.cpp:
(WebCore::CSSAspectRatioValue::customCssText):
* css/CSSAspectRatioValue.h:
* css/CSSBorderImageSliceValue.cpp:
(WebCore::CSSBorderImageSliceValue::customCssText):
* css/CSSBorderImageSliceValue.h:
* css/CSSBorderImageValue.cpp:
(WebCore::CSSBorderImageValue::customCssText):
* css/CSSBorderImageValue.h:
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::customCssText):
* css/CSSCanvasValue.h:
* css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::customCssText):
* css/CSSCrossfadeValue.h:
* css/CSSFlexValue.cpp:
(WebCore::CSSFlexValue::customCssText):
* css/CSSFlexValue.h:
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::customCssText):
* css/CSSFontFaceSrcValue.h:
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::customCssText):
* css/CSSFunctionValue.h:
* css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::customCssText):
(WebCore::CSSRadialGradientValue::customCssText):
* css/CSSGradientValue.h:
* css/CSSInheritedValue.cpp:
(WebCore::CSSInheritedValue::customCssText):
* css/CSSInheritedValue.h:
* css/CSSInitialValue.cpp:
(WebCore::CSSInitialValue::customCssText):
* css/CSSInitialValue.h:
* css/CSSLineBoxContainValue.cpp:
(WebCore::CSSLineBoxContainValue::customCssText):
* css/CSSLineBoxContainValue.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::customCssText):
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::customCssText):
* css/CSSReflectValue.h:
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSLinearTimingFunctionValue::customCssText):
(WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
(WebCore::CSSStepsTimingFunctionValue::customCssText):
* css/CSSTimingFunctionValue.h:
(WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
* css/CSSUnicodeRangeValue.cpp:
(WebCore::CSSUnicodeRangeValue::customCssText):
* css/CSSUnicodeRangeValue.h:
* css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
* css/CSSValue.h:
* css/CSSValueList.cpp:
(WebCore::CSSValueList::customCssText):
* css/CSSValueList.h:
* css/FontFamilyValue.cpp:
(WebCore::FontFamilyValue::customCssText):
* css/FontFamilyValue.h:
* css/FontFeatureValue.cpp:
(WebCore::FontFeatureValue::customCssText):
* css/FontFeatureValue.h:
* css/FontValue.cpp:
(WebCore::FontValue::customCssText):
* css/FontValue.h:
* css/ShadowValue.cpp:
(WebCore::ShadowValue::customCssText):
* css/ShadowValue.h:
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::customCssText):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSTransformValue.cpp:
(WebCore::WebKitCSSTransformValue::customCssText):
* css/WebKitCSSTransformValue.h:
* svg/SVGColor.cpp:
(WebCore::SVGColor::customCssText):
* svg/SVGColor.h:
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::customCssText):
* svg/SVGPaint.h:
2011-11-08 Gavin Peters <gavinp@chromium.org>
Fix width of m_type in CachedResource
https://bugs.webkit.org/show_bug.cgi?id=71727
Reviewed by Nate Chapin.
Test: fast/dom/HTMLLinkElement/cachedresource-types.html
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
* loader/cache/CachedResource.h:
2011-11-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Don't set OBJECTS_DIR and DEFINES in default_pre
If a pro file needs to access the OBJECTS_DIR it should use the
form ${QMAKE_VAR_OBJECTS_DIR} to ensure the value is evaluated
after defaults_post has been processed.
Setting DEFINES in defaults_pre is also bad, as any DEFINES=foo on
the command line will override whatever we set in defaults_pre.
Reviewed by Simon Hausmann.
* Target.pri:
2011-11-08 Pavel Feldman <pfeldman@google.com>
Web Inspector: add JavaScript keywords to the autocomplete.
https://bugs.webkit.org/show_bug.cgi?id=71782
Reviewed by Yury Semikhatsky.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
(WebInspector.ConsoleView.prototype._completions):
(WebInspector.ConsoleView.prototype._reportCompletions):
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Introduce SVGLengthContext, to allow to resolve relative units to arbitary viewports
https://bugs.webkit.org/show_bug.cgi?id=71780
Reviewed by Zoltan Herczeg.
Introduce SVGLengthContext to cleanup SVGLength, by moving all conversion of relative units that depend on style or viewport
out of SVGLength, into SVGLengthContext. Pass SVGLengthContext& to SVGLength::value/setValue/... functions instead of a pure
"const SVGElement* context", which was previously used to determine the viewport when resolving percentage units.
SVGLengthContext carries an additional FloatRect of the custom viewport, to which percentages are resolved, if specified.
This allows us to kill several duplicates of the same code, which handles objectBoundingBox mode for gradients/patterns/masks/etc..
A follow-up patch will convert filters to use the new SVGLengthContext::resolveRectangle code as well.
This is a preparation for bug 10430, to fix feImage + objectBoundingBox support when rendering referenced elements, instead of files.
Doesn't affect any tests yet.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::RenderSVGResourceGradient::applyResource):
* rendering/svg/RenderSVGResourceGradient.h:
* rendering/svg/RenderSVGResourceLinearGradient.h:
(WebCore::RenderSVGResourceLinearGradient::gradientUnits):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::applyResource):
(WebCore::calculatePatternBoundaries):
(WebCore::RenderSVGResourcePattern::buildTileImageTransform):
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/svg/RenderSVGResourceRadialGradient.h:
(WebCore::RenderSVGResourceRadialGradient::gradientUnits):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeCommonGradientProperties):
(WebCore::writeSVGResourceContainer):
* svg/GradientAttributes.h:
(WebCore::GradientAttributes::GradientAttributes):
(WebCore::GradientAttributes::gradientUnits):
(WebCore::GradientAttributes::setGradientUnits):
(WebCore::GradientAttributes::hasGradientUnits):
* svg/PatternAttributes.h:
(WebCore::PatternAttributes::PatternAttributes):
(WebCore::PatternAttributes::patternUnits):
(WebCore::PatternAttributes::patternContentUnits):
(WebCore::PatternAttributes::setPatternUnits):
(WebCore::PatternAttributes::setPatternContentUnits):
(WebCore::PatternAttributes::hasPatternUnits):
(WebCore::PatternAttributes::hasPatternContentUnits):
* svg/SVGAllInOne.cpp:
* svg/SVGElement.h:
(WebCore::SVGElement::operator SVGLengthContext):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::filterBoundingBox):
* svg/SVGLength.cpp:
(WebCore::SVGLength::SVGLength):
(WebCore::SVGLength::unitMode):
(WebCore::SVGLength::value):
(WebCore::SVGLength::setValue):
(WebCore::SVGLength::convertToSpecifiedUnits):
* svg/SVGLength.h:
(WebCore::SVGLength::blend):
* svg/SVGLengthContext.cpp: Added.
(WebCore::SVGLengthContext::SVGLengthContext):
(WebCore::SVGLengthContext::resolveRectangle):
(WebCore::SVGLengthContext::resolvePoint):
(WebCore::SVGLengthContext::resolveLength):
(WebCore::SVGLengthContext::convertValueToUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
(WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
(WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
(WebCore::SVGLengthContext::determineViewport):
* svg/SVGLengthContext.h: Added.
(WebCore::SVGLengthContext::resolveRectangle):
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::collectGradientAttributes):
(WebCore::SVGLinearGradientElement::calculateStartEndPoints):
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::maskBoundingBox):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::collectPatternAttributes):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::collectGradientAttributes):
(WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSValue: Devirtualize addSubresourceStyleURLs().
<http://webkit.org/b/71805>
Reviewed by Antti Koivisto.
Make addSubresourceStyleURLs() non-virtual and call the appropriate
subclass implementation based on the subclass type info.
* css/CSSBorderImageValue.h:
* css/CSSFontFaceSrcValue.h:
* css/CSSPrimitiveValue.h:
* css/CSSReflectValue.h:
* css/CSSValue.cpp:
(WebCore::CSSValue::addSubresourceStyleURLs):
* css/CSSValue.h:
(WebCore::CSSValue::addSubresourceStyleURLs):
* css/CSSValueList.h:
2011-11-08 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: do not show object popover when selection is active
https://bugs.webkit.org/show_bug.cgi?id=71804
Reviewed by Yury Semikhatsky.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype._shouldShowPopover):
2011-11-08 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Do not hide SuggestBox if typed-in string in the middle of input equals one of suggestions
https://bugs.webkit.org/show_bug.cgi?id=71797
Reviewed by Yury Semikhatsky.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.prototype.complete):
2011-11-08 Andreas Kling <kling@webkit.org>
CSSGradientValue: Devirtualize createGradient().
<http://webkit.org/b/71800>
Reviewed by Antti Koivisto.
Make createGradient() non-virtual and call the appropriate subclass
implementation in image() based on is{Linear,Radial}Gradient().
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image):
* css/CSSGradientValue.h:
2011-11-08 Andreas Kling <kling@webkit.org>
CSSCanvasValue: Remove inheritance from CanvasObserver.
<http://webkit.org/b/71796>
Reviewed by Antti Koivisto.
To completely devirtualize all the CSSValues, we need to remove
CSSCanvasValue's inheritance from CanvasObserver, as that is forcing
a vptr into the class.
Use the same approach as CSSImportRule and make a simple proxying
CanvasObserver subclass and put that as a member variable of the value.
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::~CSSCanvasValue):
(WebCore::CSSCanvasValue::element):
* css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::CSSCanvasValue):
(WebCore::CSSCanvasValue::CanvasObserverProxy::CanvasObserverProxy):
(WebCore::CSSCanvasValue::CanvasObserverProxy::~CanvasObserverProxy):
(WebCore::CSSCanvasValue::CanvasObserverProxy::canvasChanged):
(WebCore::CSSCanvasValue::CanvasObserverProxy::canvasResized):
(WebCore::CSSCanvasValue::CanvasObserverProxy::canvasDestroyed):
2011-11-08 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: display notification in the front-end when inspected worker terminates
https://bugs.webkit.org/show_bug.cgi?id=71770
When inspected worker terminates we will show a notification similar to the help
screen. The notification disappears when the worker restarts or the user closes it
manually.
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager.loaded):
(WebInspector.WorkerManager.showWorkerTerminatedScreen):
(WebInspector.WorkerTerminatedScreen):
* inspector/front-end/inspector.js:
(WebInspector.disconnectFromBackend):
(WebInspector.frontendReused):
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Fold ImageBySizeCache again into CSSImageGeneratorValue
https://bugs.webkit.org/show_bug.cgi?id=71785
Reviewed by Zoltan Herczeg.
Remove ImageBySizeCache, and fold it into CSSImageGeneratorValue, as it used to be.
CachedImage has switched to SVGImageCache and no longer needs it.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::addClient):
(WebCore::CSSImageGeneratorValue::removeClient):
(WebCore::CSSImageGeneratorValue::getImage):
(WebCore::CSSImageGeneratorValue::putImage):
* css/CSSImageGeneratorValue.h:
(WebCore::SizeAndCount::SizeAndCount):
(WebCore::CSSImageGeneratorValue::clients):
* rendering/ImageBySizeCache.cpp: Removed.
* rendering/ImageBySizeCache.h: Removed.
2011-11-08 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Avoid automatic Console suggestions with empty expression
https://bugs.webkit.org/show_bug.cgi?id=71783
Reviewed by Yury Semikhatsky.
* inspector/front-end/ConsoleView.js:
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix build, by removing an unused variable.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::isOriginClean):
(WebCore::CanvasRenderingContext2D::createPattern):
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
https://bugs.webkit.org/show_bug.cgi?id=71368
Reviewed by Zoltan Herczeg.
When determining whether the canvas would be tainted, we need access to the SVGImage, not its cached BitmapImage.
Otherwhise wrong assumptions are mode, leading to regressions.
Fixes http/tests/security/canvas-remote-read-svg-image.html and related tests on the bots.
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin): Forgot to switch them back to use cachedImage->image().
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::isOriginClean): Ditto.
2011-11-08 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Console should be scrolled to bottom when shown for the first time.
https://bugs.webkit.org/show_bug.cgi?id=71781
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
https://bugs.webkit.org/show_bug.cgi?id=71368
Reviewed by Antti Koivisto.
Fix regressions/races introduced by r98852. SVGImage repainting didn't work under certain circumstances.
The problem was hard to reproduce on Mac ports, but easily visible on Chromium, when opening two files
that shared the same animated SVG image. The problem of sharing a single ImageObserver across multiple
instances of the same SVGImage, leads to nasty problems, that are timing dependant. changedInRect() calls
that should only by received in one document, are received in the other as well, due the shared nature
of CachedImage. To avoid these problems alltogether, a new approach is needed, that was initially suggested
by Antti.
Avoid creating multiple SVGImages and caching them for different sizes/zoom levels. Introduce SVGImageCache
which holds rendered versions of the SVGImage at certain sizes/zoom levels. It holds (ImageBuffer, Image) pairs
for each renderer, associated with a size and zoom level.
This is a major change to the cache as introduced some weeks ago. Instead of holding multiple SVGImages, each containing
a whole DOM/render tree, we now create bitmap images rendered at the requested sizes/zoom levels and cache them.
Revert ImageBySizeCache changes that were needed to make it usable wih SVGImage. Its now used only in CSSImageGeneratorValue and
thus the extra information that CSSImageGeneratorValue doesn't need can be removed again (desired/actual size differentations, and the zoom level).
Tests: svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html
svg/as-image/animated-svg-as-image-same-image.html
* CMakeLists.txt: Add svg/graphics/SVGImageCache.* to build.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from svg/graphics, as SVGImageCache is needed by CachedImage in SVG enabled builds.
* WebCore.xcodeproj/project.pbxproj: Add svg/graphics/SVGImageCache.* to build.
* css/CSSImageGeneratorValue.cpp: Remove zoom parameter from addClient/getImage, no need to pass 1 default values anymore.
(WebCore::CSSImageGeneratorValue::addClient):
(WebCore::CSSImageGeneratorValue::getImage):
* loader/cache/CachedImage.cpp: Stop using ImageBySizeCache, and switch to the new SVGImageCache.
(WebCore::CachedImage::removeClientForRenderer):
(WebCore::CachedImage::lookupOrCreateImageForRenderer):
(WebCore::CachedImage::setContainerSizeForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::clear):
(WebCore::CachedImage::createImage):
(WebCore::CachedImage::destroyDecodedData):
(WebCore::CachedImage::decodedSizeChanged):
(WebCore::CachedImage::didDraw):
(WebCore::CachedImage::shouldPauseAnimation):
(WebCore::CachedImage::animationAdvanced):
(WebCore::CachedImage::changedInRect):
* loader/cache/CachedImage.h:
* page/DragController.cpp: Stop using imageForRenderer(), as it may return cached BitmapImages, that don't carry a filename extension anymore, which is required here.
(WebCore::getImage):
* rendering/ImageBySizeCache.cpp: Revert changes to ImageBySizeCache, which were needed to make it usable for SVGImages. CSSImageGenerator doesn't need it.
(WebCore::ImageBySizeCache::addClient):
(WebCore::ImageBySizeCache::removeClient):
(WebCore::ImageBySizeCache::getImage):
* rendering/ImageBySizeCache.h: Ditto.
(WebCore::SizeAndCount::SizeAndCount):
* rendering/RenderImage.cpp: Stop using imageForRenderer(), use cachedImage()->image(), which is guaranteed to be a SVGImage for svg images, and not a cached bitmap copy.
(WebCore::RenderImage::embeddedContentBox):
* rendering/RenderReplaced.cpp: Simplify logic to figure out the intrinsic size - the special logic for the old SVGImage cache can go away now.
(WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
(WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
* rendering/style/StyleCachedImage.cpp: Call removeClientForRenderer(), which takes care of clearing SVGImageCache entries as well.
(WebCore::StyleCachedImage::removeClient): This change is needed, as we don't want to make removeClient() virtual in CachedResource.
* rendering/svg/RenderSVGRoot.cpp: Rename isEmbeddedThroughImageElement to isEmbeddedThroughSVGImage, as this is what it actually checks.
(WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
* rendering/svg/RenderSVGRoot.h:
* svg/SVGSVGElement.cpp: Fix bug that's visible now with the SVGImageCache, which was already there before, but hard to trigger.
(WebCore::SVGSVGElement::currentViewBoxRect): The viewBox depends on who's asking for it: the host document or the embedded document? Take that into account.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp: Cleanup some code. Add new logic that draws a SVGImage into an ImageBuffer at a desired size & zoom.
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::size):
(WebCore::SVGImage::drawSVGToImageBuffer):
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageCache.cpp: Added. SVGImageCache caches Image/ImageBuffer pairs for each _renderer_ and size/zoom level. The ImageBySizeCache only cared about size.
(WebCore::SVGImageCache::SVGImageCache):
(WebCore::SVGImageCache::~SVGImageCache):
(WebCore::SVGImageCache::removeRendererFromCache):
(WebCore::SVGImageCache::setRequestedSizeAndZoom):
(WebCore::SVGImageCache::getRequestedSizeAndZoom):
(WebCore::SVGImageCache::imageContentChanged):
(WebCore::SVGImageCache::redrawTimerFired):
(WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
* svg/graphics/SVGImageCache.h: Added.
(WebCore::SVGImageCache::create):
(WebCore::SVGImageCache::CachedSizeAndZoom::CachedSizeAndZoom):
(WebCore::SVGImageCache::CachedImageData::CachedImageData):
2011-11-07 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: refactor shortcuts and settings screens
https://bugs.webkit.org/show_bug.cgi?id=71773
Keep pointer to the visible screen and hide it automatically when new one is going
to be displayed.
Reviewed by Pavel Feldman.
* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreen.prototype.show):
(WebInspector.HelpScreen.prototype.hide):
* inspector/front-end/ShortcutsScreen.js:
(WebInspector.ShortcutsScreen): ShortcutsScreen is now a descendant of HelpScreen.
(WebInspector.ShortcutsScreen.prototype.show):
* inspector/front-end/inspector.js:
(WebInspector._hideSettingsScreen):
(WebInspector.documentKeyDown):
2011-11-08 Nikolas Zimmermann <nzimmermann@rim.com>
Not reviewed. Fix Snow Leopard 32bit builds.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseAspectRatio): CSSParserValue::fValue is a double, use narrowPrecisionToFloat() to convert double->float.
* platform/ClockGeneric.cpp: Remove unneeded variable out of 32bit integer value range.
* webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::getFrequencyResponse): Use narrowPrecisionTofloat() to convert double->float.
2011-11-07 Daniel Bates <dbates@rim.com>
Add CredentialStorage.cpp to WebCore/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=71748
Reviewed by Martin Robinson.
Adds CredentialStorage.cpp to WebCore/CMakeLists.txt since its provides a
base implementation of this feature.
Also adds a stub implementation of CredentialStorage to the WinCE port.
* CMakeLists.txt: Added source file CredentialStorage.cpp.
* CMakeListsEfl.txt: Added source file CredentialStorageCurl.cpp when building
with the Curl networking backend.
* CMakeListsWinCE.txt: Added source file CredentialStorageWin.cpp.
* platform/network/win/CredentialStorageWin.cpp: Added.
(WebCore::Credential::getFromPersistentStorage): Stub implementation.
2011-11-07 Kentaro Hara <haraken@chromium.org>
Remove [CustomGetter] IDL for window.Image of V8
https://bugs.webkit.org/show_bug.cgi?id=71739
Reviewed by Adam Barth.
Currently, window.Image uses a custom getter to get the template
of 'HTMLImageElementConstructor'. However, this getter does not need to
be custom and can use a default getter
'DOMWindowInternal::DOMWindowConstructorGetter'.
Tests: fast/js/custom-constructors.html
fast/dom/image-object.html
fast/dom/gc-image-element.html
fast/dom/Window/custom-constructors.html
* bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
* page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Image of V8. Renamed 'HTMLImageElementConstructor' to 'HTMLImageElementConstructorConstructor' in order to make window.Image use the template of (not 'HTMLImageElement' but) 'HTMLImageElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
2011-11-07 Chris Fleizach <cfleizach@apple.com>
REGRESSION(r99025-r99037): platform/mac/accessibility/select-element-selection-with-optgroups.html is asserting
https://bugs.webkit.org/show_bug.cgi?id=71421
Reviewed by Ryosuke Niwa.
Remove an assert that was added by r99035. It was added based on a comment in the code, but not tested.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectOption):
2011-11-07 Emil A Eklund <eae@chromium.org>
Revert platform and scrolling to ints
https://bugs.webkit.org/show_bug.cgi?id=71585
Reviewed by Eric Seidel.
Replace all uses of LayoutUnit and related types with ints in platform
and scrolling code.
No new tests.
* page/FrameView.cpp:
* page/FrameView.h:
* platform/PopupMenuClient.h:
* platform/ScrollAnimatorNone.cpp:
* platform/ScrollAnimatorNone.h:
* platform/ScrollView.cpp:
* platform/ScrollView.h:
* platform/ScrollableArea.h:
* rendering/RenderLayer.cpp:
* rendering/RenderLayer.h:
* rendering/RenderListBox.cpp:
* rendering/RenderListBox.h:
* rendering/RenderMenuList.cpp:
* rendering/RenderMenuList.h:
* rendering/RenderTextControlSingleLine.cpp:
* rendering/RenderTextControlSingleLine.h:
2011-11-07 Kentaro Hara <haraken@chromium.org>
Fixed wrong test results of fast/js/custom-constructors.html
https://bugs.webkit.org/show_bug.cgi?id=71669
Reviewed by Darin Adler.
According to the HTMLOptionElement spec
(http://dev.w3.org/html5/spec/the-button-element.html#the-option-element),
'text', 'label' and 'value' have neither [TreatUndefinedAs=EmptyString]
nor [TreatNullAs=EmptyString]. Thus, an undefined value should be
converted to a string "undefined" and a null value should be
converted to a string "null", following the step 3 of the IDL
conversion spec (http://dev.w3.org/2006/webapi/WebIDL/#es-DOMString).
* bindings/js/JSOptionConstructor.cpp:
(WebCore::constructHTMLOptionElement): Removed isUndefined() check from 'text' and 'value' since the spec does not have [TreatUndefinedAs=EmptyString].
* bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
(WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
* html/HTMLOptionElement.idl: Removed [ConvertNullToNullString] from 'text', 'label' and 'value' since the spec does not have [TreatNullAs=EmptyString].
2011-11-07 Adam Barth <abarth@webkit.org>
Move DomainRelaxationForbidden scheme registry to SchemeRegistry
https://bugs.webkit.org/show_bug.cgi?id=71750
Reviewed by Eric Seidel.
As stated in the FIXME, scheme registries belong in SchemeRegistry, not
in SecurityOrigin.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::setDomain):
* page/SecurityOrigin.cpp:
* page/SecurityOrigin.h:
* platform/SchemeRegistry.cpp:
(WebCore::schemesForbiddenFromDomainRelaxation):
(WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme):
(WebCore::SchemeRegistry::isDomainRelaxationForbiddenForURLScheme):
* platform/SchemeRegistry.h:
2011-11-07 Dan Bernstein <mitz@apple.com>
<rdar://problem/10405215> REGRESSION (r98178): World of Warcraft Launcher crashes in FrameView::isOnActivePage()
https://bugs.webkit.org/show_bug.cgi?id=71743
Reviewed by Beth Dakin.
* page/FrameView.cpp:
(WebCore::FrameView::isOnActivePage): Added a check for a null m_frame.
2011-11-07 Dmitry Lomov <dslomov@google.com>
https://bugs.webkit.org/show_bug.cgi?id=71534
[V8] On neutering TypedArrayViews, V8 should be notified to drain code generation cache.
Reviewed by David Levin.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
* html/canvas/DataView.cpp:
* html/canvas/DataView.h:
* html/canvas/Float32Array.h:
* html/canvas/Float64Array.h:
* html/canvas/Int16Array.h:
* html/canvas/Int32Array.h:
* html/canvas/Int8Array.h:
* html/canvas/TypedArrayBase.h:
* html/canvas/Uint16Array.h:
* html/canvas/Uint32Array.h:
* html/canvas/Uint8Array.h:
2011-11-07 Adam Barth <abarth@webkit.org>
addMessage's last few arguments should be optional
https://bugs.webkit.org/show_bug.cgi?id=70946
Reviewed by Darin Adler.
As requested by Darin Adler. I wanted to call this method addMessage,
but the compiler was unhappy locating the overload on
ScriptExecutionContext when Document had an override too. Changing the
name to addConsoleMessage made all the code happier.
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::addMessage):
* dom/ScriptExecutionContext.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::getImageData):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterToken):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
(WebCore::ContentSecurityPolicy::logUnrecognizedDirective):
* page/EventSource.cpp:
(WebCore::EventSource::didReceiveResponse):
* webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::createLowPass2Filter):
(WebCore::AudioContext::createHighPass2Filter):
* xml/XMLHttpRequest.cpp:
(WebCore::reportUnsafeUsage):
2011-11-07 Adam Barth <abarth@webkit.org>
WebWorkers fail with document.domain set when accessing from subdomain
https://bugs.webkit.org/show_bug.cgi?id=67978
Reviewed by Sam Weinig.
Workers should ignore document.domain when deciding which URLs a
document can request, just like XMLHttpRequest and every other API.
Test: http/tests/workers/worker-document-domain-security.html
* workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::resolveURL):
2011-11-07 Scott Graham <scottmg@chromium.org>
Allow gamepad API to be enabled at runtime
https://bugs.webkit.org/show_bug.cgi?id=71736
Part of full patch, found at
https://bugs.webkit.org/show_bug.cgi?id=69451
Reviewed by Adam Barth.
No new tests. No new functionality.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
(WebCore::RuntimeEnabledFeatures::gamepadsEnabled):
2011-11-07 Kentaro Hara <haraken@chromium.org>
Remove [CustomGetter] IDL for window.Option of V8
https://bugs.webkit.org/show_bug.cgi?id=71735
Reviewed by Nate Chapin.
Currently, window.Option uses a custom getter to get the template
of 'HTMLOptionElementConstructor'. However, this getter does not need to
be custom and can use a default getter
'DOMWindowInternal::DOMWindowConstructorGetter'.
Tests: fast/js/custom-constructors.html
fast/forms/option-index.html
fast/forms/add-and-remove-option.html
fast/dom/dom-add-optionelement.html
* bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
* page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Option of V8. Renamed 'HTMLOptionElementConstructor' to 'HTMLOptionElementConstructorConstructor' in order to make window.Option use the template of (not 'HTMLOptionElement' but) 'HTMLOptionElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
2011-11-07 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::putWithAttributes
https://bugs.webkit.org/show_bug.cgi?id=71716
Reviewed by Darin Adler.
No new tests.
Added putWithAttributes to the MethodTable, changed all the virtual
implementations of putWithAttributes to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::putWithAttributes):
* bindings/js/JSDOMWindowShell.h:
2011-11-07 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=71490
Support uiStateTransitionProgress for scrollbars
-and corresponding-
<rdar://problem/9849612>
Reviewed by Sam Weinig.
Step 1 of supporting uiStateTransitionProgress is knowing when the mouse has
entered or exited a scrollbar. These changes to Scrollbar pass that information
on to the ScrollAnimator. Also, Scrollbar::mouseUp() now takes a
PlatformMouseEvent as a parameter. This is necessary because m_hoveredNode is not
always up to date on a mouseUp, so mouseUp must hitTest the scrollbar to see if
the mouse has exited the scrollbar.
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseExited):
(WebCore::Scrollbar::mouseUp):
* platform/Scrollbar.h:
These changes are required now that Scrollbar::mouseUp() takes a parameter.
* WebCore.exp.in:
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
* platform/chromium/PopupListBox.cpp:
(WebCore::PopupListBox::handleMouseReleaseEvent):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::wndProc):
ScrollAnimator passes the information on to AppKit.
* platform/ScrollAnimator.h:
(WebCore::ScrollAnimator::mouseEnteredScrollbar):
(WebCore::ScrollAnimator::mouseExitedScrollbar):
* platform/mac/ScrollAnimatorMac.h:
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
There are several new pieces of AppKit api we must call into.
* platform/mac/NSScrollerImpDetails.h:
This is a temporary function that is needed for the time being since there is new
AppKit api required for this to work.
* platform/mac/ScrollAnimatorMac.mm:
(supportsUIStateTransitionProgress):
I refactored WebScrollbarPartAnimation so that it can handle the
uiStateTransitionProgress animation as well as the alpha animations it already
handled. This mostly involved re-naming things and making use of a new enum called
FeatureToAnimate which keeps track of what the instance of
WebScrollbarPartAnimation is animating.
(-[WebScrollbarPartAnimation initWithScrollbarPainter:animate:scrollAnimator:animateFrom:animateTo:duration:]):
(-[WebScrollbarPartAnimation setScrollbarPainter:]):
(-[WebScrollbarPartAnimation setStartValue:]):
(-[WebScrollbarPartAnimation setEndValue:]):
(-[WebScrollbarPartAnimation setCurrentProgress:]):
WebScrollbarPainterDelegate has two new animations,
_verticalUIStateTransitionAnimation, and _horizontalUIStateTransitionAnimation. It
also responds to a few new delegate calls.
(-[WebScrollbarPainterDelegate cancelAnimations]):
This is a new delegate call needed for uiStateTransitionProgress.
(-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
I re-named setUpAnimation to setUpAlphaAnimation since it does a lot of things
that are specific to the alpha animation and I chose not to re-use it for
uiStateTransition.
(-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
New delegate call for the uiStateTransition animation that sets up that animation
and kicks it off.
(-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
(-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
2011-11-07 Alice Boxhall <aboxhall@chromium.org>
Remove unnecessary use of function pointer in FrameSelection::modify()
https://bugs.webkit.org/show_bug.cgi?id=71646
Reviewed by Ryosuke Niwa.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modify):
2011-11-07 Andreas Kling <kling@webkit.org>
Unreviewed Windows build fix after r99468.
* css/CSSPrimitiveValue.h: Unmark single-argument constructors
as explicit, since this conflicts with the template constructors
in CSSPrimitiveValueMappings.h.
2011-11-07 Jer Noble <jer.noble@apple.com>
Build fix due to a erroneous search-and-replace.
Unreviewed build fix.
Replace all instances of GenericClock with ClockGeneric.
* WebCore.xcodeproj/project.pbxproj:
* platform/ClockGeneric.cpp:
(ClockGeneric::ClockGeneric):
2011-11-07 Adam Barth <abarth@webkit.org>
Move parseSandboxPolicy to SecurityContext
https://bugs.webkit.org/show_bug.cgi?id=71732
Reviewed by Eric Seidel.
As requested by Eric, this patch resolves a layering inversion. Now
that we have SecurityContext to hold the sandbox bits and the origin,
it's a logical place to put the parser for sandbox policies.
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::parseSandboxPolicy):
* dom/SecurityContext.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::applySandboxPolicy):
* page/SecurityOrigin.cpp:
* page/SecurityOrigin.h:
2011-11-07 Jer Noble <jer.noble@apple.com>
Rename PlatformClockPOSIX -> ClockGeneric, and use WTF::currentTime() for its timing source.
https://bugs.webkit.org/show_bug.cgi?id=71702
Reviewed by Sam Weinig.
No new tests; covered by existing tests.
* platform/Clock.cpp:
(Clock::create):
* platform/ClockGeneric.cpp: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.cpp.
(ClockGeneric::ClockGeneric):
(ClockGeneric::setCurrentTime):
(ClockGeneric::currentTime):
(ClockGeneric::setPlayRate):
(ClockGeneric::start):
(ClockGeneric::stop):
* platform/ClockGeneric.h: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.h.
(WebCore::ClockGeneric::playRate):
(WebCore::ClockGeneric::isRunning):
Boilerplate project file changes:
* CMakeLists.txt:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
2011-11-07 Vangelis Kokkevis <vangelis@chromium.org>
Create a separate setting for compositing of for scrollable [i]frames
that forceCompositingMode can be used without turning frames into composited layers.
https://bugs.webkit.org/show_bug.cgi?id=71714
Reviewed by James Robinson.
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setAcceleratedCompositingForScrollableFramesEnabled):
(WebCore::Settings::acceleratedCompositingForScrollableFramesEnabled):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
* testing/Internals.cpp:
(WebCore::Internals::setEnableCompositingForScrollableFrames):
* testing/Internals.h:
* testing/Internals.idl:
2011-11-07 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Fix mac build (with mutation_observers enabled)
https://bugs.webkit.org/show_bug.cgi?id=71728
Reviewed by Tony Chang.
Errant forward declaration of MutationObserverRegistration removed from
Node.h this would have broken a port that tried to build with mutation_observers=1.
* dom/Node.h:
2011-11-07 Kentaro Hara <haraken@chromium.org>
Remove [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8
https://bugs.webkit.org/show_bug.cgi?id=71660
Reviewed by Adam Barth.
Currently, "new Audio()" uses a custom getter to get the template
of 'HTMLAudioElementConstructor'. However, this getter does not need to
be custom and can use a default getter 'DOMWindowInternal::DOMWindowConstructorGetter'.
Tests: fast/js/custom-constructors.html
media/audio-constructor.html
media/audio-constructor-src.html
media/audio-constructor-preload.html
media/audio-controls-do-not-fade-out.html
media/audio-controls-rendering.html
* bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
* page/DOMWindow.idl: Removed [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8. Renamed 'HTMLAudioElementConstructor' to 'HTMLAudioElementConstructorConstructor' in order to make 'new Audio()' use the template of (not 'HTMLAudioElement' but) 'HTMLAudioElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from an IDL type.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): If an IDL type is 'XXXXConstructorConstructor', then we do not add a header file 'XXXXConstructor.h' to JSDOMWindow.cpp, because the NamedConstructor declaration is written in the header file of class XXXX 'XXXX.h'. Incidentally, the reason why CodeGeneratorV8.pm does not need a corresponding change is that V8 is still generating the NamedConstructor declaration in its dedicated header file 'XXXXConstructor.h'. This V8 issue will be fixed in the upcoming patch that implements [NamedConstructor] IDL in V8.
2011-11-07 Robert Sesek <rsesek@chromium.org>
[chromium] Update WebCore.gyp to not use WebKitLibraries in include_dirs
https://bugs.webkit.org/show_bug.cgi?id=71694
Reviewed by Adam Barth.
* WebCore.gyp/WebCore.gyp:
2011-11-07 Dominic Cooney <dominicc@chromium.org>
Remove initPopStateEvent method
https://bugs.webkit.org/show_bug.cgi?id=71691
Reviewed by Ojan Vafai.
* dom/PopStateEvent.cpp:
* dom/PopStateEvent.h:
* dom/PopStateEvent.idl:
2011-11-07 Andreas Kling <kling@webkit.org>
CSSValue: Devirtualize isFooType().
<http://webkit.org/b/71668>
Reviewed by Darin Adler.
Add a member to CSSValue to determine which subclass a given
value object is, along with 5 bits to tell us whether the
value is primitive/mutable/initial/inherited/a list.
All non-private subclass constructors now take CSSValue::ClassType
as their first argument. A few constructors were duplicated as
private members to allow calling them from ::create() methods
without passing an explicit ClassType.
Furthermore, since CSSValue::cssValueType() can be inferred from
the subclass type, we compute it instead of storing it in a member.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Adding CSSValue.cpp.
* css/CSSValue.cpp: Added.
(WebCore::CSSValue::cssValueType):
Out-of-line implementation of this method. Only used by CSSOM.
* css/CSSValue.h:
(WebCore::CSSValue::isMutableValue):
(WebCore::CSSValue::isPrimitiveValue):
(WebCore::CSSValue::isValueList):
(WebCore::CSSValue::isInitialValue):
(WebCore::CSSValue::isInheritedValue):
(WebCore::CSSValue::isBorderImageValue):
(WebCore::CSSValue::isBorderImageSliceValue):
(WebCore::CSSValue::isCursorImageValue):
(WebCore::CSSValue::isFontFamilyValue):
(WebCore::CSSValue::isFontFeatureValue):
(WebCore::CSSValue::isFontValue):
(WebCore::CSSValue::isImageGeneratorValue):
(WebCore::CSSValue::isImageValue):
(WebCore::CSSValue::isImplicitInitialValue):
(WebCore::CSSValue::isReflectValue):
(WebCore::CSSValue::isShadowValue):
(WebCore::CSSValue::isTimingFunctionValue):
(WebCore::CSSValue::isWebKitCSSTransformValue):
(WebCore::CSSValue::isCSSLineBoxContainValue):
(WebCore::CSSValue::isFlexValue):
(WebCore::CSSValue::isWebKitCSSFilterValue):
(WebCore::CSSValue::isSVGColor):
(WebCore::CSSValue::isSVGPaint):
(WebCore::CSSValue::classType):
(WebCore::CSSValue::CSSValue):
(WebCore::CSSValue::isPrimitiveType):
(WebCore::CSSValue::isListType):
(WebCore::CSSValue::isMutableType):
(WebCore::CSSValue::isInheritedType):
(WebCore::CSSValue::isInitialType):
Store subclass type information into a member variable and
made all the isFooValue() functions non-virtual and inline.
Some subclass type lookups (primitive values, notably) are
cached in a bool member on construction.
* css/CSSAspectRatioValue.h:
(WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
* css/CSSBorderImageSliceValue.cpp:
(WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
* css/CSSBorderImageSliceValue.h:
* css/CSSBorderImageValue.cpp:
(WebCore::CSSBorderImageValue::CSSBorderImageValue):
* css/CSSBorderImageValue.h:
* css/CSSCanvasValue.h:
(WebCore::CSSCanvasValue::CSSCanvasValue):
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
* css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue):
* css/CSSCursorImageValue.h:
* css/CSSFlexValue.h:
(WebCore::CSSFlexValue::CSSFlexValue):
* css/CSSFontFaceSrcValue.h:
(WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::CSSFunctionValue):
* css/CSSGradientValue.h:
(WebCore::CSSGradientValue::isLinearGradient):
(WebCore::CSSGradientValue::isRadialGradient):
(WebCore::CSSGradientValue::CSSGradientValue):
(WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
(WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
* css/CSSImageGeneratorValue.h:
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue):
* css/CSSImageValue.h:
* css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::CSSInheritedValue):
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::CSSInitialValue):
(WebCore::CSSInitialValue::create):
* css/CSSLineBoxContainValue.cpp:
(WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
* css/CSSLineBoxContainValue.h:
* css/CSSMutableValue.h:
(WebCore::CSSMutableValue::CSSMutableValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSReflectValue.h:
(WebCore::CSSReflectValue::CSSReflectValue):
* css/CSSTimingFunctionValue.h:
(WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
(WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
(WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
(WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
(WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
* css/CSSUnicodeRangeValue.h:
(WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::CSSValueList):
* css/CSSValueList.h:
* css/FontFamilyValue.cpp:
(WebCore::FontFamilyValue::FontFamilyValue):
* css/FontFamilyValue.h:
* css/FontFeatureValue.cpp:
(WebCore::FontFeatureValue::FontFeatureValue):
* css/FontFeatureValue.h:
* css/FontValue.h:
(WebCore::FontValue::FontValue):
* css/ShadowValue.cpp:
(WebCore::ShadowValue::ShadowValue):
* css/ShadowValue.h:
* css/WebKitCSSFilterValue.cpp:
(WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
* css/WebKitCSSFilterValue.h:
* css/WebKitCSSTransformValue.cpp:
(WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
* css/WebKitCSSTransformValue.h:
* svg/SVGColor.cpp:
(WebCore::SVGColor::SVGColor):
* svg/SVGColor.h:
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::SVGPaint):
* svg/SVGPaint.h:
Propagate subclass type information and kill isFooType() virtuals.
2011-11-07 Mihnea Ovidenie <mihnea@adobe.com>
Leaks seen in RenderRegion::setRenderBoxRegionInfo on Leaks bot
https://bugs.webkit.org/show_bug.cgi?id=71259
Reviewed by Darin Adler.
Leak fixes covered by existing tests.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::logicalWidthChangedInRegions):
The RenderBoxRegionInfo taken out of RenderRegion must be deleted on all code paths.
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::removeRenderBoxRegionInfo):
The RenderBoxRegionInfo map owns the values, therefore, when values are removed from map
they must also be deleted.
2011-11-07 Adam Barth <abarth@webkit.org>
iframe sandbox treats vertical tab as a valid delimiter
https://bugs.webkit.org/show_bug.cgi?id=71704
Reviewed by Eric Seidel.
This patch adjusts our parser slightly to match the HTML5 spec. The
only difference is in how we handle vertical tabs. Previously, we
treated them as a delimiter, but we're not supposed to do that.
Test: fast/frames/sandboxed-iframe-parsing-space-characters.html
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::parseSandboxPolicy):
2011-11-07 Adam Barth <abarth@webkit.org>
Factor SecurityContext out of ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=71721
Reviewed by Eric Seidel.
The new SecurityContext object lets us tightly scope control of
the security-critical information in ScriptExecutionContext.
Originally I had hoped to put all this state on SecurityOrigin, but
SecurityOrigin gets shared between documents in some corner cases, so
it's not a good fit for state like the sandbox flags and the CSP policy
that really needs to be per-document.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* loader/FrameLoader.h:
* loader/FrameLoaderTypes.h:
* page/SecurityOrigin.h:
2011-11-07 Kentaro Hara <haraken@chromium.org>
Refactor CodeGeneratorV8.pm before making a core change for bug 71093.
https://bugs.webkit.org/show_bug.cgi?id=71659
Reviewed by Adam Barth.
Just refactor CodeGeneratorV8.pm without any change in behavior,
as the first step for fixing bug 71093.
Tests: WebCore/bindings/scripts/test/TestObj.idl
WebCore/bindings/scripts/test/TestInterface.idl
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader): Sort generated headers in alphabetical order. Removed unnecessary variable names from method signatures. These changes are for silencing style check errors when a new TestXXXX.idl is added.
(GenerateConstructorCallback): Renamed variables to clarify their roles.
(WriteData): Removed an unused array @implHeaderContent.
* bindings/scripts/test/V8/V8TestInterface.h: Updated a run-binding-tests result.
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
* bindings/scripts/test/V8/V8TestObj.h: Ditto.
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
2011-11-07 Ken Buchanan <kenrb@chromium.org>
Crash due to mixed direction text runs
https://bugs.webkit.org/show_bug.cgi?id=66015
Reviewed by David Hyatt.
Test for bug fix.
* fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html: Added
* fast/text/international/bidi-neutral-in-mixed-direction-run-cras-expected.txt: Added
2011-11-07 Tim Horton <timothy_horton@apple.com>
getBBox() on a SVGPathElement with curves incorrectly includes control points
https://bugs.webkit.org/show_bug.cgi?id=53512
<rdar://problem/9861154>
Reviewed by Oliver Hunt.
Split Path::boundingRect() into two, adding Path::fastBoundingRect()
for a rough estimate of the bounding rect (always equal to or larger
than boundingRect()). fastBoundingRect() currently falls back to
boundingRect() for all ports besides CG, though in most cases
(on a port-by-port basis) the current implementation of boundingRect()
will need to become fastBoundingRect(), and a new, more accurate method will
be implemented for boundingRect().
All previous callers of boundingRect() are transitioned to using fastBoundingRect()
except SVGPathElement::getBBox, which wants an accurate bounding box.
The CoreGraphics implementation of Path::boundingRect() called
CGPathGetBoundingBox, which includes the path's control points in its
calculations. Snow Leopard added CGPathGetPathBoundingBox, which
finds the bounding box of only points within the path, and does not
include control points. On Snow Leopard and above, we now use the latter.
Test: svg/custom/getBBox-path.svg
* html/HTMLAreaElement.cpp:
* html/canvas/CanvasRenderingContext2D.cpp:
* platform/graphics/Path.cpp:
* platform/graphics/Path.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::boundingRect):
* rendering/RenderObject.h:
* rendering/svg/RenderSVGPath.cpp:
* svg/SVGPathElement.cpp:
* svg/SVGPathElement.h:
2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Suggest box should be open immediately if forced by Ctrl+Space.
https://bugs.webkit.org/show_bug.cgi?id=71710
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.clearAutoComplete):
(WebInspector.TextPrompt.prototype.autoCompleteSoon):
2011-11-07 vsevik@chromium.org <vsevik@chromium.org>
Web Inspector: Suggest box should consume enter key pressed event.
https://bugs.webkit.org/show_bug.cgi?id=71700
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2011-11-07 David Barr <davidbarr@chromium.org>
Optimize outline rendering to avoid transparency layers
https://bugs.webkit.org/show_bug.cgi?id=60750
Add fast path for solid block outlines with alpha.
Improve readability of piecewise path while at it.
Reviewed by Simon Fraser.
No intended change in behaviour, no new tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintOutline):
2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Suggest box should not accept suggestion on space key pressed.
https://bugs.webkit.org/show_bug.cgi?id=71706
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
2011-11-07 Andreas Kling <kling@webkit.org>
Don't use CSSOM's CSSValue.cssValueType internally in WebCore.
<http://webkit.org/b/71679>
Reviewed by Darin Adler.
Swap out cssValueType() usage for isPrimitiveValue(), isInitialValue()
and isInheritedValue() to increase code clarity.
The plan is to turn cssValueType() into a computed value based on the
CSSValue subclass (coming soon to <http://webkit.org/b/71668>.)
This is a clean-up in preparation for that.
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::nameGetter):
* bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
(WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
* css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::isInheritedValue):
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::isInitialValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseColor):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapFillAttachment):
(WebCore::CSSStyleSelector::mapFillClip):
(WebCore::CSSStyleSelector::mapFillComposite):
(WebCore::CSSStyleSelector::mapFillOrigin):
(WebCore::CSSStyleSelector::mapFillImage):
(WebCore::CSSStyleSelector::mapFillRepeatX):
(WebCore::CSSStyleSelector::mapFillRepeatY):
(WebCore::CSSStyleSelector::mapFillSize):
(WebCore::CSSStyleSelector::mapFillXPosition):
(WebCore::CSSStyleSelector::mapFillYPosition):
(WebCore::CSSStyleSelector::mapAnimationDelay):
(WebCore::CSSStyleSelector::mapAnimationDirection):
(WebCore::CSSStyleSelector::mapAnimationDuration):
(WebCore::CSSStyleSelector::mapAnimationFillMode):
(WebCore::CSSStyleSelector::mapAnimationIterationCount):
(WebCore::CSSStyleSelector::mapAnimationName):
(WebCore::CSSStyleSelector::mapAnimationPlayState):
(WebCore::CSSStyleSelector::mapAnimationProperty):
(WebCore::CSSStyleSelector::mapAnimationTimingFunction):
* css/CSSValue.h:
(WebCore::CSSValue::isInheritedValue):
(WebCore::CSSValue::isInitialValue):
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2011-11-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99432.
http://trac.webkit.org/changeset/99432
https://bugs.webkit.org/show_bug.cgi?id=71709
It made layout tests extra slow on all bots (Requested by
Ossy_night on #webkit).
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2011-11-07 Andreas Kling <kling@webkit.org>
REGRESSION(r99409): Broke transitions/clip-transition.html
<http://webkit.org/b/71692>
Reviewed by Darin Adler.
Add missing base class initializers to CSSPrimitiveValue constructors.
This was causing some CSSPrimitiveValues to masquerade as CSS_CUSTOM values.
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2011-11-07 ChangSeok Oh <shivamidow@gmail.com>
[EFL] Support requestAnimationFrame API
https://bugs.webkit.org/show_bug.cgi?id=67112
Reviewed by Andreas Kling.
Add some files to build-target when enabling requestAnimationFrame option.
fast/animation/request-animation-frame-cancel.html
fast/animation/request-animation-frame-cancel2.html
fast/animation/request-animation-frame-display.html
fast/animation/request-animation-frame-during-modal.html
fast/animation/request-animation-frame-timestamps.html
fast/animation/request-animation-frame-within-callback.html
fast/animation/request-animation-frame.html
* CMakeLists.txt:
* UseJSC.cmake:
2011-11-07 Sam Weinig <sam@webkit.org>
Add missing .in and .pl files to the Xcode project for easy access.
Reviewed by Eric Carlson.
* WebCore.xcodeproj/project.pbxproj:
Add some missing files to the Xcode project.
2011-11-07 Jessie Berlin <jberlin@apple.com>
Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is
enabled.
https://bugs.webkit.org/show_bug.cgi?id=71631
Reviewed by Jon Honeycutt.
Check the SchemeRegistry before preventing read/write access to Local Storage and Databases
in Private Browsing.
* WebCore.exp.in:
Export the symbols for registering the schemes as allowing Local Storage and Database access
in Private Browsing.
* dom/Document.cpp:
(WebCore::Document::allowDatabaseAccess):
Check if the scheme allows Database access in Private Browsing.
* platform/SchemeRegistry.cpp:
(WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
(WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
(WebCore::SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing):
(WebCore::SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing):
(WebCore::SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):
(WebCore::SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing):
* platform/SchemeRegistry.h:
* storage/Storage.cpp:
(WebCore::Storage::length):
Ask the storage area if it is disabled by Private Browsing in the frame instead of just
checking if Private Browsing is enabled for that frame because the answer might depend on
what type of storage that storage area is.
(WebCore::Storage::key):
Ditto.
(WebCore::Storage::getItem):
Ditto.
(WebCore::Storage::contains):
Ditto.
* storage/StorageArea.h:
Make it possible to query a StorageArea for whether it is disabled by Private Browsing in a
Frame.
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
Renamed from privateBrowsingEnabled.
Check not only if Private Browsing is enabled for the Frame, but also if the storage type is
Local Storage and if there is an exception for the scheme of the resource currently loaded
into the Frame.
(WebCore::StorageAreaImpl::setItem):
Renamed privateBrowsingEnabled -> disabledByPrivateBrowsingInFrame.
(WebCore::StorageAreaImpl::removeItem):
Ditto.
(WebCore::StorageAreaImpl::clear):
Ditto.
* storage/StorageAreaImpl.h:
2011-11-07 Dominic Cooney <dominicc@chromium.org>
Remove initCloseEvent method
https://bugs.webkit.org/show_bug.cgi?id=71374
Reviewed by Ojan Vafai.
Test: fast/dom/Window/window-properties.html
* websockets/CloseEvent.h:
(WebCore::CloseEvent::initCloseEvent):
* websockets/CloseEvent.idl:
2011-11-07 Anders Carlsson <andersca@apple.com>
Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
https://bugs.webkit.org/show_bug.cgi?id=71699
Reviewed by Sam Weinig.
Export AffineTransform symbols used by WebKit2.
* WebCore.exp.in:
2011-11-07 Michael Saboff <msaboff@apple.com>
Towards 8 Bit Strings: Templatize JSC::Lexer class by character type
https://bugs.webkit.org/show_bug.cgi?id=71331
Changed the SourceProvider::data() virtual method to return a
StringImpl* instead of a UChar*.
Changed Identifier() constructor to use JSGlobalData*.
Reviewed by Darin Adler.
No new tests - refactored SourceProvider class and sub-classes.
* bindings/js/CachedScriptSourceProvider.h:
(WebCore::CachedScriptSourceProvider::stringData):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::stringData):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
2011-11-07 Dominic Cooney <dominicc@chromium.org>
Remove initOverflowEvent from JavaScript bindings
https://bugs.webkit.org/show_bug.cgi?id=71687
Reviewed by Ojan Vafai.
Now that OverflowEvent has a constructor, we don't need the
initOverflowEvent method. It has to remain in the Objective C
binding because it is part of the Objective C public API.
* dom/OverflowEvent.idl:
2011-11-07 Noel Gordon <noel.gordon@gmail.com>
Refactor canvas encoding mimeType validation
https://bugs.webkit.org/show_bug.cgi?id=71651
Reviewed by Andreas Kling.
No new tests, refactoring only, covered by existing canvas tests.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toEncodingMimeType): move encoder mimeType
validation logic into a helper routine.
(WebCore::HTMLCanvasElement::toDataURL):
* html/HTMLCanvasElement.h:
2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Suggest box should consume enter key pressed event.
https://bugs.webkit.org/show_bug.cgi?id=71700
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2011-11-07 Dominic Cooney <dominicc@chromium.org>
Remove initPageTransitionEvent method
https://bugs.webkit.org/show_bug.cgi?id=71689
Reviewed by Ojan Vafai.
initPageTransitionEvent was removed from the HTML spec; it has
been replaced by new PageTransitionEvent(...).
Removing a method, so no new tests.
* dom/PageTransitionEvent.cpp:
* dom/PageTransitionEvent.h:
* dom/PageTransitionEvent.idl:
2011-11-07 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: TextPrompt+SuggestBox should autocomplete on "Right" keydown and with a single suggestion in place
https://bugs.webkit.org/show_bug.cgi?id=71676
Reviewed by Pavel Feldman.
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
* inspector/front-end/inspectorCommon.css:
(body): Revert inadvertent style change from a preceding commit.
2011-11-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Fix the Qt build on Mac OS X when using the QuickTime media backend
When QtWebKit is built on Mac OS X using the QuickTime media backend
we build both KURLCFNet.cpp and KURLMac, just like the Mac port, so
we have to guard the potentially duplicate symbol createCFURL with
more than just !PLATFORM(MAC).
Reviewed by Andreas Kling.
* platform/cf/KURLCFNet.cpp:
2011-11-07 Pavel Feldman <pfeldman@google.com>
Not reviewed: follow up to r99407. Style the suggest box.
https://bugs.webkit.org/show_bug.cgi?id=65511
* inspector/front-end/TextPrompt.js:
* inspector/front-end/inspector.css:
* inspector/front-end/textPrompt.css:
2011-11-07 Roland Steiner <rolandsteiner@chromium.org>
https://bugs.webkit.org/show_bug.cgi?id=70223
CSSStyleSheet: finding the owner node should be in its own method
Add styleSheetOwnerNode() function that returns the owner Node of the style sheet, or 0.
Reviewed by Dimitri Glazkov.
No new tests. (refactoring)
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::styleSheetOwnerNode):
(WebCore::CSSStyleSheet::document):
* css/CSSStyleSheet.h:
2011-11-07 Yury Semikhatsky <yurys@chromium.org>
[Chromium] Web Inspector: use native worker inspector instead of fake workers
https://bugs.webkit.org/show_bug.cgi?id=71670
Removed context menu option for switching between native and "fake" workers
debugger. Native debugger is used by default on platforms that support it.
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._toggleFormatSource):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkerListSidebarPane):
(WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
* inspector/front-end/scriptsPanel.css:
(#shared-workers-list):
2011-11-07 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Add advanced search shortcut to ShortcutsScreen.
https://bugs.webkit.org/show_bug.cgi?id=71302
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.AdvancedSearchController.createShortcut):
* inspector/front-end/inspector.js:
(WebInspector._registerShortcuts):
2011-11-07 Andreas Kling <kling@webkit.org>
CSSImageValue: Remove inheritance from CachedImageClient.
<http://webkit.org/b/71675>
Reviewed by Antti Koivisto.
CSSImageValue doesn't actually use any of the CachedImageClient
functionality, and holds a reference to the resource via the
CachedResourceHandle in StyleCachedImage.
So we can safely remove the multiple inheritance and simplify
the class.
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::cachedImage):
(WebCore::CSSImageValue::clearCachedImage):
* css/CSSImageValue.h:
2011-11-07 Andreas Kling <kling@webkit.org>
CSSPrimitiveValue: Remove unused virtual function parseString().
<http://webkit.org/b/71671>
Reviewed by Antti Koivisto.
* css/CSSPrimitiveValue.cpp:
* css/CSSPrimitiveValue.h:
2011-11-07 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: use toString as the Date object description.
https://bugs.webkit.org/show_bug.cgi?id=71605
Reviewed by Yury Semikhatsky.
Test: inspector/remote-object.html
* inspector/InjectedScriptSource.js:
(.):
2011-10-26 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [refactoring] get JS-specific methods out of SourceFrame
https://bugs.webkit.org/show_bug.cgi?id=70885
Reviewed by Pavel Feldman.
No new tests, as there's no new functionality.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype.willHide):
(WebInspector.JavaScriptSourceFrame.prototype.requestContent):
(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
(WebInspector.JavaScriptSourceFrame.prototype.editContent):
(WebInspector.JavaScriptSourceFrame.prototype.contentChanged):
(WebInspector.JavaScriptSourceFrame.prototype.setReadonly):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
(WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
(WebInspector.JavaScriptSourceFrame.prototype._onShowPopover.showObjectPopover):
(WebInspector.JavaScriptSourceFrame.prototype._onShowPopover):
(WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
(WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
(WebInspector.JavaScriptSourceFrame.prototype._mouseDown):
(WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
(WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
(WebInspector.JavaScriptSourceFrame.prototype._createConditionElement):
(WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
(WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
(WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
(WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
(WebInspector.JavaScriptSourceFrameDelegate):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.requestContent):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.setBreakpoint):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.removeBreakpoint):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.updateBreakpoint):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.findBreakpoint):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.continueToLine):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.canEditScriptSource):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSource):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.suggestedFileName):
(WebInspector.JavaScriptSourceFrameDelegate.prototype.addToWatch):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceSourceFrame):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.SourceFrameDelegateForScriptsPanel):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
(WebInspector.SourceFrame.prototype.willHide):
(WebInspector.SourceFrame.prototype.get textViewer):
(WebInspector.SourceFrame.prototype.requestContent):
(WebInspector.SourceFrame.prototype._saveViewerState):
(WebInspector.SourceFrame.prototype._restoreViewerState):
(WebInspector.SourceFrame.prototype.beforeTextChanged):
(WebInspector.SourceFrame.prototype.afterTextChanged):
(WebInspector.SourceFrame.prototype._initializeTextViewer):
(WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.SourceFrame.prototype.suggestedFileName):
(WebInspector.SourceFrame.prototype.canEditSource):
(WebInspector.SourceFrame.prototype.startEditing):
(WebInspector.SourceFrame.prototype.commitEditing):
(WebInspector.SourceFrame.prototype.didEditContent):
(WebInspector.SourceFrame.prototype.editContent):
(WebInspector.SourceFrame.prototype.cancelEditing):
(WebInspector.SourceFrame.prototype.setReadOnly):
* inspector/front-end/inspector.html:
2011-11-06 Andreas Kling <kling@webkit.org>
CSSValue: Devirtualize cssValueType().
<http://webkit.org/b/71667>
Reviewed by Antti Koivisto.
Keep the cssValueType in a CSSValue member instead of using
virtual functions.
This is part of a project to completely devirtualize CSSValue
<http://webkit.org/b/71666> and will incur a temporary object
size regression for CSSValue while the work is ongoing.
* css/CSSInheritedValue.cpp:
* css/CSSInheritedValue.h:
(WebCore::CSSInheritedValue::CSSInheritedValue):
* css/CSSInitialValue.cpp:
* css/CSSInitialValue.h:
(WebCore::CSSInitialValue::CSSInitialValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPrimitiveValue.h:
* css/CSSValue.h:
(WebCore::CSSValue::cssValueType):
(WebCore::CSSValue::CSSValue):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::CSSValueList):
* css/CSSValueList.h:
2011-11-07 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: introduce UserAgent override setting.
https://bugs.webkit.org/show_bug.cgi?id=71627
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::clearFrontend):
(WebCore::InspectorResourceAgent::applyUserAgentOverride):
(WebCore::InspectorResourceAgent::setUserAgentOverride):
* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreen):
(WebInspector.HelpScreen.prototype.show):
(WebInspector.HelpScreen.prototype._onBlur):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
(WebInspector.NetworkManager.prototype._userAgentSettingChanged):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype._createSelectSetting.get for):
(WebInspector.SettingsScreen.prototype._createCustomSetting):
(WebInspector.SettingsScreen.prototype._createUserActionControl.checkboxClicked):
(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textDoubleClicked):
(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textChanged):
* inspector/front-end/helpScreen.css:
(.help-table td):
(.help-content fieldset label):
2011-11-07 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: autocomplete combobox for Styles sidebar and Console.
https://bugs.webkit.org/show_bug.cgi?id=65511
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
():
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt):
(WebInspector.TextPrompt.prototype.setSuggestBoxEnabled):
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype.applySuggestion):
(WebInspector.TextPrompt.prototype.acceptSuggestion):
(WebInspector.TextPromptWithHistory):
* inspector/front-end/inspector.css:
(.suggest-box.generic-suggest):
(.suggest-box.generic-suggest.above-anchor):
(.suggest-box.generic-suggest .content):
2011-11-07 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: split script-formatter test into multiple tests.
https://bugs.webkit.org/show_bug.cgi?id=71607
Reviewed by Yury Semikhatsky.
Tests: inspector/debugger/script-formatter-breakpoints.html
inspector/debugger/script-formatter-console.html
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2011-11-07 Keishi Hattori <keishi@webkit.org>
Change ColorChooser from singleton to ordinary object
https://bugs.webkit.org/show_bug.cgi?id=71644
Reviewed by Kent Tamura.
Changing WebCore::ColorChooser from a singleton to an ordinary object can broaden how browsers implement the color chooser interface.
* WebCore.exp.in:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::~ColorInputType):
(WebCore::ColorInputType::setValue): If a chooser exists, calls Chrome::setSelectedColorInColorChooser
(WebCore::ColorInputType::handleDOMActivateEvent):
(WebCore::ColorInputType::detach):
(WebCore::ColorInputType::didCleanup): Called after cleanup is complete.
(WebCore::ColorInputType::cleanupColorChooser): Renamed from cleanupColorChooserIfCurrentClient.
* html/ColorInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selectColorInColorChooser):
* html/HTMLInputElement.h:
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
(WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Ditto.
* page/Chrome.cpp:
(WebCore::Chrome::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
(WebCore::Chrome::setSelectedColorInColorChooser): Ditto.
* page/Chrome.h:
* page/ChromeClient.h:
* platform/ColorChooser.cpp:
(WebCore::ColorChooserClient::~ColorChooserClient):
(WebCore::ColorChooserClient::newColorChooser): Creates a new color chooser that is connected to itself.
(WebCore::ColorChooserClient::discardChooser): Discards the connected color chooser.
(WebCore::ColorChooser::ColorChooser): ColorChooser is RefCounted.
(WebCore::ColorChooser::create): Creates a ColorChooser that is connected to the given ColorChooserClient.
(WebCore::ColorChooser::~ColorChooser):
(WebCore::ColorChooser::didChooseColor): Called from WebKit side when user chose a color. Calls ColorChooserClient::didChooseColor
(WebCore::ColorChooser::didCleanup): Called from WebKit side when user color chooser was cleaned up. Calls ColorChooserClient::didCleanup
* platform/ColorChooser.h:
(WebCore::ColorChooserClient::chooser): Returns the current ColorChooser.
(WebCore::ColorChooser::disconnectClient): Disconnects the ColorChooserClient.
* testing/Internals.cpp:
(WebCore::Internals::selectColorInColorChooser): Added element argument. This calls didChooseColor on the ColorChooser of that element.
* testing/Internals.h:
* testing/Internals.idl: Removed connectColorChooserClient and updated selectColorInColorChooser.
2011-11-07 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Cannot edit elements commented with <!--
https://bugs.webkit.org/show_bug.cgi?id=71357
Reviewed by Pavel Feldman.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::getOuterHTML):
(WebCore::InspectorDOMAgent::setOuterHTML):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
(WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
(WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
(WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
2011-11-06 Noel Gordon <noel.gordon@gmail.com>
Fix some style issues in ImageBuffer.h
https://bugs.webkit.org/show_bug.cgi?id=71649
Reviewed by Kent Tamura.
No new tests. Style change only.
* platform/graphics/ImageBuffer.h:
2011-11-06 Keishi Hattori <keishi@webkit.org>
InputType::fallbackValue and defaultValue should be const
https://bugs.webkit.org/show_bug.cgi?id=71641
Reviewed by Kent Tamura.
Changing InputType::fallbackValue and defaultValue to const. Also adding OVERRIDE.
* html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::fallbackValue):
* html/BaseCheckableInputType.h:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::fallbackValue):
* html/ColorInputType.h:
* html/InputType.cpp:
(WebCore::InputType::fallbackValue):
(WebCore::InputType::defaultValue):
* html/InputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::fallbackValue):
* html/RangeInputType.h:
* html/ResetInputType.cpp:
(WebCore::ResetInputType::defaultValue):
* html/ResetInputType.h:
* html/SubmitInputType.cpp:
(WebCore::SubmitInputType::defaultValue):
* html/SubmitInputType.h:
2011-11-06 Keishi Hattori <keishi@webkit.org>
Remove ColorInputType::handleClickEvent
https://bugs.webkit.org/show_bug.cgi?id=71640
Reviewed by Kent Tamura.
When you click the input color element, both ColorInputType::handleClickEvent and
ColorInputType::handleDOMActivateEvent are called, causing Chrome::openColorChooser
to be called too many times.
* html/ColorInputType.cpp: Removed ColorInputType::handleClickEvent
* html/ColorInputType.h: Removed ColorInputType::handleClickEvent
2011-11-06 Keishi Hattori <keishi@webkit.org>
Remove extra semicolon in ColorInputType
https://bugs.webkit.org/show_bug.cgi?id=71639
Reviewed by Kent Tamura.
* html/ColorInputType.cpp:
(WebCore::ColorInputType::setValue):
2011-11-06 Dominic Cooney <dominicc@chromium.org>
Remove initBeforeLoadEvent method
https://bugs.webkit.org/show_bug.cgi?id=71636
Reviewed by Adam Barth.
Test: fast/dom/Window/window-properties.html
* dom/BeforeLoadEvent.h:
* dom/BeforeLoadEvent.idl:
2011-11-06 Adam Barth <abarth@webkit.org>
Don't crash when a context hasn't been created. This fixed a
testing-only crash on the bots in the Chromium port.
* testing/v8/WebCoreTestSupport.cpp:
(WebCoreTestSupport::resetInternalsObject):
2011-11-06 Darin Adler <darin@apple.com>
Leaks seen in RenderFlowThread::setRegionRangeForBox on Leaks bot
https://bugs.webkit.org/show_bug.cgi?id=71260
Reviewed by Mark Rowe.
Memory leak fix covered by existing tests.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
Instead of calling remove, call take and then delete, since the
values of the map are owned and need to be deleted when removed.
2011-11-06 Adam Barth <abarth@webkit.org>
Implement the sandbox directive for CSP
https://bugs.webkit.org/show_bug.cgi?id=71604
Reviewed by Sam Weinig.
At TPAC, Microsoft was pushing pretty hard to add the sandbox directive
to CSP. There's a question about whether it's going to be in CSP 1.0
or CSP 1.1, but it seems to be clearly headed into the spec.
This patch implements the sandbox directive for CSP. It's built on the
same machinery we use for the sandbox attribute for iframe. Now that
I've done the implementation, I'm going to write up some concrete text
for the spec.
Tests: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html
http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html
http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html
http/tests/security/contentSecurityPolicy/sandbox-empty.html
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
(WebCore::ContentSecurityPolicy::applySandboxPolicy):
(WebCore::ContentSecurityPolicy::addDirective):
* page/ContentSecurityPolicy.h:
2011-11-03 Filip Pizlo <fpizlo@apple.com>
JSC should be able to sample itself in a more flexible way than just sampling flags
https://bugs.webkit.org/show_bug.cgi?id=71522
Reviewed by Gavin Barraclough.
No new tests, since no functionality changed.
* ForwardingHeaders/wtf/Spectrum.h: Added.
2011-11-06 Nikita Vasilyev <me@elv1s.ru>
Web Inspector: Unindent edited text by pressing Shift + Tab
https://bugs.webkit.org/show_bug.cgi?id=70181
Indent and unindent text in all selected lines.
Reviewed by Pavel Feldman.
* inspector/front-end/TextViewer.js:
(WebInspector.TextEditorMainPanel.prototype.unindentLines.get var):
(WebInspector.TextEditorMainPanel.prototype.unindentLines):
2011-11-05 Martin Robinson <mrobinson@igalia.com>
Remove ContextShadow
https://bugs.webkit.org/show_bug.cgi?id=71617
Reviewed by Ariya Hidayat.
No new tests. This patch does not change behavior.
Completely remove ContextShadow. It's unused, unmaintained, and
replaced by ShadowBlur.
* WebCore.gypi: Remove references to deleted files.
* WebCore.vcproj/WebCore.vcproj: Remove references to deleted files.
* platform/graphics/ContextShadow.cpp: Removed.
* platform/graphics/ContextShadow.h: Removed.
* platform/gtk/WidgetRenderingContext.cpp: Remove now-inaccurate TODO.
2011-11-04 Jon Lee <jonlee@apple.com>
Dragging a file onto <input type="file"> should give distinct visual feedback
https://bugs.webkit.org/show_bug.cgi?id=13897
<rdar://problem/5232483>
Reviewed by Dan Bernstein.
When hovering over a file input element, we set the button's state to active
to differentiate dragging one file over the input element (which populates that
element) versus over the document (which would load the file into the view).
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::canReceiveDroppedFiles):
(WebCore::HTMLInputElement::setCanReceiveDroppedFiles): If set, the element
is updated, which sets the active state on the button control.
* html/HTMLInputElement.h: Add a boolean member representing whether the file
input can receive dropped files.
* page/DragController.cpp:
(WebCore::DragController::DragController): Update/set the file input that
can receive dropped files.
(WebCore::DragController::dragExited):
(WebCore::DragController::tryDocumentDrag):
(WebCore::DragController::concludeEditDrag):
* page/DragController.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::updateFromElement): Sets the button active
state if the input can receive dropped files.
2011-11-05 Darin Adler <darin@apple.com>
Improve pending resource hash table code, including fixing a memory leak
https://bugs.webkit.org/show_bug.cgi?id=71616
Reviewed by Adam Roben.
Memory leak fix and refactoring covered by existing tests.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::addPendingResource): Replace the combination
of contains, get, and add with just add, removing an extra unneeded hash table
lookup each time this function is called.
(WebCore::SVGDocumentExtensions::isElementInPendingResources): Added a comment
about the performance of this function. Removed unnecessary check for an empty
map; the code already efficiently exits doing nothing without the check.
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources): Removed
unnecessary check for an empty map; the code already efficiently does nothing
without the check. Use removePendingResource rather than calling remove to
avoid leaking the SVGPendingElements set.
(WebCore::SVGDocumentExtensions::removePendingResource): Replace the
combination of get and remove with a call to take, removing an extra
unneeded hash table lookup each time this function is called
2011-11-05 Dan Winship <danw@gnome.org>
[GTK] Actually use the user_data arguments to gio async functions
instead of using g_object_set_data() to basically reinvent them.
https://bugs.webkit.org/show_bug.cgi?id=71614
Reviewed by Martin Robinson.
No new tests; behavior is unchanged
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::cleanupSoupRequestOperation):
(WebCore::sendRequestCallback):
(WebCore::startHTTPRequest):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::closeCallback):
(WebCore::readCallback):
(WebCore::startNonHTTPRequest):
2011-11-05 Dan Winship <danw@gnome.org>
[GTK] Don't unnecessarily 0-initialize read buffers.
https://bugs.webkit.org/show_bug.cgi?id=71612
Reviewed by Martin Robinson.
No new tests; behavior is unchanged
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
2011-11-05 Dan Winship <danw@gnome.org>
[GTK] Remove a bit of dead code
https://bugs.webkit.org/show_bug.cgi?id=71613
Reviewed by Martin Robinson.
No new tests; behavior is unchanged
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::readCallback): the caller that needed the convertToUTF16
code was removed in r77408, but the code was accidentally left
behind.
2011-11-05 Adam Barth <abarth@webkit.org>
Refactor sandbox flag calculation to make implementing CSP sandbox directive easier
https://bugs.webkit.org/show_bug.cgi?id=71603
Reviewed by Sam Weinig.
This patch changes the way we compute sandbox bits. Instead of caching
the result on Frame, we always compute the sandbox bits for a new
document fresh from the inputs to the process (the sandbox attribute
and the forced sandbox flags).
This patch is just refactoring. It shouldn't have an observable
effects. This patch makes it easier to implement CSP's sandbox
directive in a subsequent patch.
* dom/Document.cpp:
(WebCore::Document::initSecurityContext):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::setSandboxFlags):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):
(WebCore::FrameLoader::effectiveSandboxFlags):
(WebCore::createWindow):
* loader/FrameLoader.h:
(WebCore::FrameLoader::forceSandboxFlags):
2011-11-05 Andreas Kling <kling@webkit.org>
CSSStyleDeclaration: Devirtualize isMutableStyleDeclaration().
https://bugs.webkit.org/show_bug.cgi?id=71609
Reviewed by Anders Carlsson.
Add a bool member to CSSStyleDeclaration that determines whether
it's a CSSMutableDeclaration.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
* css/CSSMutableStyleDeclaration.h:
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
2011-11-05 Andreas Kling <kling@webkit.org>
Web Inspector: Simplify InspectorCSSAgent::inlineStyleElement().
https://bugs.webkit.org/show_bug.cgi?id=71608
Reviewed by Pavel Feldman.
Use CSSMutableStyleDeclaration::isInlineStyleDeclaration() instead
of doing the same checks manually.
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::inlineStyleElement):
2011-11-05 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Andreas Kling.
Removed duplicated npruntime_internal.h from bindings/v8
in favour of the one from bridge/, which has a few more
#undefs.
https://bugs.webkit.org/show_bug.cgi?id=45617
* bindings/v8/npruntime_internal.h: Removed.
* Target.pri: Removed strange occurence here.
2011-11-05 Simon Hausmann <simon.hausmann@nokia.com>
Remove empty and unused dom/PositionCreationFunctions.h header file
https://bugs.webkit.org/show_bug.cgi?id=71552
Reviewed by Kenneth Rohde Christiansen.
The file is empty (0 bytes) and not used anywhere. It was added in
2009 in r48234 but hasn't been touched since then.
* WebCore.gypi:
* dom/PositionCreationFunctions.h: Removed.
2011-11-04 Adam Barth <abarth@webkit.org>
Fix assert after running tests in dumpAsText folders. See
https://bugs.webkit.org/show_bug.cgi?id=71599 for discussion. This
patch reverts part of a slightly over-agressive refactoring in
http://trac.webkit.org/changeset/99347.
* dom/Document.cpp:
(WebCore::Document::setIsViewSource):
2011-11-04 Ben Wells <benwells@chromium.org>
Canvas drawImage(canvas) with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=71537
Reviewed by Stephen White.
drawImage(canvas) now uses the same approach as drawImage(image) to fix these errors.
Test: fast/canvas/canvas-composite-canvas.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::drawImageToContext):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
* html/canvas/CanvasRenderingContext2D.h:
2011-11-04 Adam Barth <abarth@webkit.org>
JavaScript URLs execute in sandboxed iframes
https://bugs.webkit.org/show_bug.cgi?id=71599
Reviewed by Eric Seidel.
This patch fixes the intentional regression I introduced earlier today
by moving the sandbox bits from SecurityOrigin to Document. In the
process, I renamed SecurityOrigin::createEmpty to
SecurityOrigin::createUnique to better align with HTML5 terminology.
* WebCore.exp.in:
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::canExecuteScripts):
* dom/Document.cpp:
(WebCore::Document::setIsViewSource):
(WebCore::Document::initSecurityContext):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::sandboxFlags):
(WebCore::ScriptExecutionContext::enforceSandboxFlags):
(WebCore::ScriptExecutionContext::isSandboxed):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::canEmbedJava):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* loader/FrameLoader.cpp:
(WebCore::isDocumentSandboxed):
(WebCore::FrameLoader::addHTTPOriginIfNeeded):
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestPlugin):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::createUnique):
* page/SecurityOrigin.h:
2011-11-04 Joseph Pecoraro <pecoraro@apple.com>
Potential Unused Param Build Issue
https://bugs.webkit.org/show_bug.cgi?id=71598
Reviewed by Kent Tamura.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
2011-11-04 Stephen Chenney <schenney@chromium.org>
Crash in ScrollAnimator.cpp
https://bugs.webkit.org/show_bug.cgi?id=69865
The code in ScrollAnimator assumes that horizontal per-page mouse
wheel events cannot happen, which is not true. This patch adds layout
tests for all paging wheel event situations and fixes the broken
horizontal case.
Reviewed by Anders Carlsson
Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
fast/events/platform-wheelevent-paging-y-in-scrolling-page.html
* platform/PlatformWheelEvent.h: Modify the comment to reflect the new
reality.
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
horizontal per-page wheel event case.
2011-11-04 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Refactor MutationObserverRegistration into its own class that is
referenced by registration points
https://bugs.webkit.org/show_bug.cgi?id=71577
Reviewed by Ojan Vafai.
MutationObserverRegistration is now owned by the node which is observed. If transient
registrations are created, they hold a reference to this object.
The ownership relationship between Node, MutationObserverRegistration &
WebKitMutationObserver now goes like this: WebKitMutationObserver is RefCounted -
and only script and MutationObserverRegistration take references to it. Exactly
one MutationObserverRegistration can exist for any given tuple of
<Node, WebKitMutationObserver>. This represents an observer observing at a given
Node. Further observation by the same observer has the effect of *resetting*
the existing observation. The Node owns the MutationObserverRegistration.
Transient registrations are only pointers to the registration. The registration
keeps a RefPtr to its registration node and all of its transient registration nodes
as long as *any* transient registrations exist. This ensures the registration
and all registration nodes stay alive at least until the end of the microtask.
No tests required - refactor only.
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/CharacterData.cpp:
(WebCore::enqueueCharacterDataMutationRecord):
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/MutationObserverRegistration.cpp: Added.
(WebCore::MutationObserverRegistration::create):
(WebCore::MutationObserverRegistration::MutationObserverRegistration):
(WebCore::MutationObserverRegistration::~MutationObserverRegistration):
(WebCore::MutationObserverRegistration::resetObservation):
(WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
(WebCore::MutationObserverRegistration::clearTransientRegistrations):
(WebCore::MutationObserverRegistration::unregister):
(WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
* dom/MutationObserverRegistration.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
(WebCore::MutationObserverRegistration::observer):
(WebCore::MutationObserverRegistration::deliveryOptions):
* dom/Node.cpp:
(WebCore::Node::clearRareData):
(WebCore::Node::mutationObserverRegistry):
(WebCore::Node::transientMutationObserverRegistry):
(WebCore::addObserverToDeliverySet):
(WebCore::Node::collectMatchingObserversForMutation):
(WebCore::Node::getRegisteredMutationObserversOfType):
(WebCore::Node::registerMutationObserver):
(WebCore::Node::unregisterMutationObserver):
(WebCore::Node::registerTransientMutationObserver):
(WebCore::Node::unregisterTransientMutationObserver):
(WebCore::Node::notifyMutationObserversNodeWillDetach):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeRareData::mutationObserverRegistry):
(WebCore::NodeRareData::ensureMutationObserverRegistry):
(WebCore::NodeRareData::transientMutationObserverRegistry):
(WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::~WebKitMutationObserver):
(WebCore::WebKitMutationObserver::observe):
(WebCore::WebKitMutationObserver::disconnect):
(WebCore::WebKitMutationObserver::observationStarted):
(WebCore::WebKitMutationObserver::observationEnded):
(WebCore::WebKitMutationObserver::deliver):
* dom/WebKitMutationObserver.h:
2011-11-04 Raymond Toy <rtoy@google.com>
Add methods to compute magnitude and phase response for biquads
https://bugs.webkit.org/show_bug.cgi?id=71055
Reviewed by Kenneth Russell.
* platform/audio/Biquad.cpp:
(WebCore::Biquad::getFrequencyResponse):
Computes the magnitude and phase (radians) response for the given
biquad at the specified set of (normalized) frequencies.
* platform/audio/Biquad.h:
Declare getFrequencyResponse.
* webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
Factor out the code that updates filter coefficients. Allow the
caller to specify whether the smoothed values are used or not and
whether we do the update even if the coefficients are not dirty.
(WebCore::BiquadDSPKernel::process):
Use updateCoefficientsIfNecessary to update.
(WebCore::BiquadDSPKernel::getFrequencyResponse):
Implmentation of getFrequencyResponse.
* webaudio/BiquadDSPKernel.h:
Declare getFrequencyResponse.
* webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::getFrequencyResponse):
Implementation of getFrequencyResponse
* webaudio/BiquadFilterNode.h:
Declare getFrequencyResponse.
* webaudio/BiquadFilterNode.idl:
Define interface to getFrequencyResponse.
* webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::checkForDirtyCoefficients):
Factor out code for checking for dirty coefficients.
(WebCore::BiquadProcessor::process):
Use checkForDirtyCoefficients.
(WebCore::BiquadProcessor::getFrequencyResponse):
Implementation of getFrequencyResponse
* webaudio/BiquadProcessor.h:
Declare getFrequencyResponse.
2011-11-04 Benjamin Poulain <bpoulain@apple.com>
[Mac] ResourceRequest's nsURLRequest() does not differentiate null and empty URLs with CFNetwork
https://bugs.webkit.org/show_bug.cgi?id=71539
Reviewed by David Kilzer.
In order to have CFURL and NSURL to be consistent when both are used on Mac,
KURL::createCFURL() is changed to support empty URL values.
* platform/cf/KURLCFNet.cpp:
(WebCore::createCFURLFromBuffer):
(WebCore::KURL::createCFURL):
* platform/mac/KURLMac.mm:
(WebCore::KURL::operator NSURL *):
(WebCore::KURL::createCFURL):
2011-11-04 Fady Samuel <fsamuel@chromium.org>
CSS Aspect Ratio Property Parsing Stage
https://bugs.webkit.org/show_bug.cgi?id=70707
Reviewed by Ojan Vafai.
Added parsing support for -webkit-aspect-ratio CSS property.
The spec can be found here: http://www.xanthir.com/blog/b4810
Test: fast/css/aspect-ratio-parsing-tests.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAspectRatioValue.cpp: Added.
(WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
(WebCore::CSSAspectRatioValue::cssText):
* css/CSSAspectRatioValue.h: Added.
(WebCore::CSSAspectRatioValue::create):
(WebCore::CSSAspectRatioValue::numeratorValue):
(WebCore::CSSAspectRatioValue::denominatorValue):
(WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSMutableStyleDeclaration.cpp:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAspectRatio):
* css/CSSParser.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2011-11-04 Adam Barth <abarth@webkit.org>
Delete FrameLoader::isSandboxed
https://bugs.webkit.org/show_bug.cgi?id=71591
Reviewed by Eric Seidel.
We should always use document->securityOrigin()->isSandboxed because
that picks up the sandbox bits that are frozen on the document rather
than the ones that could change on the Frame.
This patch starts preparing us to implement the CSP sandbox directive,
which will cause use to have document sandbox bits without any attribute.
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::canExecuteScripts):
- This call site was the only functional site left where these two
could be different. This patch causes one progression and one
regression. The progression is that we now correctly freeze the
allow-scripts bit when a document is created, but the regression
is we now allow the execution of JavaScript URLs, as noted in
fast/frames/sandboxed-iframe-scripting.html. That's even more of
an edge case, so I think it's a win overall.
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
- I don't think this part of the change is testable. There's no
time to execute script between when the bits get copied off the
Frame and when they're checked, so there's no time to change them.
* loader/FrameLoader.cpp:
- Update FIXME comment that is now fixed.
* loader/FrameLoader.h:
- Remove wrong API.
2011-11-04 Adam Barth <abarth@webkit.org>
When CSP blocks mixed content, we shouldn't also warn about mixed content
https://bugs.webkit.org/show_bug.cgi?id=71588
Reviewed by Eric Seidel.
Getting both warnings confused some early adopters. They thought the
insecure loads were happening even though they blocked them with CSP.
This patch restricts the mixed content warnings to show only when the
load isn't already blocked by CSP or by the embedder.
Test: http/tests/security/contentSecurityPolicy/block-mixed-content-hides-warning.html
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
2011-11-04 Michael Nordman <michaeln@google.coom>
Allow ScriptExecutionContext::addMessage to be called from background threads.
https://bugs.webkit.org/show_bug.cgi?id=71575
Reviewed by Nate Chapin.
No new tests.
* dom/Document.cpp:
(WebCore::Document::addMessage):
* dom/ScriptExecutionContext.cpp:
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
(WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::addMessage):
2011-11-04 Shawn Singh <shawnsingh@chromium.org>
[chromium] Re-named the original scissorRect to clipRect
https://bugs.webkit.org/show_bug.cgi?id=71580
Reviewed by James Robinson.
Existing tests are updated appropriately; and no new behavior is
introduced by this patch.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::setUsesLayerClipping):
(WebCore::LayerChromium::usesLayerClipping):
(WebCore::LayerChromium::clipRect):
(WebCore::LayerChromium::setClipRect):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/RenderSurfaceChromium.h:
(WebCore::RenderSurfaceChromium::clipRect):
(WebCore::RenderSurfaceChromium::setClipRect):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::setUsesLayerClipping):
(WebCore::CCLayerImpl::usesLayerClipping):
(WebCore::CCLayerImpl::clipRect):
(WebCore::CCLayerImpl::setClipRect):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::updateLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::layerShouldBeSkipped):
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
* platform/graphics/chromium/cc/CCRenderSurface.cpp:
(WebCore::CCRenderSurface::draw):
* platform/graphics/chromium/cc/CCRenderSurface.h:
(WebCore::CCRenderSurface::setClipRect):
(WebCore::CCRenderSurface::clipRect):
2011-11-04 Dmitry Lomov <dslomov@google.com>
Add the ability to transfer ArrayBuffer and "neuter" it.
https://bugs.webkit.org/show_bug.cgi?id=71535
Reviewed by David Levin.
* html/canvas/ArrayBuffer.cpp:
(WebCore::ArrayBuffer::create):
(WebCore::ArrayBuffer::ArrayBuffer):
(WebCore::ArrayBuffer::data):
(WebCore::ArrayBuffer::byteLength):
(WebCore::ArrayBuffer::transfer):
(WebCore::ArrayBufferContents::~ArrayBufferContents):
(WebCore::ArrayBufferContents::tryAllocate):
(WebCore::ArrayBuffer::addView):
(WebCore::ArrayBuffer::removeView):
* html/canvas/ArrayBuffer.h:
(WebCore::ArrayBufferContents::ArrayBufferContents):
(WebCore::ArrayBufferContents::data):
(WebCore::ArrayBufferContents::sizeInBytes):
(WebCore::ArrayBufferContents::release):
(WebCore::ArrayBuffer::~ArrayBuffer):
* html/canvas/ArrayBufferView.cpp:
(WebCore::ArrayBufferView::ArrayBufferView):
(WebCore::ArrayBufferView::~ArrayBufferView):
(WebCore::ArrayBufferView::neuter):
* html/canvas/ArrayBufferView.h:
* html/canvas/DataView.cpp:
(WebCore::DataView::neuter):
(WebCore::DataView::neuterBinding):
* html/canvas/DataView.h:
* html/canvas/TypedArrayBase.h:
(WebCore::TypedArrayBase::neuter):
(WebCore::TypedArrayBase::neuterBinding):
2011-11-04 Noel Gordon <noel.gordon@gmail.com>
[Chromium] Implement canvas.toDataURL("image/webp")
https://bugs.webkit.org/show_bug.cgi?id=70172
Reviewed by Adam Barth.
Add a webp image encoder for the chromium skia ports, add it to the canvas
element toDataURL() flow with support for an optional quality [0.0-1.0].
Use a webp compression method (3) that provides good speed and compression
performance for this image format, and works well for various input image
types: line-art, screen-shots, and photographic images.
Test: fast/canvas/canvas-toDataURL-webp.html
* WebCore.gypi:
* platform/chromium/MIMETypeRegistryChromium.cpp:
(WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageToDataURL):
* platform/image-encoders/skia/WEBPImageEncoder.cpp: Added.
(WebCore::writeOutput):
(WebCore::importPicture):
(WebCore::importPictureBGRA):
(WebCore::importPictureRGBA):
(WebCore::encodePixels):
(WebCore::WEBPImageEncoder::encode):
* platform/image-encoders/skia/WEBPImageEncoder.h: Added.
2011-11-04 Patrick Gansterer <paroga@webkit.org>
[Qt] Remove ENABLE_SQLITE from qmake files
https://bugs.webkit.org/show_bug.cgi?id=71546
Reviewed by Simon Hausmann.
ENABLE_SQLITE is required to build WebCore, so remove conditions.
* Target.pri:
2011-11-04 Nate Chapin <japhet@chromium.org>
[V8] Null out V8NPObject::rootObject when the owning
Frame goes away.
https://bugs.webkit.org/show_bug.cgi?id=71569
Reviewed by Adam Barth.
No new tests, this has only been successfully triggered
using ppapi flash.
* bindings/v8/V8Helpers.cpp:
(WebCore::toV8Context):
* bindings/v8/npruntime.cpp:
2011-11-04 Vineet Chaudhary <vineet.chaudhary@motorola.com>
Send the submissions character encoding in hidden _charset_ field.
https://bugs.webkit.org/show_bug.cgi?id=19079
Reviewed by Darin Adler.
Spec reference http://dev.w3.org/html5/spec/Overview.html#attr-fe-name-charset
If _charset_ used as the name of a hidden control it should send character encoding
as value while submissions.
Tests: http/tests/misc/char-encoding-in-hidden-charset-field-default.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html
http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html
http/tests/misc/char-encoding-in-text-charset-field-with-value.html
http/tests/misc/char-encoding-without-charset-field.html
* html/HiddenInputType.cpp:
(WebCore::HiddenInputType::isHiddenType):
(WebCore::HiddenInputType::appendFormData): For _charset_ send value as respective encodingType.
* html/HiddenInputType.h: Override appendFormData for hidden control types.
2011-11-04 Robert Sesek <rsesek@chromium.org>
[chromium] Use Chromium's copy of libWebKitSystemInterfaceLeopard.a
https://bugs.webkit.org/show_bug.cgi?id=71563
Reviewed by Adam Barth.
Use libWebKitSystemInterfaceLeopard.a that's in the Chromium port,
rather in WebKitLibraries/.
* WebCore.gyp/WebCore.gyp:
2011-11-04 Julien Chaffraix <jchaffraix@webkit.org>
RenderLayer::styleChanged invalidates the GraphicsLayer needlessly
https://bugs.webkit.org/show_bug.cgi?id=71517
Reviewed by Simon Fraser.
Unused code removal covered by existing tests.
The current code is invalidating the whole RenderLayerBacking as part of
a style change. However this is redundant with the repainting logic which
would invalidate only the necessary bits.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::styleChanged):
Remove the invalidation code as it duplicates and defeats the repaint logic.
2011-11-04 Mihnea Ovidenie <mihnea@adobe.com>
Correct parsing of incomplete @-webkit-region rules.
https://bugs.webkit.org/show_bug.cgi?id=71514
Reviewed by Adam Barth.
Test: fast/regions/parse-incomplete-region-rule.html
Make sure to set the region rule to 0 on the fail branch.
* css/CSSGrammar.y:
2011-11-04 Adam Klein <adamk@chromium.org>
Reduce refcount churn in ChildListMutationScope
https://bugs.webkit.org/show_bug.cgi?id=71527
Reviewed by Ryosuke Niwa.
Only the ChildListMutationAccumulator needs to hold a reference to the
target node, and the added/removed children only need be ref'd if a
ChildListMutationAccumulator exists (i.e., if there are interested
observers).
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
(WebCore::ChildListMutationScope::ChildListMutationScope):
(WebCore::ChildListMutationScope::~ChildListMutationScope):
(WebCore::ChildListMutationScope::childAdded):
(WebCore::ChildListMutationScope::willRemoveChild):
* dom/ChildListMutationScope.h:
* dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
2011-11-04 Levi Weintraub <leviw@chromium.org>
Correct usage of LayoutUnits in RenderImage and SVGImage
https://bugs.webkit.org/show_bug.cgi?id=71525
Reviewed by Darin Adler.
Correcting incorrect usage of LayoutUnits for image sizes that should be integers and fixing overloaded functions that
should be using LayoutUnits.
No new tests -- no change in behavior.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged):
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::nodeAtPoint):
(WebCore::RenderImage::computeReplacedLogicalWidth):
* rendering/RenderImage.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
2011-11-04 Adam Barth <abarth@webkit.org>
Implement allow-popups for iframe@sandbox
https://bugs.webkit.org/show_bug.cgi?id=66505
Reviewed by Darin Adler.
Enable allow-popups sandbox bit. My previous patch attempted to
forward the sandbox bits during setOpener, but that interacted poorly
with out (internal) sandboxing of the initial document. This patch
forwards the bits during createWindow, which is more targeted to the
case when a sandbox frame actually creates a new window.
* loader/FrameLoader.cpp:
(WebCore::createWindow):
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
2011-11-04 Kaustubh Atrawalkar <kaustubh@motorola.com>
Remove initMediaStreamEvent method
https://bugs.webkit.org/show_bug.cgi?id=71344
This method has been removed from the spec draft.
http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamevent
Reviewed by Adam Barth.
No new tests. Removed method.
* mediastream/MediaStreamEvent.cpp:
* mediastream/MediaStreamEvent.h:
* mediastream/MediaStreamEvent.idl:
2011-11-04 Adam Barth <abarth@webkit.org>
Anonymous CORS fetch for WebGL texture fails when there is no appropriate server response even for the same origin requests
https://bugs.webkit.org/show_bug.cgi?id=71053
Reviewed by Darin Adler.
The crossorigin attribute should behave like XMLHttpRequest:
same-origin images pass without and CORS headers, but CORS checks are
performed for cross-origin loads. This patch better aligns our
behavior with Firefox, as discussed in the bug.
Test: http/tests/security/img-crossorigin-loads-same-origin.html
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
2011-11-04 Gaurav Shah <gauravsh@chromium.org>
HTMLKeygenElement: Fix "keytype" handling in appendFormData.
https://bugs.webkit.org/show_bug.cgi?id=70617
This fixes a bug introduced by http://trac.webkit.org/changeset/97658
which causes all HTML Keygen elements with a keytype optional attribute
to be considered as unsupported.
A regression test is included.
Reviewed by Darin Adler.
Test: http/tests/misc/submit-post-keygen.html
* html/HTMLKeygenElement.cpp:
2011-11-03 Adrienne Walker <enne@google.com>
[chromium] Implement checkerboarding for missing layer tiles
https://bugs.webkit.org/show_bug.cgi?id=69585
Reviewed by James Robinson.
For tiles that have no texture or haven't even been created yet,
draw using the background color of the layer.
The only background color set is currently the non-composited content,
and all other layers use transparent black by default.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/NonCompositedContentHost.cpp:
(WebCore::NonCompositedContentHost::setBackgroundColor):
* platform/graphics/chromium/NonCompositedContentHost.h:
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::setBackgroundColor):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::backgroundColor):
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::drawTiles):
2011-11-04 Nico Weber <thakis@chromium.org>
[chromium] Remove most exit time destructors
https://bugs.webkit.org/show_bug.cgi?id=71524
Do this by using the DEFINE_STATIC_LOCAL macro, which allocates things on the heaps and then leaks them.
Reviewed by Dimitri Glazkov.
No behavior change, so no new tests.
* platform/chromium/CursorChromium.cpp:
(WebCore::pointerCursor):
(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::middlePanningCursor):
(WebCore::eastPanningCursor):
(WebCore::northPanningCursor):
(WebCore::northEastPanningCursor):
(WebCore::northWestPanningCursor):
(WebCore::southPanningCursor):
(WebCore::southEastPanningCursor):
(WebCore::southWestPanningCursor):
(WebCore::westPanningCursor):
(WebCore::moveCursor):
(WebCore::verticalTextCursor):
(WebCore::cellCursor):
(WebCore::contextMenuCursor):
(WebCore::aliasCursor):
(WebCore::progressCursor):
(WebCore::noDropCursor):
(WebCore::copyCursor):
(WebCore::noneCursor):
(WebCore::notAllowedCursor):
(WebCore::zoomInCursor):
(WebCore::zoomOutCursor):
(WebCore::grabCursor):
(WebCore::grabbingCursor):
* platform/chromium/LanguageChromium.cpp:
(WebCore::platformDefaultLanguage):
* platform/chromium/MIMETypeRegistryChromium.cpp:
(WebCore::dummyHashSet):
2011-11-03 Anders Carlsson <andersca@apple.com>
Add NetscapePlugin::convertFromRootView
https://bugs.webkit.org/show_bug.cgi?id=71526
Reviewed by Sam Weinig.
Export some symbols that WebKit2 needs.
* WebCore.exp.in:
2011-11-03 Adrienne Walker <enne@google.com>
[chromium] Fix incorrect visibility/scissor rect for threaded compositing
https://bugs.webkit.org/show_bug.cgi?id=70962
Reviewed by James Robinson.
In order to properly scroll independent of layout on the compositor
thread, we have to apply the scroll to the right layer. Previously,
the NonCompositedContentHost was the root of the graphics layer tree
with all other layers underneath it. However, applying a scroll to
that layer would also scroll the clip layer for the main frame
underneath it, causing visibility issues.
This patch moves the NonCompositedHost to be a child of the
RenderLayerCompositor's scroll layer. This was exposed on
RenderLayerCompositor, because there's no other way to get to this
layer in a way that doesn't make assumptions about the structure of
the layers on a frame.
This also removes the hacks in calculateVisibleLayerRect and
tilingTransform for scroll position.
Partially tested by existing compositor tests. Manually tested
threaded compositing scrolling.
* platform/graphics/chromium/NonCompositedContentHost.cpp:
(WebCore::NonCompositedContentHost::setScrollLayer):
(WebCore::NonCompositedContentHost::setViewport):
(WebCore::NonCompositedContentHost::scrollLayer):
* platform/graphics/chromium/NonCompositedContentHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::create):
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::applyScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::setRootLayer):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::findScrollLayer):
(WebCore::CCLayerTreeHostImpl::setRootLayer):
(WebCore::CCLayerTreeHostImpl::scrollRootLayer):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
(WebCore::CCTiledLayerImpl::tilingTransform):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scrollLayer):
* rendering/RenderLayerCompositor.h:
2011-11-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
[Qt] Refactor and clean up the qmake build system
The qmake build system has accumulated a bit of cruft and redundancy
over time. There's also a fairly tight coupling between how to build
the various targets, and _what_ to build, making it harder to add new
rules or sources. This patch aims to elevate these issues somewhat.
This is a short-list of the changes:
* The rules for how to build targets are now mostly contained as
prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
allows us to do pre- and post-processing of each project file,
which helps to clean up the actual project files.
* Derived sources are no longer generated as a separate make-step
but is part of each target's project file as a subdir. Makefile
rules are used to ensure that we run make on the derived sources
before running qmake on the actual target makefile. This makes
it easier to keep a proper dependency between derived sources
and the target.
* We use GNU make and the compiler to generate dependencies on
UNIX-based systems running Qt 5. This allows us to lessen the
need to run qmake, which should reduce compile time.
* WebKit2 is now build by default if building with Qt 5. It can
be disabled by passing --no-webkit2 to build-webkit.
The result of these changes are hopefully a cleaner and easier
build system to modify, and faster build times due to no longer
running qmake on every single build. It's also a first step
towards possibly generating the list of sources using another
build system.
https://bugs.webkit.org/show_bug.cgi?id=71222
Reviewed by Simon Hausmann.
* DerivedSources.pri: Renamed from Source/WebCore/CodeGenerators.pri.
* DerivedSources.pro: Removed.
* Target.pri: Copied from Source/WebCore/WebCore.pro.
* WebCore.pro:
2011-11-04 Tommy Widenflycht <tommyw@google.com>
[chromium] MediaStream API: Fixing wrong path for PeerConnectionHandler.h in WebCore.gyp
https://bugs.webkit.org/show_bug.cgi?id=71548
Reviewed by Tony Gentilcore.
* WebCore.gypi:
2011-11-04 Patrick Gansterer <paroga@webkit.org>
Unreviewed CMake build fix for !ENABLE(SQL_DATABASE).
* CMakeLists.txt: Always compile the SQLite source files, since they are required for build.
2011-11-03 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION (r99076): Pasting into password fields is broken
https://bugs.webkit.org/show_bug.cgi?id=71483
Reviewed by Darin Adler.
The bug was caused by plainText serializing secured (instead of original) text.
Fixed the bug by adding new TextIterator behavior that serializes the original text
and using it in ReplacementFragment::ReplacementFragment.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::emitText):
* editing/TextIterator.h:
2011-11-03 Eric Carlson <eric.carlson@apple.com>
Add TrackEvent
https://bugs.webkit.org/show_bug.cgi?id=71178
Reviewed by Sam Weinig.
Test: fast/events/constructors/track-event-constructor.html
* CMakeLists.txt: Add new files for TrackEvent.
* CodeGenerators.pri: Ditto.
* DerivedSources.cpp: Ditto.
* DerivedSources.make: Ditto.
* GNUmakefile.am: Ditto.
* GNUmakefile.list.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/generic/EventConstructors.h: Ditto.
* bindings/gobject/GNUmakefile.am: Ditto.
* bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue): Add method to convert to a Track.
* bindings/js/JSDictionary.h:
* bindings/js/JSEventConstructors.cpp: Add new files for TrackEvent.
* bindings/js/JSTrackCustom.cpp: Added.
(WebCore::toTrack): New, convert from a JSValue to a Track.
(WebCore::toJS): New, return a JS wrapper for a Track.
* bindings/js/JSTrackCustom.h: Added.
* bindings/js/JSTrackEventCustom.cpp: Added.
(WebCore::JSTrackEvent::track): New, returns a TextEvent's 'track' attribute.
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::get): Returns RefPtr<TrackBase>.
* bindings/v8/custom/V8EventConstructors.cpp: Add Track initializing constructor.
* bindings/v8/custom/V8TrackEventCustom.cpp: Added.
(WebCore::V8TrackEvent::trackAccessorGetter): New, returns a TextEvent's 'track' attribute.
* dom/EventFactory.in: Add TrackEvent.
* dom/EventNames.h: Add 'addtrack' event.
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Call new base class constructor.
* html/TextTrack.h: Now derive from BaseTrack for the day we implement VideoTrack and AudioTrack.
* html/track/TrackBase.cpp: Added.
(WebCore::TrackBase::TrackBase):
(WebCore::TrackBase::~TrackBase):
* html/track/TrackBase.h: Added.
(WebCore::TrackBase::type): Return the track type.
* html/track/TrackEvent.cpp: Added.
(WebCore::TrackEventInit::TrackEventInit):
(WebCore::TrackEvent::TrackEvent):
(WebCore::TrackEvent::~TrackEvent):
(WebCore::TrackEvent::interfaceName):
* html/track/TrackEvent.h: Added.
(WebCore::TrackEvent::create):
(WebCore::TrackEvent::isTrackEvent):
(WebCore::TrackEvent::track):
* html/track/TrackEvent.idl: Added.
* page/DOMWindow.idl: Add TrackEvent.
2011-11-03 Ben Wells <benwells@chromium.org>
Optimize canvas fills / drawImage when covering entire canvas
https://bugs.webkit.org/show_bug.cgi?id=70789
Reviewed by Stephen White.
If we're filling a rect or drawing an image, and it covers the entire canvas, we don't
need to worry about clearing outside the area updated by the operation if we're in
a composite mode that requires this (such as source-in, copy, etc.). In this case we
can take the simple path through the code and save a clear (for copy) or a temporary
image buffer (for the other modes).
No new tests - optimization, behaviour is unchanged and covered by existing tests.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::rectContainsCanvas):
* html/canvas/CanvasRenderingContext2D.h:
2011-11-03 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::getPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=71306
Reviewed by Darin Adler.
No new tests.
Added getPropertyNames to the MethodTable, changed all the virtual
implementations of getPropertyNames to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getPropertyNames):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getPropertyNames):
* bindings/js/JSDOMWindowShell.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bridge/NP_jsobject.cpp:
(_NPN_Enumerate):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariantMap):
2011-11-02 Xiaomei Ji <xji@chromium.org>
Enable ctrl-arrow move cursor by word in visual order in cr-win by command line flag.
https://bugs.webkit.org/show_bug.cgi?id=71163
Reviewed by Ryosuke Niwa.
Add m_visualWordMovementEnabled page setting, trigger visual word movement
function (instead of logical one) when it is set as true.
right|leftWordPosition() are tested in editing/selection/move-by-word-visually*
by using --webkit-visual-word flag.
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::visualWordMovementEnabled):
* editing/FrameSelection.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setVisualWordMovementEnabled):
(WebCore::Settings::visualWordMovementEnabled):
2011-11-03 Levi Weintraub <leviw@chromium.org>
Correct usage of LayoutUnits and integers in Table rendering classes
https://bugs.webkit.org/show_bug.cgi?id=71500
Reviewed by Darin Adler.
Fixing the Table layout classes to operate on integers -- sub-pixel table layout breaks
the spec. Meanwhile correcting the Table rendering classes themselves to still use
LayoutUnits.
No new tests -- no change in behavior.
* rendering/AutoTableLayout.cpp: Reverting to operating on integers.
(WebCore::AutoTableLayout::recalcColumn):
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
(WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
(WebCore::AutoTableLayout::layout):
* rendering/AutoTableLayout.h: Reverting to operating on integers.
* rendering/FixedTableLayout.cpp: Ditto.
(WebCore::FixedTableLayout::computePreferredLogicalWidths):
(WebCore::FixedTableLayout::layout):
* rendering/RenderTable.h: Switching to LayoutUnits.
(WebCore::RenderTable::getColumnPos):
(WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
* rendering/RenderTableCell.cpp: Switching to LayoutUnits.
(WebCore::RenderTableCell::updateLogicalWidth):
(WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
(WebCore::RenderTableCell::computeRectForRepaint):
(WebCore::RenderTableCell::cellBaselinePosition):
(WebCore::RenderTableCell::scrollbarsChanged):
* rendering/RenderTableCell.h: Switching to LayoutUnits
* rendering/RenderTableSection.cpp: Ditto.
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::layoutRows):
2011-11-03 James Robinson <jamesr@chromium.org>
[chromium] Notify scheduler on SwapBuffers in threaded compositor mode
https://bugs.webkit.org/show_bug.cgi?id=71381
Reviewed by Kenneth Russell.
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::didSwapBuffers):
* platform/graphics/chromium/cc/CCScheduler.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
2011-11-03 Daniel Bates <dbates@rim.com>
CMake: Add missing WebGL IDL file html/canvas/WebGLContextEvent.idl
Rubber-stamped by Martin Robinson
* CMakeLists.txt:
2011-11-03 Daniel Bates <dbates@rim.com>
CMake: Only generate from WebGL IDLs when building with WebGL
https://bugs.webkit.org/show_bug.cgi?id=71516
Reviewed by Martin Robinson.
* CMakeLists.txt:
2011-11-03 Erik Arvidsson <arv@chromium.org>
Remove support for LegacyDefaultOptionalArguments
https://bugs.webkit.org/show_bug.cgi?id=71489
Reviewed by Darin Adler.
This removes support for LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise].
[RequiresAllArguments=Raise] is now the standard behavior so it would be a no op.
No new tests. Covered by existing tests.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateArgumentsCountCheck): Check the "RequiresAllArguments" extended attribute and generate code
that returns undefined if there are missing arguments.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateArgumentsCountCheck): Ditto.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): Add generated argument count checks.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): Ditto.
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): Ditto.
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): Ditto.
(WebCore::jsTestObjPrototypeFunctionSerializedValue): Ditto.
(WebCore::jsTestObjPrototypeFunctionIdbKey): Ditto.
(WebCore::jsTestObjPrototypeFunctionOptionsObject): Ditto.
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): Ditto.
(WebCore::jsTestObjPrototypeFunctionAddEventListener): Ditto.
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener): Ditto.
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): Ditto.
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): Ditto.
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): Ditto.
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): Ditto.
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): Ditto.
* bindings/scripts/test/TestCallback.idl: Remove LegacyDefaultOptionalArguments.
* bindings/scripts/test/TestMediaQueryListListener.idl: Ditto.
* bindings/scripts/test/TestObj.idl: Remove LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise]
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Remove LegacyDefaultOptionalArguments.
(WebCore::TestMediaQueryListListenerInternal::methodCallback): Add generated argument count checks.
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::voidMethodWithArgsCallback): Ditto.
(WebCore::TestObjInternal::intMethodWithArgsCallback): Ditto.
(WebCore::TestObjInternal::objMethodWithArgsCallback): Ditto.
(WebCore::TestObjInternal::serializedValueCallback): Ditto.
(WebCore::TestObjInternal::idbKeyCallback): Ditto.
(WebCore::TestObjInternal::optionsObjectCallback): Ditto.
(WebCore::TestObjInternal::customArgsAndExceptionCallback): Ditto.
(WebCore::TestObjInternal::withDynamicFrameAndArgCallback): Ditto.
(WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): Ditto.
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): Ditto.
(WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): Ditto.
(WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): Ditto.
(WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): Ditto.
(WebCore::TestObjInternal::methodWithCallbackArgCallback): Ditto.
(WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback): Ditto.
(WebCore::TestObjInternal::overloadedMethod1Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod2Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod3Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod4Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod5Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod6Callback): Ditto.
(WebCore::TestObjInternal::overloadedMethod7Callback): Ditto.
(WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback): Ditto.
(WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback): Ditto.
2011-11-03 Darin Adler <darin@apple.com>
Change remaining callers of releaseRef to call leakRef
https://bugs.webkit.org/show_bug.cgi?id=71422
Reviewed by Darin Fisher.
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
* bridge/NP_jsobject.cpp:
(_NPN_CreateScriptObject):
* dom/QualifiedName.cpp:
(WebCore::QNameComponentsTranslator::translate):
* history/PageCache.cpp:
(WebCore::PageCache::add):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::createFrameAtIndex):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::releasePlatformDescription):
* platform/mac/SharedBufferMac.mm:
(WebCore::SharedBuffer::createCFData):
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::platformResource):
Use leakRef.
2011-11-02 Darin Adler <darin@apple.com>
Change remaining callers of releaseRef to call leakRef
https://bugs.webkit.org/show_bug.cgi?id=71422
Reviewed by Darin Fisher.
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
* bridge/NP_jsobject.cpp:
(_NPN_CreateScriptObject):
* dom/QualifiedName.cpp:
(WebCore::QNameComponentsTranslator::translate):
* history/PageCache.cpp:
(WebCore::PageCache::add):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::createFrameAtIndex):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::releasePlatformDescription):
* platform/mac/SharedBufferMac.mm:
(WebCore::SharedBuffer::createCFData):
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::platformResource):
Use leakRef.
2011-11-03 Daniel Cheng <dcheng@chromium.org>
[chromium] Remove unused clipboard methods
https://bugs.webkit.org/show_bug.cgi?id=71512
Reviewed by Tony Chang.
* platform/chromium/PlatformSupport.h:
2011-11-03 Anna Cavender <annacc@chromium.org>
Implement TextTrackCueList.
https://bugs.webkit.org/show_bug.cgi?id=70451
Reviewed by Eric Carlson.
Test: media/track/track-text-track-cue-list.html
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newCuesAvailable):
Update TextTrack's TextTrackCueList (m_cues) when new cues are discovered.
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack):
Create an empty TextTrackCueList upon TextTrack creation.
(WebCore::TextTrack::cues):
Return this TextTrack's list of cues.
Implement TextTrackCueList functionality:
* html/TextTrackCueList.cpp:
(WebCore::TextTrackCueList::TextTrackCueList):
(WebCore::TextTrackCueList::length):
(WebCore::TextTrackCueList::item):
(WebCore::TextTrackCueList::getCueById):
(WebCore::TextTrackCueList::add):
(WebCore::TextTrackCueList::remove):
(WebCore::TextTrackCueList::contains):
* html/TextTrackCueList.h:
(WebCore::TextTrackCueList::~TextTrackCueList):
2011-11-03 Joshua Bell <jsbell@chromium.org>
IndexedDB result of deleting a record should be true or false
https://bugs.webkit.org/show_bug.cgi?id=60197
Reviewed by David Levin.
IDBObjectStore.delete() was incorrectly firing an error if there
was no record to remove. Match the spec, and return true/false
as success values instead. Bring JSC binding implementation of
SerializedScriptValue more in line with V8 version for methods
called from IDB code.
Test: storage/indexeddb/mozilla/delete-result.html
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::createFromWire):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::booleanValue):
* bindings/js/SerializedScriptValue.h:
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::nullValue):
(WebCore::SerializedScriptValue::undefinedValue):
(WebCore::SerializedScriptValue::booleanValue):
* bindings/v8/SerializedScriptValue.h:
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2011-11-03 Adam Barth <abarth@webkit.org>
Implement allow-popups for iframe@sandbox
https://bugs.webkit.org/show_bug.cgi?id=66505
Reviewed by Eric Seidel.
There's been some discussion in the HTML working group about adding an
allow-popups directive to the iframe sandbox. Microsoft has added it
to IE10 platform preview and is fairly adamant about this feature
because it's needed by one or their products that's planning to use
iframe sandbox. Hixie says he'll add it to the spec once we implement
it, so here's our implementation. (See discussion in the W3C linked in
the bug for more details.)
This patch lands most of the infrastructure for this feature, but it
doesn't actually enable the feature. I'll enable it in a follow-up
patch.
Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
http/tests/security/popup-allowed-by-sandbox-when-allowed.html
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* loader/FrameLoader.h:
(WebCore::FrameLoader::forceSandboxFlags):
* loader/FrameLoaderTypes.h:
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::parseSandboxPolicy):
* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::sandboxFlags):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2011-11-03 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::className
https://bugs.webkit.org/show_bug.cgi?id=71428
Reviewed by Sam Weinig.
No new tests.
Added className to the MethodTable, changed all the virtual
implementations of className to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::className):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::internalConstructorName):
* bridge/testqtbindings.cpp:
(Global::className):
2011-11-02 Jer Noble <jer.noble@apple.com>
Add Clock class and platform-specific implementations.
https://bugs.webkit.org/show_bug.cgi?id=71341
Reviewed by Sam Weinig.
No new tests; these classes will be used and tested by the MediaController feature.
Adds a abstract Clock class and two concrete, platform-specific subclasses.
Clock provides a basic interface for starting, stopping, and querying a generic timeline.
PlatformClockCA implements this interface using a CoreAudio CAClock object, which uses
the default audio device's hardware clock as a timing source. PlatformClockPOSIX
implements this interface using gettimeofday() as its timing source.
* WebCore.xcodeproj/project.pbxproj:
* platform/Clock.cpp: Added.
(Clock::create): Creates a platform-specific clock.
* platform/Clock.h: Added.
(WebCore::Clock::~Clock):
(WebCore::Clock::Clock):
* platform/mac/PlatformClockCA.cpp: Added.
(PlatformClockCA::PlatformClockCA):
(PlatformClockCA::~PlatformClockCA):
(PlatformClockCA::setCurrentTime):
(PlatformClockCA::currentTime):
(PlatformClockCA::setPlayRate):
(PlatformClockCA::PlatformClockCA::playRate):
(PlatformClockCA::start):
(PlatformClockCA::stop):
* platform/mac/PlatformClockCA.h: Added.
(WebCore::PlatformClockCA::isRunning):
* platform/posix/PlatformClockPOSIX.cpp: Added.
(timevalToFloat):
(timevalDelta):
(PlatformClockPOSIX::PlatformClockPOSIX):
(PlatformClockPOSIX::setCurrentTime):
(PlatformClockPOSIX::currentTime):
(PlatformClockPOSIX::setPlayRate):
(PlatformClockPOSIX::PlatformClockPOSIX::playRate):
(PlatformClockPOSIX::start):
(PlatformClockPOSIX::stop):
(PlatformClockPOSIX::now):
* platform/posix/PlatformClockPOSIX.h: Added.
(WebCore::PlatformClockPOSIX::isRunning):
2011-11-03 Joshua Bell <jsbell@chromium.org>
IndexedDB: Object stores not persisting between sessions
https://bugs.webkit.org/show_bug.cgi?id=71313
Reviewed by Tony Chang.
Logic flaw introduced with r98806 skipped the loading of object stores
during subsequent sessions.
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
2011-11-03 Pavel Feldman <pfeldman@google.com>
Web Inspector: fix heap profiler rendering and resize.
https://bugs.webkit.org/show_bug.cgi?id=71484
Reviewed by Yury Semikhatsky.
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
(WebInspector.DetailedHeapshotView.prototype.wasShown):
(WebInspector.DetailedHeapshotView.prototype._changeView):
(WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
2011-11-03 Julien Chaffraix <jchaffraix@webkit.org>
Stop abusing RenderTableSection::needsRecalcCells logic
https://bugs.webkit.org/show_bug.cgi?id=71420
Reviewed by Darin Adler.
Change covered by existing tests like fast/repaint/table-extra-bottom-grow.html
and fast/table/row-height-recalc* (among others).
Cell recalculation is very expensive and should only be called when the section's structure
changed in a way that requires a safe update to its structure (like removing a row as our
column split may not be appropriate anymore).
The current code would abuse cell recalculation to actually reset the logical height on the
RowStruct. This change makes it do the right thing.
* rendering/RenderTableCell.h:
* rendering/RenderTableRow.h:
Removed styleWillChange override as it was unneeded.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleDidChange):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::styleDidChange):
Move the code from styleWillChange to styleDidChange.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::rowLogicalHeightChanged):
This function just reset the height on the |RowStruct| which is the
only part of recalcCells that we would need.
(WebCore::RenderTableSection::rowIndexForRenderer):
Added this function to find out which index a column has (strangely
RenderTableRow does not have this information).
* rendering/RenderTableSection.h: Added the 2 previous functions.
2011-11-03 Andreas Kling <kling@webkit.org>
CSSRuleList: Move rule orphaning from deleteRule() out to callers.
https://bugs.webkit.org/show_bug.cgi?id=71470
Reviewed by Antti Koivisto.
Rule parenting is the responsibility of the owner rule (the rule containing
the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
into the (two) call sites.
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::deleteRule):
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::deleteRule):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::deleteRule):
2011-11-03 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not map scripts generated with document.write to the document resources.
https://bugs.webkit.org/show_bug.cgi?id=71114
Reviewed by Yury Semikhatsky.
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype._addScript):
(WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
(WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
(WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
(WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping):
* inspector/front-end/Script.js:
(WebInspector.Script.prototype.editSource):
(WebInspector.Script.prototype.isInlineScript):
2011-11-03 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Remove Maemo specific code paths
https://bugs.webkit.org/show_bug.cgi?id=71476
Reviewed by Kenneth Rohde Christiansen.
* WebCore.pri:
* features.pri:
* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::determineQuirks):
* plugins/PluginView.cpp:
(WebCore::PluginView::setValue):
* plugins/PluginView.h:
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):
(WebCore::PluginView::platformGetValueStatic):
2011-11-03 Fady Samuel <fsamuel@chromium.org>
Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
https://bugs.webkit.org/show_bug.cgi?id=70609
Reviewed by Kenneth Rohde Christiansen.
Operations in computeViewportAttributes that are not a part of the spec:
http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values
were moved into the functions restrictMinimumScaleFactorToViewportSize and
restrictScaleFactorToInitialScaleIfNotUserScalable.
* WebCore.exp.in:
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
(WebCore::restrictMinimumScaleFactorToViewportSize):
(WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
* dom/ViewportArguments.h:
2011-11-03 Andreas Kling <kling@webkit.org>
CSSRuleList: Move rule orphaning from deleteRule() out to callers.
https://bugs.webkit.org/show_bug.cgi?id=71470
Reviewed by Antti Koivisto.
Rule parenting is the responsibility of the owner rule (the rule containing
the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
into the (two) call sites.
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::deleteRule):
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::deleteRule):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::deleteRule):
2011-11-03 Andreas Kling <kling@webkit.org>
Unreviewed build fix, sigh.
* css/CSSFontFaceRule.h:
* css/CSSMutableStyleDeclaration.h:
2011-11-03 Andreas Kling <kling@webkit.org>
Unreviewed build fix, out-of-line StyleSheet::parentStyleSheet()
again since there's a cycle in the includes between CSSRule/StyleSheet.
* css/StyleSheet.cpp:
(WebCore::StyleSheet::parentStyleSheet):
* css/StyleSheet.h:
2011-11-03 Andreas Kling <kling@webkit.org>
Unreviewed build fix after r99185, removing forward-declaration
of CSSRule since CSSRule.h is already included.
* css/StyleSheet.h:
2011-11-03 Andreas Kling <kling@webkit.org>
CSSOM: Inline some trivial methods.
https://bugs.webkit.org/show_bug.cgi?id=71468
Reviewed by Antti Koivisto.
* css/CSSFontFaceRule.cpp:
* css/CSSFontFaceRule.h:
(WebCore::CSSFontFaceRule::setDeclaration):
* css/CSSStyleRule.cpp:
* css/CSSStyleRule.h:
(WebCore::CSSStyleRule::setDeclaration):
* css/CSSStyleSheet.cpp:
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::ownerRule):
* css/StyleSheet.cpp:
* css/StyleSheet.h:
(WebCore::StyleSheet::parentStyleSheet):
* css/WebKitCSSKeyframesRule.cpp:
* css/WebKitCSSKeyframesRule.h:
(WebCore::WebKitCSSKeyframesRule::name):
(WebCore::WebKitCSSKeyframesRule::length):
2011-11-03 Andreas Kling <kling@webkit.org>
Devirtualize MediaList.
https://bugs.webkit.org/show_bug.cgi?id=71464
Reviewed by Antti Koivisto.
* css/MediaList.h: Make the destructor non-virtual.
2011-11-03 Zoltan Herczeg <zherczeg@webkit.org>
Optimizing arithmetic composite filter to ARM-neon SIMD instruction set
https://bugs.webkit.org/show_bug.cgi?id=65522
Reviewed by Dirk Schulze.
This patch continues the work of Felician Marton.
The arithmetic operation of feComposite SVG filter can be greatly enhanced
by the ARM-NEON instruction set since we are able to calculate the pixel data
for all four RGBA channels at the same time.
It won't affect the general behavior and existing tests will cover the changes.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* platform/graphics/filters/FEComposite.cpp:
(WebCore::computeArithmeticPixels):
(WebCore::arithmeticSoftware):
(WebCore::FEComposite::platformArithmeticSoftware):
(WebCore::FEComposite::platformApplySoftware):
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Added.
* platform/graphics/filters/arm/FECompositeArithmeticNEON.h: Added.
(WebCore::FEComposite::platformArithmeticNeon):
2011-11-03 Simon Hausmann <simon.hausmann@nokia.com>
[Qt] Add pageScaleFactor to the serialized history item
https://bugs.webkit.org/show_bug.cgi?id=71463
Reviewed by Tor Arne Vestbø.
r75758 added the pageScaleFactor member, which we need to
serialize.
* history/qt/HistoryItemQt.cpp:
(WebCore::HistoryItem::restoreState):
(WebCore::HistoryItem::saveState):
2011-11-03 Mike Lawther <mikelawther@chromium.org>
Use createPrimitiveNumericValue function
https://bugs.webkit.org/show_bug.cgi?id=71432
Reviewed by Andreas Kling.
No new tests - no change in functionality.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseWrapShapeRect):
(WebCore::CSSParser::parseWrapShapeCircle):
(WebCore::CSSParser::parseWrapShapeEllipse):
(WebCore::CSSParser::parseWrapShapePolygon):
2011-11-03 Pavel Feldman <pfeldman@google.com>
Not reviewed: win build fix. Assign autoDPI at all cases (breakage introduced in r99173).
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
2011-11-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
Differentiate implicit viewport from that of the meta tag
https://bugs.webkit.org/show_bug.cgi?id=71453
Reviewed by Simon Hausmann.
This is needed because of DPI adjustment taking place with the meta
tag. This is to be avoided when no viewport meta tag is present.
* dom/Document.cpp:
(WebCore::Document::processViewport):
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::ViewportArguments):
(WebCore::ViewportArguments::operator==):
2011-11-03 Andreas Kling <kling@webkit.org>
Devirtualize CSSRule.
https://bugs.webkit.org/show_bug.cgi?id=71382
Reviewed by Antti Koivisto.
Remove the virtual destructor from CSSRule, and reimplement RefCounted's deref()
to invoke operator delete on the appropriate subclass type.
This removes the CSSRule vtable and shrinks each instance by one CPU word.
* css/CSSCharsetRule.h:
* css/CSSFontFaceRule.h:
* css/CSSMediaRule.h:
* css/CSSPageRule.h:
* css/CSSRegionStyleRule.h:
* css/CSSRule.cpp:
* css/CSSRule.h:
(WebCore::CSSRule::deref):
(WebCore::CSSRule::~CSSRule):
* css/CSSStyleRule.h:
* css/WebKitCSSKeyframeRule.h:
Devirtualize!
* css/CSSRule.cpp:
(WebCore::CSSRule::destroy):
Added, invokes operator delete on the right subclass type.
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::CSSImportRule):
(WebCore::CSSImportRule::~CSSImportRule):
(WebCore::CSSImportRule::requestStyleSheet):
* css/CSSImportRule.h:
(WebCore::CSSImportRule::ImportedStyleSheetClient::ImportedStyleSheetClient):
(WebCore::CSSImportRule::ImportedStyleSheetClient::~ImportedStyleSheetClient):
(WebCore::CSSImportRule::ImportedStyleSheetClient::setCSSStyleSheet):
Break out the inheritance from CachedStyleSheetClient into a member variable
that simply redirects the setCSSStyleSheet() callback to the CSSImportRule.
2011-10-31 Hans Wennborg <hans@chromium.org>
IndexedDB: Recycle cursor objects when calling continue()
https://bugs.webkit.org/show_bug.cgi?id=71115
Reviewed by Darin Fisher.
The IndexedDB spec says that cursors should be recycled when calling
continue(). Let the IDBRequest keep track of which cursor to return
upon success, and have the cursor use a new callback:
onSuccessWithContinuation() to signal that the continue was successful.
When we start using the new callback, the
storage/indexeddb/cursor-inconsistency.html layout test will start
passing.
* storage/IDBCallbacks.h:
* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::continueFunctionInternal):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::setCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::onSuccessWithContinuation):
* storage/IDBRequest.h:
2011-11-03 Pavel Feldman <pfeldman@google.com>
Web Inspector: preserve script location for inline handlers.
https://bugs.webkit.org/show_bug.cgi?id=71367
Makes eventHandler report position, not line number;
Reviewed by Yury Semikhatsky.
* bindings/js/CachedScriptSourceProvider.h:
(WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::JSLazyEventListener):
(WebCore::JSLazyEventListener::initializeJSFunction):
* bindings/js/JSLazyEventListener.h:
(WebCore::JSLazyEventListener::create):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::eventHandlerPosition):
* bindings/js/ScriptController.h:
* bindings/js/ScriptEventListener.cpp:
(WebCore::createAttributeEventListener):
* bindings/js/ScriptSourceProvider.h:
(WebCore::ScriptSourceProvider::ScriptSourceProvider):
* bindings/js/StringSourceProvider.h:
(WebCore::StringSourceProvider::create):
(WebCore::StringSourceProvider::StringSourceProvider):
(WebCore::makeSource):
2011-11-03 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Styles] Do not check isEditingAnyField in StylesSidebarPane._createNewRule
https://bugs.webkit.org/show_bug.cgi?id=71217
Reviewed by Yury Semikhatsky.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.set _createNewRule):
2011-11-03 Balazs Kelemen <kbalazs@webkit.org>
[Qt] X11 plugins need to be reworked for Qt5
https://bugs.webkit.org/show_bug.cgi?id=70023
Reviewed by Simon Hausmann.
Disable X11 plugins with Qt5.
* features.pri:
2011-11-03 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r99138.
http://trac.webkit.org/changeset/99138
https://bugs.webkit.org/show_bug.cgi?id=71455
It made 200+ tests flakey on SL and on Qt (Requested by Ossy
on #webkit).
* html/HTMLIFrameElement.cpp:
(WebCore::parseSandboxAttribute):
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setOpener):
(WebCore::createWindow):
* loader/FrameLoader.h:
(WebCore::FrameLoader::setForcedSandboxFlags):
* loader/FrameLoaderTypes.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
* page/SecurityOrigin.cpp:
* page/SecurityOrigin.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2011-11-03 Kentaro Hara <haraken@chromium.org>
Fixed wrong implementation of doubleValue % 2^{64}.
https://bugs.webkit.org/show_bug.cgi?id=67980
Reviewed by Hajime Morita.
fast/events/constructors/progress-event-constructor.html was failing
because of the wrong implementation of conversion from an ECMAScript value
to an IDL unsigned long long value (Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long).
In particular, the calculation of doubleValue % 2^{64} was wrong.
This patch implemented it correctly in doubleToInteger() in wtf/MathExtras.h.
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue): Uses doubleToInteger().
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::getKeyValue): Ditto.
2011-11-03 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Introduce SuggestBox for TextPrompt
https://bugs.webkit.org/show_bug.cgi?id=71288
Reviewed by Pavel Feldman.
Drive-by fix for a regression where clicking in the Database query view did not focus the prompt.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
(WebInspector.ConsoleView.prototype.completions):
(WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
(WebInspector.ConsoleView.prototype._completions):
(WebInspector.ConsoleView.prototype._reportCompletions):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView):
(WebInspector.DatabaseQueryView.prototype.afterShow):
(WebInspector.DatabaseQueryView.prototype.completions):
(WebInspector.DatabaseQueryView.prototype._selectStart.moveBackIfOutside):
(WebInspector.DatabaseQueryView.prototype._selectStart):
(WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
(WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
(WebInspector.DatabaseQueryView.prototype._appendQueryResult):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/Popover.js:
(WebInspector.Popover):
(WebInspector.Popover.prototype._positionElement):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype):
():
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt):
(WebInspector.TextPrompt.prototype.setSuggestForceable):
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype._removeFromElement):
(WebInspector.TextPrompt.prototype.defaultKeyHandler):
(WebInspector.TextPrompt.prototype.onKeyDown):
(WebInspector.TextPrompt.prototype.acceptAutoComplete):
(WebInspector.TextPrompt.prototype.autoCompleteSoon):
(WebInspector.TextPrompt.prototype.complete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.applySuggestion):
(WebInspector.TextPrompt.prototype.acceptSuggestion):
(WebInspector.TextPrompt.prototype.isSuggestBoxVisible):
(WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
(WebInspector.TextPrompt.prototype.tabKeyPressed):
(WebInspector.TextPrompt.prototype.enterKeyPressed):
(WebInspector.TextPrompt.prototype.upKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.SuggestBoxConfig):
(WebInspector.TextPromptWithHistory):
(WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
(WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
(WebInspector.TextPrompt.SuggestBox):
(WebInspector.TextPrompt.SuggestBox.prototype.get visible):
(WebInspector.TextPrompt.SuggestBox.prototype.get hasSelection):
(WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
(WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
(WebInspector.TextPrompt.SuggestBox.prototype._onboxmousedown):
(WebInspector.TextPrompt.SuggestBox.prototype.hide):
(WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
(WebInspector.TextPrompt.SuggestBox.prototype._applySuggestion):
(WebInspector.TextPrompt.SuggestBox.prototype.acceptSuggestion):
(WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
(WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestionsSoon):
(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
(WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
(WebInspector.TextPrompt.SuggestBox.prototype._createItemElement):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
(WebInspector.TextPrompt.SuggestBox.prototype._updateSelection):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
(WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.spaceKeyPressed):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.search-view .search-panel):
(#search-results-pane-file-based .search-match .search-match-content):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar, .custom-popup-vertical-scroll ::-webkit-scrollbar):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-corner, .custom-popup-vertical-scroll ::-webkit-scrollbar-corner):
(.custom-popup-horizontal-scroll ::-webkit-resizer, .custom-popup-vertical-scroll ::-webkit-resizer):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-button, .custom-popup-vertical-scroll ::-webkit-scrollbar-button):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar:horizontal:corner-present):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:hover):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:active):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:start):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end:corner-present):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:decrement):
(.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:increment):
(.custom-popup-vertical-scroll ::-webkit-scrollbar:vertical:corner-present):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:hover):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:active):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:start):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end:corner-present):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:decrement):
(.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment):
* inspector/front-end/popover.css:
(.popover.right-bottom-arrow .arrow):
* inspector/front-end/textPrompt.css: Added.
(.suggest-box):
(.suggest-box.visible):
(.suggest-box .container):
(.suggest-box-content-item):
(.suggest-box-content-item .prefix):
(.suggest-box-content-item.selected):
(.suggest-box-content-item:hover:not(.selected)):
* inspector/front-end/utilities.js:
(setupPrototypeUtilities.Element.prototype.boxInWindow):
2011-11-03 Devdatta Deshpande <webkit.devdatta@gmail.com>
REGRESSION (r94132): broke fast/loader/location-port.html on GTK
https://bugs.webkit.org/show_bug.cgi?id=67277
Reviewed by Adam Barth.
If port is 0, SoupURI does not have an explicitly specified port. Due
to this port value is ignored in SoupURI. Hence, an extra check is
required to restore the port.
Test: LayoutTests/fast/loader/location-port.html
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateFromSoupMessage):
2011-11-03 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Allow the toolbar background to be transparent on mac platforms when remote
https://bugs.webkit.org/show_bug.cgi?id=71437
Reviewed by Yury Semikhatsky.
* inspector/front-end/inspector.css:
(body.detached.platform-mac-snowleopard #toolbar):
2011-11-02 Adam Barth <abarth@webkit.org>
CSP should handle empty URLs as agreed at TPAC
https://bugs.webkit.org/show_bug.cgi?id=71426
Reviewed by Eric Seidel.
It was somewhat unclear how CSP should treat plugins that lacked a URL
because most of the CSP rules are URL-based. At TPAC, we decided to
treat "empty" URLs as if there were the URL of the document. That
means you can use plugins with no URL if you've included 'self' in
object-src, but you can also block them by using 'none' as your
object-src.
Tests: http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html
http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html
http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirective::CSPDirective):
(WebCore::CSPDirective::allows):
(WebCore::ContentSecurityPolicy::createCSPDirective):
2011-11-02 Adam Barth <abarth@webkit.org>
Implement allow-popups for iframe@sandbox
https://bugs.webkit.org/show_bug.cgi?id=66505
Reviewed by Eric Seidel.
There's been some discussion in the HTML working group about adding an
allow-popups directive to the iframe sandbox. Microsoft has added it
to IE10 platform preview and is fairly adamant about this feature
because it's needed by one or their products that's planning to use
iframe sandbox. Hixie says he'll add it to the spec once we implement
it, so here's our implementation. (See discussion in the W3C linked in
the bug for more details.)
Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
http/tests/security/popup-allowed-by-sandbox-when-allowed.html
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::parseMappedAttribute):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setOpener):
(WebCore::createWindow):
* loader/FrameLoader.h:
(WebCore::FrameLoader::forceSandboxFlags):
* loader/FrameLoaderTypes.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::parseSandboxPolicy):
* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::sandboxFlags):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2011-11-02 Sam Weinig <sam@webkit.org>
Remove the ability to generate custom lookupGetter/lookupSetter functions,
now that they can not be overridden
Reviewed by Adam Roben.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
2011-11-02 Sam Weinig <sam@webkit.org>
Fix crashing tests after r99126 (commit for https://bugs.webkit.org/show_bug.cgi?id=71307)
Reviewed by Adam Roben.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
Since we are proxying to the window, we need to pass it as the this object,
not the shell.
2011-11-02 Erik Arvidsson <arv@chromium.org>
Remove LegacyDefaultOptionalArguments flag from storage IDL files
https://bugs.webkit.org/show_bug.cgi?id=65744
Reviewed by Adam Barth.
Test: storage/domstorage/localstorage/missing-arguments.html
* storage/DatabaseCallback.idl:
* storage/IDBRequest.idl:
* storage/IDBTransaction.idl:
* storage/SQLResultSetRowList.idl:
* storage/SQLStatementCallback.idl:
* storage/SQLStatementErrorCallback.idl:
* storage/SQLTransaction.idl:
* storage/SQLTransactionCallback.idl:
* storage/SQLTransactionErrorCallback.idl:
* storage/SQLTransactionSync.idl:
* storage/SQLTransactionSyncCallback.idl:
* storage/Storage.idl:
* storage/StorageInfo.idl:
* storage/StorageInfoErrorCallback.idl:
* storage/StorageInfoQuotaCallback.idl:
* storage/StorageInfoUsageCallback.idl:
2011-11-02 Adam Klein <adamk@chromium.org>
Replace usage of StringImpl with String where possible in CharacterData and Text
https://bugs.webkit.org/show_bug.cgi?id=71383
Reviewed by Darin Adler.
Ryosuke Niwa, in http://webkit.org/b/70862, asked me to replace usages
of String with StringImpl. I've done more than what he asked in this
patch, the biggest change being that CharacterData now holds a String
instead of a RefPtr<StringImpl>.
No new tests, as this should have no effect on behavior.
* dom/CharacterData.cpp:
(WebCore::CharacterData::setData):
(WebCore::CharacterData::substringData):
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::appendData):
(WebCore::CharacterData::insertData):
(WebCore::CharacterData::deleteData):
(WebCore::CharacterData::replaceData):
(WebCore::CharacterData::containsOnlyWhitespace):
(WebCore::CharacterData::setDataAndUpdate):
(WebCore::CharacterData::updateRenderer):
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/CharacterData.h:
(WebCore::CharacterData::length):
(WebCore::CharacterData::dataImpl):
(WebCore::CharacterData::CharacterData):
(WebCore::CharacterData::setDataWithoutUpdate):
* dom/Text.cpp:
(WebCore::Text::splitText):
2011-11-02 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::getOwnPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=71307
Reviewed by Darin Adler.
No new tests.
Added getOwnPropertyNames to the MethodTable, changed all the virtual
implementations of getOwnPropertyNames to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::getOwnPropertyNames):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertyNames):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::getOwnPropertyNames):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertyNames):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::getOwnPropertyNames):
* bindings/js/ScriptValue.cpp:
(WebCore::jsToInspectorValue):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
* bridge/qt/qt_runtime.h:
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertyNames):
* bridge/runtime_array.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::getOwnPropertyNames):
* bridge/runtime_object.h:
2011-11-02 Tony Chang <tony@chromium.org>
force inline flexitems to be wrapped in anonymous blocks
https://bugs.webkit.org/show_bug.cgi?id=71314
Reviewed by Ojan Vafai.
If there is a mix of inline and block items, all the inline items were already getting wrapped
(see RenderBlock::addChildIgnoringAnonymousColumnBlocks). However, if there are only inline items,
we need to force them into an anonymous block.
There are still lots of bugs because we're trying to read style values from the anonymous block,
but this at least causes layout to be called on all the render objects.
Tests: css3/flexbox/anonymous-block.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::TreeOrderIterator::next):
(WebCore::RenderFlexibleBox::FlexOrderIterator::next):
(WebCore::RenderFlexibleBox::RenderFlexibleBox): force children into blocks
2011-11-02 Dean Jackson <dino@apple.com>
Add ENABLE_CSS_SHADERS flag
https://bugs.webkit.org/show_bug.cgi?id=71394
Reviewed by Sam Weinig.
* Configurations/FeatureDefines.xcconfig:
2011-11-02 Emil A Eklund <eae@chromium.org>
Switch RenderText to new layout types
https://bugs.webkit.org/show_bug.cgi?id=71389
Reviewed by Eric Seidel.
Switch RenderText methods (and overriden methods in related classes) to
LayoutRect/LayoutUnit.
No new tests.
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRectsForRange):
(WebCore::RenderText::linesBoundingBox):
(WebCore::RenderText::linesVisualOverflowBoundingBox):
* rendering/RenderText.h:
Change RenderText to expose its bounding box, selection and caret rects
as LayoutRects.
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect):
* rendering/svg/RenderSVGInlineText.h:
Change localCaretRect to return a LayoutRect.
2011-11-02 Levi Weintraub <leviw@chromium.org>
Infinite recursion in RenderSVGResourceContainer::markAllClientsForInvalidation
https://bugs.webkit.org/show_bug.cgi?id=71384
Reviewed by Darin Adler.
Adding a reentrancy guard to RenderSVGResourceContainer to prevent infinite recursion when
resources reference one another and share ids.
Test: svg/custom/resource-invalidation-crash.svg
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
* rendering/svg/RenderSVGResourceContainer.h:
2011-11-02 Jon Lee <jonlee@apple.com>
Expand DragController to provide more information about the dragging session
https://bugs.webkit.org/show_bug.cgi?id=71324
<rdar://problem/10379175>
Reviewed by Darin Adler.
* WebCore.xcodeproj/project.pbxproj:
* page/DragController.cpp:
(WebCore::DragController::dragEntered):
(WebCore::DragController::dragUpdated):
(WebCore::DragController::dragEnteredOrUpdated):
(WebCore::DragController::tryDocumentDrag): In addition to determining the
drag operation, DragSession is updated with data regarding whether the mouse
is over a file input, and the number of items that would be accepted based on
the mouse's location.
* page/DragController.h:
* page/DragSession.h: Added.
(WebCore::DragSession::DragSession): Keep track of current operation, whether
the mouse is over a file input element, and how many files would be accepted if
dropped.
* platform/DragData.h: Added numberOfFiles()
* platform/chromium/DragDataChromium.cpp:
(WebCore::DragData::numberOfFiles):
* platform/efl/DragDataEfl.cpp:
(WebCore::DragData::numberOfFiles):
* platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::numberOfFiles):
* platform/mac/DragDataMac.mm:
(WebCore::DragData::numberOfFiles):
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::numberOfFiles):
* platform/win/DragDataWin.cpp:
(WebCore::DragData::numberOfFiles):
* platform/wince/DragDataWinCE.cpp:
(WebCore::DragData::numberOfFiles):
* platform/wx/DragDataWx.cpp:
(WebCore::DragData::numberOfFiles):
2011-11-02 Alexey Proskuryakov <ap@apple.com>
Emedded PDFs cannot be opened from Web archives
https://bugs.webkit.org/show_bug.cgi?id=70954
Reviewed by Oliver Hunt.
BuiltInPDFPlugin doesn't have access to original ResourceResponse and has to re-create it
It doesn't seem to be possible to create an NSURLResponse with a non-null HTTP status code,
and NetscapePlugInStreamLoader becomes unhappy.
* loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
Allow 0 status code, it's not a real error to have one in response.
2011-10-31 Nat Duca <nduca@chromium.org>
[chromium] Slow down commit and draw rate based on visibility and draw completion
https://bugs.webkit.org/show_bug.cgi?id=71267
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHost::visible):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::visible):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::beginFrame):
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::visible):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-02 Dan Bernstein <mitz@apple.com>
<rdar://problem/10336700> Add API to get rendered text image without having to select it
https://bugs.webkit.org/show_bug.cgi?id=71407
Reviewed by Simon Fraser.
Test: TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm
* bindings/objc/DOM.mm:
(-[DOMRange renderedImageForcingBlackText:]): Added.
* bindings/objc/DOMPrivate.h:
* page/Frame.h:
* page/mac/FrameMac.mm:
(WebCore::Frame::rangeImage): Added. Sets the selection in the RenderView (only) based on the
given range and gets a selection-only rendering of the view, then restores the selection.
* rendering/RenderView.cpp:
(WebCore::RenderView::setSelection): Skip all invalidation if the repaint behavior is RepaintNothing.
(WebCore::RenderView::getSelection): Added this getter.
* rendering/RenderView.h:
2011-11-02 Tom Sepez <tsepez@chromium.org>
XSSAuditor is silent
https://bugs.webkit.org/show_bug.cgi?id=70973
Reviewed by Adam Barth.
Test: http/tests/security/xssAuditor/script-tag-with-callbacks.html
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::XSSAuditor):
(WebCore::XSSAuditor::filterToken):
* html/parser/XSSAuditor.h:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::didDetectXSS):
* loader/FrameLoaderClient.h:
2011-11-02 Simon Fraser <simon.fraser@apple.com>
Assertion in FontCache::getCachedFontData() when painting into composited layer
https://bugs.webkit.org/show_bug.cgi?id=71377
Reviewed by Anders Carlsson.
Add one of the mysterious FontCachePurgePreventers on the stack when painting
compositing layers, just as FrameView::paintContents does, to fix an assertion
seen on the bots with some layout tests.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
2011-11-02 Tommy Widenflycht <tommyw@google.com>
MediaStreamRegistry should hold references to MediaStreamDescriptor rather than MediaStream
https://bugs.webkit.org/show_bug.cgi?id=70896
Reviewed by Adam Barth.
Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
* mediastream/MediaStreamRegistry.cpp:
(WebCore::MediaStreamRegistry::registerMediaStreamURL):
(WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
(WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
* mediastream/MediaStreamRegistry.h:
2011-11-02 Zoltan Herczeg <zherczeg@webkit.org>
Match allowed CSS string characters to Firefox and Opera browsers
https://bugs.webkit.org/show_bug.cgi?id=71000
Reviewed by Darin Adler.
Firefox and Opera accepts any character inside a string except
newline and starting quote character. This behaviour matches to
the CSS 2.1 grammar: http://www.w3.org/TR/CSS2/grammar.html
WebKit should follow them.
Test: fast/css/parsing-css-allowed-string-characters.html
* css/tokenizer.flex:
2011-11-02 Devdatta Deshpande <pwjd73@motorola.com>
Assert in MoveSelectionCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=70277
Reviewed by Ryosuke Niwa.
A MoveSelectionCommand should be fired only if the selection type is
RangeSelection, since nothing is selected in other cases.
Test: fast/events/drag-link.html
* page/DragController.cpp:
(WebCore::DragController::dragIsMove):
2011-11-02 Jon Lee <jonlee@apple.com>
<input=file multiple> default text uses singular instead of plural
https://bugs.webkit.org/show_bug.cgi?id=71319
<rdar://problem/10379021>
Reviewed by Darin Adler.
Added a new method to return the label text for a file upload control that
allows multiple files. Needed to extend the RenderTheme function to pass down
a boolean representing whether multiple files are allowed in the file list.
* English.lproj/Localizable.strings:
* html/FileInputType.cpp:
(WebCore::FileInputType::defaultToolTip):
* platform/DefaultLocalizationStrategy.cpp:
(WebCore::DefaultLocalizationStrategy::fileButtonNoFilesSelectedLabel):
* platform/DefaultLocalizationStrategy.h:
* platform/LocalizationStrategy.h:
* platform/LocalizedStrings.cpp:
(WebCore::fileButtonNoFilesSelectedLabel):
* platform/LocalizedStrings.h:
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::fileButtonNoFilesSelectedLabel):
* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::fileButtonNoFilesSelectedLabel):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::fileListNameForWidth):
* platform/gtk/RenderThemeGtk.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::fileListNameForWidth):
* platform/qt/RenderThemeQt.h:
* platform/wx/LocalizedStringsWx.cpp:
(WebCore::fileButtonNoFilesSelectedLabel):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::fileTextValue):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::fileListNameForWidth):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::fileListNameForWidth):
2011-11-02 Andras Becsi <andras.becsi@nokia.com>
[Qt] Fix the build with NO_LISTBOX_RENDERING
Unreviewed build fix after r99035.
Patch by Michael Bruning <michael.bruning@nokia.com>
No new tests needed.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxSelectItem):
2011-10-28 Ryosuke Niwa <rniwa@webkit.org>
div { display: none; } makes pasting into text fields impossible
https://bugs.webkit.org/show_bug.cgi?id=27683
Reviewed by Enrica Casucci.
The bug was caused by insertFragmentForTestRendering's always inserting a node for test rendering
into document's body.
Fixed the bug by inserting the node for test rendering into the root editable element. In addition,
remove the node before dispatching beforeTextInserted event to avoid event listeners, in particular
TextFieldInputType::handleBeforeTextInsertedEvent, from seeing the test node.
Test: editing/pasteboard/input-with-display-none-div.html
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
(WebCore::ReplacementFragment::insertFragmentForTestRendering):
(WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
2011-11-02 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION(r96870): WebKit generates background: transparent on blogger.com
https://bugs.webkit.org/show_bug.cgi?id=71203
Reviewed by Ojan Vafai.
Remove the transparent background color from inline style declarations in the pasted content.
Also fixed a bug in removeStyleFromRulesAndContext that it removes properties in inline style
declarations even if those properties were overridden.
Tests: editing/deleting/merge-paragraphs-with-transparent-background.html
editing/deleting/paste-with-transparent-background-color.html
* editing/EditingStyle.cpp:
(WebCore::removePropertiesInStyle):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
2011-11-02 Andreas Kling <kling@webkit.org>
CSSStyleRule: Devirtualize selectorText()
https://bugs.webkit.org/show_bug.cgi?id=71364
Reviewed by Antti Koivisto.
Have CSSStyleRule::selectorText() redirect to CSSPageRule::pageSelectorText()
if type() is PAGE_RULE.
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::pageSelectorText):
* css/CSSPageRule.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::selectorText):
* css/CSSStyleRule.h:
2011-11-02 Andreas Kling <kling@webkit.org>
CSSRule: Devirtualize cssText()
https://bugs.webkit.org/show_bug.cgi?id=71292
Reviewed by Antti Koivisto.
Have CSSRule::cssText() redirect to the appropriate subclass based on type().
This is one of the last steps of devirtualizing CSSRule completely, which will
allow us to get rid of its vtable, and each instance's pointer thereto.
* css/CSSCharsetRule.h:
* css/CSSFontFaceRule.h:
* css/CSSImportRule.h:
* css/CSSMediaRule.h:
* css/CSSRegionStyleRule.h:
* css/CSSRule.cpp:
(WebCore::CSSRule::cssText):
* css/CSSRule.h:
* css/CSSStyleRule.h:
* css/WebKitCSSKeyframeRule.h:
* css/WebKitCSSKeyframesRule.h:
2011-11-02 Patrick Gansterer <paroga@webkit.org>
Unreviewed build fix for !ENABLE(FILTERS) after r98989.
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
2011-11-02 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [REGRESSION] Clicking in a CSS property/value being edited commits the editor
https://bugs.webkit.org/show_bug.cgi?id=71360
Reviewed by Pavel Feldman.
Selecting a selected TreeElement should be an idempotent operation.
* inspector/front-end/treeoutline.js:
(TreeElement.prototype.select):
2011-11-02 Ben Wells <benwells@chromium.org>
Canvas filling paths or rects need to be invalidate larger rects for some compositing modes.
https://bugs.webkit.org/show_bug.cgi?id=70379
Reviewed by James Robinson.
Test: fast/canvas/canvas-composite-fill-repaint.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::didDrawEntireCanvas):
* html/canvas/CanvasRenderingContext2D.h:
2011-11-01 Levi Weintraub <leviw@chromium.org>
Fix uses of LayoutUnit in Frame-, Scroll-, and RenderView
https://bugs.webkit.org/show_bug.cgi?id=71321
Reviewed by Darin Adler.
Updating the usage of LayoutUnits in the *View classes to mirror the proper use
as derived in the subpixellayout branch.
This entails scrolling only with integers (and rounding once we've made the switch)
and using integers for window coordinates, with LayoutUnits for content coordinates.
No new tests -- no change in behavior.
* page/FrameView.cpp:
(WebCore::FrameView::invalidateRect):
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::zoomAnimatorTransformChanged):
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::scrollContentsSlowPath):
(WebCore::FrameView::scrollElementToRect):
(WebCore::FrameView::setScrollPosition):
(WebCore::FrameView::repaintContentRectangle):
(WebCore::FrameView::scrollTo):
(WebCore::FrameView::updateScrollCorner):
* page/FrameView.h:
(WebCore::FrameView::trackedRepaintRects):
* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRect):
(WebCore::ScrollView::layoutWidth):
(WebCore::ScrollView::layoutHeight):
(WebCore::ScrollView::fixedLayoutSize):
(WebCore::ScrollView::setFixedLayoutSize):
(WebCore::ScrollView::contentsSize):
(WebCore::ScrollView::setContentsSize):
(WebCore::ScrollView::overhangAmount):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::rectToCopyOnScroll):
(WebCore::ScrollView::scrollContents):
(WebCore::ScrollView::windowToContents):
(WebCore::ScrollView::screenToContents):
(WebCore::ScrollView::scrollbarAtPoint):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
(WebCore::ScrollView::visibleWidth):
(WebCore::ScrollView::visibleHeight):
(WebCore::ScrollView::contentsWidth):
(WebCore::ScrollView::contentsHeight):
(WebCore::ScrollView::adjustScrollPositionWithinRange):
* rendering/RenderView.cpp:
(WebCore::RenderView::paint):
(WebCore::RenderView::shouldRepaint):
(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::viewRect):
(WebCore::RenderView::unscaledDocumentRect):
(WebCore::RenderView::documentRect):
* rendering/RenderView.h:
(WebCore::RenderView::printRect):
(WebCore::RenderView::setPrintRect):
2011-11-01 Anna Cavender <annacc@chromium.org>
Small fixes for WebVTTParser.
https://bugs.webkit.org/show_bug.cgi?id=71334
Reviewed by Darin Adler.
No new tests. This is needed to enable other tests, coming soon.
* html/track/WebVTTParser.cpp:
(WebCore::hasLongWebVTTIdentifier): changed to return true when header is
exactly "WEBVTT"
(WebCore::WebVTTParser::collectTimingsAndSettings): fix typos, position should
only progress once when checking the character after a timestamp.
2011-11-01 Darin Adler <darin@apple.com>
Change HTMLSelectElement::setSelectedIndex to use enums instead of bools
https://bugs.webkit.org/show_bug.cgi?id=70184
Reviewed by Kent Tamura.
Refactoring that does not require new tests.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLSelectElement _activateItemAtIndex:]): Replaced setSelectedIndexByUser
call with a call to the renamed optionSelectedByUser, also removed one argument.
(-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]): Ditto.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setSelected): Replaced setSelectedIndex call with a
call to the new optionSelectionStateChanged function.
(WebCore::HTMLOptionElement::insertedIntoTree): Ditto.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement): Updated since m_userDrivenChange
was renamed to m_isProcessingUserDrivenChange.
(WebCore::HTMLSelectElement::optionSelectedByUser): Removed deselect argument,
which was always true for all callers. Updated comment.
(WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Updated comment.
(WebCore::HTMLSelectElement::setOption): Call the new optionSelectionStateChanged
function. The code used to explicitly ask the function it calls to deselect base
on the value of m_multiple, but that is no longer needed because the selectOption
function itself takes care of that check.
(WebCore::HTMLSelectElement::dispatchChangeEventForMenuList): Renamed this function.
Also updated for name change to m_isProcessingUserDrivenChange.
(WebCore::HTMLSelectElement::setSelectedIndex): Moved the formerly-inlined function
here from the header and changed it to call the renamed selectOption function.
(WebCore::HTMLSelectElement::optionSelectionStateChanged): Added this function.
It is used by callers that were previously using setSelectedIndex and passing
"false" for the deselect argument. It's better now that setSelectedIndex is now a
pure DOM setter function without the multiple purposes it had before. This function
now has the logic that handles the special handling when deselecting an option,
which used to be at the top of the next function.
(WebCore::HTMLSelectElement::selectOption): Renamed this from setSelectedIndex.
Replaced boolean arguments with flags. Removed code to handle the special case
when we deselect an option; that's now handled in the optionSelectionStateChanged
function. Added an assertion to replace a comment and updated for other renaming.
(WebCore::HTMLSelectElement::dispatchBlurEvent): Updated for name change.
(WebCore::HTMLSelectElement::platformHandleKeydownEvent): Ditto.
(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Changed to call the
new selectOption function and also updated for other name changes.
(WebCore::HTMLSelectElement::typeAheadFind): Ditto.
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
* html/HTMLSelectElement.h: Changed the setSelectedIndex to be a pure setter
function for the selectedIndex DOM property. Added a optionSelectedByUser function
for the other use of setSelectedIndex, but removed the always true "deselect"
argument from it. Added a optionSelectionStateChanged function for use in the
HTMLOptionElement implementation. Renamed menuListOnChange to
dispatchChangeEventForMenuList for clarity. Added a SelectOptionFlag and
SelectOptionFlags type for the arguments to the selectOption function, formerly
implemented as an overload of setSelectedIndex (and called setSelectedIndexInternal
before that). Renamed m_userDrivenChange to m_isProcessingUserDrivenChange.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::valueChanged): Replaced setSelectedIndexByUser
call with a call to the renamed optionSelectedByUser, also removed one argument.
2011-11-01 Sam Weinig <sam@webkit.org>
Implement __lookupGetter__/__lookupSetter__ in terms of getPropertyDescriptor
https://bugs.webkit.org/show_bug.cgi?id=71336
Reviewed by Darin Adler.
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSDOMWindowShell.cpp:
* bindings/js/JSDOMWindowShell.h:
* page/DOMWindow.idl:
Remove overrides of lookupGetter/lookupSetter, which are no longer needed
due to implementing getPropertyDescriptor.
2011-11-01 Nat Duca <nduca@chromium.org>
[chromium] Move resource-releasing logic into CCProxy and cleanup setNeedsCommit
https://bugs.webkit.org/show_bug.cgi?id=71269
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
(WebCore::CCLayerTreeHost::setNeedsCommit):
(WebCore::CCLayerTreeHost::setViewport):
(WebCore::CCLayerTreeHost::setVisible):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCProxy.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::doCommit):
(WebCore::CCSingleThreadProxy::setNeedsRedraw):
(WebCore::CCSingleThreadProxy::setVisible):
(WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
(WebCore::CCThreadProxy::setVisible):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-11-01 Anna Cavender <annacc@chromium.org>
Makes [Reflect] work for constants.
This is needed to avoid platform-specific define conflicts, specifically
TextTrack::ERROR conflicts with a windows define.
https://bugs.webkit.org/show_bug.cgi?id=70951
Reviewed by Darin Adler.
Test: media/track/track-constants.html
* bindings/scripts/CodeGenerator.pm:
(GenerateCompileTimeCheckForEnumsIfNeeded):
Check for [Reflect] and assign name accordingly.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Update test file.
* bindings/scripts/test/JS/JSTestObj.cpp: Update test file.
(WebCore::jsTestObjCONST_JAVASCRIPT):
* bindings/scripts/test/JS/JSTestObj.h: Update test file.
* bindings/scripts/test/ObjC/DOMTestObj.h: Update test file.
* bindings/scripts/test/TestObj.idl: Update test file.
* bindings/scripts/test/V8/V8TestObj.cpp: Update test file.
* html/LoadableTextTrack.cpp: Use new DOM const name.
(WebCore::LoadableTextTrack::cueLoadingStarted):
(WebCore::LoadableTextTrack::cueLoadingCompleted):
* html/TextTrack.cpp: Use new DOM const name.
(WebCore::TextTrack::TextTrack):
(WebCore::TextTrack::setMode):
* html/TextTrack.h: Use new DOM const name.
* html/TextTrack.idl: Use Reflect for ERROR, but leave other DOM const names.
2011-11-01 Levi Weintraub <leviw@chromium.org>
Amend missing uses of LayoutUnit in RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=71254
Reviewed by Darin Adler.
Switching relevant uses of integers in RenderBlock to LayoutUnits.
No new tests -- no changes in behavior.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::adjustFloatingBlock):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::paintContents):
(WebCore::clipOutPositionedObjects):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::nextFloatLogicalBottomBelow):
(WebCore::RenderBlock::getClearDelta):
(WebCore::positionForPointRespectingEditingBoundaries):
(WebCore::RenderBlock::calcColumnWidth):
(WebCore::RenderBlock::layoutColumns):
(WebCore::RenderBlock::adjustRectForColumns):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::RenderBlock::baselinePosition):
(WebCore::getHeightForLineCount):
(WebCore::RenderBlock::setPaginationStrut):
(WebCore::RenderBlock::applyBeforeBreak):
(WebCore::RenderBlock::applyAfterBreak):
(WebCore::RenderBlock::adjustForUnsplittableChild):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::availableLogicalWidthForLine):
(WebCore::RenderBlock::paginationStrut):
(WebCore::RenderBlock::availableLogicalWidthForContent):
(WebCore::RenderBlock::FloatWithRect::FloatWithRect):
(WebCore::RenderBlock::MarginInfo::setPositiveMargin):
(WebCore::RenderBlock::MarginInfo::setNegativeMargin):
(WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
(WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
(WebCore::RenderBlock::MarginInfo::setMargin):
(WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
(WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
(WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
2011-11-01 Luke Macpherson <macpherson@chromium.org>
WIP: Add CSS property to control printing of backgrounds for individual elements.
https://bugs.webkit.org/show_bug.cgi?id=64583
Reviewed by Eric Seidel.
Added test LayoutTests/fast/css/webkit-color-adjust.html,
Updated tests under LayoutTests/fast/css/getComputedStyle
Updated test under LayoutTests/svg/css
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::initialForceBackgroundsToWhite):
2011-11-01 Dominic Cooney <dominicc@chromium.org>
Remove initErrorEvent method
https://bugs.webkit.org/show_bug.cgi?id=71338
Reviewed by Ojan Vafai.
* dom/ErrorEvent.cpp: Crush.
* dom/ErrorEvent.h: Kill.
* dom/ErrorEvent.idl: Destroy.
2011-11-01 Julien Chaffraix <jchaffraix@webkit.org>
Pack RenderTableCell bits
https://bugs.webkit.org/show_bug.cgi?id=71135
Reviewed by Darin Adler.
Tested by RenderTableCellTest unit test.
(unfortunately Chromium specific...)
This saves another 8 bytes on RenderTableCell on x86-64.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h:
Changed the field order to use more strict packing.
(WebCore::RenderTableCell::setCol):
(WebCore::RenderTableCell::setRow):
Added overflow checks to the 2 previous methods. We
CRASH even in release to avoid potential badness
(the limit is currently above 2 billions rows or columns
which is high enough to prevent it being hit by accident)
2011-11-01 Emil A Eklund <eae@chromium.org>
Switch background/border image back to Int
https://bugs.webkit.org/show_bug.cgi?id=71240
Reviewed by Darin Adler.
Switch background- and border-image rendering back to int to align with
device pixels.
No new tests.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::calculateAdjustedInnerBorder):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
2011-11-01 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::defineSetter
https://bugs.webkit.org/show_bug.cgi?id=71303
Reviewed by Darin Adler.
No new tests.
Added defineSetter to the MethodTable, changed all the virtual
implementations of defineSetter to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineSetter):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::defineSetter):
* bindings/js/JSDOMWindowShell.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
2011-11-01 Emil A Eklund <eae@chromium.org>
Switch PopupMenuClient to layout abstraction
https://bugs.webkit.org/show_bug.cgi?id=71308
Reviewed by Darin Adler.
Switch PopupMenuClient and rendering classes implementing it to layout
type abstraction.
No new tests.
* platform/PopupMenuClient.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::listIndexAtOffset):
(WebCore::RenderListBox::panScroll):
(WebCore::RenderListBox::scrollToward):
(WebCore::RenderListBox::scrollSize):
(WebCore::RenderListBox::scrollPosition):
(WebCore::RenderListBox::setScrollOffset):
(WebCore::RenderListBox::verticalScrollbarWidth):
Revert scroll positions and scroll offsets to ints to align with device
pixels.
* rendering/RenderListBox.h:
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::showPopup):
(WebCore::RenderMenuList::clientPaddingLeft):
(WebCore::RenderMenuList::clientPaddingRight):
* rendering/RenderMenuList.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hitInnerTextElement):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::clientPaddingLeft):
(WebCore::RenderTextControlSingleLine::clientPaddingRight):
* rendering/RenderTextControlSingleLine.h:
2011-11-01 Nate Chapin <japhet@chromium.org>
[chromium] As of r98380, ThreadableLoaderClients are having their
ResourceRequest::TargetType clobbered. They set their own
type, but CachedResourceRequest (through which they now flow)
sets a TargetType without bothering to see if one has already been set.
https://bugs.webkit.org/show_bug.cgi?id=70972
Reviewed by Darin Fisher.
No new tests, this is chromium-specific and only affects
behavior seen in full builds of chromium.
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::load):Don't setTargetType()
if the value is something other than the default already.
* platform/network/chromium/ResourceRequest.h: Change default
TargetType to TargetIsUnspecified.
2011-11-01 Emil A Eklund <eae@chromium.org>
Use IntPoint for screen coordinates in MouseEvent
https://bugs.webkit.org/show_bug.cgi?id=71327
Reviewed by Darin Adler.
Change mouse events to use int/IntPoint for screen/window coordinates and
LayoutUnit/LayoutPoint for coordinates adjusted for zooming.
No new tests.
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
(WebCore::MouseRelatedEvent::computeRelativePosition):
* dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::screenLocation):
Revert screenLocation and windowLocation back to int.
* page/DragController.cpp:
(WebCore::elementUnderMouse):
Change elementUnderMouse to use a LayoutPoint for hit testing.
* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
(WebCore::EventHandler::currentMousePosition):
(WebCore::documentPointForWindowPoint):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
* page/EventHandler.h:
Revert m_currentMousePosition to IntPoint as it represents a
screen coordinate.
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::pos):
(WebCore::PlatformMouseEvent::x):
(WebCore::PlatformMouseEvent::y):
(WebCore::PlatformMouseEvent::globalX):
(WebCore::PlatformMouseEvent::globalY):
* platform/mac/PlatformMouseEventMac.mm:
(WebCore::globalPoint):
(WebCore::pointForEvent):
(WebCore::globalPointForEvent):
Revert PlatformMouseEvent to int/IntPoint as it represents a screen
coordinate.
2011-11-01 Tony Chang <tony@chromium.org>
REGRESSION: -webkit-flex() should be an invalid value
https://bugs.webkit.org/show_bug.cgi?id=71320
Reviewed by Ojan Vafai.
This regressed in http://trac.webkit.org/changeset/98773 .
No new tests, covered by css3/flexbox/flex-parsing.html.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFlex):
2011-11-01 David Grogan <dgrogan@chromium.org>
IndexedDB: get EventQueue from ScriptExecutionContext instead of Document
https://bugs.webkit.org/show_bug.cgi?id=71147
When IDB is used from a worker thread ScriptExecutionContext will
be a WorkerContext, not a Document. This was the impetus behind
moving EventQueue into ScriptExecutionContext in r98656.
Reviewed by Nate Chapin.
No new tests. No new functionality yet.
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::close):
(WebCore::IDBDatabase::enqueueEvent):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::enqueueEvent):
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::enqueueEvent):
2011-11-01 Andreas Kling <kling@webkit.org>
CSS: Remove unused virtual parseString() in style and keyframe rules.
https://bugs.webkit.org/show_bug.cgi?id=71300
Reviewed by Darin Adler.
* css/CSSStyleRule.cpp:
* css/CSSStyleRule.h:
* css/WebKitCSSKeyframeRule.cpp:
* css/WebKitCSSKeyframeRule.h:
2011-11-01 Emil A Eklund <eae@chromium.org>
Switch RenderObject to layout abstraction
https://bugs.webkit.org/show_bug.cgi?id=71249
Switch RenderObject to LayoutRect/Size/Point abstraction.
Reviewed by Darin Adler.
No new tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::absoluteBoundingBoxRect):
(WebCore::RenderObject::absoluteFocusRingQuads):
(WebCore::RenderObject::addAbsoluteRectForLayer):
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::viewRect):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::localCaretRect):
(WebCore::RenderObject::addDashboardRegions):
(WebCore::RenderObject::maximalOutlineSize):
(WebCore::RenderObject::adjustRectForOutlineAndShadow):
* rendering/RenderObject.h:
(WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
(WebCore::RenderObject::absoluteClippedOverflowRect):
(WebCore::RenderObject::computeAbsoluteRepaintRect):
(WebCore::RenderObject::absoluteOutlineBounds):
(WebCore::RenderObject::outlineBoundsForRepaint):
(WebCore::adjustForAbsoluteZoom):
2011-11-01 Xiaomei Ji <xji@chromium.org>
Refactor: change Scrollable::m_scrollOrigin from protected to private.
https://bugs.webkit.org/show_bug.cgi?id=71236
Reviewed by Darin Adler.
Only refactor, no new tests needed.
* page/FrameView.cpp:
(WebCore::FrameView::scrollXForFixedPosition):
(WebCore::FrameView::scrollYForFixedPosition):
* platform/ScrollView.cpp:
(WebCore::ScrollView::maximumScrollPosition):
(WebCore::ScrollView::minimumScrollPosition):
(WebCore::ScrollView::setScrollOffset):
(WebCore::ScrollView::scrollPosition):
(WebCore::ScrollView::overhangAmount):
(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::setScrollOrigin):
(WebCore::ScrollableArea::setScrollOriginX):
(WebCore::ScrollableArea::setScrollOriginY):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::scrollPosition):
(WebCore::RenderLayer::minimumScrollPosition):
(WebCore::RenderLayer::maximumScrollPosition):
(WebCore::RenderLayer::computeScrollDimensions):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::scrollXOffset):
(WebCore::RenderLayer::scrollYOffset):
2011-11-01 Dominic Cooney <dominicc@chromium.org>
display: table-cell and box-sizing: border-box calculates content-box height
https://bugs.webkit.org/show_bug.cgi?id=69425
Reviewed by Dan Bernstein.
Test: fast/box-sizing/table-cell.html
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
2011-11-01 Alok Priyadarshi <alokp@chromium.org>
[chromium] Add testing for --enable-accelerated-drawing
https://bugs.webkit.org/show_bug.cgi?id=70822
Reviewed by James Robinson.
Test: platform/chromium/compositing/accelerated-drawing/alpha.html
* WebCore.exp.in:
* page/Settings.cpp:
* page/Settings.h:
(WebCore::Settings::setAcceleratedDrawingEnabled):
* testing/Internals.cpp:
(WebCore::Internals::setAcceleratedDrawingEnabled):
* testing/Internals.h:
* testing/Internals.idl:
2011-11-01 Tim Horton <timothy_horton@apple.com>
SVG Filter on a group doesn't invalidate when children are moved
https://bugs.webkit.org/show_bug.cgi?id=70044
<rdar://problem/10281530>
Reviewed by Nikolas Zimmermann.
Call SVGResourcesCache::clientLayoutChanged whenever the element or its children need layout. Previously,
invalidation was only performed if the element itself needed layout; now we also invalidate if any child
needs layout and there is a filter applied, as the cached filter result can depend on the layout of children.
Test: svg/filters/invalidate-on-child-layout.svg
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientLayoutChanged):
2011-11-01 Jer Noble <jer.noble@apple.com>
Four media tests failing on Lion due to incorrect cached times.
https://bugs.webkit.org/show_bug.cgi?id=69574
Reviewed by Eric Carlson.
Do not invalidate the cached time when receiving a mediaPlayerRateChanged notification
while paused. AVFoundation in particular can return different results for currentTime()
when asked after being paused, breaking layout tests.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerRateChanged):
2011-11-01 Gavin Peters <gavinp@chromium.org>
properly end requests when a bad status code return happens
https://bugs.webkit.org/show_bug.cgi?id=71122
Calling error without ending the request set up the CachedResourceRequest so that it could
actually send out two notifyFinished() events. This probably was the root cause of
lots of crashing instability; I know from crbug.com/75604 that this bug was causing lots
of crashes in ScriptRunner/ScriptElement for instance.
The fix is easy: just properly end the request instead of just calling error, and we won't
re-notify.
Reviewed by Nate Chapin.
No new tests, as the problem wasn't very amenable to layout tests.
There is a chromium test going through code review at http://codereview.chromium.org/8404001/
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::didReceiveData):
2011-11-01 Erik Arvidsson <arv@chromium.org>
Remove LegacyDefaultOptionalArguments flag from CanvasRenderingContext2d
https://bugs.webkit.org/show_bug.cgi?id=64628
Reviewed by Adam Barth.
Covered by existing tests.
* html/canvas/CanvasRenderingContext2D.idl:
2011-11-01 Julien Chaffraix <jchaffraix@webkit.org>
REGRESSION(98738): RenderTableSection::recalcCells does not properly shrink the RowStruct grid
https://bugs.webkit.org/show_bug.cgi?id=71246
Reviewed by Darin Adler.
Tests: fast/table/crash-empty-section-calcBorder.html
fast/table/crash-empty-section-fixed-layout-calcArray.html
The refactoring in r98738 changed the way we handle the size to avoid throwing off
the memory. The new logic would end up never shrinking the grid's size (prior to that
we would grow to the appropriate size and throw the excess capacity with shrinkToFit).
Not shrinking would mean that we would potentially read RowStruct with the default values
(for instance no |rowRenderer|).
addCell will properly grow the grid as needed to accomodate the rows and the protruding
cells with a rowspan so we introduce a variable to keep track of the size needed. At the
end, we just shrink it to this size.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::recalcCells):
Introduce a variable to keep the grid size and shrink to that size to match the old code.
2011-11-01 Andrey Kosyakov <caseq@chromium.org>
[Chromium] Some media/video-*.html layout tests occasionally crash on WIN GPU
https://bugs.webkit.org/show_bug.cgi?id=71277
Reviewed by Simon Fraser.
Disabled assert() in hasVisibleDescendant() until callers are fixed.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::hasVisibleDescendant):
2011-11-01 Mike Reed <reed@google.com>
[skia] call readPixels on canvas instead of device (will be private on device soon) and check for error
https://bugs.webkit.org/show_bug.cgi?id=71284
Reviewed by Stephen White.
No new tests. This is preparing for an API change to Skia.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::getImageData):
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
2011-11-01 Andreas Kling <kling@webkit.org>
CSSStyleSheet: Operate directly on the rule vector internally.
Rubber-stamped by Antti Koivisto.
There's no need to go through the public, range-checking item() method
working on m_children. Also changed length() -> m_children.size().
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::~CSSStyleSheet):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::addRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::isLoading):
(WebCore::CSSStyleSheet::addSubresourceStyleURLs):
2011-11-01 Andreas Kling <kling@webkit.org>
CSSRule: Devirtualize addSubresourceStyleURLs()
https://bugs.webkit.org/show_bug.cgi?id=71285
Reviewed by Antti Koivisto.
Move addSubresourceStyleURLs() into the rules that actually implement it.
Add type checks and casts at the (only) call site.
* css/CSSFontFaceRule.h:
* css/CSSImportRule.h:
* css/CSSRule.h:
* css/CSSStyleRule.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::addSubresourceStyleURLs):
2011-11-01 Chris Fleizach <cfleizach@apple.com>
AX: some popup buttons not announced by VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=67743
Reviewed by Darin Adler.
Test: platform/mac/accessibility/aria-popup-buttons-on-native-elements.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2011-11-01 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Styles] Style-based CSS properties are editable and toggleable
https://bugs.webkit.org/show_bug.cgi?id=71275
Reviewed by Pavel Feldman.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection.prototype.onpopulate):
2011-11-01 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not switch panels on Cmd + -> while in console.
https://bugs.webkit.org/show_bug.cgi?id=71281
Reviewed by Yury Semikhatsky.
* inspector/front-end/InspectorView.js:
(WebInspector.InspectorView.prototype._keyDown):
2011-11-01 Zeno Albisser <zeno.albisser@nokia.com>
[Qt] bad codegen, pointer diff in JSC::JSCallbackConstructor::JSCallbackConstructor
https://bugs.webkit.org/show_bug.cgi?id=60951
Adjust symbols visibility for WebCore.
Reviewed by Simon Hausmann.
* WebCore.pro:
2011-11-01 Pavel Feldman <pfeldman@google.com>
Not reviewed: add InspectorView.js entry into WebKit.qrc
* inspector/front-end/WebKit.qrc:
2011-11-01 Pavel Feldman <pfeldman@google.com>
Web Inspector: introduce PanelContainer class, start moving panel management from inspector.js to the new class.
https://bugs.webkit.org/show_bug.cgi?id=71272
Reviewed by Yury Semikhatsky.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/Drawer.js:
(WebInspector.Drawer.prototype.show.animationFinished):
(WebInspector.Drawer.prototype.show):
(WebInspector.Drawer.prototype.hide):
(WebInspector.Drawer.prototype._statusBarDragging):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.switchToAndFocus):
(WebInspector.ElementsPanel.prototype.revealAndSelectNode):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.setVisible):
* inspector/front-end/InspectorView.js: Added.
(WebInspector.InspectorView):
(WebInspector.InspectorView.prototype.addPanel):
(WebInspector.InspectorView.prototype.currentPanel):
(WebInspector.InspectorView.prototype._keyDown):
(WebInspector.InspectorView.prototype._canGoBackInHistory):
(WebInspector.InspectorView.prototype._goBackInHistory):
(WebInspector.InspectorView.prototype._canGoForwardInHistory):
(WebInspector.InspectorView.prototype._goForwardInHistory):
(WebInspector.InspectorView.prototype._pushToHistory):
* inspector/front-end/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut.eventHasCtrlOrMeta):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.show):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype.updateSearchMatchesCount):
(WebInspector.SearchController.prototype.updateCurrentMatchIndex):
(WebInspector.SearchController.prototype.updateSearchLabel):
(WebInspector.SearchController.prototype.handleShortcut):
(WebInspector.SearchController.prototype._performSearch):
* inspector/front-end/Toolbar.js:
(WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
(WebInspector.Toolbar.createPanelToolbarItem):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._createPanels):
(WebInspector._panelSelected):
(WebInspector.addPanel):
(WebInspector.windowResize):
(WebInspector.documentKeyDown):
(WebInspector.documentCanCopy):
(WebInspector.documentCopy):
(WebInspector.showPanel):
(WebInspector.startUserInitiatedDebugging):
(WebInspector.inspect):
(WebInspector._showAnchorLocationInPanel):
(WebInspector._toolbarItemClicked):
* inspector/front-end/treeoutline.js:
(TreeElement.prototype.select):
2011-11-01 Simon Hausmann <simon.hausmann@nokia.com>
[WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
https://bugs.webkit.org/show_bug.cgi?id=71274
Reviewed by Kenneth Christiansen.
* features.pri: Enable GESTURE_EVENTS.
2011-11-01 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98847.
http://trac.webkit.org/changeset/98847
https://bugs.webkit.org/show_bug.cgi?id=71268
"Debugger test failures on multiple platforms" (Requested by
yurys on #webkit).
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype._addScript):
(WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
(WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
(WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
(WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping):
* inspector/front-end/Script.js:
(WebInspector.Script.prototype.editSource):
2011-10-30 Filip Pizlo <fpizlo@apple.com>
The GC should be parallel
https://bugs.webkit.org/show_bug.cgi?id=70995
Reviewed by Geoff Garen.
Added parallel tracing to the GC. This required loosening some assertions,
since some code may now be called from outside the main thread.
No new tests, since no behavior was changed.
* platform/TreeShared.h:
(WebCore::TreeShared::parent):
2011-10-31 Andy Estes <aestes@apple.com>
Document pointer not null-checked in FrameView::isOnActivePage()
https://bugs.webkit.org/show_bug.cgi?id=71265
<rdar://problem/10374427>
Reviewed by Dan Bernstein.
Return false in FrameView::isOnActivePage() if m_frame->document() is
null. Other calls to m_frame->document() in FrameView also have a null
check. The frame can have a null document if the FrameLoader is loading
the initial empty document.
No test possible without triggering assertions in debug builds. This is
tracked by <http://webkit.org/b/71264>.
* page/FrameView.cpp:
(WebCore::FrameView::isOnActivePage):
2011-10-31 Jeremy Apthorp <jeremya@google.com>
Fix a crash relating to anonymous block merging in
RenderFullScreen::unwrapRenderer.
https://bugs.webkit.org/show_bug.cgi?id=70705
Reviewed by Simon Fraser.
Test: fullscreen/anonymous-block-merge-crash.html
* rendering/RenderFullScreen.cpp:
(RenderFullScreen::unwrapRenderer):
2011-10-31 Dave Michael <dmichael@chromium.org>
V8MessageEvent::dataAccessorGetter does not return a reference to its caller
https://bugs.webkit.org/show_bug.cgi?id=71229
Reviewed by Adam Barth.
Test: fast/events/dispatch-message-string-data.html
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter):
2011-10-31 Renata Hodovan <reni@webkit.org>
[Qt] Build fix after r98853.
Rubber-stamped by Andreas Kling.
* xml/XSLImportRule.cpp:
* xml/XSLImportRule.h:
(WebCore::XSLImportRule::parentStyleSheet):
2011-10-31 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::defaultValue
https://bugs.webkit.org/show_bug.cgi?id=71146
Reviewed by Sam Weinig.
No new tests.
Added defaultValue to the MethodTable. Replaced all virtual versions of
defaultValue with static versions. Replaced all call sites with lookups in the
MethodTable.
* WebCore.exp.in:
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::defaultValue):
* bridge/runtime_object.h:
2011-10-31 Levi Weintraub <leviw@chromium.org>
Switch RoundedRect back to integers
https://bugs.webkit.org/show_bug.cgi?id=71238
Reviewed by Darin Adler.
Changing RoundedRect back to ints from LayoutUnits. As further testing has shown, this graphics-
focused class should maintain values aligned to pixel boundaries, and therefor kept as integers.
No new tests -- no change in behavior.
* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::Radii::scale):
(WebCore::RoundedRect::Radii::expand):
(WebCore::RoundedRect::inflateWithRadii):
(WebCore::RoundedRect::Radii::excludeLogicalEdges):
(WebCore::RoundedRect::RoundedRect):
* platform/graphics/RoundedRect.h:
(WebCore::RoundedRect::Radii::Radii):
(WebCore::RoundedRect::Radii::setTopLeft):
(WebCore::RoundedRect::Radii::setTopRight):
(WebCore::RoundedRect::Radii::setBottomLeft):
(WebCore::RoundedRect::Radii::setBottomRight):
(WebCore::RoundedRect::Radii::topLeft):
(WebCore::RoundedRect::Radii::topRight):
(WebCore::RoundedRect::Radii::bottomLeft):
(WebCore::RoundedRect::Radii::bottomRight):
(WebCore::RoundedRect::Radii::expand):
(WebCore::RoundedRect::Radii::shrink):
(WebCore::RoundedRect::rect):
(WebCore::RoundedRect::setRect):
(WebCore::RoundedRect::move):
(WebCore::RoundedRect::inflate):
(WebCore::RoundedRect::expandRadii):
(WebCore::RoundedRect::shrinkRadii):
* rendering/svg/SVGRenderSupport.h: Adding missing LayoutTypes.h include
2011-10-31 Peter Kasting <pkasting@google.com>
https://bugs.webkit.org/show_bug.cgi?id=70666
BitmapImage::dataChanged() needs to clear all incomplete frames.
Reviewed by James Robinson.
No tests, as I don't know of a way to send an image to the renderer in
small pieces (with script run between pieces no less).
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::dataChanged):
2011-10-31 Levi Weintraub <leviw@chromium.org>
Amend missing uses of LayoutUnits in RenderApplet, Button, and DeprecatedFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=71243
Reviewed by Eric Seidel.
Replacing remaining integer uses with LayoutUnits in the aforementioned classes.
No new tests -- no change in behavior.
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::intrinsicSize):
(WebCore::RenderApplet::createWidgetIfNecessary):
* rendering/RenderApplet.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::controlClipRect):
* rendering/RenderButton.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::marginWidthForChild):
(WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
* rendering/RenderDeprecatedFlexibleBox.h:
2011-10-31 Tommy Widenflycht <tommyw@google.com>
[Chromium] Media Stream API: add the Chromium WebKit interfaces
https://bugs.webkit.org/show_bug.cgi?id=58550
Changes the PeerHandler platform interface so that embedders can more easily use it.
Reviewed by Darin Fisher.
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* mediastream/PeerConnection.cpp:
(WebCore::PeerConnection::PeerConnection):
(WebCore::PeerConnection::didCompleteICEProcessing):
(WebCore::PeerConnection::didGenerateSDP):
(WebCore::PeerConnection::didReceiveDataStreamMessage):
(WebCore::PeerConnection::didAddRemoteStream):
(WebCore::PeerConnection::didRemoveRemoteStream):
* mediastream/PeerConnection.h:
* platform/mediastream/PeerConnectionHandlerClient.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
(WebCore::PeerConnectionHandlerClient::~PeerConnectionHandlerClient):
* platform/mediastream/chromium/PeerConnectionHandler.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.h.
* platform/mediastream/gstreamer/PeerConnectionHandler.cpp: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
(WebCore::PeerConnectionHandler::create):
(WebCore::PeerConnectionHandler::PeerConnectionHandler):
(WebCore::PeerConnectionHandler::~PeerConnectionHandler):
(WebCore::PeerConnectionHandler::produceInitialOffer):
(WebCore::PeerConnectionHandler::handleInitialOffer):
(WebCore::PeerConnectionHandler::processSDP):
(WebCore::PeerConnectionHandler::processPendingStreams):
(WebCore::PeerConnectionHandler::sendDataStreamMessage):
(WebCore::PeerConnectionHandler::stop):
* platform/mediastream/gstreamer/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerHandler.h.
Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
2011-10-31 Adam Roben <aroben@apple.com>
Fix linker warnings on Windows
* WebCore.vcproj/WebCore.vcproj: Exclude SpellingCorrectionCommand.cpp and
JSRequestAnimationFrameCallback.cpp from all configurations. They are already getting
compiled via *AllInOne.cpp files.
2011-10-31 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
[GStreamer] Don't use GOwnPtr for ref-counted objects
https://bugs.webkit.org/show_bug.cgi?id=71042
Reviewed by Martin Robinson.
* CMakeListsEfl.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Removed.
* platform/graphics/gstreamer/GOwnPtrGStreamer.h: Removed.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
2011-10-28 Nat Duca <nduca@chromium.org>
[chromium] Connect CCThreadProxy to FrameRateController and SchedulerStateMachine via CCScheduler
https://bugs.webkit.org/show_bug.cgi?id=71100
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
(WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCLayerTreeHostClient::didCommitAndDrawFrame):
(WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCSchedulerFrameRateControllerClientAdapter::create):
(WebCore::CCSchedulerFrameRateControllerClientAdapter::~CCSchedulerFrameRateControllerClientAdapter):
(WebCore::CCSchedulerFrameRateControllerClientAdapter::beginFrame):
(WebCore::CCSchedulerFrameRateControllerClientAdapter::CCSchedulerFrameRateControllerClientAdapter):
(WebCore::CCScheduler::CCScheduler):
(WebCore::CCScheduler::~CCScheduler):
(WebCore::CCScheduler::setNeedsAnimate):
(WebCore::CCScheduler::setNeedsCommit):
(WebCore::CCScheduler::setNeedsRedraw):
(WebCore::CCScheduler::beginFrameComplete):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didSwapBuffersAbort):
(WebCore::CCScheduler::onBeginFrame):
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(WebCore::CCScheduler::create):
(WebCore::CCScheduler::commitPending):
(WebCore::CCScheduler::redrawPending):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
(WebCore::CCSchedulerStateMachine::beginUpdateMoreResourcesComplete):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
(WebCore::CCSchedulerStateMachine::redrawPending):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::doCommit):
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
* platform/graphics/chromium/cc/CCTextureUpdater.cpp:
(WebCore::CCTextureUpdater::hasMoreUpdates):
* platform/graphics/chromium/cc/CCTextureUpdater.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::requestReadbackOnImplThread):
(WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
(WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
(WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrameAndCommit):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::hasMoreResourceUpdates):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
(WebCore::CCThreadProxy::scheduledActionCommit):
(WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
(WebCore::CCThreadProxy::didCommitAndDrawFrame):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-10-31 Nate Chapin <japhet@chromium.org>
Rename the remaining uses of Cue in WebCore/loader/
to TextTrack.
https://bugs.webkit.org/show_bug.cgi?id=71231
Reviewed by Eric Carlson.
No new tests, strictly a renaming.
* loader/TextTrackLoader.cpp:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedResourceRequest.cpp:
* loader/cache/CachedTextTrack.cpp:
* platform/network/chromium/ResourceRequest.h:
2011-10-27 Adam Klein <adamk@chromium.org>
[MutationObservers] Support characterDataOldValue for characterData mutations
https://bugs.webkit.org/show_bug.cgi?id=70862
Reviewed by Ojan Vafai.
* dom/CharacterData.cpp:
(WebCore::hasOldValue):
(WebCore::isOldValueRequested):
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/MutationRecord.cpp:
(WebCore::MutationRecord::createCharacterData):
* dom/MutationRecord.h:
2011-10-31 Sam Weinig <sam@webkit.org>
Remove need for virtual JSObject::unwrappedObject
https://bugs.webkit.org/show_bug.cgi?id=71034
Reviewed by Geoffrey Garen.
Move the member containing the global object from the JSDOMWindowShell
down to the JSGlobalThis class, and update JSDOMWindowShell to go through
an inline helper (which just casts) to get the window.
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::setWindow):
(WebCore::JSDOMWindowShell::className):
(WebCore::JSDOMWindowShell::getOwnPropertySlot):
(WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
(WebCore::JSDOMWindowShell::put):
(WebCore::JSDOMWindowShell::putWithAttributes):
(WebCore::JSDOMWindowShell::defineOwnProperty):
(WebCore::JSDOMWindowShell::deleteProperty):
(WebCore::JSDOMWindowShell::getPropertyNames):
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
(WebCore::JSDOMWindowShell::defineGetter):
(WebCore::JSDOMWindowShell::defineSetter):
(WebCore::JSDOMWindowShell::lookupGetter):
(WebCore::JSDOMWindowShell::lookupSetter):
(WebCore::JSDOMWindowShell::impl):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::window):
(WebCore::JSDOMWindowShell::setWindow):
(WebCore::JSDOMWindowShell::createStructure):
2011-10-29 Ryosuke Niwa <rniwa@webkit.org>
WebKit nests pre on copy and paste when the pre is the root editable element
https://bugs.webkit.org/show_bug.cgi?id=70800
Reviewed by Darin Adler.
Fixed the bug by removing nested block elements in removeRedundantStylesAndKeepStyleSpanInline.
Tests: editing/pasteboard/contenteditable-pre-2.html
editing/pasteboard/contenteditable-pre.html
* editing/ApplyStyleCommand.cpp:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Remove block
elements if it's identical to its parent and there are no contents between the two. Also remove
contenteditable attribute from an element if the parent is already richly editable.
(WebCore::ReplaceSelectionCommand::doApply): Remove redundant styles after removing the placeholder
br so that the above check doesn't get affected by the placeholder.
* editing/htmlediting.cpp:
(WebCore::areIdenticalElements): Moved from ApplyStyleCommand.
(WebCore::isNonTableCellHTMLBlockElement): Moved from markup.cpp.
* editing/htmlediting.h:
* editing/markup.cpp:
2011-10-31 Vineet Chaudhary <vineet.chaudhary@motorola.com>
text/plain form encoding ignored and incorrectly specified in request header.
https://bugs.webkit.org/show_bug.cgi?id=20795
Reviewed by Darin Adler.
This patch fixes the behaviour of forms where enctype is set to
text/plain, encoding is also text/plain.
Tests: fast/forms/form-get-textplain.html
http/tests/misc/form-post-textplain.html
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* platform/network/FormData.cpp:
(WebCore::FormData::create):
(WebCore::FormData::appendKeyValuePairItems):
* platform/network/FormData.h:
(WebCore::FormData::parseEncodingType):
* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::addKeyValuePairAsFormData): Modified encoding scheme for text/plain.
* platform/network/FormDataBuilder.h:
2011-10-31 John Gregg <johnnyg@google.com>
RenderImage.cpp calls SVGImage even if it's not defined
https://bugs.webkit.org/show_bug.cgi?id=71247
This fixes a compile error when ENABLE_SVG=0.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::embeddedContentBox):
2011-10-31 Pavel Podivilov <podivilov@chromium.org>
Update XMLHttpRequest.send idl declaration to match implementation.
https://bugs.webkit.org/show_bug.cgi?id=71121
Reviewed by Adam Barth.
* xml/XMLHttpRequest.idl:
2011-10-31 Anders Carlsson <andersca@apple.com>
More work on making plug-ins work better with transforms
https://bugs.webkit.org/show_bug.cgi?id=71241
Reviewed by Darin Adler.
Export symbols used by WebKit2.
* WebCore.exp.in:
2011-10-31 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSObject::defineGetter
https://bugs.webkit.org/show_bug.cgi?id=71134
Reviewed by Darin Adler.
No new tests.
Added defineGetter to the MethodTable. Replaced all virtual versions of defineGetter
with static versions. Replaced all call sites with lookups in the MethodTable.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineGetter):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::defineGetter):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::defineGetter):
(WebCore::JSLocationPrototype::defineGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
2011-10-31 Arko Saha <arko@motorola.com>
Microdata: Support for itemid attribute.
https://bugs.webkit.org/show_bug.cgi?id=71007
Reviewed by Ryosuke Niwa.
itemid attribute: To give a global identifier for the Microdata items.
The itemid attribute, if specified, must have a value that is a valid URL potentially
surrounded by spaces.
Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#attr-itemid
Tests: fast/dom/MicroData/itemid-attribute-test.html
fast/dom/MicroData/itemid-must-see-resolved-url.html
* html/HTMLElement.idl:
2011-10-31 Yury Semikhatsky <yurys@chromium.org>
window.onerror doesn't work with inline (attribute) scripts
https://bugs.webkit.org/show_bug.cgi?id=70991
Uncaught syntax errors in inline event handlers are now reported to
window.onerror handler.
Reviewed by Geoffrey Garen.
Tests: fast/events/window-onerror-exception-in-attr.html
fast/events/window-onerror-syntax-error-in-attr.html
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction): report exception as usual
if it happens during event handler compilation.
2011-10-31 Emil A Eklund <eae@chromium.org>
Overridden LayoutRect method still uses IntRects
https://bugs.webkit.org/show_bug.cgi?id=71166
Reviewed by Eric Seidel.
Change all virtual controlClipRect, windowResizerRect, windowClipRect,
visibleContentRect, scrollCornerRect, outlineBoundsForRepaint and
localCaretRect functions to have the same signature.
* page/FrameView.cpp:
(WebCore::FrameView::windowClipRect):
(WebCore::FrameView::windowClipRectForLayer):
(WebCore::FrameView::windowResizerRect):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::wheelEvent):
* platform/ScrollView.h:
* platform/ScrollableArea.h:
* rendering/RenderButton.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::visibleContentRect):
* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localCaretRect):
* rendering/RenderObject.h:
(WebCore::RenderObject::outlineBoundsForRepaint):
* rendering/RenderText.cpp:
(WebCore::RenderText::localCaretRect):
(WebCore::RenderText::linesBoundingBox):
* rendering/RenderText.h:
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect):
* rendering/svg/RenderSVGInlineText.h:
2011-10-31 Dmitry Lomov <dslomov@google.com>
https://bugs.webkit.org/show_bug.cgi?id=70658
[JSC] Implement MessagePort transfer in JSC bindings implementation of webkitPostMessage.
Transfer of MessagePorts implemented.
Reviewed by David Levin.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):
2011-10-31 Andreas Kling <kling@webkit.org>
CSSRule: Devirtualize insertedIntoParent()
https://bugs.webkit.org/show_bug.cgi?id=71223
Reviewed by Antti Koivisto.
Moved insertedIntoParent() down into CSSImportRule and renamed it to
requestStyleSheet(). CSSImportRule is the only user of this function.
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::requestStyleSheet):
* css/CSSImportRule.h:
* css/CSSRule.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::append):
(WebCore::CSSStyleSheet::insertRule):
2011-10-31 Anna Cavender <annacc@chromium.org>
Implement load notification and events for <track>.
https://bugs.webkit.org/show_bug.cgi?id=71054
Reviewed by Eric Carlson.
Tests: media/track/track-load-error-readyState.html
media/track/track-load-from-element-readyState.html
media/track/track-load-from-src-readyState.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::trackWasAdded):
(WebCore::HTMLMediaElement::trackWillBeRemoved):
(WebCore::HTMLMediaElement::trackSourceChanged):
* html/HTMLMediaElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedIntoTree):
(WebCore::HTMLTrackElement::willRemove):
(WebCore::HTMLTrackElement::parseMappedAttribute):
(WebCore::HTMLTrackElement::attributeChanged):
* html/HTMLTrackElement.h:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::cueLoadingCompleted):
2011-10-31 Andreas Kling <kling@webkit.org>
CSSRule: Devirtualize type() and isFooRule()
https://bugs.webkit.org/show_bug.cgi?id=71221
Reviewed by Antti Koivisto.
Store the rule type in a CSSRule member (packed with the parent-is-rule flag)
and let the isFooRule() functions return type() == FOO_TYPE.
CSSPageRule will no longer return true for isStyleRule(), tweaked call sites
accordingly.
* css/CSSCharsetRule.cpp:
(WebCore::CSSCharsetRule::CSSCharsetRule):
* css/CSSCharsetRule.h:
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::CSSFontFaceRule):
* css/CSSFontFaceRule.h:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::CSSImportRule):
* css/CSSImportRule.h:
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::CSSMediaRule):
* css/CSSMediaRule.h:
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::CSSPageRule):
* css/CSSPageRule.h:
* css/CSSRegionStyleRule.cpp:
(WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
* css/CSSRegionStyleRule.h:
* css/CSSRule.h:
(WebCore::CSSRule::type):
(WebCore::CSSRule::isCharsetRule):
(WebCore::CSSRule::isFontFaceRule):
(WebCore::CSSRule::isKeyframeRule):
(WebCore::CSSRule::isKeyframesRule):
(WebCore::CSSRule::isMediaRule):
(WebCore::CSSRule::isPageRule):
(WebCore::CSSRule::isStyleRule):
(WebCore::CSSRule::isRegionStyleRule):
(WebCore::CSSRule::isImportRule):
(WebCore::CSSRule::CSSRule):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::CSSStyleRule):
* css/CSSStyleRule.h:
* css/CSSStyleSelector.cpp:
(WebCore::RuleSet::addPageRule):
(WebCore::RuleSet::addRulesFromSheet):
(WebCore::RuleSet::addStyleRule):
* css/CSSUnknownRule.h:
(WebCore::CSSUnknownRule::CSSUnknownRule):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
* css/WebKitCSSKeyframeRule.h:
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
* css/WebKitCSSKeyframesRule.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::asCSSStyleRule):
2011-10-31 Pavel Feldman <pfeldman@google.com>
Not reviewed: reorder inspector js files to fix remote mode.
* inspector/front-end/inspector.html:
2011-10-28 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [refactoring] TextPrompt: ensure encapsulation, extract history management
https://bugs.webkit.org/show_bug.cgi?id=70936
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView):
(WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._attributesModified):
(WebInspector.StylePropertyTreeElement.prototype.selectElement):
(WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
(WebInspector.StylePropertyTreeElement.prototype.selectElement.event):
(WebInspector.StylePropertyTreeElement.prototype):
(WebInspector.StylePropertyTreeElement.prototype.context.event):
():
* inspector/front-end/TextPrompt.js:
(WebInspector.TextPrompt):
(WebInspector.TextPrompt.prototype.get proxyElement):
(WebInspector.TextPrompt.prototype.attach):
(WebInspector.TextPrompt.prototype.attachAndStartEditing):
(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype.detach):
(WebInspector.TextPrompt.prototype.get text):
(WebInspector.TextPrompt.prototype.set text):
(WebInspector.TextPrompt.prototype._removeFromElement):
(WebInspector.TextPrompt.prototype._startEditing):
(WebInspector.TextPrompt.prototype._stopEditing):
(WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
(WebInspector.TextPrompt.prototype._selectStart):
(WebInspector.TextPrompt.prototype.defaultKeyHandler):
(WebInspector.TextPrompt.prototype._onKeyDown):
(WebInspector.TextPrompt.prototype.clearAutoComplete):
(WebInspector.TextPrompt.prototype.complete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.isCaretInsidePrompt):
(WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
(WebInspector.TextPrompt.prototype.isCaretOnFirstLine):
(WebInspector.TextPrompt.prototype.isCaretOnLastLine):
(WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
(WebInspector.TextPrompt.prototype.upKeyPressed):
(WebInspector.TextPrompt.prototype.downKeyPressed):
(WebInspector.TextPrompt.prototype.tabKeyPressed):
(WebInspector.TextPromptConfig):
(WebInspector.TextPromptWithHistory):
(WebInspector.TextPromptWithHistory.prototype.get historyData):
(WebInspector.TextPromptWithHistory.prototype.setHistoryData):
(WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
(WebInspector.TextPromptWithHistory.prototype._pushCurrentText):
(WebInspector.TextPromptWithHistory.prototype._previous):
(WebInspector.TextPromptWithHistory.prototype._next):
(WebInspector.TextPromptWithHistory.prototype._currentHistoryItem):
(WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
2011-10-31 Pavel Feldman <pfeldman@google.com>
Web Inspector: move localization support into UIUtil.js, reduce externs.
https://bugs.webkit.org/show_bug.cgi?id=71220
Reviewed by Yury Semikhatsky.
* inspector/compile-front-end.sh:
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.SearchView.prototype.focus):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.afterShow):
* inspector/front-end/Drawer.js:
* inspector/front-end/GoToLineDialog.js:
(WebInspector.GoToLineDialog.prototype._hide):
* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreen.prototype.show):
(WebInspector.HelpScreen.prototype.hide):
(WebInspector.HelpScreen.prototype._onBlur):
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/KeyboardShortcut.js:
(WebInspector.KeyboardShortcut._keyName):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.wasShown):
* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype._onSearchFieldManualFocus):
(WebInspector.SearchController.prototype._onKeyDown):
* inspector/front-end/Settings.js:
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
* inspector/front-end/Toolbar.js:
(WebInspector.Toolbar.prototype._toolbarDragStart):
* inspector/front-end/UIUtils.js:
(WebInspector.startEditing.cleanUpAfterEditing):
(WebInspector.startEditing.var):
(WebInspector.startEditing):
(WebInspector.UIString):
(WebInspector.useLowerCaseMenuTitles):
(WebInspector.platform):
(WebInspector.isMac):
(WebInspector.platformFlavor):
(WebInspector.port):
(WebInspector.installPortStyles):
(WebInspector._windowFocused):
(WebInspector._windowBlurred):
(WebInspector.previousFocusElement):
(WebInspector.currentFocusElement):
(WebInspector._focusChanged):
(WebInspector.setCurrentFocusElement):
* inspector/front-end/externs.js:
(Event.prototype.initWebKitWheelEvent):
(window.getComputedStyle):
(InspectorBackend.runAfterPendingDispatches):
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):
(WebInspector.addMainEventListeners):
2011-10-31 Andreas Kling <kling@webkit.org>
Kill StyleBase.
https://bugs.webkit.org/show_bug.cgi?id=71218
Reviewed by Antti Koivisto.
Remove the StyleBase class and make all subclasses stand alone. CSSRule and StyleSheet
now inherit from RefCounted<T> instead, and XSLImportRule doesn't even need that,
so StyleBase is replaced by nothing.
* css/StyleBase.cpp:
* css/StyleBase.h:
Removed.
* css/CSSRule.cpp:
* css/CSSRule.h:
(WebCore::CSSRule::~CSSRule):
(WebCore::CSSRule::useStrictParsing):
(WebCore::CSSRule::setParentStyleSheet):
(WebCore::CSSRule::setParentRule):
(WebCore::CSSRule::parentStyleSheet):
(WebCore::CSSRule::parentRule):
(WebCore::CSSRule::baseURL):
(WebCore::CSSRule::CSSRule):
CSSRule now inherits directly from RefCounted, and has either a CSSRule or a
CSSStyleSheet as its parent. Made these getters/setters inline since they are
trivial now.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Purge StyleBase.* from the build systems.
* bindings/js/JSDOMBinding.h:
(WebCore::root):
New root() functions for CSSRule and StyleSheet.
* bindings/js/JSNodeCustom.h:
Remove StyleBase.h include.
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::parentStyleSheet):
Added CSS-specific parentStyleSheet() so we don't have to cast it to a
CSSStyleSheet* at the call sites.
* css/StyleSheet.cpp:
(WebCore::StyleSheet::StyleSheet):
(WebCore::StyleSheet::parentStyleSheet):
(WebCore::StyleSheet::baseURL):
* css/StyleSheet.h:
(WebCore::StyleSheet::parentRule):
(WebCore::StyleSheet::setParentRule):
(WebCore::StyleSheet::isCSSStyleSheet):
(WebCore::StyleSheet::isXSLStyleSheet):
StyleSheet now inherits directly from RefCounted and always has a parent CSSRule
though it can be null. parentStyleSheet() returns that rule's parent style sheet.
Moved the relevant guts from StyleBase down here.
* loader/cache/CachedStyleSheetClient.h:
Remove unnecessary WTF_MAKE_FAST_ALLOCATED, we get it from CachedResourceClient.
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::XSLImportRule):
(WebCore::XSLImportRule::~XSLImportRule):
(WebCore::XSLImportRule::parentStyleSheet):
(WebCore::XSLImportRule::setXSLStyleSheet):
(WebCore::XSLImportRule::loadSheet):
* xml/XSLImportRule.h:
(WebCore::XSLImportRule::create):
(WebCore::XSLImportRule::setParentStyleSheet):
Remove inheritance from StyleBase, and have create() return a PassOwnPtr instead.
This is fine, since XSLStyleSheet is the only object that ever manages these rules.
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::insertedIntoDocument):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::~CSSStyleSheet):
(WebCore::CSSStyleSheet::ownerRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::checkLoaded):
(WebCore::CSSStyleSheet::document):
(WebCore::CSSStyleSheet::styleSheetChanged):
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::~CSSImportRule):
(WebCore::CSSImportRule::setCSSStyleSheet):
(WebCore::CSSImportRule::insertedIntoParent):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::CSSMediaRule):
(WebCore::CSSMediaRule::~CSSMediaRule):
(WebCore::CSSMediaRule::append):
(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
* css/CSSRegionStyleRule.cpp:
(WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
(WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::deleteRule):
* css/CSSStyleDeclaration.h:
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::append):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::parseStyleSheet):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::parentStyleSheet):
* xml/XSLStyleSheet.h:
* xml/XSLStyleSheetLibxslt.cpp:
(WebCore::XSLStyleSheet::XSLStyleSheet):
(WebCore::XSLStyleSheet::~XSLStyleSheet):
(WebCore::XSLStyleSheet::checkLoaded):
(WebCore::XSLStyleSheet::loadChildSheet):
* xml/XSLStyleSheetQt.cpp:
(WebCore::XSLStyleSheet::~XSLStyleSheet):
Use the new, more explicit, parenting functions of StyleSheet.
2011-10-31 Nikolas Zimmermann <nzimmermann@rim.com>
CSS 2.1 failure: background-intrinsic-*
https://bugs.webkit.org/show_bug.cgi?id=47156
SVGs do not work as tiled background images
https://bugs.webkit.org/show_bug.cgi?id=16281
Apply preserveAspectRatio and synthesize viewboxes in <img>
https://bugs.webkit.org/show_bug.cgi?id=34521
SVG background doesn't resize properly when dimensions are changed
https://bugs.webkit.org/show_bug.cgi?id=42944
Images with percent height inside a floated div should use intrinsic height.
https://bugs.webkit.org/show_bug.cgi?id=45439
SVG image in HTML changes size as the window is resized
https://bugs.webkit.org/show_bug.cgi?id=52045
Reviewed by Antti Koivisto.
Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
Tests: css2.1/20110323/background-intrinsic-001.htm
css2.1/20110323/background-intrinsic-002.htm
css2.1/20110323/background-intrinsic-003.htm
css2.1/20110323/background-intrinsic-004.htm
css2.1/20110323/background-intrinsic-005.htm
css2.1/20110323/background-intrinsic-006.htm
css2.1/20110323/background-intrinsic-007.htm
css2.1/20110323/background-intrinsic-008.htm
css2.1/20110323/background-intrinsic-009.htm
svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
svg/as-background-image/same-image-two-instances-background-image.html
svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
svg/as-image/same-image-two-instances.html
svg/as-image/svg-as-relative-image-with-explicit-size.html
svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
svg/zoom/page/zoom-svg-as-image.html
svg/zoom/page/zoom-svg-as-relative-image.html
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::addClient): Pass default zoom factor.
(WebCore::CSSImageGeneratorValue::getImage): Ditto.
* loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
(WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
(WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
(WebCore::CachedImage::imageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
(WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
(WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
(WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
* loader/cache/CachedImage.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
* platform/graphics/Image.h:
(WebCore::Image::setImageObserver): Add helper.
* rendering/ImageBySizeCache.cpp: Cleanup code.
(WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
(WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
(WebCore::ImageBySizeCache::getImage): Add zoom parameter.
(WebCore::ImageBySizeCache::getRequestedSizeAndZoom): Add way to get requested size from cache, instead of actual cached sizes.
(WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
(WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
* rendering/ImageBySizeCache.h: Cleaup code, introduce struct that replaces the std::pair<IntSize, int>.
(WebCore::SizeZoomAndCount::SizeZoomAndCount):
* rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
(WebCore::resolveWidthForRatio): New inline helper function used by calculateImageIntrinsicDimensions.
(WebCore::resolveHeightForRatio): Ditto.
(WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
(WebCore::resolveAgainstIntrinsicRatio): Ditto.
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
(WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
(WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
* rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
(WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
(WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
(WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
(WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
(WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
(WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
* rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
* rendering/RenderImageResourceStyleImage.cpp:
(WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
(WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
* rendering/RenderImageResourceStyleImage.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
(WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
(WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
* rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
* rendering/style/StyleGeneratedImage.h:
(WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
* rendering/style/StyleImage.h: Ditto.
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
* rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
(WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
(WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
(WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize.
(WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
* rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
(WebCore::RenderSVGRoot::containerSize):
(WebCore::RenderSVGRoot::setContainerSize):
* svg/SVGLength.cpp:
(WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
* svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
(WebCore::SVGSVGElement::SVGSVGElement): Ditto.
(WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
(WebCore::SVGImage::createWithDataAndSize): Add new helper function.
(WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
(WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
(WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
(WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
(WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
(WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation.
(WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
* svg/graphics/SVGImage.h:
2011-10-31 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Add ResourcePreviewView.js to the list of inspector front-end
files on Qt.
* inspector/front-end/WebKit.qrc:
2011-10-31 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not map scripts generated with document.write to the document resources.
https://bugs.webkit.org/show_bug.cgi?id=71114
Reviewed by Yury Semikhatsky.
Test: inspector/debugger/bind-script-to-resource.html
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel):
(WebInspector.DebuggerPresentationModel.prototype._addScript):
(WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
(WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
(WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
(WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
(WebInspector.RawSourceCode.prototype._createSourceMapping):
* inspector/front-end/Script.js:
2011-10-31 Antti Koivisto <antti@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=71012
Use StringHasher to generate the matched declaration cache hash
Reviewed by Sam Weinig.
Make sure the MatchedStyleDeclarations are fully zero-initialized as we calculate a hash over a raw memory array of these.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::MatchedStyleDeclaration::MatchedStyleDeclaration):
(WebCore::CSSStyleSelector::addMatchedDeclaration):
* css/CSSStyleSelector.h:
2011-10-31 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck build.
* GNUmakefile.am: Add InFilesCompiler.pm to SCRIPTS_BINDINGS and
EXTRA_DIST. Also remove duplicated entries in EXTRA_DIST.
2011-10-31 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: factor out ResourceUtils, clean up externs.
https://bugs.webkit.org/show_bug.cgi?id=71192
Reviewed by Yury Semikhatsky.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.sh:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
* inspector/front-end/DebuggerPresentationModel.js:
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/Resource.js:
(WebInspector.Resource.displayName):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._createResource):
* inspector/front-end/ResourceUtils.js: Added.
(WebInspector.resourceForURL):
(WebInspector.forAllResources):
(WebInspector.displayNameForURL):
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
(WebInspector.registerLinkifierPlugin):
(WebInspector.linkifyStringAsFragment):
(WebInspector.linkifyURLAsNode):
(WebInspector.linkifyURL):
(WebInspector.formatLinkText):
(WebInspector.linkifyResourceAsNode):
(WebInspector.resourceURLForRelatedNode.callback):
(WebInspector.resourceURLForRelatedNode):
(WebInspector.populateHrefContextMenu):
(WebInspector.completeURL):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.selectElement):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.networkResourceById):
* inspector/front-end/utilities.js:
(setupPrototypeUtilities.Element.prototype.selectionLeftOffset):
2011-10-28 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Using keyboard to increment/decrement units is inconsistent
https://bugs.webkit.org/show_bug.cgi?id=71119
Reviewed by Pavel Feldman.
This change makes the behavior consistent with that described at http://trac.webkit.org/wiki/WebInspector
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.alteredFloatNumber):
(WebInspector.StylesSidebarPane.prototype._attributesModified):
2011-10-29 Martin Robinson <mrobinson@igalia.com>
[GTK] Switch to a backing store approach for painting WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=70213
Reviewed by Gustavo Noronha Silva.
No new tests. The changes to WebCore should not change
behavior. The changes in WebKit are covered by existing
tests.
* platform/cairo/WidgetBackingStore.h:
(WebCore::WidgetBackingStore::size): Added this getter for the size.
* platform/cairo/WidgetBackingStoreCairo.cpp:
(WebCore::WidgetBackingStore::WidgetBackingStore): Initialize size.
* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::copyRectFromCairoSurfaceToContext): Added this new helper.
(WebCore::copyRectFromOneSurfaceToAnother): Use the new helper.
* platform/graphics/cairo/CairoUtilities.h:
* platform/gtk/GtkWidgetBackingStoreX11.cpp:
(WebCore::WidgetBackingStore::WidgetBackingStore): Initialize the size.
2011-10-30 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98803.
http://trac.webkit.org/changeset/98803
https://bugs.webkit.org/show_bug.cgi?id=71186
Causing test and assertion failures on some platforms
(Requested by anttik on #webkit).
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
2011-10-29 Mark Rowe <mrowe@apple.com>
Build fix.
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
2011-10-29 Mark Rowe <mrowe@apple.com>
Build fix.
* editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToWord):
2011-10-29 Daniel Cheng <dcheng@chromium.org>
Rename DataTransferItems to DataTransferItemList
https://bugs.webkit.org/show_bug.cgi?id=71151
Per feedback that Items and Item are hard to distinguish between, the HTML5 spec renamed
DataTransferItems to DataTransferItemList:
http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransferitemlist-interface
Reviewed by Tony Chang.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Clipboard.h:
* dom/Clipboard.idl:
* dom/DataTransferItemList.cpp: Renamed from Source/WebCore/dom/DataTransferItems.cpp.
(WebCore::DataTransferItemList::DataTransferItemList):
(WebCore::DataTransferItemList::length):
(WebCore::DataTransferItemList::item):
(WebCore::DataTransferItemList::deleteItem):
(WebCore::DataTransferItemList::clear):
(WebCore::DataTransferItemList::add):
* dom/DataTransferItemList.h: Renamed from Source/WebCore/dom/DataTransferItems.h.
(WebCore::DataTransferItemList::~DataTransferItemList):
* dom/DataTransferItemList.idl: Renamed from Source/WebCore/dom/DataTransferItems.idl.
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::items):
* platform/chromium/ClipboardChromium.h:
* platform/chromium/DataTransferItemListChromium.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
(WebCore::DataTransferItemListChromium::create):
(WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
(WebCore::DataTransferItemListChromium::addPasteboardItem):
* platform/chromium/DataTransferItemListChromium.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.h.
* platform/qt/ClipboardQt.cpp:
(WebCore::ClipboardQt::items):
* platform/qt/ClipboardQt.h:
* platform/qt/DataTransferItemListQt.cpp: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.cpp.
(WebCore::DataTransferItemListQt::create):
(WebCore::DataTransferItemListQt::DataTransferItemListQt):
(WebCore::DataTransferItemListQt::addPasteboardItem):
* platform/qt/DataTransferItemListQt.h: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.h.
2011-10-03 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: block-non-replaced-width-008.htm
https://bugs.webkit.org/show_bug.cgi?id=69278
Reviewed by Simon Fraser.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthUsing):
Include the margins in the calculation of logical width even when the containing block's
width is zero. This is required by section '10.3.3 Block-level, non-replaced elements in
normal flow' in the CSS 2.1 spec. Tested by block-non-replaced-width-008.htm in the CSS
test suite.
2011-10-29 Anna Cavender <annacc@chromium.org>
Make sure TextTracks are destructed if HTMLMediaElement goes away.
https://bugs.webkit.org/show_bug.cgi?id=71148
Reviewed by Eric Carlson.
Test: media/track/track-text-track-destructor-crash.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
Destroy the client (this) on TextTracks.
(WebCore::HTMLMediaElement::loadTextTracks):
Move TextTrack creation to loadNextTextTrack.
(WebCore::HTMLMediaElement::loadNextTextTrack):
Keep track of new TextTrack in a list.
(WebCore::HTMLMediaElement::addTrack):
Keep track of new TextTrack in a list.
* html/HTMLMediaElement.h:
Add m_textTracks and loadNextTextTrack().
2011-10-29 Jochen Eisinger <jochen@chromium.org>
Implement IDBFactory.deleteDatabase
https://bugs.webkit.org/show_bug.cgi?id=62622
Reviewed by Tony Chang.
Tests: storage/indexeddb/factory-deletedatabase-interactions.html
storage/indexeddb/factory-deletedatabase.html
* storage/IDBBackingStore.h:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::callbacks):
(WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::PendingDeleteCall):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::openConnection):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::deleteDatabase):
* storage/IDBFactory.h:
* storage/IDBFactory.idl:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::deleteDatabase):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::deleteRange):
(WebCore::IDBLevelDBBackingStore::deleteDatabase):
* storage/IDBLevelDBBackingStore.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):
2011-10-28 Robert Hogan <robert@webkit.org>
CSS 2.1 failure: dynamic-top-change-001 to 004 fail
https://bugs.webkit.org/show_bug.cgi?id=68149
Reviewed by David Hyatt.
In these tests a child inherits its top value from its parent and the parent's top value
is later updated by an onload event. The updated value is expected to cascade to the child.
The tests were failing because updating the value did not cascade immediately to the child inheriting it, though
it could be forced eventually with a full recalculation of the RenderStyle by changing the zoom factor
or opening the inspector.
The fix is to let the parent RenderStyle know that a child inherits a property explicitly and
recalculate children's style if the parent ever changes. This only happens if the property is inherited
explicitly, it does not apply to cases where the property is inherited by default.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* dom/Node.cpp:
(WebCore::Node::diff):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::setHasExplicitlyInheritedProperties):
(WebCore::InheritedFlags::hasExplicitlyInheritedProperties):
2011-10-29 Antti Koivisto <antti@apple.com>
Tighten font change conditions in matched declaration cache
https://bugs.webkit.org/show_bug.cgi?id=71026
Reviewed by Darin Adler.
We currently test if font description has changed to see if all properties need to be applied. However
only a few size related metrics can actually affect other properties. We can just test those, making
the cache somewhat more effective while also making the equality test faster.
* css/CSSStyleSelector.cpp:
(WebCore::fontDifferenceAffectsNonInherited):
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
Test for text computedSize, xHeight and orientation only. Other text properties don't affect computed
values of non-text CSS properties.
2011-10-29 Adam Barth <abarth@webkit.org>
DOMURL should keep its own state rather than storing it on ScriptExecutionContext
https://bugs.webkit.org/show_bug.cgi?id=71169
Reviewed by Eric Seidel.
This patch untwists this code. I think this code was originally
twisted because these APIs moved onto DOMURL after they were first
implemented.
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* fileapi/FileWriter.h:
* html/DOMURL.cpp:
(WebCore::DOMURL::contextDestroyed):
(WebCore::DOMURL::createObjectURL):
(WebCore::DOMURL::revokeObjectURL):
* html/DOMURL.h:
2011-10-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98795.
http://trac.webkit.org/changeset/98795
https://bugs.webkit.org/show_bug.cgi?id=71171
Causes worker tests to crash (Requested by abarth on #webkit).
* dom/ActiveDOMObject.cpp:
(WebCore::ContextDestructionObserver::contextDestroyed):
* dom/MessagePort.cpp:
(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::contextDestroyed):
* dom/MessagePort.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::closeMessagePorts):
2011-10-28 Ryosuke Niwa <rniwa@webkit.org>
Potential crash in ReplaceNodeWithSpanCommand
https://bugs.webkit.org/show_bug.cgi?id=71145
Reviewed by Ojan Vafai.
Fix a potential crash without tests because we don't have a reduction.
* editing/ReplaceNodeWithSpanCommand.cpp:
(WebCore::swapInNodePreservingAttributesAndChildren):
2011-10-28 Adam Barth <abarth@webkit.org>
MessagePort should be a ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=71167
Reviewed by Eric Seidel.
I couldn't quite get rid of all the uses of the
ScriptExecutionContext::m_messagePorts in this patch. I hope to get
rid of them in the future as the "extra data" design for
ScriptExecutionContext emerges.
* dom/ActiveDOMObject.cpp:
(WebCore::ContextDestructionObserver::contextDestroyed):
* dom/MessagePort.cpp:
(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::contextDestroyed):
* dom/MessagePort.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::closeMessagePorts):
2011-10-28 Ryosuke Niwa <rniwa@webkit.org>
The copy and paste result in nested scrollbars on http://dojotoolkit.org/widgets
https://bugs.webkit.org/show_bug.cgi?id=70799
Reviewed by Enrica Casucci.
The bug was caused by WebKit's treating a fully selected root with background property as a special common ancestor.
A variant of this bug was caused by treating any element with text-decoration property as a presentational element.
Fixed the above two bugs by not serializing the said nodes. The effective background color was already serialized
by wrappingStyleForSerialization, there was nothing to be done besides stop including it in highestAncestorToWrapMarkup.
For text-decoration property, added the logic to compute the effective value in EditingStyle::init. Also treat it
as a non-inheritable editing property so that the rest of EditingStyle just works.
Test: editing/pasteboard/avoid-copying-body-with-background.html
* editing/EditingStyle.cpp: Added CSSPropertyTextDecoration to the list of editing properties.
(WebCore::copyEditingProperties):
(WebCore::EditingStyle::init): Compute the effective text decoration when propertiesToInclude is
EditingPropertiesInEffect.
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::mergeInlineStyleOfElement):
(WebCore::EditingStyle::wrappingStyleForSerialization):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
* editing/EditingStyle.h: Renamed EditingInheritablePropertiesAndBackgroundColorInEffect to
EditingPropertiesInEffect.
* editing/markup.cpp:
(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): Removed an assertion that's no longer valid.
(WebCore::isElementPresentational): Don't consider an element with text-decoration as a presentational element.
(WebCore::highestAncestorToWrapMarkup): Don't consider fully selected root as a special common ancestor ever.
Background color is computed property when we compute the wrapping style.
(WebCore::createMarkup):
2011-10-28 Adam Barth <abarth@webkit.org>
Rename ExceptionCodeDescription.in to DOMExceptions.in
https://bugs.webkit.org/show_bug.cgi?id=71157
Reviewed by Eric Seidel.
This file is now used for more than just the descriptions of the exceptions.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_makenames.py:
* dom/DOMExceptions.in: Copied from Source/WebCore/dom/ExceptionCodeDescription.in.
* dom/ExceptionCodeDescription.in: Removed.
* dom/make_dom_exceptions.pl: Copied from Source/WebCore/dom/make_exception_code_description.pl.
* dom/make_exception_code_description.pl: Removed.
2011-10-28 Chris Rogers <crogers@google.com>
SincResampler must be able to resample progressively
https://bugs.webkit.org/show_bug.cgi?id=71131
Reviewed by Kenneth Russell.
No new tests. There is not yet an implementation using progressive resampling to test.
* platform/audio/SincResampler.cpp:
(WebCore::SincResampler::SincResampler):
(WebCore::SincResampler::consumeSource):
(WebCore::SincResampler::process):
* platform/audio/SincResampler.h:
2011-10-28 Adam Klein <adamk@chromium.org>
[MutationObservers] Support attributeOldValue for attribute mutations
https://bugs.webkit.org/show_bug.cgi?id=70861
Reviewed by Ryosuke Niwa.
Respect 'attributeOldValue' when passed to WebKitMutationObserver.observe().
If multiple observers have different attributeOldValue settings in
their registrations, two different MutationRecords are created (one is
a wrapper around the other).
If a single observer has multiple registrations that apply to a single
mutation, and those registrations have different values for
attributeOldValue, the observer is passed the oldValue.
* dom/Element.cpp:
(WebCore::hasOldValue):
(WebCore::enqueueAttributesMutationRecord):
(WebCore::Element::setAttribute):
* dom/MutationRecord.cpp:
(WebCore::MutationRecord::createAttributes):
(WebCore::MutationRecord::createWithNullOldValue):
* dom/MutationRecord.h:
(WebCore::MutationRecord::oldValue):
2011-10-28 Adam Barth <abarth@webkit.org>
Delete ExceptionCode.cpp, which is empty
https://bugs.webkit.org/show_bug.cgi?id=71159
Reviewed by Eric Seidel.
This file has been stripped down to nothing and can be removed.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/ExceptionCode.cpp: Removed.
2011-10-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98776.
http://trac.webkit.org/changeset/98776
https://bugs.webkit.org/show_bug.cgi?id=71164
caused lots of test crashes (Requested by smfr on #webkit).
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateVisibilityStatus):
(WebCore::RenderLayer::dirtyZOrderLists):
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::enableCompositingMode):
2011-10-28 John Sullivan <sullivan@apple.com>
Improvement to the fix for:
https://bugs.webkit.org/show_bug.cgi?id=71142
Whether backspace goes Back should be configurable
Reviewed by Dan Bernstein.
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultBackspaceEventHandler):
Do the frame->settings() check after the !page check, since
a null page means null settings.
2011-10-28 Adam Barth <abarth@webkit.org>
Make DOMURL a ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=71162
Reviewed by Eric Seidel.
This removes a bunch of hand-rolled ifdefed code.
* dom/ActiveDOMObject.h:
- One-argument constructors should be explicit.
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
* dom/ScriptExecutionContext.h:
* html/DOMURL.cpp:
(WebCore::DOMURL::DOMURL):
(WebCore::DOMURL::~DOMURL):
* html/DOMURL.h:
2011-10-28 Adam Barth <abarth@webkit.org>
Factor ContextDestructionObserver out of ActiveDOMObject
https://bugs.webkit.org/show_bug.cgi?id=71153
Reviewed by Sam Weinig.
This patch paves the way to make more objects observe the destruction
of ScriptExecutioContext without needing to add ifdefs to
ScriptExecutionContext.h/cpp. (As an example, see DOMURL.)
* dom/ActiveDOMObject.cpp:
(WebCore::ContextDestructionObserver::ContextDestructionObserver):
(WebCore::ContextDestructionObserver::~ContextDestructionObserver):
(WebCore::ContextDestructionObserver::contextDestroyed):
(WebCore::ActiveDOMObject::ActiveDOMObject):
(WebCore::ActiveDOMObject::~ActiveDOMObject):
* dom/ActiveDOMObject.h:
(WebCore::ContextDestructionObserver::scriptExecutionContext):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::~ScriptExecutionContext):
(WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
(WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):
(WebCore::didCreateDestructionObserver):
(WebCore::willDestroyDestructionObserver):
* dom/ScriptExecutionContext.h:
2011-10-28 Tim Horton <timothy_horton@apple.com>
One more unreviewed build fix due to r98775.
No new tests.
* WebCore.vcproj/WebCore.vcproj:
2011-10-28 James Robinson <jamesr@chromium.org>
[chromium] Track wheel event handler registration and pass to input filter
https://bugs.webkit.org/show_bug.cgi?id=71078
Reviewed by Kenneth Russell.
This propagates mouse wheel registration notifications to the compositor input filter. If there are any handlers
registered, which includes JS handlers and scrollable areas other than the main view, the input filter will pass
mouse wheel events to the widget. Otherwise when threaded compositing is enabled the input filter translates
wheel events into root layer scrolling.
Only changes behavior with an off-by-default flag enabled, so no tests.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setHaveWheelEventHandlers):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::haveWheelEventHandlers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore::CCLayerTreeHostImpl::setHaveWheelEventHandlers):
* platform/graphics/chromium/cc/CCScrollController.h:
2011-10-28 Tim Horton <timothy_horton@apple.com>
Unreviewed build fix due to r98775.
No new tests.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
2011-10-28 Simon Fraser <simon.fraser@apple.com>
If visibility changes while an accelerated animation is running, element jumps around
https://bugs.webkit.org/show_bug.cgi?id=29984
Reviewed by Chris Marrin.
Compositing now affects whether RenderLayers for visibility:hidden elements
are included in z-order lists. So we have to dirty those lists when we enter
compopsiting mode.
Test: compositing/visibility/animation-visibility.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateVisibilityStatus): Removed trailing whitespace.
(WebCore::RenderLayer::dirtyZOrderLists): Call dirtyZOrderListsInternal(), which doesn't have
to ping the compositor.
(WebCore::RenderLayer::dirtyZOrderListsInternal):
(WebCore::RenderLayer::dirtyZOrderListsIncludingDescendants): Recursively dirty z-order
lists.
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::enableCompositingMode): When going into compositing mode,
dirty all z-order lists.
2011-10-28 Tim Horton <timothy_horton@apple.com>
Implement CSS3 Images cross-fade() image function
https://bugs.webkit.org/show_bug.cgi?id=52162
<rdar://problem/10209254>
Reviewed by Simon Fraser.
Parse -webkit-cross-fade according to the CSS3 Images Values specification.
Also, adjust other CSS parsing functions to support nested functions, by using a specific CSS value list
instead of the global one. This allows - for example - cross-fade to pass each of its arguments back into
parseFillImage and to successfully parse image functions in this fashion.
Test: fast/css/getComputedStyle/computed-style-cross-fade.html
* WebCore.xcodeproj/project.pbxproj:
* css/CSSCrossfadeValue.cpp: Added.
(WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
(WebCore::CSSCrossfadeValue::cssText):
(WebCore::CSSCrossfadeValue::fixedSize):
(WebCore::CSSCrossfadeValue::image):
* css/CSSCrossfadeValue.h: Added.
(WebCore::CSSCrossfadeValue::create):
(WebCore::CSSCrossfadeValue::isFixedSize):
(WebCore::CSSCrossfadeValue::setFromImage):
(WebCore::CSSCrossfadeValue::setToImage):
(WebCore::CSSCrossfadeValue::setPercentage):
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseFillImage):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseBorderImage):
(WebCore::CSSParser::parseDeprecatedGradient):
(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseRadialGradient):
(WebCore::CSSParser::isGeneratedImageValue):
(WebCore::CSSParser::parseGeneratedImage):
(WebCore::CSSParser::parseCrossfade):
(WebCore::CSSParser::parseCanvas):
* css/CSSParser.h:
2011-10-28 Dan Bernstein <mitz@apple.com>
Attempted build fix after r98765.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformWidthForGlyph):
2011-10-28 Chris Marrin <cmarrin@apple.com>
CSS grammar doesn't support functions with no parameters
https://bugs.webkit.org/show_bug.cgi?id=69110
Reviewed by Dean Jackson.
Add rule to grammar to accept functions with 0 args and return
this case with a CSSParserValueList with 0 values. Also fixed
filter creation function to properly handle filters with 0
arguments.
* css/CSSGrammar.y:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::createFilterOperations):
2011-10-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98757.
http://trac.webkit.org/changeset/98757
https://bugs.webkit.org/show_bug.cgi?id=71150
crashes webkit_unit_tests on chromium windows (Requested by
johnny_g on #webkit).
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
2011-10-28 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Fix namespace indent in ScriptExecutionContext.h.
* dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::isDocument):
(WebCore::ScriptExecutionContext::isWorkerContext):
(WebCore::ScriptExecutionContext::setHasOpenDatabases):
(WebCore::ScriptExecutionContext::hasOpenDatabases):
(WebCore::ScriptExecutionContext::url):
(WebCore::ScriptExecutionContext::completeURL):
(WebCore::ScriptExecutionContext::securityOrigin):
(WebCore::ScriptExecutionContext::contentSecurityPolicy):
(WebCore::ScriptExecutionContext::activeDOMObjects):
(WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
(WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
(WebCore::ScriptExecutionContext::messagePorts):
(WebCore::ScriptExecutionContext::domUrls):
(WebCore::ScriptExecutionContext::ref):
(WebCore::ScriptExecutionContext::deref):
(WebCore::ScriptExecutionContext::Task::Task):
(WebCore::ScriptExecutionContext::Task::isCleanupTask):
2011-10-28 John Sullivan <sullivan@apple.com>
WebCore part of:
https://bugs.webkit.org/show_bug.cgi?id=71142
Whether backspace goes Back should be configurable
Reviewed by Sam Weinig.
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultBackspaceEventHandler):
Bail out if backspace navigation is not enabled.
* page/Settings.cpp:
(WebCore::Settings::Settings):
Initialize m_backspaceKeyNavigationEnabled to true to match current behavior.
* page/Settings.h:
Declared m_backspaceKeyNavigationEnabled.
(WebCore::Settings::setBackspaceKeyNavigationEnabled):
New function, simple setter.
(WebCore::Settings::backspaceKeyNavigationEnabled):
New function, simple getter.
2011-10-28 Emil A Eklund <eae@chromium.org>
Overridden clippedOverflowRectForRepaint() still uses IntRects
https://bugs.webkit.org/show_bug.cgi?id=71046
Reviewed by Simon Fraser.
Change all virtual clippedOverflowRectForRepaint functions to use the
same signature.
No new tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::rectWithOutlineForRepaint):
(WebCore::RenderObject::clippedOverflowRectForRepaint):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::clippedOverflowRectForRepaint):
* rendering/RenderReplaced.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clippedOverflowRectForRepaint):
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::clippedOverflowRectForRepaint):
* rendering/RenderTableRow.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::clippedOverflowRectForRepaint):
* rendering/RenderText.h:
2011-10-28 Adam Klein <adamk@chromium.org>
Remove unused parsers for 'exception' and 'alias' IDL keywords
https://bugs.webkit.org/show_bug.cgi?id=71140
Reviewed by Adam Barth.
* bindings/scripts/IDLParser.pm:
(ParseInterface):
(DetermineParseMode):
(ProcessSection):
* bindings/scripts/IDLStructure.pm:
2011-10-28 Dan Bernstein <mitz@apple.com>
<rdar://problem/10288006> Emoji characters are too close to each other in small font size
Reviewed by Sam Weinig.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformWidthForGlyph): If the font is a color bitmap font, use
-[NSFont advancementForGlyph:] instead of wkGetGlyphTransformedAdvances().
2011-10-28 Adam Barth <abarth@webkit.org>
Remove unused default constructor
https://bugs.webkit.org/show_bug.cgi?id=71136
Reviewed by Eric Seidel.
No one is calling this constructor anymore now that we've fixed the
callers.
* dom/make_exception_code_description.pl:
(generateHeader):
2011-10-28 Ken Buchanan <kenrb@chromium.org>
Crash when splitting inline flows with generated floats
https://bugs.webkit.org/show_bug.cgi?id=70458
Reviewed by David Hyatt.
When lineBoxes on a RenderBlock are being deleted, we now check the floating object list to
ensure references to them are being cleared.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::deleteLineBoxTree): Remove references to lineBox when deleting them
2011-10-28 Simon Fraser <simon.fraser@apple.com>
Remove Leopard-only code from GraphicsLayerCA
https://bugs.webkit.org/show_bug.cgi?id=71141
Reviewed by Chris Marrin.
Remove !HAVE_MODERN_QUARTZCORE code, which was only
used on Leopard. updateContentsTransform() became a no-op,
so could be removed.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::getValueFunctionNameForTransformOperation):
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::defaultContentsOrientation):
(WebCore::GraphicsLayerCA::updateOpacityOnLayer):
* platform/graphics/ca/GraphicsLayerCA.h:
2011-10-28 Adrienne Walker <enne@google.com>
[chromium] Implicitly skip render surfaces that won't be drawn
https://bugs.webkit.org/show_bug.cgi?id=71038
Rather than having redundant checks in three places for how to walk
through a render surface list, instead don't add render surfaces that
don't need to get rendered to the render surface list.
Reviewed by James Robinson.
Covered by existing layout tests.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateDrawTransformsAndVisibilityInternal):
2011-10-28 Adam Barth <abarth@webkit.org>
Autogenerate Exception-downcast code in bindings
https://bugs.webkit.org/show_bug.cgi?id=71108
Reviewed by Eric Seidel.
This patch uses the same generated code style as we're using for Events
to generate the downcasts for the Exception types in the bindings.
This cause me to refactor more code from make_event_factory.pl into
InFilesCompiler.pm.
After this patch, some of these files and scripts are misnamed. I'll
rename them in a followup patch.
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/objc/ExceptionHandlers.mm:
(WebCore::raiseDOMException):
* bindings/scripts/InFilesCompiler.pm:
(initializeFromCommandLine):
(compile):
(interfaceForItem):
(toMacroStyle):
(generateInterfacesHeader):
(generateHeadersHeader):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* dom/ExceptionCodeDescription.in:
* dom/make_event_factory.pl:
(generateCode):
(generateImplementation):
* dom/make_exception_code_description.pl:
(defaultItemFactory):
(generateCode):
2011-10-28 Simon Fraser <simon.fraser@apple.com>
Fix builds which have ACCELERATED_COMPOSITING disabled.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateZOrderLists):
2011-10-28 Erik Arvidsson <arv@chromium.org>
Remove LegacyDefaultOptionalArguments flag from inspector IDLs
https://bugs.webkit.org/show_bug.cgi?id=65748
Reviewed by Adam Barth.
Covered by existing tests.
* inspector/InjectedScriptHost.idl:
* inspector/InspectorFrontendHost.idl:
* inspector/JavaScriptCallFrame.idl:
2011-10-28 Joshua Bell <jsbell@chromium.org>
IndexedDB: Database metadata changes should be tied to transaction
https://bugs.webkit.org/show_bug.cgi?id=70974
Reviewed by Tony Chang.
Database metadata (that is, the version string) was rolled back
on abort by an abort task. If the abort task didn't run e.g.
due to a crash, the metadata would not be reverted. All of the
other store/index/data changes were written into the transaction
itself, so the metadata now is too. Refactored the metadata
get/create/update methods for clarity as well.
Note that the new tests don't actually verify that the code handles
this case; that will need to be done with persistence tests
that span multiple runs of the browser and induce crashes.
The new tests do verify that these changes don't cause regressions
not caught by other tests.
Tests: storage/indexeddb/open-during-transaction.html
storage/indexeddb/version-change-abort.html
* storage/IDBBackingStore.h:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
* storage/IDBLevelDBBackingStore.h:
2011-10-28 Luke Macpherson <macpherson@chromium.org>
Use enum instead of bool to represent -webkit-column-span property.
https://bugs.webkit.org/show_bug.cgi?id=70867
Reviewed by Darin Adler.
Covered by existing tests.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymousColumnSpanBlock):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::propagateStyleToAnonymousChildren):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::columnSpan):
(WebCore::InheritedFlags::setColumnSpan):
(WebCore::InheritedFlags::initialColumnSpan):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleMultiColData.h:
2011-10-28 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize isGlobalObject, isVariableObject, isActivationObject, and isErrorInstance in JSObject
https://bugs.webkit.org/show_bug.cgi?id=70968
Reviewed by Geoffrey Garen.
No new tests.
* bindings/js/JSDOMGlobalObject.h: Changed JSType provided to TypeInfo in createStructure since this
class inherits from JSGlobalObject.
(WebCore::JSDOMGlobalObject::createStructure):
* bindings/js/JSDOMWindowBase.h: Ditto
(WebCore::JSDOMWindowBase::createStructure):
* bindings/js/JSWorkerContextBase.h: Ditto
(WebCore::JSWorkerContextBase::createStructure):
* bindings/scripts/CodeGeneratorJS.pm: Added extra check to make sure subclasses of JSGlobalObject,
namely JSDOMWindow and JSWorkerContext, get their special JSType in their createStructure function.
(GenerateHeader):
2011-10-28 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98736.
http://trac.webkit.org/changeset/98736
https://bugs.webkit.org/show_bug.cgi?id=71125
This patch broke perf/array-binary-search.html test (Requested
by annacc on #webkit).
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadTextTracks):
(WebCore::HTMLMediaElement::addTrack):
* html/HTMLMediaElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedIntoTree):
(WebCore::HTMLTrackElement::willRemove):
* html/HTMLTrackElement.h:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::cueLoadingCompleted):
2011-10-28 Julien Chaffraix <jchaffraix@webkit.org>
RenderTableSection::recalcCells should not free its grid
https://bugs.webkit.org/show_bug.cgi?id=71056
Reviewed by Darin Adler.
Refactoring only, no change in behavior.
r98614 had the bad side effect of clearing the row vector (m_grid) on
the RenderTableSection when doing a recalcCells. This change removes the
unneeded free and inline the |row| field into the RowStruct as it made
no sense to have it as a pointer.
* rendering/RenderTableSection.cpp:
(WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative):
(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::firstLineBoxBaseline):
(WebCore::RenderTableSection::appendColumn):
(WebCore::RenderTableSection::splitColumn):
Mechanical changes now that |row| is a member of RowStruct.
(WebCore::RenderTableSection::~RenderTableSection): Clear our row vector.
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::recalcCells):
Those 2 functions were refactored to use fillRowsWithDefaultStartingAtPosition.
(WebCore::RenderTableSection::fillRowsWithDefaultStartingAtPosition):
Factored the code to fill the RowStruct structure with default values.
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::cellAt):
(WebCore::RenderTableSection::primaryCellAt):
More mechanical change after the |row| field change.
2011-10-28 Anna Cavender <annacc@chromium.org>
Implement load notification and events for <track>.
https://bugs.webkit.org/show_bug.cgi?id=71054
Reviewed by Eric Carlson.
Tests: media/track/track-load-error-readyState.html
media/track/track-load-from-element-readyState.html
media/track/track-load-from-src-readyState.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadTextTracks):
(WebCore::HTMLMediaElement::loadNextTextTrack):
(WebCore::HTMLMediaElement::trackWasAdded):
(WebCore::HTMLMediaElement::trackWillBeRemoved):
(WebCore::HTMLMediaElement::trackSourceChanged):
* html/HTMLMediaElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedIntoTree):
(WebCore::HTMLTrackElement::willRemove):
(WebCore::HTMLTrackElement::parseMappedAttribute):
(WebCore::HTMLTrackElement::attributeChanged):
* html/HTMLTrackElement.h:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::cueLoadingCompleted):
2011-10-28 Simon Fraser <simon.fraser@apple.com>
The HTML5 video element in Safari does not respect "visibility:hidden" CSS property
https://bugs.webkit.org/show_bug.cgi?id=38829
Reviewed by James Robinson.
Make compositing and CSS visibility play nicely together.
The main issue was that an old optimization (see bug 4377) caused
visibility:hidden layers to not appear in the z-order lists, but those
layers could still become composited, but would remain detached. In addition,
composited layers which were visibility:hidden would become visible sometimes.
With this fix, the z-order lists always contain all layers when the page
is in compositing mode. GraphicsLayer is changed to ensure that visibility:hidden
layers show no content, and visible descendants of hidden layers work correctly.
Tests: compositing/visibility/visibility-composited-transforms.html
compositing/visibility/visibility-composited.html
compositing/visibility/visibility-image-layers-dynamic.html
compositing/visibility/visibility-image-layers.html
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer): Init m_contentsVisible to true.
(WebCore::GraphicsLayer::dumpProperties): Dump m_contentsVisible if not true.
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::contentsAreVisible): Getter for m_contentsVisible.
(WebCore::GraphicsLayer::setContentsVisible): Setter for m_contentsVisible.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsVisible): Override setContentsVisible.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Handle ContentsVisibilityChanged
flag
(WebCore::GraphicsLayerCA::updateSublayerList): Only parent the m_contentsLayer if the layer
has visible contents.
(WebCore::GraphicsLayerCA::updateContentsVisibility): For bits painted into the layer itself,
we hide it by clearing the backing store.
* platform/graphics/ca/GraphicsLayerCA.h: Removed obsolete comment on the DrawsContentChanged flag,
added ContentsVisibilityChanged flag.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateZOrderLists): If we're in compositing mode, include all layers
in the z-order lists.
(WebCore::RenderLayer::collectLayers): New param to specify whether we need to collect all layers.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::hasVisibleDescendant): Add comment about the need for an assertion in hasVisibleContent()
, and assertion in hasVisibleDescendant().
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call setContentsVisible() on the GraphicsLayer.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): We can use simple container layers in cases
where visibility:hidden causes layer content to not be drawn.
(WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendants): Renamed from hasNonCompositingDescendants()
because it now also looks at visibility to decide when things are visible.
* rendering/RenderLayerBacking.h: hasNonCompositingDescendants() renamed to hasVisibleNonCompositingDescendants().
2011-10-22 Philippe Normand <pnormand@igalia.com>
[GTK] Build fixes for glib 2.31 (current master)
https://bugs.webkit.org/show_bug.cgi?id=70679
Reviewed by Martin Robinson.
g_cond_new and g_mutex_new have been replaced by _init
functions. Same for _free, replaced by _clear.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkit_video_sink_init):
(webkit_video_sink_dispose):
2011-10-28 Jochen Eisinger <jochen@chromium.org>
Rename a number of methods mentioning JavaScript to just Script instead
https://bugs.webkit.org/show_bug.cgi?id=71105
Reviewed by Adam Barth.
* WebCore.exp.in:
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::canExecuteScripts):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::handleOutOfMemory):
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::allowScript):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setScriptEnabled):
* page/Settings.h:
(WebCore::Settings::isScriptEnabled):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
2011-10-28 Pavel Feldman <pfeldman@google.com>
Reset line numbers for scripts generated with document.write.
https://bugs.webkit.org/show_bug.cgi?id=71099
Reviewed by Yury Semikhatsky.
Test: http/tests/inspector-enabled/document-write.html
* dom/Document.h:
(WebCore::Document::isInDocumentWrite):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::prepareScript):
2011-10-28 Adam Roben <aroben@apple.com>
Mac build fix after r98711
* WebCore.xcodeproj/project.pbxproj: Mark ExceptionCodeDescription.h private so WebKit can
find it.
2011-10-28 Antti Koivisto <antti@apple.com>
[Chromium] css3/font-feature-settings-rendering.html has incorrect image result after r98542
https://bugs.webkit.org/show_bug.cgi?id=71019
Reviewed by Andreas Kling.
These properties need to be marked inherited too.
Note that the new test case doesn't fail even without the patch. If I understand correctly
the image test in the title is pretty much the only way to see this. However the
new test improves code coverage and protects against future regressions.
Test: fast/css/inherited-properties-rare-text.html
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
2011-10-28 Adam Barth <abarth@webkit.org>
Remove getExceptionCodeDescription()
https://bugs.webkit.org/show_bug.cgi?id=71103
Reviewed by Eric Seidel.
This function serves no purpose.
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/objc/ExceptionHandlers.mm:
(WebCore::raiseDOMException):
* bindings/scripts/CodeGeneratorGObject.pm:
():
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_method_that_requires_all_args_and_throws):
(webkit_dom_test_obj_method_with_exception):
(webkit_dom_test_obj_with_script_state_void_exception):
(webkit_dom_test_obj_with_script_state_obj_exception):
(webkit_dom_test_obj_get_attr_with_getter_exception):
(webkit_dom_test_obj_set_attr_with_getter_exception):
(webkit_dom_test_obj_set_attr_with_setter_exception):
(webkit_dom_test_obj_set_string_attr_with_getter_exception):
(webkit_dom_test_obj_set_string_attr_with_setter_exception):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* dom/ExceptionCode.cpp:
* dom/ExceptionCode.h:
2011-10-19 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: CSS background-image applied inline shows a warning, but still works.
https://bugs.webkit.org/show_bug.cgi?id=70325
Reviewed by Antti Koivisto.
This change eliminates the "non-parsed property" warning displayed next to any
"background-image" property of an element's inline style.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseDeclaration):
* css/CSSParser.h:
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2011-10-28 Adam Barth <abarth@webkit.org>
Attempt to fixenate Qt.
* CodeGenerators.pri:
* dom/make_event_factory.pl:
(toMacroStyle):
2011-10-28 Adam Barth <abarth@webkit.org>
ExceptionCode.cpp shouldn't need to know about every feature that throws exceptions
https://bugs.webkit.org/show_bug.cgi?id=70890
Reviewed by Eric Seidel.
Generate the feature-specific parts of ExceptionCode.cpp from a ".in"
file. This is an incremental step towards inlining
getExceptionCodeDescription into its callers and replacing the switch
statements at those locations with autogenerated code.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_makenames.py:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setDOMException):
* dom/DOMCoreException.cpp:
(WebCore::DOMCoreException::initializeDescription):
* dom/ExceptionCode.cpp:
(WebCore::getExceptionCodeDescription):
* dom/ExceptionCode.h:
* dom/ExceptionCodeDescription.in: Added.
* dom/make_exception_code_description.pl: Added.
(defaultItemFactory):
(generateCode):
(generateHeader):
(generateImplementation):
2011-10-28 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: CallStackSidebarPane should remove discarded Placards from RawSourceCode listeners list
https://bugs.webkit.org/show_bug.cgi?id=70996
Reviewed by Pavel Feldman.
Test: inspector/debugger/callstack-placards-discarded.html
* inspector/front-end/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.prototype.update):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.createPlacard):
(WebInspector.DebuggerPresentationModel.CallFramePlacard):
(WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
(WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
* inspector/front-end/Placard.js:
(WebInspector.Placard.prototype.toggleSelected):
(WebInspector.Placard.prototype.discard):
2011-10-28 Jochen Eisinger <jochen@chromium.org>
Add allowScriptFromSource callback to FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=71013
Reviewed by Darin Fisher.
Test: platform/chromium/permissionclient/script-permissions.html
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::allowScriptFromSource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
2011-10-27 Adam Barth <abarth@webkit.org>
Refactor make_event_factory.pl to use InFilesCompiler.pm
https://bugs.webkit.org/show_bug.cgi?id=71094
Reviewed by Eric Seidel.
This refactoring helps share code with
make_exception_code_descriptions.pl, which is coming in a future patch.
I have a dream of refactoring make_names.pl to use this module as well.
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/scripts/action_makenames.py:
* bindings/scripts/InFilesCompiler.pm: Added.
(itemHandler):
(parameterHandler):
(new):
(compile):
(license):
* dom/make_event_factory.pl:
(defaultItemFactory):
(interfaceForEvent):
(generateCode):
(printFactoryFile):
(printMacroFile):
(printHeadersFile):
2011-10-26 Nat Duca <nduca@chromium.org>
[chromium] Implement frame rate control portions of CCScheduler
https://bugs.webkit.org/show_bug.cgi?id=70713
Reviewed by James Robinson.
* WebCore.gypi:
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp: Added.
(WebCore::CCDelayBasedTimeSource::setActive):
(WebCore::CCDelayBasedTimeSource::postTickTask):
(WebCore::CCDelayBasedTimeSource::onTick):
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.h: Added.
(WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
(WebCore::CCDelayBasedTimeSource::~CCDelayBasedTimeSource):
(WebCore::CCDelayBasedTimeSource::setClient):
(WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
* platform/graphics/chromium/cc/CCFrameRateController.cpp: Added.
(WebCore::CCFrameRateControllerTimeSourceAdapter::create):
(WebCore::CCFrameRateControllerTimeSourceAdapter::~CCFrameRateControllerTimeSourceAdapter):
(WebCore::CCFrameRateControllerTimeSourceAdapter::onTimerTick):
(WebCore::CCFrameRateControllerTimeSourceAdapter::CCFrameRateControllerTimeSourceAdapter):
(WebCore::CCFrameRateController::CCFrameRateController):
(WebCore::CCFrameRateController::~CCFrameRateController):
(WebCore::CCFrameRateController::onTimerTick):
(WebCore::CCFrameRateController::didBeginFrame):
(WebCore::CCFrameRateController::didFinishFrame):
(WebCore::CCFrameRateController::didAbortAllPendingFrames):
* platform/graphics/chromium/cc/CCFrameRateController.h: Added.
(WebCore::CCFrameRateControllerClient::~CCFrameRateControllerClient):
(WebCore::CCFrameRateController::setClient):
(WebCore::CCFrameRateController::setActive):
* platform/graphics/chromium/cc/CCTimeSource.h: Added.
(WebCore::CCTimeSourceClient::~CCTimeSourceClient):
(WebCore::CCTimeSource::~CCTimeSource):
2011-10-27 Kentaro Hara <haraken@chromium.org>
Deprecate [V8ConstructorSetsActiveDOMWrapper] IDL
https://bugs.webkit.org/show_bug.cgi?id=71088
Reviewed by Adam Barth.
I introduced [V8ConstructorSetsActiveDOMWrapper] IDL in bug 66536,
but I found that it has the same meaning as [ActiveDOMObject] IDL.
This patch removes [V8ConstructorSetsActiveDOMWrapper] IDL.
No change in behavior.
Tests: fast/dom/global-constructors.html
fast/eventsource/eventsource-constructor.html
fast/eventsource/eventsource-attribute-listeners.html
fast/files/blob-slice-test.html
fast/files/file-reader-abort.html
ui_tests:WorkerTest.FLAKY_SharedWorkerFastConstructor
ui_tests:WorkerTest.FLAKY_SharedWorkerFastName
ui_tests:WorkerTest.FLAKY_WorkerConstructor
ui_tests:WorkerTest.FLAKY_WorkerEventListener
* bindings/scripts/CodeGeneratorV8.pm: Replaced "V8ConstructorSetsActiveDOMWrapper" with "ActiveDOMObject".
(GenerateConstructorCallback):
* bindings/scripts/test/TestInterface.idl: Ditto.
* bindings/scripts/test/JS/JSTestInterface.cpp: Updated a test result.
(WebCore::isObservable):
(WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
(WebCore::JSTestInterfaceOwner::finalize):
* bindings/scripts/test/JS/JSTestInterface.h: Ditto.
(WebCore::wrapperOwner):
(WebCore::wrapperContext):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
* bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
(WebCore::V8TestInterface::toActiveDOMObject):
(WebCore::V8TestInterface::wrapSlow):
* bindings/scripts/test/V8/V8TestInterface.h: Ditto.
(WebCore::V8TestInterface::existingWrapper):
* fileapi/FileReader.idl: Removed [V8ConstructorSetsActiveDOMWrapper] IDL.
* mediastream/PeerConnection.idl: Ditto.
* page/EventSource.idl: Ditto.
* workers/SharedWorker.idl: Ditto.
* workers/Worker.idl: Ditto.
2011-10-28 Yuta Kitamura <yutak@chromium.org>
Race condition in SocketStreamHandleCFNet when PAC script is used
https://bugs.webkit.org/show_bug.cgi?id=70894
Reviewed by Alexey Proskuryakov.
Pass callback functions that call ref() or deref() as retain/release member
of CFStreamClientContext.
No new tests, as it is not possible to write a test with PAC script enabled.
* platform/network/cf/SocketStreamHandle.h:
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::scheduleStreams):
(WebCore::SocketStreamHandle::retainSocketStreamHandle):
(WebCore::SocketStreamHandle::releaseSocketStreamHandle):
(WebCore::SocketStreamHandle::pacExecutionCallbackMainThread):
This callback may be called after platformClose() is already called. We should
not create new streams in this case.
(WebCore::SocketStreamHandle::executePACFileURL):
(WebCore::SocketStreamHandle::readStreamCallback):
This manual ref/deref can be safely removed as m_readStream holds the reference.
(WebCore::SocketStreamHandle::writeStreamCallback):
Ditto.
2011-10-27 Arthur Hsu <arthurhsu@chromium.org>
Reland patch ensure font load before calling Skia during printing
https://bugs.webkit.org/show_bug.cgi?id=70390
Reviewed by James Robinson.
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::paintSkiaText):
2011-10-27 Adam Barth <abarth@webkit.org>
Attempt to fix the Qt build.
* WebCore.pro:
2011-10-27 Ryosuke Niwa <rniwa@webkit.org>
binding test rebaseline after r98679.
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionIdbKey):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
(WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
2011-10-27 Adam Barth <abarth@webkit.org>
Move type-specific exception descriptions into the implementation files for each type
https://bugs.webkit.org/show_bug.cgi?id=71081
Reviewed by Eric Seidel.
There's no reason to centralize this information. It belongs with each
exception type. This patch is in preparation for autogenerating the central file.
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMCoreException.cpp: Added.
(WebCore::DOMCoreException::initializeDescription):
* dom/DOMCoreException.h:
* dom/EventException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
(WebCore::EventException::initializeDescription):
* dom/EventException.h:
* dom/ExceptionBase.h:
(WebCore::ExceptionBase::code):
(WebCore::ExceptionBase::name):
(WebCore::ExceptionBase::message):
(WebCore::ExceptionBase::description):
* dom/ExceptionCode.cpp:
(WebCore::getExceptionCodeDescription):
* dom/RangeException.cpp: Copied from Source/WebCore/xml/XPathException.h.
(WebCore::RangeException::initializeDescription):
* dom/RangeException.h:
* fileapi/FileException.cpp: Added.
(WebCore::FileException::initializeDescription):
* fileapi/FileException.h:
* fileapi/OperationNotAllowedException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
(WebCore::OperationNotAllowedException::initializeDescription):
* fileapi/OperationNotAllowedException.h:
* storage/IDBDatabaseException.cpp: Added.
(WebCore::IDBDatabaseException::initializeDescription):
* storage/IDBDatabaseException.h:
* storage/SQLException.cpp: Added.
(WebCore::SQLException::initializeDescription):
* storage/SQLException.h:
* svg/SVGException.cpp: Copied from Source/WebCore/dom/EventException.h.
(WebCore::SVGException::initializeDescription):
* svg/SVGException.h:
* xml/XMLHttpRequestException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
(WebCore::XMLHttpRequestException::initializeDescription):
* xml/XMLHttpRequestException.h:
* xml/XPathException.cpp: Copied from Source/WebCore/xml/XPathException.h.
(WebCore::XPathException::initializeDescription):
* xml/XPathException.h:
2011-10-27 Kentaro Hara <haraken@chromium.org>
Generate WebKitCSSMatrix constructor for JSC by [Constructor] IDL
https://bugs.webkit.org/show_bug.cgi?id=70215
Reviewed by Adam Barth.
This patch implements [Optional=CallWithNullValue] IDL for JSC.
While a parameter specified as [Optional=CallWithDefaultValue] is
handled as a string "undefined", a parameter specified as
[Optional=CallWithNullValue] is handled as a null string.
(Note: not a string "null", but a null string).
c.f. [Optional=CallWithNullValue] is implemented in V8 in bug 67458.
Tests: fast/dom/global-constructors.html
transforms/svg-vs-css.xhtml
transforms/cssmatrix-2d-interface.xhtml
transforms/cssmatrix-3d-interface.xhtml
* GNUmakefile.list.am: Removed JSWebKitCSSMatrixCustom.cpp.
* UseJSC.cmake: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSDOMBinding.h: MAYBE_MISSING_PARAMETER(exec, index, policy) returns the index-th parameter, if the parameter exists. It returns an undefined value, if the index-th parameter is missing and the policy is MissingIsUndefined. It returns an empty value, otherwise (i.e. if the index-th parameter is missing and the policy is MissingIsEmpty).
* bindings/js/JSWebKitCSSMatrixCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck): Supported [Optional=CallWithNullValue].
(GenerateConstructorDefinition): Supported [Optional=CallWithNullValue].
* css/WebKitCSSMatrix.idl: Removed [JSCustomConstructor].
2011-10-27 Julien Chaffraix <jchaffraix@webkit.org>
RenderTableCell m_row and m_column should not be signed values
https://bugs.webkit.org/show_bug.cgi?id=70369
Reviewed by Darin Adler.
No new tests, refactoring only.
The gist of the change is to update row / column handling in the table's
rendering code to use unsigned values. Not all the code is switched over
to unsigned but this is a good start.
Using unsigned makes a lot more sense that allowing some negative indexes
to creep in the algorithms. Also it enables us to "free" the unused signed
bit on the 2 RenderTableCell fields that can be used to pack 2 bits in a
follow-up patch.
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::cellForColumnAndRow):
Removed 2 casts to int as the left side now computes to an unsigned too.
Added some ASSERT to make sure we don't get negative values (colSpan / rowSpan
are always >= 1 by definition but better to be safe).
* accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::headerObjectForSection):
* accessibility/AccessibilityTableColumn.h:
Switched m_columnIndex to unsigned to remove any signed / unsigned comparisons.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::splitColumn):
(WebCore::RenderTable::calcBorderEnd):
(WebCore::RenderTable::cellAbove):
(WebCore::RenderTable::cellBelow):
(WebCore::RenderTable::cellBefore):
(WebCore::RenderTable::cellAfter):
Mostly mechanical changes to avoid signed / unsigned comparisons or casts.
* rendering/RenderTable.h:
(WebCore::RenderTable::numEffCols):
(WebCore::RenderTable::colToEffCol):
Updated a couple of functions to use an unsigned.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::col):
(WebCore::RenderTableCell::setCol):
(WebCore::RenderTableCell::row):
(WebCore::RenderTableCell::setRow):
Updated after switching the fields to unsigned. Also added 2 constants
to cover the not-initialized-yet value for row and column indexes.
Note: we don't enforce that you can't reach those indexes but neither
did the previous code!
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::addChild):
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderStart):
(WebCore::RenderTableSection::calcOuterBorderEnd):
(WebCore::RenderTableSection::recalcCells):
(WebCore::RenderTableSection::clearGrid):
(WebCore::RenderTableSection::numColumns):
(WebCore::RenderTableSection::appendColumn):
(WebCore::RenderTableSection::splitColumn):
Lots of mechanical: signed -> unsigned changes. However we had
to change the logic a bit as it assumed that m_cRow started at
-1 and increased from there. The new meaning of m_cRow is the
number of rows seen and m_cRow - 1 is where to insert your new
cells.
(WebCore::RenderTableSection::addCell):
Checked the callers and all increase m_cRow before calling the function.
Added an ASSERT to catch up wrong usage in the future.
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::numRows): Switched to unsigned.
2011-10-27 Dan Bernstein <mitz@apple.com>
Assertion failure (m_text) in RenderText::RenderText() at icanhascheezburger.com
https://bugs.webkit.org/show_bug.cgi?id=71085
Reviewed by Jon Honeycutt.
Test: fast/css-generated-content/attr-missing.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): If the element does not have the attribute specified
in the attr() function in the content property, set the content to the empty string, per
<http://www.w3.org/TR/CSS21/generate.html#content>.
2011-10-27 Helder Correia <helder.correia@palm.com>
[Qt] Failure to build when QT_NO_CURSOR defined
https://bugs.webkit.org/show_bug.cgi?id=71060
Reviewed by Noam Rosenthal.
PlatformVideoWindowQt needs to wrap some code around #ifndef
QT_NO_CURSOR in order to build QtWebKit when QT_NO_CURSOR is defined.
Build fix, no new tests.
* platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
(FullScreenVideoWindow::FullScreenVideoWindow):
(FullScreenVideoWindow::closeEvent):
(FullScreenVideoWindow::hideCursor):
(FullScreenVideoWindow::showCursor):
2011-10-27 Shawn Singh <shawnsingh@chromium.org>
[chromium] Track when CCLayerImpl properties have changed.
https://bugs.webkit.org/show_bug.cgi?id=70442
Reviewed by James Robinson.
To determine a good scissor rect, we must determine what
will change on the screen on the next redraw. This patch
tracks the necessary information on CCLayerImpl and marks
a flag indicating whether this layer will "damage" the screen.
The other portion of "change", the updateRect, was already
landed in https://bugs.webkit.org/show_bug.cgi?id=69441.
New unit test added to CCLayerImplTest to test this patch.
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::scrollBy):
(WebCore::CCLayerImpl::noteLayerPropertyChangedForSubtree):
(WebCore::CCLayerImpl::noteLayerPropertyChangedForDescendants):
(WebCore::CCLayerImpl::setBounds):
(WebCore::CCLayerImpl::setMaskLayer):
(WebCore::CCLayerImpl::setReplicaLayer):
(WebCore::CCLayerImpl::setDrawsContent):
(WebCore::CCLayerImpl::setAnchorPoint):
(WebCore::CCLayerImpl::setAnchorPointZ):
(WebCore::CCLayerImpl::setMasksToBounds):
(WebCore::CCLayerImpl::setOpaque):
(WebCore::CCLayerImpl::setOpacity):
(WebCore::CCLayerImpl::setPosition):
(WebCore::CCLayerImpl::setPreserves3D):
(WebCore::CCLayerImpl::setSublayerTransform):
(WebCore::CCLayerImpl::setTransform):
(WebCore::CCLayerImpl::setDebugBorderColor):
(WebCore::CCLayerImpl::setDebugBorderWidth):
(WebCore::CCLayerImpl::setContentBounds):
(WebCore::CCLayerImpl::setScrollPosition):
(WebCore::CCLayerImpl::setScrollDelta):
(WebCore::CCLayerImpl::setDoubleSided):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::layerPropertyChanged):
(WebCore::CCLayerImpl::resetLayerPropertyChanged):
2011-10-27 Anders Carlsson <andersca@apple.com>
Add a Plugin::geometryDidChange that will work with transforms
https://bugs.webkit.org/show_bug.cgi?id=71072
Reviewed by Simon Fraser.
Export symbols needed by WebKit2.
* WebCore.exp.in:
2011-10-27 Adam Barth <abarth@webkit.org>
Exception subtypes have incorrect namespace indentation
https://bugs.webkit.org/show_bug.cgi?id=71075
Reviewed by Eric Seidel.
This patch is in preparation for editing these headers. We decided to
not indent namespaces in headers and update the headers as we edited
them.
* dom/DOMCoreException.h:
(WebCore::DOMCoreException::create):
(WebCore::DOMCoreException::DOMCoreException):
* dom/EventException.h:
(WebCore::EventException::create):
(WebCore::EventException::EventException):
* dom/RangeException.h:
(WebCore::RangeException::create):
(WebCore::RangeException::RangeException):
* xml/XMLHttpRequestException.h:
(WebCore::XMLHttpRequestException::create):
(WebCore::XMLHttpRequestException::XMLHttpRequestException):
* xml/XPathException.h:
(WebCore::XPathException::create):
(WebCore::XPathException::XPathException):
2011-10-27 Kenneth Russell <kbr@google.com>
Implement new restrictions on uniform and attribute location lengths
https://bugs.webkit.org/show_bug.cgi?id=70981
Reviewed by Chris Marrin.
Tests: fast/canvas/webgl/attrib-location-length-limits.html
fast/canvas/webgl/uniform-location-length-limits.html
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::validateLocationLength):
* html/canvas/WebGLRenderingContext.h:
2011-10-27 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Implement subtree observation of transiently disconnected nodes
https://bugs.webkit.org/show_bug.cgi?id=70788
Reviewed by Ryosuke Niwa.
This patch adds support for observing all descendant nodes reachable from a subtree
observation until delivery of mutations -- even if they become detached. We do this by
introducing a "transient registration" which can exist for a short time along side
normal registrations on Node. Transient registrations have a reference to the node
which "owns" the subtree observation registration (the "registrationNode"). Transient
registrations are cleared immediately before mutations are delivered to an observer,
or when the observer re-observes at the registrationNode, in-effect resetting the
observation.
New tests added to fast/mutation/observe-subtree.html.
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::ChildListMutationAccumulator):
(WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
* dom/ContainerNode.cpp:
(WebCore::dispatchChildRemovalEvents):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/Node.cpp:
(WebCore::addMatchingObservers):
(WebCore::Node::getRegisteredMutationObserversOfType):
(WebCore::Node::registerMutationObserver):
(WebCore::Node::unregisterMutationObserver):
(WebCore::Node::notifySubtreeObserversOfDisconnection):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::MutationObserverEntry::MutationObserverEntry):
(WebCore::MutationObserverEntry::operator==):
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::observe):
(WebCore::unregisterTransientEntries):
(WebCore::WebKitMutationObserver::disconnect):
(WebCore::WebKitMutationObserver::observedNodeDestructed):
(WebCore::WebKitMutationObserver::observedSubtreeWillDisconnect):
(WebCore::WebKitMutationObserver::clearTransientEntries):
(WebCore::WebKitMutationObserver::deliver):
* dom/WebKitMutationObserver.h:
2011-10-27 Pratik Solanki <psolanki@apple.com>
Ask CG to not parse image metadata
https://bugs.webkit.org/show_bug.cgi?id=71029
Reviewed by Simon Fraser.
We don't need CG to parse the image metadata since WebCore never uses it. Passing this
option shaves off time spent under CGImageSourceCopyPropertiesAtIndex. Under Instruments I
saw the time drop from ~75ms to ~25ms when loading http://boston.com/bigpicture and the
first link on that page.
No new tests because no change in functionality.
* platform/graphics/ImageSource.h:
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::imageSourceOptions):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
2011-10-27 David Grogan <dgrogan@chromium.org>
Move eventqueue from Document to ScriptExecutionContext so that it can be accessed from workers
https://bugs.webkit.org/show_bug.cgi?id=57789
Extract interface from EventQueue and create two new subclasses:
DocumentEventQueue and WorkerEventQueue. DocumentEventQueue is the
old EventQueue implementation that uses DOMTimer(0) to post async
events. WorkerEventQueue posts events to its thread's message loop.
Reviewed by David Levin.
No new tests - IndexedDB will use this but isn't ready yet. I don't
know of any other API available in workers that I can test this with.
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Document::eventQueue):
* dom/DocumentEventQueue.cpp: Renamed from Source/WebCore/dom/EventQueue.cpp.
(WebCore::shouldDispatchScrollEventSynchronously):
(WebCore::DocumentEventQueueTimer::DocumentEventQueueTimer):
(WebCore::DocumentEventQueueTimer::fired):
(WebCore::DocumentEventQueue::create):
(WebCore::DocumentEventQueue::DocumentEventQueue):
(WebCore::DocumentEventQueue::~DocumentEventQueue):
(WebCore::DocumentEventQueue::enqueueEvent):
(WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
(WebCore::DocumentEventQueue::cancelEvent):
(WebCore::DocumentEventQueue::close):
(WebCore::DocumentEventQueue::pendingEventTimerFired):
(WebCore::DocumentEventQueue::dispatchEvent):
* dom/DocumentEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
* dom/EventQueue.h:
* dom/ScriptExecutionContext.h:
* page/EventHandler.cpp: Change EventQueue to DocumentEventQueue.
(WebCore::EventHandler::sendScrollEvent): Change EventQueue to DocumentEventQueue.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo): Change EventQueue to DocumentEventQueue.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::scrollTo): Change EventQueue to DocumentEventQueue.
* storage/IDBDatabase.cpp:
* storage/IDBRequest.cpp:
* storage/IDBTransaction.cpp:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::eventQueue):
* workers/WorkerContext.h:
* workers/WorkerEventQueue.cpp: Added.
(WebCore::WorkerEventQueue::create):
(WebCore::WorkerEventQueue::WorkerEventQueue):
(WebCore::WorkerEventQueue::~WorkerEventQueue):
(WebCore::WorkerEventQueue::EventDispatcherTask::create):
(WebCore::WorkerEventQueue::EventDispatcherTask::dispatchEvent):
(WebCore::WorkerEventQueue::EventDispatcherTask::performTask):
(WebCore::WorkerEventQueue::EventDispatcherTask::cancel):
(WebCore::WorkerEventQueue::EventDispatcherTask::EventDispatcherTask):
(WebCore::WorkerEventQueue::removeEvent):
(WebCore::WorkerEventQueue::enqueueEvent):
(WebCore::WorkerEventQueue::cancelEvent):
(WebCore::WorkerEventQueue::close):
* workers/WorkerEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
2011-10-27 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
[GStreamer] Prevent memory leak when fullscreening a video
https://bugs.webkit.org/show_bug.cgi?id=71043
Reviewed by Gustavo Noronha Silva.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::GStreamerGWorld):
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
* platform/graphics/gstreamer/GStreamerGWorld.h:
2011-10-27 Joseph Pecoraro <pecoraro@apple.com>
Reviewed by David Kilzer.
Make FeatureDefines Identical Across OS X Projects
https://bugs.webkit.org/show_bug.cgi?id=71051
* Configurations/FeatureDefines.xcconfig:
2011-10-27 Joseph Pecoraro <pecoraro@apple.com>
Correctly Guard Exported REQUEST_ANIMATION_FRAME Symbols
https://bugs.webkit.org/show_bug.cgi?id=71047
Reviewed by David Kilzer.
* WebCore.exp.in:
2011-10-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98626.
http://trac.webkit.org/changeset/98626
https://bugs.webkit.org/show_bug.cgi?id=71066
Does not compile on cr-win (Requested by jamesr_ on #webkit).
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::paintSkiaText):
2011-10-27 Tony Chang <tony@chromium.org>
Fix a compiler warning caught by gcc 4.6.1. Need to return something.
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
(WebCore::CCSchedulerStateMachine::nextAction):
2011-10-27 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Advanced search style fixes.
https://bugs.webkit.org/show_bug.cgi?id=71036
Reviewed by Pavel Feldman.
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.SearchView):
* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/inspector.css:
(.search-view .search-panel):
(.search-view .search-panel input[type="search"].search-config-search):
(.search-view .search-panel input[type="checkbox"].search-config-checkbox):
(body:not(.platform-mac) .search-view .search-panel input[type="checkbox"].search-config-checkbox):
(body.platform-mac .search-view .search-panel input[type="checkbox"].search-config-checkbox):
(#drawer-status-bar .search-status-bar-progress):
(body:not(.platform-mac) #drawer-status-bar .search-status-bar-progress):
(body.platform-mac #drawer-status-bar .search-status-bar-progress):
2011-10-27 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=71061
[CSS Line Grid] Add support for parsing the line-grid property.
New tests in fast/line-grid.
Reviewed by Dan Bernstein.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::lineGrid):
(WebCore::InheritedFlags::setLineGrid):
(WebCore::InheritedFlags::initialLineGrid):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
2011-10-27 Fady Samuel <fsamuel@chromium.org>
iframes seem to occasionally doubly scale or scale incorrectly when pageScaleFactor != 1.0
https://bugs.webkit.org/show_bug.cgi?id=70552
Reviewed by Simon Fraser.
Test: fast/frames/iframe-double-scale-contents.html
The iframe's document style was using the page's scale factor, rather than the frame's (1.0).
If the page scale factor was set after layout was complete, then this would have no impact because the iframe's document style and layout is not recomputed,
but if the page scale factor is set prior to creating and laying out the iframe, the iframe's content would be doubly scaled.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
2011-10-27 Nat Duca <nduca@chromium.org>
Unreviewed, fix CCSchedulerStateMachine build errors.
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
2011-10-27 Tony Chang <tony@chromium.org>
fix sizing of auto sized flexbox
https://bugs.webkit.org/show_bug.cgi?id=70839
Reviewed by David Hyatt.
Correctly set the height of the flexbox when we have a column flow
and the height is auto.
Tests: css3/flexbox/columns-auto-size.html
css3/flexbox/flex-flow-margins-auto-size.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Always computeLogicalHeight() after we're done placing children.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection): Set the height as we place children.
2011-10-25 Vangelis Kokkevis <vangelis@chromium.org>
Add support for creating compositing layers for fixed position elements.
https://bugs.webkit.org/show_bug.cgi?id=69796
position:fixed elements will get a compositing layer if:
1. Settings:acceleratedCompositingForFixedPositionEnabled() returns true,
2. The element has its own stacking context (e.g. has a z-index), and
3. The element's container is the RenderView (e.g. not a descendant of a transformed element)
Reviewed by Simon Fraser.
Test: compositing/geometry/fixed-position-composited-switch.html
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setAcceleratedCompositingForFixedPositionEnabled):
(WebCore::Settings::acceleratedCompositingForFixedPositionEnabled):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
* rendering/RenderLayerCompositor.h:
* testing/Internals.cpp:
(WebCore::Internals::setEnableCompositingForFixedPosition):
* testing/Internals.h:
* testing/Internals.idl:
2011-10-27 Arthur Hsu <arthurhsu@chromium.org>
https://bugs.webkit.org/show_bug.cgi?id=70390
Ensure font load for Skia backend during printing.
Reviewed by James Robinson.
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::Font::drawGlyphs):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::paintSkiaText):
2011-10-27 Michael Saboff <msaboff@apple.com>
Investigate storing strings in 8-bit buffers when possible
https://bugs.webkit.org/show_bug.cgi?id=66161
Changes to support 8 bit StringImpl changes.
Reviewed by Geoffrey Garen.
No new tests, refactored StringImpl for 8 bit strings.
* platform/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString):
2011-10-27 Nat Duca <nduca@chromium.org>
[chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
https://bugs.webkit.org/show_bug.cgi?id=70714
Reland of ill-fated r98612.
Reviewed by James Robinson.
* WebCore.gypi:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::operator=):
(WebCore::CCSchedulerStateMachine::commitPending):
(WebCore::CCSchedulerStateMachine::setNeedsRedraw):
(WebCore::CCSchedulerStateMachine::setNeedsCommit):
(WebCore::CCSchedulerStateMachine::beginFrameComplete):
(WebCore::CCSchedulerStateMachine::updateResourcesComplete):
2011-10-27 Pavel Podivilov <podivilov@chromium.org>
Get rid of optional parameters in the middle in IDLs.
https://bugs.webkit.org/show_bug.cgi?id=70816
Reviewed by Adam Barth.
Optional parameters in the middle are prohibited by WebIDL spec.
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateArgumentsCountCheck):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
2011-10-27 Antti Koivisto <antti@apple.com>
REGRESSION(r98542): tables/mozilla_expected_failures/bugs/bug14007-2.html
https://bugs.webkit.org/show_bug.cgi?id=71032
Reviewed by Dave Hyatt.
If we apply an explicitly inherited property, we need to apply any further
non-inherited properties as the property might get overridden again.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForKeyframe):
(WebCore::CSSStyleSelector::styleForPage):
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyDeclarations):
* css/CSSStyleSelector.h:
2011-10-27 Julien Chaffraix <jchaffraix@webkit.org>
Remove RenderTableSection::m_gridRows
https://bugs.webkit.org/show_bug.cgi?id=70570
Reviewed by Darin Adler.
No new test, refactoring only.
Just nuke the old field that was duplicating
m_grid.size().
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::numRows):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::ensureRows):
(WebCore::RenderTableSection::setCellLogicalWidths):
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
(WebCore::RenderTableSection::calcOuterBorderBefore):
(WebCore::RenderTableSection::calcOuterBorderAfter):
(WebCore::RenderTableSection::calcOuterBorderStart):
(WebCore::RenderTableSection::calcOuterBorderEnd):
(WebCore::RenderTableSection::firstLineBoxBaseline):
(WebCore::RenderTableSection::paint):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::clearGrid):
(WebCore::RenderTableSection::numColumns):
(WebCore::RenderTableSection::appendColumn):
(WebCore::RenderTableSection::splitColumn):
s/m_gridRows/m_grid.size()/.
Also updated the code as m_grid.size() is unsigned.
(WebCore::RenderTableSection::recalcCells):
The old code would keep the grid's memory but we have to clear it to properly
count the elements. To avoid lots of small reallocations, we reallocate the
buffer at the old capacity upfront.
2011-10-27 Nat Duca <nduca@chromium.org>
Unreviewed, rolling out r98612.
http://trac.webkit.org/changeset/98612
https://bugs.webkit.org/show_bug.cgi?id=70714
Broke build
* WebCore.gypi:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.
2011-10-24 Nat Duca <nduca@chromium.org>
[chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
https://bugs.webkit.org/show_bug.cgi?id=70714
Reviewed by James Robinson.
* WebCore.gypi:
* platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
(WebCore::CCSchedulerStateMachine::nextAction):
(WebCore::CCSchedulerStateMachine::updateState):
* platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
(WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
(WebCore::CCSchedulerStateMachine::operator=):
(WebCore::CCSchedulerStateMachine::commitPending):
(WebCore::CCSchedulerStateMachine::setNeedsRedraw):
(WebCore::CCSchedulerStateMachine::setNeedsCommit):
(WebCore::CCSchedulerStateMachine::beginFrameComplete):
(WebCore::CCSchedulerStateMachine::updateResourcesComplete):
2011-10-27 Dan Bernstein <mitz@apple.com>
<rdar://problem/10262205> Allow column progression to be independent of writing mode
https://bugs.webkit.org/show_bug.cgi?id=71028
Reviewed by Darin Adler.
Tests: fast/multicol/block-axis-horizontal-bt.html
fast/multicol/block-axis-horizontal-tb.html
fast/multicol/block-axis-vertical-lr.html
fast/multicol/block-axis-vertical-rl.html
fast/multicol/flipped-blocks-hit-test.html
Allow “columns” to be stacked along the block axis rather than the inline axis. This can facilitate
paginated interfaces. A column-axis property is added in order to enable this mode.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle the column-axis property.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Ditto.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map ColumnAxis values to identifiers.
(WebCore::CSSPrimitiveValue::operator ColumnAxis): Map identifiers to ColumnAxis values.
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty): Updated to return false for the column-axis property.
* css/CSSPropertyNames.in: Added -webkit-column-axis.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Handle column-axis.
* rendering/ColumnInfo.h:
(WebCore::ColumnInfo::ColumnInfo): Added m_progressionAxis to the initialization list.
(WebCore::ColumnInfo::progressionAxis): Added this getter.
(WebCore::ColumnInfo::setProgressionAxis): Added this setter.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverflowFromChildren): Simplified, and thus also made this function work
with block-axis column progression.
(WebCore::RenderBlock::paintColumnRules): Added code to paint rules between columns with block-axis
progression.
(WebCore::RenderBlock::paintColumnContents): Adjusted the painting offset for the block-axis
column progression case.
(WebCore::RenderBlock::nodeAtPoint): Fixed hit-testing in flipped-blocks writing modes. This is
covered by flipped-blocks-hit-test.html.
(WebCore::RenderBlock::hitTestColumns): Adjusted the offset for the block-axis column progression
case.
(WebCore::RenderBlock::calcColumnWidth): Set the column width to the content logical width in
the block-axis column progression case. The column-width and column-count properties are ignored.
(WebCore::RenderBlock::setDesiredColumnCountAndWidth): Set the column progression axis based on
the style.
(WebCore::RenderBlock::columnCount): Broke up an assertion into two.
(WebCore::RenderBlock::columnRectAt): Updated for block-axis column progression.
(WebCore::RenderBlock::adjustPointToColumnContents): Ditto.
(WebCore::RenderBlock::adjustRectForColumns): Ditto.
(WebCore::RenderBlock::adjustForColumns): Ditto.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintChildLayerIntoColumns): Adjusted the offser for the block-axis column
progression case.
(WebCore::RenderLayer::hitTestChildLayerColumns): Ditto.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::columnAxis): Added this getter.
(WebCore::InheritedFlags::hasInlineColumnAxis): Added. Checks the column axis against the writing
mode.
(WebCore::InheritedFlags::specifiesColumns): Changed to return true if the specified column axis
is the block axis.
(WebCore::InheritedFlags::setColumnAxis): Added this setter.
(WebCore::InheritedFlags::initialColumnAxis): Added. Returns AutoColumnAxis.
* rendering/style/RenderStyleConstants.h: Added a ColumnAxis enum.
* rendering/style/StyleMultiColData.cpp:
(WebCore::StyleMultiColData::StyleMultiColData): Added m_axis to the initialization list.
(WebCore::StyleMultiColData::operator==): Compare m_axis.
* rendering/style/StyleMultiColData.h: Added m_axis member variable.
2011-10-27 Mihnea Ovidenie <mihnea@adobe.com>
[CSSRegions]Flag regions with custom styling
https://bugs.webkit.org/show_bug.cgi?id=70733
Reviewed by David Hyatt.
Region elements that have custom region styling are now marked accordingly.
Test: fast/regions/render-region-custom-style-mark.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::checkRegionStyle):
* css/CSSStyleSelector.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::styleDidChange):
* rendering/RenderRegion.h:
(WebCore::RenderRegion::hasCustomRegionStyle):
(WebCore::RenderRegion::setHasCustomRegionStyle):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderFlowThreads):
2011-10-27 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98556.
http://trac.webkit.org/changeset/98556
https://bugs.webkit.org/show_bug.cgi?id=71031
The test added by the patch doesn't pass on Snow Leopard
(Requested by rniwa on #webkit).
* editing/TextCheckingHelper.cpp:
(WebCore::checkTextOfParagraph):
* testing/Internals.cpp:
* testing/Internals.h:
* testing/Internals.idl:
2011-10-27 Mike Reed <reed@google.com>
[skia] replace offscreen technique with native support for antialiased clipping
https://bugs.webkit.org/show_bug.cgi?id=70748
Reviewed by Stephen White.
~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
bits of the result. Other than that, the results should be the same, except that now the drawing
can go directly to the canvas, rather than being direct offscreen and then have that result
"clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
antialiased clip area.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::State::cloneInheritedProperties):
(WebCore::PlatformContextSkia::clipPathAntiAliased):
(WebCore::PlatformContextSkia::restore):
* platform/graphics/skia/PlatformContextSkia.h:
2011-10-27 Tony Chang <tony@chromium.org>
use main/cross instead of logical width/height when talking about flow direction
https://bugs.webkit.org/show_bug.cgi?id=70977
Reviewed by Ojan Vafai.
Flexbox code uses logical in function names to refer to the flow
direction. This is confusing because writing mode also uses logical,
but this is a diffent usage. To avoid confusion, be explicit about
main vs cross axis. Extent is used instead of width/height.
No new tests, just a refactoring.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::mainAxisLengthForChild):
(WebCore::RenderFlexibleBox::crossAxisLength):
(WebCore::RenderFlexibleBox::setCrossExtent):
(WebCore::RenderFlexibleBox::crossExtentForChild):
(WebCore::RenderFlexibleBox::mainExtentForChild):
(WebCore::RenderFlexibleBox::crossAxisExtent):
(WebCore::RenderFlexibleBox::mainAxisExtent):
(WebCore::RenderFlexibleBox::crossAxisContentExtent):
(WebCore::RenderFlexibleBox::mainAxisContentExtent):
(WebCore::RenderFlexibleBox::crossAxisBorderAndPaddingExtent):
(WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
(WebCore::RenderFlexibleBox::flowAwareLocationForChild):
(WebCore::RenderFlexibleBox::setFlowAwareLocationForChild):
(WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisScrollbarExtentForChild):
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForFlexItem):
(WebCore::RenderFlexibleBox::layoutInlineDirection):
(WebCore::RenderFlexibleBox::positiveFlexForChild): Since flex only
matters in the main axis, there's no reason to deambiguate it here.
(WebCore::RenderFlexibleBox::negativeFlexForChild): Ditto.
(WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Alignment is always
in the cross axis direction, so don't include that in the method name.
(WebCore::RenderFlexibleBox::marginBoxAscent):
(WebCore::RenderFlexibleBox::computePreferredMainAxisExtent):
(WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
(WebCore::RenderFlexibleBox::adjustAlignmentForChild): Alignment is always
in the cross axis direction, so don't include that in the method name.
(WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
* rendering/RenderFlexibleBox.h:
2011-10-27 Mark Hahnenberg <mhahnenberg@apple.com>
De-virtualize JSCell::toThisObject
https://bugs.webkit.org/show_bug.cgi?id=70958
Reviewed by Geoffrey Garen.
No new tests.
Converted all instances of toThisObject to static functions,
added toThisObject to the MethodTable, and replaced all call sites
with a corresponding lookup in the MethodTable.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::toThisObject):
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bridge/NP_jsobject.cpp:
(_NPN_Invoke):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeConnectionMethod::call):
2011-10-27 Adam Roben <aroben@apple.com>
Windows build fix after r98512
* html/HTMLMediaElement.cpp: Moved a Web Audio-related #include inside an appropriate ENABLE
guard.
2011-10-27 Adam Roben <aroben@apple.com>
Regenerate WebCore's Localizable.strings file
All I did was run update-webkit-localizable-strings. A few localizer comments changed, and
some strings (which must have been hand-added) got moved to a different part of the file.
* English.lproj/Localizable.strings:
2011-10-27 Daniel Cheng <dcheng@chromium.org>
Clean up MicroDataItemValue to use const String& instead of String
https://bugs.webkit.org/show_bug.cgi?id=70978
Reviewed by Tony Chang.
* html/MicroDataItemValue.cpp:
(WebCore::MicroDataItemValue::MicroDataItemValue):
* html/MicroDataItemValue.h:
2011-10-27 Antti Koivisto <antti@apple.com>
Use StringHasher to generate the matched declaration cache hash
https://bugs.webkit.org/show_bug.cgi?id=71012
Reviewed by Kenneth Rohde Christiansen and Andreas Kling.
It is faster and better than the current custom function.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::computeDeclarationHash):
2011-10-27 Kentaro Hara <haraken@chromium.org>
Refactor OptionsObject.cpp
https://bugs.webkit.org/show_bug.cgi?id=70572
Reviewed by Adam Barth.
For example, OptionsObject::getKeyBool() is an alias of
OptionsObject::getKeyValue(const String& key, bool& value).
We should remove OptionsObject::getKeyXXXX() (XXXX is some specific type)
and unify them into OptionsObject::get(const String& key, XXXX& value).
c.f. Corresponding JSC methods are unified into
JSDictionary::convertValue(JSC::ExecState*, JSC::JSValue, XXXX&).
The result of git diff is weird, but this patch is making just the following changes:
- Replaced getKeyBool(), getKeyInt32(), getKeyDouble() and getKeyString() with get().
- Renamed getKeyStringWithUndefinedOrNullCheck() to getWithUndefinedOrNullCheck().
- Removed getKeyDOMStringList() and getKeyKeyRange(), since these are not used.
- Move definitions of get() from .h to .cpp.
No new tests. No change in behavior.
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::get): Renamed from getKeyValue().
(WebCore::OptionsObject::getKey): No change to this method. git diff seems to misunderstand as if it is modified.
(WebCore::OptionsObject::getKeyDOMStringList): Removed, since no one is using it.
(WebCore::OptionsObject::getKeyKeyRange): Ditto.
(WebCore::OptionsObject::getWithUndefinedOrNullCheck): No change to this method. git diff seems to misunderstand as if it is modified.
* bindings/v8/OptionsObject.h: Moved definitions of get() to OptionsObject.cpp
* bindings/v8/custom/V8EventConstructors.cpp:
* bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
(WebCore::V8WebKitMutationObserver::observeCallback): Replaced getKeyXXXX() to get();
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore): Ditto.
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex): Ditto.
2011-10-27 Andreas Kling <kling@webkit.org>
StyleSheet.parentStyleSheet does not work.
https://bugs.webkit.org/show_bug.cgi?id=70956
Reviewed by Antti Koivisto.
Since StyleSheet is only ever parented by a CSSRule, we need
to go through that rule when resolving the StyleSheet's parent.
Test: fast/css/stylesheet-parentStyleSheet.html
* css/StyleSheet.cpp:
(WebCore::StyleSheet::parentStyleSheet):
2011-10-27 Antoine Labour <piman@chromium.org>
Disable blending when drawing opaque layers
https://bugs.webkit.org/show_bug.cgi?id=70085
Reviewed by James Robinson.
Covered by compositing/ tests, as well as a new unit test:
CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::setOpaque):
(WebCore::CCLayerImpl::opaque):
2011-10-27 Joshua Bell <jsbell@chromium.org>
IndexedDB: Passing empty array to IDBDatabase.transaction should raise exception
https://bugs.webkit.org/show_bug.cgi?id=70251
Reviewed by Adam Barth.
IDBDatabase.transaction() supported being called with an empty array to
lock all object stores. Support for this was rejected from inclusion in
the IDB spec due to performance concerns. This patch removes that
functionality.
A special case in the spec (passing a string instead of an array) worked
in WebKit accidentally, by resolving the string to an empty array. This
needed explicit support. Support for DOMString[] is added to the binding
code generators (reliant on DOMStringList) to ensure JS arrays are not
coerced to DOMStrings. This matches the proposed IDL.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheckExpression):
(GetNativeType):
(JSValueToNative):
(IsArrayType):
* bindings/scripts/IDLStructure.pm:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::transaction):
* storage/IDBDatabase.idl:
* storage/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
2011-10-27 Ken Buchanan <kenrb@chromium.org>
Crash due to nested first-letter selectors
https://bugs.webkit.org/show_bug.cgi?id=70457
Now only the lowest-level first-letter pseudostyle will be applied to
a given piece of text. Previously the last renderer to have layout
done would have its pseudostyle applied, no matter where it was in the
tree.
Reviewed by David Hyatt.
* renderer/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter): Use the pseudostyle from
the lowest level node to have one
2011-10-27 Andras Becsi <andras.becsi@nokia.com>
Fix the build if NO_LISTBOX_RENDERING is enabled
https://bugs.webkit.org/show_bug.cgi?id=71009
Reviewed by Kenneth Rohde Christiansen.
If NO_LISTBOX_RENDERING is enabled RenderMenuList::listBoxSelectItem uses the
HTMLSelectElement::listBoxSelectItem function which was accidentally removed in r97533.
Reintroduce HTMLSelectElement::listBoxSelectItem with a NO_LISTBOX_RENDERING guard to unbreak this setup.
This is covered by:
Source/WebCore/manual-tests/no-listbox-rendering.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxSelectItem): Reintroduce.
* html/HTMLSelectElement.h:
2011-10-27 Shinya Kawanaka <shinyak@google.com>
Implement legacy text check emulation in unified text check interface.
https://bugs.webkit.org/show_bug.cgi?id=70299
Reviewed by Hajime Morita.
When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
This emulation can be used by setting the flag on.
This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
Test: editing/spelling/spelling-unified-emulation.html
* editing/TextCheckingHelper.cpp:
(WebCore::findBadGrammars): Added.
(WebCore::findMisspellings): Added.
(WebCore::checkTextOfParagraph):
Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
* testing/Internals.cpp:
(WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
(WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
* testing/Internals.h:
* testing/Internals.idl:
2011-10-27 Philippe Normand <pnormand@igalia.com>
Unreviewed, remove those un-needed files committed by error in
r98554.
* platform/audio/gstreamer/#AudioFileReaderGStreamer.h#: Removed.
* platform/audio/gstreamer/.#AudioFileReaderGStreamer.h: Removed.
2011-10-27 Philippe Normand <pnormand@igalia.com> and Zan Dobersek <zandobersek@gmail.com>
[GStreamer] WebAudio AudioFileReader implementation
https://bugs.webkit.org/show_bug.cgi?id=69834
Reviewed by Martin Robinson.
Basic FileReader implementation, supporting one or 2 audio
channels. An empty AudioDestination is also provided, its complete
implementation is handled in bug 69835.
* GNUmakefile.am:
* GNUmakefile.list.am:
* platform/audio/gstreamer/AudioDestinationGStreamer.cpp: Added.
(WebCore::AudioDestination::create):
(WebCore::AudioDestination::hardwareSampleRate):
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::start):
(WebCore::AudioDestinationGStreamer::stop):
* platform/audio/gstreamer/AudioDestinationGStreamer.h: Added.
(WebCore::AudioDestinationGStreamer::isPlaying):
(WebCore::AudioDestinationGStreamer::sampleRate):
(WebCore::AudioDestinationGStreamer::sourceProvider):
* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Added.
(WebCore::getGStreamerAudioCaps):
(WebCore::getFloatFromByteReader):
(WebCore::copyGstreamerBuffersToAudioChannel):
(WebCore::onAppsinkNewBufferCallback):
(WebCore::messageCallback):
(WebCore::onGStreamerDeinterleavePadAddedCallback):
(WebCore::onGStreamerDeinterleaveReadyCallback):
(WebCore::onGStreamerDecodebinPadAddedCallback):
(WebCore::AudioFileReader::AudioFileReader):
(WebCore::AudioFileReader::~AudioFileReader):
(WebCore::AudioFileReader::handleBuffer):
(WebCore::AudioFileReader::handleMessage):
(WebCore::AudioFileReader::handleNewDeinterleavePad):
(WebCore::AudioFileReader::deinterleavePadsConfigured):
(WebCore::AudioFileReader::plugDeinterleave):
(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):
* platform/audio/gtk/AudioBusGtk.cpp: Added.
(WebCore::AudioBus::loadPlatformResource):
2011-10-27 Philippe Normand <pnormand@igalia.com>
Unreviewed, rebaseline of the bindings tests after r98501 which
removed getOwnPropertySlotVirtual.
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2011-10-27 Ilya Tikhonovsky <loislo@chromium.org>
WebInspector: View throughs the exception when a child view are removed by removeChildren call.
https://bugs.webkit.org/show_bug.cgi?id=71002
Another followup fix after r98225.
Reviewed by Pavel Feldman.
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype._queryFinished):
(WebInspector.DatabaseTableView.prototype._queryError):
2011-10-27 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Execution line in selected call frame should keep showing after toggling format source.
https://bugs.webkit.org/show_bug.cgi?id=70906
Reviewed by Yury Semikhatsky.
Test: inspector/debugger/selected-call-frame-after-formatting-source.html
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2011-10-27 Steve Block <steveblock@google.com>
Numerous debug build fixes
Unreviewed build fix.
No new tests, buuld fix only.
* loader/icon/IconDatabase.cpp: urlForLogging() is used by both LOG() and LOG_ERROR()
* storage/AbstractDatabase.h: databaseDebugName() is used by both LOG() and LOG_ERROR()
* storage/DatabaseTask.cpp: m_complete is only available when !LOG_DISABLED
2011-10-27 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Refactor ScriptsPanel so that ConsoleView does not depend on it.
https://bugs.webkit.org/show_bug.cgi?id=70899
Moved methods used in console view to DebuggerPresentationModel.
Changed debuggerPaused handler logic so that selectedCallFrame is never null when debugger is paused.
Reviewed by Pavel Feldman.
* inspector/front-end/ConsoleView.js:
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
(WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
(WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
(WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
(WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables):
(WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
(WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
(WebInspector.ScriptsPanel.prototype._executionLineChanged):
(WebInspector.ScriptsPanel.prototype._updateExecutionLine):
(WebInspector.ScriptsPanel.prototype._callFrameSelected):
(WebInspector.ScriptsPanel.prototype._updateCallFrame):
2011-10-27 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Add support for advanced search in content scripts.
https://bugs.webkit.org/show_bug.cgi?id=70923
Reviewed by Yury Semikhatsky.
* English.lproj/localizedStrings.js:
* inspector/front-end/ScriptsSearchScope.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
2011-10-27 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed one line fix for DOMStorageItemsView.
It have to use this.detachChildViews instead of this.element.removeChildren after r98225.
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype.update):
2011-10-27 Antti Koivisto <antti@apple.com>
Matched declaration cache
https://bugs.webkit.org/show_bug.cgi?id=70931
Reviewed by Darin Adler.
Sets of style declarations are applied repeatedly for different elements when calculating the document style.
The same set of applied declarations results in the same non-inherited style, independent of the element and
its context. We can use this to build a cache to speed up style applying and to share more style data for
reduced memory usage.
The patch reduces RenderStyle memory use ~40% and total memory use by ~7% over HTML5 spec load.
It is also ~10% progression in PerformanceTests/Parser/html5-full-render.html.
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSProperty.h:
(WebCore::CSSProperty::CSSProperty):
(WebCore::CSSProperty::isInherited):
We need to know which properties are inherited, something we didn't have available so far.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
A set of declarations is only cacheable if it contains no element specific style. This way we
don't need to worry about cache invalidation. The whole style selector is reconstructed if the
stylesheets change, invalidating the cache too.
(WebCore::CSSStyleSelector::styleForElement):
Trigger image loads bit earlier so cached style will have them too.
(WebCore::CSSStyleSelector::applyDeclaration):
(WebCore::CSSStyleSelector::applyDeclarations):
Allow skipping over non-inherited properties.
(WebCore::CSSStyleSelector::computeDeclarationHash):
Hash function for declartion cache lookups.
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
Lookup from cache.
(WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
Add to cache.
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
If cached style is found, copy the non-inherited properties from the cache and apply the inherited properties (if any) only.
Font and zoom changes force full applying as they can affect values of other properties (this can be relaxed later).
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::MatchResult::MatchResult):
Cacheability bit.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::copyNonInheritedFrom):
* rendering/style/RenderStyle.h:
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::copyNonInheritedFrom):
* rendering/style/SVGRenderStyle.h:
Functions for assembling RenderStyle from non-inherited parts of the cached style.
2011-10-27 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API] add ignoreCache flag to options of inspectedWindow.reload()
https://bugs.webkit.org/show_bug.cgi?id=70926
Reviewed by Pavel Feldman.
Test: http/tests/inspector/extensions-ignore-cache.html
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onReload):
* inspector/front-end/externs.js:
():
2011-10-26 Steve Falkenburg <sfalken@apple.com>
ResourceError doesn't support custom domains on Windows
https://bugs.webkit.org/show_bug.cgi?id=70983
<rdar://problem/10352145>
Reviewed by Oliver Hunt.
* platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::platformLazyInit): Add fallback case for unknown error types.
2011-10-26 Dan Bernstein <mitz@apple.com>
Fix a slider thumb rendering regression in Chromium on OS X in r98520.
Reviewed by Anders Carlsson.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb): Reverted the changes to the Chromium code path.
2011-10-26 Julien Chaffraix <jchaffraix@webkit.org>
Unreviewed, rolling out r98486.
http://trac.webkit.org/changeset/98486
https://bugs.webkit.org/show_bug.cgi?id=70748
Broke Chromium's test_expectation.txt
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::State::cloneInheritedProperties):
(WebCore::PlatformContextSkia::clipPathAntiAliased):
(WebCore::PlatformContextSkia::restore):
(WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
* platform/graphics/skia/PlatformContextSkia.h:
2011-10-26 Dan Bernstein <mitz@apple.com>
<rdar://problem/10350775> REGRESSION (r97032): Slider thumb is not drawn
https://bugs.webkit.org/show_bug.cgi?id=70891
Reviewed by Anders Carlsson.
* platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::ensuredView): Set the WebCoreFlippedView’s size, because NSSliderCell
always shrinks the slider thumb to fit in the control view’s bounds.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb): Removed workaround code no longer needed after
r97032.
2011-10-26 Chris Rogers <crogers@google.com>
Add AudioSourceProviderClient and setFormat() method so we can know audio stream format
https://bugs.webkit.org/show_bug.cgi?id=70155
Reviewed by Eric Carlson.
No new tests. There isn't yet an implementation to test.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::createMediaPlayer):
(WebCore::HTMLMediaElement::setAudioSourceNode):
Let MediaPlayer know about the MediaElementAudioSourceNode so it can callback with audio stream format information.
* platform/audio/AudioSourceProvider.h:
(WebCore::AudioSourceProvider::setClient):
Add abstract setClient() method so a client may know about stream format information when it becomes available.
* platform/audio/AudioSourceProviderClient.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
(WebCore::AudioSourceProviderClient::~AudioSourceProviderClient):
Add abstract class AudioSourceProviderClient which implements setFormat() to receive audio stream format information.
* webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::setFormat):
Concrete implementation of setFormat() so MediaElementAudioSourceNode can create necessary audio converters.
* webaudio/MediaElementAudioSourceNode.h:
Make MediaElementAudioSourceNode implement AudioSourceProviderClient so it can get audio stream format information
when its setFormat() method is called.
2011-10-26 Julien Chaffraix <jchaffraix@webkit.org>
Unreviewed, rolling out r98483.
http://trac.webkit.org/changeset/98483
https://bugs.webkit.org/show_bug.cgi?id=47156
Change is causing some crashes and ASSERTs.
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::lookupImageForSize):
(WebCore::CachedImage::lookupImageForRenderer):
(WebCore::CachedImage::lookupOrCreateImageForRenderer):
(WebCore::CachedImage::setContainerSizeForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::computeIntrinsicDimensions):
(WebCore::CachedImage::createImage):
* loader/cache/CachedImage.h:
* page/ChromeClient.h:
* rendering/ImageBySizeCache.cpp:
(WebCore::ImageBySizeCache::addClient):
(WebCore::ImageBySizeCache::removeClient):
(WebCore::ImageBySizeCache::imageForSize):
(WebCore::ImageBySizeCache::sizeForClient):
* rendering/ImageBySizeCache.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
* rendering/RenderBoxModelObject.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::imageDimensionsChanged):
(WebCore::RenderImage::isLogicalWidthSpecified):
(WebCore::RenderImage::isLogicalHeightSpecified):
(WebCore::RenderImage::computeReplacedLogicalWidth):
(WebCore::RenderImage::computeReplacedLogicalHeight):
(WebCore::RenderImage::calcAspectRatioLogicalWidth):
(WebCore::RenderImage::calcAspectRatioLogicalHeight):
* rendering/RenderImage.h:
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setContainerSizeForRenderer):
* rendering/RenderImageResourceStyleImage.cpp:
* rendering/RenderImageResourceStyleImage.h:
(WebCore::RenderImageResourceStyleImage::image):
(WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
(WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
* rendering/style/StyleCachedImage.h:
* rendering/style/StyleGeneratedImage.h:
(WebCore::StyleGeneratedImage::setContainerSizeForRenderer):
* rendering/style/StyleImage.h:
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::setContainerSizeForRenderer):
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicWidth):
(WebCore::RenderSVGRoot::computeIntrinsicHeight):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::paint):
(WebCore::RenderSVGRoot::calcViewport):
(WebCore::RenderSVGRoot::computeRectForRepaint):
* rendering/svg/RenderSVGRoot.h:
* svg/SVGLength.cpp:
(WebCore::SVGLength::determineViewport):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::relativeWidthValue):
(WebCore::SVGSVGElement::relativeHeightValue):
(WebCore::SVGSVGElement::currentViewBoxRect):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::setContainerSize):
(WebCore::SVGSVGElement::containerSize):
(WebCore::SVGSVGElement::hasSetContainerSize):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::usesContainerSize):
(WebCore::SVGImage::size):
(WebCore::SVGImage::hasRelativeWidth):
(WebCore::SVGImage::hasRelativeHeight):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::computeIntrinsicDimensions):
(WebCore::SVGImage::dataChanged):
* svg/graphics/SVGImage.h:
2011-10-26 Eric Carlson <eric.carlson@apple.com>
Constructors for all TextTrack interfaces should be available on DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=70734
Reviewed by Sam Weinig.
window-properties-expected.txt and global-constructors-expected.txt updated for this change.
* page/DOMWindow.idl: Add HTMLTrackElement, TextTrack, and TextTrackCueList.
2011-10-25 Andy Estes <aestes@apple.com>
REGRESSION (r93108): Shadow DOM media controls created for plug-in backed media elements.
https://bugs.webkit.org/show_bug.cgi?id=70872
Reviewed by Eric Carlson.
r93108 added a call to HTMLMediaElement::configureMediaControls() in
HTMLMediaElement::prepareForLoad(), which creates shadow DOM media
controls and is only appropriate to call when media elements are not
backed by plug-in proxies.
Resolve this by refactoring configureMediaControls() to do the right
thing for the plug-in proxy case by calling MediaPlayer::setControls().
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged): Call
configureMediaControls() directly and remove the preprocessor
conditional.
(WebCore::HTMLMediaElement::configureMediaControls): Call
MediaPlayer::setControls() if PLUGIN_PROXY_FOR_VIDEO is enabled.
2011-10-26 Jon Lee <jonlee@apple.com>
selectedIndex gets set from -1 to 0 when modifying options
https://bugs.webkit.org/show_bug.cgi?id=70547
<rdar://problem/8388856>
Reviewed by Darin Adler.
Changing the text causes a recalculation of the list items, which in the menu list case
forces the first element to be selected. We check the value of the selected option prior,
and restore it if it differs.
Test: fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes.html
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
* html/HTMLSelectElement.h: promote usesMenuList() from private to public for use by HTMLOptionElement
2011-10-25 Alexey Proskuryakov <ap@apple.com>
Embedded PDFs should be known to DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=70864
Reviewed by Darin Adler.
* WebCore.exp.in: Added exports.
2011-10-26 Mark Hahnenberg <mhahnenberg@apple.com>
Remove getOwnPropertySlotVirtual
https://bugs.webkit.org/show_bug.cgi?id=70741
Reviewed by Geoffrey Garen.
No new tests.
Removed all declarations and definitions of getOwnPropertySlotVirtual.
Also replaced all call sites to getOwnPropertyVirtualVirtual with a
corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::DialogHandler::returnValue):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getOwnPropertySlot):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::getSparseIndex):
(WebCore::CloneSerializer::getProperty):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
* bridge/qt/qt_runtime.cpp:
* bridge/qt/qt_runtime.h:
* bridge/runtime_array.cpp:
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
2011-10-26 Alejandro G. Castro <alex@igalia.com>
[GTK] Fix distcheck compilation
https://bugs.webkit.org/show_bug.cgi?id=70921
Add EventTargetFactory.in to the dist files, required after
r98388.
Reviewed by Martin Robinson.
* GNUmakefile.am:
2011-10-26 Michael Saboff <msaboff@apple.com>
Increase StringImpl Flag Bits for 8 bit Strings
https://bugs.webkit.org/show_bug.cgi?id=70937
Increased the number of bits used for flags in StringImpl
from 6 to 8 bits. This frees up 2 flag bits that will be
used for 8-bit string support. Updated hash methods accordingly.
Changed hash value masking from the low bits to the high
bits.
Reviewed by Darin Adler.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHashValue):
2011-10-26 Dimitri Glazkov <dglazkov@chromium.org>
REGRESSION (r94887): Scrolling the HTML spec is more jerky now than it was (regression)
https://bugs.webkit.org/show_bug.cgi?id=70857
Revert r94887, because it regressed performance.
Rubber-stamped by Antti Koivisto.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::canShareStyleWithElement):
(WebCore::parentStylePreventsSharing):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkSelector):
* dom/Element.cpp:
(WebCore::Element::recalcStyle):
(WebCore::checkForSiblingStyleChanges):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::childrenAffectedByDirectAdjacentRules):
(WebCore::InheritedFlags::setChildrenAffectedByDirectAdjacentRules):
2011-10-26 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Need workaround for the red crossed circle in the status bar not bringing up the console when clicked
https://bugs.webkit.org/show_bug.cgi?id=70928
Reviewed by Pavel Feldman.
* inspector/front-end/inspector.css:
(#error-count-img):
(#error-count + #warning-count-img):
(#warning-count-img):
* inspector/front-end/inspector.js:
(WebInspector._updateErrorAndWarningCounts):
2011-10-26 Mike Reed <reed@google.com>
[skia] replace offscreen technique with native support for antialiased clipping
https://bugs.webkit.org/show_bug.cgi?id=70748
Reviewed by Stephen White.
~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
bits of the result. Other than that, the results should be the same, except that now the drawing
can go directly to the canvas, rather than being direct offscreen and then have that result
"clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
antialiased clip area.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::State::State):
(WebCore::PlatformContextSkia::State::cloneInheritedProperties):
(WebCore::PlatformContextSkia::clipPathAntiAliased):
(WebCore::PlatformContextSkia::restore):
2011-10-26 Nikolas Zimmermann <nzimmermann@rim.com>
CSS 2.1 failure: background-intrinsic-*
https://bugs.webkit.org/show_bug.cgi?id=47156
SVGs do not work as tiled background images
https://bugs.webkit.org/show_bug.cgi?id=16281
Apply preserveAspectRatio and synthesize viewboxes in <img>
https://bugs.webkit.org/show_bug.cgi?id=34521
SVG background doesn't resize properly when dimensions are changed
https://bugs.webkit.org/show_bug.cgi?id=42944
Images with percent height inside a floated div should use intrinsic height.
https://bugs.webkit.org/show_bug.cgi?id=45439
SVG image in HTML changes size as the window is resized
https://bugs.webkit.org/show_bug.cgi?id=52045
Reviewed by Antti Koivisto.
Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
Tests: css2.1/20110323/background-intrinsic-001.htm
css2.1/20110323/background-intrinsic-002.htm
css2.1/20110323/background-intrinsic-003.htm
css2.1/20110323/background-intrinsic-004.htm
css2.1/20110323/background-intrinsic-005.htm
css2.1/20110323/background-intrinsic-006.htm
css2.1/20110323/background-intrinsic-007.htm
css2.1/20110323/background-intrinsic-008.htm
css2.1/20110323/background-intrinsic-009.htm
svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
svg/as-background-image/same-image-two-instances-background-image.html
svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
svg/as-image/same-image-two-instances.html
svg/as-image/svg-as-relative-image-with-explicit-size.html
svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
* loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
(WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
(WebCore::CachedImage::lookupImageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
(WebCore::createSVGImage): Refactored from createImage(), contains the SVGImage creation part only.
(WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
(WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
(WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
(WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
(WebCore::CachedImage::addClientForRenderer): Special variant of addClient(), overriding the existing in CachedResource.
(WebCore::CachedImage::removeClientForRenderer): Special variant of removeClient(), that also clears the image in the ImageBySizeCache.
(WebCore::CachedImage::createImage): Refactor SVGImage creation into createSVGImage() free function, to be useable from lookupOrCreateImageForRenderer().
* loader/cache/CachedImage.h: Expose removeClientForRenderer().
* page/ChromeClient.h:
(WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
* rendering/ImageBySizeCache.cpp:
(WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
(WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
(WebCore::ImageBySizeCache::setClient): New helper function, that combines the usage of addClient/removeClient, for the use in CachedImage.
(WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
(WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
* rendering/ImageBySizeCache.h: Expose setClient() & imageForRenderer().
* rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
(WebCore::resolveWidthForRatio): New inline helper function used bz calculateImageIntrinsicDimensions.
(WebCore::resolveHeightForRatio): Ditto.
(WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
(WebCore::resolveAgainstIntrinsicRatio): Ditto.
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
(WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
(WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
* rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
(WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
(WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
(WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
(WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
(WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
(WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
* rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
* rendering/RenderImageResourceStyleImage.cpp:
(WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
(WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
* rendering/RenderImageResourceStyleImage.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
(WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
* rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
(WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
(WebCore::StyleCachedImage::addClient): Forward to new addClientForRenderer().
(WebCore::StyleCachedImage::removeClient): Call new removeClientForRenderer() instead of removeClient(), so the ImageBySizeCache is also updated.
* rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
* rendering/style/StyleGeneratedImage.h:
(WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
* rendering/style/StyleImage.h: Ditto.
* rendering/style/StylePendingImage.h:
(WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
* rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
(WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
(WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
(WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize.
(WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
* rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
(WebCore::RenderSVGRoot::containerSize):
(WebCore::RenderSVGRoot::setContainerSize):
* svg/SVGLength.cpp:
(WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
* svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
(WebCore::SVGSVGElement::SVGSVGElement): Ditto.
(WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
* svg/SVGSVGElement.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImageChromeClient::setObserver): Helper function.
(WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
(WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
(WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
(WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
(WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
(WebCore::SVGImage::draw): Stop calling layout() while painting!
(WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
(WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation.
(WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
* svg/graphics/SVGImage.h:
2011-10-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
https://bugs.webkit.org/show_bug.cgi?id=70328
Reviewed by Simon Hausmann.
Also remove checks for m_client in DeviceMotionController as it can never be null.
No new tests, as the suspend/resume functionality is not fully working yet.
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
(WebCore::DeviceMotionController::suspend):
(WebCore::DeviceMotionController::resume):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::suspend):
(WebCore::DeviceOrientationController::resume):
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):
(WebCore::Document::stopActiveDOMObjects):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::removeObserver):
(WebCore::GeolocationController::suspend):
(WebCore::GeolocationController::resume):
* page/GeolocationController.h:
2011-10-26 Pavel Feldman <pfeldman@google.com>
Not reviewed: follow up to 98236 - moved inspector settings initialization earlier to unbreak settings panel.
* inspector/front-end/TextEditorModel.js:
(WebInspector.TextEditorModel):
2011-10-26 Zalan Bujtas <zbujtas@gmail.com>
Name viewport change event consistently.
https://bugs.webkit.org/show_bug.cgi?id=70901
Reviewed by Kenneth Rohde Christiansen.
Use ViewportPropertiesDidChange term consistently throughout WebKit.
No tests needed as the change is only method renaming.
* page/Chrome.cpp:
(WebCore::Chrome::dispatchViewportPropertiesDidChange):
* page/Chrome.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::dispatchViewportPropertiesDidChange):
* page/Page.cpp:
(WebCore::Page::updateViewportArguments):
2011-10-25 Stephen White <senorblanco@chromium.org>
[chromium] Canvas2D should rate-limit drawing to prevent swamping the GPU process.
https://bugs.webkit.org/show_bug.cgi?id=70367
Reviewed by James Robinson.
Sadly, we don't have infrastructure to test this kind of GPU swamping
yet.
* WebCore.gypi:
Add RateLimiter.* to the Chromium build.
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::contentChanged):
When the layer is notified that the contents have changed, ping the
rate limiter.
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
Call (new) virtual contentChanged() on a layer when its contents have
been changed (e.g., by a drawing call).
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::contentChanged):
New virtual contentChanged().
* platform/graphics/chromium/RateLimiter.cpp: Added.
(WebCore::RateLimiter::create):
Rate limiter factory function.
(WebCore::RateLimiter::RateLimiter):
(WebCore::RateLimiter::start):
Public API to start rate limiting a context.
(WebCore::RateLimiter::stop):
Public API to stop rate limiting a context.
(WebCore::RateLimiter::rateLimitContext):
Internal timer callback when a context should be rate limited.
* platform/graphics/chromium/RateLimiter.h: Added.
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::WebGLLayerChromium):
Remove rate limiting timer and extension check (moved to RateLimiter).
(WebCore::WebGLLayerChromium::contentChanged):
The function formerly known as setTextureUpdated(), now renamed to
match the base class virtual contentChanged(). Call rate limiter in
CCLayerTreeHost (local implementation removed).
(WebCore::WebGLLayerChromium::setContext):
When the context is changed, stop the pending rate limiter on the old
context. Remove extension check (moved to RateLimiter).
* platform/graphics/chromium/WebGLLayerChromium.h:
Remove rate limiting timer and extension check (moved to RateLimiter).
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::startRateLimiter):
Public API for starting per-context rate limiter.
(WebCore::CCLayerTreeHost::stopRateLimiter):
Public API for stopping per-context rate limiter.
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
Implementation of per-GraphicsContext3D RateLimiter.
2011-10-26 Pavel Feldman <pfeldman@chromium.org>
Not reviewed: fixing inspector extensions tests.
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
2011-10-26 Balazs Kelemen <kbalazs@webkit.org>
ParallelJobs path of FEConvolveMatrix is erroneous
https://bugs.webkit.org/show_bug.cgi?id=70409
Reviewed by Zoltan Herczeg.
Covered by existing tests.
* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::fastSetInteriorPixels):
Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
The bug was hidden so far because that computation has no effect when we are going
with the full inferior area in one round (in that case clipBottom and yEnd are equals
and the value of the expression is always 0). With ParallelJobs we process sub-areas
on each thread which has triggered the issue.
2011-10-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98393.
http://trac.webkit.org/changeset/98393
https://bugs.webkit.org/show_bug.cgi?id=70892
"Compilation is broken on Chromium Webkit Mac Builder (dbg) "
(Requested by yurys on #webkit).
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::setMasksToBounds):
(WebCore::LayerChromium::setMaskLayer):
2011-10-26 Pavel Feldman <pfeldman@google.com>
Web Inspector: order console message parameters for better optional parameters handling.
https://bugs.webkit.org/show_bug.cgi?id=70809
Reviewed by Yury Semikhatsky.
* inspector/Inspector.json:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl):
(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
* inspector/front-end/ConsoleModel.js:
(WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
(WebInspector.ConsoleMessage.create):
(WebInspector.ConsoleDispatcher.prototype.messageAdded):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleCommandResult):
(WebInspector.ConsoleMessage.create):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
* inspector/front-end/inspector.js:
(WebInspector.log.logMessage):
(WebInspector.log):
2011-10-26 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Debugger fails when there is an invalid watch expression.
https://bugs.webkit.org/show_bug.cgi?id=70718
Reviewed by Pavel Feldman.
Test: inspector/debugger/watch-expressions-panel-switch.html
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2011-10-26 Fady Samuel <fsamuel@chromium.org>
Page Scale Factor broken when navigating history on pages with child frames
https://bugs.webkit.org/show_bug.cgi?id=70459
Reviewed by Darin Fisher.
With frameScaleFactor now always returning 1.0 for subframes and pageScaleFactor for the mainFrame,
and there being only a single pageScaleFactor, history for scaling is broken. Scaling history is
saved on a per frame basis but restored, overriding the per-page pageScaleFactor multiple times.
As a result, sometimes pages that have subframes end up getting a scale factor of 1.0 instead
of the correct scale factor that was assigned to the main frame.
No new tests because I don't know how to test this.
* loader/HistoryController.cpp:
(WebCore::HistoryController::restoreScrollPositionAndViewState):
2011-10-26 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98429.
http://trac.webkit.org/changeset/98429
https://bugs.webkit.org/show_bug.cgi?id=70881
"webkit_gpu_tests fail in Chromium" (Requested by yurys on
#webkit).
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::layerRendererContext):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::context):
(WebCore::CCLayerTreeHost::setNeedsAnimate):
(WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
(WebCore::CCLayerTreeHost::setNeedsRedraw):
(WebCore::CCLayerTreeHost::composite):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::setThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-10-26 Ben Wells <benwells@chromium.org>
Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66920
Reviewed by James Robinson.
Test: fast/canvas/canvas-composite-image.html
Use the same method as fills to handle composited drawImage calls that will affect the whole
canvas. To do this code used when doing fills has been factored into seperate functions and
used by drawImage. Some functions used to do these types of operations have also been renamed.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::isFullCanvasCompositeMode):
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
(WebCore::CanvasRenderingContext2D::createCompositingBuffer):
(WebCore::CanvasRenderingContext2D::compositeBuffer):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
* html/canvas/CanvasRenderingContext2D.h:
2011-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98379.
http://trac.webkit.org/changeset/98379
https://bugs.webkit.org/show_bug.cgi?id=70875
Did not pass on JSC ports (Requested by abarth on #webkit).
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateArgumentsCountCheck):
(GenerateImplementation):
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
2011-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98346.
http://trac.webkit.org/changeset/98346
https://bugs.webkit.org/show_bug.cgi?id=70874
Breaks JSC-based bots. (Requested by pfeldman on #webkit).
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2011-10-25 Nat Duca <nduca@chromium.org>
[chromium] Enable threaded compositing via CCThreadProxy::hasThread only
https://bugs.webkit.org/show_bug.cgi?id=70838
Reviewed by James Robinson.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::layerRendererContext):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::enabled):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::context):
(WebCore::CCLayerTreeHost::setNeedsAnimate):
(WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
(WebCore::CCLayerTreeHost::setNeedsRedraw):
(WebCore::CCLayerTreeHost::composite):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::CCSettings::CCSettings):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::hasThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-10-25 Xiaomei Ji <xji@chromium.org>
--webkit-visual-word does not work in multi-line
https://bugs.webkit.org/show_bug.cgi?id=61344
Reviewed by Ryosuke Niwa.
Get next or previous root inline box (which is not in the same
render object as the current root inline box) by traversing DOM node.
Test: editing/selection/move-by-word-visually-inline-block-positioned-element.html
* editing/visible_units.cpp:
(WebCore::previousRootInlineBox):
(WebCore::nextRootInlineBox):
(WebCore::leftInlineBox):
(WebCore::rightInlineBox):
2011-10-25 Adam Barth <abarth@webkit.org>
JSEventTarget.cpp has a bunch of unnessary includes
https://bugs.webkit.org/show_bug.cgi?id=70865
Reviewed by Eric Seidel.
In the process of removing these includes, I noticed we had a bunch of
non-autogenerated code in this file, which I've now autogenerated.
* bindings/js/JSEventTarget.cpp:
(WebCore::toEventTarget):
- One subtly here is the outter static_cast, which is caused by an
inheritance infelicity in JavaScriptAudioNode, which I've noted
with a FIXME. In any case, the extra static_cast shouldn't cause
any trouble.
* webaudio/JavaScriptAudioNode.h:
2011-10-25 Adam Barth <abarth@webkit.org>
V8DOMWrapper.cpp has unneeded header includes
https://bugs.webkit.org/show_bug.cgi?id=70863
Reviewed by Eric Seidel.
* bindings/v8/V8DOMWrapper.cpp:
2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
Resetting baseline for test bindings
Unreviewed preemptive build fix
No new tests.
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
Remove deletePropertyVirtual
https://bugs.webkit.org/show_bug.cgi?id=70738
Reviewed by Geoffrey Garen.
No new tests.
Removed all declarations and definitions of deletePropertyVirtual.
Also replaced all call sites to deletePropertyVirtual with a
corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::deleteProperty):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::deleteProperty):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::deleteProperty):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::deleteProperty):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::deleteProperty):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::deleteProperty):
* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::remove):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject removeWebScriptKey:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bridge/NP_jsobject.cpp:
(_NPN_RemoveProperty):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::removeMember):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
* bridge/runtime_array.cpp:
* bridge/runtime_array.h:
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
2011-10-25 Chris Fleizach <cfleizach@apple.com>
AX: WebKit does not expose HTML label for slider elements
https://bugs.webkit.org/show_bug.cgi?id=70856
Reviewed by Darin Adler.
Test: platform/mac/accessibility/slider-allows-title-ui-element.html
* accessibility/AccessibilitySlider.h:
(WebCore::AccessibilitySlider::isControl):
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
Remove putVirtual
https://bugs.webkit.org/show_bug.cgi?id=70740
Reviewed by Geoffrey Garen.
No new tests.
Removed all declarations and definitions of putVirtual.
Also replaced all call sites to putVirtual with a
corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::put):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::runtimeObjectCustomPut):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::putProperty):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/NP_jsobject.cpp:
(_NPN_SetProperty):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::setMember):
(JavaJSObject::setSlot):
* bridge/objc/objc_runtime.h:
* bridge/objc/objc_runtime.mm:
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
* bridge/runtime_array.cpp:
* bridge/runtime_array.h:
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
* bridge/testqtbindings.cpp:
(main):
2011-10-25 Adam Barth <abarth@webkit.org>
EventTargetFactory.in is not sorted
https://bugs.webkit.org/show_bug.cgi?id=70855
Reviewed by Eric Seidel.
This patch sorts the file. I was not able to measure a performance
difference using the microbenchmark included with this patch.
* dom/EventTargetFactory.in:
2011-10-25 Adam Barth <abarth@webkit.org>
Attempt to fix the Windows build. Windows mashes all these files into
one, which doesn't respect the compilation unit rules of C++.
* bindings/js/JSEventCustom.cpp:
* bindings/js/JSEventTarget.cpp:
2011-10-25 Ryosuke Niwa <rniwa@webkit.org>
Moving to the start of line should not place the caret outside of the table
https://bugs.webkit.org/show_bug.cgi?id=70757
Reviewed by Chang Shu.
The bug was caused by positionAvoidingFirstPositionInTable. Get rid of the function.
Test: editing/selection/table-lineboundary.html
* editing/visible_units.cpp:
(WebCore::startPositionForLine):
2011-10-25 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=70852
Setting up a HiDPI base-level GraphicsContext should be more straightforward for
WebKit2
Reviewed by Dan Bernstein.
This patch removes the old cg-only GraphicsContext::setBaseCTM() api, and adds
platform-independent GraphicsContext::applyDeviceScaleFactor().
* WebCore.exp.in:
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
Since this patch removes GraphicsContext::setBaseCTM(), this code has been
reverted to do what it used to do before that was added; it just calls into
WebCoreSystemInterface directly.
* platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::drawPattern):
2011-10-25 Anders Carlsson <andersca@apple.com>
Plug-ins have to use JavaScript to find out the current device scale factor
https://bugs.webkit.org/show_bug.cgi?id=67225
Reviewed by Darin Adler.
Test: platform/mac-wk2/plugins/contents-scale-factor.html
Add NPNVcontentsScaleFactor, as per https://wiki.mozilla.org/NPAPI:ContentsScaleFactor.
* plugins/npapi.h:
2011-10-25 Adam Klein <adamk@chromium.org>
Forward declare MutationObserverEntry as a struct to fix clang build
https://bugs.webkit.org/show_bug.cgi?id=70853
Reviewed by Ryosuke Niwa.
Node.h forward declared MutationObserverEntry as a class, and clang
complains if the two declarations don't match.
* dom/Node.h:
2011-10-25 Dan Bernstein <mitz@apple.com>
Caret can be positioned or repainted incorrectly in flipped-blocks multi-column blocks
https://bugs.webkit.org/show_bug.cgi?id=70851
Reviewed by Dave Hyatt.
* manual-tests/caret-in-columns-flipped.html: Added.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustForColumns): Removed flipped-blocks writing mode considerations
from this function, since not all callers were expecting it to account for flippedness. This makes
it similar to adjustRectForColumns() in not adjusting for flippedness.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::offsetFromContainer): In the columns case, account for flipped-blocks modes
by first mapping the point and the offset to non-flipped, non-columns space, then adjusting for
columns, then flipping.
2011-10-25 Michal Mocny <mmocny@google.com>
LayerRendererChromium::setVisible called needlessly without a visibility change
https://bugs.webkit.org/show_bug.cgi?id=70766
Reviewed by Kenneth Russell.
Check that visibility has actually changed before calling LayerRendererChromium::setVisible
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::setVisible):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2011-10-25 Anders Carlsson <andersca@apple.com>
REGRESSION(97821): HistoryController::itemsAreClones crashes a lot
https://bugs.webkit.org/show_bug.cgi?id=70827
<rdar://problem/10342925>
Reviewed by Adam Barth.
Check that m_currentItem is non-null before passing it to itemsAreClones. While I wasn't
able to make a test case that would reproduce this crash, we do check m_currentItem for null
everywhere else, and the crash log indicates that this would fix the crash.
* loader/HistoryController.cpp:
(WebCore::HistoryController::recursiveUpdateForCommit):
2011-10-25 Adam Barth <abarth@webkit.org>
EventTarget.h shouldn't need to know about every feature and ifdef
https://bugs.webkit.org/show_bug.cgi?id=70659
Reviewed by Darin Adler.
This patch follows the approach of Event.h and introduces an
interfaceName virtual function that returns the name of the DOM
interface for the concrete type of the object. This function lets us
remove a large number of fake dynamic casts.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_makenames.py:
- Teach action_makenames how to handle the new "in" file.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
- Use the new autogenerated macro to remove a large amount of
feature-specific code.
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::initScript):
* bindings/objc/DOM.mm:
(kit):
- The SVGElementInstance branch was never taken previously because
SVGElementInstance::toNode returns a non-NULL value. This code
was introduced in http://trac.webkit.org/changeset/42618 and
doesn't appear to have ever worked as the author intended.
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::convertEventTargetToV8Object):
- Use the new autogenerated macro to remove a large amount of
feature-specific code.
* dom/EventNames.cpp:
(WebCore::EventNames::EventNames):
* dom/EventNames.h:
* dom/EventTarget.cpp:
* dom/EventTarget.h:
* dom/EventTargetFactory.in: Added.
- Add a new "in" file that lists all the EventTargets.
* dom/LocalMediaStream.cpp:
(WebCore::LocalMediaStream::interfaceName):
* dom/LocalMediaStream.h:
* dom/MediaStream.cpp:
(WebCore::MediaStream::interfaceName):
* dom/MediaStream.h:
* dom/MessagePort.cpp:
(WebCore::MessagePort::interfaceName):
* dom/MessagePort.h:
* dom/Node.cpp:
(WebCore::Node::toNode):
(WebCore::Node::interfaceName):
* dom/Node.h:
* dom/make_event_factory.pl:
- Generalize make_event_factory.pl to be able to generate
interfaces for different namespaces.
* fileapi/FileReader.cpp:
(WebCore::FileReader::interfaceName):
* fileapi/FileReader.h:
* fileapi/FileWriter.cpp:
(WebCore::FileWriter::interfaceName):
* fileapi/FileWriter.h:
* loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::interfaceName):
* loader/appcache/DOMApplicationCache.h:
* notifications/Notification.cpp:
(WebCore::Notification::interfaceName):
* notifications/Notification.h:
(WebCore::Notification::scriptExecutionContext):
* p2p/PeerConnection.cpp:
(WebCore::PeerConnection::interfaceName):
* p2p/PeerConnection.h:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::interfaceName):
(WebCore::DOMWindow::toDOMWindow):
* page/DOMWindow.h:
* page/EventSource.cpp:
(WebCore::EventSource::interfaceName):
* page/EventSource.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::interfaceName):
* storage/IDBDatabase.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::interfaceName):
* storage/IDBRequest.h:
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::interfaceName):
* storage/IDBTransaction.h:
* storage/IDBVersionChangeRequest.cpp:
(WebCore::IDBVersionChangeRequest::interfaceName):
* storage/IDBVersionChangeRequest.h:
* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::interfaceName):
* svg/SVGElementInstance.h:
(WebCore::SVGElementInstance::toNode):
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::interfaceName):
(WebCore::AudioContext::scriptExecutionContext):
* webaudio/AudioContext.h:
* webaudio/JavaScriptAudioNode.cpp:
(WebCore::JavaScriptAudioNode::interfaceName):
* webaudio/JavaScriptAudioNode.h:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::interfaceName):
* websockets/WebSocket.h:
* workers/DedicatedWorkerContext.cpp:
(WebCore::DedicatedWorkerContext::interfaceName):
* workers/DedicatedWorkerContext.h:
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerConnectTask::performTask):
* workers/SharedWorker.cpp:
(WebCore::SharedWorker::interfaceName):
* workers/SharedWorker.h:
* workers/SharedWorkerContext.cpp:
(WebCore::SharedWorkerContext::interfaceName):
* workers/SharedWorkerContext.h:
* workers/Worker.cpp:
(WebCore::Worker::interfaceName):
* workers/Worker.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::interfaceName):
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequestUpload.cpp:
(WebCore::XMLHttpRequestUpload::interfaceName):
* xml/XMLHttpRequestUpload.h:
2011-10-25 Pavel Podivilov <podivilov@chromium.org>
Fix several minor problems in idls.
https://bugs.webkit.org/show_bug.cgi?id=70811
Reviewed by Adam Barth.
This patch does not have any effect on generated bindings.
* dom/DataTransferItems.idl:
* page/History.idl:
* storage/IDBIndex.idl:
* xml/XMLHttpRequest.idl:
2011-10-25 Nate Chapin <japhet@chromium.org>
Make DocumentThreadableLoader a CachedResourceClient.
This will allow us to cache ThreadableLoaderClients as
appropriate in a later patch.
https://bugs.webkit.org/show_bug.cgi?id=61225
Reviewed by Antti Koivisto.
No new tests, no functionality change intended.
* WebCore.gypi:
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
for didFail() and didFinishLoading(), so we need to differentiate here.
(WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
instead of ResourceLoadScheduler::scheduleSubresourceLoad().
* loader/DocumentThreadableLoader.h:
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
'data' input parameter will contain all data received so far, and we need to determine the
incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
the incremental data.
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResource.h:
(WebCore::CachedResource::preloadResult):
(WebCore::CachedResource::didSendData):
(WebCore::CachedResource::didDownloadData):
(WebCore::CachedResource::setLoadFinishTime):
(WebCore::CachedResource::loadFinishTime):
* loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
the request, so protect appropriately.
* loader/cache/CachedResourceRequest.h:
* loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
* loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
* loader/chromium/DocumentThreadableLoaderChromium.cpp:
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
2011-10-25 Pavel Podivilov <podivilov@chromium.org>
Get rid of optional parameters in the middle in IDLs.
https://bugs.webkit.org/show_bug.cgi?id=70816
Reviewed by Adam Barth.
Optional parameters in the middle are prohibited by WebIDL spec.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateArgumentsCountCheck):
(GenerateImplementation):
* html/canvas/CanvasRenderingContext2D.idl:
* page/DOMWindow.idl:
2011-10-25 Chris Evans <cevans@google.com>
Manage the CSS property array length correctly
https://bugs.webkit.org/show_bug.cgi?id=70783
Reviewed by Adam Barth.
* css/CSSParser.cpp:
(WebCore::CSSParser::addProperty): don't allow max length to get out of sync with the buffer.
2011-10-25 Tony Chang <tony@chromium.org>
avoid unnecessary layouts of flex items during the flex pass
https://bugs.webkit.org/show_bug.cgi?id=70557
Reviewed by Ojan Vafai.
If the preferred size of a flex item is provided, we don't need to
layout the flex item when computing the preferred size. This allows
us to only call layout on each flex item once in the common case.
No new tests, covered by existing tests.
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::flowAwareLogicalWidthLengthForChild):
(WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
(WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
* rendering/RenderFlexibleBox.h:
2011-10-25 Fady Samuel <fsamuel@chromium.org>
Crash in WebCore::RenderTableSection::addChild due to assert failure
https://bugs.webkit.org/show_bug.cgi?id=70678
Reviewed by David Hyatt.
Tests: fast/table/table-anonymous-cell-bug.html
fast/table/table-anonymous-row-bug.html
fast/table/table-anonymous-section-bug.html
If the child being added is not a Section/Row/Cell, and the previous sibling is not anonymous,
we need to create a new anonymous Section/Row/Cell respectively, instead of failing an
assert.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild):
2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
Add getOwnPropertySlot to MethodTable
https://bugs.webkit.org/show_bug.cgi?id=69807
Reviewed by Oliver Hunt.
No new tests.
* bridge/runtime_method.h: Changed getOwnPropertySlot to be protected so
subclasses can reference it in their MethodTables.
2011-10-25 Simon Fraser <simon.fraser@apple.com>
REGRESSION (r88580): Cursor fails to change to pointer on embedded Google maps popups
https://bugs.webkit.org/show_bug.cgi?id=62797
Reviewed by Chris Marrin.
When hit testing through transformed layers, RenderLayer would simply use
the composited bounds of the layer as the localHitTestRect for hit testing sublayers.
However, this broke hit testing on pages that have a composited, non-transformed layer
which falls outside the bounds of its parent, composited-transformed layer, like Google
Maps.
Fix by mapping the hitTestRect through transforms. However this is tricky, because
mapping a rect into the coordinate system of a layer can result in invalid rectangles
when point projection results in a negative w component. Fix TransformationMatrix::projectPoint()
to detect this case and replace X and Y with large values, and add boundsOfProjectedQuad(), which
maps rectangles with possibly-infinite location or bounds into rects which are representable
in an IntRect.
Tests: transforms/3d/hit-testing/composited-hit-test.html
transforms/3d/hit-testing/rotated-hit-test-with-child.html
transforms/3d/hit-testing/rotated-hit-test2.html
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::projectPoint):
(WebCore::TransformationMatrix::projectQuad):
(WebCore::clampEdgeValue):
(WebCore::TransformationMatrix::boundsOfProjectedQuad):
* platform/graphics/transforms/TransformationMatrix.h:
* rendering/HitTestingTransformState.cpp:
(WebCore::HitTestingTransformState::boundsOfMappedQuad):
* rendering/HitTestingTransformState.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
2011-10-25 Adrienne Walker <enne@google.com>
[chromium] Batch up texture uploads so that they can be updated incrementally
https://bugs.webkit.org/show_bug.cgi?id=70454
Reviewed by James Robinson.
Because texture uploads can sometimes take more than a frame to
complete, collect all the uploads that need to occur in a
CCTextureUpdater so that we can easily incrementally upload some of
them, interleaving input and drawing so that the compositor thread
continues to appear responsive during a commit.
This change doesn't actually interleave the commits, it just pushes
the infrastructure for doing so up to the CCProxy level so that a
future scheduler can make this decision.
VideoLayerChromium is the only layer type to not use this system. It
needs to be converted to use a texture updater first and it is less of
a priority than the tiled layers.
* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::updateCompositorResources):
* platform/graphics/chromium/Canvas2DLayerChromium.h:
* platform/graphics/chromium/LayerChromium.h:
(WebCore::LayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::updateCompositorResources):
* platform/graphics/chromium/TiledLayerChromium.h:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::updateCompositorResources):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/WebGLLayerChromium.cpp:
(WebCore::WebGLLayerChromium::updateCompositorResources):
* platform/graphics/chromium/WebGLLayerChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::beginCommitOnImplThread):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::setNeedsCommit):
(WebCore::CCSingleThreadProxy::doCommit):
(WebCore::CCSingleThreadProxy::commitIfNeeded):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
* platform/graphics/chromium/cc/CCTextureUpdater.cpp: Added.
(WebCore::CCTextureUpdater::CCTextureUpdater):
(WebCore::CCTextureUpdater::~CCTextureUpdater):
(WebCore::CCTextureUpdater::append):
(WebCore::CCTextureUpdater::update):
(WebCore::CCTextureUpdater::clear):
* platform/graphics/chromium/cc/CCTextureUpdater.h: Added.
(WebCore::CCTextureUpdater::allocator):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::commitOnImplThread):
2011-10-24 Jer Noble <jer.noble@apple.com>
compositing/video tests time out on Lion
https://bugs.webkit.org/show_bug.cgi?id=70448
Reviewed by Simon Fraser.
AVFoundation will not begin loading or decoding media until a consumer for that media is present.
For video-only media, this means that an AVPlayerLayer must be created and attached to the
AVPlayer before the load state will ever reach "canPlayThrough". Once the metadata for a media
is loaded, create a AVPlayerLayer if the media has a video track.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2011-10-24 Ryosuke Niwa <rniwa@webkit.org>
Merge endOfLine with logicalEndOfLine and startOfLine with logicalStartOfLine
https://bugs.webkit.org/show_bug.cgi?id=70755
Reviewed by Chang Shu.
Merged endOfLine with logicalEndOfLine, and startOfLine with logicalStartOfLine
to reduce the code duplication.
* editing/visible_units.cpp:
(WebCore::startPositionForLine):
(WebCore::startOfLine):
(WebCore::logicalStartOfLine):
(WebCore::endPositionForLine):
(WebCore::inSameLogicalLine):
(WebCore::endOfLine):
(WebCore::logicalEndOfLine):
* editing/visible_units.h:
2011-10-25 Arko Saha <arko@motorola.com>
Microdata: itemtype attribute should be space-separated list to allow multiple types.
https://bugs.webkit.org/show_bug.cgi?id=70501
Reviewed by Ryosuke Niwa.
Tests: fast/dom/MicroData/getitems-multiple-itemtypes.html
fast/dom/MicroData/itemtype-add-remove-tokens.html
fast/dom/MicroData/itemtype-attribute-test.html
* dom/MicroDataItemList.cpp:
(WebCore::MicroDataItemList::nodeMatches):
* html/DOMSettableTokenList.h:
(WebCore::DOMSettableTokenList::tokens):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
(WebCore::HTMLElement::setItemValueText):
(WebCore::HTMLElement::itemType):
(WebCore::HTMLElement::setItemType):
* html/HTMLElement.h:
* html/HTMLElement.idl:
2011-10-25 Dan Bernstein <mitz@apple.com>
<rdar://problem/10337033> DOMRangeOfString:relativeTo:options has problems with -webkit-user-select: none
Reviewed by Adam Roben.
Test: added to TestWebKitAPI/Tests/mac/DOMRangeOfString.mm
* page/Page.cpp:
(WebCore::Page::rangeOfString): This function was incorrectly adding the StartInSelection option to
the initial search.
2011-10-25 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: redesign workers sidebar pane
https://bugs.webkit.org/show_bug.cgi?id=70815
Changed workers sidebar pane design.
Now there is a link to worker inspector for each dedicated worker created
by inspected page. The sidebar display a link to a page with list of all
shared workers if there one is supported by the WebKit port. Also there
is a checkbox that allows pause all new workers on first statements.
Reviewed by Pavel Feldman.
* inspector/front-end/Settings.js:
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager.prototype.openWorkerInspector):
(WebInspector.WorkerManager.prototype._workerInspectorClosing):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkerListSidebarPane):
(WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
(WebInspector.WorkerListSidebarPane.prototype._workersCleared):
(WebInspector.WorkerListSidebarPane.prototype._addWorker):
(WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
(WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
(WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink.link.onclick):
(WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink):
* inspector/front-end/elementsPanel.css:
* inspector/front-end/inspectorCommon.css:
(.sidebar-separator):
(.sidebar-label):
* inspector/front-end/scriptsPanel.css:
(.dedicated-worker-item):
(#shared-workers-list):
(#pause-workers-checkbox > input):
2011-10-25 Nico Weber <thakis@chromium.org>
[chromium/mac] Fix an ODR violation.
https://bugs.webkit.org/show_bug.cgi?id=70753
Reviewed by Anders Carlsson.
Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
Remove the unused one.
* WebCore.gyp/WebCore.gyp:
2011-10-25 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Debugger fails when there is an invalid watch expression.
https://bugs.webkit.org/show_bug.cgi?id=70718
Reviewed by Pavel Feldman.
Test: inspector/debugger/watch-expressions-panel-switch.html
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2011-10-24 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: fix empty line handling in source maps.
https://bugs.webkit.org/show_bug.cgi?id=70726
Reviewed by Yury Semikhatsky.
* inspector/front-end/CompilerSourceMapping.js:
(WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
2011-10-25 Justin Schuh <jschuh@chromium.org>
Check for empty string in parseArcFlag
https://bugs.webkit.org/show_bug.cgi?id=70763
Reviewed by Dirk Schulze.
Test: svg/path-invalid.html
* svg/SVGParserUtilities.cpp:
(WebCore::parseArcFlag):
2011-10-24 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: keep old source mapping when new one could not be loaded.
https://bugs.webkit.org/show_bug.cgi?id=70729
Reviewed by Yury Semikhatsky.
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
(WebInspector.RawSourceCode.prototype._updateSourceMapping):
(WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
2011-10-25 Sachin Puranik <sachin.puranik@motorola.com>
Double number step=.5 should be considered valid in <input type="number" step=".5">
https://bugs.webkit.org/show_bug.cgi?id=70320
Reviewed by Kent Tamura.
Test: fast/forms/input-step-as-double.html
* html/parser/HTMLParserIdioms.cpp:
(WebCore::parseToDoubleForNumberType): Changed the function to consider
step as valid even if it starts with "."
2011-10-25 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Chromium] Audits panel context menu for links not working properly
https://bugs.webkit.org/show_bug.cgi?id=70813
Reviewed by Pavel Feldman.
* inspector/front-end/AuditResultView.js:
(WebInspector.AuditResultView):
(WebInspector.AuditResultView.prototype._contextMenuEventFired):
2011-10-25 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Resources panel: display the current search match index in the toolbar.
https://bugs.webkit.org/show_bug.cgi?id=66050
Reviewed by Pavel Feldman.
Test: http/tests/inspector/search/resources-search-match-index.html
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.performSearch.callback):
(WebInspector.ResourcesPanel.prototype.performSearch):
(WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
(WebInspector.ResourcesPanel.prototype._showSearchResult):
(WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
(WebInspector.ResourcesSearchController):
(WebInspector.ResourcesSearchController.prototype.nextSearchResult):
(WebInspector.ResourcesSearchController.prototype.previousSearchResult):
(WebInspector.ResourcesSearchController.prototype._searchResult):
(WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
(WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
(WebInspector.SearchResultsTreeElementsTraverser.prototype.matchIndex):
(WebInspector.SearchResultsTreeElementsTraverser.prototype._elementSearchMatchesCount):
(WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
(WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
* inspector/front-end/treeoutline.js:
2011-10-25 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: JS exception in JavaScriptSourceFrame.onShowPopover/showObjectPopover()
https://bugs.webkit.org/show_bug.cgi?id=70812
Reviewed by Pavel Feldman.
Check if highlighted element is present while displaying object popover.
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
(WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
2011-10-21 Nat Duca <nduca@chromium.org>
[chromium] Route Console::time and Console::timeEnd to trace_event
https://bugs.webkit.org/show_bug.cgi?id=70620
Reviewed by Pavel Feldman.
* page/Console.cpp:
(WebCore::Console::time):
(WebCore::Console::timeEnd):
2011-10-21 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: [Extensions API] allow extensions to specify script to be injected on reload
https://bugs.webkit.org/show_bug.cgi?id=70600
Reviewed by Pavel Feldman.
- change webInspector.inspectedPage.reload() to accept multiple options in an object
- add an ability to inject a script upon a page reload
- return script id in addScriptToEvaluateOnLoad()
- provide removeScriptToEvaluateOnLoad()
- store scripts to evaluate on load in inspector state cookie
Test: inspector/extensions/extensions-reload.html
* inspector/Inspector.json:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::restore):
(WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
(WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
(WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
(WebCore::InspectorPageAgent::frameNavigated):
* inspector/InspectorPageAgent.h:
* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.InspectedWindow.prototype.reload):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onReload):
* inspector/front-end/WorkersSidebarPane.js:
(WebInspector.WorkersSidebarPane.prototype.setInstrumentation.callback):
(WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
2011-10-24 Pavel Feldman <pfeldman@google.com>
Web Inspector: print expired message count before remaining messages.
https://bugs.webkit.org/show_bug.cgi?id=70736
Reviewed by Yury Semikhatsky.
* inspector/Inspector-0.1.json:
* inspector/Inspector.json:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::restore):
* inspector/InspectorConsoleAgent.h:
* inspector/front-end/ConsoleModel.js:
2011-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98309.
http://trac.webkit.org/changeset/98309
https://bugs.webkit.org/show_bug.cgi?id=70801
Test fails on mac (Requested by benwells on #webkit).
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere):
(WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
* html/canvas/CanvasRenderingContext2D.h:
2011-10-24 Geoffrey Garen <ggaren@apple.com>
Chromium build fix: #include window.h for HANDLE.
* platform/graphics/opentype/OpenTypeUtilities.h:
2011-10-24 Ryosuke Niwa <rniwa@webkit.org>
Include ThreadSafeRefCounted.h since the class declared in this header file
inherits from ThreadSafeRefCounted.
* storage/IDBIndexBackendInterface.h:
2011-10-24 Ryosuke Niwa <rniwa@webkit.org>
Fix a typo.
* bindings/v8/JavaScriptCallFrame.h:
2011-10-24 Geoffrey Garen <ggaren@apple.com>
Removed SharedUChar and tightened language around its previous uses
https://bugs.webkit.org/show_bug.cgi?id=70698
Reviewed by David Levin.
- Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
the former names gave the dangerous misimpression that the resulting object
was thread-safe, which is not true.
- Updated a bunch of files for header dependency changes, now that
CrossThreadRefCounted is gone.
* ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
* WebCore.exp.in:
* bindings/js/ScriptHeapSnapshot.h:
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::release):
(WebCore::SerializedScriptValue::SerializedScriptValue):
* css/CSSPropertySourceData.h:
* css/CSSValue.h:
* css/StyleMedia.h:
* css/WebKitCSSMatrix.h:
* dom/QualifiedName.h:
* fileapi/LocalFileSystem.h:
(WebCore::LocalFileSystem::SystemBasePath::operator String):
* history/CachedFrame.h:
* history/CachedPage.h:
* history/HistoryItem.h:
* html/canvas/CanvasStyle.h:
* inspector/InspectorResourceAgent.h:
* loader/FormState.h:
* loader/TextResourceDecoder.h:
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::open):
(WebCore::IconDatabase::synchronousIconForPageURL):
(WebCore::IconDatabase::synchronousIconURLForPageURL):
(WebCore::IconDatabase::retainIconForPageURL):
(WebCore::IconDatabase::releaseIconForPageURL):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::IconDatabase::setIconURLForPageURL):
(WebCore::IconDatabase::databasePath):
(WebCore::IconDatabase::defaultDatabaseFilename):
(WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
(WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
* page/ContentSecurityPolicy.h:
* page/Coordinates.h:
(WebCore::Coordinates::isolatedCopy):
* page/Geoposition.h:
(WebCore::Geoposition::isolatedCopy):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::isolatedCopy):
* page/SecurityOrigin.h:
* page/animation/AnimationBase.h:
* platform/CrossThreadCopier.cpp:
(WebCore::::copy):
* platform/FileChooser.h:
* platform/KURL.cpp:
(WebCore::KURL::copy):
* platform/cf/SchedulePair.h:
* platform/network/BlobData.cpp:
(WebCore::BlobDataItem::detachFromCurrentThread):
(WebCore::BlobData::detachFromCurrentThread):
* platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::copyData):
* platform/network/MIMEHeader.h:
* platform/network/ResourceErrorBase.cpp:
(WebCore::ResourceErrorBase::copy):
* platform/network/ResourceLoadInfo.h:
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::copyData):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::copyData):
* platform/sql/SQLValue.cpp:
(WebCore::SQLValue::SQLValue):
(WebCore::SQLValue::string):
* rendering/style/QuotesData.h:
* storage/AbstractDatabase.cpp:
(WebCore::updateGuidVersionMap):
(WebCore::AbstractDatabase::AbstractDatabase):
(WebCore::AbstractDatabase::performOpenAndVerify):
(WebCore::AbstractDatabase::stringIdentifier):
(WebCore::AbstractDatabase::displayName):
(WebCore::AbstractDatabase::fileName):
(WebCore::AbstractDatabase::setExpectedVersion):
(WebCore::AbstractDatabase::getCachedVersion):
* storage/ChangeVersionWrapper.cpp:
(WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
* storage/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::tableNames):
* storage/DatabaseDetails.h:
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::setDatabaseDirectoryPath):
(WebCore::DatabaseTracker::databaseDirectoryPath):
(WebCore::DatabaseTracker::trackerDatabasePath):
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::originPath):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::populateOrigins):
(WebCore::DatabaseTracker::databaseNamesForOrigin):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::setQuota):
(WebCore::DatabaseTracker::recordCreatingDatabase):
(WebCore::DatabaseTracker::recordDeletingDatabase):
(WebCore::DatabaseTracker::recordDeletingOrigin):
(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
* storage/OriginQuotaManager.cpp:
(WebCore::OriginQuotaManager::trackOrigin):
(WebCore::OriginQuotaManager::addDatabase):
* storage/SQLError.h:
(WebCore::SQLError::message):
(WebCore::SQLError::SQLError):
* storage/SQLResultSetRowList.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::SQLStatement):
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::syncTimerFired):
* storage/StorageAreaSync.h:
* storage/StorageMap.cpp:
(WebCore::StorageMap::importItem):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::StorageSyncManager):
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::StorageTracker):
(WebCore::StorageTracker::syncImportOriginIdentifiers):
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::willDeleteAllOrigins):
* svg/SVGPathSeg.h:
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::url):
(WebCore::SharedWorkerProxy::name):
(WebCore::SharedWorkerProxy::SharedWorkerProxy):
(WebCore::DefaultSharedWorkerRepository::getProxy):
* workers/SharedWorkerThread.cpp:
(WebCore::SharedWorkerThread::SharedWorkerThread):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::WorkerExceptionTask):
(WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::postTaskForMode):
(WebCore::WorkerRunLoop::Task::Task):
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2011-10-24 Adam Barth <abarth@webkit.org>
Remove empty directory.
* p2p: Removed.
2011-10-24 Shawn Singh <shawnsingh@chromium.org>
[chromium] Refactor painting/updating/drawing code.
https://bugs.webkit.org/show_bug.cgi?id=70057
Reviewed by James Robinson.
This refactoring separates the "early exits" from the actual loop
that draws layers. As part of this, it was also appropriate to
clean up the way that masks and replicas are dealt with when
painting and updating. The purpose of all this is to make things
easier to test, and for a scissoring optimization that needs to
know exatly what gets drawn. Existing layout tests were able to
verify the refactoring did not change behavior.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
(WebCore::LayerRendererChromium::drawLayersInternal):
(WebCore::LayerRendererChromium::drawLayer):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
(WebCore::CCLayerTreeHost::updateCompositorResources):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::layerShouldBeAppended):
(WebCore::calculateDrawTransformsAndVisibilityInternal):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
(WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
2011-10-24 Luke Macpherson <macpherson@chromium.org>
REGRESSION(80893): HTML5 spec takes 2s longer to load due to time spent in CSSStyleSelector
https://bugs.webkit.org/show_bug.cgi?id=68944
Reviewed by Antti Koivisto.
No new tests / Covered by existing tests.
Removes all virtual dispatch from CSSStyleApplyProperty by converting to use static function pointers for dispatch.
Uses class templates instead of function templates to allow default parameters and also to share parameter declarations across static functions.
All constructor parameters become template parameters. This improves the level of compiler optimization that can be achieved.
Overall this achieved a ~2% overall speedup on run-safari PerformanceTests/Parser/html5-full-render.html,
and profiling showed a reduction in the time spent inside CSSStyleSelector::applyProperty().
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyExpanding::applyInheritValue):
(WebCore::ApplyPropertyExpanding::applyInitialValue):
(WebCore::ApplyPropertyExpanding::applyValue):
(WebCore::ApplyPropertyExpanding::createHandler):
(WebCore::ApplyPropertyDefaultBase::setValue):
(WebCore::ApplyPropertyDefaultBase::value):
(WebCore::ApplyPropertyDefaultBase::initial):
(WebCore::ApplyPropertyDefaultBase::applyInheritValue):
(WebCore::ApplyPropertyDefaultBase::applyInitialValue):
(WebCore::ApplyPropertyDefaultBase::applyValue):
(WebCore::ApplyPropertyDefaultBase::createHandler):
(WebCore::ApplyPropertyDefault::setValue):
(WebCore::ApplyPropertyDefault::applyValue):
(WebCore::ApplyPropertyDefault::createHandler):
(WebCore::ApplyPropertyStyleImage::applyValue):
(WebCore::ApplyPropertyStyleImage::createHandler):
(WebCore::ApplyPropertyAuto::setValue):
(WebCore::ApplyPropertyAuto::value):
(WebCore::ApplyPropertyAuto::hasAuto):
(WebCore::ApplyPropertyAuto::setAuto):
(WebCore::ApplyPropertyAuto::applyInheritValue):
(WebCore::ApplyPropertyAuto::applyInitialValue):
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyAuto::createHandler):
(WebCore::defaultInitialColor):
(WebCore::ApplyPropertyColor::applyInheritValue):
(WebCore::ApplyPropertyColor::applyInitialValue):
(WebCore::ApplyPropertyColor::applyValue):
(WebCore::ApplyPropertyColor::createHandler):
(WebCore::ApplyPropertyDirection::applyValue):
(WebCore::ApplyPropertyDirection::createHandler):
(WebCore::ApplyPropertyLength::setValue):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyLength::createHandler):
(WebCore::ApplyPropertyString::setValue):
(WebCore::ApplyPropertyString::applyValue):
(WebCore::ApplyPropertyString::createHandler):
(WebCore::ApplyPropertyBorderRadius::setValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyBorderRadius::createHandler):
(WebCore::ApplyPropertyFillLayer::applyInheritValue):
(WebCore::ApplyPropertyFillLayer::applyInitialValue):
(WebCore::ApplyPropertyFillLayer::applyValue):
(WebCore::ApplyPropertyFillLayer::createHandler):
(WebCore::ApplyPropertyComputeLength::setValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyComputeLength::createHandler):
(WebCore::ApplyPropertyFont::applyInheritValue):
(WebCore::ApplyPropertyFont::applyInitialValue):
(WebCore::ApplyPropertyFont::applyValue):
(WebCore::ApplyPropertyFont::createHandler):
(WebCore::ApplyPropertyFontWeight::applyValue):
(WebCore::ApplyPropertyFontWeight::createHandler):
(WebCore::ApplyPropertyCounter::emptyFunction):
(WebCore::ApplyPropertyCounter::applyValue):
(WebCore::ApplyPropertyCounter::createHandler):
(WebCore::ApplyPropertyCursor::applyInheritValue):
(WebCore::ApplyPropertyCursor::applyInitialValue):
(WebCore::ApplyPropertyCursor::applyValue):
(WebCore::ApplyPropertyCursor::createHandler):
(WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
(WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
(WebCore::ApplyPropertyAnimation::setValue):
(WebCore::ApplyPropertyAnimation::value):
(WebCore::ApplyPropertyAnimation::test):
(WebCore::ApplyPropertyAnimation::clear):
(WebCore::ApplyPropertyAnimation::initial):
(WebCore::ApplyPropertyAnimation::map):
(WebCore::ApplyPropertyAnimation::accessAnimations):
(WebCore::ApplyPropertyAnimation::animations):
(WebCore::ApplyPropertyAnimation::applyInheritValue):
(WebCore::ApplyPropertyAnimation::applyInitialValue):
(WebCore::ApplyPropertyAnimation::applyValue):
(WebCore::ApplyPropertyAnimation::createHandler):
(WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
(WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
(WebCore::ApplyPropertyOutlineStyle::applyValue):
(WebCore::ApplyPropertyOutlineStyle::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleApplyProperty.h:
(WebCore::PropertyHandler::PropertyHandler):
(WebCore::PropertyHandler::applyInheritValue):
(WebCore::PropertyHandler::applyInitialValue):
(WebCore::PropertyHandler::applyValue):
(WebCore::PropertyHandler::isValid):
(WebCore::PropertyHandler::inheritFunction):
(WebCore::PropertyHandler::initialFunction):
(WebCore::PropertyHandler::applyFunction):
(WebCore::CSSStyleApplyProperty::propertyHandler):
(WebCore::CSSStyleApplyProperty::setPropertyHandler):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::invalidColor):
2011-10-24 Ben Wells <benwells@chromium.org>
Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66920
Reviewed by James Robinson.
Test: fast/canvas/canvas-composite-image.html
Use the same method as fills to handle composited drawImage calls that will affect the whole
canvas. To do this code used when doing fills has been factored into seperate functions and
used by drawImage. Some functions used to do these types of operations have also been renamed.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::isFullCanvasCompositeMode):
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::fillRect):
(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
(WebCore::CanvasRenderingContext2D::createCompositingBuffer):
(WebCore::CanvasRenderingContext2D::compositeBuffer):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
* html/canvas/CanvasRenderingContext2D.h:
2011-10-24 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98294 and r98306.
http://trac.webkit.org/changeset/98294
http://trac.webkit.org/changeset/98306
https://bugs.webkit.org/show_bug.cgi?id=70790
the first patch broke chromium-mac and the second gclient
(Requested by jchaffraix on #webkit).
* WebCore.gyp/WebCore.gyp:
2011-10-24 Ryosuke Niwa <rniwa@webkit.org>
Build fix after r98300.
* WebCore.gypi:
* WebCore.pro:
2011-10-24 Anders Carlsson <andersca@apple.com>
It should be possible for Widget subclasses to control whether transforms affect the frame rect
https://bugs.webkit.org/show_bug.cgi?id=70787
Reviewed by Sam Weinig.
Currently RenderWidget sets the frame rect of it's hosted widget to the bounding box of the transformed
content box rect (unless the Widget is a frame view). It should be possible for Widget subclasses to override
this behavior and have the frame rect set to the absolute content box without any transforms applied.
* platform/Widget.h:
(WebCore::Widget::transformsAffectFrameRect):
Add new member function.
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetGeometry):
Move shared code from setWidget and updateWidgetPosition out into a new function. If transformsAffectFrameRect returns
false, just set the frame rect to the absolute content box.
(WebCore::RenderWidget::setWidget):
(WebCore::RenderWidget::updateWidgetPosition):
Call updateWidgetGeometry.
* rendering/RenderWidget.h:
2011-10-24 Arko Saha <arko@motorola.com>
Microdata: Add itemprop, itemref, itemvalue attributes.
https://bugs.webkit.org/show_bug.cgi?id=69839
Reviewed by Ryosuke Niwa.
Tests: fast/dom/MicroData/itemprop-add-remove-tokens.html
fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
fast/dom/MicroData/itemprop-must-be-read-only.html
fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
fast/dom/MicroData/itemref-add-remove-tokens.html
fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
fast/dom/MicroData/itemref-must-be-read-only.html
fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element.html
fast/dom/MicroData/itemvalue-reflects-href-attr.html
fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element.html
fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element.html
fast/dom/MicroData/itemvalue-reflects-the-src-attr.html
fast/dom/MicroData/itemvalue-returns-element-itself.html
fast/dom/MicroData/itemvalue-returns-null.html
fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001.html
fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* bindings/js/JSHTMLElementCustom.cpp:
(WebCore::toJS):
(WebCore::JSHTMLElement::itemValue):
(WebCore::JSHTMLElement::setItemValue):
* bindings/v8/custom/V8HTMLElementCustom.cpp:
(WebCore::toV8Object):
(WebCore::V8HTMLElement::itemValueAccessorGetter):
(WebCore::V8HTMLElement::itemValueAccessorSetter):
* dom/MicroDataItemList.cpp:
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::itemValueText):
(WebCore::HTMLAnchorElement::setItemValueText):
* html/HTMLAnchorElement.h:
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::itemValueText):
(WebCore::HTMLAreaElement::setItemValueText):
* html/HTMLAreaElement.h:
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
(WebCore::HTMLElement::itemProp): Returns element's itemprop content attribute.
(WebCore::HTMLElement::setItemProp): Sets itemprop value on changing elemet's
itemprop attribute.
(WebCore::HTMLElement::itemRef): Returns element's itemref content attribute.
(WebCore::HTMLElement::setItemRef): Sets itemref value on changing elemet's
itemref attribute.
(WebCore::HTMLElement::setItemValue): Sets element's itemvalue. If the element has no
itemprop attribute or if element has an itemscope attribute, it throws INVALID_ACCESS_ERR
exception.
(WebCore::HTMLElement::itemValue): Returns the elements itemvalue.
If the element has no itemprop attribute it returns null.
If the element has an itemscope attribute, it returns the element itself.
If the element is a meta element: It acts as it would if it was reflecting the element's
content content attribute.
If the element is an audio, embed, iframe, img, source, track, or video element: It acts
as it would if it was reflecting the element's src content attribute.
If the element is an a, area, or link element: It act as it would if it was reflecting the
href content attribute.
If the element is an object element: It acts as it would if it was reflecting the element's
data content attribute.
(WebCore::HTMLElement::itemValueText):
(WebCore::HTMLElement::setItemValueText):
* html/HTMLElement.h:
* html/HTMLElement.idl:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::itemValueText):
(WebCore::HTMLEmbedElement::setItemValueText):
* html/HTMLEmbedElement.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::itemValueText):
(WebCore::HTMLIFrameElement::setItemValueText):
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::itemValueText):
(WebCore::HTMLImageElement::setItemValueText):
* html/HTMLImageElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::itemValueText):
(WebCore::HTMLLinkElement::setItemValueText):
* html/HTMLLinkElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::itemValueText):
(WebCore::HTMLMediaElement::setItemValueText):
* html/HTMLMediaElement.h:
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::itemValueText):
(WebCore::HTMLMetaElement::setItemValueText):
* html/HTMLMetaElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::itemValueText):
(WebCore::HTMLObjectElement::setItemValueText):
* html/HTMLObjectElement.h:
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::itemValueText):
(WebCore::HTMLSourceElement::setItemValueText):
* html/HTMLSourceElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::itemValueText):
(WebCore::HTMLTrackElement::setItemValueText):
* html/HTMLTrackElement.h:
* html/MicroDataItemValue.cpp: Added.
(WebCore::MicroDataItemValue::MicroDataItemValue):
(WebCore::MicroDataItemValue::createFromString):
(WebCore::MicroDataItemValue::createFromNode):
* html/MicroDataItemValue.h: Added.
(WebCore::MicroDataItemValue::isNode):
(WebCore::MicroDataItemValue::getNode):
(WebCore::MicroDataItemValue::getString):
2011-10-24 Joseph Pecoraro <joepeck@webkit.org>
Remove unused instance variable
https://bugs.webkit.org/show_bug.cgi?id=70750
Reviewed by Dimitri Glazkov.
* rendering/RenderTextControl.h:
2011-10-24 Nico Weber <thakis@chromium.org>
[chromium/mac] Fix an ODR violation.
https://bugs.webkit.org/show_bug.cgi?id=70753
Reviewed by Anders Carlsson.
Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
Remove the unused one.
* WebCore.gyp/WebCore.gyp:
2011-10-24 Tim Horton <timothy_horton@apple.com>
feColorMatrix doesn't use the correct default "matrix" type when no type attribute is specified
https://bugs.webkit.org/show_bug.cgi?id=70035
<rdar://problem/10280177>
Reviewed by Nikolas Zimmermann.
Make feColorMatrix's type attribute be "matrix" by default.
Test: svg/filters/feColorMatrix-default-type.svg
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2011-10-24 Joshua Bell <jsbell@chromium.org>
Unbreak binding generation tests
https://bugs.webkit.org/show_bug.cgi?id=70768
Reviewed by Darin Adler.
Update the expected output of V8 binding tests to match
results c/o https://bugs.webkit.org/show_bug.cgi?id=70065
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::idbKeyCallback):
2011-10-21 Nat Duca <nduca@chromium.org>
[chromium] Add isTraceEventEnabled to PlatformSupport.
https://bugs.webkit.org/show_bug.cgi?id=70618
Reviewed by Darin Fisher.
* platform/chromium/PlatformSupport.h:
2011-10-24 Mihnea Ovidenie <mihnea@adobe.com>
Use StringBuilder in CSSRuleList::rulesText()/CSSSelectorList::selectorsText()
https://bugs.webkit.org/show_bug.cgi?id=70746
Reviewed by Tony Chang.
Covered by existing tests.
* css/CSSRuleList.cpp:
(WebCore::CSSRuleList::rulesText):
* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::selectorsText):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::cssText): Use CSSRuleList::rulesText() method instead of explicit loop.
2011-10-24 Michael Saboff <msaboff@apple.com>
WebKit doesn't build with recent changes to libdispatch
https://bugs.webkit.org/show_bug.cgi?id=70737
Added initialization for new WebKitSystemInterface function
CreateVMPressureDispatchOnMainQueue. Changed MemoryPressureHandler::install
to use new function.
Reviewed by Geoffrey Garen.
No new tests. Moved functionality to WebKitSystemInterface.
* WebCore.exp.in:
* platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::install):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2011-10-24 Joshua Bell <jsbell@chromium.org>
IndexedDB: Throw DATA_ERR on invalid keys, remove null key support
https://bugs.webkit.org/show_bug.cgi?id=70065
Reviewed by Tony Chang.
Part 1 of a two-sided commit. Renames IDBKey::NullType to
IDBKey::InvalidType. JS binding yields this type rather
than throwing immediately so the correct exception type can
be raised. Checks for invalid keys added to front-end classes.
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS):
* bindings/scripts/CodeGeneratorV8.pm:
(TypeCanFailConversion):
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::continueFunction):
* storage/IDBFactory.cpp:
(WebCore::IDBFactory::cmp):
* storage/IDBIndex.cpp:
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
* storage/IDBKey.cpp:
(WebCore::IDBKey::IDBKey):
(WebCore::IDBKey::compare):
* storage/IDBKey.h:
(WebCore::IDBKey::createInvalid):
* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* storage/IDBKeyRange.h:
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* storage/IDBKeyRange.idl:
* storage/IDBLevelDBCoding.cpp:
(WebCore::IDBLevelDBCoding::encodeIDBKey):
(WebCore::IDBLevelDBCoding::decodeIDBKey):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
* storage/IDBSQLiteBackingStore.cpp:
(WebCore::whereSyntaxForKey):
(WebCore::bindKeyToQuery):
(WebCore::lowerCursorWhereFragment):
(WebCore::upperCursorWhereFragment):
(WebCore::bindKeyToQueryWithNulls):
(WebCore::keyFromQuery):
2011-10-24 Alok Priyadarshi <alokp@chromium.org>
[chromium] Make accelerated drawing work with threaded compositing
https://bugs.webkit.org/show_bug.cgi?id=70656
Reviewed by James Robinson.
Make sure that the compositor context is not used outside LayerTextureUpdater::updateTextureRect().
Created a FrameBuffer class that wraps skia gpu canvas and manages GL resources.
* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::createTextureUpdater):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
(WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
(WebCore::FrameBuffer::FrameBuffer::initialize):
(WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
(WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
(WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
(WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::initialize):
2011-10-24 Adam Klein <adamk@chromium.org>
Optimize Node::isInShadowTree to execute in constant-time
https://bugs.webkit.org/show_bug.cgi?id=67686
Reviewed by Dimitri Glazkov.
No expected change in behavior, so no new tests.
* dom/Node.cpp:
(WebCore::Node::isInShadowTree):
2011-10-24 Nat Duca <nduca@chromium.org>
[chromium] Expose WebThread::postDelayedTask to CCThread
https://bugs.webkit.org/show_bug.cgi?id=70712
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCThread.h:
2011-10-24 Levi Weintraub <leviw@chromium.org>
<svg> fails to use explicit width and height inside <html> inside IFRAME
https://bugs.webkit.org/show_bug.cgi?id=64823
Reviewed by Nikolas Zimmermann.
Checking that embedded SVG is in an SVG document before negotiating size
with the host document.
Test: svg/as-object/svg-embedded-in-html-in-iframe.html
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::isEmbeddedThroughFrameContainingSVGDocument):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2011-10-24 Rafael Weinstein <rafaelw@chromium.org>
Node::registeredMutationObserversOfType should be prefixed by "get"
https://bugs.webkit.org/show_bug.cgi?id=70359
Reviewed by Ojan Vafai.
This change renames Node::registeredMutationObserversOfType to
Node::getRegisteredMutationObserversOfType per the WebKit style guide.
No tests needed as the change is only method renaming.
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/Node.cpp:
(WebCore::Node::getRegisteredMutationObserversOfType):
* dom/Node.h:
2011-10-24 Mark Hahnenberg <mhahnenberg@apple.com>
Rename static getOwnPropertySlot to getOwnPropertySlotByIndex
https://bugs.webkit.org/show_bug.cgi?id=70271
Reviewed by Darin Adler.
No new tests.
Renaming versions of getOwnPropertySlot that use an unsigned as the property
name to "getOwnPropertySlotByIndex" in preparation for adding them to the
MethodTable, which requires unique names for each method.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::getSparseIndex):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlotVirtual):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):
* bridge/runtime_array.h:
2011-10-24 Joshua Bell <jsbell@chromium.org>
IndexedDB add should fail adding an inline and passed key simultaneously
https://bugs.webkit.org/show_bug.cgi?id=58598
Reviewed by Tony Chang.
Test: storage/indexeddb/mozilla/key-requirements-inline-and-passed.html
Implement the spec clause: passing a key into add() or put() when
the object store has a key path ("inline key") is an error.
* storage/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put):
2011-10-24 Simon Fraser <simon.fraser@apple.com>
Improve debug compositing border colors
https://bugs.webkit.org/show_bug.cgi?id=70742
Reviewed by Dean Jackson.
Improve the appearance of the debug borders used to indicate compositing:
1. Use green for normal layers, orange for tiled layers
2. Make the repaint counter translucent
3. Change the color of the repaint counter to show when accelerated drawing is enabled.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::updateDebugIndicators):
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
2011-10-24 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Fix make distcheck build
https://bugs.webkit.org/show_bug.cgi?id=69745
Reviewed by Martin Robinson.
* GNUmakefile.am:
* GNUmakefile.list.am:
2011-10-24 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: [Styles] Adding a new style rule breaks things
https://bugs.webkit.org/show_bug.cgi?id=70721
Reviewed by Pavel Feldman.
We had used to swap BlankStylePropertiesSection prototype and recently got rid of this hack,
but still had dependencies on the old behavior.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
(WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
(WebInspector.BlankStylePropertiesSection.prototype.get isBlank):
(WebInspector.BlankStylePropertiesSection.prototype.expand):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
(WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled):
(WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
2011-10-24 Pavel Feldman <pfeldman@google.com>
Web Inspector: do not force document loading on reload (should happen on demand).
https://bugs.webkit.org/show_bug.cgi?id=70724
Reviewed by Yury Semikhatsky.
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMAgent.prototype._documentUpdated):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.wasShown):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.setVisible):
2011-10-24 Eric Carlson <eric.carlson@apple.com>
Drop MutableTextTrack and make TextTrack always mutable
https://bugs.webkit.org/show_bug.cgi?id=62890
The MutableTextTrack type was removed from the spec, all text tracks are now mutable.
Reviewed by Sam Weinig.
No new tests needed, the changes just refactor existing code.
* CMakeLists.txt: Remove all traces of MutableTextTrack.
* CodeGenerators.pri: Ditto.
* DerivedSources.cpp: Ditto.
* DerivedSources.make: Ditto.
* GNUmakefile.list.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/gobject/GNUmakefile.am: Ditto.
* bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
* bindings/js/JSBindingsAllInOne.cpp: Ditto.
* bindings/js/JSTextTrackCustom.cpp: Removed.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addTrack): Return a TextTrack instead of a MutableTextTrack.
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.idl:
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack): Return a TextTrack instead of a MutableTextTrack.
* html/MutableTextTrack.cpp: Removed.
* html/MutableTextTrack.h: Removed.
* html/MutableTextTrack.idl: Removed.
* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Remove Type parameter.
(WebCore::TextTrack::addCue): New, moved from MutableTextTrack.
(WebCore::TextTrack::removeCue): Ditto.
(WebCore::TextTrack::newCuesLoaded): Ditto.
(WebCore::TextTrack::fetchNewestCues): Ditto.
* html/TextTrack.h:
(WebCore::TextTrack::create): Remove Type parameter
* html/TextTrack.idl: Add addCue and removeCue.
2011-10-24 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: allow debugging dedicated worker initialization
https://bugs.webkit.org/show_bug.cgi?id=70723
Now it is possible to pause each new dedicated worker on start. The user
needs to select a checkbox and then each newly created dedicated worker
will be paused on the first statement until the user resumes it explicitely.
Reviewed by Pavel Feldman.
* inspector/Inspector.json: resume command is added. It is similar to GDB's run
command, i.e. worker execution will be paused until explicit "resume" command is
received.
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::resume):
(WebCore::InspectorRuntimeAgent::pauseWorkerContext):
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart): returns true
if the user chose to automatically pause all new workers.
* inspector/InspectorWorkerAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::resume):
* inspector/front-end/WorkerManager.js:
(WebInspector.WorkerManager.loaded):
(WebInspector.WorkerManager.loadCompleted):
(WebInspector.WorkerManager.prototype._workerCreated):
(WebInspector.WorkerManager.prototype.openWorkerInspector):
(WebInspector.WorkerManager.prototype._openInspectorWindow):
* inspector/front-end/inspector.js:
(WebInspector.loaded):
* workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
* workers/WorkerContextProxy.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerContext): additional flag specifying
worker initial state(paused/not paused) is added to the factory method. The flag
will be carried to the corresponding WorkerThread.
(WebCore::WorkerMessagingProxy::connectToInspector):
* workers/WorkerMessagingProxy.h:
2011-10-21 Nikita Vasilyev <me@elv1s.ru>
Web Inspector: Make indent configurable
https://bugs.webkit.org/show_bug.cgi?id=69986
Add a setting to choose an indent from "8 spaces", "4 spaces" (default), "2 spaces", or "Tab character".
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen):
(WebInspector.SettingsScreen.prototype._createSelectSetting.get p):
(WebInspector.SettingsScreen.prototype._createSelectSetting.changeListener):
* inspector/front-end/TextEditorModel.js:
(WebInspector.TextEditorModel):
* inspector/front-end/TextViewer.js:
2011-10-17 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: add "Add to Watch" option to context menu on selection in source frame
https://bugs.webkit.org/show_bug.cgi?id=69924
Reviewed by Pavel Feldman.
- added 'Add to Watch' context menu item in scripts panel;
- include both default and custom items into a context menu if selection is present;
* inspector/front-end/ScriptsPanel.js:
(WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
(WebInspector.SourceFrameDelegateForScriptsPanel.prototype.addToWatch):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.populateSelectionContextMenu):
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateSelectionContextMenu):
(WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
(WebInspector.SourceFrameDelegate.prototype.addToWatch):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._contextMenu):
(WebInspector.TextViewerDelegate.prototype.populateSelectionContextMenu):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSidebarPane.prototype.addExpression):
(WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
(WebInspector.WatchExpressionsSection.prototype.addExpression):
(WebInspector.WatchExpressionsSection.prototype.addNewExpressionAndEdit):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenu):
2011-10-21 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: Audits hang on pages without img[src] elements
https://bugs.webkit.org/show_bug.cgi?id=70604
Reviewed by Pavel Feldman.
Test: inspector/audits/audits-panel-noimages-functional.html
* inspector/front-end/AuditRules.js:
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2011-10-24 Deepak Sherveghar <bpwv64@motorola.com>
[Qt] fast/events/media-focus-in-standalone-media-document.html fails
https://bugs.webkit.org/show_bug.cgi?id=70110
Reviewed by Simon Hausmann.
ExtensionMap should also include media files mapping.
* platform/qt/MIMETypeRegistryQt.cpp: Added media files mapping.
2011-10-24 Pavel Feldman <pfeldman@google.com>
Not reviewed: [chromium] follow up to 98228 - added missing css.
* WebCore.gypi:
2011-10-24 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: Make CSS files load upon View demand; split inspector.css into views.
https://bugs.webkit.org/show_bug.cgi?id=70694
Reviewed by Yury Semikhatsky.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel):
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView):
* inspector/front-end/PanelEnablerView.js:
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
* inspector/front-end/ResourcesPanel.js:
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/TextViewer.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/WelcomeView.js:
(WebInspector.WelcomeView):
* inspector/front-end/auditsPanel.css: Renamed from Source/WebCore/inspector/front-end/audits.css.
2011-10-24 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: make view load CSS files upon show.
https://bugs.webkit.org/show_bug.cgi?id=70696
Reviewed by Yury Semikhatsky.
Test: inspector/view-css.html
* inspector/front-end/View.js:
(WebInspector.View):
(WebInspector.View.prototype._callOnVisibleChildren):
(WebInspector.View.prototype._processWillShow):
(WebInspector.View.prototype._processWasShown):
(WebInspector.View.prototype._processWillHide):
(WebInspector.View.prototype._processWasHidden):
(WebInspector.View.prototype._processOnResize):
(WebInspector.View.prototype.show):
(WebInspector.View.prototype.detach):
(WebInspector.View.prototype.registerRequiredCSS):
(WebInspector.View.prototype._loadCSSIfNeeded):
(WebInspector.View.prototype._doLoadCSS):
(WebInspector.View.prototype._disableCSSIfNeeded):
(WebInspector.View.prototype._doUnloadCSS):
2011-10-24 Pavel Feldman <pfeldman@chromium.org>
Web Inspector: make DataGrid a view
https://bugs.webkit.org/show_bug.cgi?id=70695
Reviewed by Yury Semikhatsky.
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype._updateWithCookies):
(WebInspector.SimpleCookiesTable):
(WebInspector.SimpleCookiesTable.prototype.setCookies):
* inspector/front-end/CookiesTable.js:
(WebInspector.CookiesTable):
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
* inspector/front-end/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.onResize):
* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView.prototype._queryFinished):
(WebInspector.DatabaseQueryView.prototype._queryError):
(WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
(WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
(WebInspector.DatabaseQueryView.prototype._appendQueryResult):
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype._queryFinished):
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
(WebInspector.DetailedHeapshotView.prototype.wasShown):
(WebInspector.DetailedHeapshotView.prototype.onResize):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype.onResize):
(WebInspector.NetworkLogView.prototype._createTable):
* inspector/front-end/ProfileView.js:
* inspector/front-end/ResourceCookiesView.js:
(WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
* inspector/front-end/ResourceView.js:
(WebInspector.ResourceView):
2011-10-24 Yosifumi Inoue <yosin@chromium.org>
[Forms] Setting defaultValue should hide an input placeholder.
https://bugs.webkit.org/show_bug.cgi?id=70586
Reviewed by Kent Tamura.
Tests: fast/forms/placeholder-and-default-value-expected.html
fast/forms/placeholder-and-default-value.html
When input element has default value, we should not display
placeholder. Changing default value should tell rendering engine about
changing display of input element.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseMappedAttribute): Calls updatePlaceholderVisibility for valueAttr if it doesn't have dirty value.
2011-10-23 Darin Adler <darin@apple.com>
Eliminate OptionElement (second and final part)
https://bugs.webkit.org/show_bug.cgi?id=70710
Reviewed by Kent Tamura.
* CMakeLists.txt: Removed OptionElement.h and OptionElement.cpp.
* GNUmakefile.list.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/DOMAllInOne.cpp: Ditto.
* dom/OptionElement.cpp: Removed.
* dom/OptionElement.h: Removed.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::saveLastSelection): Eliminate use of the
toOptionElement function. Use hasTagName and toHTMLOptionElement instead.
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
(WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
(WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
(WebCore::HTMLSelectElement::recalcListItems): Ditto.
(WebCore::HTMLSelectElement::selectedIndex): Ditto.
(WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
(WebCore::HTMLSelectElement::saveFormControlState): Ditto.
(WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
(WebCore::HTMLSelectElement::appendFormData): Ditto.
(WebCore::HTMLSelectElement::reset): Ditto.
(WebCore::HTMLSelectElement::updateSelectedState): Ditto.
(WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
(WebCore::HTMLSelectElement::typeAheadFind): Ditto.
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
* html/HTMLSelectElement.h: Changed the argument type of the
deselectItemsWithoutValidation function to HTMLElement* since that's
the type of an item in our items vector now.
2011-10-23 Yuzo Fujishima <yuzo@google.com>
[chromium] Attempt to fix compilation error for Chromium OS.
Unreviewed.
* mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::kind):
2011-10-23 Adam Barth <abarth@webkit.org>
<img crossorigin> should fail to load when CORS check fails
https://bugs.webkit.org/show_bug.cgi?id=69732
Reviewed by Darin Adler.
When loading an image with the crossorigin attribute, the spec says
that we're not supposed to load the image if the CORS check fails.
This "fails fast" behavior is intended to help developers understand
whether they've configured CORS correctly (instead of only catching the
error later when trying to read back the canvas).
Our new behavior matches the spec and Firefox.
Test: http/tests/security/img-with-failed-cors-check-fails-to-load.html
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
2011-10-23 Noel Gordon <noel.gordon@gmail.com>
[chromium] Remove GeolocationServiceGtk.{h,cpp} from the gyp projects
https://bugs.webkit.org/show_bug.cgi?id=70702
Reviewed by Kent Tamura.
platform/gtk/GeolocationServiceGtk.{h,cpp} were removed in r97746, so
remove references to these files from the gyp files.
* WebCore.gypi:
2011-10-23 Andreas Kling <kling@webkit.org>
Move StyleSheet::addSubresourceStyleURLs() to CSSStyleSheet.
https://bugs.webkit.org/show_bug.cgi?id=70690
Reviewed by Antti Koivisto.
This method isn't part of the StyleSheet DOM interface, nor is it used by
XSLStyleSheet, so move it down to CSSStyleSheet and make it non-virtual.
Also remove some nearby unneeded casts from CSSStyleSheet* to StyleSheet*.
* css/CSSStyleSheet.h:
* css/StyleSheet.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::isLoading):
(WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
(WebCore::HTMLStyleElement::disabled):
(WebCore::HTMLStyleElement::setDisabled):
2011-10-23 Andreas Kling <kling@webkit.org>
Remove style sheet constructors that take a style sheet parent.
https://bugs.webkit.org/show_bug.cgi?id=70692
Reviewed by Antti Koivisto.
Style sheets are never directly parented by other style sheets, they always
go via a rule (such as @import.)
* css/CSSStyleSheet.cpp:
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::create):
* css/StyleSheet.cpp:
* css/StyleSheet.h:
2011-10-23 Mark Hahnenberg <mhahnenberg@apple.com>
Add deleteProperty to the MethodTable
https://bugs.webkit.org/show_bug.cgi?id=70162
Reviewed by Sam Weinig.
No new tests.
* WebCore.exp.in:
2011-10-23 Adam Barth <abarth@webkit.org>
Update baselines for run-bindings-tests.
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterface.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
2011-10-23 Mark Hahnenberg <mhahnenberg@apple.com>
Remove getConstructDataVirtual
https://bugs.webkit.org/show_bug.cgi?id=70638
Reviewed by Darin Adler.
No new tests.
Removed all declarations and definitions of getConstructDataVirtual.
Also replaced all call sites to getConstructDataVirtual with a
corresponding lookup in the MethodTable.
* WebCore.exp.in:
* bindings/js/JSAudioConstructor.cpp:
* bindings/js/JSAudioConstructor.h:
* bindings/js/JSImageConstructor.cpp:
* bindings/js/JSImageConstructor.h:
* bindings/js/JSOptionConstructor.cpp:
* bindings/js/JSOptionConstructor.h:
* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::construct):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
* bridge/runtime_object.cpp:
* bridge/runtime_object.h:
2011-10-22 Geoffrey Garen <ggaren@apple.com>
Separated string lifetime bits from character buffer state bits
https://bugs.webkit.org/show_bug.cgi?id=70673
Reviewed by Anders Carlsson.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHashValue): Updated for string hashing changes in JavaScriptCore.
2011-10-22 Pratik Solanki <psolanki@apple.com>
HTTPBodyStream in NSURLRequest gets lost when using CFNetwork loader
https://bugs.webkit.org/show_bug.cgi?id=70583
<rdar://problem/10281227>
Reviewed by Darin Adler.
Call WebCore::setHTTPBody() only if we actually have a FormData. Unconditionally calling it
results in us passing 0 to wkCFURLRequestSetHTTPRequestBodyParts() which resets any input
stream specified by the user on the NSURLRequest. This code matches the behavior in the
Foundation version of doUpdatePlatformRequest().
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
2011-10-22 Adam Bergkvist <adam.bergkvist@ericsson.com>
Move all MediaStream and PeerConnection related non-platform files to WebCore/mediastream
https://bugs.webkit.org/show_bug.cgi?id=70233
Reviewed by Adam Barth.
Removed affected files from build systems that don't have a MEDIA_STREAM build flag.
No new tests since we're just moving files.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* UseJSC.cmake:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* dom/DOMAllInOne.cpp:
* dom/DispatchTask.h: Removed unused file.
* dom/ScriptExecutionContext.cpp:
* mediastream/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/LocalMediaStream.cpp.
(WebCore::LocalMediaStream::create):
(WebCore::LocalMediaStream::LocalMediaStream):
(WebCore::LocalMediaStream::stop):
(WebCore::LocalMediaStream::stopTimerFired):
(WebCore::LocalMediaStream::~LocalMediaStream):
(WebCore::LocalMediaStream::toLocalMediaStream):
* mediastream/LocalMediaStream.h: Renamed from Source/WebCore/dom/LocalMediaStream.h.
* mediastream/LocalMediaStream.idl: Renamed from Source/WebCore/dom/LocalMediaStream.idl.
* mediastream/MediaStream.cpp: Renamed from Source/WebCore/dom/MediaStream.cpp.
(WebCore::MediaStream::create):
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::~MediaStream):
(WebCore::MediaStream::readyState):
(WebCore::MediaStream::toMediaStream):
(WebCore::MediaStream::streamEnded):
(WebCore::MediaStream::scriptExecutionContext):
(WebCore::MediaStream::eventTargetData):
(WebCore::MediaStream::ensureEventTargetData):
* mediastream/MediaStream.h: Renamed from Source/WebCore/dom/MediaStream.h.
(WebCore::MediaStream::label):
(WebCore::MediaStream::tracks):
(WebCore::MediaStream::descriptor):
(WebCore::MediaStream::refEventTarget):
(WebCore::MediaStream::derefEventTarget):
* mediastream/MediaStream.idl: Renamed from Source/WebCore/dom/MediaStream.idl.
* mediastream/MediaStreamClient.h: Renamed from Source/WebCore/page/MediaStreamClient.h.
(WebCore::MediaStreamClient::~MediaStreamClient):
* mediastream/MediaStreamController.cpp: Renamed from Source/WebCore/page/MediaStreamController.cpp.
(WebCore::MediaStreamController::Request::Request):
(WebCore::MediaStreamController::Request::localId):
(WebCore::MediaStreamController::Request::frameController):
(WebCore::MediaStreamController::MediaStreamController):
(WebCore::MediaStreamController::~MediaStreamController):
(WebCore::MediaStreamController::isClientAvailable):
(WebCore::MediaStreamController::unregisterFrameController):
(WebCore::MediaStreamController::registerRequest):
(WebCore::MediaStreamController::generateStream):
(WebCore::MediaStreamController::streamGenerated):
(WebCore::MediaStreamController::streamGenerationFailed):
* mediastream/MediaStreamController.h: Renamed from Source/WebCore/page/MediaStreamController.h.
* mediastream/MediaStreamEvent.cpp: Renamed from Source/WebCore/p2p/MediaStreamEvent.cpp.
(WebCore::MediaStreamEvent::create):
(WebCore::MediaStreamEvent::MediaStreamEvent):
(WebCore::MediaStreamEvent::~MediaStreamEvent):
(WebCore::MediaStreamEvent::initMediaStreamEvent):
(WebCore::MediaStreamEvent::stream):
* mediastream/MediaStreamEvent.h: Renamed from Source/WebCore/p2p/MediaStreamEvent.h.
(WebCore::MediaStreamEvent::isMediaStreamEvent):
* mediastream/MediaStreamEvent.idl: Renamed from Source/WebCore/p2p/MediaStreamEvent.idl.
* mediastream/MediaStreamFrameController.cpp: Renamed from Source/WebCore/page/MediaStreamFrameController.cpp.
(WebCore::MediaStreamFrameController::Request::~Request):
(WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
(WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
(WebCore::MediaStreamFrameController::Request::Request):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::create):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
(WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
(WebCore::MediaStreamFrameController::RequestMap::abort):
(WebCore::MediaStreamFrameController::RequestMap::abortAll):
(WebCore::MediaStreamFrameController::MediaStreamFrameController):
(WebCore::MediaStreamFrameController::~MediaStreamFrameController):
(WebCore::MediaStreamFrameController::securityOrigin):
(WebCore::MediaStreamFrameController::scriptExecutionContext):
(WebCore::MediaStreamFrameController::pageController):
(WebCore::MediaStreamFrameController::enterDetachedState):
(WebCore::MediaStreamFrameController::isClientAvailable):
(WebCore::MediaStreamFrameController::disconnectPage):
(WebCore::MediaStreamFrameController::disconnectFrame):
(WebCore::MediaStreamFrameController::transferToNewPage):
(WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
(WebCore::MediaStreamFrameController::generateStream):
(WebCore::MediaStreamFrameController::streamGenerated):
(WebCore::MediaStreamFrameController::streamGenerationFailed):
* mediastream/MediaStreamFrameController.h: Renamed from Source/WebCore/page/MediaStreamFrameController.h.
(WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
(WebCore::MediaStreamFrameController::IdGenerator::getNextId):
* mediastream/MediaStreamList.cpp: Renamed from Source/WebCore/dom/MediaStreamList.cpp.
(WebCore::MediaStreamList::create):
(WebCore::MediaStreamList::MediaStreamList):
(WebCore::MediaStreamList::~MediaStreamList):
(WebCore::MediaStreamList::length):
(WebCore::MediaStreamList::item):
(WebCore::MediaStreamList::append):
(WebCore::MediaStreamList::remove):
(WebCore::MediaStreamList::contains):
* mediastream/MediaStreamList.h: Renamed from Source/WebCore/dom/MediaStreamList.h.
* mediastream/MediaStreamList.idl: Renamed from Source/WebCore/dom/MediaStreamList.idl.
* mediastream/MediaStreamRegistry.cpp: Renamed from Source/WebCore/platform/MediaStreamRegistry.cpp.
(WebCore::MediaStreamRegistry::registry):
(WebCore::MediaStreamRegistry::registerMediaStreamURL):
(WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
(WebCore::MediaStreamRegistry::mediaStream):
* mediastream/MediaStreamRegistry.h: Renamed from Source/WebCore/platform/MediaStreamRegistry.h.
* mediastream/MediaStreamTrack.cpp: Renamed from Source/WebCore/dom/MediaStreamTrack.cpp.
(WebCore::MediaStreamTrack::create):
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::~MediaStreamTrack):
(WebCore::MediaStreamTrack::kind):
(WebCore::MediaStreamTrack::label):
(WebCore::MediaStreamTrack::enabled):
(WebCore::MediaStreamTrack::setEnabled):
* mediastream/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MediaStreamTrack.h.
* mediastream/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/MediaStreamTrack.idl.
* mediastream/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/MediaStreamTrackList.cpp.
(WebCore::MediaStreamTrackList::create):
(WebCore::MediaStreamTrackList::MediaStreamTrackList):
(WebCore::MediaStreamTrackList::~MediaStreamTrackList):
(WebCore::MediaStreamTrackList::length):
(WebCore::MediaStreamTrackList::item):
* mediastream/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/MediaStreamTrackList.h.
* mediastream/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MediaStreamTrackList.idl.
* mediastream/PeerConnection.cpp: Renamed from Source/WebCore/p2p/PeerConnection.cpp.
(WebCore::PeerConnection::create):
(WebCore::PeerConnection::PeerConnection):
(WebCore::PeerConnection::~PeerConnection):
(WebCore::PeerConnection::processSignalingMessage):
(WebCore::PeerConnection::readyState):
(WebCore::PeerConnection::send):
(WebCore::PeerConnection::addStream):
(WebCore::PeerConnection::removeStream):
(WebCore::PeerConnection::localStreams):
(WebCore::PeerConnection::remoteStreams):
(WebCore::PeerConnection::close):
(WebCore::PeerConnection::iceProcessingCompleted):
(WebCore::PeerConnection::sdpGenerated):
(WebCore::PeerConnection::dataStreamMessageReceived):
(WebCore::PeerConnection::remoteStreamAdded):
(WebCore::PeerConnection::remoteStreamRemoved):
(WebCore::PeerConnection::toPeerConnection):
(WebCore::PeerConnection::scriptExecutionContext):
(WebCore::PeerConnection::stop):
(WebCore::PeerConnection::eventTargetData):
(WebCore::PeerConnection::ensureEventTargetData):
(WebCore::PeerConnection::scheduleInitialNegotiation):
(WebCore::PeerConnection::initialNegotiationTimerFired):
(WebCore::PeerConnection::ensureStreamChangeScheduled):
(WebCore::PeerConnection::streamChangeTimerFired):
(WebCore::PeerConnection::scheduleReadyStateChange):
(WebCore::PeerConnection::readyStateChangeTimerFired):
(WebCore::PeerConnection::changeReadyState):
* mediastream/PeerConnection.h: Renamed from Source/WebCore/p2p/PeerConnection.h.
(WebCore::PeerConnection::refEventTarget):
(WebCore::PeerConnection::derefEventTarget):
* mediastream/PeerConnection.idl: Renamed from Source/WebCore/p2p/PeerConnection.idl.
* mediastream/SignalingCallback.h: Renamed from Source/WebCore/p2p/SignalingCallback.h.
(WebCore::SignalingCallback::~SignalingCallback):
* mediastream/SignalingCallback.idl: Renamed from Source/WebCore/p2p/SignalingCallback.idl.
* page/Frame.cpp:
* page/Navigator.cpp:
* page/Page.cpp:
2011-10-20 Pavel Feldman <pfeldman@google.com>
Web Inspector: get rid of View::hide, View::set visible, View::attach,
View::set visible.
https://bugs.webkit.org/show_bug.cgi?id=70523
This change also introduces assetions that forces view attach / detach operations
to be performed explicitly.
Reviewed by Yury Semikhatsky.
* inspector/front-end/ApplicationCacheItemsView.js:
(WebInspector.ApplicationCacheItemsView.prototype.wasShown):
(WebInspector.ApplicationCacheItemsView.prototype.willHide):
(WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype.wasShown):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.wasShown):
(WebInspector.ConsolePanel.prototype.willHide):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.wasShown):
* inspector/front-end/CookieItemsView.js:
(WebInspector.CookieItemsView.prototype.wasShown):
(WebInspector.CookieItemsView.prototype.willHide):
(WebInspector.CookieItemsView.prototype._updateWithCookies):
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype.wasShown):
(WebInspector.DOMStorageItemsView.prototype.willHide):
* inspector/front-end/DatabaseQueryView.js:
* inspector/front-end/DatabaseTableView.js:
(WebInspector.DatabaseTableView.prototype.wasShown):
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.willHide):
(WebInspector.DetailedHeapshotView.prototype._changeView):
* inspector/front-end/Drawer.js:
(WebInspector.Drawer.prototype.hide):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.wasShown):
(WebInspector.ElementsPanel.prototype.willHide):
* inspector/front-end/EmptyView.js:
(WebInspector.EmptyView.prototype.wasShown):
* inspector/front-end/FontView.js:
(WebInspector.FontView.prototype.wasShown):
* inspector/front-end/IFrameView.js:
(WebInspector.IFrameView):
* inspector/front-end/ImageView.js:
(WebInspector.ImageView.prototype.wasShown):
* inspector/front-end/NetworkItemView.js:
(WebInspector.NetworkItemView.prototype.wasShown):
(WebInspector.ResourceContentView.prototype.wasShown):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype.wasShown):
(WebInspector.NetworkLogView.prototype.willHide):
(WebInspector.NetworkPanel.prototype.wasShown):
* inspector/front-end/Panel.js:
(WebInspector.Panel):
(WebInspector.Panel.prototype.show):
(WebInspector.Panel.prototype.wasShown):
(WebInspector.Panel.prototype.willHide):
* inspector/front-end/PanelEnablerView.js:
* inspector/front-end/ProfileView.js:
(WebInspector.CPUProfileView.prototype.willHide):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.wasShown):
(WebInspector.ProfilesPanel.prototype._addProfileHeader):
(WebInspector.ProfilesPanel.prototype._updateInterface):
(WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
* inspector/front-end/ResourceCookiesView.js:
(WebInspector.ResourceCookiesView.prototype.wasShown):
* inspector/front-end/ResourceHTMLView.js:
(WebInspector.ResourceHTMLView.prototype.wasShown):
(WebInspector.ResourceHTMLView.prototype.willHide):
* inspector/front-end/ResourceJSONView.js:
(WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.wasShown):
* inspector/front-end/ResourceTimingView.js:
(WebInspector.ResourceTimingView.prototype.wasShown):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.wasShown):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.wasShown):
(WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.wasShown):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.wasShown):
(WebInspector.TimelinePanel.prototype.willHide):
* inspector/front-end/View.js:
(WebInspector.View):
(WebInspector.View.prototype.get visible):
(WebInspector.View.prototype.setHideOnDetach):
(WebInspector.View.prototype._wasShown):
(WebInspector.View.prototype._willHide):
(WebInspector.View.prototype._onResize):
(WebInspector.View.prototype.wasShown):
(WebInspector.View.prototype.willHide):
(WebInspector.View.prototype.onResize):
(WebInspector.View.prototype.show):
(WebInspector.View.prototype.detach):
(WebInspector.View.prototype.doResize):
(WebInspector.View.prototype.dispatchToSelfAndChildren):
(WebInspector.View.prototype.dispatchToChildren):
(WebInspector.View.prototype._handleInsertedIntoDocument):
2011-10-22 Kent Tamura <tkent@chromium.org>
REGRESSION(r92480): Passing uninitialized variable in HTMLElement::calculateAndAdjustDirectionality()
https://bugs.webkit.org/show_bug.cgi?id=70582
Reviewed by Darin Adler.
No new tests. It's very hard to make a reliable test.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::directionality):
Clear *strongDirectionalityTextNode even if hasStrongDirectionality is false.
2011-10-21 Dan Bernstein <mitz@apple.com>
Caret is drawn in the wrong place in multi-column blocks
https://bugs.webkit.org/show_bug.cgi?id=70662
Reviewed by Gavin Barraclough.
* manual-tests/caret-in-columns.html: Added.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintCaret): Removed the call to offsetForContents(). That function takes
a point in local coordinates, whereas this function was applying it to a point in painting root
coordinates. The desired effect was only to undo the scroll adjustment done by the caller,
paintObject().
(WebCore::RenderBlock::paintObject): Pass the original, rather than scroll-adjusted, paint offset
to paintCaret().
2011-10-21 Nat Duca <nduca@chromium.org>
[chromium] Make setVisibility extension- and thread-correct
https://bugs.webkit.org/show_bug.cgi?id=70635
Reviewed by Kenneth Russell.
* platform/graphics/chromium/Extensions3DChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::setVisible):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::setVisible):
2011-10-21 Beth Dakin <bdakin@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=70647
Common but unreproducible crash under [ScrollbarPartAnimation setCurrentProgress:]
-and corresponding-
<rdar://problem/9542018>
Reviewed by Sam Weinig.
This patch implements two speculative fixes for this crash.
First, block exceptions around all of the code responsible for calling
stopAnimation. If that code throws any exceptions, we want to make sure the other
animations are still stopped.
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPartAnimation scrollAnimatorDestroyed]):
(-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
(WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
Only send AppKit these notifications for active pages. I originally made these
assertions, and I found that they were hit a surprising number of times. If we
only send notifications for active pages, then we should greatly reduce and
possibly eliminate our chances of hitting this crash.
(WebCore::ScrollAnimatorMac::notifyPositionChanged):
(WebCore::ScrollAnimatorMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorMac::willStartLiveResize):
(WebCore::ScrollAnimatorMac::contentsResized):
(WebCore::ScrollAnimatorMac::willEndLiveResize):
(WebCore::ScrollAnimatorMac::contentAreaDidShow):
(WebCore::ScrollAnimatorMac::contentAreaDidHide):
(WebCore::ScrollAnimatorMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorMac::didEndScrollGesture):
2011-10-21 Mark Hahnenberg <mhahnenberg@apple.com>
Add put to the MethodTable
https://bugs.webkit.org/show_bug.cgi?id=70439
Reviewed by Oliver Hunt.
No new tests.
* WebCore.exp.in:
* bindings/js/JSDOMWindowCustom.cpp: Added static put since it was overlooked in
previous patches.
(WebCore::JSDOMWindow::putVirtual):
(WebCore::JSDOMWindow::put):
* bindings/js/JSDOMWindowShell.cpp: Ditto.
(WebCore::JSDOMWindowShell::putVirtual):
(WebCore::JSDOMWindowShell::put):
* bindings/js/JSDOMWindowShell.h:
2011-10-21 Dmitry Lomov <dslomov@google.com>
https://bugs.webkit.org/show_bug.cgi?id=70580
[Chromium] Implement MessagePort transfer in chromium port of webkit.
Reviewed by David Levin.
* bindings/v8/SerializedScriptValue.cpp:
(WebCore::V8ObjectMap::Writer::writeTransferredMessagePort):
(WebCore::V8ObjectMap::Serializer::Serializer):
(WebCore::V8ObjectMap::Serializer::doSerialize):
(WebCore::V8ObjectMap::Reader::read):
(WebCore::V8ObjectMap::Deserializer::Deserializer):
(WebCore::V8ObjectMap::Deserializer::tryGetTransferredMessagePort):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::deserialize):
2011-10-21 Ojan Vafai <ojan@chromium.org>
r97693 caused 42 failures on the chromium mac bots
https://bugs.webkit.org/show_bug.cgi?id=70300
Can't test this until https://bugs.webkit.org/show_bug.cgi?id=70660
is fixed. The fix for that bug will test this codepath as well though.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2011-10-21 Vineet Chaudhary <vineet.chaudhary@motorola.com>
Setting form.enctype reflected attribute behaves strangely.
https://bugs.webkit.org/show_bug.cgi?id=44879
Reviewed by Darin Adler.
The spec says form.enctype should be application/x-www-form-urlencoded,
So as "text", "plain", "multipart" or "form-data" these are not a valid value so must be ignored.
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::Attributes::parseEncodingType):
2011-10-21 Matthew Delaney <mdelaney@apple.com>
Ensure periodic flushing of canvas drawing context
https://bugs.webkit.org/show_bug.cgi?id=70646
Reviewed by Simon Fraser.
No new tests. No current way to track tests that cause hangs or
non-deterministic drops in performance.
* platform/graphics/cg/ImageBufferDataCG.h: Adds a timestamp of last tracked flush.
* platform/graphics/cg/ImageBufferCG.cpp: Ensures periodic flushes on the drawing context.
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context): Flushes context if we're beyond flush interval.
(WebCore::ImageBuffer::copyNativeImage): Updates last flush timestamp.
(WebCore::ImageBuffer::getUnmultipliedImageData): Updates last flush timestamp.
(WebCore::ImageBuffer::getPremultipliedImageData): Updates last flush timestamp.
(WebCore::ImageBuffer::putUnmultipliedImageData): Updates last flush timestamp.
(WebCore::ImageBuffer::putPremultipliedImageData): Updates last flush timestamp.
2011-10-21 Adam Barth <abarth@webkit.org>
Introduce Event::hasInterface to make uses of interfaceName more readable
https://bugs.webkit.org/show_bug.cgi?id=70652
Reviewed by Eric Seidel.
Eric felt that this approach would be more readable because it requires
less syntax at each callsite.
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bindings/objc/DOMEvents.mm:
(kitClass):
* bindings/v8/V8WindowErrorHandler.cpp:
(WebCore::V8WindowErrorHandler::callListenerFunction):
* bindings/v8/V8WorkerContextErrorHandler.cpp:
(WebCore::V8WorkerContextErrorHandler::callListenerFunction):
* dom/Event.cpp:
(WebCore::Event::hasInterface):
* dom/Event.h:
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::determineDispatchBehavior):
* dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultEventHandler):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::handleEvent):
2011-10-21 Adam Klein <adamk@chromium.org>
[MutationObservers] Implement basic subtree observation
https://bugs.webkit.org/show_bug.cgi?id=70436
Reviewed by Ryosuke Niwa.
Note that this patch only implements "basic" subtree semantics,
not the fully robust semantics described in
http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html.
Most importantly, this change does not handle the case where mutations
occur in a temporarily detached subtree.
The plan is to implement those semantics in a followup to avoid
blocking other parts of the MutationObserver spec that rely on
the existence of subtree observation but not its specific
implementation.
Test: fast/mutation/observe-subtree.html
* dom/Node.cpp:
(WebCore::addMatchingObservers): Static helper method for registeredMutationObserversOfType().
(WebCore::Node::registeredMutationObserversOfType): Walk up the tree looking for observers.
* dom/NodeRareData.h:
(WebCore::MutationObserverEntry::hasAllOptions): A stricter, renamed from matches().
2011-10-21 Joshua Bell <jsbell@chromium.org>
IndexedDB: objectStore.transaction property should be readonly
https://bugs.webkit.org/show_bug.cgi?id=62395
Reviewed by Tony Chang.
Implement the IDBObjectStore.transaction property defined by the spec.
Test: storage/indexeddb/readonly-properties.html
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::transaction):
* storage/IDBObjectStore.h:
* storage/IDBObjectStore.idl:
2011-10-21 Adam Barth <abarth@webkit.org>
Event.h has too many virtual isMumbleEvent() functions
https://bugs.webkit.org/show_bug.cgi?id=70636
Reviewed by Dimitri Glazkov.
We should use the new interfaceName() way of doing run-time type inference.
* bindings/js/JSErrorHandler.cpp:
(WebCore::JSErrorHandler::handleEvent):
* bindings/js/JSEventCustom.cpp:
(WebCore::JSEvent::clipboardData):
* bindings/objc/DOMEvents.mm:
(kitClass):
* bindings/v8/V8WindowErrorHandler.cpp:
(WebCore::V8WindowErrorHandler::callListenerFunction):
* bindings/v8/V8WorkerContextErrorHandler.cpp:
(WebCore::V8WorkerContextErrorHandler::callListenerFunction):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::V8Event::clipboardDataAccessorGetter):
* dom/BeforeLoadEvent.h:
(WebCore::BeforeLoadEvent::interfaceName):
* dom/BeforeTextInsertedEvent.h:
* dom/ClipboardEvent.cpp:
* dom/ClipboardEvent.h:
* dom/CompositionEvent.cpp:
* dom/CompositionEvent.h:
* dom/ErrorEvent.cpp:
* dom/ErrorEvent.h:
* dom/Event.cpp:
(WebCore::Event::storesResultAsString):
(WebCore::Event::storeResult):
(WebCore::Event::clipboardData):
* dom/Event.h:
* dom/Event.idl:
- Remove this interface from the CPP bindings because this function
no longer exists. It's unclear to me how strong our API
commitments are in the CPP bindings.
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::determineDispatchBehavior):
* dom/MessageEvent.cpp:
* dom/MessageEvent.h:
* dom/MutationEvent.cpp:
* dom/MutationEvent.h:
* dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
* dom/OverflowEvent.cpp:
* dom/OverflowEvent.h:
* dom/PageTransitionEvent.h:
* dom/ProgressEvent.h:
* dom/TextEvent.cpp:
* dom/TextEvent.h:
* dom/WheelEvent.cpp:
* dom/WheelEvent.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::defaultEventHandler):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::defaultEventHandler):
* svg/SVGZoomEvent.cpp:
* svg/SVGZoomEvent.h:
2011-10-21 Raymond Toy <rtoy@google.com>
Flush denormals in Biquad, ZeroPole, and DynamicsCompressor.
We only flush when saving the state variables instead of in the
loops so that we don't impact performance too much when there are
no denormals. This will at least not propagate the denormals any
further within the class.
https://bugs.webkit.org/show_bug.cgi?id=70626
Reviewed by Kenneth Russell.
* platform/audio/Biquad.cpp:
(WebCore::Biquad::process):
Flush denormals when storing the filter state back in to class
filter state.
* platform/audio/DynamicsCompressorKernel.cpp:
(WebCore::DynamicsCompressorKernel::process):
Ditto.
* platform/audio/ZeroPole.cpp:
(WebCore::ZeroPole::process):
Ditto.
2011-10-21 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Advanced search results should be cleared on navigation.
https://bugs.webkit.org/show_bug.cgi?id=70627
Reviewed by Pavel Feldman.
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.AdvancedSearchController):
(WebInspector.AdvancedSearchController.prototype._frameNavigated):
2011-10-21 Rafael Weinstein <rafaelw@chromium.org>
[MutationObservers] Implement WebKitMutationObserver.observe for childList changes
https://bugs.webkit.org/show_bug.cgi?id=68955
Reviewed by Ryosuke Niwa.
This patch adds a ChildListMutationScope object which manages the coalescing of
multiple child removals and additions within DOM operations into single childList
mutation records.
Note that this patch doesn't cover all the cases which can be coalesced (it only
covers ContainerNode.*, and Node.innerHTML/innerText). A separate bug,
https://bugs.webkit.org/show_bug.cgi?id=70385, has been opened to track the
remaining cases.
Test: fast/mutation/observe-childList.html
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ChildListMutationScope.cpp: Added.
(WebCore::ChildListAccumulation::ChildListAccumulation::ChildListAccumulation):
(WebCore::ChildListAccumulation::ChildListAccumulation::~ChildListAccumulation):
(WebCore::ChildListAccumulation::ChildListAccumulation::childAdded):
(WebCore::ChildListAccumulation::ChildListAccumulation::willRemoveChild):
(WebCore::ChildListAccumulation::ChildListAccumulation::dispatch):
(WebCore::ChildListAccumulation::ChildListAccumulation::clear):
(WebCore::ChildListAccumulation::ChildListAccumulation::isEmpty):
(WebCore::ChildListAccumulation::ChildListAccumulator::ChildListAccumulator):
(WebCore::ChildListAccumulation::ChildListAccumulator::~ChildListAccumulator):
(WebCore::ChildListAccumulation::ChildListAccumulator::initialize):
(WebCore::ChildListAccumulation::ChildListAccumulator::instance):
(WebCore::ChildListAccumulation::ChildListAccumulator::childAdded):
(WebCore::ChildListAccumulation::ChildListAccumulator::willRemoveChild):
(WebCore::ChildListAccumulation::ChildListAccumulator::incrementScopingLevel):
(WebCore::ChildListAccumulation::ChildListAccumulator::decrementScopingLevel):
(WebCore::ChildListMutationScope::ChildListMutationScope):
(WebCore::ChildListMutationScope::~ChildListMutationScope):
(WebCore::ChildListMutationScope::childAdded):
(WebCore::ChildListMutationScope::willRemoveChild):
* dom/ChildListMutationScope.h: Added.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChildren):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* dom/Element.cpp:
(WebCore::enqueueAttributesMutationRecord):
* dom/Node.cpp:
(WebCore::Node::setTextContent):
(WebCore::Node::registeredMutationObserversOfType):
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::disconnect):
* html/HTMLElement.cpp:
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):
2011-10-21 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r98079.
http://trac.webkit.org/changeset/98079
https://bugs.webkit.org/show_bug.cgi?id=70624
The extensions tests enabled are failing on the Chromium Win
Dbg bot (Requested by jchaffraix on #webkit).
* inspector/front-end/ExtensionAPI.js:
(buildExtensionAPIInjectedScript):
2011-10-21 Dan Bernstein <mitz@apple.com>
Column rules positioned incorrectly in vertical-rl block with horizontal border or padding
https://bugs.webkit.org/show_bug.cgi?id=70622
Reviewed by Beth Dakin.
Tests: fast/multicol/vertical-lr/rules-with-border-before.html
fast/multicol/vertical-rl/rules-with-border-before.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnRules): Changed to use the physical left border and padding for the
left edge of the horizontal column rule.
2011-10-21 Simon Fraser <simon.fraser@apple.com>
Fix Windows build.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
2011-10-21 Devdatta Deshpande <pwjd73@motorola.com>
[Gtk] mousemove event always has metaKey == true
https://bugs.webkit.org/show_bug.cgi?id=35299
Reviewed by Martin Robinson.
GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
the meta key state. Use GDK_META_MASK instead.
Test: platform/gtk/fast/events/event-sender-metakey.html
* platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
2011-10-21 Andreas Kling <kling@webkit.org>
Style and Link elements' sheet() should return CSSStyleSheet.
https://bugs.webkit.org/show_bug.cgi?id=70608
Reviewed by Antti Koivisto.
Return a CSSStyleSheet* instead of a StyleSheet* in these functions
since we know they are always CSSStyleSheets.
Also remove some now-unnecessary isCSSStyleSheet() checks.
* dom/StyleElement.h:
(WebCore::StyleElement::sheet):
* html/HTMLLinkElement.cpp:
* html/HTMLLinkElement.h:
(WebCore::HTMLLinkElement::sheet):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
2011-10-21 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Advanced search is working very slowly and does not show searching progress.
https://bugs.webkit.org/show_bug.cgi?id=70611
Search implementation changed so that we do not start searching in the next file unless
the previous one was already searched. This allows to interrupt search.
Not all search matches are added on UI by default now, only first 20 for each file.
Search progress information and search stop button were added to drawer status bar.
Reviewed by Pavel Feldman.
* English.lproj/localizedStrings.js:
* inspector/ContentSearchUtils.cpp:
(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
(WebCore::ContentSearchUtils::countRegularExpressionMatches):
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.AdvancedSearchController.prototype._onSearchResult):
(WebInspector.AdvancedSearchController.prototype._onSearchFinished):
(WebInspector.AdvancedSearchController.prototype.startSearch):
(WebInspector.AdvancedSearchController.prototype.resetSearch):
(WebInspector.AdvancedSearchController.prototype.stopSearch):
(WebInspector.SearchView):
(WebInspector.SearchView.prototype.get statusBarItems):
(WebInspector.SearchView.prototype.get counterElement):
(WebInspector.SearchView.prototype.set resultsPane):
(WebInspector.SearchView.prototype.searchStarted):
(WebInspector.SearchView.prototype._updateSearchResultsMessage):
(WebInspector.SearchView.prototype._updateSearchProgress):
(WebInspector.SearchView.prototype.resetResults):
(WebInspector.SearchView.prototype._resetCounters):
(WebInspector.SearchView.prototype.nothingFound):
(WebInspector.SearchView.prototype.addSearchResult):
(WebInspector.SearchView.prototype.searchFinished):
(WebInspector.SearchView.prototype._searchStopButtonPressed):
(WebInspector.SearchResultsPane):
(WebInspector.FileBasedSearchResultsPane):
(WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
(WebInspector.FileBasedSearchResultsPane.prototype._fileTreeElementExpanded):
(WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
(WebInspector.FileBasedSearchResultsPane.prototype._appendShowMoreMatchesElement):
(WebInspector.FileBasedSearchResultsPane.prototype._showMoreMatchesElementSelected):
(WebInspector.FileBasedSearchResultsPane.prototype._addFileTreeElement):
(WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
* inspector/front-end/Drawer.js:
(WebInspector.Drawer.prototype.hide):
* inspector/front-end/Images/statusbarButtonGlyphs.png:
* inspector/front-end/ScriptsSearchScope.js:
(WebInspector.ScriptsSearchScope):
(WebInspector.ScriptsSearchScope.prototype.performSearch.filterOutContentScripts):
(WebInspector.ScriptsSearchScope.prototype.performSearch.continueSearch):
(WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):
(WebInspector.ScriptsSearchScope.prototype.performSearch):
(WebInspector.ScriptsSearchScope.prototype.stopSearch):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._registerShortcuts):
* inspector/front-end/inspector.css:
(#drawer-status-bar .search-status-bar-item):
(#drawer-status-bar .search-status-bar-message):
(#drawer-status-bar .search-status-bar-progress):
(#drawer-status-bar .search-status-bar-stop-button-item):
(#drawer-status-bar .search-status-bar-stop-button .glyph):
(#drawer-status-bar .search-results-status-bar-message):
(.search-view .search-results):
(#search-results-pane-file-based .search-results-outline-disclosure):
(#search-results-pane-file-based .search-result):
(#search-results-pane-file-based .search-result:hover):
(#search-results-pane-file-based .show-more-matches):
(#search-results-pane-file-based .show-more-matches:hover):
(#search-results-pane-file-based .search-match:hover):
* inspector/front-end/utilities.js:
():
2011-10-20 Zhenyao Mo <zmo@google.com>
Implement mechanism to enable privileged webgl extensions
https://bugs.webkit.org/show_bug.cgi?id=70538
Reviewed by Darin Fisher.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::allowPrivilegedExtensions): check page/Settings flag.
* page/Settings.cpp: Add the flag.
(WebCore::Settings::Settings):
(WebCore::Settings::setPrivilegedWebGLExtensionsEnabled):
* page/Settings.h: Ditto.
(WebCore::Settings::privilegedWebGLExtensionsEnabled):
2011-10-20 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: first line in file is not highlighted.
https://bugs.webkit.org/show_bug.cgi?id=70504
Reviewed by Pavel Feldman.
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype._initializeTextViewer):
2011-10-21 Andreas Kling <kling@webkit.org>
Simplify CSSStyleRule::setSelectorText().
https://bugs.webkit.org/show_bug.cgi?id=70607
Reviewed by Antti Koivisto.
Remove unnecessary isCSSStyleSheet() check and redundant Document finding
logic (CSSStyleSheet::document() will return the owner node's Document just
like this code would.)
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):
2011-10-21 Alejandro G. Castro <alex@igalia.com>
[cairo] Forward declaration of GraphicsContextState uses class instead of struct
https://bugs.webkit.org/show_bug.cgi?id=70522
The type is a struct not a class, replace the definition in the
forward declaration.
Reviewed by Martin Robinson.
* platform/graphics/cairo/PlatformContextCairo.h:
2011-10-20 Andrey Kosyakov <caseq@chromium.org>
Web Inspector: make extension tests pass on chromium
https://bugs.webkit.org/show_bug.cgi?id=70334
Reviewed by Pavel Feldman.
* inspector/front-end/ExtensionAPI.js:
(buildExtensionAPIInjectedScript):
2011-10-20 Peter Rybin <peter.rybin@gmail.com>
Web Inspector: reimplement protocol backend/frontend source generator
https://bugs.webkit.org/show_bug.cgi?id=69295
Reviewed by Pavel Feldman.
Old 2-stage python+perf generator that uses intermediate IDL output is
being replaced with a solid python script. This is for simplicity and
as a base for the future JSON validator.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* inspector/CodeGeneratorInspector.pm: Removed.
* inspector/CodeGeneratorInspector.py: Added.
* inspector/Inspector.json:
* inspector/generate-inspector-idl: Removed.
2011-10-20 Adam Barth <abarth@webkit.org>
Attemp to fix a bunch of tests PLATFORM(MAC). We can't use a static
map because that's shared between threads (and events exist in worker
threads). It migh be better to add a thread-specific map, but we can
do that in another patch.
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
2011-10-20 Simon Fraser <simon.fraser@apple.com>
Hidden composited iframes cause infinite loop
https://bugs.webkit.org/show_bug.cgi?id=52655
Reviewed by Darin Adler.
visibility:hidden is problematic for compositing, because it causes
RenderLayers to be removed from the z-order layer tree. This confuses
RenderLayerCompositor in several ways; it never sees these layers
when traversing the tree as it computes compositing requirements, or
rebuilds the layer tree.
This is a particular problem with composited iframes. When an iframe
becomes composited, scheduleSetNeedsStyleRecalc() is called on that
iframe's ownerElement in the parent document. If this happens inside
Document::updateStyleForAllDocuments(), we get into an infinite loop
because notifyIFramesOfCompositingChange() queues up style update as we
bounce in and out of compositing mode, so documentsThatNeedStyleRecalc
never empties out.
This is an initial, conservative fix that doesn't attempt to fix all
the issues with visibility. It changes RenderLayerCompositor to count
the number of compositing RenderLayers, and to not leave compositing
mode if there are any (even if they are hidden, so not hit while
traversing the z-order tree). This avoids the infinite loop.
Test: compositing/visibility/hidden-iframe.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::ensureBacking):
(WebCore::RenderLayer::clearBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
* rendering/RenderLayerCompositor.h:
(WebCore::RenderLayerCompositor::layerBecameComposited):
(WebCore::RenderLayerCompositor::layerBecameNonComposited):
2011-10-20 Antoine Labour <piman@chromium.org>
Make WebCore depend on translator_glsl instead of translator_common
https://bugs.webkit.org/show_bug.cgi?id=70548
Reviewed by Kenneth Russell.
This is a build-only fix. Tested by checking WebKit still compiles and
link.
* WebCore.gyp/WebCore.gyp:
2011-10-20 Dana Jansens <danakj@chromium.org>
[Chromium] Fix opaque flag default and for ImageLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=70554
Reviewed by James Robinson.
Covered by layout tests.
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::setContents): Set opaque flag based on if the image claims to have alpha.
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium): Match the default opaque value in GraphicsLayerChromium.
2011-10-20 Yosifumi Inoue <yosin@chromium.org>
[Forms][File] Add tooltip to "No file selected" text
https://bugs.webkit.org/show_bug.cgi?id=70474
Reviewed by Kent Tamura.
No new tests. Existing tests cover all changes.
This patch provides tooltip for text portion of upload file control
tell users to know actual text of truncated text of file name and
"No file selected" text. Tooltip is always displayed even if user
select only one file for truncated displayed file name.
* html/FileInputType.cpp:
(WebCore::FileInputType::defaultToolTip): Implement default tooltip logic.
* html/FileInputType.h: declaration of new method defaultToolTip.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultToolTip): Impelement new method defaultToolTip.
* html/HTMLInputElement.h: declaration of new method defaultToolTip.
* html/InputType.cpp:
(WebCore::InputType::defaultToolTip): Implement default method of defaultToolTip method.
* html/InputType.h: declaration of new method defaultToolTip.
* page/Chrome.cpp:
(WebCore::Chrome::setToolTip): Use new method HTMLInputElement::defaultToolTip and move default tooltip logic to FileInputType::defaultToolTip method.
2011-10-20 Darin Adler <darin@apple.com>
Remove OptionElement (first half)
https://bugs.webkit.org/show_bug.cgi?id=70276
Reviewed by Kent Tamura.
Refactoring that does not require new tests.
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector): Use hasTagName
and toHTMLOptionElement instead of toOptionElement.
* dom/OptionElement.cpp: Deleted contents. Remove file later.
* dom/OptionElement.h: Ditto.
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::HTMLOptionElement): Initialize m_isSelected.
(WebCore::HTMLOptionElement::createForJSConstructor): Initialize the
selected attribute rather than calling setDefaultSelected.
(WebCore::HTMLOptionElement::text): Moved the code here from
OptionElement::collectOptionLabelOrText.
(WebCore::HTMLOptionElement::index): Moved the code here from
OptionElement::optionIndex.
(WebCore::HTMLOptionElement::parseMappedAttribute): Removed unneeded
code to call setValue and setLabel. Changed the code that called
setSelected to instead set m_isSelected and added a FIXME about why
that's probably wrong, but same behavior as before.
(WebCore::HTMLOptionElement::value): Moved the code here from
OptionElement::collectOptionValue. Added a FIXME about incorrect
whitespace stripping.
(WebCore::HTMLOptionElement::selected): Use m_isSelected.
(WebCore::HTMLOptionElement::setSelected): Use m_isSelected and
call setSelectedState instead of OptionElement::setSelectedState.
(WebCore::HTMLOptionElement::setSelectedState): Moved the code
here from OptionElement::setSelectedState.
(WebCore::HTMLOptionElement::label): Streamlined the code.
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
Moved the code here from OptionElement::collectOptionTextRespectingGroupLabel.
(WebCore::HTMLOptionElement::insertedIntoTree): Use m_isSelected
and rewrote comment for clarity.
(WebCore::HTMLOptionElement::collectOptionInnerText): Moved this
here from OptionElement, and changed to use StringBuilder.
(WebCore::toHTMLOptionElement): Added.
* html/HTMLOptionElement.h: Removed OptionElement.h include.
Removed OptionElement base class. Removed unneeded friend declarations.
Made value and selected functions non-virtual. Removed unneeded
defaultSelected and setDefaultSelected functions. Made the
textIndentedToRespectGroupLabel and setSelectedState functions
be non-virtual and public. Added a collectOptionInnerText function.
Replaced m_data with m_value, m_label, and m_selected.
* html/HTMLSelectElement.cpp:
(WebCore::toOptionElement): Added. Helper to keep existing code
close to the same.
(WebCore::HTMLSelectElement::nextValidIndex): Use hasTagName
instead of isOptionElement.
(WebCore::HTMLSelectElement::saveLastSelection): Use HTMLOptionElement
type instead of OptionElement.
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
(WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
(WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
(WebCore::HTMLSelectElement::recalcListItems): Ditto.
(WebCore::HTMLSelectElement::selectedIndex): Ditto.
(WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
(WebCore::HTMLSelectElement::optionToListIndex): Ditto.
(WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
(WebCore::HTMLSelectElement::saveFormControlState): Ditto.
(WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
(WebCore::HTMLSelectElement::appendFormData): Ditto.
(WebCore::HTMLSelectElement::reset): Ditto.
(WebCore::HTMLSelectElement::updateSelectedState): Ditto.
(WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
(WebCore::HTMLSelectElement::typeAheadFind): Ditto.
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
(WebCore::HTMLSelectElement::length): Ditto.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement): Use HTMLOptionElement,
hasTagName, and toHTMLOptionElement.
(WebCore::RenderListBox::addFocusRingRects): Ditto.
(WebCore::RenderListBox::paintItemForeground): Ditto.
(WebCore::RenderListBox::paintItemBackground): Ditto.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth): Ditto.
(WebCore::RenderMenuList::setTextFromOption): Ditto.
(WebCore::RenderMenuList::itemText): Ditto.
(WebCore::RenderMenuList::itemIsSelected): Ditto.
2011-10-20 Adam Barth <abarth@webkit.org>
Attempt to fix crash for infinite recursion.
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
2011-10-20 Dirk Pranke <dpranke@chromium.org>
Still lots of crashes in the chromium debug bots.
Unreviewed, rolling out r97982.
http://trac.webkit.org/changeset/97982
https://bugs.webkit.org/show_bug.cgi?id=70328
crashing in asserts in chromium debug builds
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
* page/GeolocationController.h:
2011-10-20 Adam Barth <abarth@webkit.org>
Attempt to fix the GTK build.
* GNUmakefile.am:
2011-10-20 Adam Barth <abarth@webkit.org>
CloseEvent.idl isn't conditional on WebSockets.
* dom/EventFactory.in:
2011-10-20 Adam Barth <abarth@webkit.org>
Event.h shouldn't need to know about every ifdef and feature that uses events
https://bugs.webkit.org/show_bug.cgi?id=70483
Reviewed by Eric Seidel.
This patch expands make_event_factory.pl to create a
DOM_EVENT_INTERFACES_FOR_EACH macro that we can use to generate code
for each Event interface. We then apply that macro to removing a large
number of virtual functions on Event. Instead of having a Boolean
virtual function for each subclass of Event, we have a single virtual
interfaceName function, which returns an AtomicString. We then use the
AtomicString to jump through a HashMap to find the appropriate
JavaScript wrapper type.
This patch does not remove all of the Boolean virtual functions because
I got exhausted making all of these edits, but I did remove all the
ones that involve ifdefs. A future patch will remove more.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* dom/BeforeLoadEvent.h:
(WebCore::BeforeLoadEvent::interfaceName):
(WebCore::BeforeLoadEvent::isBeforeLoadEvent):
* dom/BeforeTextInsertedEvent.cpp:
(WebCore::BeforeTextInsertedEvent::interfaceName):
* dom/BeforeTextInsertedEvent.h:
* dom/ClipboardEvent.cpp:
(WebCore::ClipboardEvent::interfaceName):
* dom/ClipboardEvent.h:
* dom/CompositionEvent.cpp:
(WebCore::CompositionEvent::interfaceName):
* dom/CompositionEvent.h:
* dom/CustomEvent.cpp:
(WebCore::CustomEvent::interfaceName):
* dom/CustomEvent.h:
* dom/DeviceMotionEvent.cpp:
(WebCore::DeviceMotionEvent::interfaceName):
* dom/DeviceMotionEvent.h:
* dom/DeviceOrientationEvent.cpp:
(WebCore::DeviceOrientationEvent::interfaceName):
* dom/DeviceOrientationEvent.h:
* dom/ErrorEvent.cpp:
(WebCore::ErrorEvent::interfaceName):
* dom/ErrorEvent.h:
* dom/Event.cpp:
(WebCore::Event::interfaceName):
* dom/Event.h:
* dom/EventNames.cpp:
(WebCore::EventNames::EventNames):
* dom/EventNames.h:
* dom/HashChangeEvent.h:
(WebCore::HashChangeEvent::interfaceName):
* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::interfaceName):
* dom/KeyboardEvent.h:
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::interfaceName):
* dom/MessageEvent.h:
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::interfaceName):
* dom/MouseEvent.h:
* dom/MutationEvent.cpp:
(WebCore::MutationEvent::interfaceName):
* dom/MutationEvent.h:
* dom/OverflowEvent.cpp:
(WebCore::OverflowEvent::interfaceName):
* dom/OverflowEvent.h:
* dom/PageTransitionEvent.cpp:
(WebCore::PageTransitionEvent::interfaceName):
* dom/PageTransitionEvent.h:
* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::interfaceName):
* dom/PopStateEvent.h:
* dom/ProgressEvent.cpp:
(WebCore::ProgressEvent::interfaceName):
* dom/ProgressEvent.h:
* dom/TextEvent.cpp:
(WebCore::TextEvent::interfaceName):
* dom/TextEvent.h:
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::interfaceName):
* dom/TouchEvent.h:
* dom/UIEvent.h:
* dom/WebKitAnimationEvent.cpp:
(WebCore::WebKitAnimationEvent::interfaceName):
* dom/WebKitAnimationEvent.h:
* dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEvent::interfaceName):
* dom/WebKitTransitionEvent.h:
* dom/WheelEvent.cpp:
(WebCore::WheelEvent::interfaceName):
* dom/WheelEvent.h:
* dom/make_event_factory.pl:
(printFactoryFile):
(printMacroFile):
(printHeadersFile):
* html/canvas/WebGLContextEvent.cpp:
(WebCore::WebGLContextEvent::interfaceName):
* html/canvas/WebGLContextEvent.h:
* inspector/InspectorDOMStorageResource.cpp:
(WebCore::InspectorDOMStorageResource::handleEvent):
* p2p/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::interfaceName):
* p2p/MediaStreamEvent.h:
* page/SpeechInputEvent.cpp:
(WebCore::SpeechInputEvent::interfaceName):
* page/SpeechInputEvent.h:
* storage/IDBVersionChangeEvent.cpp:
(WebCore::IDBVersionChangeEvent::interfaceName):
* storage/IDBVersionChangeEvent.h:
* storage/StorageEvent.cpp:
(WebCore::StorageEvent::interfaceName):
* storage/StorageEvent.h:
* svg/SVGZoomEvent.cpp:
(WebCore::SVGZoomEvent::interfaceName):
* svg/SVGZoomEvent.h:
* webaudio/AudioProcessingEvent.cpp:
(WebCore::AudioProcessingEvent::interfaceName):
* webaudio/AudioProcessingEvent.h:
* webaudio/OfflineAudioCompletionEvent.cpp:
(WebCore::OfflineAudioCompletionEvent::interfaceName):
* webaudio/OfflineAudioCompletionEvent.h:
* websockets/CloseEvent.h:
(WebCore::CloseEvent::interfaceName):
* xml/XMLHttpRequestProgressEvent.h:
(WebCore::XMLHttpRequestProgressEvent::interfaceName):
2011-10-20 Nat Duca <nduca@chromium.org>
[chromium] Route onSwapBuffersComplete from LayerRenderer to CCScheduler.
Reviewed by James Robinson.
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::create):
(WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::~LayerRendererSwapBuffersCompleteCallbackAdapter):
(WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
(WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::LayerRendererSwapBuffersCompleteCallbackAdapter):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::onSwapBuffersComplete):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::onSwapBuffers):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::swapBuffers):
(WebCore::CCLayerTreeHostImpl::onSwapBuffersComplete):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::requestRedraw):
(WebCore::CCScheduler::didDrawAndSwap):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didSwapBuffersAbort):
* platform/graphics/chromium/cc/CCScheduler.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::compositeImmediately):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore::CCSingleThreadProxy::onSwapBuffersCompleteOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxySchedulerClient::scheduleDrawAndSwap):
(WebCore::CCThreadProxy::drawLayersAndReadbackOnImplThread):
(WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
(WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
(WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
(WebCore::CCThreadProxy::drawLayersOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
2011-10-20 Julien Chaffraix <jchaffraix@webkit.org>
RenderDeprecatedFlexibleBox does not call its children's layout method
https://bugs.webkit.org/show_bug.cgi?id=64842
Reviewed by David Hyatt.
Tests: fast/flexbox/021-vertical.html
fast/flexbox/crash-flexbox-no-layout-child.html
The FlexBoxIterator would skip any child with visibility: collapsed. However those child
would need layout but their layout() function would never be called.
This change refactors the way flexible box handles visibility: collapsed child and mark sure
their layout() function is called but makes sure that they don't participate in the flex box
dimensions.
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::FlexBoxIterator::next): Do not skip visibility: collapsed child.
(WebCore::childDoesNotAffectWidthOrFlexing): Helper function.
(WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
(WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
Updated to skip the now seen visibility: collapsed child during the
iteration.
2011-10-20 Raymond Toy <rtoy@google.com>
Implement SSE denormal disabler for windows.
https://bugs.webkit.org/show_bug.cgi?id=70517
Reviewed by Kenneth Russell.
* platform/audio/DenormalDisabler.h:
(WebCore::DenormalDisabler::DenormalDisabler):
Add implementation for Windows.
(WebCore::DenormalDisabler::~DenormalDisabler):
Ditto.
(WebCore::DenormalDisabler::flushDenormalFloatToZero):
Unify Windows with mac/linux.
(WebCore::DenormalDisabler::getCSR):
Define only if we're not on Windows.
(WebCore::DenormalDisabler::setCSR):
Ditto.
2011-10-20 Alexey Proskuryakov <ap@apple.com>
REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
https://bugs.webkit.org/show_bug.cgi?id=70534
<rdar://problem/10308827>
Reviewed by Darin Adler.
* plugins/PluginView.cpp: (WebCore::PluginView::handleEvent): Return true for contextmenu
event, so that plug-ins won't get a default WebKit context menu. We can't know if the
plug-in is handling mousedown (or even mouseup) by displaying a menu.
2011-10-17 Nat Duca <nduca@chromium.org>
[chromium] Allow CCLayerTreeHostImpl to call back to proxy via CCLayerTreeHostImplClient
https://bugs.webkit.org/show_bug.cgi?id=70291
Reviewed by James Robinson.
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::create):
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::scrollRootLayer):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCScrollController.h:
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::start):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scrollRootLayerOnImplThread):
(WebCore::CCThreadProxy::initializeImplOnCCThread):
(WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
2011-10-20 Tony Chang <tony@chromium.org>
fix repaint bugs in new flexbox
https://bugs.webkit.org/show_bug.cgi?id=70450
Reviewed by David Hyatt.
Test: css3/flexbox/repaint.html
css3/flexbox/repaint-rtl-column.html
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Use LayoutRepainter and LayoutStateMaintainer
to repaint the flexbox.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
(WebCore::RenderFlexibleBox::adjustLocationLogicalTopForChild): Use repaintDuringLayoutIfMoved
when changing the alignment of a child to handle the child moving.
2011-10-20 Dan Bernstein <mitz@apple.com>
Flipped-blocks writing mode blocks do not hit test their overflow
https://bugs.webkit.org/show_bug.cgi?id=70546
Reviewed by Sam Weinig.
Test: fast/writing-mode/flipped-blocks-hit-test-overflow.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint): Flip the overflow rect if necessary.
2011-10-20 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=70539
Make the 'clip' property work in variable width regions.
Reviewed by Dan Bernstein.
Added new test in fast/regions.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::clipRect):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::repaintBlockSelectionGaps):
* rendering/RenderLayerBacking.cpp:
(WebCore::clipBox):
2011-10-20 Simon Fraser <simon.fraser@apple.com>
Fix build breakage on some platforms after r98008.
* page/FrameTree.cpp:
2011-10-20 Vincent Scheib <scheib@chromium.org>
MouseLock compile and run time flags.
https://bugs.webkit.org/show_bug.cgi?id=70530
Reviewed by Darin Fisher.
No new tests.
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitMouseLockAPIEnabled):
(WebCore::RuntimeEnabledFeatures::setWebkitMouseLockAPIEnabled):
(WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
(WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
(WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setMouseLockEnabled):
(WebCore::Settings::mouseLockEnabled):
2011-10-20 Tony Chang <tony@chromium.org>
Fix a compiler warning in MediaStreamTrack.cpp:
../../third_party/WebKit/Source/WebCore/dom/MediaStreamTrack.cpp: In member function 'WTF::String WebCore::MediaStreamTrack::kind() const':
../../third_party/WebKit/Source/WebCore/dom/MediaStreamTrack.cpp:61:1: error: control reaches end of non-void function [-Werror=return-type]
Unreviewed build fix.
* dom/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::kind):
2011-10-20 Gustavo Noronha Silva <gns@gnome.org>
One more GTK+ build fix. Remove CueLoader files from the build.
* GNUmakefile.list.am:
2011-10-20 Ken Buchanan <kenrb@chromium.org>
Crash in updateFirstLetter on :after generated content
https://bugs.webkit.org/show_bug.cgi?id=70031
Reviewed by David Hyatt.
Preventing findBeforeAfterParent() from returning a first-letter block and overwriting its style.
Instead, it returns the block's parent.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
* rendering/RenderObjectChildList.cpp:
(WebCore::findBeforeAfterParent)
(WebCore::RenderObjectChildList::updateBeforeAfterContent): First-letter siblings now already have style applied, so this clause is redundant
2011-10-20 Simon Fraser <simon.fraser@apple.com>
Add a way to print the Frame tree from the debugger.
Reviewed by Sam Weinig.
Add a showFrameTree(frame) method, callable from gdb,
which dumps the Frame tree, including the frame's view,
document, owner element and URI.
* page/FrameTree.cpp:
(printIndent):
(printFrames):
(showFrameTree):
* page/FrameTree.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateClipRects):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForFrame):
2011-10-20 Andreas Kling <kling@webkit.org>
Remove StyleBase::cssText().
https://bugs.webkit.org/show_bug.cgi?id=70521
Reviewed by Antti Koivisto.
* css/StyleBase.cpp:
* css/StyleBase.h:
2011-10-20 Eugene Nalimov <enal@chromium.org>
Playing HTMLAudioElement can be garbage collected
https://bugs.webkit.org/show_bug.cgi?id=66878
Reviewed by Adam Barth.
Make HTMLAudioElement an 'active' one, meaning that it cannot be
garbage collected if it has panding activity. Had to make
HTMLMediaElement::hasPendingActivity() and
HTMLAudioElement::hasPendingActivity() public, otherwise automatically
generated code would not compile.
Test: no test, as automatic test is blocked by
https://bugs.webkit.org/show_bug.cgi?id=70421
You don't want to sit down and listen if audio stream played completely,
and cannot rely on 'ended' event because events are lost when events
listener is collected.
* html/HTMLAudioElement.idl:
* html/HTMLAudioElement.h:
(WebCore::HTMLAudioElement::hasPendingActivity):
* html/HTMLMediaElement.h:
2011-10-20 Mark Hahnenberg <mhahnenberg@apple.com>
Rename static deleteProperty to deletePropertyByIndex
https://bugs.webkit.org/show_bug.cgi?id=70257
Reviewed by Geoffrey Garen.
No new tests.
Renaming versions of deleteProperty that use an unsigned as the property
name to "deletePropertyByIndex" in preparation for adding them to the
MethodTable, which requires unique names for each method.
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::deletePropertyVirtual):
(JSC::RuntimeArray::deletePropertyByIndex):
* bridge/runtime_array.h:
2011-10-20 Eric Carlson <eric.carlson@apple.com>
Rename some Cue classes to TextTrack
https://bugs.webkit.org/show_bug.cgi?id=70346
Rename CueLoader -> TextTrackLoader, CachedCues -> CachedTextTrack, and CueIndex -> TextTrackIndex.
Reviewed by Darin Adler.
No new tests, renames only.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* html/CueIndex.cpp: Removed.
* html/CueIndex.h: Removed.
* html/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::load):
(WebCore::LoadableTextTrack::newCuesAvailable):
(WebCore::LoadableTextTrack::cueLoadingStarted):
(WebCore::LoadableTextTrack::cueLoadingCompleted):
* html/LoadableTextTrack.h:
(WebCore::LoadableTextTrack::shouldLoadCues):
* html/MutableTextTrack.h:
* html/TextTrackIndex.cpp: Copied from Source/WebCore/html/CueIndex.cpp.
(WebCore::TextTrackCueSet::difference):
(WebCore::TextTrackCueSet::unionSet):
(WebCore::TextTrackCueSet::add):
(WebCore::TextTrackCueSet::contains):
(WebCore::TextTrackCueSet::remove):
(WebCore::TextTrackCueSet::isEmpty):
(WebCore::TextTrackCueSet::size):
(WebCore::TextTrackIndex::fetchNewCuesFromLoader):
(WebCore::TextTrackIndex::removeCuesFromIndex):
(WebCore::TextTrackIndex::visibleCuesAtTime):
(WebCore::TextTrackIndex::add):
(WebCore::TextTrackIndex::remove):
* html/TextTrackIndex.h: Copied from Source/WebCore/html/CueIndex.h.
(WebCore::TextTrackCueSet::TextTrackCueSet):
(WebCore::TextTrackCueSet::~TextTrackCueSet):
* loader/CueLoader.cpp: Removed.
* loader/CueLoader.h: Removed.
* loader/TextTrackLoader.cpp: Copied from Source/WebCore/loader/CueLoader.cpp.
(WebCore::TextTrackLoader::TextTrackLoader):
(WebCore::TextTrackLoader::~TextTrackLoader):
(WebCore::TextTrackLoader::cueLoadTimerFired):
(WebCore::TextTrackLoader::processNewCueData):
(WebCore::TextTrackLoader::didReceiveData):
(WebCore::TextTrackLoader::notifyFinished):
(WebCore::TextTrackLoader::load):
(WebCore::TextTrackLoader::newCuesParsed):
(WebCore::TextTrackLoader::getNewCues):
* loader/TextTrackLoader.h: Copied from Source/WebCore/loader/CueLoader.h.
(WebCore::TextTrackLoaderClient::~TextTrackLoaderClient):
(WebCore::TextTrackLoader::create):
* loader/cache/CachedCues.cpp: Removed.
* loader/cache/CachedCues.h: Removed.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestCues):
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedTextTrack.cpp: Copied from Source/WebCore/loader/cache/CachedCues.cpp.
(WebCore::CachedTextTrack::CachedTextTrack):
(WebCore::CachedTextTrack::~CachedTextTrack):
(WebCore::CachedTextTrack::data):
* loader/cache/CachedTextTrack.h: Copied from Source/WebCore/loader/cache/CachedCues.h.
2011-10-20 Joseph Pecoraro <joepeck@webkit.org>
Remove Now Unused FileChooserSettings.deprecatedAcceptTypes
https://bugs.webkit.org/show_bug.cgi?id=70473
Reviewed by Dan Bernstein.
* html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::receiveDropForDirectoryUpload):
* platform/FileChooser.h:
2011-10-20 Andreas Kling <kling@webkit.org>
Simplify CSSParser::document().
https://bugs.webkit.org/show_bug.cgi?id=70518
Reviewed by Antti Koivisto.
We don't need to climb up the entire parent chain here to find the
Document, just grab it from m_styleSheet (which will do the climbing
for us if necessary.)
* css/CSSParser.cpp:
(WebCore::CSSParser::document):
2011-10-20 Pierre Rossi <pierre.rossi@gmail.com>
[Qt] FontCache::createFontPlatformData() is broken, a default font is returned
even if the family does not match.
https://bugs.webkit.org/show_bug.cgi?id=55036
The problem here was that a FontPlatformData
object is always created, regardless of whether
the request for a given font family can be
satisfied or not.
Reviewed by Andreas Kling.
Covered by existing tests.
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::createFontPlatformData):
2011-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
When user is panning with the tiled backing store, the page
isn't notified about the scroll position change
https://bugs.webkit.org/show_bug.cgi?id=70495
Reviewed by Simon Hausmann.
When using the tiled backing store the UI handles scrolling,
and sends setFixedVisibleContentRect after panning/scale ends.
If we actually changed position we need to send the scroll DOM event.
Covered by existing tests, though we are not testing the tiled backing store yet.
* page/FrameView.cpp:
(WebCore::FrameView::setFixedVisibleContentRect):
* page/FrameView.h:
* platform/ScrollView.h:
(WebCore::ScrollView::setFixedVisibleContentRect):
2011-10-20 John Knottenbelt <jknotten@chromium.org>
Touch events should take page scale into account
https://bugs.webkit.org/show_bug.cgi?id=69798
Reviewed by Adam Barth.
Test: fast/events/touch/page-scaled-touch-gesture-click.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent):
2011-10-20 Andreas Kling <kling@webkit.org>
CSSMutableStyleDeclaration: Simplify setNeedsStyleRecalc().
https://bugs.webkit.org/show_bug.cgi?id=70509
Reviewed by Antti Koivisto.
We don't need to climb up the entire parent chain here to find the
Document, just grab it from the parentStyleSheet() (which will do
the climbing for us if necessary.)
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2011-10-20 Andreas Kling <kling@webkit.org>
CSSStyleDeclaration: Remove inheritance from StyleBase.
https://bugs.webkit.org/show_bug.cgi?id=70411
Reviewed by Antti Koivisto.
* bindings/js/JSDOMBinding.h:
(WebCore::root):
Specialized root() for CSSStyleDeclaration and CSSMutableStyleDeclaration.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
Start the parent chain traversal from the parentStyleSheet().
(WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs):
* css/CSSParser.cpp:
(WebCore::parseColorValue):
(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseDeclaration):
Remove now-unnecessary assertions and casts.
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::~CSSStyleDeclaration):
(WebCore::CSSStyleDeclaration::parentRule):
(WebCore::CSSStyleDeclaration::setParentRule):
(WebCore::CSSStyleDeclaration::setParentStyleSheet):
(WebCore::CSSStyleDeclaration::parentStyleSheet):
Make CSSStyleDeclaration inherit directly from RefCounted, and have either
a CSSRule or CSSStyleSheet parent. Eventually it should only need to have
rules as parents, but CSSParser depends on having style sheet parents for
URL completion and primitive value cache.
* css/StyleBase.h:
* css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
Moved from StyleBase down to CSSStyleDeclaration.
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::~CSSStyleRule):
(WebCore::CSSStyleRule::setSelectorText):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
(WebCore::WebKitCSSKeyframeRule::setDeclaration):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::append):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
* dom/StyledElement.cpp:
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore::StyledElement::destroyInlineStyleDecl):
(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::createMappedDecl):
(WebCore::StyledElement::didMoveToNewOwnerDocument):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::additionalAttributeStyleDecls):
(WebCore::HTMLTableElement::addSharedCellBordersDecl):
(WebCore::HTMLTableElement::addSharedCellPaddingDecl):
(WebCore::HTMLTableElement::addSharedGroupDecls):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
Use the new parenting methods of CSSStyleDeclaration.
* css/StyleBase.cpp:
(WebCore::StyleBase::node):
Remove the isMutableStyleDeclaration() code path.
2011-10-20 Pavel Feldman <pfeldman@google.com>
Web Inspector: detach should call hide so that overrides are processed.
https://bugs.webkit.org/show_bug.cgi?id=70503
Reviewed by Yury Semikhatsky.
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.hide):
* inspector/front-end/View.js:
(WebInspector.View):
(WebInspector.View.prototype.hide):
(WebInspector.View.prototype.detach):
2011-10-20 Csaba Osztrogonác <ossy@webkit.org>
[Qt] Roll-back r97964, r97972 and fix in https://bugs.webkit.org/show_bug.cgi?id=70328.
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
(WebCore::DeviceMotionController::suspend):
(WebCore::DeviceMotionController::resume):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::suspend):
(WebCore::DeviceOrientationController::resume):
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):
(WebCore::Document::stopActiveDOMObjects):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
(WebCore::GeolocationController::suspend):
(WebCore::GeolocationController::resume):
* page/GeolocationController.h:
2011-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r97964 and r97972.
http://trac.webkit.org/changeset/97964
http://trac.webkit.org/changeset/97972
https://bugs.webkit.org/show_bug.cgi?id=70502
They broke all geolocation tests in debug mode (Requested by
Ossy on #webkit).
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
* page/GeolocationController.h:
2011-10-20 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed fix for Date.prototype.toISO8601Compact.
It was generated wrong string for the dates with no leading zeros like 2011.11.11.
* inspector/front-end/utilities.js:
2011-10-20 Pavel Feldman <pfeldman@google.com>
Web Inspector: minor CPU profiling UX improvements
https://bugs.webkit.org/show_bug.cgi?id=70499
Store profile type. Store time percentage toggle state.
Reviewed by Yury Semikhatsky.
* inspector/front-end/ProfileDataGridTree.js:
* inspector/front-end/ProfileView.js:
(WebInspector.CPUProfileView.profileCallback):
(WebInspector.CPUProfileView.prototype._changeView.set else):
2011-10-20 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Advanced search results should keep working after pretty print toggled.
https://bugs.webkit.org/show_bug.cgi?id=70347
Reviewed by Pavel Feldman.
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.SearchScope.prototype.createSearchResultsPane):
(WebInspector.FileBasedSearchResultsPane.prototype.createAnchor):
(WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
(WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
(WebInspector.FileBasedSearchResultsPane.prototype._createContentSpan):
* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype._materializeBreakpoint):
* inspector/front-end/CompilerSourceMapping.js:
(WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.createLinkifier):
(WebInspector.DebuggerPresentationModel.prototype.continueToLine):
(WebInspector.DebuggerPresentationModel.LinkifierFormatter):
(WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
(WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter):
(WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
(WebInspector.DebuggerPresentationModel.Linkifier):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyResource):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
(WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
(WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
(WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
(WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
* inspector/front-end/ScriptsSearchScope.js:
(WebInspector.ScriptsSearchResultsPane):
(WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
(WebInspector.ScriptsSearchResultsPane.LinkifierFormatter):
(WebInspector.ScriptsSearchResultsPane.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
* inspector/front-end/inspector.html:
2011-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
m_client in DeviceMotionController can never be 0, so no need to check for it
https://bugs.webkit.org/show_bug.cgi?id=70490
Reviewed by Simon Hausmann.
No behavior change, thus no new tests.
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::timerFired):
(WebCore::DeviceMotionController::addListener):
(WebCore::DeviceMotionController::removeListener):
(WebCore::DeviceMotionController::removeAllListeners):
(WebCore::DeviceMotionController::suspend):
(WebCore::DeviceMotionController::resume):
2011-10-20 Cary Clark <caryclark@google.com>
[Chromium Skia on Mac] Improve focus ring
https://bugs.webkit.org/show_bug.cgi?id=70124
Reviewed by Adam Barth.
The focus ring code formerly outset the bounds of
the component rectangles by fractional amounts. Because
the rectangles are SkIRect (integer based), the fractional
outset had no effect.
The equivalent code in GraphicsContextMac.mm computes
the curve radius and rectangle outset with integers, so
the use of floats in Skia's case, besides not working,
is unnecessary.
The Skia code also failed to take the offset into account.
In LayoutTests, the focus rings either have an offset of
0 or 2. The CoreGraphics code increases the ring's rectangles
by the offset, then passes the result to wkDrawFocusRing.
I did not find any documentation about how wkDrawFocusRing
further inflates the focus ring, but empirically I determined
that adding 2 to the offset generated rings with identical
outer diameters.
With these adjustments, the layout tests generate focus rings
in the Skia on Mac case that match the coverage of the
Chromium CG-based platform, in particular, matching:
editing/inserting/editable-inline-element.html
editing/selection/3690703-2.html
* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::getFocusRingOutset):
(WebCore::GraphicsContext::drawFocusRing):
2011-10-20 Zoltan Herczeg <zherczeg@webkit.org>
Improve NEON based GaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=70493
Reviewed by Csaba Osztrogonác.
vmov instruction is less complex than vtbl.
* platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:
2011-10-20 Pavel Feldman <pfeldman@google.com>
Not reviewed: follow up to 97961 - dispatching of hide on detach was missing.
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype.show):
* inspector/front-end/View.js:
(WebInspector.View.prototype.detach):
* inspector/front-end/utilities.js:
2011-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
https://bugs.webkit.org/show_bug.cgi?id=70328
Reviewed by Simon Hausmann.
Based on code from iOS and the N9.
No new tests, as the suspend/resume functionality is not fully working yet.
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::suspend):
(WebCore::DeviceMotionController::resume):
* dom/DeviceMotionController.h:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::addListener):
(WebCore::DeviceOrientationController::removeListener):
(WebCore::DeviceOrientationController::removeAllListeners):
(WebCore::DeviceOrientationController::suspend):
(WebCore::DeviceOrientationController::resume):
* dom/DeviceOrientationController.h:
* dom/Document.cpp:
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):
(WebCore::Document::stopActiveDOMObjects):
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/GeolocationController.cpp:
(WebCore::GeolocationController::suspend):
(WebCore::GeolocationController::resume):
* page/GeolocationController.h:
2011-10-20 Antti Koivisto <antti@apple.com>
Move rule matching and applying to separate functions from CSSStyleSelector::styleForElement
https://bugs.webkit.org/show_bug.cgi?id=70408
Reviewed by Andreas Kling.
- Move matching code to matchAllRules and applying to applyMatchedDeclarations.
- Encapsulate the matching results into a struct, use everywhere.
- Move first-line style adjustment to adjustRenderStyle().
- Remove unnecessary tests for resolveForRootDefault when applying the style
- Use applyMatchedDeclarations also from pseudoStyleForElement
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchAllRules):
(WebCore::CSSStyleSelector::matchUARules):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):
(WebCore::CSSStyleSelector::styleForPage):
(WebCore::CSSStyleSelector::adjustRenderStyle):
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
(WebCore::CSSStyleSelector::applyMatchedDeclarations):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::MatchResult::MatchResult):
2011-10-19 Pavel Feldman <pfeldman@google.com>
Web Inspector: get rid of manual view hierarchy management.
https://bugs.webkit.org/show_bug.cgi?id=70417
Reviewed by Yury Semikhatsky.
* inspector/front-end/AuditsPanel.js:
(WebInspector.AuditsPanel.prototype.show):
(WebInspector.AuditsPanel.prototype._clearButtonClicked):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.show):
(WebInspector.ConsolePanel.prototype.hide):
* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
(WebInspector.DetailedHeapshotView.prototype.show):
(WebInspector.DetailedHeapshotView.prototype._changeView):
* inspector/front-end/IFrameView.js:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView):
(WebInspector.NetworkLogView.prototype._initializeView):
(WebInspector.NetworkPanel.prototype.show):
(WebInspector.NetworkPanel.prototype._showResource):
(WebInspector.NetworkPanel.prototype._closeVisibleResource):
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.show):
(WebInspector.Panel.prototype.detach):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._reset):
(WebInspector.ProfilesPanel.prototype.closeVisibleView):
* inspector/front-end/RemoteObject.js:
* inspector/front-end/ResourcePreviewView.js:
(WebInspector.ResourcePreviewView.prototype.contentLoaded):
* inspector/front-end/ResourceResponseView.js:
(WebInspector.ResourceResponseView.prototype.contentLoaded):
* inspector/front-end/ResourceTimingView.js:
(WebInspector.ResourceTimingView.prototype.show):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.reset):
(WebInspector.ResourcesPanel.prototype._innerShowView):
(WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._createSourceFrame):
(WebInspector.ScriptsPanel.prototype._removeSourceFrame):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
(WebInspector.SourceFrame.prototype.show):
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane):
(WebInspector.TabbedPane.prototype.appendTab):
(WebInspector.TabbedPane.prototype._hideTab):
* inspector/front-end/View.js:
(WebInspector.View):
(WebInspector.View.prototype.show):
(WebInspector.View.prototype.hide):
(WebInspector.View.prototype.attach):
(WebInspector.View.prototype.detach):
(WebInspector.View.prototype._addChildView):
(WebInspector.View.prototype._removeChildView):
(WebInspector.View.prototype.dispatchToVisibleChildren):
(WebInspector.View.prototype._handleInsertedIntoDocument):
(WebInspector.View.prototype._handleRemovedFromDocument):
(WebInspector.View.prototype.printViewHierarchy):
(WebInspector.View.prototype._collectViewHierarchy):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
2011-10-20 Vsevolod Vlasov <vsevik@chromium.org>
Web Inspector: Enable support for advanced search in script's static content provider.
https://bugs.webkit.org/show_bug.cgi?id=70354
Reviewed by Pavel Feldman.
Test: http/tests/inspector/search/search-in-static.html
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.performSearch):
* inspector/front-end/ContentProviders.js:
(WebInspector.StaticContentProvider.prototype.searchInContent):
* inspector/front-end/ElementsTreeOutline.js:
():
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype.performSearch):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._showSourceLine):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.createSearchRegex):
* inspector/front-end/utilities.js:
():
2011-10-20 Raphael Kubo da Costa <kubo@profusion.mobi>
[EFL] Do not manually set the frameRect in different places in ScrollbarEfl.
https://bugs.webkit.org/show_bug.cgi?id=70427
Reviewed by Kenneth Rohde Christiansen.
This commit is related to the effort towards having a different
scrollbar (with a size > 0) for DumpRenderTree.
Scrollbar::Scrollbar() already calls setFrameRect() with the size
obtained from ScrollbarTheme::scrollbarThickness(), which is currently
always 0 for us, so the call to setFrameRect() in ScrollbarEfl's
constructor is not needed and would break things if scrollbarThickness
is changed to return another value.
The frameRect is also not changed in ScrollbarEfl::setParent() anymore,
as it also does not take scrollbarThickness() into account and thus
breaks using other themes such as ScrollbarThemeMock in DumpRenderTree.
Right now, it is always going to be 0 anyway.
It is still work in progress, though -- it'd be good to somehow move the
theming code to ScrollbarThemeEfl, as right now scrollbar EDCs with a
non-zero min size will not cause the scrollbars to have non-zero size.
No new tests, this is machinery needed to run the current tests.
* platform/efl/ScrollbarEfl.cpp:
(ScrollbarEfl::ScrollbarEfl):
(ScrollbarEfl::setParent):
2011-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r97954.
http://trac.webkit.org/changeset/97954
https://bugs.webkit.org/show_bug.cgi?id=70486
clean build failed on chromium.mac: File
"../inspector/CodeGeneratorInspector.py", line 34, in <module>
import json (Requested by loislo on #webkit).
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* inspector/CodeGeneratorInspector.pm: Added.
(new):
(GenerateModule):
(GenerateInterface):
(generateAgentDeclaration):
(generateFrontendConstructorImpl):
(generateFunctions):
(generateFrontendFunction):
(camelCase):
(generateBackendFunction):
(generateBackendSendResponse):
(generateBackendReportProtocolError):
(generateArgumentGetters):
(generateBackendDispatcher):
(generateBackendMessageParser):
(collectBackendJSStubFunctions):
(collectBackendJSStubEvents):
(generateBackendStubJS):
(generateHeader):
(generateSource):
(typeTraits):
(paramTypeTraits):
(generateBackendAgentFieldsAndConstructor):
(finish):
* inspector/CodeGeneratorInspector.py: Removed.
* inspector/Inspector.json:
* inspector/generate-inspector-idl: Added.
2011-10-20 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
Enable geolocation client based flag for Qt5
https://bugs.webkit.org/show_bug.cgi?id=70330
Reviewed by Kenneth Rohde Christiansen.
This will enable client based geolocation for Qt5.
No new tests, this enables flags for Qt5.
* features.pri:
2011-10-20 Kentaro Hara <haraken@chromium.org>
Implement a MessageEvent constructor for V8
https://bugs.webkit.org/show_bug.cgi?id=70296
Reviewed by Adam Barth.
Test: fast/events/constructors/message-event-constructor.html
* bindings/v8/OptionsObject.cpp:
(WebCore::OptionsObject::getKeyValue): Returns RefPtr<DOMWindow> corresponding to a given key.
(WebCore::OptionsObject::getKeyValue): Returns MessagePortArray corresponding to a given key.
* bindings/v8/OptionsObject.h:
* bindings/v8/custom/V8EventConstructors.cpp: Added a MessageEvent constructor.
* dom/MessageEvent.idl: Makes MessageEvent constructible for V8.
2011-10-20 Peter Rybin <peter.rybin@gmail.com>
Web Inspector: reimplement protocol backend/frontend source generator
https://bugs.webkit.org/show_bug.cgi?id=69295
Reviewed by Pavel Feldman.
Old 2-stage python+perf generator that uses intermediate IDL output is
being replaced with a solid python script. This is for simplicity and
as a base for the future JSON validator.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* inspector/CodeGeneratorInspector.pm: Removed.
* inspector/CodeGeneratorInspector.py: Added.
* inspector/Inspector.json:
* inspector/generate-inspector-idl: Removed.
2011-10-18 Pavel Podivilov <podivilov@chromium.org>
Web Inspector: encode source map url as source map page url query parameter.
https://bugs.webkit.org/show_bug.cgi?id=70327
Reviewed by Pavel Feldman.
* inspector/front-end/CompilerSourceMappingProvider.js:
(WebInspector.CompilerSourceMappingProvider):
(WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping.frameLoaded):
(WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
(WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
(WebInspector.CompilerSourceMappingProvider.prototype._sendRequest):
* inspector/front-end/RawSourceCode.js:
(WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiSourceCodeList):
2011-10-19 Alexander Pavlov <apavlov@chromium.org>
Web Inspector: The "x" in "980px x 36px" looks weird in the inspector node callout
https://bugs.webkit.org/show_bug.cgi?id=69857
Reviewed by Pavel Feldman.
* inspector/DOMNodeHighlighter.cpp:
2011-10-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r97917.
http://trac.webkit.org/changeset/97917
https://bugs.webkit.org/show_bug.cgi?id=70475
number of crashes on Snow Leopard/Lion tests bots
http://build.webkit.org/results/Lion%20Intel%20Release%20(Tests)/r97917%20(2020)/http/tests/inspector
/extensions-network-redirect-crash-log.txt (Requested by
loislo on #webkit).
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):
* dom/OptionElement.cpp:
(WebCore::OptionElement::setSelectedState):
(WebCore::OptionElement::optionIndex):
(WebCore::OptionElement::collectOptionLabelOrText):
(WebCore::OptionElement::collectOptionInnerText):
(WebCore::OptionElement::normalizeText):
(WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
(WebCore::OptionElementData::OptionElementData):
(WebCore::OptionElementData::~OptionElementData):
(WebCore::toOptionElement):
(WebCore::isOptionElement):
* dom/OptionElement.h:
(WebCore::OptionElement::~OptionElement):
(WebCore::OptionElementData::value):
(WebCore::OptionElementData::setValue):
(WebCore::OptionElementData::label):
(WebCore::OptionElementData::setLabel):
(WebCore::OptionElementData::selected):
(WebCore::OptionElementData::setSelected):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::HTMLOptionElement):
(WebCore::HTMLOptionElement::createForJSConstructor):
(WebCore::HTMLOptionElement::text):
(WebCore::HTMLOptionElement::index):
(WebCore::HTMLOptionElement::parseMappedAttribute):
(WebCore::HTMLOptionElement::value):
(WebCore::HTMLOptionElement::selected):
(WebCore::HTMLOptionElement::setSelected):
(WebCore::HTMLOptionElement::setSelectedState):
(WebCore::HTMLOptionElement::defaultSelected):
(WebCore::HTMLOptionElement::setDefaultSelected):
(WebCore::HTMLOptionElement::label):
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
(WebCore::HTMLOptionElement::insertedIntoTree):
* html/HTMLOptionElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::nextValidIndex):
(WebCore::HTMLSelectElement::saveLastSelection):
(WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::listBoxOnChange):
(WebCore::HTMLSelectElement::recalcListItems):
(WebCore::HTMLSelectElement::selectedIndex):
(WebCore::HTMLSelectElement::setSelectedIndex):
(WebCore::HTMLSelectElement::optionToListIndex):
(WebCore::HTMLSelectElement::listToOptionIndex):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::saveFormControlState):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::appendFormData):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateSelectedState):
(WebCore::HTMLSelectElement::lastSelectedListIndex):
(WebCore::HTMLSelectElement::typeAheadFind):
(WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
(WebCore::HTMLSelectElement::length):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::copyImage):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth):
(WebCore::RenderMenuList::setTextFromOption):
(WebCore::RenderMenuList::itemText):
(WebCore::RenderMenuList::itemIsSelected):
2011-10-20 Carol Szabo <carol@webkit.org>
Tiled Backing Store does not regenerate tiles when it should
https://bugs.webkit.org/show_bug.cgi?id=57798
Reviewed by Darin Adler.
Changed TiledBackingStore::adjustVisibleRect to take into account
contentsSize, the same way as it is done when tiles are generated.
This is an issue that requires a certain sequence of API calls which
may not be easily simulated from DumpRenderTree, but which is
easily reproduced with QtTest. This is why I have provided only
a Qt specific test despite this being a generic problem.
* platform/graphics/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::adjustVisibleRect):
Changed to take into account ContentsSize.
(WebCore::TiledBackingStore::visibleContentsRect):
Added to return the intersection of the viewport's visible rect with
the ContentsRect.
(WebCore::TiledBackingStore::createTiles):
Changed to take into account the ContentsSize when calculating the
previously visible rect.
* platform/graphics/TiledBackingStore.h:
2011-10-19 Jer Noble <jer.noble@apple.com>
compositing/video tests time out on Lion
https://bugs.webkit.org/show_bug.cgi?id=70448
Reviewed by Eric Carlson.
Covered by existing tests.
AVFoundation will occasionally fill it's playback buffers before collecting enough
statistical information to answer YES to isLikelyToKeepUp. In this situation, set the
ready state to HAVE_ENOUGH_DATA, on the presumption that if the playback buffers are
full, playback will probably not stall.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2011-10-19 Kentaro Hara <haraken@chromium.org>
MessageEvent.data can be stored as ScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=68978
Reviewed by Hajime Morita.
Currently, the following test cases fail or crash:
- shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object") -> FAIL
- new MessageEvent('eventType', { data: document }).data -> CRASH
This is because MessageEvent.data is implemented just as SerializedScriptValue
and it cannot keep ScriptValue passed by JavaScript. This patch makes the following changes:
- If MessageEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
When MessageEvent.data is called, the ScriptValue is returned.
- If MessageEvent is constructed with SerializedScriptValue, it is stored as
SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
at this point because of lack of ExecState). When MessageEvent.data is called,
the SerializedScriptValue is deserialized into the corresponding ScriptValue,
and the ScriptValue is returned.
This patch does not make a fix for ObjC bindings code, since we need to first fix
the bug 28774, as commented in dom/MessageEvent.h and dom/MessageEvent.cpp.
Test: fast/events/constructors/message-event-constructor.html
fast/dom/message-port-deleted-by-accessor.html
fast/events/init-events.html
fast/eventsource/eventsource-attribute-listeners.html
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data): Custom getter for MessageEvent.data. Supported ScriptValue.
(WebCore::JSMessageEvent::handleInitMessageEvent): Changed SerializedScriptValue to ScriptValue. Removed a 'doTransfer' parameter.
(WebCore::JSMessageEvent::initMessageEvent): Removed a 'doTransfer' parameter.
(WebCore::JSMessageEvent::webkitInitMessageEvent): Ditto.
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter): Custom getter for MessageEvent.data. Supported ScriptValue.
(WebCore::V8MessageEvent::portsAccessorGetter): Removed extra spaces.
(WebCore::V8MessageEvent::initMessageEventCallback): Changed SerializedScriptValue to ScriptValue.
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent): Supported ScriptValue.
(WebCore::MessageEvent::initMessageEvent): Supported ScriptValue.
(WebCore::MessageEvent::isMessageEvent): Removed extra spaces.
* dom/MessageEvent.h: Added DataType::DataTypeScriptValue.
(WebCore::MessageEvent::create): Supported ScriptValue.
(WebCore::MessageEvent::dataAsScriptValue): Getter for data. Insert ASSERT() to guarantee that this accessor is not called for unintended type of data.
(WebCore::MessageEvent::dataAsSerializedScriptValue): Ditto.
(WebCore::MessageEvent::dataAsString): Ditto.
(WebCore::MessageEvent::dataAsBlob): Ditto.
(WebCore::MessageEvent::dataAsArrayBuffer): Ditto.
* dom/MessageEvent.idl: Changed SerializedScriptValue to DOMObject (i.e. ScriptValue). This patch does not touch an ObjC part. Removed [CachedAttribute] from MessageEvent.data, since it is now a DOMObject and needs not to be cached.
2011-10-19 Adam Barth <abarth@webkit.org>
Attempt to fix GTK build.
* GNUmakefile.am:
== Rolled over to ChangeLog-2011-10-19 ==