1. 24 Jul, 2012 31 commits
    • annacc@chromium.org's avatar
      Create SourceBuffer and SourceBufferList objects · c6373300
      annacc@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91771
      
      Reviewed by Eric Carlson.
      
      SourceBuffer and SourceBufferList objects are needed in order to
      implement the new object-oriented MediaSource API:
      http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
      
      No new tests - will be able to test after landing BUGWK91775
      
      Adding new files to build files:
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcproj/WebCoreCommon.vsprops:
      * WebCore.vcproj/copyForwardingHeaders.cmd:
      * WebCore.xcodeproj/project.pbxproj:
      
      New objects:
      * Modules/mediasource/SourceBuffer.cpp: Added.
      * Modules/mediasource/SourceBuffer.h: Added.
      * Modules/mediasource/SourceBuffer.idl: Added.
      * Modules/mediasource/SourceBufferList.cpp: Added.
      * Modules/mediasource/SourceBufferList.h: Added.
      * Modules/mediasource/SourceBufferList.idl: Added.
      
      New events:
      * dom/EventNames.h:
      (WebCore):
      * dom/EventTarget.h:
      (WebCore):
      * dom/EventTargetFactory.in:
      
      Object constructors:
      * page/DOMWindow.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123522 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6373300
    • paroga@webkit.org's avatar
      Store the full year in GregorianDateTime · 683889fe
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92067
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Use the full year instead of the offset from year 1900
      for the year member variable of GregorianDateTime.
      
      * runtime/DateConstructor.cpp:
      (JSC::constructDate):
      (JSC::dateUTC):
      * runtime/DateConversion.cpp:
      (JSC::formatDate):
      (JSC::formatDateUTCVariant):
      * runtime/DatePrototype.cpp:
      (JSC::formatLocaleDate):
      (JSC::fillStructuresUsingDateArgs):
      (JSC::dateProtoFuncToISOString):
      (JSC::dateProtoFuncGetFullYear):
      (JSC::dateProtoFuncGetUTCFullYear):
      (JSC::dateProtoFuncSetYear):
      * runtime/JSDateMath.cpp:
      (JSC::gregorianDateTimeToMS):
      (JSC::msToGregorianDateTime):
      
      Source/WebCore:
      
      Use the full year instead of the offset from year 1900
      for the year member variable of GregorianDateTime.
      
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::convertValueToQVariant):
      (JSC::Bindings::convertQVariantToValue):
      * bridge/qt/qt_runtime_qt4.cpp:
      (JSC::Bindings::convertValueToQVariant):
      (JSC::Bindings::convertQVariantToValue):
      
      Source/WTF:
      
      Use the full year instead of the offset from year 1900
      for the year member variable of GregorianDateTime.
      
      * wtf/GregorianDateTime.h:
      (WTF::GregorianDateTime::operator tm):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      683889fe
    • benjamin@webkit.org's avatar
      Do not perform 8 to 16bits characters conversion when converting a WTFString to NSString/CFString · f3271352
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90720
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-07-24
      Reviewed by Geoffrey Garen.
      
      In most String to CFString conversion, we should be able to use the "NoCopy" constructor and have
      a relatively cheap conversion from WTF::String to CFString.
      
      When the String is 8 bits, it was converted to 16 bits by getData16SlowCase() because of the call
      to String::characters().
      
      This patch adds a path for creating a CFString from a 8bits string using CFStringCreateWithBytes.
      
      This is covered by existing tests.
      
      * platform/text/cf/StringCF.cpp:
      (WTF::String::createCFString): CFSTR() create static CFString, it is unecessary to retain it.
      * platform/text/cf/StringImplCF.cpp:
      (WTF::StringImpl::createCFString): The logic to avoid the StringWrapperCFAllocator has also been simplified.
      The allocator creation is now closer to where it is useful.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3271352
    • haraken@chromium.org's avatar
      [V8] String wrappers should be marked Independent · 9f06edfe
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91251
      
      Reviewed by Adam Barth.
      
      Currently V8 String wrappers are not marked Independent.
      By marking them Independent, they can be reclaimed by the scavenger GC.
      Although I couldn't find a case where this change reduces memory usage,
      this change would be important for upcoming changes in string conversion
      between V8 and WebKit (https://bugs.webkit.org/show_bug.cgi?id=91850).
      
      'm_lastStringImpl = 0' in StringCache::remove() is important.
      Look at the following code:
      
          static void cachedStringCallback(v8::Persistent<v8::Value> wrapper, void* parameter)
          {
              ...;
              stringCache()->remove(stringImpl);
              wrapper.Dispose();
          }
      
          void StringCache::remove(StringImpl* stringImpl)
          {
              ...
              if (m_lastStringImpl.get() == stringImpl)
                  m_lastStringImpl = 0;
          }
      
          v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, v8::Isolate* isolate)
          {
              if (m_lastStringImpl.get() == stringImpl) {
                  return v8::Local<v8::String>::New(m_lastV8String); // m_lastV8String points to a wrapper object that was accessed most recently.
              }
              return v8ExternalStringSlow(stringImpl, isolate);
          }
      
      Without 'm_lastStringImpl = 0', already disposed m_lastV8String can be used
      in v8ExternalString(). This was a cause of the crashes of r122614.
      
      Tests: At the initial commit of this patch (r122614),
             the following tests had been broken due to missing 'm_lastStringImpl = 0'.
             fast/workers/worker-location.html
             Dromaeo/cssquery-jquery.html
             Dromaeo/jslib-event-jquery.html
             Dromaeo/jslib-style-jquery.html
             Dromaeo/jslib-style-prototype.html
      
      * bindings/v8/V8Binding.cpp:
      (WebCore::StringCache::remove):
      (WebCore::StringCache::v8ExternalStringSlow):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f06edfe
    • tommyw@google.com's avatar
      MediaStream API: Update MediaStreamTrack to match the specification · 887c7bfe
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=90180
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      * chromium/public/WebMediaStreamDescriptor.h:
      (WebMediaStreamDescriptor):
      * chromium/public/WebMediaStreamSource.h:
      (WebMediaStreamSource):
      
      Source/WebCore:
      
      MediaStreamTracks are now required to show the status of the underlying source,
      and trigger events when that status changes.
      
      Test: fast/mediastream/MediaStreamTrack.html
      
      * GNUmakefile.list.am:
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::MediaStream):
      (WebCore::MediaStream::addTrack):
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::create):
      (WebCore::MediaStreamTrack::MediaStreamTrack):
      (WebCore::MediaStreamTrack::~MediaStreamTrack):
      (WebCore::MediaStreamTrack::setEnabled):
      (WebCore::MediaStreamTrack::readyState):
      (WebCore):
      (WebCore::MediaStreamTrack::sourceChangedState):
      (WebCore::MediaStreamTrack::stop):
      (WebCore::MediaStreamTrack::interfaceName):
      (WebCore::MediaStreamTrack::scriptExecutionContext):
      (WebCore::MediaStreamTrack::eventTargetData):
      (WebCore::MediaStreamTrack::ensureEventTargetData):
      * Modules/mediastream/MediaStreamTrack.h:
      * Modules/mediastream/MediaStreamTrack.idl:
      * WebCore.gypi:
      * dom/EventNames.h:
      (WebCore):
      * dom/EventTargetFactory.in:
      * platform/chromium/support/WebMediaStreamDescriptor.cpp:
      * platform/chromium/support/WebMediaStreamSource.cpp:
      (WebKit::WebMediaStreamSource::setReadyState):
      (WebKit):
      (WebKit::WebMediaStreamSource::readyState):
      * platform/mediastream/MediaStreamSource.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.h.
      (WebCore):
      (WebCore::MediaStreamSource::create):
      (WebCore::MediaStreamSource::MediaStreamSource):
      (WebCore::MediaStreamSource::setReadyState):
      (WebCore::MediaStreamSource::addObserver):
      (WebCore::MediaStreamSource::removeObserver):
      * platform/mediastream/MediaStreamSource.h:
      (Observer):
      (WebCore::MediaStreamSource::Observer::~Observer):
      (MediaStreamSource):
      (WebCore::MediaStreamSource::readyState):
      * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
      (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
      (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
      
      Tools:
      
      Adding a Mock WebMediaStreamCenter to enable better LayoutTests.
      
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp:
      (MockWebKitPlatformSupport::createMediaStreamCenter):
      * DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp: Added.
      (WebKit):
      (WebKit::MockWebMediaStreamCenter::MockWebMediaStreamCenter):
      (WebKit::MockWebMediaStreamCenter::queryMediaStreamSources):
      (WebKit::MockWebMediaStreamCenter::didEnableMediaStreamTrack):
      (WebKit::MockWebMediaStreamCenter::didDisableMediaStreamTrack):
      (WebKit::MockWebMediaStreamCenter::didStopLocalMediaStream):
      (WebKit::MockWebMediaStreamCenter::didCreateMediaStream):
      (WebKit::MockWebMediaStreamCenter::constructSDP):
      * DumpRenderTree/chromium/MockWebMediaStreamCenter.h: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp.
      (WebKit):
      (MockWebMediaStreamCenter):
      (WebKit::MockWebMediaStreamCenter::MockWebMediaStreamCenter):
      
      LayoutTests:
      
      * fast/mediastream/MediaStreamTrack-expected.txt: Added.
      * fast/mediastream/MediaStreamTrack.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      887c7bfe
    • tony@chromium.org's avatar
      Use native (non-cygwin) binaries for perl, gperf, and bison in Chromium · 42af0705
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91667
      
      Patch by Scott Graham <scottmg@chromium.org> on 2012-07-24
      Reviewed by Tony Chang.
      
      Using native tools instead of cygwin version improves build time
      performance by roughly 50% (on top of previous cl-instead-of-gcc
      change).
      
      Also, use - instead of / for cl flags, otherwise preprocessing fails
      very slowly (due to retry loop). And, replace \ with / in gperf
      command line. Without this, gperf emits the filename literally in
      #line directives which causes VS to error with "unescaped \ in
      string". Bizarrely, building ColorData.cpp with those \ in place
      causes the IDE to exit with no error message, which was the cause of
      the previous canary failures.
      
      No new tests.
      
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gyp/scripts/rule_bison.py:
      * bindings/scripts/preprocessor.pm:
      (applyPreprocessor):
      * make-hash-tools.pl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42af0705
    • dcheng@chromium.org's avatar
      Files from drag and file <input> should use getMIMETypeForExtension to determine content type. · da8b49c9
      dcheng@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91702
      
      Reviewed by Jian Li.
      
      Awhile back, we changed File to only use getWellKnownMIMETypeForExtension to prevent web
      pages from being able to detect what applications a user has installed indirectly through
      the MIME types. However, some sites like YouTube's drag and drop uploader use MIME types
      that aren't in WebKit's internal list, so we relax the restriction for Files that originate
      from an user action.
      
      * fileapi/File.cpp:
      (WebCore::getContentTypeFromFileName):
      (WebCore::createBlobDataForFile):
      (WebCore::createBlobDataForFileWithName):
      (WebCore::createBlobDataForFileWithMetadata):
      (WebCore::File::createWithRelativePath):
      (WebCore::File::File):
      * fileapi/File.h:
      (File):
      (WebCore::File::create):
      (WebCore::File::createWithName):
      * html/FileInputType.cpp:
      (WebCore::FileInputType::createFileList):
      * platform/chromium/ChromiumDataObject.cpp:
      (WebCore::ChromiumDataObject::addFilename):
      * platform/gtk/ClipboardGtk.cpp:
      (WebCore::ClipboardGtk::files):
      * platform/mac/ClipboardMac.mm:
      (WebCore::ClipboardMac::files):
      * platform/qt/ClipboardQt.cpp:
      (WebCore::ClipboardQt::files):
      * platform/win/ClipboardWin.cpp:
      (WebCore::ClipboardWin::files):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123495 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da8b49c9
    • vsevik@chromium.org's avatar
      Web Inspector: Snippets UI polish · 3e5a8388
      vsevik@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92142
      
      Reviewed by Pavel Feldman.
      
      Changed snippets context menu items.
      Added run snippet status bar button.
      Removed unused edit source button.
      
      * English.lproj/localizedStrings.js:
      * inspector/front-end/Images/statusbarButtonGlyphs.png:
      * inspector/front-end/ScriptSnippetModel.js:
      (WebInspector.SnippetJavaScriptSourceFrame):
      (WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
      (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
      * inspector/front-end/ScriptsNavigator.js:
      (WebInspector.SnippetsNavigatorView.prototype.getOrCreateFolderTreeElement):
      (WebInspector.SnippetsNavigatorView.prototype.handleContextMenu):
      * inspector/front-end/ScriptsPanel.js:
      (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):
      (WebInspector.ScriptsPanel.prototype._createSourceFrame):
      * inspector/front-end/SourceFrame.js:
      (WebInspector.SourceFrame.prototype.statusBarItems):
      * inspector/front-end/inspector.css:
      * inspector/front-end/scriptsPanel.css:
      (.evaluate-snippet-status-bar-item .glyph):
      (.evaluate-snippet-status-bar-item.toggled .glyph):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123494 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e5a8388
    • thakis@chromium.org's avatar
      [chromium/mac] Remove webcore_resource_files from WebCore.gypi · 1d1e4697
      thakis@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92129
      
      Reviewed by Adam Barth.
      
      It was added in http://trac.webkit.org/changeset/81706/trunk/Source/WebCore/WebCore.gypi .
      The changes in that revision were mostly reverted in http://trac.webkit.org/changeset/119921 ,
      but this block was forgotten. Since it just confused me for a bit, remove it.
      
      * WebCore.gyp/WebCore.gyp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d1e4697
    • jchaffraix@webkit.org's avatar
      inline-table wrapper should be generated for display: inline element only · e315b06a
      jchaffraix@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92054
      
      Reviewed by Abhishek Arya.
      
      Source/WebCore:
      
      CSS 2.1 only takes into account the display when determining if we should generate
      an inline-table. My misreading of the spec would make us generate an inline-table
      wrapper for any inline formatting context.
      
      Test: fast/table/inline-block-generates-table-wrapper.html
      
      * rendering/RenderTable.cpp:
      (WebCore::RenderTable::createAnonymousWithParentRenderer):
      Changed to use display instead of isInline to properly match the spec.
      
      LayoutTests:
      
      For some reason, using dumpAsText didn't dump the 2 lines properly so the test
      is a reftest to work-around that.
      
      * fast/table/inline-block-generates-table-wrapper-expected.html: Added.
      * fast/table/inline-block-generates-table-wrapper.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e315b06a
    • commit-queue@webkit.org's avatar
      IndexedDB: Temporarily continue generating backend keys for empty key lists · 59e8bd8f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92012
      
      Patch by Alec Flett <alecflett@chromium.org> on 2012-07-24
      Reviewed by Tony Chang.
      
      Temporarily change key behavior to allow chromium in_process_webkit
      to call putWithIndexKeys without inadvertently preventing index
      key generation. Note this is temporary until frontend key generation
      patch lands.
      
      No new tests, this is part of a refactor that doesn't change behavior.
      
      * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
      (WebCore::IDBObjectStoreBackendImpl::putInternal):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123489 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59e8bd8f
    • pfeldman@chromium.org's avatar
      Web Inspector: introduce UISourceCodeFrame. · a00caa3c
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92124
      
      Reviewed by Vsevolod Vlasov.
      
      Generic implementation of SourceFrame over UISourceCode added.
      
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * inspector/compile-front-end.py:
      * inspector/front-end/ScriptsPanel.js:
      (WebInspector.ScriptsPanel.prototype._createSourceFrame):
      * inspector/front-end/StylesPanel.js:
      * inspector/front-end/UISourceCodeFrame.js: Added.
      (WebInspector.UISourceCodeFrame):
      (WebInspector.UISourceCodeFrame.prototype.canEditSource):
      (WebInspector.UISourceCodeFrame.prototype.commitEditing):
      (WebInspector.UISourceCodeFrame.prototype.afterTextChanged):
      (WebInspector.UISourceCodeFrame.prototype._didEditContent):
      (WebInspector.UISourceCodeFrame.prototype._onContentChanged):
      (WebInspector.UISourceCodeFrame.prototype.populateTextAreaContextMenu):
      * inspector/front-end/WebKit.qrc:
      * inspector/front-end/inspector.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a00caa3c
    • mitz@apple.com's avatar
      <rdar://problem/11945102> REGRESSION (r109451): Overlay scrollbars always use... · 6e8f6667
      mitz@apple.com authored
      <rdar://problem/11945102> REGRESSION (r109451): Overlay scrollbars always use the default style, regardless of background color
      https://bugs.webkit.org/show_bug.cgi?id=92115
      
      Reviewed by Mark Rowe.
      
      * platform/Scrollbar.cpp:
      (WebCore::Scrollbar::scrollbarOverlayStyle): Reversed an incorrect null check.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e8f6667
    • atwilson@chromium.org's avatar
      Another prospective build fix for Chromium. Unreviewed. · 02c764b2
      atwilson@chromium.org authored
      * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02c764b2
    • atwilson@chromium.org's avatar
      Unreviewed prospective build fix for Chromium. Changed include of hb.h in HarfBuzzNGFace.h · ea07f8c8
      atwilson@chromium.org authored
      * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ea07f8c8
    • commit-queue@webkit.org's avatar
      HarfBuzzFaceNG.h forward declarations conflict with newer versions of Harfbuzz · 236bc597
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92103
      
      Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-07-24
      Reviewed by Philippe Normand.
      
      As preparation for enabling harfbuzz-ng for EFL, I would like to include the header
      here since the forward declarations are conflicting with the harfbuzz version
      we will use for EFL.
      
      No new tests, no change in behavior.
      
      * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      236bc597
    • allan.jensen@nokia.com's avatar
      Fix blend filter for autovectorizing · 89e9ee1b
      allan.jensen@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=91398
      
      Reviewed by Nikolas Zimmermann.
      
      To support auto-vectorizing, the loop had to be unswitched, and regular arrays used that
      did not do boundary-checks in the inner loop. Finally the integer division by 255
      was optimized not use integer division intrinsics.
      
      On a X86-64 architechture using GCC -O3 on the file, this gives a speed-up of 2.9x.
      
      * platform/graphics/filters/FEBlend.cpp:
      (WebCore::fastDivideBy255):
      (BlendNormal):
      (WebCore::BlendNormal::apply):
      (BlendMultiply):
      (WebCore::BlendMultiply::apply):
      (BlendScreen):
      (WebCore::BlendScreen::apply):
      (BlendDarken):
      (WebCore::BlendDarken::apply):
      (BlendLighten):
      (WebCore::BlendLighten::apply):
      (BlendUnknown):
      (WebCore::BlendUnknown::apply):
      (WebCore::platformApply):
      (WebCore::FEBlend::platformApplyGeneric):
      (WebCore::FEBlend::platformApplySoftware):
      * platform/graphics/filters/FEBlend.h:
      (FEBlend):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89e9ee1b
    • hans@chromium.org's avatar
      Speech JavaScript API: Add the SpeechRecognitionResult.emma attribute · c4c8e389
      hans@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91743
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Implement the 'emma' attribute as described in the spec draft at
      http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
      
      Test: fast/speech/scripted/emma.html
      
      * Modules/speech/SpeechRecognitionResult.cpp:
      (WebCore::SpeechRecognitionResult::~SpeechRecognitionResult):
      (WebCore):
      (WebCore::SpeechRecognitionResult::emma):
      * Modules/speech/SpeechRecognitionResult.h:
      (WebCore):
      (SpeechRecognitionResult):
      * Modules/speech/SpeechRecognitionResult.idl:
      * WebCore.gypi:
      * bindings/v8/custom/V8SpeechRecognitionResultCustom.cpp:
      (WebCore):
      (WebCore::V8SpeechRecognitionResult::visitDOMWrapper):
        We need to add an implicit reference from the result object to the
        emma object to keep the latters DOM tree alive across
        garbage-collection.
      
      LayoutTests:
      
      Add layout test for the SpeechRecognitionResult.emma attribute.
      
      * fast/speech/scripted/emma.html: Added.
      * fast/speech/scripted/emma-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4c8e389
    • commit-queue@webkit.org's avatar
      Web Inspector: Protocol Extension: add getFlowByName command · 285994b5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91855
      
      Patch by Andrei Poenaru <poenaru@adobe.com> on 2012-07-24
      Reviewed by Pavel Feldman.
      
      Source/WebCore:
      
      The "getFlowByName" command should return a NamedFlow for a given document and name.
      
      Test: inspector/styles/protocol-css-regions-commands.html
      
      * inspector/Inspector.json:
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::InspectorCSSAgent::getFlowByName):
      (WebCore):
      * inspector/InspectorCSSAgent.h:
      (InspectorCSSAgent):
      * inspector/front-end/CSSStyleModel.js:
      (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
      (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
      (WebInspector.NamedFlow):
      (WebInspector.NamedFlow.parsePayload):
      
      LayoutTests:
      
      Created a single test suite for the WebInspector protocol extension for CSS Regions.
      
      * inspector/styles/protocol-css-regions-commands-expected.txt: Added.
      * inspector/styles/protocol-css-regions-commands.html: Added.
      * inspector/styles/protocol-getNamedFlowCollection-command-expected.txt: Removed.
      * inspector/styles/protocol-getNamedFlowCollection-command.html: Removed.
      * platform/efl/TestExpectations:
      * platform/qt/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      285994b5
    • hausmann@webkit.org's avatar
      [Qt] Fix compilation against namespaced Qt · fc0c1c6d
      hausmann@webkit.org authored
      Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-07-23
      Reviewed by Simon Hausmann.
      
      Source/WebCore:
      
      * platform/graphics/Font.h:
      * platform/network/ResourceHandleInternal.h:
      * platform/qt/ThirdPartyCookiesQt.h:
      
      Source/WebKit/qt:
      
      * WebCoreSupport/GeolocationClientQt.h:
      * examples/platformplugin/WebPlugin.h:
      
      Source/WebKit2:
      
      * Platform/CoreIPC/Connection.h:
      * Platform/PlatformProcessIdentifier.h:
      * Platform/WorkQueue.h:
      * Shared/qt/QtNetworkRequestData.h:
      * Shared/qt/WebEventFactoryQt.h:
      * UIProcess/API/C/qt/WKNativeEvent.h:
      * UIProcess/API/qt/qquickwebview_p.h:
      * UIProcess/API/qt/qwebnavigationhistory_p.h:
      * UIProcess/API/qt/raw/qrawwebview_p.h:
      * UIProcess/DrawingAreaProxy.h:
      * UIProcess/Launcher/ThreadLauncher.h:
      * UIProcess/LayerTreeCoordinatorProxy.h:
      * UIProcess/qt/QtViewportHandler.h:
      * UIProcess/qt/QtWebPageSGNode.h:
      * UIProcess/qt/WebColorChooserProxyQt.h:
      * UIProcess/qt/WebGeolocationProviderQt.h:
      * UIProcess/qt/WebPopupMenuProxyQt.h:
      * WebProcess/WebProcess.h:
      
      Tools:
      
      * QtTestBrowser/launcherwindow.h:
      * WebKitTestRunner/PlatformWebView.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc0c1c6d
    • commit-queue@webkit.org's avatar
      Web Inspector [JSC]: Enable initiator column in network panel. · b9e941d4
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=65533
      
      Patch by Anthony Scian <ascian@rim.com> on 2012-07-24
      Reviewed by Vsevolod Vlasov.
      
      Source/WebCore:
      
      With 40118 fixed for webkit, Preferences.displayInitiator should be set to true.
      Removed references to it since the optionality is no longer required.
      
      Test: http/tests/inspector/network/network-initiator.html
      
      * inspector/front-end/NetworkPanel.js:
      (WebInspector.NetworkLogView.prototype._createTable):
      (WebInspector.NetworkLogView.prototype.switchToDetailedView):
      (WebInspector.NetworkLogView.prototype.switchToBriefView):
      (WebInspector.NetworkDataGridNode.prototype.createCells):
      (WebInspector.NetworkDataGridNode.prototype.refreshRequest):
      * inspector/front-end/Settings.js:
      
      Source/WebKit/chromium:
      
      With 40118 fixed for webkit, Preferences.displayInitiator should be set to true.
      Removed references to it since the optionality is no longer required.
      
      Test: http/tests/inspector/network/network-initiator.html
      
      * src/js/DevTools.js:
      
      LayoutTests:
      
      Bug https://bugs.webkit.org/show_bug.cgi?id=65105 caused
      network-initiator.html to be disabled due to caching CSS information.
      Tweaked the test so that reloads could be forced to avoid the cache
      copy (thanks to Vsevolod Vlasov for help on this); test works now and
      is updated for availability of stack traces fixed in 40118. Consolidated
      results into common expected results output.
      
      * http/tests/inspector/inspector-test.js:
      (initialize_InspectorTest.InspectorTest.hardReloadPage):
      (initialize_InspectorTest.InspectorTest.reloadPage):
      (initialize_InspectorTest.InspectorTest._innerReloadPage):
      * http/tests/inspector/network/network-initiator-expected.txt:
      * http/tests/inspector/network/network-initiator.html:
      * platform/chromium/TestExpectations:
      * platform/chromium/http/tests/inspector/network/network-initiated-expected.txt: Removed.
      * platform/mac/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9e941d4
    • gyuyoung.kim@samsung.com's avatar
      Missing *explicit* keyword in dom and page. · 5da00cbf
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=92074
      
      Reviewed by Kentaro Hara.
      
      Some constructors missed to use *explicit* keyword. They need to be added
      *explicit* keyword to contructor which has a parameter in order to avoid
      implicit type conversion.
      
      Some files in dom directory can't use explicit keyword because of build breaks.
      
      No new tests. Covered by existing tests.
      
      * dom/BeforeLoadEvent.h:
      (WebCore::BeforeLoadEvent::BeforeLoadEvent):
      * dom/BeforeTextInsertedEvent.h:
      (BeforeTextInsertedEvent):
      * dom/ChildListMutationScope.h:
      (WebCore::ChildListMutationScope::ChildListMutationScope):
      * dom/ChildNodeList.h:
      (ChildNodeList):
      * dom/ClientRect.h:
      (ClientRect):
      * dom/ClientRectList.h:
      (ClientRectList):
      * dom/ComposedShadowTreeWalker.h:
      (ComposedShadowTreeParentWalker):
      * dom/DOMCoreException.h:
      (WebCore::DOMCoreException::DOMCoreException):
      * dom/DOMImplementation.h:
      (DOMImplementation):
      * dom/DatasetDOMStringMap.h:
      (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
      * dom/DeviceMotionController.h:
      (DeviceMotionController):
      * dom/DeviceOrientationController.h:
      (DeviceOrientationController):
      * dom/DocumentParser.h:
      (DocumentParser):
      * dom/EventException.h:
      (WebCore::EventException::EventException):
      * dom/EventListener.h:
      (WebCore::EventListener::EventListener):
      * dom/ExceptionBase.h:
      (ExceptionBase):
      * dom/GenericEventQueue.h:
      (GenericEventQueue):
      * dom/KeyboardEvent.h:
      (WebCore::KeypressCommand::KeypressCommand):
      * dom/MemoryInstrumentation.h:
      (WebCore::MemoryObjectInfo::MemoryObjectInfo):
      * dom/MessageChannel.h:
      (MessageChannel):
      * dom/MessagePort.h:
      (MessagePort):
      * dom/MessagePortChannel.h:
      (MessagePortChannel):
      * dom/MutationObserver.h:
      * dom/NamedNodeMap.h:
      (WebCore::NamedNodeMap::NamedNodeMap):
      * dom/NodeFilter.h:
      (WebCore::NodeFilter::NodeFilter):
      * dom/NodeWithIndex.h:
      (WebCore::NodeWithIndex::NodeWithIndex):
      * dom/Range.h:
      * dom/RangeException.h:
      (WebCore::RangeException::RangeException):
      * dom/RawDataDocumentParser.h:
      (WebCore::RawDataDocumentParser::RawDataDocumentParser):
      * dom/ScriptRunner.h:
      (ScriptRunner):
      * dom/SelectorQuery.h:
      (SelectorQuery):
      * dom/ShadowRoot.h:
      (ShadowRoot):
      * dom/SpaceSplitString.h:
      (SpaceSplitStringData):
      * dom/StaticHashSetNodeList.h:
      (StaticHashSetNodeList):
      * dom/StaticNodeList.h:
      (WebCore::StaticNodeList::StaticNodeList):
      * dom/TransformSource.h:
      (TransformSource):
      * dom/TreeScope.h:
      (TreeScope):
      * dom/WebKitNamedFlowCollection.h:
      (WebKitNamedFlowCollection):
      * page/EventHandler.h:
      (EventHandler):
      * page/FocusController.h:
      (FocusController):
      * page/FrameView.h:
      (FrameView):
      * page/MemoryInfo.h:
      (MemoryInfo):
      * page/Page.h:
      (Page):
      * page/PageGroup.h:
      (PageGroup):
      * page/PrintContext.h:
      (PrintContext):
      * page/Settings.h:
      (Settings):
      * page/SpeechInput.h:
      (SpeechInput):
      * page/SpeechInputResultList.h:
      (SpeechInputResultList):
      * page/WebKitAnimation.h:
      * page/WindowFeatures.h:
      (WindowFeatures):
      * page/WorkerNavigator.h:
      (WorkerNavigator):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5da00cbf
    • tkent@chromium.org's avatar
      Replace some callsites of shadowAncestorNode() with shadowHost() · b9c1e951
      tkent@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92060
      
      Reviewed by Hajime Morita.
      
      shadowAncestorNode() is deprecated.
      
      No new tests. This shouldn't change behaviors.
      
      * html/shadow/MediaControlElements.cpp:
      (WebCore::toParentMediaElement):
      * html/shadow/TextControlInnerElements.h:
      (WebCore::SpinButtonElement::isEnabledFormControl):
      (WebCore::SpinButtonElement::isReadOnlyFormControl):
      * platform/efl/RenderThemeEfl.cpp:
      (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
      (WebCore::RenderThemeEfl::paintMediaMuteButton):
      * platform/gtk/RenderThemeGtk.cpp:
      (WebCore::getMediaElementFromRenderObject):
      (WebCore::centerRectVerticallyInParentInputElement):
      * platform/qt/RenderThemeQt.cpp:
      (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
      (WebCore::RenderThemeQt::paintMediaSliderThumb):
      Removed an ASSERT() because nullness of o->node() is already asserted.
      * rendering/RenderInputSpeech.cpp:
      (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
      * rendering/RenderMediaControlsChromium.cpp:
      (WebCore::paintMediaSliderThumb):
      Passing shadowHost() to toParentMediaElement(), which accepts 0 and will return 0.
      (WebCore::paintMediaVolumeSliderThumb): ditto.
      * rendering/RenderThemeChromiumSkia.cpp:
      (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
      (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
      (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
      * rendering/RenderThemeMac.mm:
      (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
      Remove an ASSERT(input) because input never be null unless o->node() is
      null. If o->node() is null, this function crashes.
      (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
      (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
      (WebCore::RenderThemeMac::paintMediaMuteButton):
      It's ok to ignore "node is a media element" case because this function
      works only if node->isMediaControlElement().
      (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
      (WebCore::RenderThemeMac::paintMediaSliderTrack): ditto.
      * rendering/RenderThemeSafari.cpp:
      (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
      Remove an ASSERT(input) because input never be null unless o->node() is
      null. If o->node() is null, this function crashes.
      (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): ditto.
      (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): ditto.
      * rendering/RenderThemeWinCE.cpp:
      (WebCore::mediaElementParent):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9c1e951
    • peter@chromium.org's avatar
      [Chromium] Build fix for Android after r123424 · a5219307
      peter@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92082
      
      Unreviewed build fix.
      
      Mark removed the PlatformSupport.h header from ScrollbarThemeChromiumAndroid.cpp
      in r123424, while there still are two references left to another method and a
      constant. Re-add the include directive.
      
      * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5219307
    • haraken@chromium.org's avatar
      [JSC] REGRESSION(r122912): CodeGeneratorJS.pm generates wrong code · e870f1f6
      haraken@chromium.org authored
      for static attributes in supplemental IDL files
      https://bugs.webkit.org/show_bug.cgi?id=91925
      
      Reviewed by Adam Barth.
      
      r122912 implemented static attributes in CodeGeneratorJS.pm.
      However, it generates wrong code for static attributes in supplemental
      IDL files. This patch fixes it as shown in JSTestInterface.cpp.
      This fix aligns with the fix in CodeGeneratorV8.pm (r123308).
      
      Test: bindings/scripts/test/TestSupplemental.idl
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateImplementation):
      * bindings/scripts/test/JS/JSTestInterface.cpp:
      (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
      (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
      (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e870f1f6
    • gyuyoung.kim@samsung.com's avatar
      Add *explicit* keyword to constructor which has a parameter in bridge, history, loader and plugins. · 592869ca
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=92064
      
      Reviewed by Kentaro Hara.
      
      Some constructors missed to use *explicit* keyword. They need to be added
      *explicit* keyword to contructor which has a parameter in order to avoid
      implicit type conversion.
      
      No new tests. Covered by existing tests.
      
      * bridge/IdentifierRep.h:
      (WebCore::IdentifierRep::IdentifierRep):
      * history/BackForwardListImpl.h:
      (BackForwardListImpl):
      * history/CachedFrame.h:
      (CachedFrame):
      * history/HistoryItem.h:
      (HistoryItem):
      * loader/DocumentWriter.h:
      (DocumentWriter):
      * loader/FrameNetworkingContext.h:
      (WebCore::FrameNetworkingContext::FrameNetworkingContext):
      * loader/HistoryController.h:
      * loader/ImageLoader.h:
      (ImageLoader):
      * loader/LinkLoader.h:
      (LinkLoader):
      * loader/MainResourceLoader.h:
      (MainResourceLoader):
      * loader/NavigationAction.h:
      (NavigationAction):
      * loader/NavigationScheduler.h:
      (NavigationScheduler):
      * loader/PolicyChecker.h:
      (PolicyChecker):
      * loader/SubframeLoader.h:
      (SubframeLoader):
      * loader/ThreadableLoaderClientWrapper.h:
      (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
      * plugins/PluginData.h:
      (PluginData):
      * plugins/PluginViewBase.h:
      (WebCore::PluginViewBase::PluginViewBase):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      592869ca
    • paroga@webkit.org's avatar
      [Qt] Fix conversion from GregorianDateTime to QTime · 01ef1b67
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92068
      
      Reviewed by Simon Hausmann.
      
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::convertValueToQVariant):
      * bridge/qt/qt_runtime_qt4.cpp:
      (JSC::Bindings::convertValueToQVariant):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01ef1b67
    • arko@motorola.com's avatar
      Microdata: Implement PropertyNodeList interface. · decc3e86
      arko@motorola.com authored
      https://bugs.webkit.org/show_bug.cgi?id=80269
      
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore: 
      
      Added support for PropertyNodeList interface. Currently HTMLPropertiesCollection.namedItem(name)
      returns NodeList object. Made changes so that it will return PropertyNodeList object.
      
      Implemented propertyNodeList.getValues() method. It returns an array of various values. Its
      values are obtained from the "itemValue" DOM property of each of the elements represented by
      the object, in tree order.
      
      Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#propertynodelist
      
      Tests: fast/dom/MicroData/nameditem-returns-propertynodelist.html
             fast/dom/MicroData/propertynodelist-getvalues-array-values-obtained-from-itemvalue-of-each-element.html
             fast/dom/MicroData/propertynodelist-getvalues-test.html
             fast/dom/MicroData/propertynodelist-test-add-remove-element.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/gobject/GNUmakefile.am:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSMicroDataItemValueCustom.cpp: Added.
      (WebCore):
      (WebCore::toJS): Added toJS() custom method. Returns Node if itemValue is node else returns String.
      * bindings/v8/custom/V8MicroDataItemValueCustom.cpp: Added.
      (WebCore):
      (WebCore::toV8): Added toV8 custom code.
      * dom/DynamicNodeList.cpp:
      (WebCore::DynamicNodeListCacheBase::rootNode): Return document if owner node has itemref attribute specified.
      (WebCore):
      (WebCore::DynamicNodeListCacheBase::ownerNodeHasItemRefAttribute): Returns true if owner node has itemref attribute
      specified with root type NodeListRootedAtDocumentIfOwnerHasItemrefAttr.
      (WebCore::DynamicNodeListCacheBase::invalidateCache):
      (WebCore::DynamicNodeList::itemWithName): Update itemrefElements cache if root type is
      NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr.
      * dom/DynamicNodeList.h: Added m_hasItemRefElements in DynamicNodeListCacheBase to check if itemRefElmenets cache
      is valid.
      (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
      (WebCore::DynamicNodeListCacheBase::isRootedAtDocument):
      (DynamicNodeListCacheBase):
      (WebCore::DynamicNodeListCacheBase::isItemRefElementsCacheValid):
      (WebCore::DynamicNodeListCacheBase::setItemRefElementsCacheValid):
      (WebCore::DynamicNodeListCacheBase::rootType): Returns cached root type.
      (WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): Invalidate NodeListCache on itemref
      attribute change.
      * dom/Node.cpp:
      (WebCore::Node::propertyNodeList):
      * dom/Node.h:
      (WebCore):
      (Node):
      * dom/PropertyNodeList.cpp: Added.
      (WebCore):
      (WebCore::PropertyNodeList::PropertyNodeList):
      (WebCore::PropertyNodeList::~PropertyNodeList):
      (WebCore::PropertyNodeList::elementIsPropertyOfRefElement): Checks if the testElement is a property of Microdata
      item.
      (WebCore::PropertyNodeList::updateRefElements):
      (WebCore::PropertyNodeList::nodeMatches):
      (WebCore::PropertyNodeList::getValues): Returns PropertyValueArray whose values are obtained from the
      itemValue DOM property of each of the elements represented by the object, in tree order.
      * dom/PropertyNodeList.h: Added.
      (WebCore):
      (PropertyNodeList):
      (WebCore::PropertyNodeList::create):
      * dom/PropertyNodeList.idl: Added.
      * html/HTMLCollection.cpp:
      (WebCore::DynamicNodeListCacheBase::itemCommon): Update itemrefElements cache if its a NodeListCollectionType with
      root type NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr.
      * html/HTMLElement.cpp:
      (WebCore::HTMLElement::properties):
      (WebCore):
      (WebCore::HTMLElement::getItemRefElements): Returns the ItemRefElements list of given element. Added this
      method to share the code between HTMLPropertiesCollection and PropertyNodeList to update itemRefElements.
      * html/HTMLElement.h:
      (HTMLElement):
      * html/HTMLPropertiesCollection.cpp:
      (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
      (WebCore::HTMLPropertiesCollection::updateRefElements):
      (WebCore::HTMLPropertiesCollection::updateNameCache):
      (WebCore::HTMLPropertiesCollection::namedItem): Return PropertyNodeList object instead of NodeList.
      (WebCore::HTMLPropertiesCollection::hasNamedItem): Return true if it finds an item with given
      name in the properties collection.
      * html/HTMLPropertiesCollection.h: Removed m_hasItemRefElements member variable, now DynamicNodeListCacheBase
      has isItemRefElementsCacheValid. Also removed m_hasPropertyNameCache, as DynamicNodeListCacheBase already has
      hasNameCache() and setHasNameCache().
      (WebCore):
      (HTMLPropertiesCollection):
      (WebCore::HTMLPropertiesCollection::invalidateCache):
      (WebCore::HTMLPropertiesCollection::updatePropertyCache):
      * html/HTMLPropertiesCollection.idl:
      * html/MicroDataItemValue.idl: Added.
      * page/DOMWindow.idl:
      
      LayoutTests: 
      
      Added test cases for PropertyNodeList interface and PropertyNodeList.getValues() method.
      Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#propertynodelist
      
      * fast/dom/MicroData/nameditem-returns-propertynodelist-expected.txt: Added.
      * fast/dom/MicroData/nameditem-returns-propertynodelist.html: Added.
      * fast/dom/MicroData/propertynodelist-getvalues-array-values-obtained-from-itemvalue-of-each-element-expected.txt: Added.
      * fast/dom/MicroData/propertynodelist-getvalues-array-values-obtained-from-itemvalue-of-each-element.html: Added.
      * fast/dom/MicroData/propertynodelist-getvalues-test-expected.txt: Added.
      * fast/dom/MicroData/propertynodelist-getvalues-test.html: Added.
      * fast/dom/MicroData/propertynodelist-test-add-remove-element-expected.txt: Added.
      * fast/dom/MicroData/propertynodelist-test-add-remove-element.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      decc3e86
    • haraken@chromium.org's avatar
      [JSC] REGRESSION(r122912): CodeGeneratorJS.pm should not · 729c9636
      haraken@chromium.org authored
      implicitly assume ScriptExecutionContext for static attributes
      https://bugs.webkit.org/show_bug.cgi?id=91924
      
      Reviewed by Adam Barth.
      
      r122912 implemented static attributes in CodeGeneratorJS.pm.
      However, the generated code assumes that static attributes
      always require ScriptExecutionContext, which is wrong.
      If we need a ScriptExecutionContext, we should specify
      [CallWith=ScriptExecutionContext].
      
      This patch fixes CodeGeneratorJS.pm so that static attributes
      do not assume ScriptExecutionContext. This fix aligns with
      the fix in CodeGeneratorV8.pm in r123308.
      
      Test: bindings/scripts/test/TestObj.idl
      
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateImplementation):
      * bindings/scripts/test/JS/JSTestInterface.cpp:
      (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
      (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
      (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::jsTestObjConstructorStaticReadOnlyIntAttr):
      (WebCore::jsTestObjConstructorStaticStringAttr):
      (WebCore::setJSTestObjConstructorStaticStringAttr):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      729c9636
    • gyuyoung.kim@samsung.com's avatar
      Missing *explicit* keyword in editing. · 014ea322
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=92055
      
      Reviewed by Ryosuke Niwa.
      
      Some constructors missed to use *explicit* keyword. They need to be added
      *explicit* keyword to contructor which has a parameter in order to avoid
      implicit type conversion.
      
      No new tests. Covered by existing tests.
      
      * editing/AlternativeTextController.h:
      (WebCore::AlternativeTextController::UNLESS_ENABLED):
      * editing/BreakBlockquoteCommand.h:
      (BreakBlockquoteCommand):
      * editing/DeleteButton.h:
      (DeleteButton):
      * editing/DeleteButtonController.h:
      (DeleteButtonController):
      * editing/EditCommand.h:
      (EditCommand):
      (WebCore::SimpleEditCommand::SimpleEditCommand):
      * editing/EditingBehavior.h:
      (WebCore::EditingBehavior::EditingBehavior):
      * editing/EditingStyle.h:
      (EditingStyle):
      * editing/Editor.h:
      (Editor):
      * editing/FrameSelection.h:
      (FrameSelection):
      * editing/InsertLineBreakCommand.h:
      (InsertLineBreakCommand):
      * editing/ModifySelectionListLevel.h:
      (ModifySelectionListLevelCommand):
      (DecreaseSelectionListLevelCommand):
      * editing/RemoveFormatCommand.h:
      (RemoveFormatCommand):
      * editing/RemoveNodeCommand.h:
      (RemoveNodeCommand):
      * editing/RemoveNodePreservingChildrenCommand.h:
      (RemoveNodePreservingChildrenCommand):
      * editing/ReplaceNodeWithSpanCommand.h:
      (ReplaceNodeWithSpanCommand):
      * editing/TextInsertionBaseCommand.h:
      (TextInsertionBaseCommand):
      * editing/UndoManager.h:
      (UndoManager):
      * editing/UnlinkCommand.h:
      (UnlinkCommand):
      * editing/WrapContentsInDummySpanCommand.h:
      (WrapContentsInDummySpanCommand):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      014ea322
    • dmazzoni@google.com's avatar
      AX: Need AccessibilityObjects for nodes without renderers in canvas subtree · c35bf3d4
      dmazzoni@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=87899
      
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Refactors AccessibilityRenderObject so that it inherits from a new class,
      AccessibilityNodeObject, that can be constructed from a Node without a
      renderer. Modifies AXObjectCache so that it automatically creates an
      AccessibilityNodeObject for elements in a canvas subtree but not otherwise.
      A new layout test verifies that this correctly exposes an accessibility
      tree with appropriate roles for elements in a canvas subtree.
      
      This patch does not try to complete the implementation of
      AccessibilityNodeObject. Most AX methods are still unimplemented and need
      to be migrated from AccessibilityRenderObject to AccessibilityNodeObject
      in a future patch.
      
      This patch also doesn't change anything outside of WebCore/accessibility, so
      the rest of WebCore only calls AXObjectCache when there are changes to a
      RenderObject, not to a Node. Accessible notifications on nodes without
      renderers need to be implemented in a future patch.
      
      Test: accessibility/canvas-accessibilitynodeobject.html
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::get):
      (WebCore):
      (WebCore::createFromNode):
      (WebCore::AXObjectCache::getOrCreate):
      (WebCore::AXObjectCache::remove):
      * accessibility/AXObjectCache.h:
      (AXObjectCache):
      (WebCore::AXObjectCache::get):
      (WebCore::AXObjectCache::getOrCreate):
      (WebCore::AXObjectCache::remove):
      * accessibility/AccessibilityARIAGrid.cpp:
      (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
      (WebCore):
      (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
      (WebCore::AccessibilityARIAGrid::init):
      (WebCore::AccessibilityARIAGrid::create):
      * accessibility/AccessibilityARIAGrid.h:
      (AccessibilityARIAGrid):
      * accessibility/AccessibilityARIAGridCell.cpp:
      (WebCore::AccessibilityARIAGridCell::create):
      * accessibility/AccessibilityARIAGridRow.cpp:
      (WebCore::AccessibilityARIAGridRow::create):
      * accessibility/AccessibilityAllInOne.cpp:
      * accessibility/AccessibilityList.cpp:
      (WebCore::AccessibilityList::create):
      * accessibility/AccessibilityListBox.cpp:
      (WebCore::AccessibilityListBox::create):
      * accessibility/AccessibilityMediaControls.cpp:
      (WebCore::AccessibilityMediaControl::create):
      (WebCore::AccessibilityMediaControlsContainer::create):
      (WebCore::AccessibilityMediaTimeline::create):
      (WebCore::AccessibilityMediaTimeDisplay::create):
      * accessibility/AccessibilityMenuList.cpp:
      (WebCore::AccessibilityMenuList::create):
      (WebCore):
      * accessibility/AccessibilityMenuList.h:
      (AccessibilityMenuList):
      * accessibility/AccessibilityNodeObject.cpp: Added.
      (WebCore):
      (WebCore::AccessibilityNodeObject::AccessibilityNodeObject):
      (WebCore::AccessibilityNodeObject::~AccessibilityNodeObject):
      (WebCore::AccessibilityNodeObject::init):
      (WebCore::AccessibilityNodeObject::create):
      (WebCore::AccessibilityNodeObject::detach):
      (WebCore::AccessibilityNodeObject::childrenChanged):
      (WebCore::AccessibilityNodeObject::updateAccessibilityRole):
      (WebCore::AccessibilityNodeObject::firstChild):
      (WebCore::AccessibilityNodeObject::lastChild):
      (WebCore::AccessibilityNodeObject::previousSibling):
      (WebCore::AccessibilityNodeObject::nextSibling):
      (WebCore::AccessibilityNodeObject::parentObjectIfExists):
      (WebCore::AccessibilityNodeObject::parentObject):
      (WebCore::AccessibilityNodeObject::elementRect):
      (WebCore::AccessibilityNodeObject::setNode):
      (WebCore::AccessibilityNodeObject::document):
      (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
      (WebCore::AccessibilityNodeObject::addChildren):
      (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
      (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
      (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute):
      (WebCore::AccessibilityNodeObject::ariaRoleAttribute):
      (WebCore::AccessibilityNodeObject::remapAriaRoleDueToParent):
      * accessibility/AccessibilityNodeObject.h: Added.
      (WebCore):
      (AccessibilityNodeObject):
      (WebCore::AccessibilityNodeObject::isAccessibilityNodeObject):
      (WebCore::AccessibilityNodeObject::node):
      (WebCore::AccessibilityNodeObject::isDetached):
      (WebCore::toAccessibilityNodeObject):
      * accessibility/AccessibilityObject.h:
      (WebCore::AccessibilityObject::isAccessibilityNodeObject):
      * accessibility/AccessibilityProgressIndicator.cpp:
      (WebCore::AccessibilityProgressIndicator::create):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
      (WebCore::AccessibilityRenderObject::init):
      (WebCore):
      (WebCore::AccessibilityRenderObject::create):
      (WebCore::AccessibilityRenderObject::detach):
      (WebCore::AccessibilityRenderObject::setRenderer):
      (WebCore::AccessibilityRenderObject::canHaveChildren):
      (WebCore::AccessibilityRenderObject::addCanvasChildren):
      (WebCore::AccessibilityRenderObject::addChildren):
      * accessibility/AccessibilityRenderObject.h:
      (AccessibilityRenderObject):
      * accessibility/AccessibilitySlider.cpp:
      (WebCore::AccessibilitySlider::create):
      * accessibility/AccessibilityTable.cpp:
      (WebCore::AccessibilityTable::AccessibilityTable):
      (WebCore):
      (WebCore::AccessibilityTable::~AccessibilityTable):
      (WebCore::AccessibilityTable::init):
      (WebCore::AccessibilityTable::create):
      * accessibility/AccessibilityTable.h:
      (AccessibilityTable):
      * accessibility/AccessibilityTableCell.cpp:
      (WebCore::AccessibilityTableCell::create):
      * accessibility/AccessibilityTableRow.cpp:
      (WebCore::AccessibilityTableRow::create):
      
      LayoutTests:
      
      This new test adds a bunch of elements to a normal container and the same elements to
      a canvas subtree, then it iterates over all of the accessible objects within each
      container and makes sure they have identical roles. Because we know the nodes in the
      canvas subtree don't have renderers, this successfully tests that AccessibilityNodeObjects
      are getting created for these nodes.
      
      * accessibility/canvas-accessibilitynodeobject-expected.txt: Added.
      * accessibility/canvas-accessibilitynodeobject.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c35bf3d4
  2. 23 Jul, 2012 9 commits
    • commit-queue@webkit.org's avatar
      Fix ENABLE_CSS_IMAGE_ORIENTATION compile flag · ba69b448
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91961
      
      Patch by David Barr <davidbarr@chromium.org> on 2012-07-23
      Reviewed by Tony Chang.
      
      https://bugs.webkit.org/show_bug.cgi?id=89055
      A rule was missed implementing the ENABLE_CSS_IMAGE_ORIENTATION compile flag.
      
      https://bugs.webkit.org/show_bug.cgi?id=90046
      Half of the missing rule was inadvertently added together with ENABLE_CSS_STICKY_POSITION.
      
      No new tests; build configuration fix.
      
      * Configurations/FeatureDefines.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba69b448
    • commit-queue@webkit.org's avatar
      Null-pointer crash when a derived color like -webkit-activelink is set in a gradient stop · 0cda1fa8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89148
      
      Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-07-23
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      CSSGradientValue attempted to resolve colors during paint, this crashed
      when a derived color like -webkit-activelink was encountered because the
      corresponding element was no longer available in the StyleResolver.
      Instead, by adding a field to CSSGradientColorStop we can resolve and
      then cache the resolved colors at the correct time. To avoid sharing
      cached derived colors between elements we clone the gradient values when
      needed.
      
      Test: fast/css/crash-on-gradient-with-derived-color.html
      
      * css/CSSGradientValue.cpp:
      (WebCore::CSSGradientValue::gradientWithStylesResolved): Added. Resolve and cache
      resolved colors, clone if colors are derived from the element.
      (WebCore):
      (WebCore::CSSGradientValue::addStops):
      (WebCore::CSSGradientValue::isCacheable): Defer to new logic in
      StyleResolver.
      * css/CSSGradientValue.h:
      (CSSGradientColorStop): Added cache of resolved color.
      (CSSGradientValue):
      (CSSLinearGradientValue):
      (CSSRadialGradientValue):
      * css/CSSImageGeneratorValue.h:
      (WebCore):
      * css/CSSValue.h:
      (WebCore::CSSValue::isGradientValue):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::collectMatchingRulesForList):
      * css/StyleResolver.h:
      (StyleResolver):
      * rendering/style/StyleGeneratedImage.cpp:
      (WebCore::StyleGeneratedImage::image): Revert change from r96449. This
      is no longer necessary as the gradient colors are now resolved at a
      time when the style is set on StyleResolver.
      
      LayoutTests:
      
      * fast/css/crash-on-gradient-with-derived-color-expected.txt: Added.
      * fast/css/crash-on-gradient-with-derived-color.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0cda1fa8
    • paroga@webkit.org's avatar
      Move GregorianDateTime from JSC to WTF namespace · 175d46f1
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91948
      
      Reviewed by Geoffrey Garen.
      
      Moving GregorianDateTime into the WTF namespace allows us to us to
      use it in WebCore too. The new class has the same behaviour as the
      old struct. Only the unused timeZone member has been removed.
      
      Source/JavaScriptCore:
      
      * runtime/DateConstructor.cpp:
      * runtime/DateConversion.cpp:
      * runtime/DateConversion.h:
      * runtime/DateInstance.h:
      * runtime/DatePrototype.cpp:
      * runtime/JSDateMath.cpp:
      * runtime/JSDateMath.h:
      
      Source/WebCore:
      
      * bridge/qt/qt_runtime.cpp:
      (JSC::Bindings::convertValueToQVariant):
      (JSC::Bindings::convertQVariantToValue):
      * bridge/qt/qt_runtime_qt4.cpp:
      (JSC::Bindings::convertValueToQVariant):
      (JSC::Bindings::convertQVariantToValue):
      
      Source/WTF:
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/GregorianDateTime.h: Added.
      (GregorianDateTime):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      175d46f1
    • pilgrim@chromium.org's avatar
      [Chromium] Move layoutTestMode to WebCore · 315ca9fc
      pilgrim@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=92010
      
      Reviewed by Adam Barth.
      
      Part of a refactoring series. See tracking bug 82948.
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/generic/RuntimeEnabledFeatures.h:
      (RuntimeEnabledFeatures):
      * platform/LayoutTestSupport.cpp: Added.
      (WebCore):
      (WebCore::isRunningLayoutTest):
      (WebCore::setIsRunningLayoutTest):
      * platform/LayoutTestSupport.h: Added.
      (WebCore):
      * platform/chromium/PlatformSupport.h:
      (PlatformSupport):
      * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
      (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
      (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
      * platform/chromium/ScrollbarThemeChromiumWin.cpp:
      (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
      (WebCore::ScrollbarThemeChromiumWin::buttonSize):
      * platform/graphics/chromium/FontCacheChromiumWin.cpp:
      (WebCore):
      (WebCore::LookupAltName):
      (WebCore::fontContainsCharacter):
      (WebCore::FillLogFont):
      (WebCore::FontCache::getFontDataForCharacters):
      (WebCore::FontCache::createFontPlatformData):
      * platform/graphics/skia/FontCustomPlatformData.cpp:
      (WebCore::FontCustomPlatformData::fontPlatformData):
      * platform/graphics/skia/FontSkia.cpp:
      (WebCore::Font::drawGlyphs):
      * rendering/RenderThemeChromiumAndroid.cpp:
      (WebCore::RenderThemeChromiumAndroid::systemColor):
      (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
      * rendering/RenderThemeChromiumMac.mm:
      (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
      * rendering/RenderThemeChromiumSkia.cpp:
      (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
      * rendering/RenderThemeChromiumWin.cpp:
      (WebCore):
      (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
      (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
      (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
      (WebCore::RenderThemeChromiumWin::systemColor):
      (WebCore::menuListButtonWidth):
      (WebCore::RenderThemeChromiumWin::determineClassicState):
      
      Source/WebKit/chromium:
      
      * src/PlatformSupport.cpp:
      (WebCore):
      * src/WebKit.cpp:
      (WebKit::setLayoutTestMode):
      (WebKit::layoutTestMode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123424 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      315ca9fc
    • commit-queue@webkit.org's avatar
      [chromium] Add droppedFrameCount to renderingStats. · 38366bb5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91694
      
      Patch by Dave Tu <dtu@chromium.org> on 2012-07-23
      Reviewed by Adrienne Walker.
      
      Source/Platform:
      
      * chromium/public/WebRenderingStats.h:
      (WebRenderingStats):
      (WebKit::WebRenderingStats::WebRenderingStats):
      
      Source/WebCore:
      
      * platform/graphics/chromium/cc/CCFrameRateCounter.cpp:
      (WebCore):
      (WebCore::CCFrameRateCounter::frameInterval):
      (WebCore::CCFrameRateCounter::frameIndex):
      (WebCore::CCFrameRateCounter::CCFrameRateCounter):
      (WebCore::CCFrameRateCounter::markBeginningOfFrame):
      (WebCore::CCFrameRateCounter::isBadFrame):
      * platform/graphics/chromium/cc/CCFrameRateCounter.h:
      (WebCore::CCFrameRateCounter::droppedFrameCount):
      (CCFrameRateCounter):
      * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
      (WebCore::CCLayerTreeHost::renderingStats):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
      (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
      (WebCore::CCLayerTreeHostImpl::drawLayers):
      * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
      (CCLayerTreeHostImpl):
      * platform/graphics/chromium/cc/CCRenderingStats.h:
      (CCRenderingStats):
      (WebCore::CCRenderingStats::CCRenderingStats):
      * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
      (WebCore::CCSingleThreadProxy::implSideRenderingStats):
      * platform/graphics/chromium/cc/CCThreadProxy.cpp:
      (WebCore::CCThreadProxy::implSideRenderingStatsOnImplThread):
      
      Source/WebKit/chromium:
      
      * src/WebLayerTreeView.cpp:
      (WebKit::WebLayerTreeView::renderingStats):
      * tests/CCLayerTreeHostTest.cpp:
      (WTF::CCLayerTreeHostTestScrollMultipleRedraw::drawLayersOnCCThread):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38366bb5
    • mitz@apple.com's avatar
      Fixed the build after r123418. · 554aee09
      mitz@apple.com authored
      * WebCore.exp.in: Added DocumentMarkerController::addTextMatchMarker.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      554aee09
    • mikelawther@chromium.org's avatar
      CSS3 calc: optimise blending expression · f647a0a8
      mikelawther@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90037
      
      Reviewed by Tony Chang.
      
      Introduce a new calc expression node - a BlendLength node. Given two Lengths and a progress
      this blends them together when evaluated.
      
      An alternative and more general approach of being able to blend two CalcExpressionNodes was
      tested, but involves more memory allocations, was measurably slower, and nothing currently
      would make use of the generality.
      
      No functional change. Covered by existing tests.
      
      * platform/CalculationValue.h:
      (CalcExpressionBlendLength):
      (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
      (WebCore::CalcExpressionBlendLength::operator==):
      (WebCore::CalcExpressionBlendLength::evaluate):
      (WebCore):
      * platform/Length.cpp:
      (WebCore::Length::blendCalculation):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f647a0a8
    • thakis@chromium.org's avatar
      [chromium] Show search tickmarks on css-styled scrollbars · c7ae2b49
      thakis@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91949
      
      Reviewed by Adrienne Walker.
      
      This is done by letting RenderScrollbarTheme::paintTickmarks()
      delegate to the native ScrollbarTheme. To make this possible,
      move paintTickmarks() from ScrollbarThemeComposite to the
      superclass ScrollbarTheme.
      
      For testing, add internals.addTextMatchMarker() and add a pixel test.
      
      * platform/ScrollbarTheme.h:
      (WebCore::ScrollbarTheme::paintTickmarks):
      Moved paintTickmarks() from ScrollbarThemeComposite to here.
      * platform/ScrollbarThemeComposite.h:
      Remove paintTickmarks().
      * platform/chromium/ScrollbarThemeChromium.cpp:
      (WebCore::ScrollbarThemeChromium::paintTickmarks):
      Switch to drawing tickmarks as vectors, so they can be arbitrarily wide.
      * platform/chromium/ScrollbarThemeChromiumMac.h:
      (ScrollbarThemeChromiumMac):
      Implement paintTickmarks(), so that css-styled scrollbars get tickmarks on mac.
      * platform/chromium/ScrollbarThemeChromiumMac.mm:
      (WebCore::ScrollbarThemeChromiumMac::paint):
      (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
      Implement paintTickmarks(), so that css-styled scrollbars get tickmarks on mac.
      * rendering/RenderScrollbarTheme.cpp:
      (WebCore::RenderScrollbarTheme::paintTickmarks):
      Delegate to the native ScrollbarTheme for tickmark drawing.
      (WebCore):
      * rendering/RenderScrollbarTheme.h:
      (RenderScrollbarTheme):
      Override paintTickmarks().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7ae2b49
    • commit-queue@webkit.org's avatar
      [chromium] Use shallow flushes that don't glFlush · 64fb381c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90325
      
      Patch by Brian Anderson <brianderson@chromium.org> on 2012-07-23
      Reviewed by Kenneth Russell.
      
      Source/Platform:
      
      Adds shallowFlushCHROMIUM to WebGraphicsContext3D.
      
      * chromium/public/WebGraphicsContext3D.h:
      (WebGraphicsContext3D):
      (WebKit::WebGraphicsContext3D::shallowFlushCHROMIUM):
      
      Source/WebCore:
      
      Adds plumbing for the shallowFlushCHROMIUM extension and uses
      shallow flushes instead of normal flushes when uploading textures.
      Shallow flushes allow us to initiate command buffer flushes to
      the GPU thread/process without the overhead of a true glFlush.
      
      CCTextureUpdaterTest updated to recognize shallow flushes.
      
      * platform/chromium/support/Extensions3DChromium.cpp:
      (WebCore::Extensions3DChromium::shallowFlushCHROMIUM):
      (WebCore):
      * platform/graphics/chromium/Extensions3DChromium.h:
      (Extensions3DChromium):
      * platform/graphics/chromium/cc/CCGraphicsContext.h:
      * platform/graphics/chromium/cc/CCResourceProvider.cpp:
      (WebCore::CCResourceProvider::shallowFlushIfSupported):
      (WebCore):
      (WebCore::CCResourceProvider::CCResourceProvider):
      (WebCore::CCResourceProvider::initialize):
      * platform/graphics/chromium/cc/CCResourceProvider.h:
      (CCResourceProvider):
      * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
      (WebCore::CCTextureUpdater::update):
      
      Source/WebKit/chromium:
      
      Changed CCTextureUpdaterTest to recognize shallowFlushCHROMIUM().
      
      * tests/CCTextureUpdaterTest.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123416 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      64fb381c