2011-04-12 Ilya Tikhonovsky Reviewed by Yury Semikhatsky. Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests. https://bugs.webkit.org/show_bug.cgi?id=58305 It was 0 if the message is not a json object or it has no id property. But according to spec it must be null. * inspector/CodeGeneratorInspector.pm: 2011-04-11 Pavel Podivilov Reviewed by Pavel Feldman. Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1. https://bugs.webkit.org/show_bug.cgi?id=58232 * WebCore.gypi: 2011-04-12 Pavel Podivilov Reviewed by Pavel Feldman. Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked. https://bugs.webkit.org/show_bug.cgi?id=58273 * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame): (WebInspector.SourceFrame.prototype.get visible): (WebInspector.SourceFrame.prototype.set visible): (WebInspector.SourceFrame.prototype.show): (WebInspector.SourceFrame.prototype.hide): (WebInspector.SourceFrame.prototype.detach): (WebInspector.SourceFrame.prototype._ensureContentLoaded): (WebInspector.SourceFrame.prototype.markDiff): (WebInspector.SourceFrame.prototype.addMessage): (WebInspector.SourceFrame.prototype.clearMessages): (WebInspector.SourceFrame.prototype.get scrollTop): (WebInspector.SourceFrame.prototype.set scrollTop): (WebInspector.SourceFrame.prototype.highlightLine): (WebInspector.SourceFrame.prototype._clearLineHighlight): (WebInspector.SourceFrame.prototype._initializeTextViewer): (WebInspector.SourceFrame.prototype.performSearch): (WebInspector.SourceFrame.prototype.searchCanceled): (WebInspector.SourceFrame.prototype._jumpToSearchResult): (WebInspector.SourceFrame.prototype.setExecutionLine): (WebInspector.SourceFrame.prototype.clearExecutionLine): (WebInspector.SourceFrame.prototype.resize): 2011-04-12 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: document runtime agent, share remote object definition between domains. https://bugs.webkit.org/show_bug.cgi?id=58246 * inspector/Inspector.json: 2011-04-12 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: document console domain, support cross-domain type references. https://bugs.webkit.org/show_bug.cgi?id=58240 * inspector/ConsoleMessage.cpp: (WebCore::messageSourceValue): (WebCore::messageTypeValue): (WebCore::messageLevelValue): (WebCore::ConsoleMessage::addToFrontend): * inspector/Inspector.json: * inspector/ScriptCallFrame.cpp: (WebCore::ScriptCallFrame::buildInspectorObject): * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded): (WebInspector.ConsoleMessage): (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement): (WebInspector.ConsoleMessage.prototype.isEqual): * inspector/front-end/NetworkManager.js: (WebInspector.NetworkDispatcher.prototype.requestWillBeSent): * inspector/generate-inspector-idl: * page/Console.h: 2011-04-06 Philippe Normand Reviewed by Martin Robinson. [GStreamer] RTSP playback broken https://bugs.webkit.org/show_bug.cgi?id=56930 Rely on {audio,video}-changed playbin2 signals instead of the -tags-changed signals because some media don't provide tags and then can trick the media-player to not paint video, for instance. Also trigger a video size calculation after the video sink negotiated its caps. This is useful in the cases where audio-changed signal is emitted but the video sink takes more time to negociate caps with its peer. This patch also fixes the rtsp manual-test with a new stream url which seems to be more permanent than the previous WWDC keynote stream. * manual-tests/video-rtsp.html: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateVideoChangedCallback): (WebCore::mediaPlayerPrivateAudioChangedCallback): (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback): (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback): (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): (WebCore::MediaPlayerPrivateGStreamer::naturalSize): (WebCore::MediaPlayerPrivateGStreamer::videoChanged): (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): (WebCore::MediaPlayerPrivateGStreamer::audioChanged): (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): (WebCore::MediaPlayerPrivateGStreamer::paint): (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2011-04-12 Vsevolod Vlasov Reviewed by Pavel Feldman. Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel. https://bugs.webkit.org/show_bug.cgi?id=58135 Added statuses for failed/canceled resource loading. * English.lproj/localizedStrings.js: * inspector/Inspector.json: * inspector/InspectorResourceAgent.cpp: (WebCore::InspectorResourceAgent::didFailLoading): * inspector/front-end/NetworkManager.js: * inspector/front-end/NetworkPanel.js: * inspector/front-end/Resource.js: 2011-04-12 Steve Block Reviewed by Oliver Hunt. Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks https://bugs.webkit.org/show_bug.cgi?id=40012 Covered by fast/dom/Geolocation/argument-types.html * bindings/js/CallbackFunction.cpp: (WebCore::checkFunctionOnlyCallback): 2011-04-07 Philippe Normand Reviewed by Martin Robinson. [GStreamer] report playback statistics https://bugs.webkit.org/show_bug.cgi?id=58033 Provide media playback statistics using fpsdisplaysink and position queries. * manual-tests/video-statistics.html: Added. * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount): (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount): (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount): (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount): (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink): (WebCore::MediaPlayerPrivateGStreamer::updateStates): (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 2011-04-11 Philippe Normand Reviewed by Martin Robinson. [GStreamer] warnings in media/video-set-rate-from-pause.html https://bugs.webkit.org/show_bug.cgi?id=58220 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the pipeline if new rate is zero, like advised in the GStreamer documentation of gst_event_new_seek(). 2011-04-11 Vangelis Kokkevis Reviewed by James Robinson. [chromium] Properly invalidate the contents of ImageLayerChromium's when the actual image contents change. https://bugs.webkit.org/show_bug.cgi?id=58181 Test: compositing/images/content-image-change.html * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::updateTexture): * platform/graphics/chromium/ImageLayerChromium.cpp: (WebCore::ImageLayerChromium::ImageLayerChromium): (WebCore::ImageLayerChromium::setContents): (WebCore::ImageLayerChromium::paintContentsIfDirty): * platform/graphics/chromium/ImageLayerChromium.h: 2011-04-11 Simon Fraser Reviewed by Dan Bernstein. -webkit-box-shadow:inset does not animate transform as an inset shadow https://bugs.webkit.org/show_bug.cgi?id=45176 Two fixes: 1. Don't run transitions between different shadow styles (normal vs. inset). 2. When either source or destination is null, use a default shadow with a matching style so that the transition runs. Test: transitions/mismatched-shadow-styles.html * page/animation/AnimationBase.cpp: (WebCore::blendFunc): (WebCore::PropertyWrapperShadow::blend): 2011-04-11 John Bates Reviewed by Kenneth Russell. chromium support for glSetLatch and glWaitLatch between 3D contexts https://bugs.webkit.org/show_bug.cgi?id=58003 * platform/graphics/chromium/Canvas2DLayerChromium.cpp: (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium): (WebCore::Canvas2DLayerChromium::setDrawingBuffer): (WebCore::Canvas2DLayerChromium::setLayerRenderer): * platform/graphics/chromium/Canvas2DLayerChromium.h: * platform/graphics/chromium/Extensions3DChromium.h: * platform/graphics/chromium/GLES2Canvas.cpp: (WebCore::Cubic::Cubic): * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::LayerRendererChromium): (WebCore::LayerRendererChromium::updateAndDrawLayers): (WebCore::LayerRendererChromium::updateLayers): (WebCore::LayerRendererChromium::addChildContext): (WebCore::LayerRendererChromium::removeChildContext): * platform/graphics/chromium/LayerRendererChromium.h: * platform/graphics/chromium/WebGLLayerChromium.cpp: (WebCore::WebGLLayerChromium::~WebGLLayerChromium): (WebCore::WebGLLayerChromium::updateCompositorResources): (WebCore::WebGLLayerChromium::setContext): (WebCore::WebGLLayerChromium::setLayerRenderer): * platform/graphics/chromium/WebGLLayerChromium.h: 2011-04-11 Alexey Marinichev Reviewed by James Robinson. LayerChromium/CCLayerImpl ownership fix https://bugs.webkit.org/show_bug.cgi?id=58283 CCLayerImpl's m_owner field lifetime should match the lifetime of the corresponding LayerChromium. This change moves resetting of m_owner into LayerChromium's destructor. Tested similarly to bug 57577. * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::~LayerChromium): * platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::cleanupResources): * platform/graphics/chromium/cc/CCLayerImpl.h: (WebCore::CCLayerImpl::resetOwner): 2011-04-11 Daniel Bates Attempt to fix the GTK build after changeset 83527 (https://bugs.webkit.org/show_bug.cgi?id=53556). * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources. 2011-04-11 Brady Eidson Reviewed by Maciej Stachowiak. and https://bugs.webkit.org/show_bug.cgi?id=58072 URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history Test: fast/loader/stateobjects/state-url-sets-links-visited.html * loader/HistoryController.cpp: (WebCore::HistoryController::pushState): Notify the history client and add the visited link. (WebCore::HistoryController::replaceState): Ditto. 2011-04-11 Dimitri Glazkov Reviewed by Eric Carlson. Rename MediaControls to MediaControlRootElement. https://bugs.webkit.org/show_bug.cgi?id=58250 Mechanical move using do-webcore-rename. 2011-04-11 Dean Jackson Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=58285 CompositeAnimation is cleared while an AnimationBase is waiting for notification Occasionally hardware animations would trigger a state where they would tell the AnimationControllerPrivate that it should notify any waiting animations that they are ready to start, even though the RenderObject had gone away and hence the CompositeAnimation had been destroyed. The fix is to zero the pointer from AnimationBase when the CompositeAnimation destructor runs (or its animations are cleared) and test the validity of the CompositeAnimation before it is used in AnimationBase. * page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine): (WebCore::AnimationBase::fireAnimationEventsIfNeeded): (WebCore::AnimationBase::updatePlayState): (WebCore::AnimationBase::freezeAtTime): (WebCore::AnimationBase::beginAnimationUpdateTime): - test that the CompositeAnimation exists * page/animation/AnimationBase.h: (WebCore::AnimationBase::clear): - rename clearRenderer() to clear() as it now also clears the CompositeAnimation * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimation::clearRenderer): (WebCore::CompositeAnimation::updateKeyframeAnimations): - call clear() rather than clearRenderer() 2011-04-11 Justin Novosad Reviewed by Kenneth Russell. [Chromium] Text anti-aliasing fails when rendering text with shadow https://bugs.webkit.org/show_bug.cgi?id=57584 * platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::drawGlyphsWin): new static function, code factored-out from WebCore::Font::drawGlyphs (WebCore::Font::drawGlyphs): may separate font rendering into two passes to allow foreground glyphs to be rendered with GDI when Skia is required for rendering shadows * platform/graphics/skia/SkiaFontWin.cpp: (WebCore::windowsCanHandleDrawTextShadow): Modified method so that it does not assume a shadow is present, and returns true if there is no shadow (GDI can draw 'no shadow') (WebCore::windowsCanHandleTextDrawing): Factored out into sub methods so that the the shadow and foregound glyph properties can be tested separately independently. (WebCore::windowsCanHandleTextDrawingWithoutShadow): New method returns true if the foreground glyph only has effect that can be draw with GDI (WebCore::paintSkiaText): * platform/graphics/skia/SkiaFontWin.h: 2011-04-11 Ryosuke Niwa Unreviewed, rolling out r83515. http://trac.webkit.org/changeset/83515 https://bugs.webkit.org/show_bug.cgi?id=57178 Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp. * rendering/InlineBox.cpp: (WebCore::InlineBox::nextOnLineExists): (WebCore::InlineBox::prevOnLineExists): * rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): 2011-04-11 Brady Eidson Reverting, seeing something else still broken. Sorry. * html/HTMLTrackElement.cpp: 2011-04-11 Brady Eidson Fix the build. * html/HTMLTrackElement.cpp: Case-sensitive, please. 2011-04-11 Alexis Menard Unreviewed build fix for Mac. An idl file was added in the wrong place. * WebCore.xcodeproj/project.pbxproj: 2011-04-11 Chris Marrin Rubberstamped by Dan Bernstein. xhr.responseType = 'arraybuffer' works on Mac but not on Windows https://bugs.webkit.org/show_bug.cgi?id=50334 Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends are always turned on now, so there's not need for the guard. I reenabled the test that was Skipped on Windows and it works now. * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::markChildren): (WebCore::JSXMLHttpRequest::send): (WebCore::JSXMLHttpRequest::response): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseArrayBuffer): (WebCore::XMLHttpRequest::setResponseType): (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::clearResponseBuffers): (WebCore::XMLHttpRequest::didReceiveData): * xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::optionalResponseArrayBuffer): 2011-04-11 Anna Cavender Reviewed by Eric Carlson. Setup ENABLE(TRACK) feature define + initial HTMLTrackElement https://bugs.webkit.org/show_bug.cgi?id=53556 No new tests. No real functionality added just yet. * CMakeLists.txt: * CodeGenerators.pri: * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * GNUmakefile.am: * GNUmakefile.list.am: * WebCore.gypi: * WebCore.xcodeproj/project.pbxproj: * features.pri: * html/HTMLAttributeNames.in: * html/HTMLTagNames.in: * html/HTMLTrackElement.cpp: Added. (WebCore::HTMLTrackElement::HTMLTrackElement): (WebCore::HTMLTrackElement::create): (WebCore::HTMLTrackElement::insertedIntoTree): (WebCore::HTMLTrackElement::willRemove): (WebCore::HTMLTrackElement::src): (WebCore::HTMLTrackElement::setSrc): (WebCore::HTMLTrackElement::kind): (WebCore::HTMLTrackElement::setKind): (WebCore::HTMLTrackElement::srclang): (WebCore::HTMLTrackElement::setSrclang): (WebCore::HTMLTrackElement::label): (WebCore::HTMLTrackElement::setLabel): (WebCore::HTMLTrackElement::isDefault): (WebCore::HTMLTrackElement::setIsDefault): (WebCore::HTMLTrackElement::isURLAttribute): * html/HTMLTrackElement.h: Added. * html/HTMLTrackElement.idl: Added. 2011-04-11 Ben Taylor Reviewed by David Levin. https://bugs.webkit.org/show_bug.cgi?id=57535 Better compile fix for Solaris 10/Sun Studio 12 CC needing * loader/icon/IconRecord.h: * page/Page.h: * platform/network/ResourceResponseBase.h: 2011-04-11 Alexey Proskuryakov Reviewed by Maciej Stachowiak. WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut https://bugs.webkit.org/show_bug.cgi?id=58265 * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace. (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for other modifiers - no one wants to scroll on Ctrl+Alt+Space and such. (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace goes forward. All browsers do it. (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called for a correct event. (WebCore::EventHandler::defaultTabEventHandler): Ditto. * page/EventHandler.h: Added defaultBackspaceEventHandler. 2011-04-11 Matthew Delaney Reviewed by Dan Bernstein. [CG] drawImage with a subimage bleeds pixel data at borders https://bugs.webkit.org/show_bug.cgi?id=58267 Test: fast/canvas/DrawImageSinglePixelStretch.html * platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now. 2011-04-11 Chris Marrin Reviewed by Simon Fraser. iframe/compositing propagation should also work for and framesets https://bugs.webkit.org/show_bug.cgi?id=39037 Generalized the code that handles the parenting of composited