1. 14 Jan, 2013 19 commits
    • tommyw@google.com's avatar
      MediaStream API: Update MediaStreamTrack::readyState to match specification · c7f0bd90
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106781
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
      
      Existing tests expanded to cover patch.
      
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::processTrack):
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::readyState):
      (WebCore::MediaStreamTrack::ended):
      (WebCore):
      * Modules/mediastream/MediaStreamTrack.h:
      (MediaStreamTrack):
      * Modules/mediastream/MediaStreamTrack.idl:
      
      LayoutTests:
      
      * fast/mediastream/MediaStreamTrack-expected.txt:
      * fast/mediastream/MediaStreamTrack.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7f0bd90
    • vsevik@chromium.org's avatar
      Web Inspector: Audit Tool's False Positive on Set-Cookie header · c2e5a9f3
      vsevik@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106794
      
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      Header value is now returned as undefined if there is no such header as it was before regression.
      
      Test: http/tests/inspector/audits/set-cookie-header-audit-no-false-positive.html
      
      * inspector/front-end/AuditRules.js:
      (WebInspector.AuditRules.CSSRuleBase.prototype.sheetsCallback): Drive-by fix, callback should be called even when there is no headers.
      * inspector/front-end/NetworkRequest.js:
      (WebInspector.NetworkRequest.prototype._headerValue):
      
      LayoutTests:
      
      * http/tests/inspector/audits/resources/abe.png: Renamed from LayoutTests/inspector/audits/resources/abe.png.
      * http/tests/inspector/audits/set-cookie-header-audit-no-false-positive-expected.txt: Added.
      * http/tests/inspector/audits/set-cookie-header-audit-no-false-positive.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2e5a9f3
    • eric.carlson@apple.com's avatar
      Do not pass nil when initializing legible output · c0733956
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106799
      
      Reviewed by Jessie Berlin.
      
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): -[AVPlayerItemLegibleOutput initWithDependencyFactory:mediaSubtypesForNativeRepresentation:]
          wants an empty NSArray rather than nil.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0733956
    • aandrey@chromium.org's avatar
      Web Inspector: [Canvas] UI: add control buttons for doing the replay steps · 62a35f13
      aandrey@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106788
      
      Reviewed by Pavel Feldman.
      
      Adding UI control buttons for doing the Canvas replay steps.
      Drive-by: fixed a bug in DataGrid (found by the JSCompiler).
      
      * inspector/front-end/CanvasProfileView.js:
      (WebInspector.CanvasProfileView):
      (WebInspector.CanvasProfileView.prototype._createControlButton):
      (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
      (WebInspector.CanvasProfileView.prototype._onReplayFirstStepClick):
      (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
      (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
      (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
      (WebInspector.CanvasProfileView.prototype._replayTraceLog):
      (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
      (WebInspector.CanvasProfileType.prototype._updateDecorationElement):
      * inspector/front-end/DOMExtension.js:
      (Element.prototype.enableStyleClass):
      * inspector/front-end/DataGrid.js:
      (WebInspector.DataGrid.prototype.setRootNode):
      (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
      (WebInspector.DataGrid.prototype.moveToNextIfNeeded):
      (WebInspector.DataGrid.prototype._editingCommitted):
      (WebInspector.DataGridNode):
      * inspector/front-end/canvasProfiler.css:
      (.canvas-replay-image):
      (.canvas-replay-image.wait):
      (.canvas-replay-controls):
      (.canvas-replay-log):
      (.canvas-control-button):
      (.canvas-control-button:active):
      (.canvas-control-button:disabled):
      (.canvas-control-button img):
      (.canvas-replay-first-step img):
      (.canvas-replay-next-step img):
      (.canvas-replay-prev-step img):
      (.canvas-replay-last-step img):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      62a35f13
    • tommyw@google.com's avatar
      MediaStream API: Update the track accessors on MediaStream to match the latest specification · fd01ce17
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106660
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      The spec has significantly changed how tracks are accessed from a MediaStream:
      http://dev.w3.org/2011/webrtc/editor/getusermedia.html
      
      In short: the attributes audioTrack/videoTrack that returned special MediaStreamTrackLists have been
      replaced by the functions getAudioTracks()/getVideoTracks that return standard sequences of
      MediaStreamTracks.
      
      Existing tests updated and expanded to cover patch.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::create):
      (WebCore::MediaStream::MediaStream):
      (WebCore::MediaStream::~MediaStream):
      (WebCore::MediaStream::readyState):
      (WebCore):
      (WebCore::MediaStream::addTrack):
      (WebCore::MediaStream::removeTrack):
      (WebCore::MediaStream::getTrackById):
      (WebCore::MediaStream::streamEnded):
      (WebCore::MediaStream::contextDestroyed):
      (WebCore::MediaStream::scheduleDispatchEvent):
      (WebCore::MediaStream::scheduledEventTimerFired):
      * Modules/mediastream/MediaStream.h:
      (MediaStream):
      (WebCore::MediaStream::getAudioTracks):
      (WebCore::MediaStream::getVideoTracks):
      * Modules/mediastream/MediaStream.idl:
      * Modules/mediastream/MediaStreamTrackList.cpp: Removed.
      * Modules/mediastream/MediaStreamTrackList.h: Removed.
      * Modules/mediastream/MediaStreamTrackList.idl: Removed.
      * Modules/webaudio/AudioContext.cpp:
      (WebCore::AudioContext::createMediaStreamSource):
      * WebCore.gypi:
      * dom/EventTargetFactory.in:
      * platform/mediastream/MediaStreamDescriptor.h:
      (WebCore::MediaStreamDescriptor::addAudioComponent):
      (WebCore::MediaStreamDescriptor::removeAudioComponent):
      (WebCore::MediaStreamDescriptor::addVideoComponent):
      (WebCore::MediaStreamDescriptor::removeVideoComponent):
      
      LayoutTests:
      
      Updating and expanding tests for the new getAudioTracks()/getVideoTracks().
      
      * fast/mediastream/MediaStreamConstructor-expected.txt:
      * fast/mediastream/MediaStreamConstructor.html:
      * fast/mediastream/MediaStreamTrack.html:
      * fast/mediastream/MediaStreamTrackList-expected.txt:
      * fast/mediastream/MediaStreamTrackList.html:
      * fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
      * fast/mediastream/RTCPeerConnection-statsSelector.html:
      * fast/mediastream/getusermedia-expected.txt:
      * fast/mediastream/getusermedia.html:
      * webaudio/mediastreamaudiosourcenode-expected.txt:
      * webaudio/mediastreamaudiosourcenode.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd01ce17
    • haraken@chromium.org's avatar
      [V8] Add m_isolate to ScriptController, WorkerScriptController and V8DOMWindowShell · 3f070ca6
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106771
      
      Reviewed by Adam Barth.
      
      This is one of the steps to pass an Isolate everywhere.
      
      No tests. No change in behavior.
      
      * bindings/v8/ScriptController.cpp:
      (WebCore::ScriptController::ScriptController):
      (WebCore::ScriptController::windowShell):
      * bindings/v8/ScriptController.h:
      (ScriptController):
      * bindings/v8/V8DOMWindowShell.cpp:
      (WebCore::V8DOMWindowShell::create):
      (WebCore::V8DOMWindowShell::V8DOMWindowShell):
      (WebCore::V8DOMWindowShell::initializeIfNeeded):
      (WebCore::V8DOMWindowShell::installDOMWindow):
      * bindings/v8/V8DOMWindowShell.h:
      (V8DOMWindowShell):
      * bindings/v8/V8Initializer.cpp:
      (WebCore::V8Initializer::initializeMainThreadIfNeeded):
      (WebCore::V8Initializer::initializeWorker):
      * bindings/v8/V8Initializer.h:
      (V8Initializer):
      * bindings/v8/WorkerScriptController.cpp:
      (WebCore::WorkerScriptController::WorkerScriptController):
      (WebCore::WorkerScriptController::initializeContextIfNeeded):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f070ca6
    • apavlov@chromium.org's avatar
      Web Inspector: [Styles] Color names parsed inside "background-image" values · 30b4f83e
      apavlov@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106770
      
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      Test: inspector/styles/url-color-swatch.html
      
      Spaces were not allowed in url(...) CSS property values.
      
      * inspector/front-end/StylesSidebarPane.js:
      
      LayoutTests:
      
      * inspector/styles/url-color-swatch-expected.txt: Added.
      * inspector/styles/url-color-swatch.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      30b4f83e
    • haraken@chromium.org's avatar
      [V8] Pass an Isolate to associateObjectWithWrapper() · a5db36a6
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106773
      
      Reviewed by Adam Barth.
      
      In preparation for making an Isolate parameter mandatory
      in associateObjectWithWrapper(), this patch passes an
      Isolate to associateObjectWithWrapper().
      
      No tests. No change in behavior.
      
      * bindings/v8/custom/V8ArrayBufferCustom.cpp:
      (WebCore::V8ArrayBuffer::constructorCallbackCustom):
      * bindings/v8/custom/V8ArrayBufferViewCustom.h:
      (WebCore::wrapArrayBufferView):
      (WebCore::constructWebGLArray):
      * bindings/v8/custom/V8AudioContextCustom.cpp:
      (WebCore::V8AudioContext::constructorCallbackCustom):
      * bindings/v8/custom/V8DOMFormDataCustom.cpp:
      (WebCore::V8DOMFormData::constructorCallbackCustom):
      * bindings/v8/custom/V8DataViewCustom.cpp:
      (WebCore::V8DataView::constructorCallbackCustom):
      * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
      (WebCore::v8HTMLImageElementConstructorCallback):
      * bindings/v8/custom/V8IntentCustom.cpp:
      (WebCore::V8Intent::constructorCallbackCustom):
      * bindings/v8/custom/V8MessageChannelCustom.cpp:
      (WebCore::V8MessageChannel::constructorCallbackCustom):
      * bindings/v8/custom/V8MutationObserverCustom.cpp:
      (WebCore::V8MutationObserver::constructorCallbackCustom):
      * bindings/v8/custom/V8WebKitPointCustom.cpp:
      (WebCore::V8WebKitPoint::constructorCallbackCustom):
      * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
      (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5db36a6
    • kbalazs@webkit.org's avatar
      [Qt][WK2] plugin tests assert in debug · 2fcbc516
      kbalazs@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106659
      
      Reviewed by Benjamin Poulain.
      
      Fixed the misuse of String::split.
      
      * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
      (WebKit::truncateToSingleLine):
      Add an assert to make sure this function works well. I just walked there
      while debugging the bug, and although it was innocent, adding this assertion
      is logical.
      * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
      (WebKit::PluginProcessProxy::scanPlugin):
      The ASSERT was wrong. We have three lines, each ends in a newline, so split
      with allowEmptyEntries=true will devide it to 4 substrings.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2fcbc516
    • haraken@chromium.org's avatar
      [V8] Call Isolate::GetCurrent() in a callback from WebCore · 90a7acaf
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106766
      
      Reviewed by Adam Barth.
      
      The objective is to pass an Isolate everywhere.
      Given that a callback from WebCore is an entry point to V8,
      we can call Isolate::GetCurrent() at the head of the callback
      and pass it to other places. (In practice, handleEvent() is
      the only callback used in the current WebKit.)
      
      No tests. No change in behavior.
      
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateCallbackImplementation):
      (NativeToJSValue):
      * bindings/scripts/test/V8/V8TestCallback.cpp:
      (WebCore::V8TestCallback::callbackWithNoParam):
      (WebCore::V8TestCallback::callbackWithClass1Param):
      (WebCore::V8TestCallback::callbackWithClass2Param):
      (WebCore::V8TestCallback::callbackWithStringList):
      (WebCore::V8TestCallback::callbackWithBoolean):
      (WebCore::V8TestCallback::callbackRequiresThisToPass):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90a7acaf
    • tommyw@google.com's avatar
      MediaStream API: Change MediaStream::readyState to an boolean attribute called ended. · 4aad81ec
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106568
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      See specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
      
      Existings tests updated to cover patch.
      
      * Modules/mediastream/LocalMediaStream.cpp:
      (WebCore::LocalMediaStream::stop):
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::ended):
      (WebCore::MediaStream::streamEnded):
      * Modules/mediastream/MediaStream.h:
      (MediaStream):
      (WebCore::MediaStream::isLocal):
      * Modules/mediastream/MediaStream.idl:
      * Modules/mediastream/MediaStreamTrackList.cpp:
      (WebCore::MediaStreamTrackList::add):
      (WebCore::MediaStreamTrackList::remove):
      
      LayoutTests:
      
      * fast/mediastream/LocalMediaStream-onended-expected.txt:
      * fast/mediastream/LocalMediaStream-onended.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4aad81ec
    • apavlov@chromium.org's avatar
      Web Inspector: [Styles] HTML color names not converted to RGB/HEX/HSL when... · c319a079
      apavlov@chromium.org authored
      Web Inspector: [Styles] HTML color names not converted to RGB/HEX/HSL when "Color format" feature used
      https://bugs.webkit.org/show_bug.cgi?id=106767
      
      Reviewed by Vsevolod Vlasov.
      
      We used to render named colors as names regardless of the selected color format option.
      
      * inspector/front-end/StylesSidebarPane.js:
      (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c319a079
    • commit-queue@webkit.org's avatar
      Crash caused by incomplete cleanup of regions information for anonymous block · a7170797
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106191
      
      Patch by Andrei Bucur <abucur@adobe.com> on 2013-01-14
      Reviewed by Abhishek Arya.
      
      Source/WebCore:
      
      When an anonymous block is no longer required it is removed from the render tree and deleted. For example, this can happen when an anonymous block children change
      from inlines to blocks. The patch updates the removeLeftoverAnonymousBlock function to delete the flow thread information attached to the obsolete anonymous block.
      The removeFromRenderFlowThread() function is recursive and it needs to be called after the anonymous block children were reparented and the child list cleared.
      I've also placed the children reset operation before clearing the parent because the latter also deletes the inRenderFlowThread flag from the object and it makes
      flow thread ownership detection impossible.
      
      Tests: fast/regions/remove-leftover-anon-block-crash.html
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
      
      LayoutTests:
      
      * fast/regions/remove-leftover-anon-block-crash-expected.txt: Added.
      * fast/regions/remove-leftover-anon-block-crash.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a7170797
    • haraken@chromium.org's avatar
      [V8] Make an Isolate parameter mandatory in v8DateOrNull() · c7059e40
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106765
      
      Reviewed by Adam Barth.
      
      This is one of the efforts to kill all optional Isolate parameters.
      
      No tests. No change in behavior.
      
      * bindings/v8/V8Binding.h:
      (WebCore::v8DateOrNull):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7059e40
    • commit-queue@webkit.org's avatar
      Allow nesting of at-rules · 104b5ab7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106696
      
      Patch by Pablo Flouret <pablof@motorola.com> on 2013-01-14
      Reviewed by Allan Sandfeld Jensen.
      
      Source/WebCore:
      
      http://dev.w3.org/csswg/css3-conditional/ introduces the
      concept of grouping rules, and allows for them to be nested. In
      particular, this change affects @media (and is needed for @supports as
      well).
      
      Test: fast/css/nested-at-rules.html
      
      * css/CSSGrammar.y.in:
          Move media to the block_valid_rule list.
      
      * css/RuleSet.cpp:
      (WebCore::RuleSet::addRegionRule):
      (WebCore::RuleSet::addChildRules):
      (WebCore::RuleSet::addRulesFromSheet):
      * css/RuleSet.h:
          Rip out the rule-adding loop into a new method, for added
          cleanliness and recursing.
      
      LayoutTests:
      
      * fast/css/nested-at-rules-expected.txt: Added.
      * fast/css/nested-at-rules.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      104b5ab7
    • commit-queue@webkit.org's avatar
      Web Inspector: [Network] Add domain column · 7539b7eb
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106757
      
      Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-14
      Reviewed by Pavel Feldman.
      
      Adding new column will ease domain tracking / sorting.
      
      * inspector/front-end/NetworkPanel.js: Added column.
      * inspector/front-end/NetworkRequest.js:
      (WebInspector.NetworkRequest.prototype.get domain): Added getter.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7539b7eb
    • commit-queue@webkit.org's avatar
      Fix a typo error in the comments in PlatformContextSkia.h · 209d0ad4
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=105612
      
      Patch by Qiankun Miao <qiankun.miao@intel.com> on 2013-01-14
      Reviewed by Stephen White.
      
      "If false we're rendering to a GraphicsContext for a web page, if false
      we're not (as is the case when rendering to a canvas object)." is
      self-contradictory. The second "flase" in the comments should be
      "true". If true, we're rendering to an ImageBuffer which has a canvas
      object.
      
      * platform/graphics/skia/PlatformContextSkia.h:
      (PlatformContextSkia):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      209d0ad4
    • loislo@chromium.org's avatar
      Web Inspector: Native Memory Instrumentation: fix instrumentation for already... · a5b5f955
      loislo@chromium.org authored
      Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 3/3
      https://bugs.webkit.org/show_bug.cgi?id=106764
      
      Reviewed by Vsevolod Vlasov.
      
      Last three classes with not instrumented members were fixed.
      
      * css/CSSGroupingRule.cpp:
      (WebCore::CSSGroupingRule::reportMemoryUsage):
      * css/StyleScopeResolver.cpp:
      (WebCore::StyleScopeResolver::reportMemoryUsage):
      * loader/cache/CachedResourceLoader.cpp:
      (WebCore::CachedResourceLoader::reportMemoryUsage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5b5f955
    • loislo@chromium.org's avatar
      Web Inspector: Native Memory Instrumentation: fix instrumentation for already... · 771ab1fe
      loislo@chromium.org authored
      Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 2/N
      https://bugs.webkit.org/show_bug.cgi?id=106546
      
      Reviewed by Vsevolod Vlasov.
      
      Many nontrivial class members were added into reportMemoryUsage methods.
      
      * bindings/v8/V8PerIsolateData.cpp:
      (WebCore::V8PerIsolateData::reportMemoryUsage):
      * css/CSSMediaRule.cpp:
      (WebCore::CSSMediaRule::reportMemoryUsage):
      * css/CSSProperty.cpp:
      (WebCore::CSSProperty::reportMemoryUsage):
      * css/CSSStyleSheet.cpp:
      (WebCore::CSSStyleSheet::reportMemoryUsage):
      * css/MediaList.cpp:
      (WebCore::MediaList::reportMemoryUsage):
      * css/RuleSet.cpp:
      (WebCore::RuleData::reportMemoryUsage):
      (WebCore::RuleSet::reportMemoryUsage):
      (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
      (WebCore::StyleResolver::reportMemoryUsage):
      * css/StyleSheetContents.cpp:
      (WebCore::StyleSheetContents::reportMemoryUsage):
      * dom/TreeScope.cpp:
      (WebCore::TreeScope::reportMemoryUsage):
      * inspector/HeapGraphSerializer.cpp:
      (WebCore::HeapGraphSerializer::reportMemoryUsage):
      * inspector/InspectorMemoryAgent.cpp:
      * inspector/InspectorProfilerAgent.cpp:
      (WebCore::InspectorProfilerAgent::reportMemoryUsage):
      * inspector/MemoryInstrumentationImpl.cpp:
      (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
      * loader/DocumentLoader.cpp:
      (WebCore::DocumentLoader::reportMemoryUsage):
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::reportMemoryUsage):
      * loader/MainResourceLoader.cpp:
      (WebCore::MainResourceLoader::reportMemoryUsage):
      * loader/Prerenderer.cpp:
      (WebCore::Prerenderer::reportMemoryUsage):
      * loader/ResourceLoader.cpp:
      (WebCore::ResourceLoader::reportMemoryUsage):
      * loader/cache/CachedImage.cpp:
      (WebCore::CachedImage::reportMemoryUsage):
      * page/Page.cpp:
      (WebCore::Page::reportMemoryUsage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      771ab1fe
  2. 13 Jan, 2013 6 commits
  3. 12 Jan, 2013 9 commits
  4. 11 Jan, 2013 6 commits
    • fpizlo@apple.com's avatar
      Unreviewed, speculative build fix. · 5a9c5204
      fpizlo@apple.com authored
      * API/JSWrapperMap.mm:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a9c5204
    • fpizlo@apple.com's avatar
      Fix changelogs that got messed up in revision 139541 · 8cc7d9a3
      fpizlo@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8cc7d9a3
    • fpizlo@apple.com's avatar
      The JITThunks class should be in its own file, and doing so should not break the build · a4b4cbe9
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=105696
      
      Source/JavaScriptCore: 
      
      Rubber stamped by Sam Weinig and Geoffrey Garen.
              
      This patch was supposed to just move JITThunks into its own file. But then I
      realized that there is a horrible circular dependency chain between JSCell,
      JSGlobalData, CallFrame, and Weak, which only works because of magical include
      order in JITStubs.h, and the fact that JSGlobalData.h includes JITStubs.h
      before it includes JSCell or JSValue.
              
      I first tried to just get JITThunks.h to just magically do the same pointless
      includes that JITStubs.h had, but then I decided to actually fix the underflying
      problem, which was that JSCell needed CallFrame, CallFrame needed JSGlobalData,
      JSGlobalData needed JITThunks, JITThunks needed Weak, and Weak needed JSCell.
      Now, all of JSCell's outgoing dependencies are placed in JSCellInlines.h. This
      also gave me an opportunity to move JSValue inline methods from JSCell.h into
      JSValueInlines.h. But to make this really work, I needed to remove includes of
      *Inlines.h from other headers (CodeBlock.h for example included JSValueInlines.h,
      which defeats the whole entire purpose of having an Inlines.h file), and I needed
      to add includes of *Inlines.h into a bunch of .cpp files. I did this mostly by
      having .cpp files include Operations.h. In future, if you're adding a .cpp file
      to JSC, you'll almost certainly have to include Operations.h unless you enjoy
      link errors.
      
      * API/JSBase.cpp:
      * API/JSCallbackConstructor.cpp:
      * API/JSCallbackFunction.cpp:
      * API/JSCallbackObject.cpp:
      * API/JSClassRef.cpp:
      * API/JSContextRef.cpp:
      * API/JSObjectRef.cpp:
      * API/JSScriptRef.cpp:
      * API/JSWeakObjectMapRefPrivate.cpp:
      * JSCTypedArrayStubs.h:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/ArrayAllocationProfile.cpp:
      * bytecode/CodeBlock.cpp:
      * bytecode/GetByIdStatus.cpp:
      * bytecode/LazyOperandValueProfile.cpp:
      * bytecode/ResolveGlobalStatus.cpp:
      * bytecode/SpeculatedType.cpp:
      * bytecode/UnlinkedCodeBlock.cpp:
      * bytecompiler/BytecodeGenerator.cpp:
      * debugger/Debugger.cpp:
      * debugger/DebuggerActivation.cpp:
      * debugger/DebuggerCallFrame.cpp:
      * dfg/DFGArgumentsSimplificationPhase.cpp:
      * dfg/DFGArrayMode.cpp:
      * dfg/DFGByteCodeParser.cpp:
      * dfg/DFGConstantFoldingPhase.cpp:
      * dfg/DFGDriver.cpp:
      * dfg/DFGFixupPhase.cpp:
      * dfg/DFGGraph.cpp:
      * dfg/DFGJITCompiler.cpp:
      * dfg/DFGOSREntry.cpp:
      * dfg/DFGOSRExitCompiler.cpp:
      * dfg/DFGOSRExitCompiler32_64.cpp:
      * dfg/DFGOSRExitCompiler64.cpp:
      * dfg/DFGPredictionPropagationPhase.cpp:
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
      (DFG):
      (JSC::DFG::SpeculativeJIT::silentSavePlanForFPR):
      (JSC::DFG::SpeculativeJIT::silentSpill):
      (JSC::DFG::SpeculativeJIT::silentFill):
      * dfg/DFGSpeculativeJIT.h:
      (SpeculativeJIT):
      * dfg/DFGSpeculativeJIT32_64.cpp:
      * dfg/DFGSpeculativeJIT64.cpp:
      * dfg/DFGStructureCheckHoistingPhase.cpp:
      * dfg/DFGVariableEventStream.cpp:
      * heap/CopiedBlock.h:
      * heap/CopiedSpace.cpp:
      * heap/HandleSet.cpp:
      * heap/Heap.cpp:
      * heap/HeapStatistics.cpp:
      * heap/SlotVisitor.cpp:
      * heap/WeakBlock.cpp:
      * interpreter/CallFrame.cpp:
      * interpreter/CallFrame.h:
      * jit/ClosureCallStubRoutine.cpp:
      * jit/GCAwareJITStubRoutine.cpp:
      * jit/JIT.cpp:
      * jit/JITArithmetic.cpp:
      * jit/JITArithmetic32_64.cpp:
      * jit/JITCall.cpp:
      * jit/JITCall32_64.cpp:
      * jit/JITCode.h:
      * jit/JITExceptions.cpp:
      * jit/JITStubs.h:
      * jit/JITThunks.h:
      * jsc.cpp:
      * llint/LLIntExceptions.cpp:
      * profiler/LegacyProfiler.cpp:
      * profiler/ProfileGenerator.cpp:
      * profiler/ProfilerBytecode.cpp:
      * profiler/ProfilerBytecodeSequence.cpp:
      * profiler/ProfilerBytecodes.cpp:
      * profiler/ProfilerCompilation.cpp:
      * profiler/ProfilerCompiledBytecode.cpp:
      * profiler/ProfilerDatabase.cpp:
      * profiler/ProfilerOSRExit.cpp:
      * profiler/ProfilerOSRExitSite.cpp:
      * profiler/ProfilerOrigin.cpp:
      * profiler/ProfilerOriginStack.cpp:
      * profiler/ProfilerProfiledBytecodes.cpp:
      * runtime/ArgList.cpp:
      * runtime/Arguments.cpp:
      * runtime/ArrayConstructor.cpp:
      * runtime/BooleanConstructor.cpp:
      * runtime/BooleanObject.cpp:
      * runtime/BooleanPrototype.cpp:
      * runtime/CallData.cpp:
      * runtime/CodeCache.cpp:
      * runtime/Completion.cpp:
      * runtime/ConstructData.cpp:
      * runtime/DateConstructor.cpp:
      * runtime/DateInstance.cpp:
      * runtime/DatePrototype.cpp:
      * runtime/Error.cpp:
      * runtime/ErrorConstructor.cpp:
      * runtime/ErrorInstance.cpp:
      * runtime/ErrorPrototype.cpp:
      * runtime/ExceptionHelpers.cpp:
      * runtime/Executable.cpp:
      * runtime/FunctionConstructor.cpp:
      * runtime/FunctionPrototype.cpp:
      * runtime/GetterSetter.cpp:
      * runtime/Identifier.cpp:
      * runtime/InternalFunction.cpp:
      * runtime/JSActivation.cpp:
      * runtime/JSBoundFunction.cpp:
      * runtime/JSCell.cpp:
      * runtime/JSCell.h:
      (JSC):
      * runtime/JSCellInlines.h: Added.
      (JSC):
      (JSC::JSCell::JSCell):
      (JSC::JSCell::finishCreation):
      (JSC::JSCell::structure):
      (JSC::JSCell::visitChildren):
      (JSC::allocateCell):
      (JSC::isZapped):
      (JSC::JSCell::isObject):
      (JSC::JSCell::isString):
      (JSC::JSCell::isGetterSetter):
      (JSC::JSCell::isProxy):
      (JSC::JSCell::isAPIValueWrapper):
      (JSC::JSCell::setStructure):
      (JSC::JSCell::methodTable):
      (JSC::JSCell::inherits):
      (JSC::JSCell::fastGetOwnPropertySlot):
      (JSC::JSCell::fastGetOwnProperty):
      (JSC::JSCell::toBoolean):
      * runtime/JSDateMath.cpp:
      * runtime/JSFunction.cpp:
      * runtime/JSFunction.h:
      (JSC):
      * runtime/JSGlobalData.h:
      (JSC):
      (JSGlobalData):
      * runtime/JSGlobalObject.cpp:
      * runtime/JSGlobalObjectFunctions.cpp:
      * runtime/JSLock.cpp:
      * runtime/JSNameScope.cpp:
      * runtime/JSNotAnObject.cpp:
      * runtime/JSONObject.cpp:
      * runtime/JSObject.h:
      (JSC):
      * runtime/JSProxy.cpp:
      * runtime/JSScope.cpp:
      * runtime/JSSegmentedVariableObject.cpp:
      * runtime/JSString.h:
      (JSC):
      * runtime/JSStringJoiner.cpp:
      * runtime/JSSymbolTableObject.cpp:
      * runtime/JSValue.cpp:
      * runtime/JSValueInlines.h:
      (JSC::JSValue::toInt32):
      (JSC::JSValue::toUInt32):
      (JSC):
      (JSC::JSValue::isUInt32):
      (JSC::JSValue::asUInt32):
      (JSC::JSValue::asNumber):
      (JSC::jsNaN):
      (JSC::JSValue::JSValue):
      (JSC::JSValue::encode):
      (JSC::JSValue::decode):
      (JSC::JSValue::operator bool):
      (JSC::JSValue::operator==):
      (JSC::JSValue::operator!=):
      (JSC::JSValue::isEmpty):
      (JSC::JSValue::isUndefined):
      (JSC::JSValue::isNull):
      (JSC::JSValue::isUndefinedOrNull):
      (JSC::JSValue::isCell):
      (JSC::JSValue::isInt32):
      (JSC::JSValue::isDouble):
      (JSC::JSValue::isTrue):
      (JSC::JSValue::isFalse):
      (JSC::JSValue::tag):
      (JSC::JSValue::payload):
      (JSC::JSValue::asInt32):
      (JSC::JSValue::asDouble):
      (JSC::JSValue::asCell):
      (JSC::JSValue::isNumber):
      (JSC::JSValue::isBoolean):
      (JSC::JSValue::asBoolean):
      (JSC::reinterpretDoubleToInt64):
      (JSC::reinterpretInt64ToDouble):
      (JSC::JSValue::isString):
      (JSC::JSValue::isPrimitive):
      (JSC::JSValue::isGetterSetter):
      (JSC::JSValue::isObject):
      (JSC::JSValue::getString):
      (JSC::::getString):
      (JSC::JSValue::getObject):
      (JSC::JSValue::getUInt32):
      (JSC::JSValue::toPrimitive):
      (JSC::JSValue::getPrimitiveNumber):
      (JSC::JSValue::toNumber):
      (JSC::JSValue::toObject):
      (JSC::JSValue::isFunction):
      (JSC::JSValue::inherits):
      (JSC::JSValue::toThisObject):
      (JSC::JSValue::get):
      (JSC::JSValue::put):
      (JSC::JSValue::putByIndex):
      (JSC::JSValue::structureOrUndefined):
      (JSC::JSValue::equal):
      (JSC::JSValue::equalSlowCaseInline):
      (JSC::JSValue::strictEqualSlowCaseInline):
      (JSC::JSValue::strictEqual):
      * runtime/JSVariableObject.cpp:
      * runtime/JSWithScope.cpp:
      * runtime/JSWrapperObject.cpp:
      * runtime/LiteralParser.cpp:
      * runtime/Lookup.cpp:
      * runtime/NameConstructor.cpp:
      * runtime/NameInstance.cpp:
      * runtime/NamePrototype.cpp:
      * runtime/NativeErrorConstructor.cpp:
      * runtime/NativeErrorPrototype.cpp:
      * runtime/NumberConstructor.cpp:
      * runtime/NumberObject.cpp:
      * runtime/ObjectConstructor.cpp:
      * runtime/ObjectPrototype.cpp:
      * runtime/Operations.h:
      (JSC):
      * runtime/PropertySlot.cpp:
      * runtime/RegExp.cpp:
      * runtime/RegExpCache.cpp:
      * runtime/RegExpCachedResult.cpp:
      * runtime/RegExpConstructor.cpp:
      * runtime/RegExpMatchesArray.cpp:
      * runtime/RegExpObject.cpp:
      * runtime/RegExpPrototype.cpp:
      * runtime/SmallStrings.cpp:
      * runtime/SparseArrayValueMap.cpp:
      * runtime/StrictEvalActivation.cpp:
      * runtime/StringConstructor.cpp:
      * runtime/StringObject.cpp:
      * runtime/StringRecursionChecker.cpp:
      * runtime/Structure.h:
      (JSC):
      * runtime/StructureChain.cpp:
      * runtime/TimeoutChecker.cpp:
      * testRegExp.cpp:
      
      Source/WebCore: 
      
      Rubber stamped by Sam Weinig.
      
      All .cpp files that use the JSC internal API must now transitively include
      Operations.h, and none of the major JSC headers do it for you to avoid
      circularity. WebCore doesn't have to worry about circularity with JSC, so
      this changes all of the major WebCore JSC base headers to include
      Operations.h.
      
      * bindings/js/BindingState.h:
      * bindings/js/JSArrayBufferViewHelper.h:
      * bindings/js/JSCustomXPathNSResolver.h:
      * bindings/js/JSDOMBinding.h:
      * bindings/js/JSDOMGlobalObject.h:
      * bindings/js/JSDictionary.h:
      * bindings/js/JSMessagePortCustom.h:
      * bindings/js/JSNodeFilterCondition.h:
      * bindings/js/ScriptValue.h:
      * bindings/js/ScriptWrappable.h:
      * bindings/js/SerializedScriptValue.cpp:
      * bridge/c/c_utility.h:
      * bridge/jsc/BridgeJSC.h:
      * dom/Node.cpp:
      * html/HTMLCanvasElement.cpp:
      * html/HTMLImageLoader.cpp:
      * plugins/efl/PluginViewEfl.cpp:
      * xml/XMLHttpRequest.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a4b4cbe9
    • fpizlo@apple.com's avatar
      If you use Phantom to force something to be live across an OSR exit, you... · 895e5bbc
      fpizlo@apple.com authored
      If you use Phantom to force something to be live across an OSR exit, you should put it after the OSR exit
      https://bugs.webkit.org/show_bug.cgi?id=106724
      
      Reviewed by Oliver Hunt.
              
      In cases where we were getting it wrong, I think it was benign because we would either already have an
      OSR exit prior to there, or the operand would be a constant.  But still, it's good to get this right.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parseBlock):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      895e5bbc
    • eae@chromium.org's avatar
      offsetWidth/height incorrect for images when zoomed · 2190f514
      eae@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106624
      
      Source/WebCore:
      
      Reviewed by Levi Weintraub.
      
      offsetWidth and height are incorrect for images at certain zoom
      levels due to flooring the values ones adjusted for zoom.
      By rounding the value instead we avoid the problem and return
      the right size.
      
      Test: fast/images/zoomed-offset-size.html
      
      * dom/Element.cpp:
      (WebCore::Element::offsetWidth):
      (WebCore::Element::offsetHeight):
      (WebCore::Element::clientWidth):
      (WebCore::Element::clientHeight):
      Change to round (as opposed to floor) the zoom adjusted value.
      
      * rendering/RenderObject.h:
      (WebCore::adjustLayoutUnitForAbsoluteZoom):
      * rendering/style/RenderStyle.h:
      (WebCore::adjustLayoutUnitForAbsoluteZoom):
      Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
      conversion.
      
      LayoutTests:
      
      Reviewed by Levi Weintraub.
      
      Add test for offsetWidth/Height for zoomed image.
      
      * fast/images/zoomed-offset-size-expected.txt: Added.
      * fast/images/zoomed-offset-size.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2190f514
    • ojan@chromium.org's avatar
      Fixed width overrides intrinsic min-width/max-width for text inputs and listboxes · ec03f916
      ojan@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106675
      
      Reviewed by Emil A Eklund.
      
      Source/WebCore:
      
      Implement computeIntrinsicLogicalWidths so that RenderBox::computeLogicalWidthInRegionUsing
      can get the correct intrinsic sizes instead of the preferred sizes.
      
      Test: fast/forms/select/listbox-intrinsic-min-width-applies-with-fixed-width.html
      
      * rendering/RenderListBox.cpp:
      (WebCore::RenderListBox::computeIntrinsicLogicalWidths):
      (WebCore):
      (WebCore::RenderListBox::computePreferredLogicalWidths):
      * rendering/RenderListBox.h:
      (RenderListBox):
      * rendering/RenderTextControl.cpp:
      (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
      (WebCore):
      (WebCore::RenderTextControl::computePreferredLogicalWidths):
      * rendering/RenderTextControl.h:
      (RenderTextControl):
      
      LayoutTests:
      
      * fast/forms/file/intrinsic-min-width-overrides-width-expected.html:
      * fast/forms/file/intrinsic-min-width-overrides-width.html:
      * fast/forms/select/listbox-intrinsic-min-width-applies-with-fixed-width-expected.html: Added.
      * fast/forms/select/listbox-intrinsic-min-width-applies-with-fixed-width.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec03f916