1. 02 Dec, 2009 1 commit
  2. 01 Dec, 2009 4 commits
    • bweinstein@apple.com's avatar
      16df50a8
    • bweinstein@apple.com's avatar
      Build fix by using DOMNode::node() to go from a DOMNode to a node, and · 7abd0d56
      bweinstein@apple.com authored
      added svg/animation in the WebCore.vcproj list of headers to be copied 
      over on build.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51571 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7abd0d56
    • zimmermann@webkit.org's avatar
      Not reviewed. Try to fix qt/win builds. · 8e195f83
      zimmermann@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e195f83
    • zimmermann@webkit.org's avatar
      2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com> · 840d1766
      zimmermann@webkit.org authored
              Reviewed by Simon Fraser.
      
              Add SVG animation test framework with 'snapshot' functionality
              https://bugs.webkit.org/show_bug.cgi?id=31897
      
              Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
              forwarding the call to SVGDocumentExtensions, if SVG is enabled.
      
              Implemented just like the existing pauseAnimation* methods for CSS animations.
      
              * Api/qwebframe.cpp:
              (qt_drt_pauseSVGAnimation):
      2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Simon Fraser.
      
              Add SVG animation test framework with 'snapshot' functionality
              https://bugs.webkit.org/show_bug.cgi?id=31897
      
              Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
              forwarding the call to SVGDocumentExtensions, if SVG is enabled.
      
              Implemented just like the existing pauseAnimation* methods for CSS animations.
      
              * webkit/webkitprivate.h:
              * webkit/webkitwebframe.cpp:
              (webkit_web_frame_pause_svg_animation):
      2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Simon Fraser.
      
              Add SVG animation test framework with 'snapshot' functionality
              https://bugs.webkit.org/show_bug.cgi?id=31897
      
              Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
              forwarding the call to SVGDocumentExtensions, if SVG is enabled.
      
              Implemented just like the existing pauseAnimation* methods for CSS animations.
      
              * Interfaces/IWebFramePrivate.idl:
              * WebFrame.cpp:
              (WebFrame::pauseSVGAnimation):
              * WebFrame.h:
      2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Simon Fraser.
      
              Add SVG animation test framework with 'snapshot' functionality
              https://bugs.webkit.org/show_bug.cgi?id=31897
      
              Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
              forwarding the call to SVGDocumentExtensions, if SVG is enabled.
      
              Implemented just like the existing pauseAnimation* methods for CSS animations.
      
              * WebView/WebFrame.mm:
              (-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]):
              * WebView/WebFramePrivate.h:
      2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Simon Fraser.
      
              Add SVG animation test framework with 'snapshot' functionality
              https://bugs.webkit.org/show_bug.cgi?id=31897
      
              Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
              for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
      
              layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
              to sample a svg animateMotion/animateColor/animate/set element at certain times.
      
              After the desired SVG animation starts and calling the method above, it's immediately forwarded to
              the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
              a callback is fired used to sample the animation value at the target time. It's modelled similar
              to the CSS animation/transition testing framework, inspired by
              LayoutTests/animations/animation-test-helpers.js.
      
              Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
              the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
      
              Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
              interaction, while animating.
      
              Test: svg/animations/animVal-basics.html
      
              * WebCore.base.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * svg/SVGDocumentExtensions.cpp:
              (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
              * svg/SVGDocumentExtensions.h:
              * svg/animation/SMILTimeContainer.cpp:
              (WebCore::SMILTimeContainer::SMILTimeContainer):
              (WebCore::SMILTimeContainer::sampleAnimationAtTime):
              (WebCore::SMILTimeContainer::updateAnimations):
              * svg/animation/SMILTimeContainer.h:
      2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Simon Fraser.
      
              Add SVG animation test framework with 'snapshot' functionality
              https://bugs.webkit.org/show_bug.cgi?id=31897
      
              Add LayoutTests/svg/animations directory, containing a new
              framework for SVG animation test with sampling at certain times.
      
              Added one example test, which will be extended soon to cover animVal
              support, once basic support has been implemented.
      
              * svg/animations: Added.
              * svg/animations/animVal-basics-expected.txt: Added.
              * svg/animations/animVal-basics.html: Added.
              * svg/animations/resources: Added.
              * svg/animations/resources/SVGAnimationTestCase.js: Added.
              (isCloseEnough):
              (moveAnimationTimelineAndSample):
              (startTest):
              (sampleAnimation):
              (runAnimationTest):
              * svg/animations/script-tests: Added.
              * svg/animations/script-tests/TEMPLATE.html: Added.
              * svg/animations/script-tests/animVal-basics.js: Added.
              (sample1):
              (sample2):
              (sample3):
              (executeTest):
      2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
      
              Reviewed by Simon Fraser.
      
              Add SVG animation test framework with 'snapshot' functionality
              https://bugs.webkit.org/show_bug.cgi?id=31897
      
              Add new 'sampleSVGAnimationForElementAtTime' DRT method,
              used by the new SVG animation testing framework, implemented
              for qt/gtk/win/mac.
      
              * DumpRenderTree/LayoutTestController.cpp:
              (sampleSVGAnimationForElementAtTimeCallback):
              (LayoutTestController::staticFunctions):
              * DumpRenderTree/LayoutTestController.h:
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::sampleSVGAnimationForElementAtTime):
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::sampleSVGAnimationForElementAtTime):
              * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
              (LayoutTestController::sampleSVGAnimationForElementAtTime):
              * DumpRenderTree/qt/LayoutTestControllerQt.h:
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::sampleSVGAnimationForElementAtTime):
              * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
              (LayoutTestController::sampleSVGAnimationForElementAtTime):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      840d1766
  3. 30 Nov, 2009 2 commits
  4. 24 Nov, 2009 3 commits
  5. 23 Nov, 2009 2 commits
  6. 21 Nov, 2009 1 commit
  7. 20 Nov, 2009 6 commits
  8. 19 Nov, 2009 2 commits
    • ap@apple.com's avatar
      Reviewed by Darin Adler. · 13f65f3f
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=31690
              Make SocketStreamHandleCFNet work on Windows
      
              * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
      
              * platform/network/ResourceHandle.h: Removed loaderRunLoop().
      
              * platform/network/cf/LoaderRunLoopCF.cpp: Added.
              (WebCore::emptyPerform):
              (WebCore::runLoaderThread):
              (WebCore::loaderRunLoop):
              * platform/network/cf/LoaderRunLoopCF.h: Added.
              Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
              it's needed for more than just resource loading.
      
              * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
      
              * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
      
              * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
              main thread.
              * platform/network/cf/SocketStreamHandleCFNet.cpp:
              (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
              inoperable main run loop.
      
              (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
              (WebCore::SocketStreamHandle::readStreamCallback):
              (WebCore::SocketStreamHandle::writeStreamCallback):
              (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
              (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
              Forward stream events to main thread on Windows.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13f65f3f
    • eric.carlson@apple.com's avatar
      2009-11-19 Eric Carlson <eric.carlson@apple.com> · 9f2f9c6c
      eric.carlson@apple.com authored
              Reviewed by Dan Bernstein.
      
              <rdar://problem/7035231>
              Support closed caption in <video> element
      
              Test: media/media-captions.html
      
              * WebCore.base.exp:
              * accessibility/AccessibilityMediaControls.cpp:
              (WebCore::AccessibilityMediaControl::controlTypeName):
                  Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
      
              * css/CSSPrimitiveValueMappings.h:
              (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
                  Add MediaToggleClosedCaptionsButtonPart.
      
              * css/CSSSelector.cpp:
              (WebCore::CSSSelector::extractPseudoType):
                  Define and match mediaControlsToggleClosedCaptionsButton.
      
              * css/CSSSelector.h:
              (WebCore::CSSSelector::):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
                  Define and match PseudoMediaControlsToggleClosedCaptions.
      
              * css/CSSValueKeywords.in:
                  Define and use media-toggle-closed-captions-button.
      
              * css/mediaControls.css:
              * css/mediaControlsQuickTime.css:
                  Add webkit-media-controls-toggle-closed-captions-button.
      
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::HTMLMediaElement): 
                  Initialize m_closedCaptionsVisible.
              (WebCore::HTMLMediaElement::loadInternal): 
                  Set m_closedCaptionsVisible to false.
              (WebCore::HTMLMediaElement::hasClosedCaptions): 
              (WebCore::HTMLMediaElement::closedCaptionsVisible): 
              (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
                  New, captions internal methods.
              (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
              (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
              (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
                  New, captions DOM API.
      
              * html/HTMLMediaElement.h:
              * html/HTMLMediaElement.idl:
                  Declare methods needed for captions API.
      
              * platform/ThemeTypes.h:
                  Add MediaToggleClosedCaptionsButtonPart.
      
              * platform/android/LocalizedStringsAndroid.cpp:
              (WebCore::localizedMediaControlElementString):
              (WebCore::localizedMediaControlElementHelpText):
              (WebCore::localizedMediaTimeDescription):
                  Add empty implmentations.
      
              * platform/graphics/MediaPlayer.cpp:
              (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
              (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
                  New, empty implementations of media engine closed caption functions.
              (WebCore::MediaPlayer::hasClosedCaptions):
              (WebCore::MediaPlayer::setClosedCaptionsVisible):
                  New, call media engine closed caption functions.
      
              * platform/graphics/MediaPlayer.h:
              * platform/graphics/MediaPlayerPrivate.h:
              (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
              (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
                  Declare new media engine methods.
      
              * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              (WebCore::MediaPlayerPrivate::hasClosedCaptions):
              (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
                  New, QTKit implementation of closed caption methods.
      
              * platform/gtk/LocalizedStringsGtk.cpp:
              (WebCore::localizedMediaControlElementString):
              (WebCore::localizedMediaControlElementHelpText):
                  Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
      
              * platform/mac/WebCoreSystemInterface.h:
              * platform/mac/WebCoreSystemInterface.mm:
                  Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
      
              * rendering/MediaControlElements.cpp:
              (WebCore::MediaControlInputElement::MediaControlInputElement):
                  Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
              (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
              (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
              (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
                  New, implement the closed caption toggle button,
      
              * rendering/MediaControlElements.h:
                  Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
                  declare MediaControlToggleClosedCaptionsButtonElement.
      
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMedia::styleDidChange):
              (WebCore::RenderMedia::createToggleClosedCaptionsButton):
              (WebCore::RenderMedia::createStatusDisplay):
              (WebCore::RenderMedia::updateControls):
              (WebCore::RenderMedia::forwardEvent):
              * rendering/RenderMedia.h:
                  Deal with m_toggleClosedCaptionsButton.
      
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::paint):
                  Deal with MediaToggleClosedCaptionsButtonPart.
      
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.h:
                  Declare paintMediaToggleClosedCaptionsButton.
      
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
                  New.
              (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
                  Don't render captions toggle button unless we are using the new theme, the
                  movie has captions, and the movie is in a <video> element since we currently
                  rely on QTKit to render the captions.
      
              * rendering/style/RenderStyleConstants.h:
                  Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
      
      2009-11-19  Eric Carlson  <eric.carlson@apple.com>
      
              Reviewed by Dan Bernstein.
      
              <rdar://problem/7035231>
              Support closed caption in <video> element
      
              * media/media-captions-expected.txt: Added.
              * media/media-captions.html: Added.
              * media/content/counting-captioned.mov: Added.
      
              * platform/gtk/Skipped:
              * platform/mac-leopard/Skipped:
              * platform/mac-tiger/Skipped:
              * platform/win/Skipped:
                  Skipped on platforms that don't support closed captions yet.
      
      2009-11-19  Eric Carlson  <eric.carlson@apple.com>
      
              Reviewed by Dan Bernstein.
      
              <rdar://problem/7035231>
              Support closed caption in <video> element
      
              * English.lproj/Localizable.strings:
                  Add strings for toggle captions button.
      
      2009-11-19  Eric Carlson  <eric.carlson@apple.com>
      
              Reviewed by Dan Bernstein.
      
              <rdar://problem/7035231>
              Support closed caption in <video> element
      
              * WebCoreSupport/WebSystemInterface.m:
              (InitWebCoreSystemInterface):
                  Add QTMovieHasClosedCaptions and QTMovieSetShowClosedCaptions.
      
              * WebCoreSupport/WebViewFactory.mm:
              (-[WebViewFactory localizedMediaControlElementString:]):
              (-[WebViewFactory localizedMediaControlElementHelpText:]):
                  Add accessibility help strings for media controller closed caption button.
      
      2009-11-19  Eric Carlson  <eric.carlson@apple.com>
      
              Reviewed by Dan Bernstein.
      
              <rdar://problem/7035231>
              Support closed caption in <video> element
      
              * WebCoreLocalizedStrings.cpp:
              (WebCore::localizedMediaControlElementString):
              (WebCore::localizedMediaControlElementHelpText):
                  Add accessibility help strings for media controller closed caption button.
      
      2009-11-19  Eric Carlson  <eric.carlson@apple.com>
      
              Reviewed by Dan Bernstein.
      
              <rdar://problem/7035231>
              Support closed caption in <video> element
      
              * WebKitSystemInterface.h:
                  Add prototypes for WKQTMovieHasClosedCaptions and WKQTMovieSetShowClosedCaptions,
                  define WKMediaUIPartToggleClosedCaptionsButton.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f2f9c6c
  9. 18 Nov, 2009 2 commits
    • tkent@chromium.org's avatar
      2009-11-18 Michelangelo De Simone <micdesim@gmail.com> · cb15037f
      tkent@chromium.org authored
              Reviewed by Darin Adler.
      
              Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
              Support for validationMessage attribute, as per HTML5 specs.
      
              * fast/dom/domListEnumeration-expected.txt: updated with new property
              * fast/dom/script-tests/domListEnumeration.js: ditto
              * fast/forms/script-tests/validationMessage.js: Added.
              * fast/forms/validationMessage-expected.txt: Added.
              * fast/forms/validationMessage.html: Added.
              * platform/gtk/Skipped:
              * platform/qt/Skipped:
              * platform/win/Skipped:
      2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
      
              Reviewed by Darin Adler.
      
              Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
              Support for validationMessage attribute, as per HTML5 specs.
      
              Test: fast/forms/validationMessage.html
      
              * html/HTMLButtonElement.idl: validationMessage attribute
              * html/HTMLFieldSetElement.idl: validationMessage attribute
              * html/HTMLFormControlElement.cpp:
              * html/HTMLFormControlElement.h:
              * html/HTMLInputElement.idl: validationMessage attribute
              * html/HTMLSelectElement.idl: validationMessage attribute
              * html/HTMLTextAreaElement.idl: validationMessage attribute
              * html/ValidityState.cpp: new method to retrieve pertinent localized text
              * html/ValidityState.h:
              * page/mac/WebCoreViewFactory.h:
              * platform/LocalizedStrings.h:
              * platform/android/LocalizedStringsAndroid.cpp:
              * platform/gtk/LocalizedStringsGtk.cpp:
              * platform/haiku/LocalizedStringsHaiku.cpp:
              * platform/mac/LocalizedStringsMac.mm:
              * platform/wx/LocalizedStringsWx.cpp:
      2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
      
              Reviewed by Darin Adler.
      
              Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
              Support for validationMessage attribute, as per HTML5 specs.
      
              * English.lproj/Localizable.strings: new localizable strings
      2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
      
              Reviewed by Darin Adler.
      
              Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
              Support for validationMessage attribute, as per HTML5 specs.
      
              * src/LocalizedStrings.cpp:
              (WebCore::validationMessageValueMissingText):
              (WebCore::validationMessageTypeMismatchText):
              (WebCore::validationMessagePatternMismatchText):
              (WebCore::validationMessageTooLongText):
              (WebCore::validationMessageRangeUnderflowText):
              (WebCore::validationMessageRangeOverflowText):
              (WebCore::validationMessageStepMismatchText):
      2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
      
              Reviewed by Darin Adler.
      
              Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
              Support for validationMessage attribute, as per HTML5 specs.
      
              * WebCoreSupport/WebViewFactory.mm:
              (-[WebViewFactory validationMessageValueMissingText]):
              (-[WebViewFactory validationMessageTypeMismatchText]):
              (-[WebViewFactory validationMessagePatternMismatchText]):
              (-[WebViewFactory validationMessageTooLongText]):
              (-[WebViewFactory validationMessageRangeUnderflowText]):
              (-[WebViewFactory validationMessageRangeOverflowText]):
              (-[WebViewFactory validationMessageStepMismatchText]):
      2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
      
              Reviewed by Darin Adler.
      
              Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
              Support for validationMessage attribute, as per HTML5 specs.
      
              * WebCoreLocalizedStrings.cpp:
              (WebCore::validationMessageValueMissingText):
              (WebCore::validationMessageTypeMismatchText):
              (WebCore::validationMessagePatternMismatchText):
              (WebCore::validationMessageTooLongText):
              (WebCore::validationMessageRangeUnderflowText):
              (WebCore::validationMessageRangeOverflowText):
              (WebCore::validationMessageStepMismatchText):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb15037f
    • eric@webkit.org's avatar
      2009-11-18 Daniel Bates <dbates@webkit.org> · 6e55fa23
      eric@webkit.org authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=31186
      
              Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
              m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
              These are more descriptive names so as to clear an ambiguity surrounding
              their usage. Also, renames associated setters and getters so that they
              coincide with the renamed fields.
      
              No functionality was changed. So, no tests were included.
      
              * bindings/objc/DOMHTML.mm:
              (-[DOMHTMLInputElement _isEdited]):
              (-[DOMHTMLTextAreaElement _isEdited]):
              * dom/Document.cpp:
              (WebCore::Document::setFocusedNode):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::defaultEventHandler):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::RenderTextControl):
              (WebCore::RenderTextControl::setInnerTextValue):
              (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
              (WebCore::RenderTextControl::subtreeHasChanged):
              * rendering/RenderTextControl.h:
              (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
              (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
              (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
              * rendering/RenderTextControlSingleLine.cpp:
              (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
              * wml/WMLInputElement.cpp:
              (WebCore::WMLInputElement::defaultEventHandler):
      2009-11-18  Daniel Bates  <dbates@webkit.org>
      
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=31186
      
              Changes associated with renaming RenderTextControl::isUserEdited.
      
              * DOMHTMLClasses.cpp:
              (DOMHTMLInputElement::isUserEdited): Formerly named isUserEdited.
              (DOMHTMLTextAreaElement::isUserEdited): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e55fa23
  10. 17 Nov, 2009 9 commits
    • jhoneycutt@apple.com's avatar
      Implement DOMHTMLInputElement::replaceCharactersInRange(). · 037271df
      jhoneycutt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=31492
      
      Reviewed by Dan Bernstein.
      
      * DOMHTMLClasses.cpp:
      (DOMHTMLInputElement::replaceCharactersInRange):
      Get the text of the input field. Replace the given range with the
      replacement text, and set this new string as the input element's value.
      Select from index to the end of the field. This matches the
      implementation in the Obj-C bindings.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      037271df
    • jhoneycutt@apple.com's avatar
      DOMHTMLOptionElement is missing some functionality. · ed26f53c
      jhoneycutt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=31491
      
      Reviewed by Dan Bernstein.
      
      * DOMHTMLClasses.cpp:
      (DOMHTMLOptionElement::text):
      Cast m_element to an HTMLOptionElement, and call its text() function.
      (DOMHTMLOptionElement::label):
      Ditto, for label().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed26f53c
    • jhoneycutt@apple.com's avatar
      DOMHTMLSelectElement is missing some implementation. · 7afd6f3a
      jhoneycutt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=31489
      
      Reviewed by Dan Bernstein.
      
      * DOMHTMLClasses.cpp:
      (DOMHTMLSelectElement::options):
      Cast m_element to an HTMLSelectElement. If it has no options, return
      E_FAIL. Otherwise, create a DOMHTMLOptionsCollection to wrap the
      options, and return it.
      (DOMHTMLSelectElement::activateItemAtIndex):
      If the index is out of bounds, return E_FAIL. Otherwise, select the
      item.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7afd6f3a
    • jhoneycutt@apple.com's avatar
      DOMHTMLOptionsCollection is missing some implementation. · d057b0ae
      jhoneycutt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=31488
      
      Reviewed by Dan Bernstein.
      
      * DOMHTMLClasses.cpp:
      (DOMHTMLOptionsCollection::DOMHTMLOptionsCollection):
      Initialize m_collection.
      (DOMHTMLOptionsCollection::createInstance):
      Create a DOMHTMLOptionsCollection. If we fail to query for
      IDOMHTMLOptionsCollection, delete it, and return 0. Otherwise, return
      the result.
      (DOMHTMLOptionsCollection::length):
      (DOMHTMLOptionsCollection::item):
      Create a DOMNode for the WebCore Node. If this is 0, return E_FAIL.
      (DOMHTMLOptionsCollection::namedItem):
      Correct the signature of this function.
      
      * DOMHTMLClasses.h:
      Declare DOMHTMLOptionsCollection::createInstance(). Correct the
      signature of namedItem() to match IDOMHTMLOptionsCollection. Add a
      member to DOMHTMLOptionsCollection to hold the WebCore object.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d057b0ae
    • jhoneycutt@apple.com's avatar
      DOMHTMLInputElement::rectOnScreen() returns the wrong rect · 691c348e
      jhoneycutt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=31487
      
      Reviewed by Darin Adler.
      
      * DOMHTMLClasses.cpp:
      (DOMHTMLInputElement::rectOnScreen):
      Return the rect on screen, not the rect in the window.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      691c348e
    • bfulgham@webkit.org's avatar
      Correct build error in Debug_Cairo target after @49705. · d1528016
      bfulgham@webkit.org authored
      Reviewed by NOBODY - Build Fix.
      
      * WebKit.vcproj/WebKit.vcproj: Revise JavaScriptCore.lib
        dependency to have proper "_debug" suffix needed by
        the Debug_Cairo target.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1528016
    • bweinstein@apple.com's avatar
      Touch files to try to fix the build. · a9338a70
      bweinstein@apple.com authored
      Reviewed by NOBODY - Build Fix.
      
      * Interfaces/IWebInspector.idl:
      * Interfaces/WebKit.idl:
      * WebKit.vcproj/Interfaces.vcproj:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9338a70
    • pfeldman@chromium.org's avatar
      2009-11-17 Pavel Feldman <pfeldman@chromium.org> · 911c3fa5
      pfeldman@chromium.org authored
              Not reviewed, build fix. Follow up to r51072: rename skipped entries
              for the tests that were moved. Also skipped console tests on GTK
              while investigating and touched Interfaces.vcproj to clobber win bot.
              
              * platform/gtk/Skipped:
              * platform/qt/Skipped:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      911c3fa5
    • pfeldman@chromium.org's avatar
      2009-11-17 Pavel Feldman <pfeldman@chromium.org> · 11691c05
      pfeldman@chromium.org authored
              Reviewed by Timothy Hatcher.
      
              Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
              - Updated DRT to show/close inspector for all tests under /inspector
              - Introduced LayoutTestController::setTimelineProfilingEnabled and
                WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
              - Removed reload on each inspector test
              - Renamed fast/inspector to fast/inspector-support in order not to trigger
              inspector for those.
              - Reimplemented timeline tests in order to get rid of reload there.
              - Moved tests that don't require harness into the fast group.
      
              https://bugs.webkit.org/show_bug.cgi?id=31472
      
              WebCore:
              * WebCore.Inspector.exp:
              * inspector/front-end/TimelinePanel.js:
              (WebInspector.TimelinePanel.prototype._formatRecord):
      
              WebKitTools:
              * DumpRenderTree/LayoutTestController.cpp:
              (setTimelineProfilingEnabledCallback):
              (closeWebInspectorCallback):
              (LayoutTestController::staticFunctions):
              * DumpRenderTree/LayoutTestController.h:
              * DumpRenderTree/gtk/DumpRenderTree.cpp:
              (shouldOpenWebInspector):
              (runTest):
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::setTimelineProfilingEnabled):
              * DumpRenderTree/mac/DumpRenderTree.mm:
              (shouldOpenWebInspector):
              (runTest):
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::setTimelineProfilingEnabled):
              * DumpRenderTree/win/DumpRenderTree.cpp:
              (shouldOpenWebInspector):
              (runTest):
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::setTimelineProfilingEnabled):
      
              LayoutTests:
              * fast/inspector-support/cssURLQuotes-expected.txt: Renamed from LayoutTests/fast/inspector/cssURLQuotes-expected.txt.
              * fast/inspector-support/cssURLQuotes.html: Renamed from LayoutTests/fast/inspector/cssURLQuotes.html.
              * fast/inspector-support/matchedrules.html: Renamed from LayoutTests/fast/inspector/matchedrules.html.
              * fast/inspector-support/style.html: Renamed from LayoutTests/fast/inspector/style.html.
              * fast/inspector-support/uncaught-dom1-exception-expected.txt: Renamed from LayoutTests/inspector/uncaught-dom1-exception-expected.txt.
              * fast/inspector-support/uncaught-dom1-exception.html: Renamed from LayoutTests/inspector/uncaught-dom1-exception.html.
              * fast/inspector-support/uncaught-dom3-exception-expected.txt: Renamed from LayoutTests/inspector/uncaught-dom3-exception-expected.txt.
              * fast/inspector-support/uncaught-dom3-exception.html: Renamed from LayoutTests/inspector/uncaught-dom3-exception.html.
              * fast/inspector-support/uncaught-dom8-exception-expected.txt: Renamed from LayoutTests/inspector/uncaught-dom8-exception-expected.txt.
              * fast/inspector-support/uncaught-dom8-exception.html: Renamed from LayoutTests/inspector/uncaught-dom8-exception.html.
              * inspector/inspector-test.js:
              (onload):
              (evaluateInWebInspector):
              (notifyDone):
              * inspector/resources/timeline-iframe-data.html: Added.
              * inspector/timeline-layout-expected.txt:
              * inspector/timeline-layout.html:
              * inspector/timeline-mark-timeline.html:
              * inspector/timeline-paint.html:
              * inspector/timeline-parse-html-expected.txt:
              * inspector/timeline-parse-html.html:
              * inspector/timeline-recalculate-styles-expected.txt:
              * inspector/timeline-recalculate-styles.html:
              * inspector/timeline-script-tag-1-expected.txt:
              * inspector/timeline-script-tag-1.html:
              * inspector/timeline-script-tag-2-expected.txt:
              * inspector/timeline-script-tag-2.html:
              * inspector/timeline-script-tag-2.js:
              * inspector/timeline-test.js:
              (printTimelineRecords):
              ():
              (dumpTimelineRecords):
              (printProps):
              (frontend_getTimelineResults):
      
              WebKit/mac:
              * WebInspector/WebInspector.h:
              * WebInspector/WebInspector.mm:
              (-[WebInspector isTimelineProfilingEnabled]):
              (-[WebInspector setTimelineProfilingEnabled:]):
      
              WebKit/win:
              * Interfaces/IWebInspector.idl:
              * WebInspector.cpp:
              (WebInspector::isTimelineProfilingEnabled):
              (WebInspector::setTimelineProfilingEnabled):
              * WebInspector.h:
      
              WebKit/gtk:
              * webkit/webkitwebinspector.cpp:
              (webkit_web_inspector_class_init):
              (webkit_web_inspector_set_property):
              (webkit_web_inspector_get_property):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11691c05
  11. 13 Nov, 2009 5 commits
    • aroben@apple.com's avatar
      Build fix · 0c28ae93
      aroben@apple.com authored
      * Interfaces/WebKit.idl: Touch this to force interfaces to rebuild.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c28ae93
    • aroben@apple.com's avatar
      Tell the WebFrameLoadDelegate when window objects in isolated worlds are cleared · 11dd5265
      aroben@apple.com authored
      Fixes <http://webkit.org/b/31124>.
      
      Reviewed by Dave Hyatt.
      
      WebCore:
      
      Tell FrameLoaderClient when window objects in isolated worlds are
      cleared
      
      Test: http/tests/security/isolatedWorld/didClearWindowObject.html
      
      * bindings/js/JSDOMBinding.h:
      (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
      worlds in m_worldSet to the passed-in Vector.
      
      * bindings/js/ScriptController.cpp:
      (WebCore::ScriptController::getAllWorlds): Added. Calls through to
      WebCoreJSClientData.
      (WebCore::ScriptController::initScript): Changed to call
      FrameLoader::dispatchDidClearWindowObjectInWorld.
      
      * bindings/js/ScriptController.h: Added getAllWorlds.
      
      * loader/EmptyClients.h:
      (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
      Updated for FrameLoaderClient change.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::receivedFirstData):
      (WebCore::FrameLoader::begin):
      Changed to call dispatchDidClearWindowObjectsInAllWorlds.
      
      (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
      Added. Retrieves all the worlds, then calls through to
      dispatchDidClearWindowObjectInWorld for each one.
      (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
      dispatchWindowObjectAvailable. Calls up to the client, then, if the
      world is the mainThreadNormalWorld(), tells the Inspector about it,
      too.
      
      * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
      dispatchDidClearWindowObjectInWorld. Added
      dispatchDidClearWindowObjectsInAllWorlds.
      
      * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
      dispatchDidClearWindowObjectForWorld.
      
      WebKit:
      
      Add WebFrameLoadDelegatePrivat.h to WebKit.xcodeproj
      
      * WebKit.xcodeproj/project.pbxproj: Added
      WebFrameLoadDelegatePrivate.h, which already existed.
      
      WebKit/gtk:
      
      Update for changes to FrameLoaderClient
      
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
      * WebCoreSupport/FrameLoaderClientGtk.h:
      Replaced windowObjectCleared with this function. Does nothing if the
      passed-in world is not the mainThreadNormalWorld().
      
      WebKit/haiku:
      
      Update for changes to FrameLoaderClient
      
      * WebCoreSupport/FrameLoaderClientHaiku.cpp:
      (WebCore::FrameLoaderClientHaiku::dispatchDidClearWindowObjectInWorld):
      * WebCoreSupport/FrameLoaderClientHaiku.h:
      Replaced windowObjectCleared with this function. Does nothing if the
      passed-in world is not the mainThreadNormalWorld().
      
      WebKit/mac:
      
      * WebCoreSupport/WebFrameLoaderClient.h:
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
      Replaced windowObjectCleared with this function. If the delegate
      implements it, call
      -webView:didClearWindowObjectForFrame:inScriptWorld:. Otherwise, if
      the passed-in world is the mainThreadNormalWorld(), call
      -webView:didClearWindowObject:forFrame:.
      
      * WebView/WebDelegateImplementationCaching.h: Added a new entry in the
      frame load delegate implementation cache for the new delegate method.
      
      * WebView/WebFrameLoadDelegatePrivate.h:
      * WebView/WebScriptWorld.mm:
      (allWorlds): Added. Returns a HashMap of all the WebScriptWorlds in
      existence.
      (-[WebScriptWorld initWithWorld:]): Add ourselves to allWorlds().
      (-[WebScriptWorld dealloc]): Remove ourselves from allWorlds().
      (+[WebScriptWorld findOrCreateWorld:]): Returns the existing
      WebScriptWorld for this DOMWrapperWorld, or a new one if one doesn't
      already exist.
      
      * WebView/WebScriptWorldInternal.h: Declared +findOrCreateWorld:.
      
      * WebView/WebView.mm:
      (-[WebView _cacheFrameLoadDelegateImplementations]): Cache the
      implementation of the new frame load delegate method.
      
      WebKit/qt:
      
      Update for changes to FrameLoaderClient
      
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      (WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
      * WebCoreSupport/FrameLoaderClientQt.h:
      Replaced windowObjectCleared with this function. Does nothing if the
      passed-in world is not the mainThreadNormalWorld().
      
      WebKit/win:
      
      * Interfaces/IWebFrameLoadDelegatePrivate2.idl: Added
      didClearWindowObjectForFrameInScriptWorld.
      
      * WebFrame.cpp:
      (WebFrame::dispatchDidClearWindowObjectInWorld):
      * WebFrame.h:
      Replaced windowObjectCleared with this function. If the delegate
      implements IWebFrameLoadDelegatePrivate2, call
      didClearWindowObjectForFrameInScriptWorld. Otherwise, if the passed-in
      world is the mainThreadNormalWorld(), call
      didClearWindowObjectForFrame.
      
      * WebScriptWorld.cpp:
      (allWorlds): Added. Returns a HashMap of all the WebScriptWorlds in
      existence.
      (WebScriptWorld::WebScriptWorld): Add ourselves to allWorlds().
      (WebScriptWorld::~WebScriptWorld): Remove ourselves from allWorlds().
      (WebScriptWorld::standardWorld): Added this non-COM getter for the
      standard world, which the COM getter now calls through to.
      (WebScriptWorld::findOrCreateWorld): Added. Returns the existing
      WebScriptWorld for this DOMWrapperWorld, or a new one if one doesn't
      already exist.
      
      * WebScriptWorld.h: Added new standardWorld overload, made one
      overload of createInstance private, and added findOrCreateWorld.
      
      WebKit/wx:
      
      Update for changes to FrameLoaderClient
      
      * WebKitSupport/FrameLoaderClientWx.cpp:
      (WebCore::FrameLoaderClientWx::dispatchDidClearWindowObjectInWorld):
      * WebKitSupport/FrameLoaderClientWx.h:
      Replaced windowObjectCleared with this function. Does nothing if the
      passed-in world is not the mainThreadNormalWorld().
      
      WebKitTools:
      
      Add support for
      http/tests/security/isolatedWorld/didClearWindowObject.html
      
      * DumpRenderTree/mac/DumpRenderTreeMac.h: Declared worldIDForWorld.
      
      * DumpRenderTree/mac/FrameLoadDelegate.mm:
      (-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
      Added. Moved code here from -webView:didClearWindowObject:forFrame:.
      (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
      Added. Sets a __worldID property on the global object whose value is
      the ID of this world.
      (-[FrameLoadDelegate webView:didClearWindowObjectForFrame:inScriptWorld:]):
      Respond to this new delegate callback by calling through to one of the
      above new methods.
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (worldMap): Added. Returns a HashMap containing all the worlds we've
      created.
      (worldIDForWorld): Added. Returns the ID for this world, or 0 if we
      haven't kept track of this world.
      (LayoutTestController::evaluateScriptInIsolatedWorld): Use worldMap()
      instead of declaring our own.
      
      * DumpRenderTree/win/DumpRenderTreeWin.h: Declared worldIDForWorld.
      
      * DumpRenderTree/win/FrameLoadDelegate.cpp:
      (FrameLoadDelegate::didClearWindowObject): Moved code from hear to
      didClearWindowObjectForFrameInStandardWorld.
      (FrameLoadDelegate::didClearWindowObjectForFrameInScriptWorld):
      Respond to this new delegate callback by calling through to one of the
      below new methods.
      (FrameLoadDelegate::didClearWindowObjectForFrameInIsolatedWorld):
      Added. Sets a __worldID property on the gobal object whose value is
      the ID of this world.
      (FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld):
      Added. Moved code here from didClearWindowObject.
      
      * DumpRenderTree/win/FrameLoadDelegate.h: Added the
      didClearWindowObjectForFrame* functions.
      
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (worldMap): Added. Returns a HashMap containing all the worlds we've
      created.
      (worldIDForWorld): Added. Returns the ID of this world, or 0 if we
      haven't kept track of this world.
      (LayoutTestController::evaluateScriptInIsolatedWorld): Use worldMap()
      instead of declaring our own.
      
      LayoutTests:
      
      Test that delegates can modify global objects in isolated worlds
      
      * http/tests/security/isolatedWorld/didClearWindowObject-expected.txt: Added.
      * http/tests/security/isolatedWorld/didClearWindowObject.html: Added.
      Tests that the global object in the normal world does not have a
      __worldID property, and that the global object in isolated worlds has
      a __worldID property whose value is equal to the world's ID.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11dd5265
    • aroben@apple.com's avatar
      Build fix · 431fee8e
      aroben@apple.com authored
      * Interfaces/WebKit.idl: Un-sort the #includes again. Apparently they
      are order-dependent!
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      431fee8e
    • aroben@apple.com's avatar
      Touch WebKit.idl to fix the Windows build · 7ed699da
      aroben@apple.com authored
      * Interfaces/WebKit.idl: Sorted #includes.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ed699da
    • aroben@apple.com's avatar
      Finish replacing worldIDs with world objects · 6527ab5d
      aroben@apple.com authored
      The only remaining use of worldIDs was in a method only used by DRT
      for the isolated worlds tests.
      
      Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects
      
      Reviewed by Mark Rowe.
      
      WebKit/mac:
      
      * WebView/WebFrame.mm:
      (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
      * WebView/WebFramePrivate.h:
      Renamed from
      _stringByEvaluatingJavaScriptInIsolatedWorld:WithGobalObject:FromString:.
      Now takes a WebScriptWorld instead of a worldID, so we don't need to
      maintain a map of worldID -> world anymore.
      
      WebKit/win:
      
      * Interfaces/IWebFramePrivate.idl:
      * WebFrame.cpp:
      (WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
      * WebFrame.h:
      Renamed from stringByEvaluatingJavaScriptInIsolatedWorld. Now takes an
      IWebScriptWorld instead of a worldID, so we don't need to maintain a
      map of worldID -> world anymore.
      
      WebKitTools:
      
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::evaluateScriptInIsolatedWorld):
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::evaluateScriptInIsolatedWorld):
      Updated for changes to WebFrame. Now holds the map of worldID -> world
      at this level instead of making WebKit do it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6527ab5d
  12. 12 Nov, 2009 3 commits
    • hamaji@chromium.org's avatar
      2009-11-12 Shinichiro Hamaji <hamaji@chromium.org> · e6331aa6
      hamaji@chromium.org authored
              Reviewed by Darin Adler.
      
              externalRepresentation should take Frame as the argument
              https://bugs.webkit.org/show_bug.cgi?id=31393
      
              No new tests as this is just a refactoring.
      
              * WebCore.base.exp:
              * rendering/RenderTreeAsText.cpp:
              (WebCore::externalRepresentation):
              * rendering/RenderTreeAsText.h:
      2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
      
              Reviewed by Darin Adler.
      
              externalRepresentation should take Frame as the argument
              https://bugs.webkit.org/show_bug.cgi?id=31393
      
              No new tests as this is just a refactoring.
      
              * webkit/webkitwebframe.cpp:
              (webkit_web_frame_dump_render_tree):
      2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
      
              Reviewed by Darin Adler.
      
              externalRepresentation should take Frame as the argument
              https://bugs.webkit.org/show_bug.cgi?id=31393
      
              No new tests as this is just a refactoring.
      
              * Misc/WebCoreStatistics.mm:
              (-[WebFrame renderTreeAsExternalRepresentation]):
      2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
      
              Reviewed by Darin Adler.
      
              externalRepresentation should take Frame as the argument
              https://bugs.webkit.org/show_bug.cgi?id=31393
      
              No new tests as this is just a refactoring.
      
              * Api/qwebframe.cpp:
              (QWebFrame::renderTreeDump):
      2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
      
              Reviewed by Darin Adler.
      
              externalRepresentation should take Frame as the argument
              https://bugs.webkit.org/show_bug.cgi?id=31393
      
              No new tests as this is just a refactoring.
      
              * WebFrame.cpp:
              (WebFrame::renderTreeAsExternalRepresentation):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6331aa6
    • aroben@apple.com's avatar
      Replace worldIDs with world objects · f6cbb76a
      aroben@apple.com authored
      Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
      user scripts/stylesheets and isolated worlds
      
      Reviewed by Sam Weinig.
      
      WebCore:
      
      Covered by existing tests.
      
      * WebCore.base.exp: Update exported symbols to match what now exists
      and is needed by WebKit.
      
      * bindings/js/ScheduledAction.cpp:
      (WebCore::ScheduledAction::execute): Updated for function rename.
      
      * bindings/js/ScriptController.cpp: Removed code that dealt with
      worldIDs.
      (WebCore::ScriptController::createWorld): Added. Returns a new world
      suitable for use on the main thread.
      (WebCore::ScriptController::executeScriptInWorld): Renamed from
      executeScriptInIsolatedWorld, since this works just fine with a
      "normal" world.
      
      * bindings/js/ScriptController.h: Added createWorld, removed functions
      that took worldIDs, renamed executeScriptInIsolatedWorld to
      executeScriptInWorld.
      
      * page/Frame.cpp:
      (WebCore::Frame::injectUserScripts):
      (WebCore::Frame::injectUserScriptsForWorld):
      Updated for changes to UserScriptMap and ScriptController.
      
      * page/Frame.h: Changed injectUserScriptsForWorld to take a
      DOMWrapperWorld* instead of a worldID.
      
      * page/PageGroup.cpp:
      (WebCore::PageGroup::addUserScriptToWorld):
      (WebCore::PageGroup::addUserStyleSheetToWorld):
      (WebCore::PageGroup::removeUserScriptFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetFromWorld):
      (WebCore::PageGroup::removeUserScriptsFromWorld):
      (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
      * page/PageGroup.h:
      Changed these functions to take a DOMWrapperWorld* instead of a
      worldID. Also updated for changes to UserScript and UserStyleSheet.
      
      * page/UserScript.h:
      * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
      never used.
      
      * page/UserScriptTypes.h:
      * page/UserStyleSheetTypes.h: Changed UserScriptMap and
      UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
      worldID as their key type.
      
      WebKit:
      
      * WebKit.xcodeproj/project.pbxproj: Added WebScriptWorld to the project.
      
      WebKit/mac:
      
      WebScriptWorld is the new object that represents a world.  The only
      place worldID is still used is in -[WebFrame
      _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:],
      but that will change soon.
      
      * WebKit.exp: Export WebScriptWorld.
      
      * WebView/WebFrame.mm:
      (-[WebFrame _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:]):
      Moved the bizarre world caching/creation logic that DRT depends on
      here from the findWorld function in ScriptController.cpp. Updated to
      use ScriptController::executeScriptInWorld instead of
      ScriptController::executeScriptInIsolatedWorld.
      (-[WebFrame _contextForWorld:]): Renamed from contextForWorldID:. Now
      takes a WebScriptWorld.
      
      * WebView/WebFramePrivate.h: Replaced contextForWorldID: with
      _contextForWorld:.
      
      * WebView/WebScriptWorld.h: Added.
      * WebView/WebScriptWorld.mm: Added.
      (-[WebScriptWorld initWithWorld:]): Store the passed-in world in our
      _private member.
      (-[WebScriptWorld init]): Create a new DOMWrapperWorld and pass it to
      -initWithWorld:.
      (-[WebScriptWorld dealloc]): Release _private.
      (+[WebScriptWorld standardWorld]): Returns a shared instance that
      represents WebCore's mainThreadNormalWorld().
      (+[WebScriptWorld world]): Returns a new instance.
      (core): Returns the DOMWrapperWorld for this WebScriptWorld.
      
      * WebView/WebScriptWorldInternal.h: Added.
      
      * WebView/WebView.mm:
      (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
      (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
      (+[WebView _removeUserScriptFromGroup:world:url:]):
      (+[WebView _removeUserStyleSheetFromGroup:world:url:]):
      (+[WebView _removeUserScriptsFromGroup:world:]):
      (+[WebView _removeUserStyleSheetsFromGroup:world:]):
      * WebView/WebViewPrivate.h:
      Changed these functions to take a WebScriptWorld instead of a worldID.
      
      WebKit/win:
      
      WebScriptWorld is the new object that represents a world.  The only
      place worldID is still used is in
      IWebFramePrivate::stringByEvaluatingJavaScriptInIsolatedWorld, but
      that will change soon.
      
      * ForEachCoClass.h: Added WebScriptWorld.
      
      * Interfaces/IWebFramePrivate.idl: Replaced contextForWorldID with
      contextForWorld.
      
      * Interfaces/IWebScriptWorld.idl: Added.
      
      * Interfaces/IWebViewPrivate.idl: Changed the user script/stylesheet
      functions to take an IWebScriptWorld instead of a worldID.
      
      * Interfaces/WebKit.idl: Added WebScriptWorld.
      
      * WebFrame.cpp:
      (WebFrame::contextForWorld): Renamed from contextForWorldID. Now takes
      an IWebScriptWorld.
      (WebFrame::stringByEvaluatingJavaScriptInIsolatedWorld): Moved the
      bizarre world caching/creation logic that DRT depends on here from the
      findWorld function in ScriptController.cpp. Updated to use
      ScriptController::executeScriptInWorld instead of
      ScriptController::executeScriptInIsolatedWorld.
      
      * WebFrame.h: Replaced contextForWorldID with contextForWorld.
      
      * WebScriptWorld.cpp: Added.
      (WebScriptWorld::WebScriptWorld):
      (WebScriptWorld::~WebScriptWorld):
      (WebScriptWorld::createInstance):
      (WebScriptWorld::AddRef):
      (WebScriptWorld::Release):
      (WebScriptWorld::QueryInterface):
      Standard COM class implementations.
      
      (WebScriptWorld::standardWorld): Returns a shared instance that represents
      WebCore's mainThreadNormalWorld().
      
      * WebScriptWorld.h: Added.
      (WebScriptWorld::world): Simple getter.
      
      * WebKit.vcproj/Interfaces.vcproj: Added IWebScriptWorld.idl.
      
      * WebKit.vcproj/WebKit.vcproj: Added WebScriptWorld.
      
      * WebKitClassFactory.cpp: Added WebScriptWorld.
      
      * WebView.cpp:
      (WebView::addUserScriptToGroup):
      (WebView::addUserStyleSheetToGroup):
      (WebView::removeUserScriptFromGroup):
      (WebView::removeUserStyleSheetFromGroup):
      (WebView::removeUserScriptsFromGroup):
      (WebView::removeUserStyleSheetsFromGroup):
      * WebView.h:
      Changed these functions to take an IWebScriptWorld instead of a worldID.
      
      WebKitTools:
      
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      (LayoutTestController::addUserScript):
      (LayoutTestController::addUserStyleSheet):
      * DumpRenderTree/win/LayoutTestControllerWin.cpp:
      (LayoutTestController::addUserScript):
      (LayoutTestController::addUserStyleSheet):
      Changed these functions to create a new WebJSWorld each time they're
      called and to pass that world to WebKit.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6cbb76a
    • aroben@apple.com's avatar
      Small clean-up in WebView's user content functions · b3145606
      aroben@apple.com authored
      Preparation for <http://webkit.org/b/31414> Implement new SPI for
      dealing with user scripts/stylesheets and isolated worlds
      
      Reviewed by Dave Hyatt.
      
      * WebView.cpp:
      (toString):
      (toKURL):
      Added these helper functions to convert BSTRs to WebCore types.
      
      (toStringVector):
      (WebView::addUserScriptToGroup):
      (WebView::addUserStyleSheetToGroup):
      (WebView::removeUserScriptFromGroup):
      (WebView::removeUserStyleSheetFromGroup):
      (WebView::removeUserScriptsFromGroup):
      (WebView::removeUserStyleSheetsFromGroup):
      (WebView::removeAllUserContentFromGroup):
      Use the new helper functions.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b3145606