1. 08 Apr, 2011 31 commits
    • beidson@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767> · 4cb8f643
      beidson@apple.com authored
      BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.
      
      Reviewed by Adam Roben.
      
      * platform/graphics/cg/ImageCG.cpp:
      (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
        make sure the frames are properly tallied first.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4cb8f643
    • benjamin.poulain@nokia.com's avatar
      2011-04-08 Benjamin Poulain <benjamin.poulain@nokia.com> · a35eae8d
      benjamin.poulain@nokia.com authored
              Reviewed by Andreas Kling.
      
              [Qt] Dragging and dropping an image in edit mode does not work
              https://bugs.webkit.org/show_bug.cgi?id=19385
      
              When adding an image to the clipboard, we should also include the HTML code of that image so
              it can be used for internal drag and drop.
      
              This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
              another, or inside the same browser.
      
              * platform/qt/ClipboardQt.cpp:
              (WebCore::ClipboardQt::declareAndWriteDragImage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a35eae8d
    • hclam@chromium.org's avatar
      2011-04-07 Anna Cavender <annacc@chromium.org> · fd58df17
      hclam@chromium.org authored
              Reviewed by Eric Carlson.
      
              Setup ENABLE(TRACK) feature define
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * configure.ac:
      2011-04-07  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Setup ENABLE(TRACK) feature define
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * Configurations/FeatureDefines.xcconfig:
      2011-04-07  Anna Cavender  <annacc@chromium.org>
      
              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:
              * Configurations/FeatureDefines.xcconfig:
              * DerivedSources.make:
              * GNUmakefile.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-07  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * WebKit.xcodeproj/project.pbxproj:
      2011-04-07  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Setup ENABLE(TRACK) feature define
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * features.gypi:
      2011-04-07  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Setup ENABLE(TRACK) feature define
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * Configurations/FeatureDefines.xcconfig:
      2011-04-07  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Setup ENABLE(TRACK) feature define
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * Configurations/FeatureDefines.xcconfig:
      2011-04-07  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Setup ENABLE(TRACK) feature define
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * Scripts/build-webkit:
      2011-04-07  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Setup ENABLE(TRACK) feature define
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * win/tools/vsprops/FeatureDefines.vsprops:
              * win/tools/vsprops/FeatureDefinesCairo.vsprops:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd58df17
    • jer.noble@apple.com's avatar
      2011-04-07 Jer Noble <jer.noble@apple.com> · 14984d17
      jer.noble@apple.com authored
              Reviewed by Eric Carlson.
      
              Logic error in HTMLMediaElement::exitFullscreen()
              https://bugs.webkit.org/show_bug.cgi?id=58085
      
              The new full screen API case could fall through to the legacy API case
              unintentionally if a script calls exitFullscreen on an element which is
              not the current full screen element.
      
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::enterFullscreen):
              (WebCore::HTMLMediaElement::exitFullscreen):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      14984d17
    • commit-queue@webkit.org's avatar
      2011-04-08 Mike Reed <reed@google.com> · ba1ac0c8
      commit-queue@webkit.org authored
              Reviewed by Eric Seidel.
      
              Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
              https://bugs.webkit.org/show_bug.cgi?id=57782
      
              No new tests. This change only affects print-preview and build option SKIA_GPU
      
              * platform/graphics/skia/SkiaFontWin.cpp:
              (WebCore::paintSkiaText):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba1ac0c8
    • rniwa@webkit.org's avatar
      2011-04-08 Ryosuke Niwa <rniwa@webkit.org> · 8073bff2
      rniwa@webkit.org authored
              Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
      
              REGRESSION(r81887): Crash in SplitElement
              https://bugs.webkit.org/show_bug.cgi?id=57743
      
              The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
              even when the position was after the last node in it container. Since all we are doing here is to splitting tree
              up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
              and highestEnclosingNodeOfType.
      
              Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
              which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
              it incorrectly called deprecatedNode instead of containerNode.
      
              Test: editing/inserting/insert-images-in-pre-x-crash.html
      
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::splitTreeToNode):
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplaceSelectionCommand::doApply):
              * editing/htmlediting.cpp:
              (WebCore::highestEnclosingNodeOfType):
      2011-04-08  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
      
              REGRESSION(r81887): Crash in SplitElement
              https://bugs.webkit.org/show_bug.cgi?id=57743
      
              Added a regression test for a crash in ReplaceSelectionCommand.
      
              * editing/inserting/insert-images-in-pre-x-crash-expected.txt: Added.
              * editing/inserting/insert-images-in-pre-x-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8073bff2
    • antti@apple.com's avatar
      Incoming source should be preload scanned when the parser is blocked · 559a988d
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=58117
      
      Reviewed by Tony Gentilcore.
      
      Source/WebCore: 
      
      Scan the appended source if parser is blocked.
      
      Test: http/tests/loading/preload-append-scan.php
      
      * html/parser/HTMLDocumentParser.cpp:
      (WebCore::HTMLDocumentParser::append):
      
      LayoutTests: 
      
      * http/tests/loading/preload-append-scan-expected.txt: Added.
      * http/tests/loading/preload-append-scan.php: Added.
      * http/tests/resources/slow-script.pl: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      559a988d
    • mrobinson@webkit.org's avatar
      2011-04-08 Martin Robinson <mrobinson@igalia.com> · 55cb70aa
      mrobinson@webkit.org authored
              Reviewed by Xan Lopez.
      
              [GTK] Fix the WebKit2 build for older versions of GTK+
              https://bugs.webkit.org/show_bug.cgi?id=58095
      
              No new tests. This is just a build fix.
      
              * platform/gtk/GtkVersioning.c:
              (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
              * platform/gtk/GtkVersioning.h: Add the new method to the header.
      2011-04-08  Martin Robinson  <mrobinson@igalia.com>
      
              Reviewed by Xan Lopez.
      
              [GTK] Fix the WebKit2 build for older versions of GTK+
              https://bugs.webkit.org/show_bug.cgi?id=58095
      
              * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Include the GtkVersioning.h header.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55cb70aa
    • commit-queue@webkit.org's avatar
      2011-04-08 Misha Tyutyunik <michael.tyutyunik@nokia.com> · 66bb9ee3
      commit-queue@webkit.org authored
              Reviewed by Laszlo Gombos.
      
              [Qt] Plugin is not scrolled together with page content or jumping
              when content is rendered using cache (backing store).
              https://bugs.webkit.org/show_bug.cgi?id=56130
      
              This is a Symbian portion of the fix. For Linux it looks like
              it's enough to call set geometry which should be addressed in
              https://bugs.webkit.org/show_bug.cgi?id=57179
      
              No new tests required. This can be tested with manual tests from
              WebCore/manual-tests/qt and WebCore/manual-tests/plugins
      
              * plugins/symbian/PluginViewSymbian.cpp:
              (WebCore::PluginView::updatePluginWidget):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66bb9ee3
    • inferno@chromium.org's avatar
      2011-04-08 Abhishek Arya <inferno@chromium.org> · 058216db
      inferno@chromium.org authored
              Unreviewed. Remove accidental printf added in r83306.
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::sendContextMenuEvent):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      058216db
    • enrica@apple.com's avatar
      Dragging text in a WebKit2 window results in a copy instead of a move. · 18fff928
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=56772
      <rdar://problem/9165140>
      
      Reviewed by Darin Adler.
      
      cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
      the call to startDrag is asynchronous.
              
      * page/mac/DragControllerMac.mm:
      (WebCore::DragController::cleanupAfterSystemDrag):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      18fff928
    • dglazkov@chromium.org's avatar
      2011-04-05 Dimitri Glazkov <dglazkov@chromium.org> · 72e43ec9
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
              https://bugs.webkit.org/show_bug.cgi?id=57642
      
              Covered by existing tests, no functional change.
      
              * dom/Event.cpp:
              * dom/Event.h:
              (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
                  constructor.
              (WebCore::EventDispatchMediator::event): Inlined.
              (WebCore::EventDispatchMediator::setEvent): Added.
              * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
              * dom/EventDispatcher.h: Updated decls.
              * dom/Node.cpp:
              (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
                  return a bool, like other dispatch event functions.
              * dom/Node.h: Changed decl.
              * dom/WheelEvent.cpp:
              (WebCore::granularity): Moved from EventDispatcher.
              (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
              (WebCore::WheelEventDispatchMediator::event): Added.
              (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
              * dom/WheelEvent.h: Updated decls.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
                  to the return value.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83298 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      72e43ec9
    • jberlin@webkit.org's avatar
      Windows build warning fix. · e831e6af
      jberlin@webkit.org authored
      * WebCore.vcproj/WebCore.vcproj:
      Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
      the build.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e831e6af
    • podivilov@chromium.org's avatar
      2011-04-07 Pavel Podivilov <podivilov@chromium.org> · 13b82ef5
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: update breakpoints according to source frame decorations after live edit.
              https://bugs.webkit.org/show_bug.cgi?id=58029
      
              * inspector/debugger/live-edit-expected.txt:
              * inspector/debugger/live-edit.html:
      2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: update breakpoints according to source frame decorations after live edit.
              https://bugs.webkit.org/show_bug.cgi?id=58029
      
              * inspector/front-end/DebuggerPresentationModel.js:
              (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
              (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
              (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
              (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
              * inspector/front-end/SourceFile.js:
              (WebInspector.SourceFile.prototype.set content):
              * inspector/front-end/SourceFrame.js:
              (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
              (WebInspector.SourceFrame.prototype._handleSave):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13b82ef5
    • podivilov@chromium.org's avatar
      2011-04-08 Pavel Podivilov <podivilov@chromium.org> · bb843073
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: fix scripts concatenation in scripts panel.
              https://bugs.webkit.org/show_bug.cgi?id=58138
      
              When there is just one script starting at 0:0 it should not be surrounded by <script> framing.
      
              * inspector/front-end/SourceFile.js:
              (WebInspector.SourceFile.prototype._loadResourceContent):
              (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb843073
    • pfeldman@chromium.org's avatar
      2011-04-08 Pavel Feldman <pfeldman@chromium.org> · 99d6041b
      pfeldman@chromium.org authored
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
              https://bugs.webkit.org/show_bug.cgi?id=58118
      
              This change reuses location for call frames in the protocol + structures script
              location <-> source lines interaction better. When we need UI columns, we will add
              them, but we should distinguish between script and UI terms on the type level, not naming.
      
              * English.lproj/localizedStrings.js:
              * bindings/v8/DebuggerScript.js:
              * inspector/InjectedScriptSource.js:
              * inspector/Inspector.json:
              * inspector/front-end/CallStackSidebarPane.js:
              (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
              (WebInspector.CallStackSidebarPane.prototype.update):
              * inspector/front-end/DebuggerPresentationModel.js:
              (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
              (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
              (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
              (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
              (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
              (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
              (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
              (WebInspector.PresenationCallFrame):
              (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
              (WebInspector.PresenationCallFrame.prototype.sourceLine):
              * inspector/front-end/ScriptFormatter.js:
              (WebInspector.ScriptFormatter.locationToPosition):
              (WebInspector.ScriptFormatter.lineToPosition):
              * inspector/front-end/ScriptsPanel.js:
              (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
              (WebInspector.ScriptsPanel.prototype._debuggerPaused):
              (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
              (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
              (WebInspector.ScriptsPanel.prototype._callFrameSelected):
              * inspector/front-end/SourceFile.js:
              (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
              (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
              (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
              (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99d6041b
    • podivilov@chromium.org's avatar
      2011-04-08 Pavel Podivilov <podivilov@chromium.org> · 6782b967
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
              https://bugs.webkit.org/show_bug.cgi?id=58133
      
              * inspector/front-end/DebuggerPresentationModel.js:
              (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
              (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
              (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
              (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
              (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
              (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
              (WebInspector.DebuggerPresentationModel.prototype._reset):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6782b967
    • podivilov@chromium.org's avatar
      2011-04-07 Pavel Podivilov <podivilov@chromium.org> · 9a8b7d06
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
              https://bugs.webkit.org/show_bug.cgi?id=58026
      
              This is the first step of decoupling TextViewer from SourceFrame.
      
              * inspector/front-end/SourceFrame.js:
              (WebInspector.SourceFrame):
              (WebInspector.SourceFrame.prototype.show):
              (WebInspector.SourceFrame.prototype.hide):
              (WebInspector.SourceFrame.prototype._ensureContentLoaded):
              (WebInspector.SourceFrame.prototype.contentEditable):
              (WebInspector.SourceFrame.prototype.startEditing):
              (WebInspector.SourceFrame.prototype.endEditing):
              (WebInspector.SourceFrame.prototype._createTextViewer):
              (WebInspector.SourceFrame.prototype._handleSave):
              (WebInspector.SourceFrame.prototype._handleRevertEditing):
              * inspector/front-end/TextViewer.js:
              (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
              (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
              (WebInspector.TextViewer.prototype._syncDecorationsForLine):
              (WebInspector.TextViewer.prototype._doubleClick):
              (WebInspector.TextViewerDelegate):
              (WebInspector.TextViewerDelegate.prototype.contentEditable):
              (WebInspector.TextViewerDelegate.prototype.startEditing):
              (WebInspector.TextViewerDelegate.prototype.endEditing):
              (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
              (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
              * inspector/front-end/inspector.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a8b7d06
    • steveblock@google.com's avatar
      2011-04-08 Leandro Gracia Gil <leandrogracia@chromium.org> · fab8862c
      steveblock@google.com authored
              Reviewed by Steve Block.
      
              Media Stream API: add the getUserMedia method and the Javascript bindings.
              https://bugs.webkit.org/show_bug.cgi?id=56586
      
              Test the Javascript behaviour of the getUserMedia method with different types of arguments.
              Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
      
              * fast/dom/MediaStream/argument-types-expected.txt: Added.
              * fast/dom/MediaStream/argument-types.html: Added.
              * fast/dom/MediaStream/enabled-expected.txt: Added.
              * fast/dom/MediaStream/enabled.html: Added.
              * fast/dom/MediaStream/no-interface-object-expected.txt: Added.
              * fast/dom/MediaStream/no-interface-object.html: Added.
              * fast/dom/MediaStream/script-tests/argument-types.js: Added.
              (shouldNotThrow):
              (test):
              (emptyFunction):
              ():
              (ObjectThrowingException.prototype.valueOf):
              (ObjectThrowingException.prototype.toString):
              * fast/dom/MediaStream/script-tests/enabled.js: Added.
              (hasGetUserMediaProperty):
              * fast/dom/MediaStream/script-tests/no-interface-object.js: Added.
              (test):
      2011-04-08  Leandro Gracia Gil  <leandrogracia@chromium.org>
      
              Reviewed by Steve Block.
      
              Media Stream API: add the getUserMedia method and the Javascript bindings.
              https://bugs.webkit.org/show_bug.cgi?id=56586
      
              Add the getUserMedia method to the navigator and its new Javascript types.
              Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
      
              Tests: fast/dom/MediaStream/argument-types.html
                     fast/dom/MediaStream/enabled.html
                     fast/dom/MediaStream/no-interface-object.html
      
              * Android.derived.jscbindings.mk:
              * Android.derived.v8bindings.mk:
              * Android.v8bindings.mk:
              * CMakeLists.txt:
              * CodeGenerators.pri:
              * DerivedSources.cpp:
              * DerivedSources.make:
              * GNUmakefile.list.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::JSNavigator::webkitGetUserMedia):
              * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
              (WebCore::V8Navigator::webkitGetUserMediaCallback):
              * page/Navigator.cpp:
              (WebCore::Navigator::webkitGetUserMedia):
              * page/Navigator.h:
              * page/Navigator.idl:
              * page/NavigatorUserMediaError.h: Added.
              (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
              (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
              (WebCore::NavigatorUserMediaError::code):
              * page/NavigatorUserMediaError.idl: Added.
              * page/NavigatorUserMediaErrorCallback.h: Added.
              (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
              * page/NavigatorUserMediaErrorCallback.idl: Added.
              * page/NavigatorUserMediaSuccessCallback.h: Added.
              (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
              * page/NavigatorUserMediaSuccessCallback.idl: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83287 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fab8862c
    • mnaganov@chromium.org's avatar
      2011-04-08 Mikhail Naganov <mnaganov@chromium.org> · 25c17aa9
      mnaganov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
              https://bugs.webkit.org/show_bug.cgi?id=58010
              https://bugs.webkit.org/show_bug.cgi?id=58011
      
              Added tests for "Containment" view. Minor refactorings, bugs fixed.
              Split one large tests into smaller ones to avoid timing out in debug mode.
      
              Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
                     inspector/profiler/detailed-heapshots-containment-show-all.html
                     inspector/profiler/detailed-heapshots-containment-show-next.html
                     inspector/profiler/detailed-heapshots-containment-sorting.html
                     inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
                     inspector/profiler/detailed-heapshots-summary-show-all.html
                     inspector/profiler/detailed-heapshots-summary-show-next.html
                     inspector/profiler/detailed-heapshots-summary-sorting.html
      
              * inspector/front-end/DetailedHeapshotGridNodes.js:
              (WebInspector.HeapSnapshotGridNode):
              (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
              (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
              (WebInspector.HeapSnapshotGridNode.prototype.sort):
              (WebInspector.HeapSnapshotGenericObjectNode):
              (WebInspector.HeapSnapshotObjectNode):
              (WebInspector.HeapSnapshotInstanceNode):
              (WebInspector.HeapSnapshotConstructorNode):
              (WebInspector.HeapSnapshotDiffNode):
              (WebInspector.HeapSnapshotDominatorObjectNode):
              * inspector/front-end/DetailedHeapshotView.js:
              (WebInspector.HeapSnapshotContainmentDataGrid):
              (WebInspector.HeapSnapshotDominatorsDataGrid):
      
      2011-04-08  Mikhail Naganov  <mnaganov@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
              https://bugs.webkit.org/show_bug.cgi?id=58010
              https://bugs.webkit.org/show_bug.cgi?id=58011
      
              Added tests for "Containment" view. Minor refactorings, bugs fixed.
              Split one large tests into smaller ones to avoid timing out in debug mode.
      
              * inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting-expected.txt: Added.
              * inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html: Added.
              * inspector/profiler/detailed-heapshots-containment-show-all-expected.txt: Added.
              * inspector/profiler/detailed-heapshots-containment-show-all.html: Added.
              * inspector/profiler/detailed-heapshots-containment-show-next-expected.txt: Added.
              * inspector/profiler/detailed-heapshots-containment-show-next.html: Added.
              * inspector/profiler/detailed-heapshots-containment-sorting-expected.txt: Added.
              * inspector/profiler/detailed-heapshots-containment-sorting.html: Added.
              * inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting-expected.txt: Added.
              * inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html: Added.
              * inspector/profiler/detailed-heapshots-summary-expected.txt: Removed.
              * inspector/profiler/detailed-heapshots-summary-show-all-expected.txt: Added.
              * inspector/profiler/detailed-heapshots-summary-show-all.html: Added.
              * inspector/profiler/detailed-heapshots-summary-show-next-expected.txt: Added.
              * inspector/profiler/detailed-heapshots-summary-show-next.html: Added.
              * inspector/profiler/detailed-heapshots-summary-sorting-expected.txt: Added.
              * inspector/profiler/detailed-heapshots-summary-sorting.html: Added.
              * inspector/profiler/detailed-heapshots-summary.html: Removed.
              * inspector/profiler/detailed-heapshots-test.js:
              (initialize_DetailedHeapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled):
              (initialize_DetailedHeapshotTest.InspectorTest.startProfilerTest):
              (initialize_DetailedHeapshotTest.):
              (initialize_DetailedHeapshotTest):
              * platform/chromium/inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting-expected.txt: Copied from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-expected.txt.
              * platform/chromium/inspector/profiler/detailed-heapshots-containment-show-all-expected.txt: Added.
              * platform/chromium/inspector/profiler/detailed-heapshots-containment-show-next-expected.txt: Added.
              * platform/chromium/inspector/profiler/detailed-heapshots-containment-sorting-expected.txt: Added.
              * platform/chromium/inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting-expected.txt: Renamed from LayoutTests/platform/chromium/inspector/profiler/detailed-heapshots-summary-expected.txt.
              * platform/chromium/inspector/profiler/detailed-heapshots-summary-show-all-expected.txt: Added.
              * platform/chromium/inspector/profiler/detailed-heapshots-summary-show-next-expected.txt: Added.
              * platform/chromium/inspector/profiler/detailed-heapshots-summary-sorting-expected.txt: Added.
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      25c17aa9
    • podivilov@chromium.org's avatar
      2011-04-08 Andrey Adaikin <aandrey@google.com> · 9fdebe06
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: Bugs in some corner cases in the text editor
              https://bugs.webkit.org/show_bug.cgi?id=58025
      
              This solves the following bugs:
              1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor.
              2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow.
      
              * inspector/front-end/TextViewer.js:
              (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
              (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
              (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
              (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
              (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9fdebe06
    • podivilov@chromium.org's avatar
      2011-04-07 Pavel Podivilov <podivilov@chromium.org> · 68c7ef15
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: add test for script formatter worker.
              https://bugs.webkit.org/show_bug.cgi?id=57447
      
              * inspector/debugger/script-formatter-expected.txt: Added.
              * inspector/debugger/script-formatter.html: Added.
              * platform/chromium/test_expectations.txt:
      2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: add test for script formatter worker.
              https://bugs.webkit.org/show_bug.cgi?id=57447
      
              Test: inspector/debugger/script-formatter.html
      
              * GNUmakefile.am:
              * WebCore.xcodeproj/project.pbxproj:
              * gyp/streamline-inspector-source.sh:
              * inspector/front-end/DebuggerPresentationModel.js:
              (WebInspector.DebuggerPresentationModel.prototype._addScript):
              (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
              (WebInspector.DebuggerPresentationModel.prototype._formatter):
              * inspector/front-end/ScriptFormatterWorker.js:
      2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: add test for script formatter worker.
              https://bugs.webkit.org/show_bug.cgi?id=57447
      
              * WebKit.gyp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68c7ef15
    • podivilov@chromium.org's avatar
      2011-04-08 Andrey Adaikin <aandrey@google.com> · bb318949
      podivilov@chromium.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: Tweak dynamically constants for the async highlighting in text editor
              https://bugs.webkit.org/show_bug.cgi?id=58035
      
              * inspector/front-end/TextViewer.js:
              (WebInspector.TextEditorMainPanel.prototype._expandChunks):
              (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
              (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
              (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
              (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bb318949
    • caseq@chromium.org's avatar
      2011-04-08 Andrey Kosyakov <caseq@chromium.org> · 2116b004
      caseq@chromium.org authored
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: HAR compliance fixes
              https://bugs.webkit.org/show_bug.cgi?id=58124
      
              - Always provide some values for queryString and cookies, even though arrays may be empty
              - Always provide an empty cache object
              - Added entire HARLog to test
              - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)
      
              * inspector/front-end/HAREntry.js:
              (WebInspector.HAREntry.prototype.build):
              (WebInspector.HAREntry.prototype._buildRequest):
              (WebInspector.HAREntry.prototype._buildResponse):
      
      2011-04-08  Andrey Kosyakov  <caseq@chromium.org>
      
              Reviewed by Yury Semikhatsky.
      
              Web Inspector: HAR compliance fixes
              https://bugs.webkit.org/show_bug.cgi?id=58124
      
              - Added entire HARLog to test
              - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms
      
              * http/tests/inspector/resource-har-conversion-expected.txt:
              * http/tests/inspector/resource-har-conversion.html:
              * http/tests/inspector/resources-test.js:
              * platform/mac-wk2/http/tests/inspector/resource-har-conversion-expected.txt: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2116b004
    • abarth@webkit.org's avatar
      2011-04-08 Adam Barth <abarth@webkit.org> · a1b677c8
      abarth@webkit.org authored
              Attempt to fix the Qt build.
      
              * css/CSSStyleApplyProperty.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1b677c8
    • abarth@webkit.org's avatar
      2011-04-07 Adam Barth <abarth@webkit.org> · 1f7a5939
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              Refactor WebCore/GNUMakefile.am to separate list of files
              https://bugs.webkit.org/show_bug.cgi?id=58116
      
              This change is similar to the cooresponding to change to
              JavaScriptCore.  We hope to generate GNUmakefile.list.am automatically
              using GYP.
      
              * GNUmakefile.am:
              * GNUmakefile.list.am: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f7a5939
    • ggaren@apple.com's avatar
      Not reviewed. · 17075df5
      ggaren@apple.com authored
      Rolled out some accidentally-committed changes in my last commit.
      
      * dom/EventTarget.cpp:
      (WebCore::EventTarget::addEventListener):
      (WebCore::EventTarget::removeEventListener):
      * dom/EventTarget.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      17075df5
    • commit-queue@webkit.org's avatar
      2011-04-07 Julien Chaffraix <jchaffraix@codeaurora.org> · 9d3fc5b1
      commit-queue@webkit.org authored
              Reviewed by Alexey Proskuryakov.
      
              EventSource should only accept UTF-8 charset
              https://bugs.webkit.org/show_bug.cgi?id=56942
      
              * ChangeLog-2011-02-16: Corrected previous commit message. Pointed out by Alexey.
      
              * http/tests/eventsource/eventsource-bad-mime-type-expected.txt: Updated with the new console message.
      
              * http/tests/eventsource/eventsource-content-type-charset-expected.txt:
              * http/tests/eventsource/eventsource-content-type-charset.html: Beefed up this test and merged
              the following test into it. The new tests check that we dispatch a console error if the charset is
              wrong.
      
              * http/tests/eventsource/eventsource-content-type-text-event-stream-foobar-expected.txt: Removed.
              * http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html: Removed.
      
              * http/tests/eventsource/resources/response-content-type-charset.php: Return the charset passed
              in the URL. Also added PHP's magic quotes handling as this would make the test fail on Mac.
      
              * http/tests/eventsource/resources/response-content-type-event-stream-foobar.php: Removed.
      2011-04-07  Julien Chaffraix  <jchaffraix@codeaurora.org>
      
              Reviewed by Alexey Proskuryakov.
      
              EventSource should only accept UTF-8 charset
              https://bugs.webkit.org/show_bug.cgi?id=56942
      
              Following the discussion on bug 45372, this change implements the recommended
              way of handling "charset". We only accept UTF-8 but no other encoding. This matches
              the encoding of the EventSource and also may fix TomCat that automatically send this
              charset.
      
              * page/EventSource.cpp:
              (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
              not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
              is wrong to the console to help debugging (only in the case of an HTTP 200 response though).
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83260 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d3fc5b1
    • ggaren@apple.com's avatar
      2011-04-07 Geoffrey Garen <ggaren@apple.com> · 264f9e28
      ggaren@apple.com authored
              Reviewed by Maciej Stachowiak.
      
              Some Handle<T> cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58109
      
              * bytecode/SamplingTool.h: Sorted alphabetically because that's the
              WebKit style. Added a Global.h #include that was previously missing
              but harmless.
      
              * collector/handles/Global.h:
              (JSC::Global::Global): Added a null constructor. No need for a special
              tag, and the tag is incompatible with some data structures.
              
              (JSC::Global::isHashTableDeletedValue):
              (JSC::Global::~Global):
              (JSC::Global::set):
              (JSC::Global::operator=):
              (JSC::Global::clear):
              (JSC::Global::hashTableDeletedValue): Reordered constructors to be near
              each other.
      
              (JSC::Global::setWithWriteBarrier): Renamed internalSet to
              setWithWriteBarrier for clarity, and funneled more code into using set
              and setWithWriteBarrier to reduce duplication.
      
              * collector/handles/Handle.h:
              (JSC::HandleBase::operator!):
              (JSC::HandleBase::HandleBase): Removed isEmpty(), since we already have
              boolean and ! operators.
      
              (JSC::HandleBase::slot):
              (JSC::HandleBase::setSlot):
              (JSC::Handle::Handle): Added general support for null Handles. This was
              previously outlawed by ASSERTs, but our code has grown to support and
              rely on null Handles.
              
              * collector/handles/HandleHeap.cpp:
              (JSC::HandleHeap::markWeakHandles):
              (JSC::HandleHeap::finalizeWeakHandles):
              (JSC::HandleHeap::isValidWeakNode): Migrated from isValidWeakHandle,
              and beefed this up a bit.
      
              * collector/handles/HandleHeap.h:
              (JSC::HandleHeap::globalData): Added accessor, used by some new set functions.
      
              * collector/handles/Local.h: Moved hash traits to the bottom of the file,
              since this file is about the Local class, not the traits.
      
              (JSC::::Local): Updated for removal of invalidate().
      
              (JSC::::operator): Deployed "using" to avoid a lot of this->
              template funny business.
      
              (JSC::::setWithSlotCheck): Renamed from internalSet, more specific now.
      
              * interpreter/RegisterFile.h:
              (JSC::RegisterFile::RegisterFile): Updated to use null constructor.
      
              * jit/JITStubs.cpp:
              (JSC::JITThunks::hostFunctionStub):
      
              * runtime/JSPropertyNameIterator.h:
              (JSC::Structure::setEnumerationCache):
              * runtime/Structure.h: Removed clearEnumerationCache
              because it was an unused holdover from when the enumeration cache was
              not a handle.
      
              * runtime/WeakGCMap.h:
              (JSC::WeakGCMap::set): Finish initializing our handle before putting it
              in the table. This seemed more logical, and at one point was required
              to avoid triggering an ASSERT.
      
              * runtime/WeakGCPtr.h: Inherit from Handle instead of rolling our own
              handle-like behavior, to avoid duplication.
      
              (JSC::WeakGCPtr::WeakGCPtr):
              (JSC::WeakGCPtr::~WeakGCPtr):
              (JSC::WeakGCPtr::get):
              (JSC::WeakGCPtr::clear):
              (JSC::WeakGCPtr::set):
              (JSC::WeakGCPtr::setWithWriteBarrier): Removed duplicate code and
              standardized on Handle idioms.
      2011-04-07  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Maciej Stachowiak.
      
              Some Handle<T> cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58109
      
              * JSRun.h:
              * JSValueWrapper.h: #include a file that was missing before, but was
              harmlessly so until now.
      2011-04-07  Geoffrey Garen  <ggaren@apple.com>
      
              Reviewed by Maciej Stachowiak.
      
              Some Handle<T> cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58109
      
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
              (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
      2011-04-07  Geoffrey Garen  <ggaren@apple.com>
      
              Some Handle<T> cleanup
              https://bugs.webkit.org/show_bug.cgi?id=58109
      
              * WebProcess/Plugins/Netscape/NPJSObject.cpp:
              (WebKit::NPJSObject::NPJSObject): Updated for new null constructor.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      264f9e28
    • tkent@chromium.org's avatar
      2011-04-07 Dominic Cooney <dominicc@google.com> · 553b1729
      tkent@chromium.org authored
              Reviewed by Dimitri Glazkov.
      
              Let shadow DOM have a list of nodes at the top level of a shadow.
              https://bugs.webkit.org/show_bug.cgi?id=57813
      
              * fast/dom/HTMLKeygenElement/keygen-expected.txt: shadow DOM changed
              * fast/dom/HTMLKeygenElement/keygen.html: added assertion on shadow
      2011-04-07  Dominic Cooney  <dominicc@google.com>
      
              Reviewed by Dimitri Glazkov.
      
              Let shadow DOM have a list of nodes at the top level of a shadow.
              https://bugs.webkit.org/show_bug.cgi?id=57813
      
              Adds ShadowRoot, a list of nodes, to be a parent for top-level
              shadow children. Forwards rendering through the root and into the
              host's renderer.
      
              Covered by existing tests of elements that use this style of shadow.
      
              * Android.mk: add ShadowRoot.h/cpp
              * CMakeLists.txt:
              * GNUmakefile.am:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
              * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
              (WebCore::ContainerNode::insertBefore):
              (WebCore::ContainerNode::replaceChild):
              (WebCore::ContainerNode::removeChild):
              (WebCore::ContainerNode::appendChild):
              * dom/DocumentFragment.cpp:
              (WebCore::DocumentFragment::DocumentFragment):
              * dom/DocumentFragment.h:
              * dom/Element.cpp:
              (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
              (WebCore::Element::shadowRoot): should be const
              (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
              * dom/Element.h:
              * dom/ElementRareData.h:
              * dom/Node.cpp:
              (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
                ShadowRoot can forward to the host's renderer
              (WebCore::Node::createRendererAndStyle):
              (WebCore::Node::createRendererIfNeeded):
              * dom/Node.h:
              (WebCore::Node::isShadowBoundary): temporary, to differentiate
                old- and new-style, until all roots are ShadowRoot instances
              * dom/ShadowRoot.cpp: Added.
              (WebCore::ShadowRoot::ShadowRoot):
              (WebCore::ShadowRoot::recalcStyle): forward recalc to children
              * dom/ShadowRoot.h: Added.
              (WebCore::ShadowRoot::isShadowBoundary):
              (WebCore::ShadowRoot::create):
              * html/HTMLKeygenElement.cpp: use ensureShadowRoot
              (WebCore::HTMLKeygenElement::HTMLKeygenElement):
              (WebCore::HTMLKeygenElement::parseMappedAttribute):
              (WebCore::HTMLKeygenElement::appendFormData):
              (WebCore::HTMLKeygenElement::reset):
              (WebCore::HTMLKeygenElement::shadowSelect):
              * html/HTMLKeygenElement.h:
              * html/HTMLMeterElement.cpp: use ensureShadowRoot
              (WebCore::HTMLMeterElement::createShadowSubtree):
              * html/HTMLProgressElement.cpp: use ensureShadowRoot
              (WebCore::HTMLProgressElement::createShadowSubtree):
              * html/InputType.cpp: use ensureShadowRoot
              (WebCore::InputType::destroyShadowSubtree):
              * html/RangeInputType.cpp: use ensureShadowRoot
              (WebCore::RangeInputType::handleMouseDownEvent):
              (WebCore::RangeInputType::createShadowSubtree):
              (WebCore::RangeInputType::valueChanged):
              (WebCore::RangeInputType::shadowSliderThumb):
              * html/RangeInputType.h:
              * html/ValidationMessage.cpp: use ensureShadowRoot
              (WebCore::ValidationMessage::buildBubbleTree):
              (WebCore::ValidationMessage::deleteBubbleTree):
              * html/shadow/SliderThumbElement.cpp:
              (WebCore::SliderThumbElement::setPositionFromPoint):
              (WebCore::SliderThumbElement::hostInput):
              * html/shadow/SliderThumbElement.h:
              * rendering/MediaControlElements.cpp: use ensureShadowRoot
              (WebCore::MediaControlInputElement::attach):
              (WebCore::MediaControlInputElement::updateStyle):
              * rendering/RenderSlider.cpp: use ensureShadowRoot
              (WebCore::RenderSlider::thumbRect):
              (WebCore::RenderSlider::layout):
              (WebCore::RenderSlider::shadowSliderThumb):
              (WebCore::RenderSlider::inDragMode):
              * rendering/RenderSlider.h:
      2011-04-07  Dominic Cooney  <dominicc@google.com>
      
              Reviewed by Dimitri Glazkov.
      
              Let shadow DOM have a list of nodes at the top level of a shadow.
              https://bugs.webkit.org/show_bug.cgi?id=57813
      
              * src/WebElement.cpp:
              (WebKit::WebElement::shadowRoot): shadow roots are ContainerNodes now
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      553b1729
    • mjs@apple.com's avatar
      2011-04-07 Maciej Stachowiak <mjs@apple.com> · 2fcfc485
      mjs@apple.com authored
              Reviewed by Simon Fraser.
      
              REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
              https://bugs.webkit.org/show_bug.cgi?id=56297
              <rdar://problem/9131597>
      
              Test: fast/css-generated-content/table-row-after-no-crash.html
      
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
              content, and only do it if the row already has a parent. For construction of
              anonymous cells to work correctly, the row needs to already have a parent, so
              in that case wait a bit.
              (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
              * rendering/RenderTableRow.h:
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild): When adding a row, update its
              before/after content, in case it had any.
      2011-04-07  Maciej Stachowiak  <mjs@apple.com>
      
              Reviewed by Simon Fraser.
      
              REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
              https://bugs.webkit.org/show_bug.cgi?id=56297
              <rdar://problem/9131597>
      
              * fast/css-generated-content/table-row-after-no-crash-expected.txt: Added.
              * fast/css-generated-content/table-row-after-no-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2fcfc485
  2. 07 Apr, 2011 9 commits
    • bdakin@apple.com's avatar
      Probable fix for <rdar://problem/9251443> Crashing on exception: - · 6dfbb417
      bdakin@apple.com authored
      [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized 
      selector sent to instance ADDRESS.
      
      Reviewed by Simon Fraser.
      
             Need to implement new delegate method.
      * platform/mac/ScrollAnimatorMac.mm:
      (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6dfbb417
    • commit-queue@webkit.org's avatar
      2011-04-07 Ian Henderson <ianh@apple.com> · c0295d8f
      commit-queue@webkit.org authored
              Reviewed by Simon Fraser.
      
              Optimize filling rounded rects that are actually ellipses
              https://bugs.webkit.org/show_bug.cgi?id=58098
      
              In CG, drawing an ellipse directly is faster than constructing and
              filling a rounded rect path.  Detect when the given rounded rect is
              actually an ellipse and draw it directly in this case.
      
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::fillRoundedRect):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0295d8f
    • commit-queue@webkit.org's avatar
      2011-04-07 Ned Holbrook <nholbrook@apple.com> · 4c749b2e
      commit-queue@webkit.org authored
              Reviewed by Dan Bernstein.
      
              CTLine objects should outlive their CTRuns
              https://bugs.webkit.org/show_bug.cgi?id=58063
      
              * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
              * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
              (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
              (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c749b2e
    • commit-queue@webkit.org's avatar
      2011-04-07 Nat Duca <nduca@chromium.org> · 118a5518
      commit-queue@webkit.org authored
              Reviewed by David Levin.
      
              [chromium] Compositor thread infrastructure
              https://bugs.webkit.org/show_bug.cgi?id=56131
      
              Introduce chrome compositor thread and related
              infrastructure.
      
              * WebCore.gypi:
              * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
              (WebCore::CCMainThread::performTask):
              (WebCore::CCMainThread::postTask):
              * platform/graphics/chromium/cc/CCMainThread.h: Added.
              (WebCore::CCMainThread::Task::~Task):
              (WebCore::CCMainThread::Task::instance):
              (WebCore::CCMainThread::Task::Task):
              * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
              (WebCore::MainThreadTask0::create):
              (WebCore::MainThreadTask0::MainThreadTask0):
              (WebCore::MainThreadTask0::performTask):
              (WebCore::MainThreadTask1::create):
              (WebCore::MainThreadTask1::MainThreadTask1):
              (WebCore::MainThreadTask1::performTask):
              (WebCore::MainThreadTask2::create):
              (WebCore::MainThreadTask2::MainThreadTask2):
              (WebCore::MainThreadTask2::performTask):
              (WebCore::MainThreadTask3::create):
              (WebCore::MainThreadTask3::MainThreadTask3):
              (WebCore::MainThreadTask3::performTask):
              (WebCore::createMainThreadTask):
              * platform/graphics/chromium/cc/CCThread.cpp: Added.
              (WebCore::CCThread::create):
              (WebCore::CCThread::CCThread):
              (WebCore::CCThread::~CCThread):
              (WebCore::CCThread::postTask):
              (WebCore::CCThread::compositorThreadStart):
              (WebCore::CCThread::runLoop):
              * platform/graphics/chromium/cc/CCThread.h: Added.
              (WebCore::CCThread::Task::~Task):
              (WebCore::CCThread::Task::instance):
              (WebCore::CCThread::Task::Task):
              (WebCore::CCThread::threadID):
              (WebCore::CCCompletionEvent::CCCompletionEvent):
              (WebCore::CCCompletionEvent::~CCCompletionEvent):
              (WebCore::CCCompletionEvent::wait):
              (WebCore::CCCompletionEvent::signal):
              * platform/graphics/chromium/cc/CCThreadTask.h: Added.
              (WebCore::CCThreadTask0::create):
              (WebCore::CCThreadTask0::CCThreadTask0):
              (WebCore::CCThreadTask0::performTask):
              (WebCore::CCThreadTask1::create):
              (WebCore::CCThreadTask1::CCThreadTask1):
              (WebCore::CCThreadTask1::performTask):
              (WebCore::CCThreadTask2::create):
              (WebCore::CCThreadTask2::CCThreadTask2):
              (WebCore::CCThreadTask2::performTask):
              (WebCore::CCThreadTask3::create):
              (WebCore::CCThreadTask3::CCThreadTask3):
              (WebCore::CCThreadTask3::performTask):
              (WebCore::createCCThreadTask):
      2011-04-07  Nat Duca  <nduca@chromium.org>
      
              Reviewed by David Levin.
      
              [chromium] Compositor thread infrastructure
              https://bugs.webkit.org/show_bug.cgi?id=56131
      
              Tests for chrome compositor thread and related infrastructure.
      
              * WebKit.gyp:
              * WebKit.gypi:
              * tests/CCThreadTaskTest.cpp: Added.
              (WebCore::TEST):
              * tests/CCThreadTest.cpp: Added.
              (WebCore::TEST):
              (WebCore::PingPongUsingCondition::ping):
              (WebCore::PingPongTestUsingTasks::ping):
              (WebCore::PingPongTestUsingTasks::pong):
              * tests/RunAllTests.cpp:
              (main):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      118a5518
    • rniwa@webkit.org's avatar
      2011-04-07 Ryosuke Niwa <rniwa@webkit.org> · 5614540c
      rniwa@webkit.org authored
              Reviewed by Darin Adler.
      
              REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
              https://bugs.webkit.org/show_bug.cgi?id=57872
      
              Added tests to ensure WebKit inserts a paragraph separator properly around tab span.
      
              * editing/inserting/insert-div-021-expected.txt: No longer duplicates span[id="test"] incorrectly.
              * editing/inserting/insert-paragraph-after-tab-span-and-text-expected.txt: Added.
              * editing/inserting/insert-paragraph-after-tab-span-and-text.html: Added.
              * editing/inserting/insert-paragraph-separator-tab-span-expected.txt: Added.
              * editing/inserting/insert-paragraph-separator-tab-span.html: Added.
              * editing/inserting/insert-paragraph-at-end-of-line-expected.txt: No longer duplicates a[id="anchor"] incorrectly.
      2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
      
              Reviewed by Eric Seidel.
      
              REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
              https://bugs.webkit.org/show_bug.cgi?id=57872
      
              r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
              because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
      
              r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
              avoiding the tab span.
      
              Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
              Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
              we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
              before moving the nodes.
      
              Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
                     editing/inserting/insert-paragraph-separator-tab-span.html
      
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
              no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
              * editing/EditingStyle.cpp:
              (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
              * editing/InsertParagraphSeparatorCommand.cpp:
              (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
              separator into a paragraph separator.
              * editing/htmlediting.cpp:
              (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
              node after the tab span if the position was at the end of the tab span.
              * editing/htmlediting.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5614540c
    • commit-queue@webkit.org's avatar
      2011-04-07 Jia Pu <jpu@apple.com> · 6aedb680
      commit-queue@webkit.org authored
              Reviewed by Darin Adler.
      
              [Mac] Editor::setComposition() should not trigger correction panel timer.
              https://bugs.webkit.org/show_bug.cgi?id=58049
               <rdar://problem/9226305>
      
              On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
              should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand.
              When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
              m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().
      
              No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
              autocorrection panel timer, which can not be easily done in automated fashion.
      
              * editing/Editor.cpp:
              (WebCore::Editor::deleteWithDirection):
              (WebCore::Editor::insertTextWithoutSendingTextEvent):
              (WebCore::Editor::confirmComposition):
              (WebCore::Editor::setComposition):
              * editing/EditorCommand.cpp:
              (WebCore::executeDelete):
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::TypingCommand):
              (WebCore::TypingCommand::deleteSelection):
              (WebCore::TypingCommand::deleteKeyPressed):
              (WebCore::TypingCommand::forwardDeleteKeyPressed):
              (WebCore::TypingCommand::insertText):
              (WebCore::TypingCommand::insertLineBreak):
              (WebCore::TypingCommand::insertParagraphSeparator):
              (WebCore::TypingCommand::typingAddedToOpenCommand):
              * editing/TypingCommand.h:
              (WebCore::TypingCommand::create):
              (WebCore::TypingCommand::setShouldPreventSpellChecking):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6aedb680
    • commit-queue@webkit.org's avatar
      2011-04-07 John Bauman <jbauman@chromium.org> · f12d168a
      commit-queue@webkit.org authored
              Reviewed by Kenneth Russell.
      
              clearIfComposited call is really slow
              https://bugs.webkit.org/show_bug.cgi?id=57999
      
              Move getContextAttributes call after the if, so it isn't called nearly as often.
      
              No new tests.
      
              * html/canvas/WebGLRenderingContext.cpp:
              (WebCore::WebGLRenderingContext::clearIfComposited):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f12d168a
    • commit-queue@webkit.org's avatar
      2011-04-07 Luke Macpherson <macpherson@chromium.org> · 16204d14
      commit-queue@webkit.org authored
              Reviewed by Dimitri Glazkov.
      
              Implement Backgroun and Mask properties in CSSStyleApplyProperty
              https://bugs.webkit.org/show_bug.cgi?id=57922
      
              No tests added as no behavioral changes.
      
              * css/CSSStyleApplyProperty.cpp:
              Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
              (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
              Added constructor calls to set up:
                CSSPropertyBackgroundAttachment
                CSSPropertyBackgroundClip
                CSSPropertyWebkitBackgroundClip
                CSSPropertyWebkitBackgroundComposite
                CSSPropertyBackgroundOrigin
                CSSPropertyWebkitBackgroundOrigin
                CSSPropertyBackgroundSize
                CSSPropertyWebkitBackgroundSize
                CSSPropertyWebkitMaskAttachment
                CSSPropertyWebkitMaskClip
                CSSPropertyWebkitMaskComposite
                CSSPropertyWebkitMaskOrigin
                CSSPropertyWebkitMaskSize
              * css/CSSStyleApplyProperty.h:
              (WebCore::CSSStyleApplyProperty::setPropertyValue):
              Add function to specify an equivalent property value in the lookup table.
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              Remove sections now implemented by CSSStyleApplyProperty.
              * css/CSSStyleSelector.h:
              Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16204d14
    • eric@webkit.org's avatar
      2011-04-04 Eric Seidel <eric@webkit.org> · 5bee2940
      eric@webkit.org authored
              Reviewed by Ryosuke Niwa.
      
              Split run storage out from BidiResolver into a new BidiRunList class
              https://bugs.webkit.org/show_bug.cgi?id=57764
      
              Part of what makes BidiResolver and InlineIterator so difficult to understand
              (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
              for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
              BidiRuns from the algorithm.  This patch breaks the storage aspect off
              into its own class BidiRunList.
      
              This patch is only a start.  It does not actually fix the problematic ownership
              relationship, but it does make it possible to fix such in a second patch.
      
              The run pointers and addRun/prependRun, etc. were already a tightly coupled
              logical subset of the BidiResolver class, so moving them into their own class
              was both obvious and easy.  The only piece of logic I had to move was that
              deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
      
              I believe this deleteRuns side-effect was only ever used for one place
              (right after findNextLineBreak) and that it's only needed because
              findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
              an unintentional side-effect of how InlineIterator calls through to BidiResolver
              as part of bidiNext and not a desired effect of the code.  I have added the call
              to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
              could get re-used) as a safety precaution.  We could replace both with ASSERTs
              in a later patch.
      
              I suspect there may be a small performance win from further refactoring so that
              findNextLineBreak does not need to create BidiRuns.
      
              As I commented in the code, callers should own their own BidiRunList which they
              pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
              an earlier version of this patch, but it was too complicated with the current
              twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
              raise/lowerExplicitEmbeddingLevel are called unconditionally
              from commitExplicitEmbedding (which is called by bidiNext) and expect to have
              access to a runs list even in cases where we don't want any runs (findNextLineBreak).
      
              I also cleaned up some of the callers to pass around BidiRunList objects instead
              of InlineBidiResolvers now that they're separate objects.
      
              * GNUmakefile.am:
              * WebCore.gypi:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::drawBidiText):
              * platform/text/BidiResolver.h:
              (WebCore::BidiResolver::BidiResolver):
              (WebCore::BidiResolver::runs):
              (WebCore::BidiResolver::markCurrentRunEmpty):
              (WebCore::::appendRun):
              (WebCore::::lowerExplicitEmbeddingLevel):
              (WebCore::::raiseExplicitEmbeddingLevel):
              (WebCore::::reorderRunsFromLevels):
              (WebCore::::createBidiRunsForLine):
              * rendering/InlineIterator.h:
              (WebCore::InlineBidiResolver::appendRun):
              * rendering/RenderBlock.h:
              * rendering/RenderBlockLineLayout.cpp:
              (WebCore::createRun):
              (WebCore::RenderBlock::appendRunsForObject):
              (WebCore::reachedEndOfTextRenderer):
              (WebCore::RenderBlock::handleTrailingSpaces):
              (WebCore::RenderBlock::layoutInlineChildren):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5bee2940