blob: f9d7d0c3a58adc33276eae450d835a0b4b4a66e2 [file] [log] [blame]
2011-06-13 Joone Hur <joone.hur@collabora.co.uk>
Reviewed by Martin Robinson.
[GTK] Add configure option to enable/disable register protocol handler
https://bugs.webkit.org/show_bug.cgi?id=62534
* GNUmakefile.am: Add ENABLE_REGISTER_PROTOCOL_HANDLER.
2011-06-13 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Reviewed by Kent Tamura.
[EFL] Support for painting thumb of media slider
https://bugs.webkit.org/show_bug.cgi?id=62174
Implement paintMediaSliderThumb() function to show thumb of media slider.
adjustSliderThumbSize() should be implemented in order to call paintMediaSliderThumb().
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::adjustSliderThumbSize):
(WebCore::RenderThemeEfl::paintMediaSliderTrack):
(WebCore::RenderThemeEfl::paintMediaSliderThumb):
(WebCore::RenderThemeEfl::paintMediaCurrentTime):
* platform/efl/RenderThemeEfl.h:
2011-06-13 Keishi Hattori <keishi@webkit.org>
Sort WebCore.xcodeproj
Accomplished using sort-Xcode-project-file.
* WebCore.xcodeproj/project.pbxproj:
2011-06-13 James Simonsen <simonjam@chromium.org>
Reviewed by James Robinson.
[Chromium] Implement monotonicallyIncreasingClock()
https://bugs.webkit.org/show_bug.cgi?id=62162
* platform/chromium/PlatformBridge.h:
* platform/chromium/SystemTimeChromium.cpp:
(WebCore::monotonicallyIncreasingTime): Use Chrome's implementation.
2011-06-13 Steve Block <steveblock@google.com>
Reviewed by Darin Adler.
Remove Android defines from WebCore/config.h
https://bugs.webkit.org/show_bug.cgi?id=62602
No new tests, build cleanup only.
* config.h:
2011-06-13 Adam Barth <abarth@webkit.org>
Reviewed by David Levin.
Remove redundant "true" parameter to scheduleLocationChange
https://bugs.webkit.org/show_bug.cgi?id=62612
This parameter defaults to true anyway.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::selectCache):
2011-06-13 Kentaro Hara <haraken@google.com>
Reviewed by Alexey Proskuryakov.
Add resizePageRectsKeepingRatio(), which expands/shrinks a page, keeping the ratio of the original page
https://bugs.webkit.org/show_bug.cgi?id=61256
In order to prevent rounding error caused by expanding/shrinking a page
using different calculation here and there, I added a common calculation
method, resizePageRectsKeepingRatio(), which expands/shrinks a page,
keeping the ratio of width and height of the original page.
PrintContext::computePageRects() and PrintContext::begin()
use resizePageRectsKeepingRatio() to expand/shrink a page.
Test: printing/page-count-with-one-word.html
* WebCore.exp.in:
* page/Frame.cpp:
(WebCore::Frame::resizePageRectsKeepingRatio):
* page/Frame.h:
* page/PrintContext.cpp:
(WebCore::PrintContext::computePageRects):
(WebCore::PrintContext::begin):
2011-06-13 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
anyPageIsProcessingUserGesture is not longer needed because user gesture state is static
https://bugs.webkit.org/show_bug.cgi?id=62601
Previously, our user-gesture state was per-frame. Code needed to check
the "global" user gesture state called anyPageIsProcessingUserGesture()
to iterate through all the frames and look for one that was processing
a user gesture. Since we changed the user gesture state to be static,
iterating over every frame in existence isn't needed.
This patch also cleans up a couple other user-gesture callsites I saw
while I was in this code. Code should just call
ScriptController::processingUserGesture directly instead of
trampolining through other functions.
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::executeScript):
* bindings/generic/BindingSecurity.h:
(WebCore::::allowPopUp):
* bindings/js/JSDOMBinding.cpp:
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::setLocation):
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptController.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/ScriptController.cpp:
* bindings/v8/ScriptController.h:
(WebCore::ScriptController::setProcessingTimerCallback):
* bindings/v8/V8Utilities.cpp:
* bindings/v8/V8Utilities.h:
* bindings/v8/specialization/V8BindingState.cpp:
* bindings/v8/specialization/V8BindingState.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitFromJavaScript):
(WebCore::HTMLFormElement::submit):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::setLocation):
(WebCore::DOMWindow::createWindow):
(WebCore::DOMWindow::open):
2011-06-13 Jeffrey Pfau <jpfau@apple.com>
Reviewed by Darin Adler.
Crash in WebCore::RenderMathMLUnderOver::layout()
https://bugs.webkit.org/show_bug.cgi?id=57900
Add more null checks so that removing children in MathML elements does not cause crashes.
Note that this only half fixes the third repro in the Bugzilla bug, as another bug will
still crash that repro.
Test: mathml/munderover-remove-children.html
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::stretchToHeight):
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::layout):
(WebCore::RenderMathMLUnderOver::nonOperatorHeight):
2011-06-13 Dmitry Lomov <dslomov@google.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=62345
Use per-isolate embedder data instead of statics for caches in bindings.
This is a prerequisite for more than one v8 isolate per process.
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromSerializedValueAndKeyPath):
(WebCore::injectIDBKeyIntoSerializedValue):
* bindings/v8/V8Binding.cpp:
(WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::~V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::create):
(WebCore::V8BindingPerIsolateData::ensureInitialized):
(WebCore::V8BindingPerIsolateData::dispose):
(WebCore::getToStringName):
(WebCore::getToStringTemplate):
* bindings/v8/V8Binding.h:
(WebCore::V8BindingPerIsolateData::get):
(WebCore::V8BindingPerIsolateData::current):
(WebCore::V8BindingPerIsolateData::rawTemplateMap):
(WebCore::V8BindingPerIsolateData::templateMap):
(WebCore::V8BindingPerIsolateData::toStringName):
(WebCore::V8BindingPerIsolateData::toStringTemplate):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::initContextIfNeeded):
* bindings/v8/V8Utilities.cpp:
(WebCore::V8LocalContext::V8LocalContext):
(WebCore::V8LocalContext::~V8LocalContext):
* bindings/v8/V8Utilities.h:
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
2011-06-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed by Adam Barth.
Simplify logic in ProgressTracker::progressCompleted()
https://bugs.webkit.org/show_bug.cgi?id=62598
Testing for "m_numProgressTrackedFrames != 0" is unnecessary because it is
always true, otherwise we would entered in the first part of the conditional.
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::progressCompleted):
2011-06-13 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r88704.
http://trac.webkit.org/changeset/88704
https://bugs.webkit.org/show_bug.cgi?id=62466
Caused layout test failures on Chromium Mac.
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::declareAndWriteDragImage):
2011-06-13 Morgan Winer <mwiner@apple.com>
Reviewed by Enrica Casucci.
Frame::visiblePositionForPoint returns null position if the point is over an imagemap.
https://bugs.webkit.org/show_bug.cgi?id=62562
<rdar://problem/9313885>
The innerNode() of an imageMap is an area, and doesn't have a renderer and
therefore can't report a position.
Every result's innerNonSharedNode() should be the same as the innerNode(),
except for imageMaps, which will have the actual image as its innerNonSharedNode(),
and will therefore have a renderer and can report a position.
There are no layout tests for this, since it can be tested only at API level.
* page/Frame.cpp:
(WebCore::Frame::visiblePositionForPoint): Changing innerNode() to innerNonSharedNode().
2011-06-13 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Eric Seidel.
[CMAKE] Conditionally generate DerivedSources
https://bugs.webkit.org/show_bug.cgi?id=62277
Speedup build by not generating DerivedSources of features that are
disabled. This was already been done for some features like ENABLE_SVG
and now it's extended the following features: ENABLE_DATABASE,
ENABLE_INDEXED_DATABASE, ENABLE_DOM_STORAGE, ENABLE_XPATH,
ENABLE_OFFLINE_WEB_APPLICATIONS, ENABLE_WEB_SOCKETS,
ENABLE_DATA_TRANSFER_ITEMS.
No change in functionality so no new tests.
* CMakeLists.txt: move .idl files to be conditionally generated.
2011-06-13 Leandro Pereira <leandro@profusion.mobi>
Reviewed by Eric Seidel.
[CMake] Allow building with ENABLE_NETSCAPE_PLUGIN_API on platforms
without plugin support
https://bugs.webkit.org/show_bug.cgi?id=62394
No behaviour changes, so no new tests.
* CMakeLists.txt: Remove references to Plugin{Package,View}.cpp and
Plugin{Package,View}None.cpp and move them to CMakeListWinCE and
CMakeListsEfl, respectively.
* CMakeListsEfl.txt:
* CMakeListsWinCE.txt:
2011-06-13 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Eric Seidel.
Web Inspector: [refactoring] remove dead code from NetworkPanel
https://bugs.webkit.org/show_bug.cgi?id=62481
* inspector/front-end/NetworkPanel.js:
2011-06-13 Daniel Cheng <dcheng@chromium.org>
Reviewed by Eric Seidel.
[chromium] Dragging images to Mail.app results in broken attachments
https://bugs.webkit.org/show_bug.cgi?id=62466
No new tests.
* platform/chromium/ClipboardChromium.cpp:
(WebCore::ClipboardChromium::declareAndWriteDragImage):
2011-06-13 Adrienne Walker <enne@google.com>
Reviewed by Simon Fraser.
Overlap test needs to consider children of composited layers
https://bugs.webkit.org/show_bug.cgi?id=62465
Any child layer with a compositing ancestor will be put into a
composited layer even though they themselves don't need compositing.
As layer bounds aren't hierarchical, these layer bounds themselves
need to be put into the overlap map because the composited layer
itself is not sufficient.
Test: compositing/layer-creation/overlap-animated-layer.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
2011-06-13 Xan Lopez <xlopez@igalia.com>
Unreviewed build fix.
Touch this to try to fix the build...
* platform/gtk/WidgetGtk.cpp:
(WebCore::Widget::~Widget):
2011-06-13 Xan Lopez <xlopez@igalia.com>
Try to fix GTK+ build.
* GNUmakefile.list.am: remove CredentialStorage.cpp
2011-06-13 Stephen White <senorblanco@chromium.org>
Reviewed by James Robinson.
Improve GPU canvas startup time on the SkiaGPU path.
https://bugs.webkit.org/show_bug.cgi?id=62594
Fixed by skipping creation of shaders used only by the legacy path.
Covered by existing canvas tests.
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::create):
2011-06-13 Michael Saboff <msaboff@apple.com>
Reviewed by Oliver Hunt.
Additional FontCache::FontCachePurgePreventer instances needed
https://bugs.webkit.org/show_bug.cgi?id=62498
Added some needed and speculative FontCachePurgePreventer objects.
Built and ran Safari with debug version of webkit that purges all
purgeable fonts in FontCache::purgeInactiveFontDataIfNeeded in order
to find system fallback fonts access via code paths that aren't
protected with FontCachePurgePreventer objects. Also examined
platform specific code that calls either Font::drawText() or
Canvas::drawText(). For those methods that may be called from currently
unprotected paths, added FontCachePurgePreventer objects.
No new functionality so no new tests.
* inspector/DOMNodeHighlighter.cpp:
* platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
(PlatformCALayerWinInternal::displayCallback):
* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::drawHudContents):
* platform/mac/DragImageMac.mm:
(WebCore::widthWithFont):
(WebCore::drawAtPoint):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateOptionsWidth):
2011-06-13 Ryosuke Niwa <rniwa@webkit.org>
Reviewed by Dan Bernstein.
REGRESSION (r81518): Crash in makeRange() when invoking the dictionary panel over a file input
https://bugs.webkit.org/show_bug.cgi?id=62544
Fixed the crash by adding null pointer checks.
No new tests since there's no way to open dictionary panel.
* dom/Position.cpp:
(WebCore::Position::parentAnchoredEquivalent):
* editing/VisiblePosition.cpp:
(WebCore::makeRange):
* page/Frame.cpp:
(WebCore::Frame::rangeForPoint):
2011-06-13 Adam Barth <abarth@webkit.org>
Reviewed by Nate Chapin.
Factor IconController out of FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=62509
This new class contains all the icon-related logic from FrameLoader.
The icon-related logic and state has almost zero interaction with the
rest of FrameLoader and is better handled as a separate concern.
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::setIconURL):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didReceiveResponse):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::iconLoadDecisionAvailable):
(WebCore::DocumentLoader::continueIconLoadWithDecision):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::stop):
* loader/FrameLoader.h:
(WebCore::FrameLoader::icon):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::finishLoading):
* loader/icon/IconLoader.h:
2011-06-13 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
[V8] Cache V8NPObjects so that we don't create multiple
NPObjects for the same v8::Object.
https://bugs.webkit.org/show_bug.cgi?id=61482
Test: plugins/npruntime/embed-property-equality.html
* bindings/v8/NPV8Object.cpp:
(WebCore::freeV8NPObject):
(WebCore::npCreateV8ScriptObject):
2011-06-13 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
Distcheck fixes.
* GNUmakefile.am:
* GNUmakefile.list.am:
2011-06-13 Dirk Schulze <krit@webkit.org>
Reviewed build fix of mac.
SVGAnimation should use direct unit animation for SVGLength
https://bugs.webkit.org/show_bug.cgi?id=61368
Forgot to add SVGAnimatedLength.cpp.
* WebCore.xcodeproj/project.pbxproj:
2011-06-13 Dirk Schulze <krit@webkit.org>
Reviewed by Nikolas Zimmermann.
SVGAnimation should use direct unit animation for SVGLength
https://bugs.webkit.org/show_bug.cgi?id=61368
When running SMIL animations within SVG, we unnecessarily transform the underlying SVG primitive datatype to strings, number+units, and back. As first step the target element
gets asked for its current value. This value gets transformed to a string. In SVGAnimateElement we try to parse this string again and
split it into a number and its unit. In the further steps we just animate the number. This number gets transformed back to a string
together with the parsed unit. The string gets passed back to the target element, which is responsible for parsing the passed string back
to a value as a SVG primitive datatype (like SVGLength, SVGNumber, SVGAngle, SVGColor, ...), relayout and rerendering.
In short: SVG primitive datatype -> string -> number + unit animation -> string -> SVG primitive datatype.
This patch does not attempt to change the string transformations, but addresses the parsing of the string back to a number and unit in the
SVG animation code. There's no need to write a new parser in SVGAnimateElement to parse SVG primitive datatypes, we can instead reuse the existing ones.
Also the current parser of SVGAnimateElement does not handle most unit types, nor is it possible to animate lists like SVGLengthList with the
parsed content. An animation of values with different unit types is not possible:
<rect width="20" height="20">
<animate animateAttribute="width" from="20px" to="10%" dur="4s"/>
</rect>
For the example above we would animate the rect width from 20px to 10px in 4 seconds and jump to the 10% of the viewport at the end of the
animation.
With using the parsers of SVG primitive datatypes we will also use the SVG primitive datatypes in the animation code itself. And that makes
it possible to do such animations.
In short: SVG primitive datatype -> string -> SVG primitive datatype animation -> string -> SVG primitive datatype.
It will be easier to avoid the string transformation once all SVG primitive datatypes are supported.
To hide the complexity of the animation code, the actual calculations of SVG animation specific values was moved to the corresponding
SVGAnimated* files (SVGAnimatedLength.cpp for SVGLength). SVGAnimateElement itself just works with the new added generic datatype SVGAnimationType.
SVGAnimatorFactory creates the SVG primitive datatype specific animators. This makes the main animation code a lot more readable and
maintainable.
With this patch I add the SVGAnimatorFactory and convert SVGLength animation to the new concept.
Tests: svg/animations/svglength-animation-LengthModeHeight.html
svg/animations/svglength-animation-LengthModeOther.html
svg/animations/svglength-animation-LengthModeWidth.html
svg/animations/svglength-animation-invalid-value-1.html
svg/animations/svglength-animation-invalid-value-2.html
svg/animations/svglength-animation-invalid-value-3.html
svg/animations/svglength-animation-number-to-number.html
svg/animations/svglength-animation-px-to-cm.html
svg/animations/svglength-animation-px-to-ems.html
svg/animations/svglength-animation-px-to-exs.html
svg/animations/svglength-animation-px-to-in.html
svg/animations/svglength-animation-px-to-number.html
svg/animations/svglength-animation-px-to-pc.html
svg/animations/svglength-animation-px-to-percentage.html
svg/animations/svglength-animation-px-to-pt.html
svg/animations/svglength-animation-px-to-px.html
svg/animations/svglength-animation-values.html
* CMakeLists.txt: Added new files to build system.
* GNUmakefile.list.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* svg/SVGAllInOne.cpp: Added SVGAnimatedLength.cpp for Win and other build systems.
* svg/SVGAnimateElement.cpp:
(WebCore::parseNumberValueAndUnit): Remove parsing code for SVGLength. Use SVGLength parser directly.
(WebCore::SVGAnimateElement::adjustForCurrentColor): Made adjustForCurrentColor public as preperation for SVGAnimatedColor.
(WebCore::getPropertyValue): Inline function to get computedStyle of CSS property.
(WebCore::SVGAnimateElement::adjustForInheritance): Made adjustForInheritance as preperation for SVGAnimated* files.
(WebCore::SVGAnimateElement::determineAnimatedAttributeType): SVGLength need special handling via SVGAnimator now.
(WebCore::SVGAnimateElement::calculateAnimatedValue): Cleanup. Make use of SVGAnimator for SVGLength.
(WebCore::SVGAnimateElement::calculateFromAndToValues): Ditto.
(WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
(WebCore::SVGAnimateElement::resetToBaseValue): Ditto.
(WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
(WebCore::SVGAnimateElement::calculateDistance): Ditto.
* svg/SVGAnimateElement.h:
* svg/SVGAnimatedLength.cpp: Added.
(WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator):
(WebCore::sharedSVGLength):
(WebCore::SVGAnimatedLengthAnimator::constructFromString):
(WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
(WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
(WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
(WebCore::SVGAnimatedLengthAnimator::calculateDistance):
* svg/SVGAnimatedLength.h: Added new class SVGAnimatedLengthAnimator which is responsible for the actual animation.
(WebCore::SVGAnimatedLengthAnimator::~SVGAnimatedLengthAnimator):
* svg/SVGAnimatedType.h: Added. Generic SVG unit type for animations in SVGAnimateElement.
(WebCore::SVGAnimatedType::createLength):
(WebCore::SVGAnimatedType::~SVGAnimatedType):
(WebCore::SVGAnimatedType::type):
(WebCore::SVGAnimatedType::length):
(WebCore::SVGAnimatedType::SVGAnimatedType):
* svg/SVGAnimatedTypeAnimator.h: Added. Base class for SVGAnimatedLengthAnimator and future SVG unit animators.
(WebCore::SVGAnimatedTypeAnimator::~SVGAnimatedTypeAnimator):
(WebCore::SVGAnimatedTypeAnimator::setContextElement):
(WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::parseMappedAttribute): We do not use parseNumberValueAndUnit for SVGLength now. Have to strip white spaces here. Whitespaces shouldn't
be stripped on the following attributes: 'from', 'to' and 'by'. This is not the case for SVGLength anymore. Added new tests to check this behavior.
(WebCore::SVGAnimationElement::animationMode): Enum is accessible in WebCore namespace now.
(WebCore::SVGAnimationElement::calcMode): Ditto.
* svg/SVGAnimationElement.h:
* svg/SVGAnimatorFactory.h: Added.
(WebCore::SVGAnimatorFactory::create):
* svg/SVGLength.cpp:
(WebCore::SVGLength::setValueAsString): New setter with string and SVGLengthMode.
(WebCore::SVGLength::lengthModeForAnimatedLengthAttribute): Get LengthMode for SVGLength depending on the attribute name.
* svg/SVGLength.h:
2011-06-13 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
r87539 broke HTMLMediaElement url logging
https://bugs.webkit.org/show_bug.cgi?id=62551
Returning pointers to temporaries is bad times!
* html/HTMLMediaElement.cpp:
(WebCore::urlForLogging):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::isSafeToLoadURL):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::sourceWasAdded):
(WebCore::HTMLMediaElement::sourceWillBeRemoved):
2011-06-13 Tony Chang <tony@chromium.org>
Reviewed by Dimitri Glazkov.
rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
https://bugs.webkit.org/show_bug.cgi?id=62578
* Configurations/FeatureDefines.xcconfig:
2011-06-13 Mark Pilgrim <pilgrim@chromium.org>
Reviewed by Tony Chang.
IndexedDB: setVersion() version argument is required
https://bugs.webkit.org/show_bug.cgi?id=62401
Test: storage/indexeddb/setVersion-undefined.html
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::setVersion): check for null version
* storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments
2011-06-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Adele Peterson.
Print out bounds origin in layer dump
https://bugs.webkit.org/show_bug.cgi?id=62583
Include m_boundsOrigin in the layer dump, which is used by layerTreeAsText().
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties):
2011-06-13 Simon Fraser <simon.fraser@apple.com>
Reviewed by Adele Peterson.
Add utility method to report whether a RenderLayer has any scrollbars
https://bugs.webkit.org/show_bug.cgi?id=62579
New method that returns true with either scrollbar is present.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::hasScrollbars):
2011-06-11 Jer Noble <jer.noble@apple.com>
Reviewed by Anders Carlsson.
Avoid flashing when exiting full-screen mode.
https://bugs.webkit.org/show_bug.cgi?id=62338
No new tests; covered by the existing full-screen tests.
Now that we are forcing a repaint inside of setRootFullScreenLayer() instead of during
the next run loop, make sure that we have disabled animation before calling
setRootFullScreenLayer() so that the RenderFullScreen renderer and its contents are
painted.
* dom/Document.cpp:
(WebCore::Document::webkitDidEnterFullScreenForElement):
2011-06-10 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
Flash of white on left and right edges of screen when showing fullscreen controller when movie doesn't fill the entire screen
https://bugs.webkit.org/show_bug.cgi?id=62491
<rdar://problem/9584427>
No new tests; should be covered by existing fullscreen pixel tests.
On certain displays, when a RenderFullScreen renderer is created, it is large enough to trigger the
creation of a tiled CALayer (instead of a normal CALayer). Painting in these layers necessarily
happens asynchronously, so the flash is occurring because of the async painting of the RenderFullScreen
renderer's background color. Since we know the RenderFullScreen does not otherwise paint its contents,
we can add a special case in the RenderLayerBacking to set the GraphicsLayer contents to be the
renderer's background color. Fill in support for creating a contentLayer to contain the background
color inside GraphicsLayerCA.
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setContentsToBackgroundColor): Renamed from setContentsBackgroundColor to match
the other setContentsTo... functions.
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToBackgroundColor): Added. Creates a contentsLayer to host the
background color.
(WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Removed a comment only.
* platform/graphics/ca/GraphicsLayerCA.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Special case the RenderFullScreen
renderer to call updateBackgroundColor.
(WebCore::RenderLayerBacking::updateBackgroundColor): Added.
(WebCore::RenderLayerBacking::containsPaintedContent): Tell the backing that the RenderFullScreen
renderer does not paint its contents.
* rendering/RenderLayerBacking.h:
2011-06-13 Tim Horton <timothy_horton@apple.com>
Reviewed by Simon Fraser.
REGRESSION(87152): Crash on page with svg fonts
https://bugs.webkit.org/show_bug.cgi?id=61556
We can't assume that the parent of a SVG-font-styled
text node won't be an anonymous block.
Test: svg/text/text-font-anonymous-parent.xhtml
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::firstParentRendererForNonTextNode):
(WebCore::SVGTextRunWalker::walk):
(WebCore::floatWidthOfSubStringUsingSVGFont):
(WebCore::SVGTextRunRenderingContext::drawTextUsingSVGFont):
2011-06-13 Tony Chang <tony@chromium.org>
Reviewed by Adam Barth.
rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
https://bugs.webkit.org/show_bug.cgi?id=62545
* Configurations/FeatureDefines.xcconfig:
2011-06-13 Xan Lopez <xlopez@igalia.com>
Reviewed by Martin Robinson.
Some distcheck fixes. Still broken, but this is moves us closer to
the target.
* GNUmakefile.am: fix vpath syntax and add missing files to
EXTRA_DIST.
* GNUmakefile.list.am: add missing files and remove dead files.
* bindings/gobject/GNUmakefile.am: fix comment.
2011-06-13 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Add layer factory to GraphicsLayer for creating non-default layer type.
https://bugs.webkit.org/show_bug.cgi?id=61925
Use the new factory function in TextureMapper.
No new functionality so no new tests.
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayer::create):
2011-06-13 Young Han Lee <joybro@company100.net>
Reviewed by Kenneth Rohde Christiansen.
[Texmap][Qt] Accelerated animation is repeating as if its direction property is always 'alternate'.
https://bugs.webkit.org/show_bug.cgi?id=62281
syncAnimations() has miscalculated a normalized progress value as if the animation always has alternate direction property.
Test: animations/animation-direction-normal.html
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::syncAnimations):
2011-06-13 Dirk Schulze <krit@webkit.org>
Reviewed by Rob Buis.
SVG patternTransform not animatable
https://bugs.webkit.org/show_bug.cgi?id=62538
SVG animation did not take attribute 'patternTransform' into account. Added support for combination of
SVGPatternElement and attribute 'patternTransform' to SVGAnimateTransformElement.
Tests: svg/animations/animateTransform-pattern-transform.html
svg/animations/animateTransform-transformable-transform.html
* svg/SVGAnimateTransformElement.cpp:
(WebCore::transformListFor):
(WebCore::SVGAnimateTransformElement::resetToBaseValue):
(WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2011-06-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed by Andreas Kling.
[Qt] JSC Bridge: convert QtConnectionObject to use JSC API
https://bugs.webkit.org/show_bug.cgi?id=62330
This patch is based on the draft patch by Noam Rosenthal in bug 60842.
Qt API autotests cover the bridge behavior and pass after this patch.
* bridge/qt/qt_runtime.h: Change QtConnectionObject to use JSC API types. In
particular, we got rid of Strong<JSObject> members. Renamed some members and
arguments to follow existing naming in QObject::connect().
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeConnectionMethod::call): Use a new helper function
to create a connection, passing the ExecState* that will be used when the
connection is activated (signal emitted). Use JSC API types when looking up
the matching signal to disconnect.
(JSC::Bindings::QtConnectionObject::QtConnectionObject): Use JSC API to
protect the receiver and receiverFunction from being garbage
collected. Removed the ASSERT() since we don't hold ProtectedPtrs (in current
code were Strong<>) anymore.
(JSC::Bindings::QtConnectionObject::~QtConnectionObject): Explain why is safe
to use m_originalSender here. Unprotect values that we protected in constructor.
(JSC::Bindings::isJavaScriptFunction): Helper function to identify whether a
JSObjectRef is a JS function (in contrast to a native function exposed to JS).
(JSC::Bindings::QtConnectionObject::execute):
(JSC::Bindings::QtConnectionObject::match):
Both updated to use JSC API when appliable. Note that convertQVariantToValue
still returns JSC internal types, will be handled in a different patch.
(JSC::Bindings::QtConnectionObject::createWithInternalJSC):
Convenince for the existing caller until it is converted to JSC as well.
2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Add context menu support for Webkit2
https://bugs.webkit.org/show_bug.cgi?id=54827
* platform/ContextMenuItem.h: Add gtkAction().
* platform/gtk/ContextMenuGtk.cpp:
(WebCore::ContextMenu::ContextMenu): Implement constructor that
receives a platform menu.
(WebCore::ContextMenu::setPlatformDescription): Make sure we don't
destroy the menu if the new context menu is the current one.
(WebCore::contextMenuItemVector): Implement this method to return
the list of menu items in the given context menu, required by WebKit2.
(WebCore::platformMenuDescription): Implement this method to
return a platform menu for the given menu items.
* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::createPlatformMenuItemDescription): Helper function to
create a platform context menu item.
(WebCore::ContextMenuItem::ContextMenuItem): Use
createPlatformMenuItemDescription().
(WebCore::ContextMenuItem::title): Convert the title from UTF-8.
(WebCore::ContextMenuItem::setTitle): Use gtkAction().
(WebCore::ContextMenuItem::setSubMenu): Implement setSubMenu()
that receives a list of items.
(WebCore::ContextMenuItem::setChecked): Use gtkAction().
(WebCore::ContextMenuItem::checked): Implement this, required by WebKit2.
(WebCore::ContextMenuItem::enabled): Ditto.
(WebCore::ContextMenuItem::setEnabled): Use gtkAction().
(WebCore::ContextMenuItem::gtkAction): Return the GtkAction
associated to the context menu item.
2011-06-13 Keishi Hattori <keishi@webkit.org>
Sort WebCore.xcodeproj
Accomplished using sort-Xcode-project-file.
* WebCore.xcodeproj/project.pbxproj:
2011-06-12 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
REGRESSION (full screen video): Watch Again button is obscured after full screen playback ends at Apple trailers page
https://bugs.webkit.org/show_bug.cgi?id=62507
No new tests; DRT would have to be modified to delay between receiving exitFullScreenForElement() and calling
webkitWillExitFullScreenForElement() to be able to test this.
If the full-screen element is removed, and webkitWillExitFullScreenForElement() is not called before
fullScreenElementRemoved() returns, then ancestors of the full-screen element will not have their
containsFullScreenElement property removed. To protect against this, reset the property by calling
setContainsFullScreenElementRecursively() from within fullScreenElementRemoved().
* dom/Document.cpp:
(WebCore::Document::fullScreenElementRemoved): Added call to setContainsFullScreenElementRecursively.
2011-06-12 Adam Barth <abarth@webkit.org>
Reviewed by Alexey Proskuryakov.
Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
https://bugs.webkit.org/show_bug.cgi?id=62516
As requested by Alexey in https://bugs.webkit.org/show_bug.cgi?id=62510.
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::interruptedForPolicyChangeError):
* loader/FrameLoaderClient.h:
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::interruptedForPolicyChangeError):
(WebCore::MainResourceLoader::stopLoadingForPolicyChange):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
* loader/MainResourceLoader.h:
2011-06-12 Hironori Bono <hbono@chromium.org>
Reviewed by Hajime Morita.
Add null checks to HTMLTextAreaElement::removeSpellcheckRange().
https://bugs.webkit.org/show_bug.cgi?id=62526
This change adds null checks to the following function to prevent crashes
when calling removeSpellcheckRange() with null:
HTMLTextAreaElement::removeSpellcheckRange(),
HTMLInputElement::removeSpellcheckRange(), and
HTMLDivElement::removeSpellcheckRange().
Test: editing/spelling/spellcheck-api-crash.html
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::removeSpellcheckRange):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::removeSpellcheckRange):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::removeSpellcheckRange):
2011-06-12 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
DocumentParser::appendBytes should use size_t for length instead of int
https://bugs.webkit.org/show_bug.cgi?id=62508
size_t is the proper type for distances in memory, especially on 64 bit
machines.
* dom/DecodedDataDocumentParser.cpp:
(WebCore::DecodedDataDocumentParser::appendBytes):
* dom/DecodedDataDocumentParser.h:
* dom/DocumentParser.h:
* html/ImageDocument.cpp:
(WebCore::ImageDocumentParser::appendBytes):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::appendBytes):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes):
* loader/SinkDocument.cpp:
(WebCore::SinkDocumentParser::appendBytes):
2011-06-12 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove FrameLoader::isProcessingUserGesture
https://bugs.webkit.org/show_bug.cgi?id=62519
This function is a remnant of the old user gesture design, which
involved per-frame state stored on FrameLoader. Now that we're using
static state, we don't need this function anymore.
This function used to check whether JavaScript was enabled for the
top-level frame, but that check doesn't make any sense (like much of
the old user gesture code).
* WebCore.exp.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::processingUserGesture):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
* loader/FrameLoader.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::click):
2011-06-12 Adam Barth <abarth@webkit.org>
Fix fullscreen/full-screen-iframe-legacy.html.
* html/HTMLVideoElement.idl:
2011-06-12 Adam Barth <abarth@webkit.org>
Reviewed by Alexey Proskuryakov.
Remove trival "forward-to-client" member functions from FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=62510
Originally, FrameLoader was supposed to abstract FrameLoaderClient, but
we lost that battle log ago. Nowadays, it's easier if folks just call
into FrameLoaderClient directly. Many of these functions have direct
callers already anyway.
* WebCore.exp.in:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::createRenderer):
(WebCore::HTMLMediaElement::attach):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setRequest):
(WebCore::DocumentLoader::setMainDocumentError):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didFirstLayout):
* loader/FrameLoader.h:
- cancelledError is slightly more delicate, so I'm going to move it in
a separate patch.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::interruptForPolicyChangeError):
(WebCore::MainResourceLoader::stopLoadingForPolicyChange):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::handleEmptyLoad):
(WebCore::MainResourceLoader::loadNow):
* loader/MainResourceLoader.h:
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
* loader/PingLoader.cpp:
(WebCore::PingLoader::PingLoader):
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::continueAfterNavigationPolicy):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::blockedError):
(WebCore::ResourceLoader::cannotShowURLError):
(WebCore::ResourceLoader::shouldUseCredentialStorage):
(WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::populate):
2011-06-12 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
<rdar://problem/9513180> REGRESSION (r84166): recalcStyle for display:inline to display:none transition has complexity N^2 where N is the number of child Text nodes
https://bugs.webkit.org/show_bug.cgi?id=61557
Replaced the fix for bug 58500 with a refined version.
* rendering/RenderText.cpp:
(WebCore::RenderText::clippedOverflowRectForRepaint): Use the containing block unless it is
across a layer boundary.
2011-06-12 Adam Barth <abarth@webkit.org>
Reviewed by Andreas Kling.
Minor user-gesture related cleanup
https://bugs.webkit.org/show_bug.cgi?id=62511
In reading the user gesture code, I noticed that these lines of code
should be deleted because they don't do anything.
* bindings/v8/NPV8Object.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLVideoElement.idl:
2011-06-11 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Dirk Schulze.
Add TextRun charactersLength member
https://bugs.webkit.org/show_bug.cgi?id=62501
Preparation patch 2: Propagate the maximum length of the characters buffer the TextRun operates on, even when we're only measuring a substring.
For example: In RenderText when we're measuring 'len' characters starting from "text()->characters() + start", there's a portion
of "textLength() - start" characters that we're not processing. In order to support ligatures when integrating SVG Fonts
within the GlyphPage concept, we need this extra information, to lookup ligatures even when single chars are measured.
If a font defines an eg "ffl" ligature, and we're measuring the "f" of "ffl", it shall looukp the "ffl" glyph from the font,
and skip the next two characters (this will be done in WidthIterator).
This doesn't yet affect any test, the new SVG Fonts code is not merged yet, this is the preparaion patch 2.
* platform/graphics/Font.h: Add yet-unused "const TextRun&" parameter to drawGlyphBuffer/drawEmphasisMarks.
* platform/graphics/FontFastPath.cpp: Ditto. This parameter will be used to looukp the TextRunRenderingContext in a follow-up patch.
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawEmphasisMarksForSimpleText):
(WebCore::Font::drawGlyphBuffer):
(WebCore::Font::drawEmphasisMarks):
* platform/graphics/TextRun.h: Add "int m_charactersLength", similar to "int m_len". It denotes the maximum length of the characters buffer
that we're holding. It defaults to the passed "len" value, but is overriden by explicit setCharactersLength calls.
(WebCore::TextRun::TextRun):
(WebCore::TextRun::charactersLength):
(WebCore::TextRun::setCharactersLength):
* platform/graphics/mac/FontComplexTextMac.cpp: Pass TextRun do drawGlyphBuffer/drawEmphasisMarks.
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* platform/graphics/win/FontWin.cpp: Ditto.
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* platform/graphics/wx/FontWx.cpp: Ditto.
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
* rendering/InlineTextBox.cpp: Call setCharactersLength on the processed TextRun.
(WebCore::InlineTextBox::constructTextRun):
* rendering/RenderBlockLineLayout.cpp: Ditto.
(WebCore::textWidth):
(WebCore::tryHyphenating):
* rendering/RenderText.cpp: Ditto.
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width):
* rendering/svg/SVGInlineTextBox.cpp: Ditto.
(WebCore::SVGInlineTextBox::constructTextRun):
2011-06-12 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
[Qt] Fix methods.html and methods-lower-case.html
https://bugs.webkit.org/show_bug.cgi?id=62221
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::clearContentsHeaders): Refactor code from sendNetworkRequest
(WebCore::QNetworkReplyHandler::getIODevice): ditto
(WebCore::QNetworkReplyHandler::sendNetworkRequest):
- Remove ContentType and ContentLength headers from GET, DELETE and HEAD requests since
we do not send data with any of these requests.
- If a custom HTTP operation contains data, send it.
* platform/network/qt/QNetworkReplyHandler.h:
2011-06-11 Michael Saboff <msaboff@apple.com>
Reviewed by James Robinson.
REGRESSION(88260): 10-50% performance regression across many page cyclers
https://bugs.webkit.org/show_bug.cgi?id=62349
Made CHROMIUM platform specific values for cMaxInactiveFontData and
cTargetInactiveFontData to mitigate the current performance issue on Chromium
page cycler tests. Made the chromium value for cMaxInactiveFontData 250 based
on recommendation from James Robinson. Changed cTargetInactiveFontData to 200
so that 50 inactive fonts will be cleaned up at a time.
Change made to address existing Chromium performance test regression.
* platform/graphics/FontCache.cpp:
2011-06-11 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Remove unnecessary strlen from DocumentWriter
https://bugs.webkit.org/show_bug.cgi?id=62505
This ugly piece of code appears not to be needed. Rejoice.
* WebCore.exp.in:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::commitData):
* loader/DocumentLoader.h:
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::addData):
* loader/DocumentWriter.h:
2011-06-11 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
DocumentParser::appendBytes shouldn't have a "flush" boolean parameter
https://bugs.webkit.org/show_bug.cgi?id=62499
This patch removes the "flush" Boolean parameter from
DocumentParser::appendBytes in favor of a new flush method. This makes
some code in DocumentWriter look less ridiculous.
There's still lots of on contorting to do here, but it's a start.
* dom/DecodedDataDocumentParser.cpp:
(WebCore::DecodedDataDocumentParser::appendBytes):
(WebCore::DecodedDataDocumentParser::flush):
* dom/DecodedDataDocumentParser.h:
* dom/DocumentParser.h:
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::flush):
* html/ImageDocument.cpp:
(WebCore::ImageDocumentParser::appendBytes):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::appendBytes):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::reportDataReceived):
(WebCore::DocumentWriter::addData):
(WebCore::DocumentWriter::endIfNotLoadingMainResource):
* loader/DocumentWriter.h:
* loader/SinkDocument.cpp:
(WebCore::SinkDocumentParser::appendBytes):
2011-06-11 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r88569.
http://trac.webkit.org/changeset/88569
https://bugs.webkit.org/show_bug.cgi?id=62398
Broke Chromium browser test:
IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest
* storage/IDBFactory.idl:
2011-06-11 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r88565.
http://trac.webkit.org/changeset/88565
https://bugs.webkit.org/show_bug.cgi?id=62401
Broke Chromium browser test:
IndexedDBBrowserTestWithGCExposed.DatabaseCallbacksTest
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::setVersion):
* storage/IDBDatabase.idl:
2011-06-10 Abhishek Arya <inferno@chromium.org>
Reviewed by Simon Fraser.
Null parent element sheet pointers in CSSMutableStyleDeclaration consumers
when removed from document, set them when reinserted into document.
https://bugs.webkit.org/show_bug.cgi?id=62230
When a HTMLBodyElement, StyledElement are removed from document,
we didn't clear out the parent pointers from their link, style declarations.
These parent pointers pointed to the document's element sheet which will
get removed when document is getting destroyed. It does make sense to
clear out parent pointers when we are getting removed from document and
readd them when we get inserted again.
Tests: fast/dom/body-link-decl-parent-crash.html
fast/dom/styled-inline-style-decl-parent-crash.html
* dom/StyledElement.cpp:
(WebCore::StyledElement::insertedIntoDocument):
(WebCore::StyledElement::removedFromDocument):
* dom/StyledElement.h:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::parseMappedAttribute):
(WebCore::HTMLBodyElement::insertedIntoDocument):
(WebCore::HTMLBodyElement::removedFromDocument):
(WebCore::HTMLBodyElement::didMoveToNewOwnerDocument):
* html/HTMLBodyElement.h:
2011-06-10 Adam Barth <abarth@webkit.org>
Remove bogus ASSERTs. These ASSERTs used to be correct before I
changed DocumentWriter to put the onus for ignoring empty writes onto
the parser.
This patch should stop these test from triggering ASSERTs:
plugins/plugin-document-back-forward.html
plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
userscripts/user-script-plugin-document.html
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::appendBytes):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes):
2011-06-09 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
REGRESSION: End of apple.com video in full-screen mode leads to unusable page.
https://bugs.webkit.org/show_bug.cgi?id=62411
Test: fullscreen/full-screen-remove-ancestor-after.html
The placeholder for RenderFullScreen was being created as a non-anonymous object, which led
to the document's renderer being set to 0 when the placeholder was removed due to its parent
being removed. Setting the placeholder to be anonymous, however, means that it will be
coalesced with sibling anonymous blocks, so added the RenderFullScreenPlaceholder to the
list of anonymous objects that are not considered anonymous blocks, to avoid the placeholder
being so coalesced. To do so, made the placeholder object a true subclass, and add and
override its destroy() function to notify the RenderFullScreen object that it has been
destroyed.
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::RenderFullScreenPlaceholder): Added.
(RenderFullScreenPlaceholder::~RenderFullScreenPlaceholder): Added.
(RenderFullScreenPlaceholder::isRenderFullScreenPlaceholder): Added.
(RenderFullScreenPlaceholder::destroy): Notify the owner renderer that its placeholder
has been destroyed.
(RenderFullScreen::destroy): Assert that the m_placeholder ivar is 0 after destroying it.
(RenderFullScreen::setPlaceholder): Added.
(RenderFullScreen::createPlaceholder): Do not make the placeholder anonymous.
* rendering/RenderFullScreen.h:
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderFullScreenPlaceholder): Added.
(WebCore::RenderObject::isAnonymousBlock): Added the placeholder class to the list of
objects which are not anonymous blocks.
2011-06-10 Gavin Barraclough <barraclough@apple.com>
Reviewed by Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=16777
Eliminate JSC::NaN and JSC::Inf
There's no good reason for -K-J-S- JSC to have its own NAN and infinity constants.
The ones in std::numeric_limits are perfectly good.
Remove JSC::Inf, JSC::NaN, switch some cases of (isnan || isinf) to !isfinite.
* bindings/js/JSDataViewCustom.cpp:
(WebCore::getDataViewMember):
2011-06-10 James Simonsen <simonjam@chromium.org>
Reviewed by Eric Seidel.
<script> inside <svg> should be executed
https://bugs.webkit.org/show_bug.cgi?id=62412
Tests: svg/in-html/script-external.html
svg/in-html/script-nested.html
svg/in-html/script-write.html
svg/in-html/script.html
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):
2011-06-10 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Script-created parsers should ignore data from the network
https://bugs.webkit.org/show_bug.cgi?id=62336
If the network packet boundaries line up just right, we can end up
feeding network data to a parser created by document.write (or
document.open). That's incorrect.
This patch causes DocumentWriter to grab hold of the original parser
and direct all input to that parser.
Test: fast/parser/document-write-ignores-later-network-bytes.html
* dom/Document.cpp:
(WebCore::Document::explicitClose):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
(WebCore::DocumentWriter::addData):
(WebCore::DocumentWriter::endIfNotLoadingMainResource):
(WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
* loader/DocumentWriter.h:
2011-06-10 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Keep overlap testing logic until real 3d transforms are being used
https://bugs.webkit.org/show_bug.cgi?id=49857
For pages that use the translateZ(0) hack to force compositing layers, it's
advantageous to keep overlap testing, to avoid putting too many other
elements into layers.
Only turn off overlap testing if non-identity 3D transforms are used.
Tests: compositing/layer-creation/rotate3d-overlap.html
compositing/layer-creation/translatez-overlap.html
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::hasNonIdentity3DTransform):
* rendering/RenderLayerCompositor.h:
2011-06-10 David Levin <levin@chromium.org>
Reviewed by Dmitry Titov.
Web Worker fails to fire error event when a resource fetch fails.
https://bugs.webkit.org/show_bug.cgi?id=62475
Test: http/tests/workers/worker-workerScriptNotThere.html
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::didFinishLoading): Ensure that
the client is notified of the error when it happens during loading.
2011-06-10 David Levin <levin@chromium.org>
Reviewed by Dmitry Titov.
Fetching a Worker with url that isn't allowed from a file based test causes DRT to crash.
https://bugs.webkit.org/show_bug.cgi?id=62469
Test: fast/workers/worker-crash-with-invalid-location.html
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerScriptLoader::load): Changed to using the RefCounted version of WorkerScriptLoader.
* workers/Worker.cpp:
(WebCore::Worker::create): Ditto.
* workers/Worker.h: Ditto.
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::importScripts): Ditto.
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::~WorkerScriptLoader): Created to
allow removing some header includes in WorkerScriptLoader.h.
(WebCore::WorkerScriptLoader::loadAsynchronously): Fix the ordering
of setPendingActivity and keep WorkerScriptLoader alive during a
potential callback.
* workers/WorkerScriptLoader.h: Made this RefCounted to allow for
keeping it alive during callbacks. Also, removed unnecessary header
inclusions (and added a destructor to facilitate that).
(WebCore::WorkerScriptLoader::create):
2011-06-10 Alok Priyadarshi <alokp@chromium.org>
Reviewed by James Robinson.
[chromium] Top portion of page is rendered messed up with accelerated drawing
https://bugs.webkit.org/show_bug.cgi?id=62484
Fixed the math in flipping the texture from bottom-up to top-down.
Test: compositing/repaint/shrink-layer.html (existing)
* platform/graphics/chromium/LayerTilerChromium.cpp:
(WebCore::LayerTilerChromium::draw):
2011-06-10 Tony Chang <tony@chromium.org>
Reviewed by Ojan Vafai.
add a compile guard ENABLE(FLEXBOX)
https://bugs.webkit.org/show_bug.cgi?id=62049
* Configurations/FeatureDefines.xcconfig:
2011-06-10 Sam Weinig <sam@webkit.org>
Roll out r88568. It is not the right fix for the problem.
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
2011-06-10 Mark Rowe <mrowe@apple.com>
Reviewed by Dimitri Glazkov.
<rdar://problem/9562114> Fix DumpRenderTree build for production configuration.
Rename the built WebCoreTestSupport dylib to libWebCoreTestSupport.dylib so
that it can be found via the library search path rather than requiring an
absolute path be passed to the linker.
Install the library and its associated header file in a more appropriate location
for the production configuration.
* Configurations/WebCoreTestSupport.xcconfig:
2011-06-10 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Add a scheduleSetNeedsStyleRecalc() method to ContainerNode for use by RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=62471
RenderLayerCompositor had some code that did a setNeedsStyleRecalc(), but
in a way that was safe to call during existing style recalc or layout.
Move this code to ContainerElement so it can be called elsewhere.
Also add a param to the node callback so we can pass the style change type.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::queuePostAttachCallback):
(WebCore::ContainerNode::dispatchPostAttachCallbacks):
(WebCore::needsStyleRecalcCallback):
(WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):
* dom/ContainerNode.h:
* dom/Node.h:
(WebCore::Node::scheduleSetNeedsStyleRecalc):
* html/HTMLFormControlElement.cpp:
(WebCore::focusPostAttach):
(WebCore::updateFromElementCallback):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateWidgetCallback):
* html/HTMLPlugInImageElement.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::attachRootPlatformLayer):
(WebCore::RenderLayerCompositor::detachRootPlatformLayer):
(WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange):
* rendering/RenderLayerCompositor.h:
* svg/SVGUseElement.cpp:
(WebCore::updateFromElementCallback):
2011-06-10 Mark Pilgrim <pilgrim@chromium.org>
Reviewed by Tony Chang.
IndexedDB: indexedDB.open() name argument is required
https://bugs.webkit.org/show_bug.cgi?id=62398
Test: storage/indexeddb/database-name-undefined.html
* storage/IDBFactory.idl: use appropriate IDL magic to force undefined values to null, so we handle missing arguments as well as null arguments
2011-06-10 Sam Weinig <sam@webkit.org>
Reviewed by Beth Dakin.
Common crash in ApplicationCacheHost::isApplicationCacheEnabled
<rdar://problem/9328684>
* loader/appcache/ApplicationCacheHost.cpp:
(WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
Speculative fix for a null frame on ApplicationCacheHost's DocumentLoader.
2011-06-10 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Remove Document::finishParsing
https://bugs.webkit.org/show_bug.cgi?id=62474
This function appears to exist only to confuse and befuddle us. This
patch prepares for DocumentWriter to grab hold of the parser.
This patch removes one of the print statements from
INSTRUMENT_LAYOUT_SCHEDULING, but I'm not sure
INSTRUMENT_LAYOUT_SCHEDULING works anymore anyway.
* dom/Document.cpp:
* dom/Document.h:
* dom/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::finish):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::finish):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::addData):
(WebCore::DocumentWriter::endIfNotLoadingMainResource):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stop):
2011-06-10 Mark Pilgrim <pilgrim@chromium.org>
Reviewed by Tony Chang.
IndexedDB: setVersion() version argument is required
https://bugs.webkit.org/show_bug.cgi?id=62401
Test: storage/indexeddb/setVersion-undefined.html
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::setVersion): check for null version
* storage/IDBDatabase.idl: add IDL magic to force undefined to null so we can handle both missing and null arguments
2011-06-10 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Null-check the layer owner again when painting layers
https://bugs.webkit.org/show_bug.cgi?id=62473
Speculative fix for a crash that occurs when the layer's owner
gets destroyed during painting.
* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):
2011-06-08 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
[Qt] Lighten the --no-svg build a little
https://bugs.webkit.org/show_bug.cgi?id=62314
Only generate source from SVG*.idl if the build is svg-enabled.
* CodeGenerators.pri:
2011-06-10 Nikolas Zimmermann <nzimmermann@rim.com>
Reviewed by Rob Buis.
Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
https://bugs.webkit.org/show_bug.cgi?id=59085
Add glyph table to SVGFontElement mapping between SVGGlyph <-> Glyph
https://bugs.webkit.org/show_bug.cgi?id=62441
Preparation patch 1: Introduce the internal glyph table in SVGGlyphMap that will be used to identify each
SVGGlyph identifier with a Glyph (which is just an ushort). It will be used by follow-up patches.
Doesn't affect any test so far.
* platform/graphics/SVGGlyph.h:
(WebCore::SVGGlyph::SVGGlyph):
(WebCore::SVGGlyph::operator==):
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGTextRunWalker::walk):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::initializeFontData):
* svg/SVGFontElement.cpp:
(WebCore::SVGFontElement::SVGFontElement):
(WebCore::SVGFontElement::registerLigaturesInGlyphCache):
(WebCore::SVGFontElement::ensureGlyphCache):
(WebCore::kerningForPairOfStringsAndGlyphs):
(WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
(WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
(WebCore::SVGFontElement::collectGlyphsForString):
(WebCore::SVGFontElement::collectGlyphsForGlyphName):
(WebCore::SVGFontElement::svgGlyphForGlyph):
(WebCore::SVGFontElement::missingGlyph):
* svg/SVGFontElement.h:
(WebCore::SVGKerningPair::SVGKerningPair):
* svg/SVGGlyphMap.h:
(WebCore::SVGGlyphMap::addGlyphByUnicodeString):
(WebCore::SVGGlyphMap::addGlyphByName):
(WebCore::SVGGlyphMap::appendToGlyphTable):
(WebCore::SVGGlyphMap::collectGlyphsForString):
(WebCore::SVGGlyphMap::clear):
(WebCore::SVGGlyphMap::svgGlyphForGlyph):
(WebCore::SVGGlyphMap::glyphIdentifierForGlyphName):
2011-06-10 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Regression r85573: Blank pages appear at the end of some wikipedia documents.
https://bugs.webkit.org/show_bug.cgi?id=62343
Fix regression caused by r85573. Cached document size not updated after layout.
Test: printing/page-count-relayout-shrink.html
* page/FrameView.cpp:
(WebCore::FrameView::forceLayoutForPagination):
2011-06-10 Rob Buis <rbuis@rim.com>
Reviewed by Nikolas Zimmermann.
amation event handling broken: focusin
https://bugs.webkit.org/show_bug.cgi?id=12894
focusin, focusout, activate not implemented in SVG
https://bugs.webkit.org/show_bug.cgi?id=40545
Make elements that should support GraphicalEventAttribute handle focussing, since focusin, focusout is part of that:
http://www.w3.org/TR/SVG11/intro.html#TermGraphicalEventAttribute
Match Opera behaviour ; elements that support GraphicalEventAttribute can receive visual mouse focus when having either a focusin or focusout event handler. Elements that support GraphicalEventAttribute can receive visual keyboard focus when having either a focusin or focusout event handler. Keyboard focus does not advance to SVG elements that are not focusable at the time.
Tests: svg/custom/focus-event-handling-keyboard.xhtml
svg/custom/focus-event-handling.xhtml
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeRectForRepaint):
* svg/SVGCircleElement.h:
(WebCore::SVGCircleElement::supportsFocus):
* svg/SVGEllipseElement.h:
(WebCore::SVGEllipseElement::supportsFocus):
* svg/SVGGElement.h:
(WebCore::SVGGElement::supportsFocus):
* svg/SVGImageElement.h:
(WebCore::SVGImageElement::supportsFocus):
* svg/SVGLineElement.h:
(WebCore::SVGLineElement::supportsFocus):
* svg/SVGPathElement.h:
(WebCore::SVGPathElement::supportsFocus):
* svg/SVGPolyElement.h:
(WebCore::SVGPolyElement::supportsFocus):
* svg/SVGRectElement.h:
(WebCore::SVGRectElement::supportsFocus):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::supportsFocus):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::isMouseFocusable):
(WebCore::SVGStyledElement::isKeyboardFocusable):
* svg/SVGStyledElement.h:
* svg/SVGSwitchElement.h:
(WebCore::SVGSwitchElement::supportsFocus):
* svg/SVGSymbolElement.h:
(WebCore::SVGSymbolElement::supportsFocus):
* svg/SVGTextElement.h:
(WebCore::SVGTextElement::supportsFocus):
* svg/SVGUseElement.h:
(WebCore::SVGUseElement::supportsFocus):
2011-06-10 Luke Macpherson <macpherson@chromium.org>
Reviewed by Eric Seidel.
Clean up CSSPrimitiveValue::computeLength*
https://bugs.webkit.org/show_bug.cgi?id=61612
No new tests as no functionality changed.
* css/CSSGradientValue.cpp:
Use new computeLength functions.
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::computeLengthIntForLength):
Reduce to a single function using default parameter values.
(WebCore::CSSPrimitiveValue::computeLength):
Redefine existing functions with separate names as a single function using templated function specialization.
* css/CSSPrimitiveValue.h:
Prototypes for computeLengthIntForLength and computeLength.
* css/CSSStyleApplyProperty.cpp:
Use new computeLength functions.
* css/CSSStyleSelector.cpp:
Use new computeLength functions.
* css/MediaQueryEvaluator.cpp:
Use new computeLength functions.
* css/SVGCSSStyleSelector.cpp:
Use new computeLength functions.
2011-06-10 Simon Fraser <simon.fraser@apple.com>
Reviewed by Beth Dakin.
Add utility to RenderLayer to determine if the layer is scrollable
https://bugs.webkit.org/show_bug.cgi?id=62467
New method that returns true if either scrollbar is present and enabled.
Not called anywhere yet.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::allowsScrolling):
* rendering/RenderLayer.h:
2011-06-10 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Tony Chang.
REGRESSION (r88332): prototype-inheritance-2 ASSERTS attempting to enumerate spellCheckRanges
https://bugs.webkit.org/show_bug.cgi?id=62460
Test: fast/dom/prototype-inheritance-2.html
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::userSpellingMarkersForNode): Added an extra 0-check.
2011-06-10 James Simonsen <simonjam@chromium.org>
Reviewed by Tony Gentilcore.
Don't execute scripts in shadow SVG.
https://bugs.webkit.org/show_bug.cgi?id=62225
Test: svg/dom/use-style-recalc-script-execute-crash.html
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::prepareScript):
2011-06-10 Konstantin Tokarev <ktokarev@smartlabs.tv>
Reviewed by Joseph Pecoraro.
Fixed build with enabled workers and disabled inspector
https://bugs.webkit.org/show_bug.cgi?id=62461
* inspector/InspectorWorkerAgent.cpp: Added inspector guard
2011-06-10 Darin Adler <darin@apple.com>
Reviewed by Eric Carlson.
REGRESSION: Fullscreen video controller can't be dragged
https://bugs.webkit.org/show_bug.cgi?id=62462
No regression test because we don't have machinery for testing the fullscreen
mode. We may find a way to add this in the future.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::MediaControlPanelElement): Initialize new
booleans related to dragging.
(WebCore::MediaControlPanelElement::startDrag): Added. Starts drag if dragging
is allowed and a drag isn't already in progress.
(WebCore::MediaControlPanelElement::continueDrag): Added. Moves the window if
dragging is already in progress.
(WebCore::MediaControlPanelElement::endDrag): Added. Ends the capture that is
done during the dragging process.
(WebCore::MediaControlPanelElement::setPosition): Added. Positions the panel
using explicit top/left.
(WebCore::MediaControlPanelElement::resetPosition): Added. Removes the positioning
done by setPosition.
(WebCore::MediaControlPanelElement::defaultEventHandler): Added. Calls startDrag,
continueDrag, and endDrag in response to mouse events.
(WebCore::MediaControlPanelElement::setCanBeDragged): Added.
* html/shadow/MediaControlElements.h: Added new function and data members
as mentioned above.
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::enteredFullscreen): Call setCanBeDragged(true)
so you can drag the panel while in fullscreen.
(WebCore::MediaControlRootElement::exitedFullscreen): Call setCanBeDragged(false)
so you can't drag the panel while not in fullscreen. Also call resetPosition so
position changes from dragging don't affect the panel in other contexts.
2011-06-10 Darin Adler <darin@apple.com>
Reviewed by Eric Carlson.
REGRESSION: Full screen video HUD is positioned too low for standalone video documents
https://bugs.webkit.org/show_bug.cgi?id=62463
No test because we don't currently have machinery for testing fullscreen.
* css/fullscreen.css: Removed rule that said bottom: 0px for the control panel
for full page media in full screen mode. This is not needed because the control
panel for full screen mode already has style rules to set its vertical position.
(:-webkit-full-screen-ancestor:not(iframe)): Fixed typo where it said
-webkit-tranform. This will fix a potential problem where fullscreen would
malfunction on a page that had a media element inside a transform.
2011-06-10 Sergio Villar Senin <svillar@igalia.com>
Reviewed by Gustavo Noronha Silva.
[GTK] Add support for non-ASCII filenames in Content-Disposition header
https://bugs.webkit.org/show_bug.cgi?id=62454
Try latin1 as fallback for header parameter values as some servers
do not follow RFC 2045 for example with filename parameter in
Content-Disposition.
No new tests required as no functionality changed.
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):
2011-06-10 No'am Rosenthal <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
Add layer factory to GraphicsLayer for creating non-default layer type.
https://bugs.webkit.org/show_bug.cgi?id=61925
Added a static factory protected member to GraphicsLayer, which should be accessed from
a port-specific implementation of GraphicsLayer::create. For now this is enabled for Qt only.
This is needed for accelerated compositing across processes in WebKit2, since WebCore
doesn't know in compile time whether it's in WebKit or WebKit2, which makes having two
different implementations of GraphicsLayer coexist impossible without some runtime
factory that can be overridden by the web process.
Note that the use of the factory would be optional, and the port-specific GraphicsLayer::create
would have to explicitly call it, in order to be unintrusive with current implementations.
No new functionality, so no new tests.
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setGraphicsLayerFactory):
* platform/graphics/GraphicsLayer.h:
2011-06-10 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
[CMAKE] Add generic support for building with WebGL
https://bugs.webkit.org/show_bug.cgi?id=62376
Set new THIRDPARTY_DIR variable to compile sources under ThirdParty.
No change in functionality so no new tests.
* CMakeLists.txt:
2011-06-10 Ryuan Choi <ryuan.choi@samsung.com>
Reviewed by Andreas Kling.
[GTK][EFL] m_imageInterpolationQuality is not initialized in PlatformContextCairo::PlatformContextCairo.
https://bugs.webkit.org/show_bug.cgi?id=62435
No new tests required as just fixed warning.
* platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::PlatformContextCairo):
2011-06-11-06-09 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
https://bugs.webkit.org/show_bug.cgi?id=62377
* inspector/InspectorValues.cpp:
2011-06-10 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r88530.
http://trac.webkit.org/changeset/88530
https://bugs.webkit.org/show_bug.cgi?id=62440
qt build was broken (Requested by loislo on #webkit).
* inspector/InspectorValues.cpp:
2011-06-09 Ilya Tikhonovsky <loislo@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: protocol: json: Whitespace can be inserted between any pair of tokens.
https://bugs.webkit.org/show_bug.cgi?id=62377
* inspector/InspectorValues.cpp:
2011-06-09 Jer Noble <jer.noble@apple.com>
Reviewed by Darin Adler.
REGRESSION: Vertical scroll bar appears when taking videos into full screen at jerryseinfeld.com
https://bugs.webkit.org/show_bug.cgi?id=62402
Sites are able to override the "overflow:hidden" rule for root full-screen nodes
simply by adding a "html {}" rule. Make this rule !important, and also make it apply
to root nodes who are merely ancestors of full-screen elements, to cover the case of
a root node containing an <iframe> whose contents have gone full-screen.
* css/fullscreen.css:
(:root:-webkit-full-screen-document:not(:-webkit-full-screen),
:root:-webkit-full-screen-ancestor): Apply the overflow rule to root elements
who are full-screen ancestors, and make them !important.
2011-06-09 Luke Macpherson <macpherson@chromium.org>
Reviewed by Eric Seidel.
Rename RenderStyle visuallyOrdered property and use an enum instead of a bool.
https://bugs.webkit.org/show_bug.cgi?id=61495
No new tests required as no functionality changed.
* css/CSSPrimitiveValueMappings.h:
Support cast to/from Order
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
Convert from bool to enum type.
(WebCore::CSSStyleSelector::applyProperty):
Convert to macro that uses the cast defined in CSSPrimitiveValueMappings.
* dom/Document.cpp:
(WebCore::Document::setVisuallyOrdered):
Change call to RenderStyle::setRTLOrdering using enum parameter.
* rendering/style/RenderStyle.h:
rename visuallyOrdered proerties rtlOrdering and use appropriate enum types.
* rendering/style/RenderStyleConstants.h:
Define enum type.
2011-06-09 Luke Macpherson <macpherson@chromium.org>
Reviewed by Eric Seidel.
Implement CSSPropertyOutlineStyle handler in CSSStyleApplyProperty
https://bugs.webkit.org/show_bug.cgi?id=61601
No new tests. No new functionality added / covered by existing tests.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator EBorderStyle):
Support CSSValueAuto as required by outline-style property.
(WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
Add cast to new OutlineIsAuto enum.
* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
Initialize handler for CSSPropertyOutlineStyle.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Remove old handler for CSSPropertyOutlineStyle.
* rendering/style/OutlineValue.h:
Use new OutlineIsAuto enum instead of bool.
* rendering/style/RenderStyle.h:
Split existing two-parameter setter setOutlineStyle into separate setters for style and auto properties.
Use new OutlineIsAuto enum type.
* rendering/style/RenderStyleConstants.h:
Define new enum OutlineIsAuto.
2011-06-09 Luke Macpherson <macpherson@chromium.org>
Reviewed by Eric Seidel.
Code cleanup - add wrappers for function pointer dereferences to improve readability in ApplyPropertyDefaultBase and derived classes.
https://bugs.webkit.org/show_bug.cgi?id=62418
No new tests / cleanup only.
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyDefaultBase::applyInheritValue):
Use new wrapper functions.
(WebCore::ApplyPropertyDefaultBase::applyInitialValue):
Use new wrapper functions.
(WebCore::ApplyPropertyDefaultBase::setValue):
Wrapper for calling m_setter function pointer.
(WebCore::ApplyPropertyDefaultBase::value):
Wrapper for calling m_getter function pointer.
(WebCore::ApplyPropertyDefaultBase::initial):
Wrapper for calling m_initial function pointer.
(WebCore::ApplyPropertyDefault::applyValue):
Use new setValue function.
(WebCore::ApplyPropertyLength::applyValue):
Use new setValue function.
(WebCore::ApplyPropertyWidth::applyValue):
Use new setValue function.
2011-06-09 Hyowon Kim <hw1008.kim@samsung.com>
Reviewed by Antonio Gomes.
[EFL] Make accelerated compositing build in Webkit-EFL
https://bugs.webkit.org/show_bug.cgi?id=62361
Add a new class, GraphicsLayerEfl - not yet implemented.
Add ACCELERATED_COMPOSITING related files to CMakeLists.
* CMakeLists.txt:
* CMakeListsEfl.txt:
* platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
(WebCore::GraphicsLayer::create):
(WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
(WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
(WebCore::GraphicsLayerEfl::setNeedsDisplay):
(WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
* platform/graphics/efl/GraphicsLayerEfl.h: Added.
2011-06-09 Jian Li <jianli@chromium.org>
Reviewed by David Levin.
Calling WebKitBlobBuilder.append with null argument should not crash
https://bugs.webkit.org/show_bug.cgi?id=62419
Test: fast/files/blob-builder-crash.html
* fileapi/WebKitBlobBuilder.cpp:
(WebCore::WebKitBlobBuilder::append):
2011-06-09 Jer Noble <jer.noble@apple.com>
Reviewed by David Hyatt.
Roll out r88468, and fix bug #61911 without making Element::offset functions virtual.
https://bugs.webkit.org/show_bug.cgi?id=62400
No new tests; covered by existing fullscreen/full-screen-video-offset.html test.
* rendering/RenderVideo.cpp:
(WebCore::rendererPlaceholder): Added; returns the placeholder block, if it exists.
(WebCore::RenderVideo::offsetLeft): Pass the offset request to the placeholder block.
(WebCore::RenderVideo::offsetTop): Ditto.
(WebCore::RenderVideo::offsetWidth): Ditto.
(WebCore::RenderVideo::offsetHeight): Ditto.
* rendering/RenderVideo.h: Added virtual overrides for the offset functions.
2011-06-09 James Robinson <jamesr@chromium.org>
Reviewed by Kenneth Russell.
[chromium] Scissor rect not set for clipping layers set offscreen
https://bugs.webkit.org/show_bug.cgi?id=62339
We set a scissorRect on each layer, but only layers with masksToBounds and their descendants should actually set
a scissor. Layers that didn't need to scissor had empty scissorRects. Unfortunately layers with masksToBounds
and their descendants that are scrolled offscreen also end up with an empty clipped scissor rect.
This patch sets an explicit bit on each layer that should scissor and then checks that bit instead of checking
for an empty scissor rect at draw time. RenderSurfaceChromiums have different requirements for
setScissorToRect, so the old behavior is still available with a flag. This can probably be cleaned up more.
Test: platform/chromium/compositing/scissor-out-of-viewport.html
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
(WebCore::LayerRendererChromium::drawLayer):
(WebCore::LayerRendererChromium::setScissorToRect):
* platform/graphics/chromium/LayerRendererChromium.h:
* platform/graphics/chromium/RenderSurfaceChromium.cpp:
(WebCore::RenderSurfaceChromium::draw):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::setUsesLayerScissor):
(WebCore::CCLayerImpl::usesLayerScissor):
2011-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r88468.
http://trac.webkit.org/changeset/88468
https://bugs.webkit.org/show_bug.cgi?id=62408
It broke build if !ENABLE(FULLSCREEN_API) (Requested by Ossy
on #webkit).
* dom/Element.cpp:
(WebCore::adjustForLocalZoom):
* dom/Element.h:
* html/HTMLMediaElement.cpp:
* html/HTMLMediaElement.h:
2011-06-09 Kenneth Russell <kbr@google.com>
Reviewed by Adam Barth.
Disallow use of cross-domain media (images, video) in WebGL
https://bugs.webkit.org/show_bug.cgi?id=62257
Updated WebGL implementation to track recent spec updates in this area.
Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
http/tests/security/webgl-remote-read-remote-image-allowed.html
http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
(WebCore::CanvasRenderingContext::checkOrigin):
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::checkOrigin):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::videoFrameToImage):
(WebCore::WebGLRenderingContext::texSubImage2D):
* html/canvas/WebGLRenderingContext.h:
2011-06-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add an ASSERT to HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=62403
This ASSERT was useful in investigating a re-entrancy bug. We should
keep it.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndOfFile):
2011-06-09 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Fix a regression from r88478.
* platform/graphics/mac/ComplexTextControllerCoreText.cpp:
(WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Add the runs
in reverse order in the RTL case here, since the whole vector is reversed by collectComplexTextRuns()
afterwards.
2011-06-09 Julien Chaffraix <jchaffraix@codeaurora.org>
Reviewed by Antti Koivisto.
REGRESSION(84329): Stylesheets on some pages do not load
https://bugs.webkit.org/show_bug.cgi?id=61400
Test: fast/css/link-disabled-attr.html
Fixed r84329: the change did not take into account the fact
that HTMLLinkElement did already contain the disabled information
and the 2 information were not linked as they should have!
The new logic pushes the information to the stylesheet as this
is what the spec mandates and what FF is doing. Also it keeps
one bit of information (that JS enabled the stylesheet) as it
is needed for the recalcStyleSelector logic.
* dom/Document.cpp:
(WebCore::Document::recalcStyleSelector): s/isDisabled/disabled.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::HTMLLinkElement): Removed m_disabledState,
replaced by m_isEnabledViaScript.
(WebCore::HTMLLinkElement::setDisabled): Updated the logic after
m_disabledState removal. It also matches the spec by forwarding
the disabled state to our stylesheet if we have one.
(WebCore::HTMLLinkElement::parseMappedAttribute): Removed harmful
handling of the disabledAttr.
(WebCore::HTMLLinkElement::process): Updated after m_disabledState removal.
* html/HTMLLinkElement.h:
(WebCore::HTMLLinkElement::isEnabledViaScript): Ditto.
(WebCore::HTMLLinkElement::isAlternate): Ditto.
2011-06-09 Dan Bernstein <mitz@apple.com>
Reviewed by Darin Adler.
Simplify ComplexTextController::collectComplexTextRuns()
https://bugs.webkit.org/show_bug.cgi?id=62387
No new test, since functionality is unchanged.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::collectComplexTextRuns): Always iterate characters in logical order,
then reverse the run vector for RTL.
2011-06-09 Dimitri Glazkov <dglazkov@chromium.org>
Reviewed by Kent Tamura.
Fold isShadowBoundary into isShadowRoot.
https://bugs.webkit.org/show_bug.cgi?id=62317
Since there are no longer cases where Node::isShadowBoundary() != Node::isShadowRoot, we can remove this function.
In one case where isShadowBoundary was also tested to find ShadowContentElemnt, added a new isContentElement function.
Refactoring, covered by existing tests.
* css/CSSStyleSelector.cpp:
(WebCore::isAtShadowBoundary): Changed to use isShadowRoot.
* dom/Element.cpp:
(WebCore::Element::isSpellCheckingEnabled): Ditto.
* dom/Node.cpp:
(WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
(WebCore::Node::nonShadowBoundaryParentNode): Ditto.
* dom/Node.h:
(WebCore::Node::isContentElement): Added.
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext): Changed to use isShadowRoot.
* dom/Position.cpp:
(WebCore::Position::Position): Ditto.
* dom/ShadowContentElement.h:
(WebCore::ShadowContentElement::isContentElement): Added.
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::hasContentElement): Changed to use isContentElement.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::insertNodeAfter): Changed to use isShadowRoot.
* editing/htmlediting.cpp:
(WebCore::visiblePositionBeforeNode): Ditto.
(WebCore::visiblePositionAfterNode): Ditto.
* page/DragController.cpp:
(WebCore::asFileInput): Ditto.
* rendering/RenderTreeAsText.cpp:
(WebCore::nodePosition): Ditto.
2011-06-09 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Crashes in RenderLayerBacking::paintingGoesToWindow
https://bugs.webkit.org/show_bug.cgi?id=61159
Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
finds a repaintContainer that is not the RenderView, but that is also not
composited (for unknown reasons), by checking to see if the layer is
compositing before using backing(). An assertion remains to try to catch
this in debug builds.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setBackingNeedsRepaintInRect):
2011-06-09 Julien Chaffraix <jchaffraix@webkit.org>
Reviewed by Darin Adler.
WebCore::WebKitCSSKeyframesRuleInternal::nameAttrSetter() - crash
https://bugs.webkit.org/show_bug.cgi?id=62384
Test: fast/css/webkit-keyframes-crash.html
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::setName): stylesheet() is never garanteed
to return a non-null pointer. Thus null-check here like the rest of the code.
2011-06-09 Julien Chaffraix <jchaffraix@codeaurora.org>
Reviewed by David Hyatt.
chrome.dll!WebCore::RenderStyle::fontMetrics ReadAV@NULL (two crashes)
https://bugs.webkit.org/show_bug.cgi?id=57756
Tests: fast/css/fontMetric-border-radius-null-crash.html
fast/css/fontMetric-webkit-border-end-width-null-crash.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForElement): Added a call to Font::update
so that our FontFallbackList is allocated if we ever need it when applying our
style rules.
2011-06-09 Cary Clark <caryclark@google.com>
Reviewed by Eric Seidel.
Create local CG context for Mac UI elements when Skia is renderer
https://bugs.webkit.org/show_bug.cgi?id=62213
When building Mac Chrome using Skia as the WebKit renderer,
add state to LocalCurrentGraphicsContext to convert the SkCanvas
context passed by WebKit into the CGContext needed by UI
rendering.
No new tests. The define typo in question is
not yet enabled, so this change has no functional
impact.
* platform/mac/LocalCurrentGraphicsContext.h:
Add SkiaBitLocker to create and release the converted CGContext.
Add ContextContainer, a class for Skia to create and release
the converted CGContext. If Skia is not used, the class has no effect.
* platform/mac/LocalCurrentGraphicsContext.mm:
(WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
When building with Skia, create the CGContext before passing it on.
(WebCore::LocalCurrentGraphicsContext::cgContext):
Get the CGContext from the SkiaBitLocker, or the saved context,
as appropriate.
* rendering/RenderThemeMac.mm:
Get the CGContext from Skia conversion or native, as appropriate.
Use the LocalCurrentGraphicsContext if there is one. Otherwise,
add a ContextContainer to house the SkCanvas to CGContext conversion.
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintMediaFullscreenButton):
(WebCore::RenderThemeMac::paintMediaMuteButton):
(WebCore::RenderThemeMac::paintMediaPlayButton):
(WebCore::RenderThemeMac::paintMediaSeekBackButton):
(WebCore::RenderThemeMac::paintMediaSeekForwardButton):
(WebCore::RenderThemeMac::paintMediaSliderTrack):
(WebCore::RenderThemeMac::paintMediaSliderThumb):
(WebCore::RenderThemeMac::paintMediaRewindButton):
(WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
(WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderThemeMac::paintMediaControlsBackground):
(WebCore::RenderThemeMac::paintMediaCurrentTime):
(WebCore::RenderThemeMac::paintMediaTimeRemaining):
(WebCore::RenderThemeMac::paintMediaVolumeSliderContainer):
(WebCore::RenderThemeMac::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeMac::paintMediaVolumeSliderThumb):
2011-06-02 Jer Noble <jer.noble@apple.com>
Reviewed by Maciej Stachowiak.
REGRESSION: Page layout messed up after exiting full screen after video ends at jerryseinfeld.com
https://bugs.webkit.org/show_bug.cgi?id=61911
<rdar://problem/9523017>
Test: fullscreen/full-screen-video-offset.html
When the video element is taken full-screen in the new element full-screen API, return the
offset width and height of the placeholder renderer which is filling in for the full-screen
element. To do so, override offsetWidth, Height, Left, and Top from Element. These are
non-virtual functions, so make them virtual.
* dom/Element.cpp:
(WebCore::Element::adjustForLocalZoom): Made into a class-static function.
* dom/Element.h: Made offset functions virtual.
* html/HTMLMediaElement.cpp:
(WebCore::elementPlaceholder): Added; utility function.
(WebCore::HTMLMediaElement::offsetLeft): Added; virtual override of the
Element function. Will be called directly via javascript.
(WebCore::HTMLMediaElement::offsetTop): Ditto.
(WebCore::HTMLMediaElement::offsetWidth): Ditto.
(WebCore::HTMLMediaElement::offsetHeight): Ditto.
* html/HTMLMediaElement.h:
2011-06-09 Dave Tapuska <dtapuska@rim.com>
Reviewed by Daniel Bates.
PingLoader destructor could dereference 0 if the Resource
Handle creation failed.
https://bugs.webkit.org/show_bug.cgi?id=62304
* loader/PingLoader.cpp:
(WebCore::PingLoader::~PingLoader):
2011-06-08 Abhishek Arya <inferno@chromium.org>
Reviewed by Ryosuke Niwa.
Make indexForVisiblePosition and isSelectableElement static.
https://bugs.webkit.org/show_bug.cgi?id=62329
This protects us when converting frame->selection->start() or end()
to VisiblePosition which blows away the RenderTextControl from
underneath (due to layout update).
Test: fast/forms/text-control-selection-crash.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::indexForVisiblePosition):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::selectionStart):
(WebCore::RenderTextControl::selectionEnd):
(WebCore::RenderTextControl::isSelectableElement):
(WebCore::RenderTextControl::indexForVisiblePosition):
* rendering/RenderTextControl.h:
2011-06-09 Ben Murdoch <benm@google.com>
Reviewed by Yury Semikhatsky.
Build break in ScriptProfile.cpp and inspector disabled.
https://bugs.webkit.org/show_bug.cgi?id=62373
No new tests - build fix only.
* bindings/v8/ScriptProfile.cpp: Add necessary guards.
* bindings/v8/ScriptProfile.h: ditto.
2011-06-09 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: Network panel preview tab does not reattach SourceFrame when switching between preview and response tabs.
https://bugs.webkit.org/show_bug.cgi?id=62298
* inspector/front-end/ResourcePreviewView.js:
(WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
(WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
2011-06-09 Csaba Osztrogonác <ossy@webkit.org>
[Qt][Mac] Speculative buildfix after r88286.
* platform/graphics/IntPoint.h:
2011-06-09 Mike Lawther <mikelawther@chromium.org>
Reviewed by Kent Tamura.
Parsing issue with -webkit-calc
https://bugs.webkit.org/show_bug.cgi?id=62276
Set the CSSParserString for the calc functions.
Test: css3/calc/regression-62276.html
* css/CSSParser.cpp:
(WebCore::CSSParser::lex):
2011-06-09 Robert Hogan <robert@webkit.org>
Reviewed by Andreas Kling.
Teach Qt about window.internals
https://bugs.webkit.org/show_bug.cgi?id=61074
A weakness of the Qt DRT setup is that things like JSContextRef are abstracted
away from the QtWebKit API so we need DumpRenderTreeSupportQt to access WebCore internals.
Since the window.internals object requires JSContextRef we need to implement it in DumpRenderTreeSupportQt
where we can access it. DumpRenderTreeSupportQt cannot be compiled outside Qt's WebCore and as it
is our only possible route into the WebCoreTestSupport class neither can the new window.internals plumbing.
Likewise we can't put the accessor in WebCoreTestSupport because it would then need to know about QWebFrame
and others. The only alternative seems like a compile time guard which we would have to teach the bots about.
* CodeGenerators.pri:
* WebCore.pri:
* WebCore.pro:
2011-06-08 Mikołaj Małecki <m.malecki@samsung.com>
Reviewed by Pavel Feldman.
Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
https://bugs.webkit.org/show_bug.cgi?id=52791
No new tests. The problem can be reproduced by trying to create InspectorValue
from 1.0e-100 and call ->toJSONString() on this.
* inspector/InspectorValues.cpp:
(WebCore::InspectorBasicValue::writeJSON):
Added checking the predicted buffer size and choosing exponential format, or
eventually "NaN" if the buffer is too small for decimal format.
2011-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r88387.
http://trac.webkit.org/changeset/88387
https://bugs.webkit.org/show_bug.cgi?id=62368
New tests introduced in 88387 fail on Leopard,GTK,Qt bots
(Requested by Ossy on #webkit).
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::checkOrigin):
* html/canvas/CanvasRenderingContext.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::videoFrameToImage):
(WebCore::WebGLRenderingContext::texSubImage2D):
* html/canvas/WebGLRenderingContext.h:
2011-06-09 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Running script from attach can remove elements from the stack of open elements
https://bugs.webkit.org/show_bug.cgi?id=62160
When the tree build runs script synchronously, that script can remove
arbitrary elements from the stack of open elements. We need to hold a
reference to |parent| in attach instead of rely upon the reference in
the stack of open elements.
Test: fast/parser/document-write-onload-clear.html
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::attach):
2011-06-08 Luke Macpherson <macpherson@chromium.org>
Reviewed by Eric Seidel.
Make CSSPrimitiveValue support cast to EVerticalAlign.
https://bugs.webkit.org/show_bug.cgi?id=62356
No new tests / refactoring only.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EVerticalAlign):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
2011-06-08 Justin Novosad <junov@chromium.org>
Reviewed by James Robinson.
[Chromium] Crash when closing a tab with accelerated 2d canvas
https://bugs.webkit.org/show_bug.cgi?id=62324
Upon graphics context destruction, it is important to signal skia
to abandon all of its resource handles. This prevents a crash caused
by skia attempting to release resources that were in the destroyed
graphics context.
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
2011-06-08 James Robinson <jamesr@chromium.org>
Reviewed by Darin Fisher.
REGRESSION(88260): 10-50% performance regression across many page cyclers
https://bugs.webkit.org/show_bug.cgi?id=62349
r88260 fixed a font cache resource leak and lowered the inactive font cache threshold. The latter caused a
significant performance regression across many chromium page cyclers, for example
http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/moz/report.html?history=50&rev=88279.
This restores the previous inactive font size thresholds to their previous values, but retains the font cleanup
logic.
* platform/graphics/FontCache.cpp:
2011-06-08 Hayato Ito <hayato@chromium.org>
Reviewed by Dimitri Glazkov.
A forward/backward tab traversal now visits focusable elements in a shadow root.
https://bugs.webkit.org/show_bug.cgi?id=61410
Test: fast/dom/shadow/tab-order-iframe-and-shadow.html
Like a iframe element, a shadow host becomes a scope of
tabindex. That means all descendant elements in a shadow root are
skipped if the host node of the shadow root is not focusable.
The patch doesn't affect HTMLInputElement and HTMLTextAreaElement,
which uses a shadow root and do extra works in their focus()
method.
A shadow root's <content> is not considered in this patch.
That will be addressed in a following patch.
* page/FocusController.cpp:
(WebCore::shadowRoot):
(WebCore::isTreeScopeOwner):
(WebCore::FocusController::deepFocusableNode):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableNodeAcrossTreeScope):
(WebCore::FocusController::findFocusableNode):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):
(WebCore::FocusController::ownerOfTreeScope):
* page/FocusController.h:
2011-06-08 Hayato Ito <hayato@chromium.org>
Reviewed by Hajime Morita.
Makes sure that document.activeElement won't be an element in shadow root.
https://bugs.webkit.org/show_bug.cgi?id=61413
Test: fast/dom/shadow/activeelement-should-be-shadowhost.html
* html/HTMLDocument.cpp:
(WebCore::focusedFrameOwnerElement):
(WebCore::HTMLDocument::activeElement):
2011-06-08 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Allow drawing a slider thumb for any nodes.
https://bugs.webkit.org/show_bug.cgi?id=62196
RenderObject::node() should provide various information which is
necessary for rendering. We don't need to refer the parent renderer.
* dom/Node.cpp:
(WebCore::Node::focusDe1egate): Added.
* dom/Node.h: Added a declaration.
* html/shadow/MediaControlElements.cpp:
(WebCore::toParentMediaElement):
Added an overload of toParentMediaElement() with Node* parameter.
* html/shadow/MediaControlElements.h:
(WebCore::toParentMediaElement): ditto.
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::isEnabledFormControl):
Returns the status of the host node.
(WebCore::SliderThumbElement::isReadOnlyFormControl): ditto.
(WebCore::SliderThumbElement::focusDe1egate):
Returns the host node so that RenderTheme::isFocused() returns true.
(WebCore::SliderThumbElement::detach): Style nit.
(WebCore::SliderThumbElement::hostInput):
Make it const because it is called by const functions.
* html/shadow/SliderThumbElement.h:
- Remove inDragMode()
- Update declarations
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::paintMediaSliderThumb):
Use Node::shadowAncestorNode() instead of RenderObject::parent() to
support deeper thumb nodes.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaSliderThumb): ditto.
(WebCore::paintMediaVolumeSliderThumb): Remove isSlider() check.
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::inDragMode):
SliderThumbElement::inDragMode() was removed, and Node::active() has
the same information.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint): Remove isSlider() checks.
(WebCore::RenderTheme::isFocused): Apply Node::focusDelegate().
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumLinux::paintSliderThumb):
isPressed() is enough.
* rendering/RenderThemeChromiumWin.cpp:
isEnabled(), isFocused(), and isPressed() are enough.
(WebCore::RenderThemeChromiumWin::determineSliderThumbState):
(WebCore::RenderThemeChromiumWin::determineClassicState):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSliderThumb):
- Remove isSlider() check.
- Passing 'o' to udpateFooState functions is enough.
- isPressed() is enough.
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::paintSliderThumb):
We don't need special handling anymore.
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::determineSliderThumbState):
isEnabled(), isFocused(), and isPressed() are enough.
2011-06-08 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
constructTreeFromToken can re-enter parser, causing ASSERTs
https://bugs.webkit.org/show_bug.cgi?id=62160
This patch clears the HTMLToken before constructing the tree from the
token, putting the HTMLDocumentParser in a good state to be re-entered.
Tests: fast/parser/document-write-onload-nesting.html
fast/parser/document-write-onload-ordering.html
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/parser/HTMLToken.h:
(WebCore::HTMLToken::isUninitialized):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromToken):
2011-06-08 Kent Tamura <tkent@chromium.org>
Fix Qt build for r88405.
https://bugs.webkit.org/show_bug.cgi?id=62208
* platform/qt/RenderThemeQt.h:
2011-06-08 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Change the argument of RenderTheme::adjustSliderThumbSize(): RenderObject* -> RenderStyle*
https://bugs.webkit.org/show_bug.cgi?id=62208
Change the argument type of RenderTheme::adjustSliderThumbSize() and
RenderMediaControls::adjustMediaSliderThumbSize() from RenderObject* to RenderStyle*.
Also, each of adjustSliderThumbStyle() overrides calls RenderTheme::
adjustSliderThumbStyle() for future changes.
No new tests. This is a refactoring and should not change any behavior.
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderThumb::layout): Passing RenderStyle* and remove a FIXME comment.
* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::adjustSliderThumbStyle): ditto.
(WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
* platform/gtk/RenderThemeGtk.h:
* platform/gtk/RenderThemeGtk2.cpp:
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::adjustSliderThumbStyle): ditto.
(WebCore::RenderThemeQt::adjustSliderThumbSize):
* rendering/RenderMediaControls.cpp:
(WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
* rendering/RenderMediaControls.h:
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
* rendering/RenderMediaControlsChromium.h:
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::layout): Passing RenderStyle* and remove a FIXME comment.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustSliderThumbStyle): Add a comment.
(WebCore::RenderTheme::adjustSliderThumbSize):
* rendering/RenderTheme.h:
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
* rendering/RenderThemeChromiumLinux.h:
* rendering/RenderThemeChromiumMac.h:
* rendering/RenderThemeChromiumMac.mm:
(WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
* rendering/RenderThemeChromiumSkia.h:
* rendering/RenderThemeChromiumWin.cpp:
(WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
* rendering/RenderThemeChromiumWin.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
(WebCore::RenderThemeMac::adjustSliderThumbSize):
(WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
* rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle().
(WebCore::RenderThemeSafari::adjustSliderThumbSize):
* rendering/RenderThemeSafari.h:
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::adjustSliderThumbSize):
* rendering/RenderThemeWin.h:
* rendering/RenderThemeWinCE.cpp:
(WebCore::RenderThemeWinCE::adjustSliderThumbSize):
* rendering/RenderThemeWinCE.h:
2011-06-08 Brian Salomon <bsalomon@google.com>
Reviewed by James Robinson.
Avoid always binding FBO 0 implicitly when deleting FBO in DrawingBuffer code because it invalidates Ganesh's cache of the current FBO.
https://bugs.webkit.org/show_bug.cgi?id=62318
Chromium-only crash
Failures takes multiple seconds to occur, relying on JS garbage-collection to occur
http://www.hotbazooka.com/privatejoe-large
* platform/graphics/gpu/DrawingBuffer.cpp:
(WebCore::DrawingBuffer::clear):
2011-06-08 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
RenderEmbeddedObject::getReplacementTextGeometry
https://bugs.webkit.org/show_bug.cgi?id=62313
Replace the last use of tx, ty with IntPoint.
Covered by existing tests.
* platform/graphics/FloatRect.h:
(WebCore::FloatRect::move):
(WebCore::FloatRect::moveBy):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
(WebCore::RenderEmbeddedObject::isInMissingPluginIndicator):
* rendering/RenderEmbeddedObject.h:
2011-06-08 Tim Horton <timothy_horton@apple.com>
Reviewed by Ryosuke Niwa.
Use correct CFURLStorageSessionRef definition on Leopard, as
we created an inconsistency in const-ness between
WebCoreSystemInterface.h and these two files in the case
of Leopard only.
https://bugs.webkit.org/show_bug.cgi?id=62223
* platform/network/ResourceHandle.h:
* platform/network/cf/ResourceRequest.h:
2011-06-08 Sailesh Agrawal <sail@chromium.org>
Reviewed by Mihai Parparita.
Chromium Mac: Enable overlay scrollbars
https://bugs.webkit.org/show_bug.cgi?id=59756
Sync ScrollbarThemeChromiumMac.mm/.h with ScrollbarThemeMac.mm to pick up support for overlay scrollbars. The only changes are renaming ScrollbarThemeMac to ScrollbarThemeChromiumMac and using runtime checks instead of #ifdef's.
No new tests, since this code is only enabled on future versions of Mac OS X.
* platform/chromium/ScrollAnimatorChromiumMac.mm: All changes to this file except in scroll() were to swap #if USE(WK_SCROLLBAR_PAINTER) with runtime checks.
(WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
(WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
(WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
(WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
(WebCore::ScrollAnimatorChromiumMac::contentsResized):
(WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
(WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
(WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
(WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
(preferredScrollerStyle): Disabled overlay scrollbar styles due to trailing artifacts.
(wkScrollbarPainterPaint): Fixed a problem where the scrollbar track wasn't being drawn.
(wkScrollbarPainterKnobRect): Implemented a previously unimplemented function.
(wkSetScrollbarPainterKnobStyle): Implemented a function that's now supported by the latest Mac OS X seeds.
(isScrollbarOverlayAPIAvailable): Enabled new scrollbar code.
* platform/chromium/ScrollbarThemeChromiumMac.h:
* platform/chromium/ScrollbarThemeChromiumMac.mm: Sync with ScrollbarThemeMac.mm.
(WebCore::scrollbarMap):
(+[ScrollbarPrefsObserver appearancePrefsChanged:]):
(WebCore::updateArrowPlacement):
(WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
(WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
(WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
(WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
(WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
(WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
(WebCore::ScrollbarThemeChromiumMac::hasButtons):
(WebCore::ScrollbarThemeChromiumMac::hasThumb):
(WebCore::buttonRepaintRect):
(WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
(WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
(WebCore::toScrollbarPainterKnobStyle):
(WebCore::ScrollbarThemeChromiumMac::paint):
2011-06-06 Nate Chapin <japhet@chromium.org>
Reviewed by Adam Barth.
Remove all knowledge of CachedResourceRequests from
CachedResourceLoader. This puts the full burden of
canceling these requests on DocumentLoader (via
SubresourceLoader), and makes a CachedResourceRequest
an OwnPtr in CachedResource.
https://bugs.webkit.org/show_bug.cgi?id=62308
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::load):
(WebCore::CachedResource::stopLoading):
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::~CachedResourceLoader):
(WebCore::CachedResourceLoader::loadDone):
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::CachedResourceRequest):
(WebCore::CachedResourceRequest::~CachedResourceRequest):
(WebCore::CachedResourceRequest::load):
(WebCore::CachedResourceRequest::didFinishLoading):
(WebCore::CachedResourceRequest::didFail):
(WebCore::CachedResourceRequest::didReceiveResponse):
(WebCore::CachedResourceRequest::end):
* loader/cache/CachedResourceRequest.h:
2011-06-08 Mike Reed <reed@google.com>
Reviewed by James Robinson.
[Skia] check for null-shader from gradient factory
https://bugs.webkit.org/show_bug.cgi?id=62319
* platform/graphics/skia/GradientSkia.cpp:
(WebCore::Gradient::platformDestroy):
(WebCore::Gradient::platformGradient):
2011-06-08 Kenneth Russell <kbr@google.com>
Reviewed by Adam Barth.
Disallow use of cross-domain media (images, video) in WebGL
https://bugs.webkit.org/show_bug.cgi?id=62257
Updated WebGL implementation to track recent spec updates in this area.
Tests: http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
http/tests/security/webgl-remote-read-remote-image-allowed.html
http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
(WebCore::CanvasRenderingContext::checkOrigin):
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::checkOrigin):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::videoFrameToImage):
(WebCore::WebGLRenderingContext::texSubImage2D):
* html/canvas/WebGLRenderingContext.h:
2011-06-08 John Bauman <jbauman@chromium.org>
Reviewed by James Robinson.
Only draw portions of tiles in contentRect
https://bugs.webkit.org/show_bug.cgi?id=62243
Old garbage data can remain in tiles, so make sure to draw only those
portions that are supposed to be drawn.
Test: compositing/repaint/shrink-layer.html
* platform/graphics/chromium/LayerTilerChromium.cpp:
(WebCore::LayerTilerChromium::draw):
2011-06-08 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert RenderBlock::isPointInOverflowControl to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62312
Covered by existing tests.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isPointInOverflowControl):
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderBlock.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::isPointInOverflowControl):
* rendering/RenderListBox.h:
2011-06-08 James Simonsen <simonjam@chromium.org>
Reviewed by Tony Gentilcore.
Fix clang issue, virtual function const mismatch
https://bugs.webkit.org/show_bug.cgi?id=62307
No new tests. Built with clang & ran layout tests.
* page/MediaStreamFrameController.h:
(WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
2011-06-08 Chris Rogers <crogers@google.com>
Reviewed by Kenneth Russell.
Implement BiquadFilterNode for filter types: LOWPASS, HIGHPASS, BANDPASS, LOWSHELF, HIGHSHELF, PEAKING, NOTCH, ALLPASS
https://bugs.webkit.org/show_bug.cgi?id=62078
No new tests since audio API is not yet implemented.
* DerivedSources.make:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* platform/audio/Biquad.cpp:
(WebCore::Biquad::Biquad):
(WebCore::Biquad::reset):
(WebCore::Biquad::setLowpassParams):
(WebCore::Biquad::setHighpassParams):
(WebCore::Biquad::setNormalizedCoefficients):
(WebCore::Biquad::setLowShelfParams):
(WebCore::Biquad::setHighShelfParams):
(WebCore::Biquad::setPeakingParams):
(WebCore::Biquad::setAllpassParams):
(WebCore::Biquad::setNotchParams):
(WebCore::Biquad::setBandpassParams):
(WebCore::Biquad::setZeroPolePairs):
(WebCore::Biquad::setAllpassPole):
* platform/audio/Biquad.h:
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::createBiquadFilter):
(WebCore::AudioContext::createLowPass2Filter):
(WebCore::AudioContext::createHighPass2Filter):
* webaudio/AudioContext.h:
* webaudio/AudioContext.idl:
* webaudio/AudioNode.h:
* webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::process):
* webaudio/BiquadFilterNode.cpp: Added.
(WebCore::BiquadFilterNode::BiquadFilterNode):
* webaudio/BiquadFilterNode.h: Added.
(WebCore::BiquadFilterNode::create):
(WebCore::BiquadFilterNode::type):
(WebCore::BiquadFilterNode::setType):
(WebCore::BiquadFilterNode::frequency):
(WebCore::BiquadFilterNode::q):
(WebCore::BiquadFilterNode::gain):
(WebCore::BiquadFilterNode::biquadProcessor):
* webaudio/BiquadFilterNode.idl: Added.
* webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::BiquadProcessor):
* webaudio/BiquadProcessor.h:
(WebCore::BiquadProcessor::setType):
* webaudio/HighPass2FilterNode.cpp:
(WebCore::HighPass2FilterNode::HighPass2FilterNode):
* webaudio/LowPass2FilterNode.cpp:
(WebCore::LowPass2FilterNode::LowPass2FilterNode):
2011-06-08 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=61694
No new tests, code path is not activated yet.
* WebCore.xcodeproj/project.pbxproj: Changed the TransformOperation subclassed from "project" to "private"
2011-06-08 Tom Sepez <tsepez@chromium.org>
Reviewed by Adam Barth.
Cause checks for insecure content blocking policy to callback to client.
https://bugs.webkit.org/show_bug.cgi?id=61946
Tests: platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-allowed.html
platform/chromium/http/tests/security/mixedContent/insecure-image-in-main-frame-blocked.html
platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-allowed.html
platform/chromium/http/tests/security/mixedContent/insecure-script-in-main-frame-blocked.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkIfDisplayInsecureContent):
(WebCore::FrameLoader::checkIfRunInsecureContent):
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::allowDisplayingInsecureContent):
(WebCore::FrameLoaderClient::allowRunningInsecureContent):
2011-06-08 Kevin Ollivier <kevino@theolliviers.com>
[wx] Build fix after introduction of FontCache::ShouldRetain
* platform/graphics/wx/FontCacheWx.cpp:
(WebCore::FontCache::getFontDataForCharacters):
2011-06-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r88365.
http://trac.webkit.org/changeset/88365
https://bugs.webkit.org/show_bug.cgi?id=62301
windows bots broken (Requested by loislo_ on #webkit).
* inspector/InspectorValues.cpp:
(WebCore::InspectorBasicValue::writeJSON):
2011-06-08 Mikołaj Małecki <m.malecki@samsung.com>
Reviewed by Pavel Feldman.
Web Inspector: Crash by buffer overrun crash when serializing inspector object tree.
https://bugs.webkit.org/show_bug.cgi?id=52791
No new tests. The problem can be reproduced by trying to create InspectorValue
from 1.0e-100 and call ->toJSONString() on this.
* inspector/InspectorValues.cpp:
(WebCore::InspectorBasicValue::writeJSON):
Added checking the predicted buffer size and choosing exponential format, or
eventually "NaN" if the buffer is too small for decimal format.
2011-06-08 Nico Weber <thakis@chromium.org>
Reviewed by Darin Adler.
Fix a ?: precedence error in ScrollbarThemeMac and ScrollbarThemeChromium
https://bugs.webkit.org/show_bug.cgi?id=62295
This was found by a new warning recently added to clang's -Wparentheses
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::backButtonRect):
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::backButtonRect):
2011-06-08 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed by Andreas Kling.
[Qt] Remove dead code from our JSC bridge
https://bugs.webkit.org/show_bug.cgi?id=62287
The m_defaultMethod member is not used since r36848 and QtMethod
was replaced by QtRuntimeMethod and subclasses in r29729.
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtInstance::removeCachedMethod):
(JSC::Bindings::QtInstance::visitAggregate):
* bridge/qt/qt_instance.h:
* bridge/qt/qt_runtime.h:
2011-06-08 Ryan Sleevi <rsleevi@chromium.org>
Reviewed by Tony Chang.
Suppress C++0x compat warnings when compiling Chromium port with GCC 4.6
Compiling Chromium port under GCC 4.6 produces warnings about nullptr
https://bugs.webkit.org/show_bug.cgi?id=62242
* WebCore.gyp/WebCore.gyp:
2011-05-25 Xiaomei Ji <xji@chromium.org>
Reviewed by Ryosuke Niwa.
--webkit-visual-word does not work well in words separated by multiple spaces
https://bugs.webkit.org/show_bug.cgi?id=61324
Remove positionBeforeNextWord and positionAfterPreviousWord short-cuts. They try to find the
right word boundary (before the space or after the space) by using previousWordPosition and
nextWordPosition. But they assume words are separated by single space and are not correct
for words separated by multiple spaces and words not separated by space.
Consider positionBeforeNextWord() for example,
First, it checks whether the current position is after the current word by checking current
position's previousWordPosition's nextWordPosition is the same as current position, which is
wrong for words separated by multiple spaces. For example, given words A and B separated by
3 continuous spaces "A B", position "A|", "A |", and "A |" should all be considered as
position after current word. But for position "A |", its previousWordPosition's
nextWordPosition is position "A|", which is different from its current position, so the
current position is not considered as a position after current word, consequently,
instead of returning the right position as "A |B", positionBeforeNextWord returns the
position before next next word, as "A B |C". Similar happens for position "A |".
Second, given 3 Chinese words "ABC" that are not segmented by space, when cursor is at
"A|BC", positionBeforeNextWord() returns the same position after calling current position's
nextWordPosition's previousWordPosition. It should returns position "AB|C".
For those cases, we will have to collect all the word breaks inside the box and look for
the one at left or right of current position.
* editing/visible_units.cpp:
(WebCore::leftWordPosition):
(WebCore::rightWordPosition):
2011-06-08 Greg Simon <gregsimon@chromium.org>
Reviewed by Dimitri Glazkov.
Control Indexeddb backends from LayoutTestController
https://bugs.webkit.org/show_bug.cgi?id=61000
Test: storage/indexeddb/migrate-basics.html
* storage/IDBBackingStore.h:
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::open):
(WebCore::IDBFactoryBackendImpl::migrate):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBFactoryBackendInterface.h:
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::backingStoreExists):
* storage/IDBLevelDBBackingStore.h:
(WebCore::IDBLevelDBBackingStore::backingStoreType):
* storage/IDBSQLiteBackingStore.cpp:
(WebCore::IDBSQLiteBackingStore::backingStoreExists):
* storage/IDBSQLiteBackingStore.h:
(WebCore::IDBSQLiteBackingStore::backingStoreType):
2011-06-08 Dmitry Lomov <dslomov@google.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=62164
Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
This functionality is untested and unused:
This is an old code from Lockers-based implementation of WebWorkers in
V8 bindings, to make sure that DOM objects are released on the right thread
even though GC could have happened on any thread. It is currently unused (since
current model is one worker per process) and is being removed because new implementation
of WebWorkers will be using V8 isolates.
* WebCore.gypi:
* WebCore.pro:
* bindings/v8/ChildThreadDOMData.cpp: Removed.
* bindings/v8/ChildThreadDOMData.h: Removed.
* bindings/v8/DOMData.cpp:
(WebCore::DOMData::DOMData):
(WebCore::DOMData::getCurrent):
(WebCore::DOMData::getMainThreadStore):
* bindings/v8/DOMData.h:
(WebCore::DOMData::getStore):
(WebCore::DOMData::getCurrentMainThreadStore):
(WebCore::DOMData::handleWeakObject):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
(WebCore::DOMDataStore::~DOMDataStore):
(WebCore::DOMDataStore::weakNodeCallback):
* bindings/v8/DOMDataStore.h:
* bindings/v8/MainThreadDOMData.cpp: Removed.
* bindings/v8/MainThreadDOMData.h: Removed.
* bindings/v8/V8DOMMap.cpp:
(WebCore::getDOMDataStore):
(WebCore::removeAllDOMObjects):
(WebCore::visitDOMNodes):
(WebCore::visitDOMObjects):
(WebCore::visitActiveDOMObjects):
(WebCore::visitDOMSVGElementInstances):
* bindings/v8/V8DOMMap.h:
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::gcEpilogue):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::~WorkerScriptController):
2011-06-08 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Andreas Kling.
[Qt] Build fix for building QtWebKit inside of Qt.
https://bugs.webkit.org/show_bug.cgi?id=62280
Remove CONFIG=staticlib, because it causes the configure script to add -lwebcore
into QtWebKit.prl.
No new tests, as this is just a build fix.
* WebCore.pri:
2011-06-08 Vsevolod Vlasov <vsevik@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: Render non-document HTML resources as HTML
https://bugs.webkit.org/show_bug.cgi?id=58886
* English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/NetworkItemView.js:
(WebInspector.NetworkItemView):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
(WebInspector.Resource.prototype.hasErrorStatusCode):
* inspector/front-end/ResourceHTMLView.js: Added.
(WebInspector.ResourceHTMLView):
(WebInspector.ResourceHTMLView.prototype.hasContent):
(WebInspector.ResourceHTMLView.prototype.show):
(WebInspector.ResourceHTMLView.prototype.hide):
(WebInspector.ResourceHTMLView.prototype._createIFrame):
* inspector/front-end/ResourcePreviewView.js: Added.
(WebInspector.ResourcePreviewView):
(WebInspector.ResourcePreviewView.prototype.hasContent):
(WebInspector.ResourcePreviewView.prototype.show):
(WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown.callback):
(WebInspector.ResourcePreviewView.prototype._ensureInnerViewShown):
(WebInspector.ResourcePreviewView.prototype._createInnerView):
* inspector/front-end/Settings.js:
(WebInspector.Settings):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.css:
(.resource-view.html iframe):
* inspector/front-end/inspector.html:
2011-05-18 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: hide script location to ui location conversion details from ScriptsPanel.
https://bugs.webkit.org/show_bug.cgi?id=61035
* inspector/front-end/DebuggerPresentationModel.js:
(WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
(WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation.didRequestSourceMapping):
(WebInspector.DebuggerPresentationModel.prototype.scriptLocationToUILocation):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.showAnchorLocation.didGetUILocation):
(WebInspector.ScriptsPanel.prototype.showAnchorLocation):
2011-06-08 Tommy Widenflycht <tommyw@google.com>
Reviewed by Tony Gentilcore.
StreamEvent
Media Stream PeerConnection API: adding StreamEvent class
https://bugs.webkit.org/show_bug.cgi?id=61537
Tests for the Media Stream API will be provided by the bug 56587.
* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* dom/DOMAllInOne.cpp:
* dom/Event.cpp:
(WebCore::Event::isStreamEvent):
* dom/Event.h:
* dom/StreamEvent.cpp: Added.
(WebCore::StreamEvent::create):
(WebCore::StreamEvent::StreamEvent):
(WebCore::StreamEvent::~StreamEvent):
(WebCore::StreamEvent::initStreamEvent):
(WebCore::StreamEvent::stream):
* dom/StreamEvent.h: Added.
(WebCore::StreamEvent::isStreamEvent):
* dom/StreamEvent.idl: Added.
2011-06-08 Tommy Widenflycht <tommyw@google.com>
Reviewed by Tony Gentilcore.
Media Stream API: integrate the Track List objects into the existing code.
https://bugs.webkit.org/show_bug.cgi?id=60205
Tests for the Media Stream API will be provided by the bug 56587.
* dom/ExclusiveTrackList.cpp:
(WebCore::ExclusiveTrackList::select):
(WebCore::ExclusiveTrackList::trackFailed):
* dom/ExclusiveTrackList.h:
* dom/GeneratedStream.cpp:
(WebCore::GeneratedStream::create):
(WebCore::GeneratedStream::GeneratedStream):
(WebCore::GeneratedStream::streamEnded):
(WebCore::GeneratedStream::audioTracks):
(WebCore::GeneratedStream::videoTracks):
(WebCore::GeneratedStream::stop):
* dom/GeneratedStream.h:
* dom/GeneratedStream.idl:
* dom/MultipleTrackList.cpp:
(WebCore::MultipleTrackList::trackFailed):
(WebCore::MultipleTrackList::enable):
(WebCore::MultipleTrackList::disable):
* dom/MultipleTrackList.h:
* dom/Stream.h:
* dom/TrackList.cpp:
(WebCore::TrackList::clear):
(WebCore::TrackList::associateStream):
(WebCore::TrackList::associatedStreamLabel):
(WebCore::TrackList::trackFailed):
(WebCore::TrackList::scriptExecutionContext):
* dom/TrackList.h:
* page/MediaStreamClient.h:
* page/MediaStreamController.cpp:
(WebCore::MediaStreamController::enableAudioTrack):
(WebCore::MediaStreamController::disableAudioTrack):
(WebCore::MediaStreamController::selectVideoTrack):
(WebCore::MediaStreamController::streamGenerated):
(WebCore::MediaStreamController::audioTrackFailed):
(WebCore::MediaStreamController::videoTrackFailed):
* page/MediaStreamController.h:
* page/MediaStreamFrameController.cpp:
(WebCore::MediaStreamFrameController::unregister):
(WebCore::MediaStreamFrameController::enterDetachedState):
(WebCore::MediaStreamFrameController::disconnectFrame):
(WebCore::MediaStreamFrameController::enableAudioTrack):
(WebCore::MediaStreamFrameController::disableAudioTrack):
(WebCore::MediaStreamFrameController::selectVideoTrack):
(WebCore::MediaStreamFrameController::streamGenerated):
(WebCore::MediaStreamFrameController::audioTrackFailed):
(WebCore::MediaStreamFrameController::videoTrackFailed):
* page/MediaStreamFrameController.h:
(WebCore::MediaStreamFrameController::ClientBase::isGenericClient):
(WebCore::MediaStreamFrameController::GenericClient::GenericClient):
(WebCore::MediaStreamFrameController::GenericClient::~GenericClient):
(WebCore::MediaStreamFrameController::GenericClient::isGenericClient):
(WebCore::MediaStreamFrameController::GenericClient::unregister):
2011-06-08 Pavel Podivilov <podivilov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: [REGRESSION] breakpoints are not persisted.
https://bugs.webkit.org/show_bug.cgi?id=62273
* inspector/front-end/Settings.js:
2011-06-08 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: node selection is slow in the Elements panel.
https://bugs.webkit.org/show_bug.cgi?id=60813
Schedule full style updates rather than request all node styles from the backend immediately.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
(WebInspector.StylesSidebarPane.prototype.update):
2011-06-08 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Laszlo Gombos.
[Symbian] Float{32,64}Array and Int16Array fail to build.
https://bugs.webkit.org/show_bug.cgi?id=62219
For some reason, RVCT 2.x is moaning about "class member designated by
a using-declaration must be visible in a direct base class".
Apply same fix as r69122 and r76592.
* html/canvas/Float32Array.h:
(WebCore::Float32Array::set):
* html/canvas/Float64Array.h:
(WebCore::Float64Array::set):
* html/canvas/Int16Array.h:
(WebCore::Int16Array::set):
2011-06-08 Syed Idris Shah <syed.idris-shah@nokia.com>
Reviewed by Andreas Kling.
[Qt] GL_POINT_SPRITE and GL_VERTEX_PROGRAM_POINT_SIZE should be enabled for desktop WebGL
https://bugs.webkit.org/show_bug.cgi?id=61945
For OpenGL ES we do not need these features.
These features are available via shaders in OpenGL ES. But for desktop WebGL using QtWebKit they should be enabled.
LayoutTests/fast/canvas/webgl/point-size.html
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2011-06-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed. Fix style error.
* platform/efl/RenderThemeEfl.cpp:
* platform/efl/RenderThemeEfl.h:
2011-06-08 Hironori Bono <hbono@chromium.org>
Reviewed by Brent Fulgham.
Add SpellCheck API
https://bugs.webkit.org/show_bug.cgi?id=59693
This change adds two SpellCheck API functions (addSpellcheckRange and
removeSpellcheckRange) and one attribute (spellcheckRange) discussed in
the public-webapps ML. This change is currently available only on Chromium.
Tests: editing/spelling/spellcheck-api-pixel.html
editing/spelling/spellcheck-api.html
* WebCore.gypi:
* bindings/generic/RuntimeEnabledFeatures.cpp:
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::spellCheckAPIEnabled):
(WebCore::RuntimeEnabledFeatures::setSpellCheckAPIEnabled):
* dom/DocumentMarker.h:
(WebCore::DocumentMarker::length):
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::userSpellingMarkersForNode):
(WebCore::DocumentMarkerController::addUserSpellingMarker):
(WebCore::DocumentMarkerController::removeUserSpellingMarker):
(WebCore::DocumentMarkerController::userSpellingNode):
* dom/DocumentMarkerController.h:
* html/HTMLDivElement.cpp:
(WebCore::HTMLDivElement::spellcheckRanges):
(WebCore::HTMLDivElement::addSpellcheckRange):
(WebCore::HTMLDivElement::removeSpellcheckRange):
* html/HTMLDivElement.h:
* html/HTMLDivElement.idl:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::spellcheckRanges):
(WebCore::HTMLInputElement::addSpellcheckRange):
(WebCore::HTMLInputElement::removeSpellcheckRange):
* html/HTMLInputElement.h:
* html/HTMLInputElement.idl:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::spellcheckRanges):
(WebCore::HTMLTextAreaElement::addSpellcheckRange):
(WebCore::HTMLTextAreaElement::removeSpellcheckRange):
* html/HTMLTextAreaElement.h:
* html/HTMLTextAreaElement.idl:
* html/SpellcheckRange.cpp: Added.
(WebCore::SpellcheckRange::SpellcheckRange):
(WebCore::SpellcheckRange::~SpellcheckRange):
* html/SpellcheckRange.h: Added.
(WebCore::SpellcheckRange::create):
(WebCore::SpellcheckRange::start):
(WebCore::SpellcheckRange::length):
(WebCore::SpellcheckRange::suggestions):
(WebCore::SpellcheckRange::options):
* html/SpellcheckRange.idl: Added.
* html/SpellcheckRangeList.cpp: Added.
(WebCore::SpellcheckRangeList::SpellcheckRangeList):
(WebCore::SpellcheckRangeList::~SpellcheckRangeList):
(WebCore::SpellcheckRangeList::item):
* html/SpellcheckRangeList.h: Added.
(WebCore::SpellcheckRangeList::create):
(WebCore::SpellcheckRangeList::isEmpty):
(WebCore::SpellcheckRangeList::clear):
(WebCore::SpellcheckRangeList::append):
(WebCore::SpellcheckRangeList::remove):
(WebCore::SpellcheckRangeList::length):
* html/SpellcheckRangeList.idl: Added.
* rendering/InlineTextBox.cpp:
(WebCore::textCheckingLineStyleForMarkerType):
(WebCore::InlineTextBox::paintDocumentMarkers):
2011-06-07 Andrey Kosyakov <caseq@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove shadow dom inspection from Elements panel by default.
https://bugs.webkit.org/show_bug.cgi?id=62188
This reverts r85751
* dom/Element.cpp:
(WebCore::Element::ensureShadowRoot):
(WebCore::Element::removeShadowRoot):
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
* inspector/InspectorDOMAgent.h:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode):
(WebInspector.DOMNode.prototype._renumber):
(WebInspector.DOMAgent.prototype._bindNodes):
(WebInspector.DOMAgent.prototype.querySelectorAll):
(WebInspector.DOMDispatcher.prototype.searchResults):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._attributesUpdated):
(WebInspector.ElementsPanel.prototype._characterDataModified):
(WebInspector.ElementsPanel.prototype._nodeInserted):
(WebInspector.ElementsPanel.prototype._nodeRemoved):
(WebInspector.ElementsPanel.prototype.updateModifiedNodes):
(WebInspector.ElementsPanel.prototype.updateBreadcrumb):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeElement):
(WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
(WebInspector.ElementsTreeElement.prototype._updateChildren):
():
* inspector/front-end/inspector.css:
* inspector/front-end/utilities.js:
(Element.prototype.query):
2011-06-08 Mark Rowe <mrowe@apple.com>
Fix the build.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2011-06-07 Keishi Hattori <keishi@webkit.org>
Reviewed by Kent Tamura.
Rename HTMLInputElement::m_value to m_valueIfDirty
https://bugs.webkit.org/show_bug.cgi?id=61990
No new tests because no behavior change.
* html/HTMLInputElement.cpp: Replaced m_value with m_valueIfDirty.
(WebCore::HTMLInputElement::tooLong):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::copyNonAttributeProperties):
(WebCore::HTMLInputElement::value):
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::setValueFromRenderer):
(WebCore::HTMLInputElement::updateValueIfNeeded):
* html/HTMLInputElement.h: Renamed m_value to m_valueIfDirty.
(WebCore::HTMLInputElement::hasDirtyValue): Added. Returns the dirty value flag.
2011-06-07 Ian Henderson <ianh@apple.com>
Reviewed by Dan Bernstein.
(CG) Sub-image drawing clips unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=62258
If destRect completely encompasses the adjustedDestRect into which we
draw, clipping to destRect will do nothing. Skip the call to
CGContextClipToRect in this case.
* platform/graphics/cg/ImageCG.cpp:
(WebCore::BitmapImage::draw):
2011-06-07 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert nodeAtPoint to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62145
Convert nodeAtPoint to take an IntPoint instead of a pair of ints for the
accumulated offset.
Covered by existing tests.
* platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::moveBy):
Add moveBy(IntPoint) method
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/EllipsisBox.h:
* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint):
* rendering/InlineBox.h:
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestContents):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
* rendering/RenderBox.h:
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::nodeAtPoint):
* rendering/RenderFrameSet.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint):
* rendering/RenderImage.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::nodeAtPoint):
* rendering/RenderInline.h:
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::hitTest):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::nodeAtPoint):
* rendering/RenderListBox.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hitTest):
* rendering/RenderObject.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint):
* rendering/RenderTable.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::nodeAtPoint):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTableSection.h:
* rendering/RenderText.h:
(WebCore::RenderText::nodeAtPoint):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::nodeAtPoint):
* rendering/RenderTextControlMultiLine.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::nodeAtPoint):
* rendering/RenderTextControlSingleLine.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::nodeAtPoint):
* rendering/RenderWidget.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::nodeAtPoint):
* rendering/RootInlineBox.h:
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
(WebCore::RenderSVGForeignObject::nodeAtPoint):
* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::nodeAtPoint):
* rendering/svg/RenderSVGModelObject.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::nodeAtPoint):
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::nodeAtFloatPoint):
(WebCore::RenderSVGText::nodeAtPoint):
* rendering/svg/RenderSVGText.h:
2011-06-07 Yi Shen <yi.4.shen@nokia.com>
Reviewed by Simon Hausmann.
[Qt] Fix the error code for media resource failures when using QtMobility
https://bugs.webkit.org/show_bug.cgi?id=55901
To indicate the media resource failures, set the network state to
MediaPlayer::FormatError when receives QMediaPlayer::InvalidMedia or
QMediaPlayer::ResourceError.
* platform/graphics/qt/MediaPlayerPrivateQt.cpp:
(WebCore::MediaPlayerPrivateQt::updateStates):
2011-06-07 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Change RenderBlock::hitTestFloats to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62176
Covered by existing tests.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::hitTestColumns):
* rendering/RenderBlock.h:
2011-06-07 Tim Horton <timothy_horton@apple.com>
Reviewed by Alexey Proskuryakov.
Use correct CFURLStorageSessionRef definition on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=62223
* platform/mac/WebCoreSystemInterface.h:
* platform/network/ResourceHandle.h:
* platform/network/cf/ResourceRequest.h:
2011-06-07 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Change RenderBlock::hitTestColumns to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62172
Covered by existing tests.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestColumns):
* rendering/RenderBlock.h:
2011-06-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Darin Adler.
Opacity transition doesn't work while content property is set.
https://bugs.webkit.org/show_bug.cgi?id=59301
StyleRareNonInheritedData's copy constructor omitted to copy
the m_content data, which caused us to detach and re-attach the renderer
at the start of the transition, thereby killing the transition.
Fix by making StyleRareNonInheritedData's copy ctor do the right thing.
Test: transitions/transition-on-element-with-content.html
* rendering/style/ContentData.h:
* rendering/style/ContentData.cpp:
(WebCore::ContentData::clone): New method to do a deep clone. (Can't use a copy
ctor because of the subclasses.)
* rendering/style/CounterDirectives.h: Pack the data members to save space.
Add a clone() function for the HashMap.
* rendering/style/CounterDirectives.cpp:
(WebCore::clone): Make a new HashMap and copy the contents over.
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Copy
the content and counter directives over.
(WebCore::StyleRareNonInheritedData::operator==): Rather than just comparing
for pointer equality, do a correct check for m_counterDirectives equality.
(WebCore::StyleRareNonInheritedData::counterDataEquivalent):
* rendering/style/StyleRareNonInheritedData.h:
2011-06-07 Robert Kroeger <rjkroege@chromium.org>
Reviewed by Adam Barth.
[chromium] Add a basic gesture recognizer to the Chromium platform
https://bugs.webkit.org/show_bug.cgi?id=54417
Adds a basic gesture recognizer to the Chromium platform. Adds an entry
point to the GestureRecognizer to reset any internal state on a page reset.
Resetting the gesture recognizer on page load is necesary for reliable
layout test execution and improves gesture recognizer operational
robustness.
Added an additional constructor to permit building a synthetic
PlatformWheelEvent.
Small modifications to the PlatformGestureRecognizer as required to
implement the simple Chromium platform gesture recognizer.
Tests: fast/events/touch/touch-gesture-click.html
* WebCore.gypi:
* page/EventHandler.cpp:
(WebCore::EventHandler::resetGestureRecognizer):
* page/EventHandler.h:
* page/FrameView.cpp:
(WebCore::FrameView::reset):
* platform/PlatformGestureRecognizer.h:
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/chromium/GestureRecognizerChromium.cpp: Added.
(WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
(WebCore::InnerGestureRecognizer::reset):
(WebCore::InnerGestureRecognizer::~InnerGestureRecognizer):
(WebCore::InnerGestureRecognizer::addEdgeFunction):
(WebCore::InnerGestureRecognizer::isInClickTimeWindow):
(WebCore::InnerGestureRecognizer::isInsideManhattanSquare):
(WebCore::InnerGestureRecognizer::dispatchSyntheticClick):
(WebCore::InnerGestureRecognizer::processTouchEventForGesture):
(WebCore::InnerGestureRecognizer::scrollViaTouchMotion):
(WebCore::InnerGestureRecognizer::updateValues):
(WebCore::InnerGestureRecognizer::signature):
(WebCore::touchDown):
(WebCore::noGesture):
(WebCore::click):
(WebCore::isClickOrScroll):
(WebCore::inScroll):
(WebCore::PlatformGestureRecognizer::create):
(WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
(WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
(WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
(WebCore::GestureRecognizerChromium::~GestureRecognizerChromium):
* platform/chromium/GestureRecognizerChromium.h: Added.
(WebCore::InnerGestureRecognizer::setState):
(WebCore::InnerGestureRecognizer::state):
(WebCore::GestureRecognizerChromium::reset):
(WebCore::GestureRecognizerChromium::processTouchEventForGesture):
2011-06-07 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Andreas Kling.
[Texmap][Qt] Enable TextureMapper by default
https://bugs.webkit.org/show_bug.cgi?id=61740
Enable TextureMapper on Windows+Symbian, disabling the direct OpenGL path. This would mean that
for now QtWebKit on Windows/Symbian would use the Qt backend for TextureMapper.
No new functionality so no new tests.
* WebCore.pri:
* WebCore.pro:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
* platform/graphics/qt/TextureMapperQt.cpp:
(WebCore::TextureMapper::create):
2011-06-07 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert RenderBox::absoluteRects to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62130
Covered by existing tests.
* dom/Node.cpp:
(WebCore::Node::hasNonEmptyBoundingBox):
* rendering/InlineBox.h:
(WebCore::InlineBox::size):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteRects):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteRects):
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteRects):
* rendering/RenderInline.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRect):
* rendering/RenderObject.h:
(WebCore::RenderObject::absoluteRects):
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRects):
* rendering/RenderText.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::absoluteRects):
* rendering/RenderView.h:
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::absoluteRects):
* rendering/svg/RenderSVGBlock.h:
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::absoluteRects):
* rendering/svg/RenderSVGModelObject.h:
2011-06-07 Kent Tamura <tkent@chromium.org>
Reviewed by Andreas Kling.
[Qt] RenderThemeQt::adjustSliderThumbSize() should not refer to the parent style.
https://bugs.webkit.org/show_bug.cgi?id=62207
* css/mediaControlsQt.css: Add comments.
(audio::-webkit-media-controls-timeline):
(video::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-volume-slider):
(video::-webkit-media-controls-volume-slider):
* platform/qt/RenderThemeQt.cpp: Use fixed values to avoid referring to o->parent().
(WebCore::RenderThemeQt::adjustSliderThumbSize):
2011-06-07 Sailesh Agrawal <sail@chromium.org>
Reviewed by Mihai Parparita.
Chromium Mac: Fork ScrollAnimatorMac to ScrollAnimatorChromiumMac for overlay scrollbar support
https://bugs.webkit.org/show_bug.cgi?id=59753
No new tests. Just forking ScrollAnimatorMac to ScrollAnimatorChromiumMac.
* WebCore.gyp/WebCore.gyp: Added IntPointMac.mm. This is used by some functions in ScrollAnimatorChromiumMac. Also added filters for conflicting class names in ScrollAnimatorChromiumMac.
* WebCore.gypi: Added ScrollAnimatorChromiumMac.h/mm.
* platform/ScrollAnimator.cpp: Extended the #ifdef around ScrollAnimator::create() so that the chromium version will be created.
* platform/chromium/ScrollAnimatorChromiumMac.h: Added.
(WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
(WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
(WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
* platform/chromium/ScrollAnimatorChromiumMac.mm: Added. Forked from ScrollAnimatorMac and replaced all instances of ScrollAnimatorMac with ScrollAnimatorChromiumMac and ScrollbarThemeMac with ScrollbarThemeChromiumMac. Removed the ENABLE(SMOOTH_SCROLLING) around the file. Stubbed out ScrollAnimatorChromiumMac::scroll() if smooth scrolling is disabled.
(abs):
(-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
(-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
(-[ScrollAnimationHelperDelegate bounds]):
(-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
(-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
(-[ScrollAnimationHelperDelegate convertSizeToBase:]):
(-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
(-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
(-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
(-[ScrollAnimationHelperDelegate superview]):
(-[ScrollAnimationHelperDelegate documentView]):
(-[ScrollAnimationHelperDelegate window]):
(-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
(-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
(-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
(-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
(-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
(-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
(-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
(-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
(-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
(-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
(-[ScrollbarPartAnimation setCurrentProgress:]):
(-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
(-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
(-[ScrollbarPainterDelegate cancelAnimations]):
(-[ScrollbarPainterDelegate convertRectToBacking:]):
(-[ScrollbarPainterDelegate convertRectFromBacking:]):
(-[ScrollbarPainterDelegate layer]):
(-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
(-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
(-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
(-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
(WebCore::ScrollAnimator::create):
(WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
(WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
(WebCore::ScrollAnimatorChromiumMac::scroll):
(WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
(WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
(WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
(WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
(WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
(WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
(WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
(WebCore::ScrollAnimatorChromiumMac::notityPositionChanged):
(WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
(WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
(WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
(WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
(WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
(WebCore::ScrollAnimatorChromiumMac::contentsResized):
(WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
(WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
(WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
(WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
(WebCore::elasticDeltaForTimeDelta):
(WebCore::elasticDeltaForReboundDelta):
(WebCore::reboundDeltaForElasticDelta):
(WebCore::scrollWheelMultiplier):
(WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
(WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
(WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
(WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
(WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
(WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
(WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
(WebCore::roundTowardZero):
(WebCore::roundToDevicePixelTowardZero):
(WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
(WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
(WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
(WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
(WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
(WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
* platform/graphics/IntPoint.h: Exposed NSPoint conversion routines to chromium mac.
2011-06-07 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Remove repeated IPC traffic from SetRenderTreeSize message
https://bugs.webkit.org/show_bug.cgi?id=62244
* WebCore.xcodeproj/project.pbxproj:
Make RenderArena.h private so it can be called from WebKit2.
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::dispatchDidLayout):
Added.
* page/ChromeClient.h:
Remove setRenderTreeSize.
* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
Call dispatchDidLayout for all frames instead of calling setRenderTreeSize
for the main frame.
2011-06-07 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Change RenderBlock::hitTestContents to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62170
Covered by existing tests.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::hitTestColumns):
(WebCore::RenderBlock::hitTestContents):
* rendering/RenderBlock.h:
2011-06-07 Jer Noble <jer.noble@apple.com>
Reviewed by Eric Carlson.
Video with poster attribute will not display new frames when scrubbing.
https://bugs.webkit.org/show_bug.cgi?id=62036
Remove our "detection" about the end of a scrub now that there is an explicit seek completion
handler available in AVFoundation. Move what we used to do upon detection in timeChanged()
into seekCompleted().
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2011-06-07 James Simonsen <simonjam@chromium.org>
Unreviewed, build fix, missing files from r88274.
* bindings/v8/ChildThreadDOMData.cpp: Added.
(WebCore::ChildThreadDOMData::ChildThreadDOMData):
(WebCore::ChildThreadDOMData::getStore):
* bindings/v8/ChildThreadDOMData.h: Added.
* bindings/v8/MainThreadDOMData.cpp: Added.
(WebCore::MainThreadDOMData::MainThreadDOMData):
(WebCore::MainThreadDOMData::getCurrent):
(WebCore::MainThreadDOMData::getMainThreadStore):
(WebCore::MainThreadDOMData::getCurrentMainThreadStore):
* bindings/v8/MainThreadDOMData.h: Added.
(WebCore::MainThreadDOMData::getStore):
2011-06-07 Abhishek Arya <inferno@chromium.org>
Reviewed by Dan Bernstein.
Replicate WidthIterator.cpp fix from r88139.
https://bugs.webkit.org/show_bug.cgi?id=62238
No new tests. Covered by existing layout tests on XP debug bots.
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::advance):
2011-06-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r88221, r88224, and r88231.
http://trac.webkit.org/changeset/88221
http://trac.webkit.org/changeset/88224
http://trac.webkit.org/changeset/88231
https://bugs.webkit.org/show_bug.cgi?id=62233
assert failure on chromium linux debug (Requested by simonjam
on #webkit).
* WebCore.gypi:
* WebCore.pro:
* bindings/v8/ChildThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
(WebCore::ChildThreadDOMData::ChildThreadDOMData):
(WebCore::ChildThreadDOMData::getStore):
* bindings/v8/ChildThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
* bindings/v8/DOMData.cpp:
(WebCore::DOMData::DOMData):
(WebCore::DOMData::getCurrent):
* bindings/v8/DOMData.h:
(WebCore::DOMData::owningThread):
(WebCore::DOMData::handleWeakObject):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
(WebCore::DOMDataStore::~DOMDataStore):
(WebCore::DOMDataStore::allStoresMutex):
(WebCore::DOMDataStore::weakNodeCallback):
* bindings/v8/DOMDataStore.h:
* bindings/v8/MainThreadDOMData.cpp: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
(WebCore::MainThreadDOMData::MainThreadDOMData):
(WebCore::MainThreadDOMData::getCurrent):
(WebCore::MainThreadDOMData::getMainThreadStore):
(WebCore::MainThreadDOMData::getCurrentMainThreadStore):
* bindings/v8/MainThreadDOMData.h: Copied from Source/WebCore/bindings/v8/DOMData.cpp.
(WebCore::MainThreadDOMData::getStore):
* bindings/v8/V8DOMMap.cpp:
(WebCore::getDOMDataStore):
(WebCore::removeAllDOMObjectsInCurrentThread):
(WebCore::visitDOMNodesInCurrentThread):
(WebCore::visitDOMObjectsInCurrentThread):
(WebCore::visitActiveDOMObjectsInCurrentThread):
(WebCore::visitDOMSVGElementInstancesInCurrentThread):
* bindings/v8/V8DOMMap.h:
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::gcEpilogue):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::~WorkerScriptController):
2011-06-07 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dave Hyatt.
Clean up ContentData
https://bugs.webkit.org/show_bug.cgi?id=62185
ContentData did manual ref()/deref() and had a lot of awkward
code from using a union to store data.
Clean this up by adding ContentData subclasses for different
content types, which are then able to use RefPtr and OwnPtr
as appropriate.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::contentToCSSValue): Cast to different ContentData types as
appropriate.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::loadPendingImages): Cast to ImageContentData, and do some
const gyrations.
* html/HTMLBRElement.cpp:
(WebCore::HTMLBRElement::createRenderer): Use hasContent().
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::createRenderer): Ditto
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createRenderer): Ditto
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject): Cast to ImageContentData.
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent): Cast to different ContentData types as
appropriate.
* rendering/style/ContentData.h:
(WebCore::ContentData::~ContentData):
(WebCore::ContentData::isCounter):
(WebCore::ContentData::isImage):
(WebCore::ContentData::isQuote):
(WebCore::ContentData::isText):
(WebCore::ContentData::next):
(WebCore::ContentData::setNext):
(WebCore::ImageContentData::image):
(WebCore::ImageContentData::setImage):
(WebCore::ImageContentData::ImageContentData):
(WebCore::ImageContentData::type):
(WebCore::ImageContentData::isImage):
(WebCore::TextContentData::text):
(WebCore::TextContentData::setText):
(WebCore::TextContentData::TextContentData):
(WebCore::TextContentData::type):
(WebCore::TextContentData::isText):
(WebCore::CounterContentData::counter):
(WebCore::CounterContentData::setCounter):
(WebCore::CounterContentData::CounterContentData):
(WebCore::CounterContentData::type):
(WebCore::CounterContentData::isCounter):
(WebCore::QuoteContentData::quote):
(WebCore::QuoteContentData::setQuote):
(WebCore::QuoteContentData::QuoteContentData):
(WebCore::QuoteContentData::type):
(WebCore::QuoteContentData::isQuote):
Add subclasses for different content types, which are created
via overloaded create() methods on the base class.
* rendering/style/ContentData.cpp:
(WebCore::ContentData::create):
(WebCore::operator==): Test for type equality, followed by comparing data.
(WebCore::operator!=):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::clearContent):
(WebCore::RenderStyle::appendContent):
(WebCore::RenderStyle::setContent): Replace the overly complex prepareToSetContent()
code with code that either appends, or replaces the content.
This loses an optimization where the existing ContentData object could get reused,
but this seems to be rarely hit in practice.
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::hasContent): Convenience method.
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::contentDataEquivalent): Test
that the pointers are non-null, then use the != operator.
* rendering/style/StyleRareNonInheritedData.h: ContentData is a class now.
2011-06-07 Brian Weinstein <bweinstein@apple.com>
Build fix after r88260.
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontDataForCharacters): Update to use enum instead of bool.
* platform/graphics/wince/FontCacheWinCE.cpp:
2011-06-07 Rob Buis <rbuis@rim.com>
Reviewed by Dirk Schulze.
stroke-dasharray does not handle "none"
https://bugs.webkit.org/show_bug.cgi?id=62203
Use the initial strokeDashArray style for stroke-dasharray="none" to apply to SVGRenderStyle rather than bailing out.
Tests: svg/W3C-SVG-1.1-SE/styling-css-04-f.svg
svg/custom/invalid-dasharray.svg
* css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
2011-06-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r88259 and r88263.
http://trac.webkit.org/changeset/88259
http://trac.webkit.org/changeset/88263
https://bugs.webkit.org/show_bug.cgi?id=62228
broke builds (Requested by rniwa on #webkit).
* platform/mac/WebCoreSystemInterface.h:
* platform/network/ResourceHandle.h:
* platform/network/cf/ResourceRequest.h:
2011-06-07 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Switch ContainerNode to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=61893
Covered by existing tests.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getUpperLeftCorner):
(WebCore::ContainerNode::getLowerRightCorner):
(WebCore::ContainerNode::getRect):
Change to use maxX/maxY instead of x+width/y+height
* platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::move):
(WebCore::FloatPoint::moveBy):
(WebCore::FloatPoint::expandedTo):
Add move, moveBy and expandedTo mirroring the IntPoint implementation of the same.
2011-06-07 Ryosuke Niwa <rniwa@webkit.org>
Speculative build fix after r88259.
* platform/network/cf/ResourceRequest.h:
2011-06-07 Michael Saboff <msaboff@apple.com>
Reviewed by Geoffrey Garen.
Need to enable font cache purging in MemoryPressureHandler
https://bugs.webkit.org/show_bug.cgi?id=62060
Improve memory usage under pressure.
Added call to fontCache()->purgeInactiveFontData() in
MemoryPressureHandler::respondToMemoryPressure(). Added protection to
MemoryPressureHandler::install() being called multiple times.
No new tests as funtionality wasn't changed.
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::MemoryPressureHandler):
* platform/MemoryPressureHandler.h:
* platform/mac/MemoryPressureHandlerMac.mm:
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):
2011-06-07 Michael Saboff <msaboff@apple.com>
Reviewed by Geoffrey Garen.
Fonts returned by FontCache::getFontDataForCharacters() are never released
https://bugs.webkit.org/show_bug.cgi?id=61875
This change allows fonts allocated as system fallback fonts to be
released. Previously, the reference counts for these fonts grew
without bound. This is implemented as an auto release class that wraps
accesses to the cache for system fallback fonts. All such accesses are
via the method FontCache::getFontDataForCharacters. The new class is
called FontCachePurgePreventer. When such an object exists, it protects
these fonts from deletion.
Most accesses to the font cache still use the reference counting
implemented by FontCache::getCacheFontData() and
FontCache::releaseFontData() and that operation is not affected by
this change.
Added local scoped instance of FontCachePurgePreventer to wrap code
that directly or indirectly accesses fonts via getFontDataForCharacters.
Did a few other miscellaneous bug fixes and changes to allow system
fallback fonts to be pruned from the GlyphPageTree. Changed the
calls to getFontData in the platform specific versions of
Fontcache::getFontDataForCharacters to not increment the reference
count. Moved the purge font check
outside of FontCache::getCachedFontData() into a separate method,
purgeInactiveFontDataIfNeeded() since almost all calls to
getCachedFontData() now happen when purging is not allowed.
purgeInactiveFontDataIfNeeded is invoked in enablePurging() when
m_purgePreventCount is 0.
No new test as the functionality has not changed. Improved font life
cycle management.
* WebCore.exp.in: Added FontCache::purgeInactiveFontDataIfNeeded().
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
Wrapped code accessing fallback fonts with local
FontCachePurgePreventer in these methods.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::paintContents):
Wrapped code accessing fallback fonts with local
FontCachePurgePreventer in these methods.
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::FontCache):
(WebCore::FontCache::getCachedFontData):
Moved purge check to new method since it likely can't happen here.
(WebCore::FontCache::releaseFontData):
(WebCore::FontCache::purgeInactiveFontDataIfNeeded):
(WebCore::FontCache::purgeInactiveFontData):
Made purging conditional on m_purgePreventCount. Now some fonts
in the cache are reference counted while other can be purged
outside of code wrapped by in scope FontCachePurgePreventer objects.
* platform/graphics/FontCache.h:
(WebCore::FontCache::disablePurging):
(WebCore::FontCache::enablePurging):
(WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
(WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
Added new simple purge prevention wrapper class and methods
that it calls in FontCache actually prevent purging. The
simple methods inlined to reduce overhead.
* platform/graphics/FontFastPath.cpp:
(WebCore::Font::glyphDataForCharacter): Update level in
glyph page tree for system fallback fonts so pruning works.
* platform/graphics/GlyphPage.h:
(WebCore::GlyphPage::clearForFontData): New method used for pruning
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::pruneFontData):
Now we prune system fallback fonts.
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/haiku/FontCacheHaiku.cpp:
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/wince/FontCacheWinCE.cpp:
* platform/graphics/wx/FontCacheWx.cpp:
(WebCore::FontCache::getFontDataForCharacters):
Changed the calls to getFontData() to not increment the reference
count. The caller of this getFontDataForCharacters() (currently only
Font::glyphDataForCharacter() in fontFastPath.cpp) and it's callers
don't attempt to release the returned fonts so we use the purge
protection described above.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
(WebCore::InlineTextBox::offsetForPosition):
(WebCore::InlineTextBox::positionForOffset):
Wrapped code accessing fallback fonts with local
FontCachePurgePreventer in these methods.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::setImageSizeForAltText):
Wrapped code accessing fallback fonts with local
FontCachePurgePreventer in this method.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
Wrapped code accessing fallback fonts with local
FontCachePurgePreventer in these methods
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::selectionRectForTextFragment):
Wrapped code accessing fallback fonts with local
FontCachePurgePreventer in this method.
2011-06-07 Tim Horton <timothy_horton@apple.com>
Reviewed by Alexey Proskuryakov.
Use correct CFURLStorageSessionRef definition on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=62223
* platform/mac/WebCoreSystemInterface.h:
* platform/network/ResourceHandle.h:
* platform/network/cf/ResourceRequest.h:
2011-06-07 Alok Priyadarshi <alokp@chromium.org>
Reviewed by Stephen White.
[chromium] PlatformContextSkia leaks SkDeviceFactory
https://bugs.webkit.org/show_bug.cgi?id=62163
Valgrind tests should have caught this.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
2011-06-07 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert RenderTextControl::hitInnerTextElement to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62167
Covered by existing tests.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hitInnerTextElement):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::nodeAtPoint):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::nodeAtPoint):
2011-06-07 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Switch paint to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62177
Flipping the switch on the remaining paint functions to have them all
use IntPoint for the paint offset instead of tx/ty.
No new tests since this is just refactoring.
* page/FrameView.cpp:
(WebCore::FrameView::paintScrollCorner):
* rendering/InlineBox.cpp:
(WebCore::InlineBox::paint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintContents):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::paintFloats):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paint):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::paint):
* rendering/RenderDetailsMarker.h:
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::paint):
* rendering/RenderEmbeddedObject.h:
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::paint):
* rendering/RenderFrameSet.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
* rendering/RenderImage.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::paint):
* rendering/RenderInline.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintScrollCorner):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::paintLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint):
* rendering/RenderLineBoxList.h:
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::paint):
* rendering/RenderListItem.h:
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
* rendering/RenderListMarker.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paint):
* rendering/RenderObject.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
* rendering/RenderReplaced.h:
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
* rendering/RenderReplica.h:
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::paintPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):
* rendering/RenderScrollbarPart.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
(WebCore::RenderTable::paintObject):
* rendering/RenderTable.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paint):
* rendering/RenderTableCell.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::paint):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paint):
(WebCore::RenderTableSection::paintCell):
* rendering/RenderTableSection.h:
* rendering/RenderText.h:
(WebCore::RenderText::paint):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::paint):
* rendering/RenderTextControlSingleLine.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::paint):
* rendering/RenderView.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
* rendering/RenderWidget.h:
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::paint):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::paint):
* rendering/mathml/RenderMathMLFraction.h:
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLSquareRoot.cpp:
(WebCore::RenderMathMLSquareRoot::paint):
* rendering/mathml/RenderMathMLSquareRoot.h:
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):
* rendering/svg/RenderSVGContainer.h:
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::paint):
* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGHiddenContainer.cpp:
(WebCore::RenderSVGHiddenContainer::paint):
* rendering/svg/RenderSVGHiddenContainer.h:
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
* rendering/svg/RenderSVGImage.h:
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::paint):
* rendering/svg/RenderSVGPath.h:
* rendering/svg/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::draw):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paint):
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::paint):
* rendering/svg/RenderSVGText.h:
* rendering/svg/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
2011-06-07 Young Han Lee <joybro@company100.net>
Reviewed by Kenneth Rohde Christiansen.
[Texmap][Qt] Accelerated animation is not paused properly.
https://bugs.webkit.org/show_bug.cgi?id=61446
The transform matrix of an accelerated animation shouldn't be synced with the matrix of the GraphicsLayer when the animation is paused.
Test: animations/play-state-paused.html
* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::syncCompositingStateSelf):
(WebCore::TextureMapperNode::hasOpacityAnimation):
(WebCore::TextureMapperNode::hasTransformAnimation):
* platform/graphics/texmap/TextureMapperNode.h:
2011-06-07 Lucas De Marchi <lucas.demarchi@profusion.mobi>
Reviewed by Antonio Gomes.
[EFL] Remove Ecore_X bits from PlatformScreenEfl
https://bugs.webkit.org/show_bug.cgi?id=61649
Remove the need for Ecore_X and some X calls by always using
new functions available in EFL to get the screen size.
No new tests since the same functionality are done inside EFL now.
* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenRect):
2011-06-07 Carlos Garcia Campos <cgarcia@igalia.com>
Reviewed by Martin Robinson.
[GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
https://bugs.webkit.org/show_bug.cgi?id=62200
In WebKit2 PluginPackage is used by the UI process to load plugins
in order to get information about them, but it doesn't use any GTK
symbol. So the UI process should be able to load plugins even when
building with GTK3, but we should not allow the plugin view to use
the plugin if it mixes GTK2 and GTK3 symbols.
* plugins/PluginPackage.h:
(WebCore::PluginPackage::module): New method to return the
platform module.
* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::load): Remove moduleMixesGtkSymbols().
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::updatePluginWidget): Check whether plugin
was successfully loaded before trying to create the drawable.
(WebCore::PluginView::paint): Return early if plugin didn't start
or was not successfully loaded.
(WebCore::PluginView::handleKeyboardEvent): Ditto.
(WebCore::PluginView::handleMouseEvent): Ditto.
(WebCore::PluginView::handleFocusInEvent): Ditto.
(WebCore::PluginView::handleFocusOutEvent): Ditto.
(WebCore::moduleMixesGtkSymbols):
(WebCore::PluginView::platformStart): Check whether module is
mixing GTK+ 2 and GTK+ 3 symbols.
2011-06-07 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r88238.
http://trac.webkit.org/changeset/88238
https://bugs.webkit.org/show_bug.cgi?id=62216
Broke a couple of inspector tests (Requested by apavlov on
#webkit).
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.update):
2011-06-07 Dinu Jacob <dinu.jacob@nokia.com>
Reviewed by Dimitri Glazkov.
Inform ChromeClient touch events are not needed by the webpage when navigating away from the page instead of in both Document:detach/CachedFrame
https://bugs.webkit.org/show_bug.cgi?id=61543
Inform chrome client that touch events are not needed by the webpage
when navigating away from the page only once to avoid the flag being
overwritten later if a page is removed from the page cache
* dom/Document.cpp:
(WebCore::Document::detach):
* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::transitionToCommitted):
2011-06-07 Alexander Pavlov <apavlov@chromium.org>
Reviewed by Yury Semikhatsky.
Web Inspector: node selection is slow in the Elements panel.
https://bugs.webkit.org/show_bug.cgi?id=60813
Schedule full style updates rather than request all node styles from the backend immediately.
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
(WebInspector.StylesSidebarPane.prototype.update):
2011-06-07 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
Web Inspector: remove duplicate breakpoints from localStorage
https://bugs.webkit.org/show_bug.cgi?id=62206
Perform one-time breakpoint storage cleanup to get rid of duplicate breakpoints in
case when settings version is less than 1.
* inspector/front-end/Settings.js:
(WebInspector.Settings):
(WebInspector.Settings.prototype._set):
(WebInspector.Settings.prototype._migrateSettings.splitObjects):
(WebInspector.Settings.prototype._migrateSettings.removeDuplicateObjects):
(WebInspector.Settings.prototype._migrateSettings):
2011-06-03 Yury Semikhatsky <yurys@chromium.org>
Reviewed by Pavel Feldman.
[Chromium] Web Inspector: correctly handle disconnect from worker when script execution is paused
https://bugs.webkit.org/show_bug.cgi?id=62019
Dispatch disconnecFrontend message in debugger task mode to make sure
it is processed even if execution is paused.
* bindings/v8/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
(WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
* bindings/v8/WorkerScriptDebugServer.h:
2011-06-07 Felician Marton <marton.felician.zoltan@stud.u-szeged.hu>
Reviewed by Nikolas Zimmermann.
SVG animation beginElement() does not restart the animation after endElement().
https://bugs.webkit.org/show_bug.cgi?id=43452
Test: svg/animations/animate-endElement-beginElement.html
Calling beginElement() after calling endElement() previously does not restarted the animation when animation
element's end attribute doesn't contains a bigger value than the current animation time.
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::findInstanceTime):
2011-06-07 Naoki Takano <takano.naoki@gmail.com>
Reviewed by Kent Tamura.
[Chromium] Click event is not fired for a menulist <select>
https://bugs.webkit.org/show_bug.cgi?id=60563
Tests: SelectItemEventFire, SelectItemKeyEvent, SelectItemRemoveSelectOnChange and SelectItemRemoveSelectOnChange in webkit_unit_tests.
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupContainer::showPopup): Set m_focusedNode from m_frameView.
(WebCore::PopupListBox::handleMouseReleaseEvent): Call dispatchMouseEvent to forward the event only if select popup.
(WebCore::PopupListBox::acceptIndex): Change to return accepted or not.
2011-06-07 Andras Becsi <abecsi@webkit.org>
Reviewed by Yury Semikhatsky.
REGRESSION(r88221): "Chromium debug compilation broken".
https://bugs.webkit.org/show_bug.cgi?id=62197
No new tests needed.
* bindings/v8/V8GCController.cpp: Also rename call-sites.
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::gcEpilogue):
2011-06-07 MORITA Hajime <morrita@google.com>
Unreviewed, rolling out r88212 and r88219.
http://trac.webkit.org/changeset/88212
http://trac.webkit.org/changeset/88219
https://bugs.webkit.org/show_bug.cgi?id=57439
Tests get timeout at Snow Leopard
* css/html.css:
(html:focus, body:focus, input[readonly]:focus):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
2011-06-07 Andras Becsi <abecsi@webkit.org>
Rubber-stamped by Csaba Osztrogonác.
[Qt][V8] Fix the build after 88221.
No new tests needed.
* WebCore.pro: Remove non-existing files.
* bindings/v8/V8DOMMap.cpp:
(WebCore::removeAllDOMObjects): Also rename the definition of the function.
2011-06-06 Dmitry Lomov <dslomov@google.com>
Reviewed by Adam Barth.
https://bugs.webkit.org/show_bug.cgi?id=62164
Remove "multi-threaded" logic in V8 DOMData, DOMDataStore and friends
This functionality is untested and unused:
This is an old code from Lockers-based implementation of WebWorkers in
V8 bindings, to make sure that DOM objects are released on the right thread
even though GC could have happened on any thread. It is currently unused (since
current model is one worker per process) and is being removed because new implementation
of WebWorkers will be using V8 isolates.
* WebCore.gypi:
* bindings/v8/ChildThreadDOMData.cpp: Removed.
* bindings/v8/ChildThreadDOMData.h: Removed.
* bindings/v8/DOMData.cpp:
(WebCore::DOMData::DOMData):
(WebCore::DOMData::getCurrent):
(WebCore::DOMData::getMainThreadStore):
* bindings/v8/DOMData.h:
(WebCore::DOMData::getStore):
(WebCore::DOMData::getCurrentMainThreadStore):
(WebCore::DOMData::handleWeakObject):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
(WebCore::DOMDataStore::~DOMDataStore):
(WebCore::DOMDataStore::weakNodeCallback):
* bindings/v8/DOMDataStore.h:
* bindings/v8/MainThreadDOMData.cpp: Removed.
* bindings/v8/MainThreadDOMData.h: Removed.
* bindings/v8/V8DOMMap.cpp:
(WebCore::getDOMDataStore):
(WebCore::visitDOMNodes):
(WebCore::visitDOMObjects):
(WebCore::visitActiveDOMObjects):
(WebCore::visitDOMSVGElementInstances):
* bindings/v8/V8DOMMap.h:
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::gcEpilogue):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::~WorkerScriptController):
2011-06-06 Nico Weber <thakis@chromium.org>
Reviewed by Adam Barth.
[chromium] Make VideoFrameChromium's destructor virtual
https://bugs.webkit.org/show_bug.cgi?id=62186
This fixes a real bug, since WebMediaPlayerClientImpl::putCurrentFrame
deletes a VideoFrameChromium subclass type through this interface
class, causing ~VideoFrameChromiumImpl's destructor not to run.
(VideoFrameChroimumImpl happens to not have a destructor or any
non-POD member variables, so it's more a latent bug.)
* platform/graphics/chromium/VideoFrameChromium.cpp:
(WebCore::VideoFrameChromium::~VideoFrameChromium):
* platform/graphics/chromium/VideoFrameChromium.h:
2011-06-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Sammy Weinig.
Remove some unnecessary includes from AnimationBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=62183
* page/animation/AnimationBase.cpp:
2011-06-06 Kent Tamura <tkent@chromium.org>
Unreviewed, a crash fix by a roll out.
REGRESSION(r87980): Null pointer dereference in RenderTextControl::setInnerText()
https://bugs.webkit.org/show_bug.cgi?id=62116
Roll out the WebCore part of r87980.
* html/SearchInputType.cpp:
(WebCore::SearchInputType::SearchInputType):
(WebCore::SearchInputType::createShadowSubtree):
(WebCore::SearchInputType::destroyShadowSubtree):
* html/SearchInputType.h:
(WebCore::SearchInputType::innerBlockElement):
(WebCore::SearchInputType::resultsButtonElement):
(WebCore::SearchInputType::cancelButtonElement):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::TextFieldInputType):
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::destroyShadowSubtree):
* html/TextFieldInputType.h:
(WebCore::TextFieldInputType::innerTextElement):
(WebCore::TextFieldInputType::innerSpinButtonElement):
(WebCore::TextFieldInputType::speechButtonElement):
(WebCore::TextFieldInputType::setInnerTextElement):
(WebCore::TextFieldInputType::setSpeechButtonElement):
* html/shadow/TextControlInnerElements.cpp:
* html/shadow/TextControlInnerElements.h:
2011-06-06 No'am Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Simon Fraser.
Allow copying of KeyframeValueList.
https://bugs.webkit.org/show_bug.cgi?id=62171
Make a deep copy of KeyframeValueList, copying each of the keyframes with a virtual clone() function.
No new functionality so no new tests.
* platform/graphics/GraphicsLayer.h:
(WebCore::FloatAnimationValue::clone):
(WebCore::TransformAnimationValue::TransformAnimationValue):
(WebCore::TransformAnimationValue::clone):
(WebCore::TransformAnimationValue::value):
(WebCore::KeyframeValueList::KeyframeValueList):
2011-06-06 Simon Fraser <simon.fraser@apple.com>
Reviewed by Dan Bernstein.
Incorrect rounding of color values during transitions
https://bugs.webkit.org/show_bug.cgi?id=62141
When blending integers, round to the nearest integer, instead of always rounding down.
Test: transitions/color-transition-rounding.html
* page/animation/AnimationBase.cpp:
(WebCore::blendFunc):
2011-06-06 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r88202.
http://trac.webkit.org/changeset/88202
https://bugs.webkit.org/show_bug.cgi?id=62182
This broke the mac clang bot (Requested by koz__ on #webkit).
* dom/Node.cpp:
(WebCore::Node::hasNonEmptyBoundingBox):
* rendering/InlineBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteRects):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteRects):
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteRects):
* rendering/RenderInline.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRect):
* rendering/RenderObject.h:
(WebCore::RenderObject::absoluteRects):
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRects):
* rendering/RenderText.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::absoluteRects):
* rendering/RenderView.h:
2011-06-06 Noel Gordon <noel.gordon@gmail.com>
Reviewed by Hajime Morita.
Draw CSS outline style for render widgets: iframe, embed, object, applet.
https://bugs.webkit.org/show_bug.cgi?id=57439
Draw CSS outlines for render widgets: iframe, embed, object, applet. These elements can
be focused (via clicks or tabIndex) but should not have a visible focus ring by default.
Tests: fast/replaced/no-focus-ring-embed-1.html
fast/replaced/no-focus-ring-embed-2.html
fast/replaced/no-focus-ring-iframe.html
fast/replaced/no-focus-ring-object-1.html
fast/replaced/no-focus-ring-object-2.html
fast/replaced/outline-replaced-elements.html
* css/html.css:
(applet:focus, embed:focus, iframe:focus, object:focus): Default to no focus ring.
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint): Paint the render widget CSS outline style.
2011-06-06 MORITA Hajime <morrita@google.com>
Reviewed by Kent Tamura.
Assertion fails in TextCheckingHelper by right-clicking on <input type=search>
https://bugs.webkit.org/show_bug.cgi?id=61991
Added a guard bofore TextCheckingHelper construction sites.
Test: editing/spelling/spellcheck-input-search-crash.html
* editing/Editor.cpp:
(WebCore::Editor::isSelectionUngrammatical):
(WebCore::Editor::guessesForUngrammaticalSelection):
(WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
2011-06-06 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Update RenderBlock::paint to use IntPoint internally
https://bugs.webkit.org/show_bug.cgi?id=62140
Covered by existing tests.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
2011-06-06 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert RenderBox::absoluteRects to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62130
Covered by existing tests.
* dom/Node.cpp:
(WebCore::Node::hasNonEmptyBoundingBox):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::absoluteRects):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::absoluteRects):
* rendering/RenderBox.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteRects):
* rendering/RenderInline.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRect):
* rendering/RenderObject.h:
(WebCore::RenderObject::absoluteRects):
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRects):
* rendering/RenderText.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::absoluteRects):
* rendering/RenderView.h:
2011-06-06 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Switch shouldPaint to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62158
Switching shouldPaint to take an IntPoint representing the paint offset instead
of a pair of ints.
No new tests as this is simple refactoring.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderReplaced.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
2011-06-06 James Simonsen <simonjam@chromium.org>
Reviewed by James Robinson.
Add monotonicallyIncreasingTime() to get monotonically increasing time
https://bugs.webkit.org/show_bug.cgi?id=37743
* platform/chromium/SystemTimeChromium.cpp:
(WebCore::monotonicallyIncreasingTime): Add primitive monotonicallyIncreasingTime() which just wraps currentTime().
2011-06-06 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert RenderBox::pushContentsClip to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62133
Covered by existing tests.
* rendering/RenderBlock.cpp:
(WebCore::Covered by existing tests.RenderBlock::paint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::pushContentsClip):
* rendering/RenderBox.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paint):
2011-06-06 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Switch InlineFlowBox::paintMask to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62156
Switching InlineFlowBox::paintMask to take an IntPoint representing the paint
offset instead of a pair of ints.
No new tests as this is simple refactoring.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
(WebCore::InlineFlowBox::paintMask):
* rendering/InlineFlowBox.h:
2011-06-06 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert hitTest to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62144
Covered by existing tests.
* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::hitTestContents):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::nodeAtPoint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestContents):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::renderBoxLocation):
(WebCore::RenderLayer::renderBoxX):
(WebCore::RenderLayer::renderBoxY):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::hitTest):
* rendering/RenderLineBoxList.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hitTest):
* rendering/RenderObject.h:
2011-06-06 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Switch paintScrollbar to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62151
Switching paintScrollbar to use IntPoint instead of a pair of ints.
No new tests since this is simple refactoring.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintObject):
(WebCore::RenderListBox::paintScrollbar):
* rendering/RenderListBox.h:
2011-06-06 Daniel Cheng <dcheng@chromium.org>
Reviewed by Tony Chang.
[chromium] Delete dead clipboard code.
https://bugs.webkit.org/show_bug.cgi?id=62113
No new tests since this change only deleted unused code.
* WebCore.gypi:
* platform/chromium/ChromiumDataObjectLegacy.cpp: Removed.
* platform/chromium/ChromiumDataObjectLegacy.h: Removed.
* platform/chromium/ReadableDataObject.cpp: Removed.
* platform/chromium/ReadableDataObject.h: Removed.
* platform/chromium/WritableDataObject.cpp: Removed.
* platform/chromium/WritableDataObject.h: Removed.
2011-06-06 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Switch paintOutline, paintContinuationOutlines, and paintOutlineForLine to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62137
Switching paintOutline, paintContinuationOutlines, and paintOutlineForLine to take an IntPoint
representing the paint offset instead of a pair of ints.
No new tests as this is simple refactoring.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintContinuationOutlines):
* rendering/RenderBlock.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutline):
(WebCore::RenderInline::paintOutlineForLine):
* rendering/RenderInline.h:
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::paint):
2011-06-06 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert RenderBox::popContentsClip to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62132
Covered by existing tests.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::popContentsClip):
* rendering/RenderBox.h:
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paint):
2011-06-06 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Remove tx/ty offset from selectionRect
https://bugs.webkit.org/show_bug.cgi?id=62146
Removing unused offset parameters from selectionRect.
No new tests since this is just cleanup.
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::selectionRect):
* rendering/EllipsisBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::selectionRect):
* rendering/InlineTextBox.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::absoluteRectsForRange):
(WebCore::ellipsisRectForBox):
(WebCore::RenderText::absoluteQuadsForRange):
(WebCore::RenderText::selectionRectForRepaint):
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::localCaretRect):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::selectionRect):
* rendering/svg/SVGInlineTextBox.h:
2011-06-06 Paul Kinlan <paulkinlan@google.com>
Reviewed by Jeremy Orlow.
Let developers call createEvent("PopStateEvent"), previously it wasn't
exposed and threw an exeception.
https://bugs.webkit.org/show_bug.cgi?id=62099
* WebCore/dom/Document.cpp:
* WebCore/dom/PopStateEvent.cpp:
* WebCore/dom/PopStateEvent.h:
2011-06-03 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Switch paintSelection to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62059
Switching paintSelection to use an IntPoint to represent the paint offset
instead of a pair of ints.
No new tests since this is simple refactoring.
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
(WebCore::EllipsisBox::paintSelection):
* rendering/EllipsisBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintSelection):
* rendering/RenderBlock.h:
2011-06-06 Emil A Eklund <eae@chromium.org>
Reviewed by Eric Seidel.
Convert RenderBox::clipRect to IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62045
Covered by existing tests.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::clipRect):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::repaintBlockSelectionGaps):
* rendering/RenderLayerBacking.cpp:
(WebCore::clipBox):
2011-06-06 Peter Kasting <pkasting@google.com>
Reviewed by Antonio Gomes.
Remove unnecessary args from scroll functions.
https://bugs.webkit.org/show_bug.cgi?id=61648
No behavior change, so no tests.
* WebCore.exp.in:
* WebCore.order:
* dom/Element.cpp:
(WebCore::Element::scrollIntoView):
(WebCore::Element::scrollIntoViewIfNeeded):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::revealSelection):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
* page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
(WebCore::RenderBox::canBeProgramaticallyScrolled):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::autoscroll):
* rendering/RenderLayer.h:
* rendering/RenderListBox.h:
(WebCore::RenderListBox::canBeProgramaticallyScrolled):
* rendering/RenderTextControl.h:
(WebCore::RenderTextControl::canBeProgramaticallyScrolled):
2011-06-06 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Switch paintContents, paintColumnContents, paintColumnRules, and paintSelection to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62134
Switching paintContents, paintColumnContents, paintColumnRules, and paintSelection to take an
IntPoint representing the paint offset instead of a pair of ints.
No new tests as this simple refactoring.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::paintColumnContents):
(WebCore::RenderBlock::paintContents):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintSelection):
* rendering/RenderBlock.h:
2011-06-06 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Eric Seidel.
Inline elements are wrapped prematurely with non-zero border, margin or padding.
https://bugs.webkit.org/show_bug.cgi?id=60459
When an inline element has a right border/margin/padding and it has more than one descendant with no siblings,
the width of the right border/margin/padding should be included in line breaking calculation only once,
and not for each descendant.
Test: fast/inline/inline-wrap-with-parent-padding.html
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextLineBreak):
2011-06-06 Shishir Agrawal <shishir@chromium.org>
Reviewed by Tony Gentilcore.
Add a "prerender" state for page visibility.
https://bugs.webkit.org/show_bug.cgi?id=62062
* page/PageVisibilityState.cpp:
(WebCore::pageVisibilityStateString):
* page/PageVisibilityState.h:
2011-06-06 Cary Clark <caryclark@google.com>
Reviewed by Eric Seidel.
Fix typo in CachedFont.cpp #define
https://bugs.webkit.org/show_bug.cgi?id=62127
No new tests. The define typo in question is
not yet enabled, so this change has no functional
impact.
* loader/cache/CachedFont.cpp:
change SKIA_MAC_ON_CHROME to SKIA_ON_MAC_CHROME
2011-06-03 Levi Weintraub <leviw@chromium.org>
Reviewed by Eric Seidel.
Switch paintFloats, paintChildren, and paintEllipsisBoxes to use IntPoint
https://bugs.webkit.org/show_bug.cgi?id=62058
Switching paintFloats, paintChildren, and paintEllipsisBoxes to take IntPoints representing
their paint offsets instead of pairs of ints.
No new tests since this is simple refactoring.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnContents):
(WebCore::RenderBlock::paintContents):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::paintEllipsisBoxes):
* rendering/RenderBlock.h:
2011-06-06 Steve Block <steveblock@google.com>
Reviewed by Yury Semikhatsky.
Use of ENABLE(INSPECTOR) is inconsistent
https://bugs.webkit.org/show_bug.cgi?id=62118
Correctly guard implementation of ScriptProfiler.
No new tests, build fix only.
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::initialize):
2011-06-04 Dominic Cooney <dominicc@chromium.org>
Reviewed by Dimitri Glazkov.
Add WebCoreTestSupport project.
https://bugs.webkit.org/show_bug.cgi?id=61076
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/WebCoreTestSupport.vcproj: Added.
* WebCore.vcproj/copyForwardingHeaders.cmd: Copy WebCoreTestSupport.h.
2011-06-06 Alexandru Chiculita <achicu@adobe.com>
Reviewed by Kent Tamura.
Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
https://bugs.webkit.org/show_bug.cgi?id=61628
This patch modifies only the build system. Therefore,
there are no new tests.
* Configurations/FeatureDefines.xcconfig:
2011-06-06 Mihnea Ovidenie <mihnea@adobe.com>
Reviewed by Kent Tamura.
Add ENABLE(CSS_REGIONS) guard for CSS Regions support
https://bugs.webkit.org/show_bug.cgi?id=61631
This patch modifies only the build system. Therefore,
there are no new tests.
* Configurations/FeatureDefines.xcconfig:
2011-06-03 Hans Wennborg <hans@chromium.org>
Reviewed by Tony Gentilcore.
IndexedDB: Clean-up function prototypes in IDBLevelDBBackingStore.cpp
https://bugs.webkit.org/show_bug.cgi?id=62013
Clean up the prototypes for cursor open functions by introducing the
CursorOptions struct.
Just clean-up, no new functionality so no new tests.
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::CursorOptions::CursorImplCommon::CursorImplCommon):
(WebCore::CursorOptions::CursorImplCommon::firstSeek):
(WebCore::CursorOptions::CursorImplCommon::continueFunction):
(WebCore::CursorOptions::ObjectStoreCursorImpl::create):
(WebCore::CursorOptions::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
(WebCore::CursorOptions::IndexKeyCursorImpl::create):
(WebCore::CursorOptions::IndexKeyCursorImpl::IndexKeyCursorImpl):
(WebCore::CursorOptions::IndexCursorImpl::create):
(WebCore::CursorOptions::IndexCursorImpl::IndexCursorImpl):
(WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
(WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
(WebCore::IDBLevelDBBackingStore::openIndexCursor):
2011-06-06 Mustafizur Rahaman <mustaf.here@gmail.com>
Reviewed by Darin Adler.
Fix LayoutTests/canvas/philip/tests/2d.composite.operation.highlight.html
https://bugs.webkit.org/show_bug.cgi?id=48290
"highlight" is not a valid globalComposite operation
as per http://www.w3.org/TR/2011/WD-2dcontext-20110525/#compositing
Therefore, removed the option from the source code.
Tests: No new tests required.
LayoutTests\canvas\philip\tests\2d.composite.operation.highlight.html can be used for testing.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator CompositeOperator):
* platform/graphics/GraphicsTypes.cpp:
* platform/graphics/GraphicsTypes.h:
* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::toCairoOperator):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformCompositeOperation):
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::applyCompositeOperator):
* platform/graphics/openvg/PainterOpenVG.cpp:
(WebCore::PlatformPainterState::applyBlending):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::toQtCompositionMode):
* platform/graphics/skia/SkiaUtils.cpp:
2011-06-04 Abhishek Arya <inferno@chromium.org>
Reviewed by Kent Tamura.
Add some asserts for array boundary checks in TextRun. Fix
an integer issue in linux text controller code.
https://bugs.webkit.org/show_bug.cgi?id=62085
Testing ComplexTextControllerLinux change requires a testcase
> 32 kb which is not feasible. All other changes are tested by
existing layouttests.
* platform/graphics/TextRun.h:
(WebCore::TextRun::operator[]): add assert.
(WebCore::TextRun::data): add assert.
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance): bail early and prevent access
to one byte across the text run boundary.
* platform/graphics/chromium/ComplexTextControllerLinux.cpp:
(WebCore::ComplexTextController::getNormalizedTextRun): wrong
int16 vs int comparison.
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGTextRunWalker::walk): bail early when from and to
is outside the text run boundary. this hit easily after adding
the assert when from = to = end and read in run.data(from).
2011-06-05 Kent Tamura <tkent@chromium.org>
Reviewed by Dimitri Glazkov.
Rolling out r84528.
http://trac.webkit.org/changeset/84528
https://bugs.webkit.org/show_bug.cgi?id=62100
It made several problems on elements with new shadow DOM.
* dom/Element.cpp:
(WebCore::Element::copyNonAttributeProperties):
2011-06-05 Igor Oliveira <igor.oliveira@openbossa.org>
Reviewed by Kenneth Rohde Christiansen.
fast/viewport/viewport-45.html fails in GTK+/Qt
https://bugs.webkit.org/show_bug.cgi?id=47481
computeViewportAttributes does many math operations with float point arithmetic
and in some cases there is loss of precision making tests have incorrect values.
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
== Rolled over to ChangeLog-2011-06-04 ==