1. 24 Jul, 2012 4 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
    • 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
    • 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
    • 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 2 commits
    • 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
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix make distcheck. · 1280035e
      carlosgc@webkit.org authored
      * GNUmakefile.list.am: Add missing header files.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1280035e
  3. 20 Jul, 2012 2 commits
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r123182. · dc42e67f
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/123182
      https://bugs.webkit.org/show_bug.cgi?id=91863
      
      Causing ASSERT crashes in tests accessibility/canvas.html and
      accessibility/canvas-accessibilitynodeobject.html (Requested
      by jernoble on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-07-20
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * accessibility/AXObjectCache.cpp:
      (WebCore):
      * accessibility/AXObjectCache.h:
      (AXObjectCache):
      * accessibility/AccessibilityARIAGrid.cpp:
      (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
      (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
      (WebCore):
      (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:
      * accessibility/AccessibilityMenuList.h:
      (WebCore::AccessibilityMenuList::create):
      * accessibility/AccessibilityNodeObject.cpp: Removed.
      * accessibility/AccessibilityNodeObject.h: Removed.
      * accessibility/AccessibilityObject.h:
      (AccessibilityObject):
      * accessibility/AccessibilityProgressIndicator.cpp:
      (WebCore::AccessibilityProgressIndicator::create):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
      (WebCore::AccessibilityRenderObject::create):
      (WebCore::AccessibilityRenderObject::detach):
      (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
      (WebCore):
      (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
      (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
      (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
      (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
      (WebCore::AccessibilityRenderObject::childrenChanged):
      (WebCore::AccessibilityRenderObject::canHaveChildren):
      (WebCore::AccessibilityRenderObject::addChildren):
      * accessibility/AccessibilityRenderObject.h:
      (AccessibilityRenderObject):
      (WebCore::AccessibilityRenderObject::setRenderer):
      * accessibility/AccessibilitySlider.cpp:
      (WebCore::AccessibilitySlider::create):
      * accessibility/AccessibilityTable.cpp:
      (WebCore::AccessibilityTable::AccessibilityTable):
      (WebCore::AccessibilityTable::~AccessibilityTable):
      (WebCore):
      (WebCore::AccessibilityTable::create):
      * accessibility/AccessibilityTable.h:
      (AccessibilityTable):
      * accessibility/AccessibilityTableCell.cpp:
      (WebCore::AccessibilityTableCell::create):
      * accessibility/AccessibilityTableRow.cpp:
      (WebCore::AccessibilityTableRow::create):
      
      LayoutTests:
      
      * accessibility/canvas-accessibilitynodeobject-expected.txt: Removed.
      * accessibility/canvas-accessibilitynodeobject.html: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc42e67f
    • dmazzoni@google.com's avatar
      AX: Need AccessibilityObjects for nodes without renderers in canvas subtree · 53d9d927
      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@123182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53d9d927
  4. 17 Jul, 2012 3 commits
    • achicu@adobe.com's avatar
      Update ANGLE in WebKit · d20c247a
      achicu@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=89039
      
      Reviewed by Dean Jackson and Mark Rowe.
      
      Update ANGLE to r1170, with the following modifications:
      
      (1) Use Bison 2.3 instead of Bison 2.4.2 to generate ExpressionParser.cpp and
      glslang_tab.cpp. I had to modify ExpressionParser.y to make it compatible with Bison
      2.3. The changes have been contributed back to ANGLE in r1224.
      
      (2) Continue to recognize QNX as POSIX in ANGLE. This has been contributed back to ANGLE
      in r1223.
      
      (3) Rename ANGLE/src/compiler/preprocessor/new/Diagnostic.cpp to DiagnosticBase.cpp.
      Rename ANGLE/src/compiler/preprocessor/new/DirectiveHandler.cpp to DirectiveHandlerBase.cpp.
      
      With the introduction of ANGLE's new preprocessor, there were two files named Diagnostic.cpp
      in ANGLE under different folders. This caused problems on the QT build when their object
      files, both named Diagnostic.o, tried to go in the same folder. Renaming one of them to
      DiagnosticBase.cpp avoids this conflict. The same situation occurred with
      DirectiveHandler.cpp. I will work on contributing this change back to ANGLE for future
      updates.
      
      (4) Add the following lines to glslang.y and ExpressionParser.y:
      #define YYENABLE_NLS 0
      #define YYLTYPE_IS_TRIVIAL 1
      
      Bison 2.3 doesn't first check that these macros are defined before reading their value,
      which causes the QT build to fail.
      
      We work around this issue in the same way in CSSGrammar.y.
      
      I will work on contributing this change back to ANGLE.
      
      Source/ThirdParty/ANGLE: 
      
      * ANGLE.xcodeproj/project.pbxproj:
      * include/GLES2/gl2ext.h:
      * include/GLSLANG/ShaderLang.h:
      * src/build_angle.xcodeproj/project.pbxproj:
      * src/common/angleutils.h:
      * src/common/debug.cpp:
      (gl):
      (gl::output):
      (gl::trace):
      (gl::perfActive):
      (gl::ScopedPerfEventHelper::ScopedPerfEventHelper):
      (gl::ScopedPerfEventHelper::~ScopedPerfEventHelper):
      * src/common/version.h:
      * src/compiler/BuiltInFunctionEmulator.cpp:
      (BuiltInFunctionEmulator::IdentifyFunction):
      * src/compiler/BuiltInFunctionEmulator.h:
      * src/compiler/Compiler.cpp:
      (isWebGLBasedSpec):
      (TCompiler::compile):
      (TCompiler::rewriteCSSShader):
      (TCompiler::enforceTimingRestrictions):
      (TCompiler::enforceFragmentShaderTimingRestrictions):
      (TCompiler::enforceVertexShaderTimingRestrictions):
      * src/compiler/DetectDiscontinuity.cpp: Added.
      (sh::DetectLoopDiscontinuity::traverse):
      (sh):
      (sh::DetectLoopDiscontinuity::visitBranch):
      (sh::DetectLoopDiscontinuity::visitAggregate):
      (sh::containsLoopDiscontinuity):
      (sh::DetectGradientOperation::traverse):
      (sh::DetectGradientOperation::visitUnary):
      (sh::DetectGradientOperation::visitAggregate):
      (sh::containsGradientOperation):
      * src/compiler/DetectDiscontinuity.h: Added.
      (sh):
      (DetectLoopDiscontinuity):
      (DetectGradientOperation):
      * src/compiler/Diagnostics.cpp: Added.
      (TDiagnostics::TDiagnostics):
      (TDiagnostics::~TDiagnostics):
      (TDiagnostics::writeInfo):
      (TDiagnostics::writeDebug):
      (TDiagnostics::print):
      * src/compiler/Diagnostics.h: Added.
      (TDiagnostics):
      (TDiagnostics::infoSink):
      * src/compiler/DirectiveHandler.cpp: Added.
      (getBehavior):
      (TDirectiveHandler::TDirectiveHandler):
      (TDirectiveHandler::~TDirectiveHandler):
      (TDirectiveHandler::handleError):
      (TDirectiveHandler::handlePragma):
      (TDirectiveHandler::handleExtension):
      (TDirectiveHandler::handleVersion):
      * src/compiler/DirectiveHandler.h: Added.
      (TDirectiveHandler):
      (TDirectiveHandler::pragma):
      (TDirectiveHandler::extensionBehavior):
      * src/compiler/ExtensionBehavior.h:
      (getBehaviorString):
      * src/compiler/Initialize.cpp:
      (BuiltInConstants):
      (TBuiltIns::initialize):
      (IdentifyBuiltIns):
      * src/compiler/InitializeParseContext.cpp: Added.
      (InitializeParseContextIndex):
      (FreeParseContextIndex):
      (InitializeGlobalParseContext):
      (FreeParseContext):
      (GetGlobalParseContext):
      * src/compiler/InitializeParseContext.h:
      (TThreadParseContextRec):
      * src/compiler/Intermediate.cpp:
      (TIntermediate::addSelection):
      * src/compiler/MapLongVariableNames.cpp:
      * src/compiler/OutputHLSL.cpp:
      (sh::str):
      (sh::OutputHLSL::OutputHLSL):
      (sh::OutputHLSL::~OutputHLSL):
      (sh::OutputHLSL::output):
      (sh::OutputHLSL::header):
      (sh::OutputHLSL::visitBinary):
      (sh::OutputHLSL::visitUnary):
      (sh::OutputHLSL::visitAggregate):
      (sh::OutputHLSL::visitSelection):
      (sh::OutputHLSL::visitLoop):
      (sh::OutputHLSL::traverseStatements):
      (sh):
      (sh::OutputHLSL::handleExcessiveLoop):
      (sh::OutputHLSL::typeString):
      (sh::OutputHLSL::addConstructor):
      (sh::OutputHLSL::decorateField):
      * src/compiler/OutputHLSL.h:
      (sh):
      (OutputHLSL):
      * src/compiler/ParseHelper.cpp:
      (TParseContext::parseVectorFields):
      (TParseContext::parseMatrixFields):
      (TParseContext::error):
      (TParseContext::warning):
      (TParseContext::trace):
      (TParseContext::assignError):
      (TParseContext::unaryOpError):
      (TParseContext::binaryOpError):
      (TParseContext::precisionErrorCheck):
      (TParseContext::lValueErrorCheck):
      (TParseContext::constErrorCheck):
      (TParseContext::integerErrorCheck):
      (TParseContext::globalErrorCheck):
      (TParseContext::reservedErrorCheck):
      (TParseContext::constructorErrorCheck):
      (TParseContext::voidErrorCheck):
      (TParseContext::boolErrorCheck):
      (TParseContext::samplerErrorCheck):
      (TParseContext::structQualifierErrorCheck):
      (TParseContext::parameterSamplerErrorCheck):
      (TParseContext::arraySizeErrorCheck):
      (TParseContext::arrayQualifierErrorCheck):
      (TParseContext::arrayTypeErrorCheck):
      (TParseContext::arrayErrorCheck):
      (TParseContext::arraySetMaxSize):
      (TParseContext::nonInitConstErrorCheck):
      (TParseContext::nonInitErrorCheck):
      (TParseContext::paramErrorCheck):
      (TParseContext::extensionErrorCheck):
      (TParseContext::supportsExtension):
      (TParseContext::handleExtensionDirective):
      (TParseContext::handlePragmaDirective):
      (TParseContext::findFunction):
      (TParseContext::executeInitializer):
      (TParseContext::constructBuiltIn):
      (TParseContext::constructStruct):
      (TParseContext::addConstVectorNode):
      (TParseContext::addConstMatrixNode):
      (TParseContext::addConstArrayNode):
      (TParseContext::addConstStruct):
      (TParseContext::enterStructDeclaration):
      (TParseContext::structNestingErrorCheck):
      (PaParseStrings):
      * src/compiler/ParseHelper.h:
      (TParseContext::TParseContext):
      (TParseContext):
      (TParseContext::infoSink):
      (TParseContext::extensionBehavior):
      (TParseContext::pragma):
      * src/compiler/PoolAlloc.cpp:
      (TAllocation::checkGuardBlock):
      * src/compiler/Pragma.h: Added.
      (TPragma):
      (TPragma::TPragma):
      * src/compiler/RenameFunction.h: Added.
      (RenameFunction):
      (RenameFunction::RenameFunction):
      (RenameFunction::visitAggregate):
      * src/compiler/ShHandle.h:
      (TCompiler):
      * src/compiler/ShaderLang.cpp:
      (getVariableInfo):
      * src/compiler/SymbolTable.cpp:
      (TType::buildMangledName):
      * src/compiler/TranslatorHLSL.cpp:
      * src/compiler/UnfoldSelect.cpp: Removed.
      * src/compiler/UnfoldSelect.h: Removed.
      * src/compiler/UnfoldShortCircuit.cpp: Added.
      (sh::UnfoldShortCircuit::UnfoldShortCircuit):
      (sh):
      (sh::UnfoldShortCircuit::traverse):
      (sh::UnfoldShortCircuit::visitBinary):
      (sh::UnfoldShortCircuit::visitSelection):
      (sh::UnfoldShortCircuit::visitLoop):
      (sh::UnfoldShortCircuit::getNextTemporaryIndex):
      * src/compiler/UnfoldShortCircuit.h: Added.
      (sh):
      (UnfoldShortCircuit):
      * src/compiler/ValidateLimitations.cpp:
      * src/compiler/debug.cpp:
      * src/compiler/depgraph: Added.
      * src/compiler/depgraph/DependencyGraph.cpp: Added.
      (TDependencyGraph::TDependencyGraph):
      (TDependencyGraph::~TDependencyGraph):
      (TDependencyGraph::createArgument):
      (TDependencyGraph::createFunctionCall):
      (TDependencyGraph::getOrCreateSymbol):
      (TDependencyGraph::createSelection):
      (TDependencyGraph::createLoop):
      (TDependencyGraph::createLogicalOp):
      (TGraphLogicalOp::getOpString):
      * src/compiler/depgraph/DependencyGraph.h: Added.
      (TGraphNode):
      (TGraphNode::TGraphNode):
      (TGraphNode::~TGraphNode):
      (TGraphParentNode):
      (TGraphParentNode::TGraphParentNode):
      (TGraphParentNode::~TGraphParentNode):
      (TGraphParentNode::addDependentNode):
      (TGraphArgument):
      (TGraphArgument::TGraphArgument):
      (TGraphArgument::~TGraphArgument):
      (TGraphArgument::getIntermFunctionCall):
      (TGraphArgument::getArgumentNumber):
      (TGraphFunctionCall):
      (TGraphFunctionCall::TGraphFunctionCall):
      (TGraphFunctionCall::~TGraphFunctionCall):
      (TGraphFunctionCall::getIntermFunctionCall):
      (TGraphSymbol):
      (TGraphSymbol::TGraphSymbol):
      (TGraphSymbol::~TGraphSymbol):
      (TGraphSymbol::getIntermSymbol):
      (TGraphSelection):
      (TGraphSelection::TGraphSelection):
      (TGraphSelection::~TGraphSelection):
      (TGraphSelection::getIntermSelection):
      (TGraphLoop):
      (TGraphLoop::TGraphLoop):
      (TGraphLoop::~TGraphLoop):
      (TGraphLoop::getIntermLoop):
      (TGraphLogicalOp):
      (TGraphLogicalOp::TGraphLogicalOp):
      (TGraphLogicalOp::~TGraphLogicalOp):
      (TGraphLogicalOp::getIntermLogicalOp):
      (TDependencyGraph):
      (TDependencyGraph::begin):
      (TDependencyGraph::end):
      (TDependencyGraph::beginSamplerSymbols):
      (TDependencyGraph::endSamplerSymbols):
      (TDependencyGraph::beginUserDefinedFunctionCalls):
      (TDependencyGraph::endUserDefinedFunctionCalls):
      (TDependencyGraphTraverser):
      (TDependencyGraphTraverser::TDependencyGraphTraverser):
      (TDependencyGraphTraverser::visitSymbol):
      (TDependencyGraphTraverser::visitArgument):
      (TDependencyGraphTraverser::visitFunctionCall):
      (TDependencyGraphTraverser::visitSelection):
      (TDependencyGraphTraverser::visitLoop):
      (TDependencyGraphTraverser::visitLogicalOp):
      (TDependencyGraphTraverser::getDepth):
      (TDependencyGraphTraverser::incrementDepth):
      (TDependencyGraphTraverser::decrementDepth):
      (TDependencyGraphTraverser::clearVisited):
      (TDependencyGraphTraverser::markVisited):
      (TDependencyGraphTraverser::isVisited):
      * src/compiler/depgraph/DependencyGraphBuilder.cpp: Added.
      (TDependencyGraphBuilder::build):
      (TDependencyGraphBuilder::visitAggregate):
      (TDependencyGraphBuilder::visitFunctionDefinition):
      (TDependencyGraphBuilder::visitFunctionCall):
      (TDependencyGraphBuilder::visitAggregateChildren):
      (TDependencyGraphBuilder::visitSymbol):
      (TDependencyGraphBuilder::visitBinary):
      (TDependencyGraphBuilder::visitAssignment):
      (TDependencyGraphBuilder::visitLogicalOp):
      (TDependencyGraphBuilder::visitBinaryChildren):
      (TDependencyGraphBuilder::visitSelection):
      (TDependencyGraphBuilder::visitLoop):
      (TDependencyGraphBuilder::connectMultipleNodesToSingleNode):
      * src/compiler/depgraph/DependencyGraphBuilder.h: Added.
      (TDependencyGraphBuilder):
      (TNodeSetStack):
      (TDependencyGraphBuilder::TNodeSetStack::TNodeSetStack):
      (TDependencyGraphBuilder::TNodeSetStack::~TNodeSetStack):
      (TDependencyGraphBuilder::TNodeSetStack::getTopSet):
      (TDependencyGraphBuilder::TNodeSetStack::pushSet):
      (TDependencyGraphBuilder::TNodeSetStack::popSet):
      (TDependencyGraphBuilder::TNodeSetStack::popSetIntoNext):
      (TDependencyGraphBuilder::TNodeSetStack::insertIntoTopSet):
      (TDependencyGraphBuilder::TNodeSetStack::clear):
      (TNodeSetMaintainer):
      (TDependencyGraphBuilder::TNodeSetMaintainer::TNodeSetMaintainer):
      (TDependencyGraphBuilder::TNodeSetMaintainer::~TNodeSetMaintainer):
      (TNodeSetPropagatingMaintainer):
      (TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::TNodeSetPropagatingMaintainer):
      (TDependencyGraphBuilder::TNodeSetPropagatingMaintainer::~TNodeSetPropagatingMaintainer):
      (TLeftmostSymbolMaintainer):
      (TDependencyGraphBuilder::TLeftmostSymbolMaintainer::TLeftmostSymbolMaintainer):
      (TDependencyGraphBuilder::TLeftmostSymbolMaintainer::~TLeftmostSymbolMaintainer):
      (TDependencyGraphBuilder::TDependencyGraphBuilder):
      (TDependencyGraphBuilder::build):
      * src/compiler/depgraph/DependencyGraphOutput.cpp: Added.
      (TDependencyGraphOutput::outputIndentation):
      (TDependencyGraphOutput::visitArgument):
      (TDependencyGraphOutput::visitFunctionCall):
      (TDependencyGraphOutput::visitSymbol):
      (TDependencyGraphOutput::visitSelection):
      (TDependencyGraphOutput::visitLoop):
      (TDependencyGraphOutput::visitLogicalOp):
      (TDependencyGraphOutput::outputAllSpanningTrees):
      * src/compiler/depgraph/DependencyGraphOutput.h: Added.
      (TDependencyGraphOutput):
      (TDependencyGraphOutput::TDependencyGraphOutput):
      * src/compiler/depgraph/DependencyGraphTraverse.cpp: Added.
      (TGraphNode::traverse):
      (TGraphParentNode::traverse):
      (TGraphArgument::traverse):
      (TGraphFunctionCall::traverse):
      (TGraphSymbol::traverse):
      (TGraphSelection::traverse):
      (TGraphLoop::traverse):
      (TGraphLogicalOp::traverse):
      * src/compiler/glslang.h:
      * src/compiler/glslang.l:
      * src/compiler/glslang.y:
      * src/compiler/glslang_lex.cpp:
      (yy_buffer_state):
      (yyguts_t):
      (yy_get_previous_state):
      (yy_try_NUL_trans):
      (input):
      (yyensure_buffer_stack):
      (yy_scan_bytes):
      (yyget_leng):
      (string_input):
      (yyerror):
      (glslang_finalize):
      (glslang_scan):
      * src/compiler/glslang_tab.cpp:
      * src/compiler/intermediate.h:
      (TIntermAggregate::TIntermAggregate):
      (TIntermAggregate::~TIntermAggregate):
      (TIntermAggregate::isUserDefined):
      (TIntermAggregate):
      (TIntermTraverser::~TIntermTraverser):
      * src/compiler/osinclude.h:
      * src/compiler/preprocessor/atom.c:
      (FindHashLoc):
      (PrintAtomTable):
      * src/compiler/preprocessor/cpp.c:
      (CPPpragma):
      (readCPPline):
      (PredefineIntMacro):
      (MacroExpand):
      * src/compiler/preprocessor/cpp.h:
      * src/compiler/preprocessor/memory.h:
      * src/compiler/preprocessor/new: Added properties allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs, allow-tabs and allow-tabs.
      * src/compiler/preprocessor/new/Context.cpp: Removed.
      * src/compiler/preprocessor/new/Context.h: Removed.
      * src/compiler/preprocessor/new/Diagnostics.h: Added.
      (pp):
      (Diagnostics):
      * src/compiler/preprocessor/new/DiagnosticsBase.cpp: Added.
      (pp):
      (pp::Diagnostics::~Diagnostics):
      (pp::Diagnostics::report):
      (pp::Diagnostics::severity):
      * src/compiler/preprocessor/new/DirectiveHandler.h: Added.
      (pp):
      (DirectiveHandler):
      * src/compiler/preprocessor/new/DirectiveHandlerBase.cpp: Added.
      (pp):
      (pp::DirectiveHandler::~DirectiveHandler):
      * src/compiler/preprocessor/new/DirectiveParser.cpp: Added.
      (getDirective):
      (isConditionalDirective):
      (isEOD):
      (skipUntilEOD):
      (isMacroNameReserved):
      (isMacroPredefined):
      (pp):
      (DefinedParser):
      (pp::DefinedParser::DefinedParser):
      (pp::DefinedParser::lex):
      (pp::DirectiveParser::DirectiveParser):
      (pp::DirectiveParser::lex):
      (pp::DirectiveParser::parseDirective):
      (pp::DirectiveParser::parseDefine):
      (pp::DirectiveParser::parseUndef):
      (pp::DirectiveParser::parseIf):
      (pp::DirectiveParser::parseIfdef):
      (pp::DirectiveParser::parseIfndef):
      (pp::DirectiveParser::parseElse):
      (pp::DirectiveParser::parseElif):
      (pp::DirectiveParser::parseEndif):
      (pp::DirectiveParser::parseError):
      (pp::DirectiveParser::parsePragma):
      (pp::DirectiveParser::parseExtension):
      (pp::DirectiveParser::parseVersion):
      (pp::DirectiveParser::parseLine):
      (pp::DirectiveParser::skipping):
      (pp::DirectiveParser::parseConditionalIf):
      (pp::DirectiveParser::parseExpressionIf):
      (pp::DirectiveParser::parseExpressionIfdef):
      * src/compiler/preprocessor/new/DirectiveParser.h: Added.
      (pp):
      (DirectiveParser):
      (ConditionalBlock):
      (pp::DirectiveParser::ConditionalBlock::ConditionalBlock):
      * src/compiler/preprocessor/new/ExpressionParser.cpp: Added.
      (yysyntax_error):
      (yylex):
      (yyerror):
      (pp):
      (pp::ExpressionParser::ExpressionParser):
      (pp::ExpressionParser::parse):
      * src/compiler/preprocessor/new/ExpressionParser.h: Added.
      (pp):
      (ExpressionParser):
      * src/compiler/preprocessor/new/ExpressionParser.y: Added.
      * src/compiler/preprocessor/new/Input.cpp: Added property allow-tabs.
      (pp::Input::Input):
      (pp::Input::read):
      * src/compiler/preprocessor/new/Input.h: Added property allow-tabs.
      (pp):
      (Input):
      (pp::Input::count):
      (pp::Input::string):
      (pp::Input::length):
      (Location):
      (pp::Input::Location::Location):
      (pp::Input::readLoc):
      * src/compiler/preprocessor/new/Lexer.cpp: Added.
      (pp):
      (pp::Lexer::~Lexer):
      * src/compiler/preprocessor/new/Lexer.h: Added.
      (pp):
      (Lexer):
      * src/compiler/preprocessor/new/Macro.cpp: Added property allow-tabs.
      (pp::Macro::equals):
      * src/compiler/preprocessor/new/Macro.h: Added property allow-tabs.
      (pp):
      (pp::Macro::Macro):
      (Macro):
      * src/compiler/preprocessor/new/MacroExpander.cpp: Added.
      (pp):
      (TokenLexer):
      (pp::TokenLexer::TokenLexer):
      (pp::TokenLexer::lex):
      (pp::MacroExpander::MacroExpander):
      (pp::MacroExpander::~MacroExpander):
      (pp::MacroExpander::lex):
      (pp::MacroExpander::getToken):
      (pp::MacroExpander::ungetToken):
      (pp::MacroExpander::isNextTokenLeftParen):
      (pp::MacroExpander::pushMacro):
      (pp::MacroExpander::popMacro):
      (pp::MacroExpander::expandMacro):
      (pp::MacroExpander::collectMacroArgs):
      (pp::MacroExpander::replaceMacroParams):
      * src/compiler/preprocessor/new/MacroExpander.h: Added.
      (pp):
      (MacroExpander):
      (MacroContext):
      (pp::MacroExpander::MacroContext::MacroContext):
      (pp::MacroExpander::MacroContext::empty):
      (pp::MacroExpander::MacroContext::get):
      (pp::MacroExpander::MacroContext::unget):
      * src/compiler/preprocessor/new/Preprocessor.cpp: Added property allow-tabs.
      (PreprocessorImpl):
      (pp::PreprocessorImpl::PreprocessorImpl):
      (pp):
      (pp::Preprocessor::Preprocessor):
      (pp::Preprocessor::~Preprocessor):
      (pp::Preprocessor::init):
      (pp::Preprocessor::predefineMacro):
      (pp::Preprocessor::lex):
      * src/compiler/preprocessor/new/Preprocessor.h: Added property allow-tabs.
      (pp):
      (Preprocessor):
      * src/compiler/preprocessor/new/SourceLocation.h: Added.
      (pp):
      (pp::SourceLocation::SourceLocation):
      (SourceLocation):
      (pp::SourceLocation::equals):
      (pp::operator==):
      (pp::operator!=):
      * src/compiler/preprocessor/new/Token.cpp: Added property allow-tabs.
      (pp::Token::reset):
      (pp::Token::equals):
      (pp::Token::setAtStartOfLine):
      (pp::Token::setHasLeadingSpace):
      (pp):
      (pp::Token::setExpansionDisabled):
      (pp::operator<<):
      * src/compiler/preprocessor/new/Token.h: Added property allow-tabs.
      (pp::Token::Token):
      (Token):
      (pp::Token::atStartOfLine):
      (pp::Token::hasLeadingSpace):
      (pp::Token::expansionDisabled):
      (pp::operator==):
      (pp):
      (pp::operator!=):
      * src/compiler/preprocessor/new/Tokenizer.cpp: Added.
      (yy_buffer_state):
      (yy_trans_info):
      (yyguts_t):
      (yy_get_previous_state):
      (yy_try_NUL_trans):
      (input):
      (pprestart):
      (pp_switch_to_buffer):
      (pp_load_buffer_state):
      (pp_create_buffer):
      (pp_delete_buffer):
      (pp_init_buffer):
      (pp_flush_buffer):
      (pppush_buffer_state):
      (pppop_buffer_state):
      (ppensure_buffer_stack):
      (pp_scan_buffer):
      (pp_scan_string):
      (pp_scan_bytes):
      (yy_fatal_error):
      (ppget_extra):
      (ppget_lineno):
      (ppget_column):
      (ppget_in):
      (ppget_out):
      (ppget_leng):
      (ppget_text):
      (ppset_extra):
      (ppset_lineno):
      (ppset_column):
      (ppset_in):
      (ppset_out):
      (ppget_debug):
      (ppset_debug):
      (ppget_lval):
      (ppset_lval):
      (ppget_lloc):
      (ppset_lloc):
      (pplex_init):
      (pplex_init_extra):
      (yy_init_globals):
      (pplex_destroy):
      (yy_flex_strncpy):
      (yy_flex_strlen):
      (ppalloc):
      (pprealloc):
      (ppfree):
      (pp):
      (pp::Tokenizer::Tokenizer):
      (pp::Tokenizer::~Tokenizer):
      (pp::Tokenizer::init):
      (pp::Tokenizer::setFileNumber):
      (pp::Tokenizer::setLineNumber):
      (pp::Tokenizer::lex):
      (pp::Tokenizer::initScanner):
      (pp::Tokenizer::destroyScanner):
      * src/compiler/preprocessor/new/Tokenizer.h: Added.
      (pp):
      (Tokenizer):
      (Context):
      * src/compiler/preprocessor/new/Tokenizer.l: Added.
      * src/compiler/preprocessor/new/generate_parser.sh: Added property allow-tabs.
      * src/compiler/preprocessor/new/pp.l: Removed.
      * src/compiler/preprocessor/new/pp.y: Removed.
      * src/compiler/preprocessor/new/pp_lex.cpp: Removed.
      * src/compiler/preprocessor/new/pp_tab.cpp: Removed.
      * src/compiler/preprocessor/new/pp_tab.h: Removed.
      * src/compiler/preprocessor/new/pp_utils.h: Added.
      * src/compiler/preprocessor/new/preprocessor.vcproj: Added.
      * src/compiler/preprocessor/new/stl_utils.h: Removed.
      * src/compiler/preprocessor/new/token_type.h: Removed.
      * src/compiler/preprocessor/preprocess.h:
      * src/compiler/preprocessor/scanner.c:
      (InitScannerInput):
      * src/compiler/preprocessor/scanner.h:
      * src/compiler/preprocessor/symbols.h:
      * src/compiler/preprocessor/tokens.c:
      (ReadToken):
      (DumpTokenStream):
      * src/compiler/preprocessor/tokens.h:
      * src/compiler/timing: Added.
      * src/compiler/timing/RestrictFragmentShaderTiming.cpp: Added.
      (RestrictFragmentShaderTiming::RestrictFragmentShaderTiming):
      (RestrictFragmentShaderTiming::enforceRestrictions):
      (RestrictFragmentShaderTiming::validateUserDefinedFunctionCallUsage):
      (RestrictFragmentShaderTiming::beginError):
      (RestrictFragmentShaderTiming::isSamplingOp):
      (RestrictFragmentShaderTiming::visitArgument):
      (RestrictFragmentShaderTiming::visitSelection):
      (RestrictFragmentShaderTiming::visitLoop):
      (RestrictFragmentShaderTiming::visitLogicalOp):
      * src/compiler/timing/RestrictFragmentShaderTiming.h: Added.
      (RestrictFragmentShaderTiming):
      (RestrictFragmentShaderTiming::numErrors):
      * src/compiler/timing/RestrictVertexShaderTiming.cpp: Added.
      (RestrictVertexShaderTiming::visitSymbol):
      * src/compiler/timing/RestrictVertexShaderTiming.h: Added.
      (RestrictVertexShaderTiming):
      (RestrictVertexShaderTiming::RestrictVertexShaderTiming):
      (RestrictVertexShaderTiming::enforceRestrictions):
      (RestrictVertexShaderTiming::numErrors):
      * src/libEGL/Display.cpp:
      (egl):
      (egl::Display::getDepthTextureSupport):
      (egl::Display::getTexturePool):
      * src/libEGL/Display.h:
      (Display):
      * src/libEGL/Surface.cpp:
      (egl::Surface::Surface):
      (egl::Surface::release):
      (egl::Surface::resetSwapChain):
      (egl::Surface::swapRect):
      (egl):
      (egl::Surface::swap):
      (egl::Surface::postSubBuffer):
      * src/libEGL/Surface.h:
      (Surface):
      * src/libEGL/libEGL.cpp:
      * src/libGLESv2/Context.cpp:
      (gl::Context::makeCurrent):
      (gl::Context::markDxUniformsDirty):
      (gl):
      (gl::Context::getIntegerv):
      (gl::Context::getQueryParameterInfo):
      (gl::Context::applyRenderTarget):
      (gl::Context::applyState):
      (gl::Context::applyShaders):
      (gl::Context::applyTextures):
      (gl::Context::readPixels):
      (gl::Context::clear):
      (gl::Context::drawArrays):
      (gl::Context::drawElements):
      (gl::Context::supportsDepthTextures):
      (gl::Context::initExtensionString):
      (gl::Context::blitFramebuffer):
      (gl::VertexDeclarationCache::applyDeclaration):
      * src/libGLESv2/Context.h:
      (Context):
      * src/libGLESv2/Framebuffer.cpp:
      (gl::Framebuffer::~Framebuffer):
      (gl):
      (gl::Framebuffer::getNullColorbuffer):
      (gl::Framebuffer::completeness):
      * src/libGLESv2/Framebuffer.h:
      (Framebuffer):
      * src/libGLESv2/Program.cpp:
      (gl):
      (gl::AttributeBindings::AttributeBindings):
      (gl::AttributeBindings::~AttributeBindings):
      (gl::InfoLog::InfoLog):
      (gl::InfoLog::~InfoLog):
      (gl::InfoLog::getLength):
      (gl::InfoLog::getLog):
      (gl::InfoLog::appendSanitized):
      (gl::InfoLog::append):
      (gl::InfoLog::reset):
      (gl::Program::Program):
      (gl::Program::~Program):
      (gl::Program::attachShader):
      (gl::Program::detachShader):
      (gl::Program::getAttachedShadersCount):
      (gl::AttributeBindings::bindAttributeLocation):
      (gl::Program::bindAttributeLocation):
      (gl::Program::link):
      (gl::AttributeBindings::getAttributeBinding):
      (gl::Program::unlink):
      (gl::Program::getProgramBinary):
      (gl::Program::setProgramBinary):
      (gl::Program::getInfoLogLength):
      (gl::Program::getInfoLog):
      (gl::Program::getActiveAttribute):
      (gl::Program::getActiveAttributeCount):
      (gl::Program::getActiveAttributeMaxLength):
      (gl::Program::getActiveUniform):
      (gl::Program::getActiveUniformCount):
      (gl::Program::getActiveUniformMaxLength):
      (gl::Program::validate):
      (gl::Program::isValidated):
      * src/libGLESv2/Program.h:
      (gl):
      (AttributeBindings):
      (InfoLog):
      (Program):
      * src/libGLESv2/ProgramBinary.cpp: Added.
      (gl::str):
      (gl):
      (gl::Uniform::Uniform):
      (gl::Uniform::~Uniform):
      (gl::Uniform::isArray):
      (gl::UniformLocation::UniformLocation):
      (gl::ProgramBinary::ProgramBinary):
      (gl::ProgramBinary::~ProgramBinary):
      (gl::ProgramBinary::getPixelShader):
      (gl::ProgramBinary::getVertexShader):
      (gl::ProgramBinary::getAttributeLocation):
      (gl::ProgramBinary::getSemanticIndex):
      (gl::ProgramBinary::getUsedSamplerRange):
      (gl::ProgramBinary::getSamplerMapping):
      (gl::ProgramBinary::getSamplerTextureType):
      (gl::ProgramBinary::getUniformLocation):
      (gl::ProgramBinary::setUniform1fv):
      (gl::ProgramBinary::setUniform2fv):
      (gl::ProgramBinary::setUniform3fv):
      (gl::ProgramBinary::setUniform4fv):
      (gl::transposeMatrix):
      (gl::ProgramBinary::setUniformMatrix2fv):
      (gl::ProgramBinary::setUniformMatrix3fv):
      (gl::ProgramBinary::setUniformMatrix4fv):
      (gl::ProgramBinary::setUniform1iv):
      (gl::ProgramBinary::setUniform2iv):
      (gl::ProgramBinary::setUniform3iv):
      (gl::ProgramBinary::setUniform4iv):
      (gl::ProgramBinary::getUniformfv):
      (gl::ProgramBinary::getUniformiv):
      (gl::ProgramBinary::dirtyAllUniforms):
      (gl::ProgramBinary::applyUniforms):
      (gl::ProgramBinary::compileToBinary):
      (gl::ProgramBinary::packVaryings):
      (gl::ProgramBinary::linkVaryings):
      (gl::ProgramBinary::link):
      (gl::ProgramBinary::linkAttributes):
      (gl::ProgramBinary::linkUniforms):
      (gl::ProgramBinary::defineUniform):
      (gl::ProgramBinary::createUniform):
      (gl::ProgramBinary::decorateAttribute):
      (gl::ProgramBinary::undecorateUniform):
      (gl::ProgramBinary::applyUniformnbv):
      (gl::ProgramBinary::applyUniformnfv):
      (gl::ProgramBinary::applyUniform1iv):
      (gl::ProgramBinary::applyUniform2iv):
      (gl::ProgramBinary::applyUniform3iv):
      (gl::ProgramBinary::applyUniform4iv):
      (gl::ProgramBinary::applyUniformniv):
      (gl::ProgramBinary::isValidated):
      (gl::ProgramBinary::getActiveAttribute):
      (gl::ProgramBinary::getActiveAttributeCount):
      (gl::ProgramBinary::getActiveAttributeMaxLength):
      (gl::ProgramBinary::getActiveUniform):
      (gl::ProgramBinary::getActiveUniformCount):
      (gl::ProgramBinary::getActiveUniformMaxLength):
      (gl::ProgramBinary::validate):
      (gl::ProgramBinary::validateSamplers):
      (gl::ProgramBinary::getDxDepthRangeLocation):
      (gl::ProgramBinary::getDxDepthLocation):
      (gl::ProgramBinary::getDxCoordLocation):
      (gl::ProgramBinary::getDxHalfPixelSizeLocation):
      (gl::ProgramBinary::getDxFrontCCWLocation):
      (gl::ProgramBinary::getDxPointsOrLinesLocation):
      * src/libGLESv2/ProgramBinary.h: Added.
      (gl):
      (Uniform):
      (gl::Uniform::RegisterInfo::RegisterInfo):
      (RegisterInfo):
      (gl::Uniform::RegisterInfo::set):
      (UniformLocation):
      (ProgramBinary):
      (Sampler):
      * src/libGLESv2/Renderbuffer.cpp:
      (gl):
      (gl::RenderbufferTexture2D::RenderbufferTexture2D):
      (gl::RenderbufferTexture2D::~RenderbufferTexture2D):
      (gl::RenderbufferTexture2D::addProxyRef):
      (gl::RenderbufferTexture2D::releaseProxy):
      (gl::RenderbufferTexture2D::getRenderTarget):
      (gl::RenderbufferTexture2D::getDepthStencil):
      (gl::RenderbufferTexture2D::getWidth):
      (gl::RenderbufferTexture2D::getHeight):
      (gl::RenderbufferTexture2D::getInternalFormat):
      (gl::RenderbufferTexture2D::getD3DFormat):
      (gl::RenderbufferTexture2D::getSamples):
      (gl::RenderbufferTexture2D::getSerial):
      (gl::RenderbufferTextureCubeMap::RenderbufferTextureCubeMap):
      (gl::RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap):
      (gl::RenderbufferTextureCubeMap::addProxyRef):
      (gl::RenderbufferTextureCubeMap::releaseProxy):
      (gl::RenderbufferTextureCubeMap::getRenderTarget):
      (gl::RenderbufferTextureCubeMap::getDepthStencil):
      (gl::RenderbufferTextureCubeMap::getWidth):
      (gl::RenderbufferTextureCubeMap::getHeight):
      (gl::RenderbufferTextureCubeMap::getInternalFormat):
      (gl::RenderbufferTextureCubeMap::getD3DFormat):
      (gl::RenderbufferTextureCubeMap::getSamples):
      (gl::RenderbufferTextureCubeMap::getSerial):
      (gl::DepthStencilbuffer::getDepthStencil):
      * src/libGLESv2/Renderbuffer.h:
      (gl):
      (RenderbufferTexture2D):
      (RenderbufferTextureCubeMap):
      * src/libGLESv2/Shader.cpp:
      (gl::Shader::getInfoLog):
      (gl::Shader::getSourceImpl):
      * src/libGLESv2/Shader.h:
      (Shader):
      (VertexShader):
      * src/libGLESv2/Texture.cpp:
      (gl::ConvertTextureFormatType):
      (gl::IsTextureFormatRenderable):
      (gl::GetTextureUsage):
      (gl):
      (gl::Image::createSurface):
      (gl::Image::updateSurface):
      (gl::Image::loadData):
      (gl::Image::loadAlphaData):
      (gl::Image::loadAlphaDataSSE2):
      (gl::Image::loadAlphaFloatData):
      (gl::Image::loadAlphaHalfFloatData):
      (gl::Image::loadLuminanceData):
      (gl::Image::loadLuminanceFloatData):
      (gl::Image::loadLuminanceHalfFloatData):
      (gl::Image::loadLuminanceAlphaData):
      (gl::Image::loadLuminanceAlphaFloatData):
      (gl::Image::loadLuminanceAlphaHalfFloatData):
      (gl::Image::loadRGBUByteData):
      (gl::Image::loadRGB565Data):
      (gl::Image::loadRGBFloatData):
      (gl::Image::loadRGBHalfFloatData):
      (gl::Image::loadRGBAUByteDataSSE2):
      (gl::Image::loadRGBAUByteData):
      (gl::Image::loadRGBA4444Data):
      (gl::Image::loadRGBA5551Data):
      (gl::Image::loadRGBAFloatData):
      (gl::Image::loadRGBAHalfFloatData):
      (gl::Image::loadBGRAData):
      (gl::Image::loadCompressedData):
      (gl::Image::copy):
      (gl::TextureStorage::TextureStorage):
      (gl::TextureStorage::isRenderTarget):
      (gl::TextureStorage::getUsage):
      (gl::Texture::setImage):
      (gl::Texture::setCompressedImage):
      (gl::Texture::subImage):
      (gl::Texture::subImageCompressed):
      (gl::TextureStorage2D::TextureStorage2D):
      (gl::Texture2D::getInternalFormat):
      (gl::Texture2D::getD3DFormat):
      (gl::Texture2D::copyImage):
      (gl::Texture2D::copySubImage):
      (gl::Texture2D::storage):
      (gl::Texture2D::isSamplerComplete):
      (gl::Texture2D::isCompressed):
      (gl::Texture2D::isDepth):
      (gl::Texture2D::createTexture):
      (gl::Texture2D::convertToRenderTarget):
      (gl::Texture2D::getRenderbuffer):
      (gl::Texture2D::getRenderTarget):
      (gl::Texture2D::getDepthStencil):
      (gl::TextureStorageCubeMap::TextureStorageCubeMap):
      (gl::TextureCubeMap::getWidth):
      (gl::TextureCubeMap::getHeight):
      (gl::TextureCubeMap::getInternalFormat):
      (gl::TextureCubeMap::getD3DFormat):
      (gl::TextureCubeMap::isSamplerComplete):
      (gl::TextureCubeMap::isCompressed):
      (gl::TextureCubeMap::createTexture):
      (gl::TextureCubeMap::convertToRenderTarget):
      (gl::TextureCubeMap::copyImage):
      (gl::TextureCubeMap::copySubImage):
      (gl::TextureCubeMap::storage):
      (gl::TextureCubeMap::getRenderbuffer):
      * src/libGLESv2/Texture.h:
      (Image):
      (TextureStorage):
      (Texture):
      (TextureStorage2D):
      (Texture2D):
      (TextureStorageCubeMap):
      (TextureCubeMap):
      * src/libGLESv2/VertexDataManager.cpp:
      (gl::VertexDataManager::prepareVertexData):
      * src/libGLESv2/libGLESv2.cpp:
      (checkTextureFormatType):
      (validateSubImageParams2D):
      (validateSubImageParamsCube):
      * src/libGLESv2/libGLESv2.vcproj:
      * src/libGLESv2/mathutil.h:
      (gl):
      * src/libGLESv2/utilities.cpp:
      (gl::IsDepthTexture):
      (gl):
      (gl::ComputePixelSize):
      (gl::ExtractFormat):
      (gl::ExtractType):
      (es2dx::ConvertCubeFace):
      (es2dx::ConvertRenderbufferFormat):
      (dx2es::GetStencilSize):
      (dx2es::GetDepthSize):
      (dx2es::IsDepthTextureFormat):
      (dx2es):
      (dx2es::IsStencilTextureFormat):
      (dx2es::ConvertDepthStencilFormat):
      * src/libGLESv2/utilities.h:
      (gl):
      (dx2es):
      
      Source/WebCore: 
      
      No new tests. No change in behavior.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d20c247a
    • shinyak@chromium.org's avatar
      Shadow DOM for img element · bef62179
      shinyak@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90532
      
      Reviewed by Hajime Morita.
      
      Source/WebCore:
      
      This patch adds Shadow DOM support for img element.
      
      According to the Shadow DOM spec, img element should behave like having a user agent Shadow DOM.
      However, if we add Shadow DOM to img by default, it will cause performance regression and memory bloat.
      
      So, we would like to postpone adding a Shadow DOM to img until when we really need it. In other words,
      we add our User Agent Shadow DOM to img just before a user adds Author Shadow DOM.
      
      The User Agent Shadow DOM for img has only one element, which displays an image. If img has
      a Shadow DOM, img will behave like <span style="display: inline-block"> by default. The display style can
      be chagned using CSS though.
      
      This patch also adds ImageLoaderClient. The element we render an image and the element we take an argument
      from were the same, however not they might be different. We would like to encapsulate the fact into
      ImageLoaderClient.
      
      Tests: fast/dom/shadow/shadowdom-for-image-alt-update.html
             fast/dom/shadow/shadowdom-for-image-alt.html
             fast/dom/shadow/shadowdom-for-image-content.html
             fast/dom/shadow/shadowdom-for-image-dynamic.html
             fast/dom/shadow/shadowdom-for-image-event-click.html
             fast/dom/shadow/shadowdom-for-image-in-shadowdom.html
             fast/dom/shadow/shadowdom-for-image-map.html
             fast/dom/shadow/shadowdom-for-image-style.html
             fast/dom/shadow/shadowdom-for-image-with-multiple-shadow.html
             fast/dom/shadow/shadowdom-for-image-with-width-and-height.html
             fast/dom/shadow/shadowdom-for-image.html
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * css/html.css:
      (img):
      * html/HTMLImageElement.cpp:
      (WebCore::ImageElement::setImageIfNecessary):
      (WebCore):
      (WebCore::ImageElement::createRendererForImage):
      (WebCore::HTMLImageElement::willAddAuthorShadowRoot): When we don't have a user agent Shadow DOM yet
      we add it.
      (WebCore::HTMLImageElement::createShadowSubtree):
      (WebCore::HTMLImageElement::imageElement):
      (WebCore::HTMLImageElement::parseAttribute):
      (WebCore::HTMLImageElement::createRenderer): If a user agent Shadow DOM is attached, we create
      Renderer from style, instead of creating RenderImage.
      (WebCore::HTMLImageElement::attach):
      (WebCore::HTMLImageElement::innerElement):
      * html/HTMLImageElement.h:
      (WebCore):
      (ImageElement):
      (HTMLImageElement):
      (WebCore::HTMLImageElement::sourceElement):
      (WebCore::HTMLImageElement::refSourceElement):
      (WebCore::HTMLImageElement::derefSourceElement):
      (WebCore::HTMLImageElement::imageRenderer):
      (WebCore::HTMLImageElement::imageLoader):
      (WebCore::isHTMLImageElement):
      (WebCore::toHTMLImageElement):
      * html/HTMLImageLoader.cpp:
      (WebCore::HTMLImageLoader::HTMLImageLoader):
      (WebCore::HTMLImageLoader::dispatchLoadEvent):
      (WebCore::HTMLImageLoader::sourceURI):
      (WebCore::HTMLImageLoader::notifyFinished):
      * html/HTMLImageLoader.h:
      (HTMLImageLoader):
      * html/HTMLInputElement.h:
      * html/HTMLObjectElement.h:
      * html/HTMLPlugInElement.h:
      * html/HTMLTagNames.in:
      * html/HTMLVideoElement.h:
      * html/shadow/ImageInnerElement.cpp: Added.
      (WebCore):
      (WebCore::ImageInnerElement::ImageInnerElement):
      (WebCore::ImageInnerElement::hostImage):
      (WebCore::ImageInnerElement::imageLoader):
      (WebCore::ImageInnerElement::attach):
      (WebCore::ImageInnerElement::createRenderer):
      * html/shadow/ImageInnerElement.h: Added.
      (WebCore):
      (ImageInnerElement):
      (WebCore::ImageInnerElement::imageRenderer):
      (WebCore::ImageInnerElement::create):
      (WebCore::isImageInnerElement):
      (WebCore::toImageInnerElement):
      * loader/ImageLoader.cpp:
      (WebCore::ImageLoader::ImageLoader):
      (WebCore::ImageLoader::~ImageLoader):
      (WebCore):
      (WebCore::ImageLoader::document):
      (WebCore::ImageLoader::updateFromElement):
      (WebCore::ImageLoader::notifyFinished):
      (WebCore::ImageLoader::renderImageResource):
      (WebCore::ImageLoader::updatedHasPendingLoadEvent):
      (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
      (WebCore::ImageLoader::dispatchPendingLoadEvent):
      (WebCore::ImageLoader::dispatchPendingErrorEvent):
      * loader/ImageLoader.h:
      (WebCore):
      (ImageLoader):
      (WebCore::ImageLoader::client):
      * loader/ImageLoaderClient.h: Added.
      (WebCore):
      (ImageLoaderClient): Provides the necessary interfaces to ImageLoader.
      (WebCore::ImageLoaderClient::~ImageLoaderClient):
      (ImageLoaderClientBase):
      (WebCore::ImageLoaderClientBase::sourceElement):
      (WebCore::ImageLoaderClientBase::imageElement):
      (WebCore::ImageLoaderClientBase::refSourceElement):
      (WebCore::ImageLoaderClientBase::derefSourceElement):
      * rendering/RenderImage.cpp:
      (WebCore::RenderImage::paintIntoRect):
      (WebCore::RenderImage::imageMap):
      (WebCore::RenderImage::updateAltText):
      (WebCore::RenderImage::hostImageElement):
      (WebCore):
      * rendering/RenderImage.h:
      (WebCore):
      (RenderImage):
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::shouldRespectImageOrientation):
      * svg/SVGImageElement.h:
      (SVGImageElement):
      * svg/SVGImageLoader.cpp:
      (WebCore::SVGImageLoader::SVGImageLoader):
      (WebCore::SVGImageLoader::dispatchLoadEvent):
      (WebCore::SVGImageLoader::sourceURI):
      * svg/SVGImageLoader.h:
      (SVGImageLoader):
      
      LayoutTests:
      
      Contains the following test cases.
      (1) ShadowDOM is attached to an img element and use a shadow element
      (2) ShadowDOM is attached to an img element and use a content element
      (3) width and height are specified
      (4) src attribute is dynamically changed
      (5) multiple ShadowDOMs are attached to an img element
      (6) ShadowDOM is attached to an img element in Shadow DOM
      (7) event retargetting
      (8) img with display: none, display: inline, display: block
      (9) image map
      (10) alt text
      (11) alt text with dynamic update
      
      * fast/dom/shadow/shadowdom-for-image-alt-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-alt-update-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-alt-update.html: Added.
      * fast/dom/shadow/shadowdom-for-image-alt.html: Added.
      * fast/dom/shadow/shadowdom-for-image-content-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-content.html: Added.
      * fast/dom/shadow/shadowdom-for-image-dynamic-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-dynamic.html: Added.
      * fast/dom/shadow/shadowdom-for-image-event-click-expected.txt: Added.
      * fast/dom/shadow/shadowdom-for-image-event-click.html: Added.
      * fast/dom/shadow/shadowdom-for-image-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-in-shadowdom-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-in-shadowdom.html: Added.
      * fast/dom/shadow/shadowdom-for-image-map-expected.txt: Added.
      * fast/dom/shadow/shadowdom-for-image-map.html: Added.
      * fast/dom/shadow/shadowdom-for-image-style-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-style.html: Added.
      * fast/dom/shadow/shadowdom-for-image-with-multiple-shadow-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-with-multiple-shadow.html: Added.
      * fast/dom/shadow/shadowdom-for-image-with-width-and-height-expected.html: Added.
      * fast/dom/shadow/shadowdom-for-image-with-width-and-height.html: Added.
      * fast/dom/shadow/shadowdom-for-image.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bef62179
    • gyuyoung.kim@samsung.com's avatar
      Add RegisterProtocolHandlerClient to the Modules/protocolhandler · cd6b2961
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=90940
      
      Reviewed by Hajime Morita.
      
      Source/WebCore:
      
      As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
      to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
      protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
      
      In addition, NavigatorRegisterProtocolHandler should be supplementable.
      
      No new tests. Covered by existing tests.
      
      * GNUmakefile.list.am:
      * Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp:
      (WebCore::NavigatorRegisterProtocolHandler::from):
      (WebCore::NavigatorRegisterProtocolHandler::create):
      (WebCore):
      (WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):
      (WebCore::customHandlersStateString):
      (WebCore::NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered):
      (WebCore::NavigatorRegisterProtocolHandler::unregisterProtocolHandler):
      (WebCore::NavigatorRegisterProtocolHandler::supplementName):
      (WebCore::provideRegisterProtocolHandlerTo):
      * Modules/protocolhandler/NavigatorRegisterProtocolHandler.h:
      (WebCore):
      (NavigatorRegisterProtocolHandler):
      (WebCore::NavigatorRegisterProtocolHandler::NavigatorRegisterProtocolHandler):
      (WebCore::NavigatorRegisterProtocolHandler::client):
      * Modules/protocolhandler/RegisterProtocolHandlerClient.h: Added.
      (WebCore):
      (RegisterProtocolHandlerClient):
      * WebCore.gypi:
      * loader/EmptyClients.h:
      * page/ChromeClient.h:
      (ChromeClient):
      * platform/network/soup/CookieJarSoup.cpp:
      (WebCore::setCookies):
      (WebCore::getRawCookies):
      
      Source/WebKit:
      
      As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
      to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
      protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
      
      * PlatformEfl.cmake: Add RegisterProtocolHandlerEfl files and include path.
      
      Source/WebKit/chromium:
      
      As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
      to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
      protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
      
      In order to support this, RegisterProtocolHandlerClientImpl class is added to ChromeClientImpl files.
      
      In addition, existing functions related to protocol handler in ChromeClientImpl class are moved to
      RegisterProtocolHandlerClientImpl class.
      
      * WebKit.gyp:
      * src/ChromeClientImpl.cpp: Implement RegisterProtocolHandlerClientImpl class.
      (WebKit):
      (WebKit::RegisterProtocolHandlerClientImpl::create):
      (WebKit::RegisterProtocolHandlerClientImpl::RegisterProtocolHandlerClientImpl):
      (WebKit::RegisterProtocolHandlerClientImpl::registerProtocolHandler):
      * src/ChromeClientImpl.h:
      (ChromeClientImpl):
      (RegisterProtocolHandlerClientImpl):
      (WebKit::RegisterProtocolHandlerClientImpl::~RegisterProtocolHandlerClientImpl):
      (WebKit):
      * src/WebViewImpl.cpp: Register RegisterProtocolHandlerClientImpl in order to support supplement.
      (WebKit::WebViewImpl::WebViewImpl):
      * src/WebViewImpl.h:
      
      Source/WebKit/efl:
      
      As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
      to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
      protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient
      
      In order to support this, RegisterProtocolHandlerClientEfl class is added and ewk_view registers
      RegisterProtocolHandlerClientEfl. In addition, existing concrete functions in ChromeClientEfl are moved
      to RegisterProtocolHandlerClientEfl.
      
      * WebCoreSupport/ChromeClientEfl.cpp:
      (WebCore):
      * WebCoreSupport/ChromeClientEfl.h:
      * WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp: Added.
      (WebCore):
      (WebCore::customHandlerDataCreate):
      (WebCore::customHandlerDataDelete):
      (WebCore::RegisterProtocolHandlerClientEfl::RegisterProtocolHandlerClientEfl):
      (WebCore::RegisterProtocolHandlerClientEfl::registerProtocolHandler):
      (WebCore::RegisterProtocolHandlerClientEfl::isProtocolHandlerRegistered):
      (WebCore::RegisterProtocolHandlerClientEfl::unregisterProtocolHandler):
      * WebCoreSupport/RegisterProtocolHandlerClientEfl.h: Added.
      (RegisterProtocolHandlerClientEfl):
      (WebCore::RegisterProtocolHandlerClientEfl::~RegisterProtocolHandlerClientEfl):
      * ewk/ewk_view.cpp:
      (_ewk_view_priv_new):
      
      Source/WebKit/gtk:
      
      As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
      to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
      protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
      
      In order to support this, RegisterProtocolHandlerClientGtk class is added and webview registers
      RegisterProtocolHandlerClientGtk. In addition, existing concrete functions in ChromeClientGtk are moved
      to RegisterProtocolHandlerClientGtk.
      
      * GNUmakefile.am:
      * WebCoreSupport/ChromeClientGtk.cpp:
      * WebCoreSupport/ChromeClientGtk.h:
      (ChromeClient):
      * WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp: Added.
      (WebKit):
      (WebKit::RegisterProtocolHandlerClient::RegisterProtocolHandlerClient):
      (WebKit::RegisterProtocolHandlerClient::registerProtocolHandler):
      * WebCoreSupport/RegisterProtocolHandlerClientGtk.h: Added.
      (WebKit):
      (RegisterProtocolHandlerClient):
      (WebKit::RegisterProtocolHandlerClient::~RegisterProtocolHandlerClient):
      * webkit/webkitwebview.cpp:
      (webkit_web_view_init):
      
      Source/WebKit2:
      
      As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
      to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
      protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
      
      In order to support this, WebRegisterProtocolHandlerClient class is added. However, this is not implemented yet.
      In addition, existing virtual functions in WebChromeClient are moved to WebRegisterProtocolHandlerClient.
      
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      * WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h: Added.
      (WebKit):
      (WebRegisterProtoclHandlerClient):
      (WebKit::WebRegisterProtoclHandlerClient::isProtocolHandlerRegistered):
      (WebKit::WebRegisterProtoclHandlerClient::unregisterProtocolHandler):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd6b2961
  5. 16 Jul, 2012 2 commits
    • commit-queue@webkit.org's avatar
      Resolve CSS Exclusions shapeInside, shapeOutside properties to Length based WrapShape classes · e2e5acb3
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89670
      
      Patch by Bear Travis <betravis@adobe.com> on 2012-07-16
      Reviewed by Dirk Schulze.
      
      Source/WebCore:
      
      Layout of CSS Exclusions requires length based WrapShape classes,
      rather than the existing CSSValue based CSSWrapShape classes. This
      patch adds length based WrapShape analogs to the CSSWrapShapes, and
      modifies RenderStyle to use a WrapShape instead of a CSSWrapShape.
      The translation between WrapShape and CSSWrapShape classes
      is handled by helper functions in the new WrapShapeFunctions files.
      StyleBuilder resolves CSSWrapShapes to WrapShapes for layout use.
      CSSComputedStyleDeclaration translates WrapShapes to CSSWrapShapes
      for style use.
      
      There are existing tests that cover the style serialization / resolution
      in fast/exclusions/parsing-wrap-shape-inside.html and
      fast/exclusions/parsing/wrap-shape-outside.html
      
      Test: fast/exclusions/parsing-wrap-shape-lengths.html
      
      * CMakeLists.txt: Build system changes for adding new files
      * GNUmakefile.list.am: Ditto
      * Target.pri: Ditto
      * WebCore.gypi: Ditto
      * WebCore.vcproj/WebCore.vcproj: Ditto
      * WebCore.xcodeproj/project.pbxproj: Ditto
      * css/CSSComputedStyleDeclaration.cpp: Translate WrapShapes back to CSSWrapShapes
      (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
      * css/CSSWrapShapes.h: Mostly changing functions to be const
      (WebCore::CSSWrapShapeRectangle::type):
      (WebCore::CSSWrapShapeCircle::type):
      (WebCore::CSSWrapShapeEllipse::type):
      (WebCore::CSSWrapShapePolygon::getXAt):
      (WebCore::CSSWrapShapePolygon::getYAt):
      (WebCore::CSSWrapShapePolygon::values):
      (WebCore::CSSWrapShapePolygon::type):
      * css/StyleBuilder.cpp: Resolve CSSWrapShapes to WrapShapes
      (WebCore):
      (WebCore::ApplyPropertyWrapShape::setValue):
      (WebCore::ApplyPropertyWrapShape::applyValue):
      (WebCore::ApplyPropertyWrapShape::createHandler):
      * css/WrapShapeFunctions.cpp: Added.
      (WebCore):
      (WebCore::valueForWrapShape):
      (WebCore::convertToLength):
      (WebCore::wrapShapeForValue):
      * css/WrapShapeFunctions.h: Added.
      (WebCore):
      * rendering/style/RenderStyle.h:
      * rendering/style/StyleRareNonInheritedData.h:
      (StyleRareNonInheritedData):
      * rendering/style/WrapShapes.h: Added.
      (WebCore):
      (WrapShape):
      (WebCore::WrapShape::~WrapShape):
      (WebCore::WrapShape::WrapShape):
      (WrapShapeRectangle):
      (WebCore::WrapShapeRectangle::create):
      (WebCore::WrapShapeRectangle::left):
      (WebCore::WrapShapeRectangle::top):
      (WebCore::WrapShapeRectangle::width):
      (WebCore::WrapShapeRectangle::height):
      (WebCore::WrapShapeRectangle::cornerRadiusX):
      (WebCore::WrapShapeRectangle::cornerRadiusY):
      (WebCore::WrapShapeRectangle::setLeft):
      (WebCore::WrapShapeRectangle::setTop):
      (WebCore::WrapShapeRectangle::setWidth):
      (WebCore::WrapShapeRectangle::setHeight):
      (WebCore::WrapShapeRectangle::setCornerRadiusX):
      (WebCore::WrapShapeRectangle::setCornerRadiusY):
      (WebCore::WrapShapeRectangle::type):
      (WebCore::WrapShapeRectangle::WrapShapeRectangle):
      (WrapShapeCircle):
      (WebCore::WrapShapeCircle::create):
      (WebCore::WrapShapeCircle::left):
      (WebCore::WrapShapeCircle::top):
      (WebCore::WrapShapeCircle::radius):
      (WebCore::WrapShapeCircle::setLeft):
      (WebCore::WrapShapeCircle::setTop):
      (WebCore::WrapShapeCircle::setRadius):
      (WebCore::WrapShapeCircle::type):
      (WebCore::WrapShapeCircle::WrapShapeCircle):
      (WrapShapeEllipse):
      (WebCore::WrapShapeEllipse::create):
      (WebCore::WrapShapeEllipse::top):
      (WebCore::WrapShapeEllipse::left):
      (WebCore::WrapShapeEllipse::radiusX):
      (WebCore::WrapShapeEllipse::radiusY):
      (WebCore::WrapShapeEllipse::setTop):
      (WebCore::WrapShapeEllipse::setLeft):
      (WebCore::WrapShapeEllipse::setRadiusX):
      (WebCore::WrapShapeEllipse::setRadiusY):
      (WebCore::WrapShapeEllipse::type):
      (WebCore::WrapShapeEllipse::WrapShapeEllipse):
      (WrapShapePolygon):
      (WebCore::WrapShapePolygon::create):
      (WebCore::WrapShapePolygon::windRule):
      (WebCore::WrapShapePolygon::values):
      (WebCore::WrapShapePolygon::getXAt):
      (WebCore::WrapShapePolygon::getYAt):
      (WebCore::WrapShapePolygon::setWindRule):
      (WebCore::WrapShapePolygon::appendPoint):
      (WebCore::WrapShapePolygon::type):
      (WebCore::WrapShapePolygon::WrapShapePolygon):
      
      LayoutTests:
      
      Test that wrap shapes accept different length types
      Wrap shape parsing and serialization is tested by parsing-wrap-shape-inside/outside
      
      * fast/exclusions/parsing-wrap-shape-lengths-expected.txt: Added.
      * fast/exclusions/parsing-wrap-shape-lengths.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2e5acb3
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix make distcheck. · 3842cf7a
      carlosgc@webkit.org authored
      Source/WebCore:
      
      * GNUmakefile.am: Add missing idl directory.
      * GNUmakefile.list.am: Add missing files to compilation.
      
      Source/WebKit2:
      
      * UIProcess/API/gtk/tests/GNUmakefile.am: Add test resources to
      EXTRA_DIST.
      
      Tools:
      
      * GNUmakefile.am: Add missing file to compilation.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122707 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3842cf7a
  6. 13 Jul, 2012 4 commits
    • wangxianzhu@chromium.org's avatar
      Move WebCore/platform/text/Base64 to WTF/wtf/text · d62b6c81
      wangxianzhu@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91162
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      No new tests. Files moving only.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/websockets/WebSocketHandshake.cpp:
      (WebCore::generateSecWebSocketKey):
      (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
      * Target.pri:
      * WebCore.gypi:
      * WebCore.order:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * fileapi/FileReaderLoader.cpp:
      (WebCore::FileReaderLoader::convertToDataURL):
      * inspector/DOMPatchSupport.cpp:
      (WebCore::DOMPatchSupport::createDigest):
      * inspector/InspectorFileSystemAgent.cpp:
      (WebCore):
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::cachedResourceContent):
      (WebCore::InspectorPageAgent::sharedBufferContent):
      * loader/archive/mhtml/MHTMLArchive.cpp:
      (WebCore::MHTMLArchive::generateMHTMLData):
      * loader/archive/mhtml/MHTMLParser.cpp:
      (WebCore::MHTMLParser::parseNextPart):
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::btoa):
      (WebCore::DOMWindow::atob):
      * page/Page.cpp:
      (WebCore::Page::userStyleSheetLocationChanged):
      * platform/graphics/cairo/ImageBufferCairo.cpp:
      (WebCore::ImageBuffer::toDataURL):
      * platform/graphics/cg/ImageBufferCG.cpp:
      (WebCore::CGImageToDataURL):
      * platform/graphics/gtk/ImageBufferGtk.cpp:
      (WebCore::ImageBuffer::toDataURL):
      * platform/graphics/skia/FontCustomPlatformData.cpp:
      (WebCore::createUniqueFontName):
      * platform/graphics/skia/ImageBufferSkia.cpp:
      (WebCore::ImageBuffer::toDataURL):
      (WebCore::ImageDataToDataURL):
      * platform/graphics/win/FontCustomPlatformData.cpp:
      (WebCore::createUniqueFontName):
      * platform/graphics/wince/FontCustomPlatformData.cpp:
      (WebCore::createUniqueFontName):
      * platform/graphics/wince/ImageBufferWinCE.cpp:
      * platform/graphics/wx/ImageBufferWx.cpp:
      * platform/network/DataURL.cpp:
      (WebCore::handleDataURL):
      * platform/network/cf/ResourceHandleCFNet.cpp:
      (WebCore::applyBasicAuthorizationHeader):
      * platform/network/mac/ResourceHandleMac.mm:
      (WebCore::applyBasicAuthorizationHeader):
      * platform/network/soup/ResourceHandleSoup.cpp:
      * platform/win/SSLKeyGeneratorWin.cpp:
      (WebCore::WebCore::signedPublicKeyAndChallengeString):
      
      Source/WebKit/blackberry:
      
      * Api/WebKitTextCodec.cpp:
      (BlackBerry::WebKit::base64DecodePolicyForWTF):
      (BlackBerry::WebKit::base64Decode):
      (BlackBerry::WebKit::base64EncodePolicyForWTF):
      (BlackBerry::WebKit::base64Encode):
      * Api/WebSettings.cpp:
      (BlackBerry::WebKit::WebSettings::setUserStyleSheetString):
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      
      Source/WTF:
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/text/Base64.cpp: Renamed from Source/WebCore/platform/text/Base64.cpp.
      (WTF):
      (WTF::base64Encode):
      (WTF::base64Decode):
      (WTF::base64DecodeInternal):
      * wtf/text/Base64.h: Renamed from Source/WebCore/platform/text/Base64.h.
      (WTF):
      (WTF::base64Encode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d62b6c81
    • keishi@webkit.org's avatar
      Form of FormAssociatedElement is not updated when id target changes. · 6253c633
      keishi@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91042
      
      Reviewed by Kent Tamura.
      
      Source/WebCore:
      
      Test: fast/forms/update-form-attribute-element.html
      
      This patch introduces the IdTargetObserver and IdTargetObserverRegistry class.
      They can be used to be notified when the element that an id is pointing to (the id target)
      changes.
      
      * CMakeLists.txt: Added IdTargetObserverRegistry.{h,cpp} and IdTargetObserver.{h,cpp}
      * GNUmakefile.list.am: Ditto.
      * Target.pri: Ditto.
      * WebCore.gypi: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * dom/DOMAllInOne.cpp:
      * dom/IdTargetObserver.cpp: Added. When you want notified of changes to an id target, you should create a new class that inherits this.
      (WebCore):
      (WebCore::IdTargetObserver::IdTargetObserver):
      (WebCore::IdTargetObserver::~IdTargetObserver):
      * dom/IdTargetObserver.h: Added.
      (WebCore):
      (IdTargetObserver):
      * dom/IdTargetObserverRegistry.cpp: Added.
      (WebCore):
      (WebCore::IdTargetObserverRegistry::create):
      (WebCore::IdTargetObserverRegistry::addObserver): Register an IdTargetObserver to observe an id target.
      (WebCore::IdTargetObserverRegistry::removeObserver): Unregisters an IdTargetObserver from observing.
      (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
      * dom/IdTargetObserverRegistry.h: Added.
      (WebCore):
      (IdTargetObserverRegistry):
      (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
      (WebCore::IdTargetObserverRegistry::notifyObservers): Calls idTargetChanged on all observers for an id. Inlining first part of function for performance.
      * dom/TreeScope.cpp:
      (WebCore::TreeScope::TreeScope):
      (WebCore::TreeScope::addElementById): Calls IdTargetObserverRegistry::notifyObservers because the id target might have changed.
      (WebCore::TreeScope::removeElementById): Ditto.
      * dom/TreeScope.h:
      (WebCore):
      (WebCore::TreeScope::idTargetObserverRegistry):
      (TreeScope):
      * html/FormAssociatedElement.cpp: Observer for id targets defined by the form attribute.
      (WebCore::FormAssociatedElement::didMoveToNewDocument):
      (WebCore::FormAssociatedElement::insertedInto):
      (WebCore::FormAssociatedElement::removedFrom):
      (WebCore::FormAssociatedElement::formAttributeChanged):
      (WebCore::FormAssociatedElement::resetFormAttributeTargetObserver): Creates and sets up a new FormAttributeTargetObserver.
      (WebCore):
      (WebCore::FormAssociatedElement::formAttributeTargetChanged):
      (WebCore::FormAttributeTargetObserver::create):
      (WebCore::FormAttributeTargetObserver::FormAttributeTargetObserver):
      (WebCore::FormAttributeTargetObserver::idTargetChanged):
      * html/FormAssociatedElement.h:
      (FormAssociatedElement):
      * html/FormController.cpp:
      * html/FormController.h:
      (FormController):
      * html/HTMLFormElement.cpp:
      (WebCore::HTMLFormElement::removedFrom):
      (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Modified to take a range. It
      scans the range and returns the index to insert the element in m_associatedElement.
      (WebCore::HTMLFormElement::formElementIndex): Modified to only scan the elements in
      m_associatedElement that precede and follow the form element.
      * html/HTMLFormElement.h:
      (HTMLFormElement):
      
      LayoutTests:
      
      * fast/forms/update-form-attribute-element-expected.txt: Added.
      * fast/forms/update-form-attribute-element.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6253c633
    • rgabor@webkit.org's avatar
      Optimizing blend filter to ARM-NEON with intrinsics · 70e88c44
      rgabor@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90949
      
      Reviewed by Zoltan Herczeg.
      
      The feBlend SVG filter modes can be greatly fasten up with ARM-NEON since
      we are able to calculate with 2 pixels (8 channels) at the same time.
      The code is written with NEON intrinsics and it doesn't affect the
      general - it has the same behaviour as the original algorithm.
      With this NEON optimization the calculation is ~4.5 times faster for each mode.
      
      Existing tests cover this issue.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/filters/FEBlend.cpp:
      (WebCore::FEBlend::platformApplyGeneric):
      (WebCore):
      (WebCore::FEBlend::platformApplySoftware):
      * platform/graphics/filters/FEBlend.h:
      (FEBlend):
      * platform/graphics/filters/arm/FEBlendNEON.h: Added.
      (WebCore):
      (FEBlendUtilitiesNEON):
      (WebCore::FEBlendUtilitiesNEON::div255): integer divison with 255
      (WebCore::FEBlendUtilitiesNEON::normal): calculate normal mode blending for two pixels
      (WebCore::FEBlendUtilitiesNEON::multiply): calculate multiply mode blending for two pixels
      (WebCore::FEBlendUtilitiesNEON::screen): calculate screen mode blending for two pixels
      (WebCore::FEBlendUtilitiesNEON::darken): calculate darken mode blending for two pixels
      (WebCore::FEBlendUtilitiesNEON::lighten): calculate lighten mode blending for two pixels
      (WebCore::FEBlend::platformApplyNEON):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      70e88c44
    • commit-queue@webkit.org's avatar
      [CSS Regions] Fix the lifecycle for the flow objects and their renderers · 5323f76d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89000
      
      Patch by Andrei Bucur <abucur@adobe.com> on 2012-07-13
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      This patch adds the concept of a NamedFlowCollection, owned by the document, that keeps track of
      all the named flows that exist in the Document. This collection contains a ListHashSet of weak references to
      all the existing NamedFlows in the document. This is not a managed set because the CREATED flows are referenced from the renderer and
      the NULL flows are only cached, they should be destructible.
      Two named flows are considered to be equal if they have the same name.
      I've changed the NamedFlow state to depend on the existence of its renderer. A flow thread that has a renderer will also have a NamedFlow object.
      A flow thread without a renderer can have a NamedFlow object, but only in the NULL state. It's possible for a NamedFlow object to jump from the
      NULL state to the CREATED state if it was not destroyed (e.g. it was referenced from JS). Keeping track of the NULL state flows that have listeners will be important
      so when they go back to the CREATED state, the listeners would still be there.
      
      Link to spec: http://www.w3.org/TR/2012/WD-css3-regions-20120503/
      
      Tests: The old tests have been modified to take into account the new behavior
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/DOMAllInOne.cpp:
      * dom/Document.cpp:
      (WebCore::Document::~Document):
      (WebCore):
      (WebCore::Document::webkitGetFlowByName):
      (WebCore::Document::namedFlows):
      * dom/Document.h:
      (WebCore):
      (Document):
      * dom/WebKitNamedFlow.cpp:
      (WebCore::WebKitNamedFlow::WebKitNamedFlow):
      (WebCore::WebKitNamedFlow::~WebKitNamedFlow):
      (WebCore::WebKitNamedFlow::create):
      (WebCore):
      (WebCore::WebKitNamedFlow::name):
      (WebCore::WebKitNamedFlow::overset):
      (WebCore::nodeInFlowThread):
      (WebCore::WebKitNamedFlow::getRegionsByContentNode):
      (WebCore::WebKitNamedFlow::getContent):
      (WebCore::WebKitNamedFlow::setRenderer):
      * dom/WebKitNamedFlow.h:
      (WebCore):
      (WebKitNamedFlow):
      (WebCore::WebKitNamedFlow::getFlowState):
      (WebCore::WebKitNamedFlow::switchFlowState):
      * dom/WebKitNamedFlowCollection.cpp: Added.
      (WebCore):
      (WebCore::WebKitNamedFlowCollection::WebKitNamedFlowCollection):
      (WebCore::WebKitNamedFlowCollection::length): An O(1) operation
      (WebCore::WebKitNamedFlowCollection::item): An O(N) operation
      (WebCore::WebKitNamedFlowCollection::flowByName): An O(1) operation
      (WebCore::WebKitNamedFlowCollection::ensureNamedFlowInCreatedState): An O(1) operation
      (WebCore::WebKitNamedFlowCollection::moveNamedFlowToNullState): An O(1) operation
      (WebCore::WebKitNamedFlowCollection::discardNamedFlow): An O(1) operation
      (WebCore::WebKitNamedFlowCollection::documentDestroyed):
      (WebCore::WebKitNamedFlowCollection::NamedFlowHashFunctions::hash):
      (WebCore::WebKitNamedFlowCollection::NamedFlowHashFunctions::equal):
      (WebKitNamedFlowCollection::NamedFlowHashFunctions):
      (WebCore::WebKitNamedFlowCollection::NamedFlowHashTranslator::hash):
      (WebCore::WebKitNamedFlowCollection::NamedFlowHashTranslator::equal):
      * dom/WebKitNamedFlowCollection.h: Copied from Source/WebCore/dom/WebKitNamedFlow.h.
      (WebCore):
      (WebKitNamedFlowCollection):
      (WebCore::WebKitNamedFlowCollection::create):
      (WebCore::WebKitNamedFlowCollection::document):
      * rendering/FlowThreadController.cpp:
      (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
      (WebCore::FlowThreadController::removeFlowThread):
      (WebCore):
      * rendering/FlowThreadController.h:
      (FlowThreadController):
      * rendering/RenderNamedFlowThread.cpp:
      (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
      (WebCore):
      (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
      (WebCore::RenderNamedFlowThread::removeRegionFromThread):
      (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
      (WebCore::RenderNamedFlowThread::flowThreadName):
      (WebCore::RenderNamedFlowThread::willBeDestroyed):
      * rendering/RenderNamedFlowThread.h:
      (RenderNamedFlowThread):
      (WebCore::RenderNamedFlowThread::contentNodes):
      (WebCore::RenderNamedFlowThread::canBeDestroyed):
      
      LayoutTests:
      
      These tests expected getFlowByName() to return a valid object even for the NULL flows. They've been modified to
      reflect the new behavior.
      
      * fast/regions/get-regions-by-content-node2-expected.txt:
      * fast/regions/get-regions-by-content-node2.html:
      * fast/regions/webkit-named-flow-flow-added.html:
      * fast/regions/webkit-named-flow-get-content-expected.txt:
      * fast/regions/webkit-named-flow-get-content.html:
      * fast/regions/webkit-named-flow-invalid-name.html:
      * fast/regions/webkit-named-flow-modified-flow.html:
      * fast/regions/webkit-named-flow-non-existing-flow.html:
      * fast/regions/webkit-named-flow-removed-flow.html:
      * platform/chromium-win/fast/regions/region-style-block-background-color2-expected.txt:
      * platform/mac/fast/regions/region-style-block-background-color2-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5323f76d
  7. 12 Jul, 2012 2 commits
    • noam.rosenthal@nokia.com's avatar
      Move TextureMapperAnimation and texmap/LayerTransform to platform/graphics · 4f58823b
      noam.rosenthal@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=91111
      
      Reviewed by Kenneth Rohde Christiansen.
      
      Source/WebCore:
      
      TextureMapperAnimation and LayerTransform are not specific to TextureMapper, and we want
      to use them for other purposes as well. Moving them to platform/graphics would make that
      more explicit.
      
      No new tests, moving files around.
      
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * platform/graphics/GraphicsLayerAnimation.cpp: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.cpp.
      * platform/graphics/GraphicsLayerAnimation.h: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperAnimation.h.
      * platform/graphics/GraphicsLayerTransform.cpp: Renamed from Source/WebCore/platform/graphics/texmap/LayerTransform.cpp.
      * platform/graphics/GraphicsLayerTransform.h: Renamed from Source/WebCore/platform/graphics/texmap/LayerTransform.h.
      * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
      (WebCore::GraphicsLayerTextureMapper::addAnimation):
      * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
      (GraphicsLayerTextureMapper):
      * platform/graphics/texmap/TextureMapperLayer.h:
      (TextureMapperLayer):
      (WebCore::TextureMapperLayer::setAnimatedTransform):
      (WebCore::TextureMapperLayer::setAnimatedOpacity):
      
      Source/WebKit2:
      
      Include the new filenames.
      
      * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h:
      (WebGraphicsLayer):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f58823b
    • gyuyoung.kim@samsung.com's avatar
      Register protocol handler files should be in Modules/protocolhandler · 02f69142
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=90766
      
      Reviewed by Hajime Morita.
      
      The register protocol handler files are now self-contained. This patch is moved to the Modules.
      
      No new tests. Covered by existing tests.
      
      * CMakeLists.txt:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp: Renamed from Source/WebCore/page/NavigatorRegisterProtocolHandler.cpp.
      (WebCore):
      (WebCore::initProtocolHandlerWhitelist):
      (WebCore::verifyCustomHandlerURL):
      (WebCore::isProtocolWhitelisted):
      (WebCore::verifyProtocolHandlerScheme):
      (WebCore::NavigatorRegisterProtocolHandler::NavigatorRegisterProtocolHandler):
      (WebCore::NavigatorRegisterProtocolHandler::~NavigatorRegisterProtocolHandler):
      (WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):
      (WebCore::customHandlersStateString):
      (WebCore::NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered):
      (WebCore::NavigatorRegisterProtocolHandler::unregisterProtocolHandler):
      * Modules/protocolhandler/NavigatorRegisterProtocolHandler.h: Renamed from Source/WebCore/page/NavigatorRegisterProtocolHandler.h.
      (WebCore):
      (NavigatorRegisterProtocolHandler):
      * Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl: Renamed from Source/WebCore/page/NavigatorRegisterProtocolHandler.idl.
      * Target.pri:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * WebCore.pri:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcproj/WebCoreCommon.vsprops:
      * WebCore.vcproj/copyForwardingHeaders.cmd:
      * WebCore.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02f69142
  8. 10 Jul, 2012 1 commit
    • commit-queue@webkit.org's avatar
      Make GC3D and E3D more maintainable for GLES platforms · 549b9fa1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90567
      
      Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-10
      Reviewed by Rob Buis.
      
      This patch cleans up code for WebGL on OpenGLES platforms which use
      GraphicsContext3DOpenGL* and Extensions3DOpenGL*. Although
      GraphicsContext3DOpenGL was already split into GraphicsContext3DOpenGL,
      GraphicsContext3DOpenGLCommon, and  GraphicsContext3DOpenGLES, this patch
      is an attempt to refactor this code in a way that will help BlackBerry and
      other teams support WebGL on mobile platforms with as little use of
      "#IF USE(OPENGL_ES_2)" in common code as possible. Also included is the
      separation of Extensions3DOpenGL into Extensions3DOpenGLCommon,
      Extensions3DOpenGL, and Extensions3DOpenGLES as well as the introduction
      of OpenGLESShims.
      
      This patch is created in large part by Jonathan Feldstein.
      
      No new tests: no new behaviour.
      
      * PlatformBlackBerry.cmake: Recognize BlackBerry as OPENGL ES, add new files to build
      * Target.pri: Add new Extensions3DOpenGL* to WebGL builds
      * platform/graphics/GraphicsContext3D.h: Add validateDepthStencil, make systemAllowsMultisamplingOnATICards a a member function.
      (WebCore):
      * platform/graphics/OpenGLESShims.h: Added.
      * platform/graphics/opengl/Extensions3DOpenGL.cpp: Move code to Extensions3DOpenGLCommon where possible
      (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Reflect that it is now inherits Extensions3DCommon
      (WebCore::Extensions3DOpenGL::supportsExtension): Contains OpenGL specific code from supports
      (WebCore):
      (WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions
      * platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon
      (WebCore):
      (Extensions3DOpenGL):
      * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added.
      (WebCore):
      (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
      (WebCore::Extensions3DOpenGLCommon::~Extensions3DOpenGLCommon):
      (WebCore::Extensions3DOpenGLCommon::supports):
      (WebCore::Extensions3DOpenGLCommon::ensureEnabled):
      (WebCore::Extensions3DOpenGLCommon::isEnabled):
      (WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB):
      (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Existed before, but did nothing. Now does what is says it does.
      (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions): Moved from Extensions3DOpenGL::supports
      * platform/graphics/opengl/Extensions3DOpenGLCommon.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
      (WebCore):
      (Extensions3DOpenGLCommon):
      * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added.
      (WebCore):
      (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
      (WebCore::Extensions3DOpenGLES::~Extensions3DOpenGLES):
      (WebCore::Extensions3DOpenGLES::framebufferTexture2DMultisampleIMG):
      (WebCore::Extensions3DOpenGLES::renderbufferStorageMultisampleIMG):
      (WebCore::Extensions3DOpenGLES::createVertexArrayOES):
      (WebCore::Extensions3DOpenGLES::deleteVertexArrayOES):
      (WebCore::Extensions3DOpenGLES::isVertexArrayOES):
      (WebCore::Extensions3DOpenGLES::bindVertexArrayOES):
      (WebCore::Extensions3DOpenGLES::supportsExtension): Contains OpenGLES specific code from supports
      (WebCore::Extensions3DOpenGLES::getExtensions):
      * platform/graphics/opengl/Extensions3DOpenGLES.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
      (WebCore):
      (Extensions3DOpenGLES):
      * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
      (WebCore::GraphicsContext3D::validateAttributes):
      (WebCore):
      (WebCore::GraphicsContext3D::renderbufferStorage):
      (WebCore::GraphicsContext3D::texImage2D):
      (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
      (WebCore::GraphicsContext3D::getExtensions):
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::GraphicsContext3D::validateDepthStencil):
      (WebCore::GraphicsContext3D::clear):
      (WebCore::GraphicsContext3D::isTexture):
      (WebCore):
      (WebCore::GraphicsContext3D::lineWidth):
      (WebCore::GraphicsContext3D::linkProgram):
      (WebCore::GraphicsContext3D::pixelStorei):
      (WebCore::GraphicsContext3D::polygonOffset):
      (WebCore::GraphicsContext3D::readPixels):
      (WebCore::GraphicsContext3D::deleteBuffer):
      * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
      (WebCore::GraphicsContext3D::releaseShaderCompiler):
      (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
      (WebCore::GraphicsContext3D::validateAttributes):
      (WebCore):
      (WebCore::GraphicsContext3D::getExtensions):
      (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
      * platform/graphics/qt/GraphicsContext3DQt.cpp:
      (WebCore):
      (WebCore::GraphicsContext3D::releaseShaderCompiler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      549b9fa1
  9. 09 Jul, 2012 3 commits
    • adamk@chromium.org's avatar
      Rename WebCore::WebKitMutationObserver to WebCore::MutationObserver · 0e07f346
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90810
      
      Reviewed by Ojan Vafai.
      
      Source/WebCore:
      
      This is in preparation for removing the vendor prefix from the
      MutationObserver constructor on Window (currently it's called
      WebKitMutationObserver). Doing the WebCore-internal rename first
      makes that change a much smaller one, which is especially useful
      because there's ongoing discussion of when the prefix should be
      removed from the web-facing API.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSMainThreadExecState.cpp:
      (WebCore::JSMainThreadExecState::didLeaveScriptContext):
      * bindings/js/JSMutationCallbackCustom.cpp:
      (WebCore::JSMutationCallback::handleEvent):
      * bindings/js/JSMutationObserverCustom.cpp: Renamed from Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp.
      (WebCore):
      (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
      * bindings/v8/V8RecursionScope.cpp:
      (WebCore::V8RecursionScope::didLeaveScriptContext):
      * bindings/v8/custom/V8MutationCallbackCustom.cpp:
      (WebCore::V8MutationCallback::handleEvent):
      * bindings/v8/custom/V8MutationObserverCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp.
      (WebCore):
      (WebCore::V8MutationObserver::constructorCallback):
      * dom/CharacterData.cpp:
      * dom/ChildListMutationScope.h:
      (WebCore::ChildListMutationScope::ChildListMutationScope):
      * dom/DOMAllInOne.cpp:
      * dom/Document.h:
      (WebCore::Document::hasMutationObserversOfType):
      * dom/Element.cpp:
      * dom/MutationCallback.h:
      (WebCore):
      (MutationCallback):
      * dom/MutationCallback.idl:
      * dom/MutationObserver.cpp: Renamed from Source/WebCore/dom/WebKitMutationObserver.cpp.
      (WebCore):
      (WebCore::MutationObserver::ObserverLessThan::operator()):
      (WebCore::MutationObserver::create):
      (WebCore::MutationObserver::MutationObserver):
      (WebCore::MutationObserver::~MutationObserver):
      (WebCore::MutationObserver::validateOptions):
      (WebCore::MutationObserver::observe):
      (WebCore::MutationObserver::takeRecords):
      (WebCore::MutationObserver::disconnect):
      (WebCore::MutationObserver::observationStarted):
      (WebCore::MutationObserver::observationEnded):
      (WebCore::activeMutationObservers):
      (WebCore::MutationObserver::enqueueMutationRecord):
      (WebCore::MutationObserver::setHasTransientRegistration):
      (WebCore::MutationObserver::deliver):
      (WebCore::MutationObserver::deliverAllMutations):
      * dom/MutationObserver.h: Renamed from Source/WebCore/dom/WebKitMutationObserver.h.
      (WebCore):
      (MutationObserver):
      * dom/MutationObserver.idl: Renamed from Source/WebCore/dom/WebKitMutationObserver.idl.
      * dom/MutationObserverInterestGroup.cpp:
      (WebCore::MutationObserverInterestGroup::createIfNeeded):
      (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
      (WebCore::MutationObserverInterestGroup::isOldValueRequested):
      (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
      * dom/MutationObserverInterestGroup.h:
      (WebCore::MutationObserverInterestGroup::createForChildListMutation):
      (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
      (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
      (MutationObserverInterestGroup):
      * dom/MutationObserverRegistration.cpp:
      (WebCore::MutationObserverRegistration::create):
      (WebCore::MutationObserverRegistration::MutationObserverRegistration):
      (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
      * dom/MutationObserverRegistration.h:
      (MutationObserverRegistration):
      (WebCore::MutationObserverRegistration::isSubtree):
      (WebCore::MutationObserverRegistration::observer):
      (WebCore::MutationObserverRegistration::deliveryOptions):
      (WebCore::MutationObserverRegistration::mutationTypes):
      * dom/Node.cpp:
      (WebCore::Node::collectMatchingObserversForMutation):
      (WebCore::Node::getRegisteredMutationObserversOfType):
      (WebCore::Node::registerMutationObserver):
      * dom/Node.h:
      (Node):
      * dom/NodeRareData.h:
      * page/DOMWindow.idl:
      
      Source/WebKit/chromium:
      
      * src/WebKit.cpp:
      
      Source/WebKit/efl:
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      (DumpRenderTreeSupportEfl::deliverAllMutationsIfNecessary):
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::deliverAllMutationsIfNecessary):
      
      Tools:
      
      * DumpRenderTree/gtk/EventSender.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122159 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e07f346
    • fpizlo@apple.com's avatar
      Unreviewed, rolling out http://trac.webkit.org/changeset/122116 and... · c8e4c8da
      fpizlo@apple.com authored
      Unreviewed, rolling out http://trac.webkit.org/changeset/122116 and http://trac.webkit.org/changeset/122119
      
      * GNUmakefile.list.am:
      * PlatformBlackBerry.cmake:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/GraphicsContext3D.h:
      (WebCore):
      * platform/graphics/OpenGLESShims.h:
      * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
      (WebCore):
      * platform/graphics/clutter/GraphicsContext3DClutter.cpp:
      (WebCore):
      * platform/graphics/mac/GraphicsContext3DMac.mm:
      (WebCore):
      * platform/graphics/opengl/Extensions3DOpenGL.cpp:
      (WebCore::Extensions3DOpenGL::Extensions3DOpenGL):
      (WebCore::Extensions3DOpenGL::supports):
      (WebCore):
      (WebCore::Extensions3DOpenGL::ensureEnabled):
      (WebCore::Extensions3DOpenGL::isEnabled):
      (WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB):
      (WebCore::Extensions3DOpenGL::getTranslatedShaderSourceANGLE):
      (WebCore::Extensions3DOpenGL::copyTextureCHROMIUM):
      * platform/graphics/opengl/Extensions3DOpenGL.h:
      (Extensions3DOpenGL):
      * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
      * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
      * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
      * platform/graphics/opengl/Extensions3DOpenGLES.h:
      * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
      (WebCore):
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::systemAllowsMultisamplingOnATICards):
      (WebCore):
      (WebCore::GraphicsContext3D::validateAttributes):
      (WebCore::GraphicsContext3D::compileShader):
      (WebCore::GraphicsContext3D::readPixels):
      (WebCore::GraphicsContext3D::releaseShaderCompiler):
      (WebCore::GraphicsContext3D::getExtensions):
      * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
      (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
      (WebCore::GraphicsContext3D::reshapeFBOs):
      (WebCore):
      * platform/graphics/qt/GraphicsContext3DQt.cpp:
      (WebCore):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8e4c8da
    • commit-queue@webkit.org's avatar
      Make GC3D and E3D more maintainable for GLES platforms · ee5e37c7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90567
      
      Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-07-09
      Reviewed by Rob Buis.
      
      This patch cleans up code for WebGL on OpenGLES platforms which use
      GraphicsContext3DOpenGL* and Extensions3DOpenGL*. Although
      GraphicsContext3DOpenGL was already split into GraphicsContext3DOpenGL,
      GraphicsContext3DOpenGLCommon, and  GraphicsContext3DOpenGLES, this patch
      is an attempt to refactor this code in a way that will help BlackBerry and
      other teams support WebGL on mobile platforms with as little use of
      "#IF USE(OPENGL_ES_2)" in common code as possible. Also included is the
      separation of Extensions3DOpenGL into Extensions3DOpenGLCommon,
      Extensions3DOpenGL, and Extensions3DOpenGLES as well as the introduction
      of OpenGLESShims.
      
      This patch is created in large part by Jonathan Feldstein.
      
      No new tests: no new behaviour.
      
      * PlatformBlackBerry.cmake: Recognize BlackBerry as OPENGL ES, add new files to build
      * Target.pri: Add new Extensions3DOpenGL* to WebGL builds
      * platform/graphics/GraphicsContext3D.h: Add validateDepthStencil, make systemAllowsMultisamplingOnATICards a a member function.
      (WebCore):
      * platform/graphics/OpenGLESShims.h: Added.
      * platform/graphics/opengl/Extensions3DOpenGL.cpp: Move code to Extensions3DOpenGLCommon where possible
      (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Reflect that it is now inherits Extensions3DCommon
      (WebCore::Extensions3DOpenGL::supportsExtension): Contains OpenGL specific code from supports
      (WebCore):
      (WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions
      * platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon
      (WebCore):
      (Extensions3DOpenGL):
      * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added.
      (WebCore):
      (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
      (WebCore::Extensions3DOpenGLCommon::~Extensions3DOpenGLCommon):
      (WebCore::Extensions3DOpenGLCommon::supports):
      (WebCore::Extensions3DOpenGLCommon::ensureEnabled):
      (WebCore::Extensions3DOpenGLCommon::isEnabled):
      (WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB):
      (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Existed before, but did nothing. Now does what is says it does.
      (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions): Moved from Extensions3DOpenGL::supports
      * platform/graphics/opengl/Extensions3DOpenGLCommon.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
      (WebCore):
      (Extensions3DOpenGLCommon):
      * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added.
      (WebCore):
      (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
      (WebCore::Extensions3DOpenGLES::~Extensions3DOpenGLES):
      (WebCore::Extensions3DOpenGLES::framebufferTexture2DMultisampleIMG):
      (WebCore::Extensions3DOpenGLES::renderbufferStorageMultisampleIMG):
      (WebCore::Extensions3DOpenGLES::createVertexArrayOES):
      (WebCore::Extensions3DOpenGLES::deleteVertexArrayOES):
      (WebCore::Extensions3DOpenGLES::isVertexArrayOES):
      (WebCore::Extensions3DOpenGLES::bindVertexArrayOES):
      (WebCore::Extensions3DOpenGLES::supportsExtension): Contains OpenGLES specific code from supports
      (WebCore::Extensions3DOpenGLES::getExtensions):
      * platform/graphics/opengl/Extensions3DOpenGLES.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h.
      (WebCore):
      (Extensions3DOpenGLES):
      * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
      (WebCore::GraphicsContext3D::validateAttributes):
      (WebCore):
      (WebCore::GraphicsContext3D::renderbufferStorage):
      (WebCore::GraphicsContext3D::texImage2D):
      (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
      (WebCore::GraphicsContext3D::getExtensions):
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::GraphicsContext3D::validateDepthStencil):
      (WebCore::GraphicsContext3D::clear):
      (WebCore::GraphicsContext3D::isTexture):
      (WebCore):
      (WebCore::GraphicsContext3D::lineWidth):
      (WebCore::GraphicsContext3D::linkProgram):
      (WebCore::GraphicsContext3D::pixelStorei):
      (WebCore::GraphicsContext3D::polygonOffset):
      (WebCore::GraphicsContext3D::readPixels):
      (WebCore::GraphicsContext3D::deleteBuffer):
      * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
      (WebCore::GraphicsContext3D::releaseShaderCompiler):
      (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
      (WebCore::GraphicsContext3D::validateAttributes):
      (WebCore):
      (WebCore::GraphicsContext3D::getExtensions):
      (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function.
      * platform/graphics/qt/GraphicsContext3DQt.cpp:
      (WebCore):
      (WebCore::GraphicsContext3D::releaseShaderCompiler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee5e37c7
  10. 05 Jul, 2012 2 commits
    • rgabor@webkit.org's avatar
      NEON intrinsics should be used with gaussian blur filter · 99d1d2d9
      rgabor@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90166
      
      Reviewed by Zoltan Herczeg.
      
      Rewrite inline assembly to NEON intrinsics for better portabilty 
      and readibility. Remove unnecessary FEGaussianBlurNEON.cpp and add
      NEONHelpers.h to the project which will contains the shared
      NEON code of the filters.
      
      Existing tests cover this issue.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * platform/graphics/filters/FEGaussianBlur.cpp:
      (WebCore::FEGaussianBlur::platformApplyGeneric):
      (WebCore::FEGaussianBlur::platformApplyWorker):
      * platform/graphics/filters/FEGaussianBlur.h:
      (FEGaussianBlur):
      * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Removed.
      * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
      (WebCore::boxBlurNEON):
      * platform/graphics/filters/arm/NEONHelpers.h: Added.
      (WebCore):
      (WebCore::loadRGBA8AsFloat):
      (WebCore::storeFloatAsRGBA8):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99d1d2d9
    • gyuyoung.kim@samsung.com's avatar
      Notifications should be in Modules/notifications · 8c3bdd41
      gyuyoung.kim@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=82121
      
      Reviewed by Adam Barth.
      
      The notifications directory is now self-contained. This patch moves it to the Modules directory.
      
      No new tests, covered by existing tests.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Modules/notifications/DOMWindowNotifications.cpp: Renamed from Source/WebCore/notifications/DOMWindowNotifications.cpp.
      (WebCore):
      (WebCore::DOMWindowNotifications::DOMWindowNotifications):
      (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
      (WebCore::DOMWindowNotifications::from):
      (WebCore::DOMWindowNotifications::webkitNotifications):
      (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
      (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
      (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
      (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
      (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
      * Modules/notifications/DOMWindowNotifications.h: Renamed from Source/WebCore/notifications/DOMWindowNotifications.h.
      (WebCore):
      (DOMWindowNotifications):
      * Modules/notifications/DOMWindowNotifications.idl: Renamed from Source/WebCore/notifications/DOMWindowNotifications.idl.
      * Modules/notifications/Notification.cpp: Renamed from Source/WebCore/notifications/Notification.cpp.
      (WebCore):
      (WebCore::Notification::Notification):
      (WebCore::Notification::~Notification):
      (WebCore::Notification::create):
      (WebCore::getAndAddEventListener):
      (WebCore::Notification::interfaceName):
      (WebCore::Notification::show):
      (WebCore::Notification::close):
      (WebCore::Notification::eventTargetData):
      (WebCore::Notification::ensureEventTargetData):
      (WebCore::Notification::contextDestroyed):
      (WebCore::Notification::finalize):
      (WebCore::Notification::dispatchShowEvent):
      (WebCore::Notification::dispatchClickEvent):
      (WebCore::Notification::dispatchCloseEvent):
      (WebCore::Notification::dispatchErrorEvent):
      (WebCore::Notification::taskTimerFired):
      (WebCore::Notification::permissionLevel):
      (WebCore::Notification::permissionString):
      (WebCore::Notification::requestPermission):
      * Modules/notifications/Notification.h: Renamed from Source/WebCore/notifications/Notification.h.
      (WebCore):
      (Notification):
      (WebCore::Notification::cancel):
      (WebCore::Notification::isHTML):
      (WebCore::Notification::setHTML):
      (WebCore::Notification::url):
      (WebCore::Notification::setURL):
      (WebCore::Notification::iconURL):
      (WebCore::Notification::title):
      (WebCore::Notification::body):
      (WebCore::Notification::dir):
      (WebCore::Notification::setDir):
      (WebCore::Notification::replaceId):
      (WebCore::Notification::setReplaceId):
      (WebCore::Notification::tag):
      (WebCore::Notification::setTag):
      (WebCore::Notification::direction):
      (WebCore::Notification::scriptExecutionContext):
      (WebCore::Notification::detachPresenter):
      (WebCore::Notification::setBody):
      (WebCore::Notification::refEventTarget):
      (WebCore::Notification::derefEventTarget):
      * Modules/notifications/Notification.idl: Renamed from Source/WebCore/notifications/Notification.idl.
      * Modules/notifications/NotificationCenter.cpp: Renamed from Source/WebCore/notifications/NotificationCenter.cpp.
      (WebCore):
      (WebCore::NotificationCenter::create):
      (WebCore::NotificationCenter::NotificationCenter):
      (WebCore::NotificationCenter::checkPermission):
      (WebCore::NotificationCenter::requestPermission):
      (WebCore::NotificationCenter::stop):
      (WebCore::NotificationCenter::requestTimedOut):
      (WebCore::NotificationCenter::NotificationRequestCallback::createAndStartTimer):
      (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
      (WebCore::NotificationCenter::NotificationRequestCallback::startTimer):
      (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
      * Modules/notifications/NotificationCenter.h: Renamed from Source/WebCore/notifications/NotificationCenter.h.
      (WebCore):
      (NotificationCenter):
      (WebCore::NotificationCenter::createHTMLNotification):
      (WebCore::NotificationCenter::createNotification):
      (WebCore::NotificationCenter::client):
      (NotificationRequestCallback):
      * Modules/notifications/NotificationCenter.idl: Renamed from Source/WebCore/notifications/NotificationCenter.idl.
      * Modules/notifications/NotificationClient.h: Renamed from Source/WebCore/notifications/NotificationClient.h.
      (WebCore):
      (NotificationClient):
      (WebCore::NotificationClient::clearNotifications):
      (WebCore::NotificationClient::~NotificationClient):
      * Modules/notifications/NotificationController.cpp: Renamed from Source/WebCore/notifications/NotificationController.cpp.
      (WebCore):
      (WebCore::NotificationController::NotificationController):
      (WebCore::NotificationController::~NotificationController):
      (WebCore::NotificationController::create):
      (WebCore::NotificationController::clientFrom):
      (WebCore::NotificationController::supplementName):
      (WebCore::provideNotification):
      * Modules/notifications/NotificationController.h: Renamed from Source/WebCore/notifications/NotificationController.h.
      (WebCore):
      (NotificationController):
      (WebCore::NotificationController::from):
      (WebCore::NotificationController::client):
      * Modules/notifications/NotificationPermissionCallback.h: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.h.
      (WebCore):
      (NotificationPermissionCallback):
      (WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):
      * Modules/notifications/NotificationPermissionCallback.idl: Renamed from Source/WebCore/notifications/NotificationPermissionCallback.idl.
      * Modules/notifications/WorkerContextNotifications.cpp: Renamed from Source/WebCore/notifications/WorkerContextNotifications.cpp.
      (WebCore):
      (WebCore::WorkerContextNotifications::WorkerContextNotifications):
      (WebCore::WorkerContextNotifications::~WorkerContextNotifications):
      (WebCore::WorkerContextNotifications::from):
      (WebCore::WorkerContextNotifications::webkitNotifications):
      * Modules/notifications/WorkerContextNotifications.h: Renamed from Source/WebCore/notifications/WorkerContextNotifications.h.
      (WebCore):
      (WorkerContextNotifications):
      * Modules/notifications/WorkerContextNotifications.idl: Renamed from Source/WebCore/notifications/WorkerContextNotifications.idl.
      * Target.pri:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * WebCore.pri:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcproj/WebCoreCommon.vsprops:
      * WebCore.vcproj/copyForwardingHeaders.cmd:
      * WebCore.xcodeproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c3bdd41
  11. 02 Jul, 2012 1 commit
    • tommyw@google.com's avatar
      MediaStream API: Update MediaStreamTrackList to match the specification · d0e4be33
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=90171
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      The latest update to the specification added add and remove methods with corresponding callbacks.
      The callbacks can be triggered both from JS and from the platform layer.
      
      * chromium/public/WebMediaStreamCenterClient.h:
      (WebKit):
      (WebMediaStreamCenterClient):
      
      Source/WebCore:
      
      The latest update to the specification added add and remove methods with corresponding callbacks.
      The callbacks can be triggered both from JS and from the platform layer.
      
      Test: fast/mediastream/MediaStreamTrackList.html
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::MediaStream):
      (WebCore::MediaStream::~MediaStream):
      (WebCore::MediaStream::streamEnded):
      (WebCore::MediaStream::addTrack):
      (WebCore):
      (WebCore::MediaStream::removeTrack):
      * Modules/mediastream/MediaStream.h:
      (MediaStream):
      * Modules/mediastream/MediaStreamTrackEvent.cpp: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp.
      (WebCore):
      (WebCore::MediaStreamTrackEvent::create):
      (WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
      (WebCore::MediaStreamTrackEvent::~MediaStreamTrackEvent):
      (WebCore::MediaStreamTrackEvent::track):
      (WebCore::MediaStreamTrackEvent::interfaceName):
      * Modules/mediastream/MediaStreamTrackEvent.h: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.h.
      (WebCore):
      (MediaStreamTrackEvent):
      * Modules/mediastream/MediaStreamTrackEvent.idl: Copied from Source/WebCore/Modules/mediastream/MediaStreamTrackList.idl.
      * Modules/mediastream/MediaStreamTrackList.cpp:
      (WebCore::MediaStreamTrackList::create):
      (WebCore::MediaStreamTrackList::MediaStreamTrackList):
      (WebCore::MediaStreamTrackList::detachOwner):
      (WebCore):
      (WebCore::MediaStreamTrackList::add):
      (WebCore::MediaStreamTrackList::remove):
      (WebCore::MediaStreamTrackList::stop):
      (WebCore::MediaStreamTrackList::interfaceName):
      (WebCore::MediaStreamTrackList::scriptExecutionContext):
      (WebCore::MediaStreamTrackList::eventTargetData):
      (WebCore::MediaStreamTrackList::ensureEventTargetData):
      * Modules/mediastream/MediaStreamTrackList.h:
      (MediaStreamTrackList):
      * Modules/mediastream/MediaStreamTrackList.idl:
      * WebCore.gypi:
      * dom/EventNames.h:
      (WebCore):
      * dom/EventNames.in:
      * dom/EventTargetFactory.in:
      * platform/mediastream/MediaStreamCenter.cpp:
      (WebCore::MediaStreamCenter::addMediaStreamTrack):
      (WebCore):
      (WebCore::MediaStreamCenter::removeMediaStreamTrack):
      * platform/mediastream/MediaStreamCenter.h:
      (MediaStreamCenter):
      * platform/mediastream/MediaStreamDescriptor.h:
      (MediaStreamDescriptorOwner):
      * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
      (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
      (WebCore):
      (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
      (WebCore::MediaStreamCenterChromium::addMediaStreamTrack):
      (WebCore::MediaStreamCenterChromium::removeMediaStreamTrack):
      * platform/mediastream/chromium/MediaStreamCenterChromium.h:
      (WebKit):
      (MediaStreamCenterChromium):
      * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
      (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
      (WebCore):
      (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
      * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
      (MediaStreamCenterGStreamer):
      
      LayoutTests:
      
      * fast/mediastream/MediaStreamTrackList-expected.txt: Added.
      * fast/mediastream/MediaStreamTrackList.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0e4be33
  12. 29 Jun, 2012 1 commit
    • yosin@chromium.org's avatar
      [Platform] Implement Date Time format parser · ba3d7a8c
      yosin@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89963
      
      Reviewed by Kent Tamura.
      
      Source/WebCore:
      
      This patch introduces Unicode TR35 LDML date time format parser for
      input type "time" if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.
      
      Test: WebKit/chromium/tests/DateTimeFormatTest.cpp
      
      * CMakeLists.txt: Added DateTimeFormat.cpp
      * GNUmakefile.list.am: Added DateTimeFormat.{cpp,h}
      * Target.pri: ditto
      * WebCore.gypi: ditto
      * WebCore.vcproj/WebCore.vcproj: ditto
      * WebCore.xcodeproj/product.pbxproj: ditto
      * platform/text/DateTimeFormat.cpp: Added.
      (WebCore::mapCharacterToFieldTypeInternal):
      (WebCore::DateTimeFormat::DateTimeFormat):
      (WebCore::DateTimeFormat::mapCharacterToFieldType):
      (WebCore::DateTimeFormat::parse):
      * platform/text/DateTimeFormat.h: Added.
      (DateTimeFormat):
      (TokenHandler):
      (WebCore::DateTimeFormat::TokenHandler::~TokenHandler):
      
      Source/WebKit/chromium:
      
      This patch adds an unit test for date time format parser if
      ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.
      
      * tests/DateTimeFormatTest.cpp: Added.
      (DateTimeFormatTest):
      (Token):
      (DateTimeFormatTest::Token::Token):
      (DateTimeFormatTest::Token::operator==):
      (DateTimeFormatTest::Token::toString):
      (Tokens):
      (DateTimeFormatTest::Tokens::Tokens):
      (DateTimeFormatTest::Tokens::operator==):
      (DateTimeFormatTest::Tokens::toString):
      (DateTimeFormatTest::parse):
      (DateTimeFormatTest::single):
      (TokenHandler):
      (DateTimeFormatTest::TokenHandler::~TokenHandler):
      (DateTimeFormatTest::TokenHandler::fieldType):
      (DateTimeFormatTest::TokenHandler::tokens):
      (DateTimeFormatTest::TokenHandler::visitField):
      (DateTimeFormatTest::TokenHandler::visitLiteral):
      (operator<<):
      (TEST_F):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba3d7a8c
  13. 28 Jun, 2012 1 commit
    • senorblanco@chromium.org's avatar
      Source/WebCore: Implement filter url() function. · 7ba72ddc
      senorblanco@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=72443
      
      url() references can be internal, in which case the DOM nodes are
      retrieved directly from the current document, or external, in which
      case a CachedSVGDocument request is made, and the filter node build is
      deferred until the document is loaded.  WebKitSVGDocumentValue
      holds the CachedSVGDocument (if any) and the URL as a CSSValue,
      and is stored in the CSSValue chain as the argument to the reference
      filter.
      
      One notable difference between internal and external references is
      that internal references will automatically update on an SVG filter node
      attribute change, while external references will not, since they live
      in a separate document.  This is consistent with the Mozilla
      implementation.  In order to make this work, the RenderLayer is made a
      client of the RenderSVGResourceContainer, and calls
      filterNeedsRepaint() when the SVG nodes are invalidated.
      
      Some plumbing:  The CSS StyleResolver was refactored to load all
      all external resources (images, shaders and (now) SVG filters) in a
      single function, loadPendingResources().  The PlatformLayer typedef
      was moved out into its own file, in order to break a cyclic
      dependency.  SVGFilterBuilder was modified to accept the SourceGraphic
      and SourceAlpha FilterEffects in its constructor and factory function,
      rather than extracting them from the parent Filter.  (This is necessary
      so that the url() filter can correctly hook up its inputs from
      previous CSS filters.)
      
      Reviewed by Dean Jackson.
      
      Tests: css3/filters/effect-reference-external.html
             css3/filters/effect-reference-hw.html
             css3/filters/effect-reference-ordering.html
             css3/filters/effect-reference.html
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      Add WebKitCSSSVGDocumentValue to the various build files.
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::CSSComputedStyleDeclaration::valueForFilter):
      Use the reference filter's url when getting the computed style for
      a reference filter.
      * css/CSSParser.cpp:
      (WebCore::CSSParser::parseFilter):
      Create the referenceFilterValue's argument as a
      WebKitCSSSVGDocumentValue instead of a CSS string.
      * css/CSSValue.cpp:
      (WebCore::CSSValue::cssText):
      Add support for WebKitCSSSVGDocumentValue.
      (WebCore::CSSValue::destroy):
      Add support for WebKitCSSSVGDocumentValue.
      * css/CSSValue.h:
      (WebCore::CSSValue::isWebKitCSSSVGDocumentValue):
      Add support for WebKitCSSSVGDocumentValue.
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::collectMatchingRulesForList):
      Keep track of pending SVG document references, and load them when
      necessary.
      * css/StyleResolver.h:
      * css/WebKitCSSSVGDocumentValue.cpp: Added.
      New CSSValue subclass for holding SVG document references.
      (WebCore::WebKitCSSSVGDocumentValue::WebKitCSSSVGDocumentValue):
      (WebCore::WebKitCSSSVGDocumentValue::~WebKitCSSSVGDocumentValue):
      (WebCore::WebKitCSSSVGDocumentValue::load):
      (WebCore::WebKitCSSSVGDocumentValue::customCssText):
      * css/WebKitCSSSVGDocumentValue.h: Added.
      (WebCore::WebKitCSSSVGDocumentValue::create):
      (WebCore::WebKitCSSSVGDocumentValue::cachedSVGDocument):
      (WebCore::WebKitCSSSVGDocumentValue::url):
      (WebCore::WebKitCSSSVGDocumentValue::loadRequested):
      * platform/graphics/GraphicsLayer.h:
      Refactor PlatformLayer out into its own file, to avoid circular
      includes.
      * platform/graphics/ImageBuffer.h:
      Include PlatformLayer.h instead of GraphicsLayer.h.
      * platform/graphics/PlatformLayer.h: Added.
      Refactor PlatformLayer out into its own file, to avoid circular
      includes.
      * platform/graphics/filters/FilterOperation.h:
      (WebCore::ReferenceFilterOperation::create):
      (WebCore::ReferenceFilterOperation::clone):
      (WebCore::ReferenceFilterOperation::url):
      (WebCore::ReferenceFilterOperation::fragment):
      (ReferenceFilterOperation):
      (WebCore::ReferenceFilterOperation::data):
      (WebCore::ReferenceFilterOperation::setData):
      (WebCore::ReferenceFilterOperation::operator==):
      (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
      Augment ReferenceFilterOperation to maintain a data pointer,
      in order to preserve context while loading external SVG documents.
      Replace "reference" with "url" and "fragment" members, in order to
      ease retrieval of the appropriate DOM objects.
      * platform/graphics/filters/FilterOperations.cpp:
      (WebCore::FilterOperations::hasReferenceFilter):
      Convenience function for finding reference filters.
      * platform/graphics/filters/FilterOperations.h:
      (FilterOperations):
      * platform/mac/ScrollbarThemeMac.mm:
      Include GraphicsLayer.h explicitly, since ImageBuffer.h no longer
      includes it (and only includes PlatformLayer.h).
      * rendering/FilterEffectRenderer.cpp:
      (WebCore::FilterEffectRenderer::buildReferenceFilter):
      Utility function to build a FilterEffect node graph for a
      ReferenceFilterOperation.
      (WebCore::FilterEffectRenderer::build):
      Call the above builder function for ReferenceFilterOperations.
      * rendering/FilterEffectRenderer.h:
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::updateOrRemoveFilterEffect):
      If we have reference filters, update them along with other filters.
      (WebCore::RenderLayer::filterNeedsRepaint):
      * rendering/RenderLayerFilterInfo.cpp:
      (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
      (WebCore::RenderLayerFilterInfo::notifyFinished):
      Implement callback function when external SVGDocuments are loaded.
      (WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
      Add the FilterInfo as a client to be called when SVGDocuments are
      loaded.
      (WebCore::RenderLayerFilterInfo::removeReferenceFilterClients):
      Remove this from the list of notified clients.
      * rendering/RenderLayerFilterInfo.h:
      Add new member vars for tracking internal and external SVG
      references, so we can remove ourselves as a client when done.
      * rendering/svg/RenderSVGResourceContainer.cpp:
      (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
      When marking client DOM nodes for repaint, also mark any RenderLayers
      referring to this DOM tree via filters as needing repaint.
      (WebCore::RenderSVGResourceContainer::addClientRenderLayer):
      (WebCore::RenderSVGResourceContainer::removeClientRenderLayer):
      * rendering/svg/RenderSVGResourceContainer.h:
      Maintain a list of RenderLayer clients on each SVG resource container,
      and turn SVG DOM repaint notifications into filter repaint (CSS)
      notifications.
      * rendering/svg/RenderSVGResourceFilter.cpp:
      (WebCore::RenderSVGResourceFilter::buildPrimitives):
      Construct a SourceGraphic and SourceAlpha node explicitly for the
      SVG builder case.
      * svg/graphics/filters/SVGFilterBuilder.cpp:
      (WebCore::SVGFilterBuilder::SVGFilterBuilder):
      * svg/graphics/filters/SVGFilterBuilder.h:
      (WebCore::SVGFilterBuilder::create):
      Add the SourceGraphic and SourceAlpha as parameters to the constructor
      and create() methods, so they can be supplied by the caller.
      
      LayoutTests: Add tests for the url() filter function.
      https://bugs.webkit.org/show_bug.cgi?id=72443
      
      Reviewed by Dean Jackson.
      
      * css3/filters/effect-reference-external.html: Added.
      * css3/filters/effect-reference-hw.html: Added.
      * css3/filters/effect-reference-ordering.html: Added.
      * css3/filters/effect-reference.html: Added.
      * css3/filters/resources/hueRotate.svg: Added.
      * platform/chromium-linux/css3/filters/effect-reference-expected.png: Added.
      * platform/chromium-linux/css3/filters/effect-reference-expected.txt: Added.
      * platform/chromium-linux/css3/filters/effect-reference-external-expected.png: Added.
      * platform/chromium-linux/css3/filters/effect-reference-external-expected.txt: Added.
      * platform/chromium-linux/css3/filters/effect-reference-hw-expected.png: Added.
      * platform/chromium-linux/css3/filters/effect-reference-hw-expected.txt: Added.
      * platform/chromium-linux/css3/filters/effect-reference-ordering-expected.png: Added.
      * platform/chromium-linux/css3/filters/effect-reference-ordering-expected.txt: Added.
      * platform/chromium/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7ba72ddc
  14. 27 Jun, 2012 1 commit
    • zandobersek@gmail.com's avatar
      [Gtk] Add support for the Gamepad API · c8bac580
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=87503
      
      Reviewed by Carlos Garcia Campos.
      
      .: 
      
      Only enable the Gamepad feature on Linux as support
      for other operating systems is not present.
      
      Check for the GIO Unix and GUdev dependencies when the
      Gamepad feature is enabled.
      
      * configure.ac:
      
      Source/WebCore: 
      
      Add support for the Gamepad feature on the GTK port.
      
      The support is available only on Linux, with each gamepad device being presented
      through a GamepadDeviceLinux object. The implementation of this class relies on
      the Linux kernel joystick API.
      
      Gamepad devices are recognized through the GamepadsGtk class, of which implementation
      is based on GUdev. This way devices are properly registered on connection as objects of
      the GamepadDeviceGtk class which inherits GamepadDeviceLinux. GamepadDeviceGtk reads the
      joystick data through GIO pollable streams and updates the device state accordingly. The
      GamepadsGtk object is then polled for gamepads data through the sampleGamepads method.
      
      No new tests - tests already exist but require additional testing infrastructure.
      
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * bindings/gobject/GNUmakefile.am:
      * bindings/js/JSDOMBinding.h: Add the jsArray method that operates on a Vector of floats.
      (WebCore):
      (WebCore::jsArray):
      * platform/gtk/GamepadsGtk.cpp: Added.
      (WebCore):
      (GamepadDeviceGtk):
      (WebCore::GamepadDeviceGtk::create):
      (WebCore::GamepadDeviceGtk::GamepadDeviceGtk):
      (WebCore::GamepadDeviceGtk::~GamepadDeviceGtk):
      (WebCore::GamepadDeviceGtk::readCallback):
      (GamepadsGtk):
      (WebCore::GamepadsGtk::GamepadsGtk):
      (WebCore::GamepadsGtk::~GamepadsGtk):
      (WebCore::GamepadsGtk::registerDevice):
      (WebCore::GamepadsGtk::unregisterDevice):
      (WebCore::GamepadsGtk::updateGamepadList):
      (WebCore::GamepadsGtk::onUEventCallback):
      (WebCore::GamepadsGtk::isGamepadDevice):
      (WebCore::sampleGamepads):
      * platform/linux/GamepadDeviceLinux.cpp: Added.
      (WebCore):
      (WebCore::GamepadDeviceLinux::GamepadDeviceLinux):
      (WebCore::GamepadDeviceLinux::~GamepadDeviceLinux):
      (WebCore::GamepadDeviceLinux::updateForEvent):
      (WebCore::GamepadDeviceLinux::normalizeAxisValue):
      (WebCore::GamepadDeviceLinux::normalizeButtonValue):
      * platform/linux/GamepadDeviceLinux.h: Added.
      (WebCore):
      (GamepadDeviceLinux):
      (WebCore::GamepadDeviceLinux::connected):
      (WebCore::GamepadDeviceLinux::id):
      (WebCore::GamepadDeviceLinux::timestamp):
      (WebCore::GamepadDeviceLinux::axesCount):
      (WebCore::GamepadDeviceLinux::axesData):
      (WebCore::GamepadDeviceLinux::buttonsCount):
      (WebCore::GamepadDeviceLinux::buttonsData):
      
      Source/WebKit/gtk: 
      
      Add the Gamepad feature dependencies libraries to the LIBADD
      list for the libwebkitgtk library.
      
      * GNUmakefile.am:
      
      Source/WebKit2: 
      
      Add the Gamepad feature dependencies libraries to the LIBADD
      list for the libwebkitgtk2 library.
      
      * GNUmakefile.am:
      
      Tools: 
      
      Enable the gamepad support for the GTK port.
      
      * Scripts/webkitperl/FeatureList.pm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c8bac580
  15. 25 Jun, 2012 3 commits
    • eric@webkit.org's avatar
      Split map* functions out of StyleResolver into a helper object · 23bebc9a
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89881
      
      Reviewed by Daniel Bates.
      
      These map* functions are completely independent of the rest of StyleResolver
      and only exist to serve StyleBuilder.
      CSSToStyleMap doesn't even want to have a StyleResolver pointer, but
      currently needs one to access the resolve-lifetime caches for the
      current resolve.  Once we split out that per-resolve state into
      some sort of ResolveState/ResolveInfo object (akin to PaintInfo/LayoutState)
      then this object will be even simpler.
      
      No behavioral change, thus no tests.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * css/CSSToStyleMap.cpp: Added.
      (WebCore):
      (WebCore::CSSToStyleMap::style):
      (WebCore::CSSToStyleMap::rootElementStyle):
      (WebCore::CSSToStyleMap::useSVGZoomRules):
      (WebCore::CSSToStyleMap::styleImage):
      (WebCore::CSSToStyleMap::mapFillAttachment):
      (WebCore::CSSToStyleMap::mapFillClip):
      (WebCore::CSSToStyleMap::mapFillComposite):
      (WebCore::CSSToStyleMap::mapFillOrigin):
      (WebCore::CSSToStyleMap::mapFillImage):
      (WebCore::CSSToStyleMap::mapFillRepeatX):
      (WebCore::CSSToStyleMap::mapFillRepeatY):
      (WebCore::CSSToStyleMap::mapFillSize):
      (WebCore::CSSToStyleMap::mapFillXPosition):
      (WebCore::CSSToStyleMap::mapFillYPosition):
      (WebCore::CSSToStyleMap::mapAnimationDelay):
      (WebCore::CSSToStyleMap::mapAnimationDirection):
      (WebCore::CSSToStyleMap::mapAnimationDuration):
      (WebCore::CSSToStyleMap::mapAnimationFillMode):
      (WebCore::CSSToStyleMap::mapAnimationIterationCount):
      (WebCore::CSSToStyleMap::mapAnimationName):
      (WebCore::CSSToStyleMap::mapAnimationPlayState):
      (WebCore::CSSToStyleMap::mapAnimationProperty):
      (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
      (WebCore::CSSToStyleMap::mapNinePieceImage):
      (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
      (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
      (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
      * css/CSSToStyleMap.h: Added.
      (WebCore):
      (CSSToStyleMap):
      (WebCore::CSSToStyleMap::CSSToStyleMap):
      * css/StyleBuilder.cpp:
      (WebCore::ApplyPropertyFillLayer::applyValue):
      (WebCore::ApplyPropertyBorderImage::applyValue):
      (WebCore::ApplyPropertyBorderImageModifier::applyValue):
      (WebCore):
      (WebCore::ApplyPropertyAnimation::map):
      (WebCore::StyleBuilder::StyleBuilder):
      * css/StyleResolver.cpp:
      (WebCore::StyleResolver::StyleResolver):
      (WebCore::StyleResolver::collectMatchingRulesForList):
      * css/StyleResolver.h:
      (WebCore::StyleResolver::styleMap):
      (StyleResolver):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23bebc9a
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix make distcheck. · 5b4a1f2a
      carlosgc@webkit.org authored
      * GNUmakefile.list.am: Add missing header file.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b4a1f2a
    • yurys@chromium.org's avatar
      Web Inspector: add external resources size to the native memory diagram · 442871b5
      yurys@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89754
      
      Reviewed by Vsevolod Vlasov.
      
      Size of external strings and arrays is now reported through the inspector
      protocol and displayed on the native memory chart.
      
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/ScriptProfiler.h:
      (WebCore):
      (WebCore::ScriptProfiler::visitJSDOMWrappers):
      (WebCore::ScriptProfiler::visitExternalJSStrings):
      (WebCore::ScriptProfiler::visitExternalJSArrays):
      * bindings/v8/ScriptProfiler.cpp:
      (WebCore::ScriptProfiler::visitJSDOMWrappers):
      (WebCore::ScriptProfiler::visitExternalJSStrings):
      (WebCore::ScriptProfiler::visitExternalJSArrays):
      (WebCore):
      * bindings/v8/ScriptProfiler.h:
      (WebCore):
      (ScriptProfiler):
      * bindings/v8/V8Binding.cpp:
      (WebCore::WebCoreStringResource::visitStrings):
      (WebCore::V8BindingPerIsolateData::visitJSExternalStrings):
      * bindings/v8/V8Binding.h:
      (WebCore):
      (V8BindingPerIsolateData):
      * inspector/BindingVisitors.h: Renamed from Source/WebCore/inspector/DOMWrapperVisitor.h.
      (WTF):
      (WebCore):
      (NodeWrapperVisitor):
      (WebCore::NodeWrapperVisitor::~NodeWrapperVisitor):
      (ExternalStringVisitor):
      (WebCore::ExternalStringVisitor::~ExternalStringVisitor):
      (ExternalArrayVisitor):
      (WebCore::ExternalArrayVisitor::~ExternalArrayVisitor):
      * inspector/InspectorMemoryAgent.cpp:
      (MemoryBlockName):
      (WebCore):
      (WebCore::jsExternalResourcesInfo):
      (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
      * inspector/front-end/NativeMemorySnapshotView.js:
      (WebInspector.MemoryBlockViewProperties._initialize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      442871b5
  16. 22 Jun, 2012 2 commits
    • loislo@chromium.org's avatar
      Web Inspector: partially instrument DOM Tree native memory. · 8007d593
      loislo@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89568
      
      PerformanceTests:
      
      This patch adds MemoryInstrumentation class that counts all visited
      objects and calls reportMemoryUsage.
      
      Reviewed by Yury Semikhatsky.
      
      * inspector/native-memory-snapshot.html:
      
      Source/WebCore:
      
      This patch adds MemoryInstrumentation class that counts all visited
      objects and calls reportMemoryUsage for the instrumented classes.
      
      Reviewed by Yury Semikhatsky.
      
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/ScriptWrappable.h:
      (WebCore::ScriptWrappable::reportMemoryUsage):
      (ScriptWrappable):
      * bindings/v8/ScriptWrappable.h:
      (WebCore::ScriptWrappable::reportMemoryUsage):
      (ScriptWrappable):
      * css/StylePropertySet.h:
      (WebCore::StylePropertySet::reportMemoryUsage):
      (StylePropertySet):
      * dom/ContainerNode.h:
      (WebCore::ContainerNode::reportMemoryUsage):
      (ContainerNode):
      * dom/Element.h:
      (WebCore::Element::reportMemoryUsage):
      (Element):
      * dom/ElementAttributeData.h:
      (WebCore::ElementAttributeData::reportMemoryUsage):
      (ElementAttributeData):
      * dom/MemoryInstrumentation.h: Added.
      (WebCore):
      (MemoryInstrumentation):
      (WebCore::MemoryInstrumentation::~MemoryInstrumentation):
      (WebCore::MemoryInstrumentation::reportObject):
      (WebCore::MemoryInstrumentation::reportPointer):
      (MemoryObjectInfo):
      (WebCore::MemoryObjectInfo::MemoryObjectInfo):
      (WebCore::MemoryObjectInfo::reportInstrumentedPointer):
      (WebCore::MemoryObjectInfo::reportPointer):
      (WebCore::MemoryObjectInfo::reportInstrumentedObject):
      (WebCore::MemoryObjectInfo::reportObject):
      (WebCore::MemoryObjectInfo::reportObjectInfo):
      (WebCore::MemoryObjectInfo::objectType):
      (WebCore::MemoryObjectInfo::objectSize):
      (WebCore::MemoryInstrumentation::reportInstrumentedPointer):
      (WebCore::MemoryInstrumentation::reportInstrumentedObject):
      * dom/Node.cpp:
      (WebCore::Node::reportMemoryUsage):
      (WebCore):
      * dom/Node.h:
      (Node):
      * dom/QualifiedName.h:
      (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
      (WebCore::QualifiedName::reportMemoryUsage):
      * inspector/InspectorMemoryAgent.cpp:
      (MemoryBlockName):
      (WebCore):
      (WebCore::addMemoryBlockFor):
      (WebCore::domTreeInfo):
      (WebCore::memoryCacheInfo):
      (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
      * platform/TreeShared.h:
      (WebCore::TreeShared::reportMemoryUsage):
      (TreeShared):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8007d593
    • commit-queue@webkit.org's avatar
      Renamed DeviceOrientation to DeviceOrientationData · 4082f960
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88663
      
      Patch by Amy Ousterhout <aousterh@chromium.org> on 2012-06-22
      Reviewed by Steve Block.
      
      Source/WebCore:
      
      No new tests because this is simply a name change.
      
      Renamed DeviceOrientation to DeviceOrientationData in order to be consistent with DeviceMotionData.
      Updated all files that use DeviceOrientation.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSDeviceOrientationEventCustom.cpp:
      (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
      * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
      (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
      * dom/DOMAllInOne.cpp:
      * dom/DeviceOrientationClient.h:
      (WebCore):
      (DeviceOrientationClient):
      * dom/DeviceOrientationController.cpp:
      (WebCore::DeviceOrientationController::timerFired):
      (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
      * dom/DeviceOrientationController.h:
      (WebCore):
      (DeviceOrientationController):
      * dom/DeviceOrientationData.cpp: Renamed from Source/WebCore/dom/DeviceOrientation.cpp.
      (WebCore):
      (WebCore::DeviceOrientationData::create):
      (WebCore::DeviceOrientationData::DeviceOrientationData):
      (WebCore::DeviceOrientationData::alpha):
      (WebCore::DeviceOrientationData::beta):
      (WebCore::DeviceOrientationData::gamma):
      (WebCore::DeviceOrientationData::absolute):
      (WebCore::DeviceOrientationData::canProvideAlpha):
      (WebCore::DeviceOrientationData::canProvideBeta):
      (WebCore::DeviceOrientationData::canProvideGamma):
      (WebCore::DeviceOrientationData::canProvideAbsolute):
      * dom/DeviceOrientationData.h: Renamed from Source/WebCore/dom/DeviceOrientation.h.
      (WebCore):
      (DeviceOrientationData):
      * dom/DeviceOrientationEvent.cpp:
      (WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
      (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):
      * dom/DeviceOrientationEvent.h:
      (WebCore):
      (WebCore::DeviceOrientationEvent::create):
      (DeviceOrientationEvent):
      (WebCore::DeviceOrientationEvent::orientation):
      * loader/EmptyClients.h:
      (WebCore::EmptyDeviceOrientationClient::lastOrientation):
      * platform/mock/DeviceOrientationClientMock.cpp:
      (WebCore::DeviceOrientationClientMock::setOrientation):
      * platform/mock/DeviceOrientationClientMock.h:
      (WebCore::DeviceOrientationClientMock::lastOrientation):
      (DeviceOrientationClientMock):
      * platform/qt/DeviceOrientationClientQt.cpp:
      (DeviceOrientationClientQt):
      * platform/qt/DeviceOrientationClientQt.h:
      (DeviceOrientationClientQt):
      * platform/qt/DeviceOrientationProviderQt.h:
      (DeviceOrientationProviderQt):
      
      Source/WebKit/blackberry:
      
      Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
      This change makes DeviceOrientationData consistent with DeviceMotionData.
      
      * WebCoreSupport/DeviceOrientationClientBlackBerry.h:
      (DeviceOrientationClientBlackBerry):
      
      Source/WebKit/chromium:
      
      Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
      This change makes DeviceOrientationData consistent with DeviceMotionData.
      
      * public/WebDeviceOrientation.h:
      (WebDeviceOrientation):
      * src/DeviceOrientationClientProxy.cpp:
      (WebKit::DeviceOrientationClientProxy::lastOrientation):
      * src/DeviceOrientationClientProxy.h:
      (DeviceOrientationClientProxy):
      * src/WebDeviceOrientation.cpp:
      (WebKit::WebDeviceOrientation::WebDeviceOrientation):
      (WebKit::WebDeviceOrientation::operator=):
      (WebKit::WebDeviceOrientation::operator PassRefPtr<WebCore::DeviceOrientationData>):
      * src/WebDeviceOrientationController.cpp:
      (WebKit::WebDeviceOrientationController::didChangeDeviceOrientation):
      
      Source/WebKit/efl:
      
      Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
      This change makes DeviceOrientationData consistent with DeviceMotionData.
      
      * WebCoreSupport/DeviceOrientationClientEfl.h:
      (DeviceOrientationClientEfl):
      
      Source/WebKit/gtk:
      
      Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
      This change makes DeviceOrientationData consistent with DeviceMotionData.
      
      * WebCoreSupport/DeviceOrientationClientGtk.h:
      (DeviceOrientationClientGtk):
      
      Source/WebKit/mac:
      
      Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
      This change makes DeviceOrientationData consistent with DeviceMotionData.
      * WebCoreSupport/WebDeviceOrientationClient.h:
      (WebDeviceOrientationClient):
      * WebCoreSupport/WebDeviceOrientationClient.mm:
      (WebDeviceOrientationClient::lastOrientation):
      * WebView/WebDeviceOrientation.mm:
      * WebView/WebDeviceOrientationInternal.h:
      
      Source/WebKit/qt:
      
      Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
      This change makes DeviceOrientationData consistent with DeviceMotionData.
      
      * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
      (DumpRenderTreeSupportQt::setMockDeviceOrientation):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4082f960
  17. 21 Jun, 2012 6 commits
    • commit-queue@webkit.org's avatar
      [GTK] Use the empty plugin support on non-X11 and non-Windows platforms · bbb2b2ee
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89501
      
      Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
      Reviewed by Martin Robinson.
      
      The GTK+ port doesn't currently support NPAPI plugins on platforms other
      than X11 or Windows. Using PluginPackageNone and PluginViewNone makes it
      easier to build it on other platforms and also allows us to drop some
      ifdefs from PluginPackageGtk and PluginViewGtk.
      
      * GNUmakefile.list.am:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bbb2b2ee
    • jchaffraix@webkit.org's avatar
      Add support for the grid and inline-grid display types. · 5f6df190
      jchaffraix@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=60732
      
      Reviewed by Tony Chang.
      
      Source/WebCore:
      
      Tests: fast/css-grid-layout/containing-block-grids-expected.html
             fast/css-grid-layout/containing-block-grids.html
             fast/css-grid-layout/floating-empty-grids-expected.html
             fast/css-grid-layout/floating-empty-grids.html
      
      Based on an earlier patch by David Hyatt <hyatt@apple.com>.
      
      Added the first renderer for grid elements.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      Added RenderGrid files to the build systems.
      
      * rendering/RenderGrid.cpp: Added.
      (WebCore::RenderGrid::RenderGrid):
      (WebCore::RenderGrid::~RenderGrid):
      (WebCore::RenderGrid::layoutBlock):
      (WebCore::RenderGrid::renderName):
      * rendering/RenderGrid.h: Added.
      (RenderGrid):
      Skeleton renderer for now.
      
      * rendering/RenderObject.cpp:
      (WebCore::RenderObject::createObject):
      Return our new RenderGrid for our 2 new |display| values.
      
      * rendering/style/RenderStyle.h:
      Added INLINE_GRID to the inline and replaced types.
      
      LayoutTests:
      
      Based on an earlier patch by David Hyatt <hyatt@apple.com>.
      
      * fast/css-grid-layout/containing-block-grids-expected.html: Added.
      * fast/css-grid-layout/containing-block-grids.html: Added.
      * fast/css-grid-layout/floating-empty-grids-expected.html: Added.
      * fast/css-grid-layout/floating-empty-grids.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5f6df190
    • simonjam@chromium.org's avatar
      [Resource Timing] Implement Resource Timing interface · 0c0aa712
      simonjam@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=61152
      
      This patch implements the Resource Timing interface. It doesn't do anything
      useful, because nothing populates the timeline yet. There are also some gaps
      in the implementation, which have been filed as bugs.
      
      http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourceTiming/Overview.html
      
      Reviewed by Tony Gentilcore.
      
      No new tests. Feature is disabled on all platforms.
      
      * CMakeLists.txt:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
      (WebCore):
      (WebCore::toV8): Support PerformanceEntry polymorphism.
      * dom/EventNames.h:
      (WebCore):
      * dom/EventTargetFactory.in:
      * page/Performance.cpp:
      (WebCore::Performance::~Performance):
      (WebCore):
      (WebCore::Performance::interfaceName): Reqired for EventTarget.
      (WebCore::Performance::scriptExecutionContext): Ditto.
      (WebCore::Performance::webkitGetEntries): Return "resource" entries.
      (WebCore::Performance::webkitGetEntriesByType): Ditto.
      (WebCore::Performance::webkitGetEntriesByName): Ditto.
      (WebCore::Performance::webkitClearResourceTimings): New.
      (WebCore::Performance::webkitSetResourceTimingBufferSize): New. Unimplemented.
      (WebCore::Performance::addResourceTiming): This is how resources in WebCore will report to the timeline.
      (WebCore::Performance::eventTargetData): Required for EventTarget.
      (WebCore::Performance::ensureEventTargetData): Ditto.
      * page/Performance.h:
      (Performance):
      (WebCore::Performance::refEventTarget):
      (WebCore::Performance::derefEventTarget):
      * page/Performance.idl:
      * page/PerformanceEntry.cpp:
      (WebCore::PerformanceEntry::~PerformanceEntry):
      (WebCore):
      * page/PerformanceEntry.h:
      (PerformanceEntry):
      (WebCore::PerformanceEntry::isResource):
      * page/PerformanceEntry.idl:
      * page/PerformanceResourceTiming.cpp: Added.
      (WebCore):
      (WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
      (WebCore::PerformanceResourceTiming::initiatorType):
      (WebCore::PerformanceResourceTiming::redirectStart):
      (WebCore::PerformanceResourceTiming::redirectEnd):
      (WebCore::PerformanceResourceTiming::fetchStart):
      (WebCore::PerformanceResourceTiming::domainLookupStart):
      (WebCore::PerformanceResourceTiming::domainLookupEnd):
      (WebCore::PerformanceResourceTiming::connectStart):
      (WebCore::PerformanceResourceTiming::connectEnd):
      (WebCore::PerformanceResourceTiming::secureConnectionStart):
      (WebCore::PerformanceResourceTiming::requestStart):
      (WebCore::PerformanceResourceTiming::responseStart):
      (WebCore::PerformanceResourceTiming::responseEnd):
      (WebCore::PerformanceResourceTiming::monotonicTimeToDocumentMilliseconds):
      (WebCore::PerformanceResourceTiming::resourceTimeToMilliseconds):
      * page/PerformanceResourceTiming.h: Added.
      (WebCore):
      (PerformanceResourceTiming):
      (WebCore::PerformanceResourceTiming::create):
      (WebCore::PerformanceResourceTiming::isResource):
      * page/PerformanceResourceTiming.idl: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c0aa712
    • commit-queue@webkit.org's avatar
      Web Inspector: [WebGL] Rename InjectedWebGLScriptSource.js -> InjectedScriptWebGLModuleSource.js · a3fa788a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89675
      
      Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-21
      Reviewed by Pavel Feldman.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * inspector/InjectedScriptWebGLModule.cpp:
      (WebCore::InjectedScriptWebGLModule::source):
      * inspector/InjectedScriptWebGLModuleSource.js: Renamed from Source/WebCore/inspector/InjectedWebGLScriptSource.js.
      (.):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3fa788a
    • commit-queue@webkit.org's avatar
      [GTK] Fix NPAPI plugins on Windows · 618672dd
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=54531
      
      Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
      Reviewed by Martin Robinson.
      
      .:
      
      Define XP_WIN on Windows for plugin support.
      
      * GNUmakefile.am:
      
      Source/WebCore:
      
      Switch to using PluginPackageWin.cpp and PluginViewWin.cpp on Windows
      platform, and leave plugins/gtk/ only for XP_UNIX platforms. With this
      we can share a lot of code with other ports and don't have to
      reimplement all the Windows-specific code in plugins/gtk/.
      
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * platform/FileSystem.h:
      (WebCore):
      * platform/graphics/GraphicsContext.h:
      (GraphicsContext):
      * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
      (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
      (GraphicsContextPlatformPrivate):
      * platform/graphics/transforms/TransformationMatrix.h:
      (TransformationMatrix):
      * platform/graphics/win/GraphicsContextCairoWin.cpp:
      (WebCore):
      * platform/graphics/win/GraphicsContextWin.cpp:
      (WebCore):
      * platform/gtk/FileSystemGtk.cpp:
      (WebCore::unloadModule):
      * plugins/PluginView.h:
      (PluginView):
      * plugins/win/PluginViewWin.cpp:
      (windowHandleForPageClient):
      (WebCore::registerPluginView):
      (WebCore::PluginView::paint):
      (WebCore::PluginView::handleMouseEvent):
      (WebCore::PluginView::platformStart):
      (WebCore::PluginView::snapshot):
      
      Source/WTF:
      
      Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and
      include OwnPtrWin.cpp in the list of files built on Windows.
      
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      618672dd
    • commit-queue@webkit.org's avatar
      Web Inspector: [WebGL] Add injected WebGL module class · 3ff0fe07
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=89592
      
      Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-06-21
      Reviewed by Pavel Feldman.
      
      Adding a new InjectedScriptWebGLModule class and moving WebGL-related
      stuff out of InjectedScriptManager class.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * inspector/InjectedScriptManager.cpp:
      * inspector/InjectedScriptManager.h:
      (InjectedScriptManager):
      * inspector/InjectedScriptModule.cpp:
      (WebCore::InjectedScriptModule::ensureInjected):
      * inspector/InjectedScriptModule.h:
      (InjectedScriptModule):
      * inspector/InjectedScriptWebGLModule.cpp: Copied from Source/WebCore/inspector/InjectedScriptModule.cpp.
      (WebCore):
      (WebCore::InjectedScriptWebGLModule::InjectedScriptWebGLModule):
      (WebCore::InjectedScriptWebGLModule::moduleForState):
      (WebCore::InjectedScriptWebGLModule::source):
      (WebCore::InjectedScriptWebGLModule::wrapWebGLContext):
      (WebCore::InjectedScriptWebGLModule::captureFrame):
      * inspector/InjectedScriptWebGLModule.h: Copied from Source/WebCore/inspector/InjectedScriptModule.h.
      (WebCore):
      (InjectedScriptWebGLModule):
      * inspector/InspectorWebGLAgent.cpp:
      (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ff0fe07