summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r--Source/WebCore/ChangeLog17177
1 files changed, 17177 insertions, 0 deletions
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index d523cdb..8078751 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,17180 @@
+2011-02-13 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods.
+
+ * platform/network/mac/AuthenticationMac.mm:
+ (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
+ (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):
+
+2011-02-13 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Andreas Kling.
+
+ Repeating gradients drawn incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=53502
+
+ The 'forward-fill' logic for repeating gradients used the wrong
+ starting stop index (0 rather than the original first index), which
+ resulted in incorrect gradients if backwards-fill had already been
+ applied.
+
+ Test: fast/gradients/css3-repeating-end-fill.html
+
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientValue::addStops):
+
+2011-02-13 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Unused variable result in RenderBlock::addOverflowFromFloats()
+ https://bugs.webkit.org/show_bug.cgi?id=54363
+
+ Remove the unused variable.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addOverflowFromFloats):
+
+2011-02-13 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebCore fails to build with Clang's -Woverloaded-virtual
+ https://bugs.webkit.org/show_bug.cgi?id=54367
+
+ * loader/PingLoader.h:
+ (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature
+ in the base class.
+
+2011-02-13 Nico Weber <thakis@chromium.org>
+
+ Reviewed by Anders Carlsson.
+
+ RenderBR::width() tries but fails to override RenderText::width()
+ https://bugs.webkit.org/show_bug.cgi?id=54301
+
+ The superclass method's signature changed, e.g. in
+ http://trac.webkit.org/changeset/57215, but the subclass was not
+ updated.
+
+ * rendering/RenderBR.h:
+ (WebCore::RenderBR::width):
+
+2011-02-13 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ Canvas: 2d.fillStyle.parse.system.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=39168
+
+ Based on previous work by Julien Chaffraix <jchaffraix@codeaurora.org>
+ and Jan Erik Hanssen <jhanssen@sencha.com>
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseColor): Changed the function to better match our
+ early return policy. Also we now return false when we don't parse the color.
+ This is needed for createFromString to fallback to using parseSystemColor.
+
+ (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
+ the system colors.
+
+ * css/CSSParser.h: Added the new parseSystemColor method.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
+ (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
+
+ * html/canvas/CanvasStyle.cpp:
+ (WebCore::parseColor):
+ (WebCore::parseColorOrCurrentColor):
+ (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
+ and fall back to parseSystemColor if it did not work.
+
+ * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
+
+2011-02-13 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a compile-time option to completely disable WebArchive support.
+ https://bugs.webkit.org/show_bug.cgi?id=52712
+
+ Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
+
+ ArchiveResource and ArchiveResourceCollection are notably still compiled in. They are used
+ in Safari for functionality such as "Save Image As" and Image copy & paste independent of
+ WebArchive support.
+
+ Ports Affected:
+ WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from Qt.
+ This patch preserves this behavior except that it also disables support in the Chromium port.
+
+ No behavior changes so no new tests.
+
+ * WebCore.gyp/WebCore.gyp: Don't compile LegacyWebArchive.cpp and friends.
+ * WebCore.pro: Don't compile ArchiveFactory.cpp in Qt port.
+ * loader/DocumentLoader.cpp: Surround WebArchive code with #ifdef.
+ (WebCore::DocumentLoader::commitLoad):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ (WebCore::DocumentLoader::archiveResourceForURL):
+ * loader/DocumentLoader.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadURLIntoChildFrame):
+ (WebCore::FrameLoader::stopAllLoaders):
+ (WebCore::FrameLoader::finishedLoadingDocument):
+ * loader/FrameLoader.h:
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::start):
+ * loader/archive/ArchiveFactory.cpp: Remove #ifdef since feature is now enabled/disabled wholesale.
+ (WebCore::archiveMIMETypes):
+ * page/Settings.cpp:
+ * page/Settings.h:
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes):
+
+2011-02-13 Aparna Nandyal <aparna.nand@wipro.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL.
+ https://bugs.webkit.org/show_bug.cgi?id=53320
+
+ The encoding that was done is corrected in the fix.
+ Replaced the KURL encoding function with QUrl API.
+
+ * platform/qt/DragDataQt.cpp:
+ (WebCore::DragData::asURL):
+
+2011-02-13 Leo Yang <leo.yang.c@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX()
+ https://bugs.webkit.org/show_bug.cgi?id=54351
+
+ We were calling containingBlock() twice if the left is not auto. We only need to call it
+ once because we can use 'cb' variable in the following line.
+
+ No functionality change, no new tests.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::relativePositionOffsetX):
+
+2011-02-13 Jarred Nicholls <jarred@sencha.com>
+
+ Reviewed by Simon Fraser.
+
+ getComputedStyle returns wrong value for margin-right
+ https://bugs.webkit.org/show_bug.cgi?id=13343
+
+ Matching IE, Firefox, and Opera behavior by returning the computed margin
+ values as specified, rather than the used/auto values (calculated via RenderBox).
+ Also CSS 2.1+ compliant by returning margin percentage as specified, if applicable.
+ Note: Firefox and Opera return calculated fixed lengths for percentage margins, IE
+ returns the specified percentage.
+
+ Tests: fast/css/getComputedStyle/getComputedStyle-margin-auto.html
+ fast/css/getComputedStyle/getComputedStyle-margin-length.html
+ fast/css/getComputedStyle/getComputedStyle-margin-percentage.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+
+2011-02-13 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ crypto.getRandomValues should throw TYPE_MISMATCH_ERR
+ https://bugs.webkit.org/show_bug.cgi?id=54346
+
+ As requested by Sam.
+
+ * page/Crypto.cpp:
+ (WebCore::Crypto::getRandomValues):
+
+2011-02-13 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54349
+ Inline some accessors in PrintContext
+
+ No change in behavior, so no tests.
+
+ * WebCore.exp.in:
+ * page/PrintContext.cpp:
+ * page/PrintContext.h:
+ (WebCore::PrintContext::pageCount):
+ (WebCore::PrintContext::pageRect):
+ Inline pageCount() and pageRect() to match pageRects().
+
+2011-02-13 Sam Weinig <sam@webkit.org>
+
+ Roll r78424 [Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)] back
+ in with fixes to make it work with render layers.
+
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
+ (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
+ (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
+ (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
+ (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore::RenderLayer::contentsSize):
+ (WebCore::RenderLayer::visibleHeight):
+ (WebCore::RenderLayer::visibleWidth):
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::visibleHeight):
+ (WebCore::RenderListBox::visibleWidth):
+ * rendering/RenderListBox.h:
+
+2011-02-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Some Scrollbar functions assume an attached ScrollableArea but can be called without one
+ https://bugs.webkit.org/show_bug.cgi?id=54262
+
+ Make sure that all calls to the scrollable area are null checked.
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::autoscrollPressedPart):
+ (WebCore::Scrollbar::moveThumb):
+ (WebCore::Scrollbar::mouseMoved):
+
+2011-02-13 Sam Weinig <sam@webkit.org>
+
+ Roll out r78424. It broke a bunch of tests.
+
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
+ (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
+ * rendering/RenderLayer.cpp:
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::contentsSize):
+ * rendering/RenderListBox.cpp:
+ * rendering/RenderListBox.h:
+
+2011-02-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)
+ <rdar://problem/8984760>
+
+ When going down the smooth scroll path, constrained scrolls (such as those from a
+ Mighty Mouse) were being correctly constrained at the ScrollView level, but the
+ duplicate values being stored by the animator were not being constrained correctly.
+
+ In order to implement the constraint at this level, more of the ScrollableArea's API
+ needed to be filled in for RenderLayer and RenderListBox.
+
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): Call immediateScrollToPoint to stay
+ consistent and get the desired behavior.
+
+ (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
+ (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
+ (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
+ (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
+ Ensure that the scroll animators view of the current scroll position is the
+ same as the scrollable areas by correctly clamping the value.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::contentsSize): Correct implementation
+ to use the scroll size, not the visible size.
+ (WebCore::RenderLayer::visibleHeight):
+ (WebCore::RenderLayer::visibleWidth):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::visibleHeight):
+ (WebCore::RenderListBox::visibleWidth):
+ * rendering/RenderListBox.h:
+ Add implementations for visibleHeight/visibleWidth.
+
+2011-02-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ crypto.getRandomValues should support all integer array types
+ https://bugs.webkit.org/show_bug.cgi?id=54342
+
+ As discussed on whatwg, we should support all the integer array types.
+
+ Test: security/crypto-random-values-types.html
+
+ * page/Crypto.cpp:
+ (WebCore::Crypto::getRandomValues):
+
+2011-02-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Use /dev/urandom as the OSRandomSource on OS(DARWIN)
+ https://bugs.webkit.org/show_bug.cgi?id=54279
+
+ Update the ifdef. OS(UNIX) includes OS(DARWIN), so this change is
+ should be a NOP.
+
+ * config.h:
+
+2011-02-11 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Allow turning off multisampling through web preference settings
+ https://bugs.webkit.org/show_bug.cgi?id=54321
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::create): Disable multisampling in WebGL if web reference says so.
+ * page/Settings.cpp: Add a flag for multisampling preference.
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setOpenGLMultisamplingEnabled):
+ * page/Settings.h: Ditto.
+ (WebCore::Settings::openGLMultisamplingEnabled):
+
+2011-02-12 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Tony Chang.
+
+ Deploy EditingStyle in applyBlockStyle and applyInlineStyle
+ https://bugs.webkit.org/show_bug.cgi?id=53911
+
+ Deployed EditingStyle in ApplyStyleCommand::applyBlockStyle and ApplyStyleCommand::applyInlineStyle.
+ Extracted EditingStyle::extractAndRemoveTextDirection from applyInlineStyle.
+ Also added propertiesToInclude to the argument list of EditingStyle's constructor that takes Node*
+ so that splitAncestorsWithUnicodeBidi can call EditingStyle::textDirection to obtain the text direction.
+
+ No new tests are added since this is a refactoring.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::doApply): Passes EditingStyle* to applyBlockStyle and applyInlineStyle.
+ (WebCore::ApplyStyleCommand::applyBlockStyle): Takes EditingStyle*.
+ (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Changed the type of allowedDirection
+ from int to WritingDirection. Uses EditingStyle's textDirection to obtain the writing direction.
+ (WebCore::ApplyStyleCommand::applyInlineStyle): Takes EditingStyle*.
+ (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Allows style to be null; exit early instead.
+ (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Asserts that style is not null.
+ (WebCore::ApplyStyleCommand::removeInlineStyle): Allows style to be null.
+ * editing/ApplyStyleCommand.h: Includes WritingDirection.h; prototype changes.
+ * editing/EditingStyle.cpp:
+ (WebCore::EditingStyle::EditingStyle): Added PropertiesToInclude to the argument.
+ (WebCore::EditingStyle::init): Supports PropertiesToInclude.
+ (WebCore::EditingStyle::extractAndRemoveTextDirection): Extracted from applyInlineStyle.
+ * editing/EditingStyle.h:
+ (WebCore::EditingStyle::create): Supports PropertiesToInclude.
+
+2011-02-12 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ Implement IDBObjectStore::clear
+ https://bugs.webkit.org/show_bug.cgi?id=54193
+
+ Test: storage/indexeddb/objectstore-clear.html
+
+ * storage/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::clear):
+ * storage/IDBObjectStore.h:
+ * storage/IDBObjectStore.idl:
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::clear):
+ (WebCore::doDelete):
+ (WebCore::IDBObjectStoreBackendImpl::clearInternal):
+ * storage/IDBObjectStoreBackendImpl.h:
+ * storage/IDBObjectStoreBackendInterface.h:
+
+2011-02-12 Adam Barth <abarth@webkit.org>
+
+ Another attempt to fix the EFL build. Looks like we're missing one
+ more file.
+
+ * CMakeLists.txt:
+
+2011-02-12 Adam Barth <abarth@webkit.org>
+
+ Attempt to fix the EFL build. Apparently the CMake build had no
+ concept of ArrayBuffers.
+
+ * CMakeLists.txt:
+
+2011-02-12 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed build fix.
+
+ * dom/Range.cpp:
+ (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode.
+ (WebCore::Range::processContents):
+ (WebCore::Range::processContentsBetweenOffsets):
+
+2011-02-12 Adam Barth <abarth@webkit.org>
+
+ CPP files belong in SOURCES not in HEADERS. There are more errors like
+ this for other disabled features, but I'm not fixing them in this
+ patch.
+
+ * WebCore.pro:
+
+2011-02-12 Adam Barth <abarth@webkit.org>
+
+ Apparently lines in .pro files need to be \-terminated.
+
+ * WebCore.pro:
+
+2011-02-11 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Extract a function to process contents for one node from Range::processContents
+ https://bugs.webkit.org/show_bug.cgi?id=54282
+
+ Extracted Range::processContentsBetweenOffsets, which process contents of a node
+ between two offsets. This function is used for the simple case where the start
+ and the end containers are of the same node, and to process start and end containers
+ in the complex case.
+
+ When the function takes a non-null fragment (simple case), it appends the processed
+ contents to the fragment; character data and processing instruction's contents are copied
+ between the offsets, and descendants are copied for node of other types (not node itself).
+
+ When the fragment is null (complex case), the function copies contents of character data,
+ processing instruction, and node of other types (including node itself).
+
+ No new tests are added since this is a refactoring.
+
+ * dom/Range.cpp:
+ (WebCore::highestAncestorUnderCommonRoot): Added.
+ (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and
+ processContentsBetweenOffsets.
+ (WebCore::Range::processContentsBetweenOffsets): Added.
+ * dom/Range.h:
+
+2011-02-12 Adam Barth <abarth@webkit.org>
+
+ Attempt to fix the Qt Windows build.
+
+ * WebCore.pro:
+
+2011-02-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Kenneth Russell.
+
+ Enable ArrayBuffers by default
+ https://bugs.webkit.org/show_bug.cgi?id=54310
+
+ As discussed on webkit-dev, ArrayBuffers are used by a bunch of
+ different APIs, implemented by Firefox, and appear to be stable.
+ Keeping them conditional is a large mantainance burden than it's worth.
+
+ * DerivedSources.cpp:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
+ * bindings/js/JSArrayBufferCustom.cpp:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/js/JSDataViewCustom.cpp:
+ * bindings/js/JSFloat32ArrayCustom.cpp:
+ * bindings/js/JSInt16ArrayCustom.cpp:
+ * bindings/js/JSInt32ArrayCustom.cpp:
+ * bindings/js/JSInt8ArrayCustom.cpp:
+ * bindings/js/JSUint16ArrayCustom.cpp:
+ * bindings/js/JSUint32ArrayCustom.cpp:
+ * bindings/js/JSUint8ArrayCustom.cpp:
+ * bindings/v8/custom/V8ArrayBufferCustom.cpp:
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ * bindings/v8/custom/V8Float32ArrayCustom.cpp:
+ * bindings/v8/custom/V8Int16ArrayCustom.cpp:
+ * bindings/v8/custom/V8Int32ArrayCustom.cpp:
+ * bindings/v8/custom/V8Int8ArrayCustom.cpp:
+ * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
+ * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
+ * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
+ * html/canvas/ArrayBuffer.cpp:
+ * html/canvas/ArrayBuffer.idl:
+ * html/canvas/ArrayBufferView.cpp:
+ * html/canvas/ArrayBufferView.idl:
+ * html/canvas/DataView.cpp:
+ * html/canvas/DataView.idl:
+ * html/canvas/Float32Array.cpp:
+ * html/canvas/Float32Array.idl:
+ * html/canvas/Int16Array.cpp:
+ * html/canvas/Int16Array.idl:
+ * html/canvas/Int32Array.cpp:
+ * html/canvas/Int32Array.idl:
+ * html/canvas/Int8Array.cpp:
+ * html/canvas/Int8Array.idl:
+ * html/canvas/Uint16Array.cpp:
+ * html/canvas/Uint16Array.idl:
+ * html/canvas/Uint32Array.cpp:
+ * html/canvas/Uint32Array.idl:
+ * html/canvas/Uint8Array.cpp:
+ * html/canvas/Uint8Array.idl:
+ * page/Crypto.cpp:
+ (WebCore::Crypto::getRandomValues):
+ * page/Crypto.h:
+ * page/Crypto.idl:
+ * page/DOMWindow.idl:
+ * workers/WorkerContext.idl:
+
+2011-02-11 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Background image positioning on RTL text
+ https://bugs.webkit.org/show_bug.cgi?id=32862
+
+ When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order.
+
+ Tests: fast/inline/inline-box-background-long-image.html
+ fast/inline/inline-box-background-repeat-x.html
+ fast/inline/inline-box-background-repeat-y.html
+ fast/inline/inline-box-background.html
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintFillLayer):
+
+2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r78044.
+ http://trac.webkit.org/changeset/78044
+ https://bugs.webkit.org/show_bug.cgi?id=54318
+
+ Broke Safari extensions (Requested by eseidel on #webkit).
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::parse):
+
+2011-02-11 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8976456> Scrollbars for overflow
+ areas never appear for WKScrollbarPainter scrollers
+
+ Call ScrollableArea::didAddVerticalScrollbar() and
+ ScrollableArea::willRemoveVerticalScrollbar() when
+ appropriate for RenderLayers.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::setHasHorizontalScrollbar):
+ (WebCore::RenderLayer::setHasVerticalScrollbar):
+
+2011-02-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ KURL should remove default port numbers when cannonicalizing urls (to match every other browser)
+ https://bugs.webkit.org/show_bug.cgi?id=54090
+
+ * platform/KURL.cpp:
+ (WebCore::isDefaultPortForScheme):
+ (WebCore::KURL::parse):
+
+2011-02-11 Mike Reed <reed@google.com>
+
+ Reviewed by James Robinson.
+
+ Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend
+ is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp
+
+ No new tests. All existing canvas layouttests exercise this code path
+
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
+
+2011-02-11 Adam Klein <adamk@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry
+ https://bugs.webkit.org/show_bug.cgi?id=54304
+
+ This avoids potential crashes in HashMap, as WTF's StringHash doesn't
+ accept empty Strings.
+
+ * platform/SchemeRegistry.cpp:
+ (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
+ (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
+ (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
+
+2011-02-11 Adam Klein <adamk@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [fileapi] Add support for filesystem: URI handling
+ https://bugs.webkit.org/show_bug.cgi?id=53529
+
+ There are two major parts to this patch: one is to add an
+ implementation of Entry.toURI to the FileSystem API.
+ The other is to implement security origin checking for this
+ new scheme.
+
+ All changes are guarded by the FILE_SYSTEM feature. An accompanying
+ Chromium change, to support loading of filesystem: URIs, has recently
+ been submitted as Chromium r74082.
+
+ Spec:
+ http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods-2
+ Proposed URI format, and discussion of security origin issues:
+ http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0218.html
+
+ Tests: fast/filesystem/directory-entry-to-uri.html
+ fast/filesystem/file-entry-to-uri.html
+ fast/filesystem/filesystem-uri-origin.html
+ http/tests/security/filesystem-iframe-from-remote.html
+
+ * fileapi/Entry.cpp:
+ (WebCore::Entry::toURI):
+ * fileapi/Entry.h:
+ * fileapi/Entry.idl:
+ - Added toURI method to the IDL, omitting the MIME type argument
+ specified in the spec as it will soon be removed.
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::SecurityOrigin):
+ - crack the filesystem: URI to get at the origin of the site
+ (WebCore::SecurityOrigin::canDisplay):
+ - canDisplay for filesystem: URIs is equivalent to canRequest
+ * platform/AsyncFileSystem.cpp:
+ (WebCore::AsyncFileSystem::create):
+ (WebCore::AsyncFileSystem::openFileSystem):
+ * platform/AsyncFileSystem.h:
+ (WebCore::AsyncFileSystem::type):
+ - Exposed filesystem type to allow toURI to use it as part of the
+ path.
+ (WebCore::AsyncFileSystem::AsyncFileSystem):
+ * platform/SchemeRegistry.cpp:
+ (WebCore::canDisplayOnlyIfCanRequestSchemes):
+ (WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
+ (WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
+ - Generalized canDisplayOnlyIfCanRequest as it applies to both
+ filesystem: and blob: URIs.
+ * platform/SchemeRegistry.h:
+
+2011-02-11 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/8961061> CrashTracer: [USER]
+ 1 crash at com.apple.WebCore:
+ -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62
+
+ Must check for null _animator.
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
+ (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
+ (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
+
+2011-02-11 Chris Rogers <crogers@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Throw exception when AudioContext's createBuffer() fails to properly decode audio file data
+ https://bugs.webkit.org/show_bug.cgi?id=54158
+
+ No new tests since audio API is not yet implemented.
+
+ * bindings/js/JSAudioContextCustom.cpp:
+ (WebCore::JSAudioContextConstructor::constructJSAudioContext):
+ (WebCore::JSAudioContext::createBuffer):
+ * bindings/v8/custom/V8AudioContextCustom.cpp:
+ (WebCore::V8AudioContext::createBufferCallback):
+ * platform/audio/chromium/AudioBusChromium.cpp:
+ (WebCore::createBusFromInMemoryAudioFile):
+ * webaudio/AudioContext.idl:
+
+2011-02-11 Mike Reed <reed@google.com>
+
+ Reviewed by James Robinson.
+
+ Fix toDataURL() to use device->readPixels() if need be, rather than always dereferencing
+ the address returned by getPixels() (as the device may not be backed by a CPU bitmap)
+ https://bugs.webkit.org/show_bug.cgi?id=54224
+
+ No new tests. Existing canvas tests exercise this...
+ fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html
+
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+
+2011-02-11 Andrew Wason <rectalogic@rectalogic.com>
+
+ Reviewed by David Levin.
+
+ Files missing ENABLE_VIDEO #ifdef
+ https://bugs.webkit.org/show_bug.cgi?id=53390
+
+ No new tests.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ * html/canvas/WebGLRenderingContext.h:
+ * html/canvas/WebGLRenderingContext.idl:
+ Wrap methods and declarations that use HTMLVideoElement
+ with #if ENABLE(VIDEO).
+
+2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r78331.
+ http://trac.webkit.org/changeset/78331
+ https://bugs.webkit.org/show_bug.cgi?id=54295
+
+ This patch broke 11 tests in GTK bots (Requested by svillar on
+ #webkit).
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_name):
+ (webkit_accessible_detach):
+
+2011-02-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GDOM] Video element needs proper wrapping
+ https://bugs.webkit.org/show_bug.cgi?id=54231
+
+ Use the same strategy as the one used for the audio tag to wrap
+ video as well. No layout tests because this only adds API.
+
+ * bindings/gobject/GNUmakefile.am:
+ * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
+ (WebKit::createVideoWrapper):
+ (WebKit::createHTMLElementWrapper):
+
+2011-02-11 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual)
+ https://bugs.webkit.org/show_bug.cgi?id=54259
+
+ Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to
+ avoid overloading a virtual function.
+
+ No change of functionality. Just fixing a build warning, so no new tests.
+
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGAltGlyphElement.cpp:
+ (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGCircleElement.cpp:
+ (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGClipPathElement.cpp:
+ (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGEllipseElement.cpp:
+ (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEConvolveMatrixElement.cpp:
+ (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEMorphologyElement.cpp:
+ (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFETurbulenceElement.cpp:
+ (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFilterElement.cpp:
+ (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::fillPassedAttributeToPropertyTypeMap):
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ * svg/SVGFontElement.cpp:
+ (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGForeignObjectElement.cpp:
+ (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGGlyphElement.cpp:
+ (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGGradientElement.cpp:
+ (WebCore::SVGGradientElement::fillPassedAttributeToPropertyTypeMap):
+ * svg/SVGGradientElement.h:
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGLineElement.cpp:
+ (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGLinearGradientElement.cpp:
+ (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGMarkerElement.cpp:
+ (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGMaskElement.cpp:
+ (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGMissingGlyphElement.cpp:
+ (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGPathElement.cpp:
+ (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGPolyElement.cpp:
+ (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGRadialGradientElement.cpp:
+ (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGRectElement.cpp:
+ (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGStopElement.cpp:
+ (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::fillPassedAttributeToPropertyTypeMap):
+ * svg/SVGStyledElement.h:
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap):
+ * svg/SVGStyledTransformableElement.h:
+ * svg/SVGSwitchElement.cpp:
+ (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGSymbolElement.cpp:
+ (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTRefElement.cpp:
+ (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTSpanElement.cpp:
+ (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::fillPassedAttributeToPropertyTypeMap):
+ * svg/SVGTextContentElement.h:
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTextPathElement.cpp:
+ (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTextPositioningElement.cpp:
+ (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap):
+ * svg/SVGTextPositioningElement.h:
+ * svg/SVGTitleElement.cpp:
+ (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGViewElement.cpp:
+ (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
+
+2011-02-11 Andrey Adaikin <aandrey@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [REGRESSION] click on error message in console doesn't scroll into view
+ https://bugs.webkit.org/show_bug.cgi?id=54089
+
+ * inspector/front-end/Drawer.js:
+ (WebInspector.Drawer.prototype.show.animationFinished):
+ (WebInspector.Drawer.prototype.show):
+ (WebInspector.Drawer.prototype.hide):
+ (WebInspector.Drawer.prototype.resize):
+ (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
+ (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
+ (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
+ (WebInspector.Drawer.prototype._animateDrawerHeight):
+ (WebInspector.Drawer.prototype._statusBarDragging):
+ * inspector/front-end/inspector.js:
+ (WebInspector.animateStyle):
+ (WebInspector.animateStyle.forceComplete):
+ (WebInspector.animateStyle.cancel):
+ (WebInspector.showSourceLine):
+
+2011-02-10 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Make DocumentWriter a member of DocumentLoader
+ instead of FrameLoader.
+ https://bugs.webkit.org/show_bug.cgi?id=50489
+
+ Refactor, no new tests.
+
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::explicitClose):
+ (WebCore::Document::lastModified):
+ (WebCore::Document::initSecurityContext):
+ (WebCore::Document::updateURLForPushOrReplaceState):
+ * dom/Document.h:
+ (WebCore::Document::setDocumentLoader):
+ (WebCore::Document::loader):
+ * html/MediaDocument.cpp:
+ (WebCore::MediaDocument::replaceMediaElementTimerFired):
+ * html/PluginDocument.cpp:
+ (WebCore::PluginDocumentParser::createDocumentStructure):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::commitData):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ (WebCore::DocumentLoader::setFrame):
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::writer):
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::begin):
+ * loader/DocumentWriter.h:
+ (WebCore::DocumentWriter::setFrame):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::init):
+ (WebCore::FrameLoader::clear):
+ (WebCore::FrameLoader::receivedFirstData):
+ (WebCore::FrameLoader::transitionToCommitted):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::finishedLoadingDocument):
+ (WebCore::FrameLoader::addExtraFieldsToRequest):
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::notifier):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged):
+
+2011-02-10 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines.
+ https://bugs.webkit.org/show_bug.cgi?id=54227
+
+ * dom/Document.cpp:
+ (WebCore::Document::finishedParsing):
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
+ (WebCore::InspectorAgent::setFrontend):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
+ (WebCore::InspectorAgent::didCommitLoad):
+ (WebCore::InspectorAgent::domContentLoadedEventFired):
+ (WebCore::InspectorAgent::loadEventFired):
+ (WebCore::InspectorAgent::startTimelineProfiler):
+ (WebCore::InspectorAgent::stopTimelineProfiler):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorCSSAgent.cpp:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::InspectorDOMAgent):
+ (WebCore::InspectorDOMAgent::startListening):
+ (WebCore::InspectorDOMAgent::stopListening):
+ (WebCore::InspectorDOMAgent::mainDOMContentLoaded):
+ (WebCore::InspectorDOMAgent::loadEventFired):
+ * inspector/InspectorDOMAgent.h:
+ (WebCore::InspectorDOMAgent::create):
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
+ * inspector/InspectorDOMStorageAgent.h:
+ (WebCore::InspectorDOMStorageAgent::create):
+ * inspector/InspectorDOMStorageResource.h:
+ * inspector/InspectorDatabaseAgent.cpp:
+ (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
+ (WebCore::InspectorDatabaseAgent::executeSQL):
+ (WebCore::InspectorDatabaseAgent::selectDatabase):
+ (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
+ * inspector/InspectorDatabaseAgent.h:
+ (WebCore::InspectorDatabaseAgent::FrontendProvider::create):
+ (WebCore::InspectorDatabaseAgent::FrontendProvider::~FrontendProvider):
+ (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
+ (WebCore::InspectorDatabaseAgent::FrontendProvider::clearFrontend):
+ (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
+ (WebCore::InspectorDatabaseAgent::create):
+ * inspector/InspectorDatabaseResource.cpp:
+ (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
+ (WebCore::InspectorDatabaseResource::bind):
+ * inspector/InspectorDatabaseResource.h:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
+ (WebCore::InspectorInstrumentation::loadEventFiredImpl):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
+ (WebCore::InspectorInstrumentation::loadEventFired):
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ (WebCore::InspectorState::mute):
+ (WebCore::InspectorState::updateCookie):
+ * inspector/InspectorState.h:
+ (WebCore::InspectorState::~InspectorState):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::restore):
+ (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::didCommitLoad):
+ (WebCore::InspectorTimelineAgent::setFrontend):
+ (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::InspectorTimelineAgent::create):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchLoadEvent):
+
+2011-02-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: command line API $0 regressed.
+ https://bugs.webkit.org/show_bug.cgi?id=54283
+
+ * inspector/InjectedScriptSource.js:
+
+2011-02-11 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][S60] Vertical borders of buttons and frames are misaligned
+ https://bugs.webkit.org/show_bug.cgi?id=51169
+
+ Force anti-aliasing for lines and rects when using OpenVG backend on Symbian.
+ OpenVG cannot guarantee rendering to be on pixel in floating point co-ordinates
+ without anti-aliasing. Patch idea by Laszlo Agocs.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+
+2011-02-11 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] events missing when a document is (re)loaded
+ https://bugs.webkit.org/show_bug.cgi?id=25831
+
+ Make sure webArea returns a proper name and that a signal
+ 'state-change::defunct' is emitted when detaching the wrapper.
+
+ Test: platform/gtk/accessibility/document-reload-events.html
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_name): Returns the current document's title
+ as fallback mechanism for webArea objects.
+ (webkit_accessible_detach): Emit 'state-change::defunct' function
+ as soon as the wrapper is detached from the related core object.
+
+2011-02-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: command line's API inspect() is broken.
+ https://bugs.webkit.org/show_bug.cgi?id=54275
+
+ Test: inspector/command-line-api.html
+
+ * inspector/InjectedScriptSource.js:
+
+2011-02-11 Adam Barth <abarth@webkit.org>
+
+ Turns out window.crypto is supposed to be readonly.
+
+ * page/DOMWindow.idl:
+
+2011-02-11 Adam Barth <abarth@webkit.org>
+
+ Actually add Crypto.cpp to the Windows build. I'm terrible.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2011-02-11 Adam Barth <abarth@webkit.org>
+
+ Attempt to fix the Windows build. Apparently we don't support
+ conditional attributes on functions. This patch makes the whole Crypto
+ interface conditional on ArrayBuffer support.
+
+ * page/DOMWindow.idl:
+ * page/Crypto.cpp:
+ * page/Crypto.h:
+ * page/Crypto.idl:
+
+2011-02-10 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Enable ancestor identifier filtering for tree building
+ https://bugs.webkit.org/show_bug.cgi?id=54241
+
+ Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent
+ element stack as needed.
+
+ This roughly halves the remaining time in style matching over a typical page load.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::pushParentStackFrame):
+ (WebCore::CSSStyleSelector::popParentStackFrame):
+ (WebCore::CSSStyleSelector::pushParent):
+ (WebCore::CSSStyleSelector::popParent):
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
+ * dom/Document.h:
+ (WebCore::Document::styleSelectorIfExists):
+ * dom/Element.cpp:
+ (WebCore::Element::beginParsingChildren):
+ (WebCore::Element::finishParsingChildren):
+ * dom/Element.h:
+
+2011-02-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ WebKit should have a cryptographic RNG
+ https://bugs.webkit.org/show_bug.cgi?id=22049
+
+ Add crypto.getRandomValues. Yes, all these diffs are required to
+ expose a single function to the DOM.
+
+ Test: security/crypto-random-values.html
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added.
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * config.h:
+ * page/Crypto.cpp: Added.
+ (WebCore::Crypto::Crypto):
+ (WebCore::Crypto::getRandomValues):
+ * page/Crypto.h: Added.
+ (WebCore::Crypto::create):
+ * page/Crypto.idl: Added.
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::clear):
+ (WebCore::DOMWindow::crypto):
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::optionalCrypto):
+ * page/DOMWindow.idl:
+
+2011-02-11 Ryuan Choi <ryuan.choi@samsung.com>
+
+ Unreviewed build fix.
+
+ [GTK] Build break with 2.18.3
+ https://bugs.webkit.org/show_bug.cgi?id=54057
+
+ * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h
+
+2011-02-11 Cosmin Truta <ctruta@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Templatize KURLGooglePrivate::init
+ https://bugs.webkit.org/show_bug.cgi?id=53749
+
+ No new tests. Refactoring.
+
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURLGooglePrivate::init):
+ * platform/KURLGooglePrivate.h:
+
+2011-02-10 Andy Estes <aestes@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Convert ContainerNode::firstElementChild() to a free function.
+ https://bugs.webkit.org/show_bug.cgi?id=54269
+
+ No new tests. No change in behavior.
+
+ It seemed incorrect to have a method on ContainerNode that had the
+ concept of an Element but couldn't return an Element*, but a method on
+ Element could not be called by holders of ContainerNodes or other
+ non-Element ContainerNode subclasses. A free function can both return
+ an Element* and be called by anyone with a ContainerNode*.
+
+ * dom/ContainerNode.h:
+ (WebCore::ContainerNode::lastChild):
+ (WebCore::Node::lastChild):
+ * dom/Document.cpp:
+ (WebCore::Document::cacheDocumentElement):
+ * dom/Element.cpp:
+ (WebCore::Element::firstElementChild):
+ * dom/Element.h:
+ (WebCore::firstElementChild):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
+
+2011-02-10 Mads Ager <ager@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [V8] Don't crash on exception getting event handler function
+ https://bugs.webkit.org/show_bug.cgi?id=54216
+
+ Check for exceptions when attempting to get the handleEvent property
+ of an event-handler object.
+
+ Test: fast/dom/exception-getting-event-handler.html
+
+ * bindings/v8/V8EventListener.cpp:
+ (WebCore::V8EventListener::getListenerFunction):
+
+2011-02-10 Naoki Takano <takano.naoki@gmail.com>
+
+ Reviewed by James Robinson.
+
+ [Chromium] Layout Test canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
+ https://bugs.webkit.org/show_bug.cgi?id=53857
+
+ globalAlpha is not applied to fillPath() and fillRect().
+
+ Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
+
+ * platform/graphics/chromium/GLES2Canvas.cpp:
+ (WebCore::GLES2Canvas::State::applyAlpha): Append a new function to apply global alpha when fillRect() and fillPath() are called.
+ (WebCore::GLES2Canvas::fillRect): Global alpha is applied to m_fillColor.
+ (WebCore::GLES2Canvas::fillPath): Global alpha is applied to m_fillColor.
+
+2011-02-10 Andy Estes <aestes@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Remove an unneeded argument from HTMLDocument::create().
+ https://bugs.webkit.org/show_bug.cgi?id=54268
+
+ Now that HTMLTreeBuilder no longer uses a dummy HTMLDocument for
+ fragment parsing, there isn't a need to explicitly specify a baseURL
+ when constructing an HTMLDocument. We can remove the unneeded argument.
+
+ Also fix some style issues in Document.h and HTMLDocument.h caught by
+ check-webkit-style.
+
+ No new tests. No change in behavior.
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ * html/HTMLDocument.cpp:
+ (WebCore::HTMLDocument::HTMLDocument):
+ * html/HTMLDocument.h:
+ (WebCore::HTMLDocument::create):
+
+2011-02-10 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Cached JavaScript Parser Data Being Left in Memory Cache
+ https://bugs.webkit.org/show_bug.cgi?id=54245
+
+ Added logic in CachedScript to clear SourceProviderCache data in
+ destroyDecodedData(). Added and changed CachedScript timeout to
+ act similar to CachedImage. Changed didAddClient to call super
+ class method instead of duplicating the logic in the derived
+ classes.
+
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::didAddClient):
+ * loader/cache/CachedScript.cpp:
+ (WebCore::CachedScript::didAddClient):
+ (WebCore::CachedScript::allClientsRemoved):
+ (WebCore::CachedScript::script):
+ (WebCore::CachedScript::destroyDecodedData):
+ * loader/cache/CachedScript.h:
+
+2011-02-10 Cosmin Truta <ctruta@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix style in KURLGooglePrivate
+ https://bugs.webkit.org/show_bug.cgi?id=54228
+
+ Replace occurrences of NULL with 0, '\0' or null (as applicable),
+ to appease check-webkit-style.
+
+ No new tests. This is a style fix.
+
+ * platform/KURLGoogle.cpp:
+ * platform/KURLGooglePrivate.h:
+
+2011-02-10 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
+ https://bugs.webkit.org/show_bug.cgi?id=48719
+
+ The HTML5 fragment parsing algorithm specifies that a new Document
+ should be created to serve as the temporary parent of fragment nodes
+ during parsing. Document creation is expensive and accounts for ~38% of
+ the Peacekeeper DOM performance regression. Avoid the cost of creating
+ a dummy document by using the already-created DocumentFragment as the
+ root node during fragment parsing.
+
+ With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
+ is ~24%.
+
+ Test: fast/parser/fragment-parser-doctype.html
+
+ * dom/ContainerNode.h:
+ (WebCore::ContainerNode::firstElementChild): Add a method that returns
+ the first element-typed child from a ContainerNode.
+ * dom/Document.cpp:
+ (WebCore::Document::cacheDocumentElement): Call
+ ContainerNode::firstElementChild() to retrieve and cache the document
+ element.
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the
+ root ContainerNode.
+ (WebCore::HTMLConstructionSite::detach): Clear the reference to the
+ root ContainerNode.
+ (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
+ Attach the new element to the root ContainerNode.
+ (WebCore::HTMLConstructionSite::insertDoctype): Ditto.
+ (WebCore::HTMLConstructionSite::insertCommentOnDocument): Ditto.
+ * html/parser/HTMLConstructionSite.h: Store a pointer to a
+ ContainerNode that will be used as the root node for document parsing.
+ This node might or might not be the same as m_document.
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the
+ HTMLConstructionSite with the correct root ContainerNode based on
+ whether or not we're parsing a fragment.
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
+ Remove m_dummyDocumentForFragmentParsing.
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): If the
+ fragment has a context element, store only the children of the root
+ element (HTML5 Section 10.4, Step 7).
+ * html/parser/HTMLTreeBuilder.h:
+
+2011-02-10 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes
+ in WebProcess at com.apple.AppKit:
+ -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
+
+2011-02-09 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ IndexedDB event targets need to ensure their wrappers aren't garbage collected
+ https://bugs.webkit.org/show_bug.cgi?id=54144
+
+ hasActivityPending should return true as long as it's possible that we'll
+ fire more event listeners on our event targets. It is still possible for
+ user generated events to run into problems, but I'm not sure how to address
+ that yet (or how big of a deal it is).
+
+ There's really no way to test this deterministically. Testing by hand makes
+ it seem like this patch works as expected though.
+
+ * storage/IDBCursorBackendImpl.cpp:
+ * storage/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::IDBDatabase):
+ (WebCore::IDBDatabase::~IDBDatabase):
+ (WebCore::IDBDatabase::hasPendingActivity):
+ (WebCore::IDBDatabase::stop):
+ * storage/IDBDatabase.h:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::hasPendingActivity):
+ (WebCore::IDBRequest::dispatchEvent):
+ (WebCore::IDBRequest::enqueueEvent):
+ * storage/IDBRequest.h:
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::finished):
+ (WebCore::IDBTransaction::hasPendingActivity):
+ (WebCore::IDBTransaction::dispatchEvent):
+ (WebCore::IDBTransaction::canSuspend):
+ (WebCore::IDBTransaction::contextDestroyed):
+ (WebCore::IDBTransaction::enqueueEvent):
+ * storage/IDBTransaction.h:
+
+2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] create pkg-config files for mingw
+ https://bugs.webkit.org/show_bug.cgi?id=54238
+
+ (mingw is mostly the same as unix)
+
+ This change was applied in the Qt repository (qt/src/3rdparty/webkit),
+ so we should do the same here in QtWebKit.
+
+ Patch by Mark Brand <mabrand@mabrand.nl>, reviewed (there) by
+ Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
+ 45fe2dddc3a0677b9ec9fce09f07cd4129e37afa
+
+ * WebCore.pro:
+
+2011-02-10 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform
+ https://bugs.webkit.org/show_bug.cgi?id=54246
+
+ * rendering/style/RenderStyle.h:
+
+2011-02-10 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ SVG animation avoid unnecessary adjust for currentColor
+ https://bugs.webkit.org/show_bug.cgi?id=54243
+
+ At the moment we try to adjust every animation value for currentColor - independent of the animation type.
+ Since the value is a string and the target element may needs to get called by getElementById, this could
+ be an expensive and unnecessary operation. Also after we adjust for currentColor, we save the result back
+ as a string and parse it to Color afterwards again.
+ With the patch we just adjust an animation value, if we use color animation. The color won't get saved and
+ parsed as a string again.
+
+ No change of functionality, no new tests.
+
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::adjustForCurrentColor):
+ (WebCore::SVGAnimateElement::calculateFromAndToValues):
+ (WebCore::SVGAnimateElement::calculateFromAndByValues):
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
+ (WebCore::SVGAnimationElement::startedActiveInterval):
+
+2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Remove the use of deprecated qFindChildren()
+ https://bugs.webkit.org/show_bug.cgi?id=54232
+
+ This was applied on the Qt repository and affects QtWebKit there.
+ (13833beb641289c45faed337848d37280195aadc)
+
+ The side effect of this change is that we won't be able to build
+ QtWebKit with MSVC 6, as it doesn't support member template functions
+ (not sure if that's possible today anyway).
+
+ Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
+ review reported as being from the mailing list.
+
+ The changes are result of the following commands:
+
+ git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(this,* */f\\1(/'" qFindChild
+ git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(&\([^\(),]*\),* */\\2.f\\1(/'" qFindChild
+ git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*()\),* */\\2->f\\1(/'" qFindChild
+ git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\):\([^\(),]*\),* */(\\2:\\3)->f\\1(/'" qFindChild
+ git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\),* */\\2->f\\1(/'" qFindChild
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon):
+
+2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Rename build target from "embedded" to "qpa"
+ https://bugs.webkit.org/show_bug.cgi?id=54233
+
+ This flag is used by Qt's configure script to enable a QPA build
+ ("QPA is a window system agnostic implementation of Qt" --
+ previously known as lighthouse).
+
+ On the Qt repository, this was changed by two commits:
+
+ 13a0b4935900093607f2b3b7688e1452d22770fd
+ (from embedded to embedded_lite)
+
+ 9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab
+ (from embedded_lite to qpa)
+
+ * WebCore.pro:
+
+2011-02-10 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Incorporate algorithm for processing paths into GPU-renderable triangle meshes
+ https://bugs.webkit.org/show_bug.cgi?id=45521
+
+ Adding an implementation of Loop and Blinn's GPU accelerated path
+ rendering algorithm from GPU Gems 3. This implementation pays
+ particular attention to the efficiency of the curve subdivision
+ phase needed for correct rendering. It utilizes the OpenGL utility
+ library tessellator for triangulation of the interior of the
+ shape. The regions handled by Loop and Blinn's algorithm are
+ handled by the local triangulator previously incorporated.
+
+ No tests yet; pixel tests will eventually be used to verify this
+ algorithm and prevent regressions.
+
+ * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Added.
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::Segment):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::setup):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::kind):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::getPoint):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::next):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::prev):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::setNext):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::setPrev):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::contour):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::subdivide):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::boundingBox):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::numCrossingsForXRay):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfTriangles):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::getTriangle):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfInteriorVertices):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::getInteriorVertex):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::markedForSubdivision):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::setMarkedForSubdivision):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::toString):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::computeBoundingBox):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::Contour):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::add):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::subdivide):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::begin):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::end):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::isOrientedCounterClockwise):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::setIsOrientedCounterClockwise):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::boundingBox):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::fillSide):
+ (WebCore::LoopBlinnPathProcessorImplementation::Contour::setFillSide):
+ (WebCore::LoopBlinnPathProcessorImplementation::Segment::triangulate):
+ (WebCore::LoopBlinnPathProcessor::LoopBlinnPathProcessor):
+ (WebCore::LoopBlinnPathProcessor::~LoopBlinnPathProcessor):
+ (WebCore::LoopBlinnPathProcessor::process):
+ (WebCore::LoopBlinnPathProcessor::buildContours):
+ (WebCore::LoopBlinnPathProcessor::allSegmentsOverlappingY):
+ (WebCore::LoopBlinnPathProcessor::determineSidesToFill):
+ (WebCore::LoopBlinnPathProcessor::determineOrientation):
+ (WebCore::SweepData::SweepEvent::SweepEvent):
+ (WebCore::SweepData::SweepEvent::setup):
+ (WebCore::SweepData::SweepEvent::x):
+ (WebCore::SweepData::SweepEvent::entry):
+ (WebCore::SweepData::SweepEvent::interval):
+ (WebCore::SweepData::SweepEvent::operator<):
+ (WebCore::SweepData::trianglesOverlap):
+ (WebCore::LoopBlinnPathProcessor::subdivideCurves):
+ (WebCore::LoopBlinnPathProcessor::conditionallySubdivide):
+ (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow):
+ (WebCore::TessellationState::vertexCallback):
+ (WebCore::TessellationState::combineCallback):
+ (WebCore::TessellationState::edgeFlagCallback):
+ (WebCore::LoopBlinnPathProcessor::tessellateInterior):
+ * platform/graphics/gpu/LoopBlinnPathProcessor.h: Added.
+
+2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Remove the use of deprecated qVariant*
+ https://bugs.webkit.org/show_bug.cgi?id=54229
+
+ This was applied on the Qt repository and affects QtWebKit there.
+ (633f3f45e5420663cf4ceadea79e62fea44cd2eb)
+
+ The side effect of this change is that we won't be able to build
+ QtWebKit with MSVC 6, as it doesn't support member template functions
+ (not sure if it's possible today anyway).
+
+ Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
+ review reported as being from the mailing list.
+
+ The changes are result of the following commands:
+
+ git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue
+ git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue
+ git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue
+ git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
+ git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
+ git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivateQt::commitLoad):
+
+2011-02-10 Nico Weber <thakis@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]"
+ https://bugs.webkit.org/show_bug.cgi?id=54221
+
+ The method name conflicts with ContainerNode::getRect() so rename it to
+ computeRect(). Rename getPath() to computePath() for consistency as
+ well.
+
+ No intended functionality change, covered by existing tests.
+
+ * accessibility/AccessibilityImageMapLink.cpp:
+ (WebCore::AccessibilityImageMapLink::elementRect):
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::computePath):
+ (WebCore::HTMLAreaElement::computeRect):
+ * html/HTMLAreaElement.h:
+ * page/SpatialNavigation.cpp:
+ (WebCore::virtualRectForAreaElementAndDirection):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintFocusRing):
+
+2011-02-10 Alexis Menard <alexis.menard@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Default focus ring is too wide
+ https://bugs.webkit.org/show_bug.cgi?id=51854
+
+ We now respect the outline property and html.css defines the outline of the focus
+ ring to be 5px. This is propagated until GraphicsContext::drawFocusRing which uses
+ it as the pen size. We should ignore the size and keep a default one. I also
+ reverted the SolidLine to DotLine so that the selection looks nicer. Chromium Skia,
+ CG Win, Haiku, WinCE ports also ignore the width.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::drawFocusRingForPath):
+ (WebCore::GraphicsContext::drawFocusRing):
+
+2011-02-10 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Soup] ResourceHandleSoup does not ever call didSendData for file uploads
+ https://bugs.webkit.org/show_bug.cgi?id=52090
+
+ Call didSendData as body data is uploaded to the server. This is necessary
+ for XHR upload events to function properly.
+
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal): Add two new members.
+ One to track the total amount of body data and one to track the total amount of
+ body data sent so far.
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::wroteBodyDataCallback): Added.
+ (WebCore::addFormElementsToSoupMessage): Split this out into a helper function.
+ Will now now sum the total amount of body data.
+ (WebCore::startHttp): Attach a wrote-body-data signal handler.
+
+2011-02-10 Bill Budge <bbudge@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add fields to ResourceRequest and ResourceResponse in preparation for adding CORS support to AssociatedURLLoader.
+ https://bugs.webkit.org/show_bug.cgi?id=53925
+
+ * platform/network/chromium/ResourceRequest.cpp:
+ (WebCore::ResourceRequest::doPlatformCopyData):
+ (WebCore::ResourceRequest::doPlatformAdopt):
+ * platform/network/chromium/ResourceRequest.h:
+ (WebCore::ResourceRequest::ResourceRequest):
+ (WebCore::ResourceRequest::downloadToFile):
+ (WebCore::ResourceRequest::setDownloadToFile):
+ * platform/network/chromium/ResourceResponse.cpp:
+ (WebCore::ResourceResponse::doPlatformCopyData):
+ (WebCore::ResourceResponse::doPlatformAdopt):
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::downloadFilePath):
+ (WebCore::ResourceResponse::setDownloadFilePath):
+
+2011-02-10 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVGAnimateElement needs information about the animated attribute type
+ https://bugs.webkit.org/show_bug.cgi?id=53442
+
+ For animations, we need to know the SVG property type for a XML attribute. A global static mapping between
+ attribute name and a type is not possible, since one attribute name can be bound to different property types:
+ x can be a SVGNumberList, a SVGNumber or a SVGLength. So we have to ask every target element, if it supports
+ the animated attribute and of which type it is. Just for CSS properties we can share an explicit mapping between
+ the name and the type. This is done in a static map in SVGStyledElement. All other mappings are stored in local static
+ HashMaps for all SVG elements with animated properties. These maps get filled once with the fillAttributeToPropertyTypeMap function
+ that needs to be included in every SVG element. The function is not virtual in base classes for performance reasons.
+
+ No change of functionality, so no new test cases.
+
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::attributeToPropertyTypeMap):
+ (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGAElement.h:
+ * svg/SVGAltGlyphElement.cpp:
+ (WebCore::SVGAltGlyphElement::attributeToPropertyTypeMap):
+ (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGAltGlyphElement.h:
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::determinePropertyType):
+ * svg/SVGCircleElement.cpp:
+ (WebCore::SVGCircleElement::attributeToPropertyTypeMap):
+ (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGCircleElement.h:
+ * svg/SVGClipPathElement.cpp:
+ (WebCore::SVGClipPathElement::attributeToPropertyTypeMap):
+ (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGClipPathElement.h:
+ * svg/SVGComponentTransferFunctionElement.cpp:
+ (WebCore::SVGComponentTransferFunctionElement::attributeToPropertyTypeMap):
+ (WebCore::SVGComponentTransferFunctionElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGComponentTransferFunctionElement.h:
+ * svg/SVGCursorElement.cpp:
+ (WebCore::SVGCursorElement::attributeToPropertyTypeMap):
+ (WebCore::SVGCursorElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGCursorElement.h:
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::attributeToPropertyTypeMap):
+ (WebCore::SVGElement::animatedPropertyTypeForAttribute):
+ * svg/SVGElement.h:
+ (WebCore::SVGElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGEllipseElement.cpp:
+ (WebCore::SVGEllipseElement::attributeToPropertyTypeMap):
+ (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGEllipseElement.h:
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEBlendElement.h:
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEColorMatrixElement.h:
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEComponentTransferElement.h:
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFECompositeElement.h:
+ * svg/SVGFEConvolveMatrixElement.cpp:
+ (WebCore::SVGFEConvolveMatrixElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEConvolveMatrixElement.h:
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEDiffuseLightingElement.h:
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEDisplacementMapElement.h:
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEGaussianBlurElement.h:
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEImageElement.h:
+ * svg/SVGFELightElement.cpp:
+ (WebCore::SVGFELightElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFELightElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFELightElement.h:
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEMergeElement.h:
+ * svg/SVGFEMergeNodeElement.cpp:
+ (WebCore::SVGFEMergeNodeElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEMergeNodeElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEMergeNodeElement.h:
+ * svg/SVGFEMorphologyElement.cpp:
+ (WebCore::SVGFEMorphologyElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEMorphologyElement.h:
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFEOffsetElement.h:
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFESpecularLightingElement.h:
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFETileElement.h:
+ * svg/SVGFETurbulenceElement.cpp:
+ (WebCore::SVGFETurbulenceElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFETurbulenceElement.h:
+ * svg/SVGFilterElement.cpp:
+ (WebCore::SVGFilterElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFilterElement.h:
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::fillAttributeToPropertyTypeMap):
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ * svg/SVGFontElement.cpp:
+ (WebCore::SVGFontElement::attributeToPropertyTypeMap):
+ (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGFontElement.h:
+ (WebCore::SVGFontElement::rendererIsNeeded):
+ * svg/SVGForeignObjectElement.cpp:
+ (WebCore::SVGForeignObjectElement::attributeToPropertyTypeMap):
+ (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGForeignObjectElement.h:
+ * svg/SVGGlyphElement.cpp:
+ (WebCore::SVGGlyphElement::attributeToPropertyTypeMap):
+ (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGGlyphElement.h:
+ * svg/SVGGradientElement.cpp:
+ (WebCore::SVGGradientElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGGradientElement.h:
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::attributeToPropertyTypeMap):
+ (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGImageElement.h:
+ * svg/SVGLineElement.cpp:
+ (WebCore::SVGLineElement::attributeToPropertyTypeMap):
+ (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGLineElement.h:
+ * svg/SVGLinearGradientElement.cpp:
+ (WebCore::SVGLinearGradientElement::attributeToPropertyTypeMap):
+ (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGLinearGradientElement.h:
+ * svg/SVGMPathElement.cpp:
+ (WebCore::SVGMPathElement::attributeToPropertyTypeMap):
+ (WebCore::SVGMPathElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGMPathElement.h:
+ * svg/SVGMarkerElement.cpp:
+ (WebCore::SVGMarkerElement::attributeToPropertyTypeMap):
+ (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGMarkerElement.h:
+ * svg/SVGMaskElement.cpp:
+ (WebCore::SVGMaskElement::attributeToPropertyTypeMap):
+ (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGMaskElement.h:
+ * svg/SVGMissingGlyphElement.cpp:
+ (WebCore::SVGMissingGlyphElement::attributeToPropertyTypeMap):
+ (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGMissingGlyphElement.h:
+ * svg/SVGPathElement.cpp:
+ (WebCore::SVGPathElement::attributeToPropertyTypeMap):
+ (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGPathElement.h:
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::attributeToPropertyTypeMap):
+ (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGPatternElement.h:
+ * svg/SVGPolyElement.cpp:
+ (WebCore::SVGPolyElement::attributeToPropertyTypeMap):
+ (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGPolyElement.h:
+ * svg/SVGRadialGradientElement.cpp:
+ (WebCore::SVGRadialGradientElement::attributeToPropertyTypeMap):
+ (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGRadialGradientElement.h:
+ * svg/SVGRectElement.cpp:
+ (WebCore::SVGRectElement::attributeToPropertyTypeMap):
+ (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGRectElement.h:
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::attributeToPropertyTypeMap):
+ (WebCore::SVGSVGElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGSVGElement.h:
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::attributeToPropertyTypeMap):
+ (WebCore::SVGScriptElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGScriptElement.h:
+ * svg/SVGStopElement.cpp:
+ (WebCore::SVGStopElement::attributeToPropertyTypeMap):
+ (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGStopElement.h:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::cssPropertyToTypeMap):
+ (WebCore::SVGStyledElement::animatedPropertyTypeForCSSProperty):
+ (WebCore::SVGStyledElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGStyledElement.h:
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGStyledTransformableElement.h:
+ * svg/SVGSwitchElement.cpp:
+ (WebCore::SVGSwitchElement::attributeToPropertyTypeMap):
+ (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGSwitchElement.h:
+ * svg/SVGSymbolElement.cpp:
+ (WebCore::SVGSymbolElement::attributeToPropertyTypeMap):
+ (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGSymbolElement.h:
+ * svg/SVGTRefElement.cpp:
+ (WebCore::SVGTRefElement::attributeToPropertyTypeMap):
+ (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTRefElement.h:
+ * svg/SVGTSpanElement.cpp:
+ (WebCore::SVGTSpanElement::attributeToPropertyTypeMap):
+ (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTSpanElement.h:
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTextContentElement.h:
+ * svg/SVGTextElement.cpp:
+ (WebCore::SVGTextElement::attributeToPropertyTypeMap):
+ (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTextElement.h:
+ * svg/SVGTextPathElement.cpp:
+ (WebCore::SVGTextPathElement::attributeToPropertyTypeMap):
+ (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTextPathElement.h:
+ * svg/SVGTextPositioningElement.cpp:
+ (WebCore::SVGTextPositioningElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTextPositioningElement.h:
+ * svg/SVGTitleElement.cpp:
+ (WebCore::SVGTitleElement::attributeToPropertyTypeMap):
+ (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGTitleElement.h:
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::attributeToPropertyTypeMap):
+ (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGUseElement.h:
+ * svg/SVGViewElement.cpp:
+ (WebCore::SVGViewElement::attributeToPropertyTypeMap):
+ (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
+ * svg/SVGViewElement.h:
+
+2011-02-10 Alexis Menard <alexis.menard@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Fix a Warning after removing FileSystem support for the inspector.
+
+ * WebCore.pro:
+
+2011-02-10 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ AX: AX needs to stop using WebCoreViewFactory
+ https://bugs.webkit.org/show_bug.cgi?id=54153
+
+ WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
+ to get off of it and use WebCoreSystemInterface, like other clients.
+
+ * WebCore.exp.in:
+ * accessibility/AXObjectCache.h:
+ * accessibility/mac/AXObjectCacheMac.mm:
+ (WebCore::AXObjectCache::handleFocusedUIElementChanged):
+ * accessibility/mac/AccessibilityObjectWrapper.h:
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
+ (CFAutoreleaseHelper):
+ (AXObjectIsTextMarker):
+ (AXObjectIsTextMarkerRange):
+ (AXTextMarkerRange):
+ (AXTextMarkerRangeStart):
+ (AXTextMarkerRangeEnd):
+ (textMarkerForVisiblePosition):
+ (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
+ (visiblePositionForTextMarker):
+ (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
+ (visiblePositionForStartOfTextMarkerRange):
+ (visiblePositionForEndOfTextMarkerRange):
+ (textMarkerRangeFromMarkers):
+ (AXAttributeStringSetElement):
+ (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
+ (textMarkerRangeFromVisiblePositions):
+ (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
+ (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
+ (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
+ (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
+ * editing/mac/SelectionControllerMac.mm:
+ (WebCore::accessibilityConvertScreenRect):
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2011-02-10 Alexis Menard <alexis.menard@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] In trunk with Qt Multimedia the full screen mode doesn't work.
+ https://bugs.webkit.org/show_bug.cgi?id=54201
+
+ Add files for the fullscreen video playback handling. It also fix
+ a missing header.
+
+ * WebCore.pro:
+
+2011-02-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Remove FileSystem support from the inspector.
+ https://bugs.webkit.org/show_bug.cgi?id=50695
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/Inspector.idl:
+ * inspector/InspectorApplicationCacheAgent.cpp:
+ (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
+ (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
+ * inspector/InspectorApplicationCacheAgent.h:
+ * inspector/InspectorFileSystemAgent.cpp: Removed.
+ * inspector/InspectorFileSystemAgent.h: Removed.
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
+ (WebCore::InspectorInstrumentation::willSendRequestImpl):
+ (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
+ (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
+ (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
+ (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
+ (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
+ (WebCore::InspectorInstrumentation::didFailLoadingImpl):
+ (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
+ (WebCore::InspectorInstrumentation::scriptImportedImpl):
+ (WebCore::InspectorInstrumentation::networkStateChangedImpl):
+ (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
+ (WebCore::InspectorInstrumentation::retrieveResourceAgent):
+ * inspector/front-end/FileSystemView.js: Removed.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2011-02-10 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r78219.
+ http://trac.webkit.org/changeset/78219
+ https://bugs.webkit.org/show_bug.cgi?id=54215
+
+ breaks editing/style/iframe-onload-crash.html on GTK 64-bit
+ Debug (Requested by philn-tp on #webkit).
+
+ * dom/Document.h:
+ * dom/DocumentFragment.h:
+ * dom/Element.h:
+ * dom/Node.h:
+ * dom/Text.h:
+ * editing/htmlediting.cpp:
+ (WebCore::editingIgnoresContent):
+ (WebCore::canHaveChildrenForEditing):
+ * editing/htmlediting.h:
+ * html/HTMLBRElement.h:
+ * html/HTMLButtonElement.h:
+ * html/HTMLDataGridElement.h:
+ * html/HTMLFormControlElement.h:
+ * html/HTMLFrameElementBase.h:
+ * html/HTMLHRElement.h:
+ * html/HTMLImageElement.h:
+ * html/HTMLMeterElement.h:
+ * html/HTMLOutputElement.h:
+ * html/HTMLPlugInElement.h:
+ * html/HTMLProgressElement.h:
+ * wml/WMLBRElement.h:
+ * wml/WMLDoElement.h:
+ * wml/WMLImageElement.h:
+ * wml/WMLInputElement.h:
+ * wml/WMLSelectElement.h:
+
+2011-02-10 Andras Becsi <abecsi@webkit.org>
+
+ Rubber-stamped by Csaba Osztrogonác.
+
+ [Qt][V8] Fix the build.
+
+ No new tests needed.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header.
+ * loader/cache/CachedScript.h: do not use extra qualification for base class enum.
+
+2011-02-10 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [STYLES] Suggest CSS property values once Up/Down is pressed with an empty input
+ https://bugs.webkit.org/show_bug.cgi?id=54205
+
+ * inspector/front-end/CSSCompletions.js:
+ (WebInspector.CSSCompletions):
+ (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
+ * inspector/front-end/CSSKeywordCompletions.js:
+ (WebInspector.CSSKeywordCompletions.forProperty):
+ * inspector/front-end/StylesSidebarPane.js:
+ ():
+ * inspector/front-end/TextPrompt.js:
+ (WebInspector.TextPrompt.prototype.complete):
+
+2011-02-10 Renata Hodovan <reni@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change.
+ https://bugs.webkit.org/show_bug.cgi?id=54186
+
+ The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
+
+ Tests: svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html
+ svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html
+ svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html
+ svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html
+ svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html
+ svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html
+ svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html
+ svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html
+
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
+ * svg/SVGFESpecularLightingElement.h:
+
+2011-02-10 Andrey Adaikin <aandrey@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Error messages are not displayed for the last line in a script
+ https://bugs.webkit.org/show_bug.cgi?id=54204
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.addMessage):
+ (WebInspector.SourceFrame.prototype._addMessageToSource):
+ (WebInspector.SourceFrame.prototype._createConditionElement):
+
+2011-02-10 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make canHaveChildrenForEditing more efficient
+ https://bugs.webkit.org/show_bug.cgi?id=53564
+
+ Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
+ canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
+ node for a position.
+
+ As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
+ and any elements except:
+
+ HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input,
+ meter, object, output, progress, and select.
+
+ WML: br, do, img, input, and select.
+
+ No new tests are added since this change cannot be tested directly.
+
+ * dom/Document.h:
+ (WebCore::Document::canContainRangeEndPoint): Added; returns false.
+ * dom/DocumentFragment.h:
+ (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
+ * dom/Element.h:
+ (WebCore::Element::canContainRangeEndPoint): Ditto.
+ * dom/Node.h:
+ (WebCore::Node::canContainRangeEndPoint): Added; returns false.
+ * dom/Text.h:
+ (WebCore::Text::canContainRangeEndPoint): Added; returns true.
+ * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
+ * editing/htmlediting.h:
+ (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
+ (WebCore::canHaveChildrenForEditing): Ditto.
+ * html/HTMLBRElement.h:
+ (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
+ * html/HTMLButtonElement.h:
+ (WebCore::HTMLButtonElement::canContainRangeEndPoint): Ditto.
+ * html/HTMLDataGridElement.h:
+ (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
+ * html/HTMLFrameElementBase.h:
+ (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
+ * html/HTMLHRElement.h:
+ (WebCore::HTMLHRElement::canContainRangeEndPoint): Ditto.
+ * html/HTMLImageElement.h:
+ (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
+ * html/HTMLMeterElement.h:
+ (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
+ * html/HTMLOutputElement.h:
+ (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
+ * html/HTMLPlugInElement.h:
+ (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
+ * html/HTMLProgressElement.h:
+ (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
+ * wml/WMLBRElement.h:
+ (WebCore::WMLBRElement::canContainRangeEndPoint): Ditto.
+ * wml/WMLDoElement.h:
+ (WebCore::WMLDoElement::canContainRangeEndPoint): Ditto.
+ * wml/WMLImageElement.h:
+ (WebCore::WMLImageElement::canContainRangeEndPoint): Ditto.
+ * wml/WMLInputElement.h:
+ (WebCore::WMLInputElement::canContainRangeEndPoint): Ditto.
+ * wml/WMLSelectElement.h:
+ (WebCore::WMLSelectElement::canContainRangeEndPoint): Ditto.
+
+2011-02-10 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: define interface per domain in Inspector.idl.
+ https://bugs.webkit.org/show_bug.cgi?id=54135
+
+ * inspector/CodeGeneratorInspector.pm:
+ * inspector/Inspector.idl:
+
+2011-02-10 Andrey Adaikin <aandrey@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [regression] Fix syncing heights of the gutter and main panel lines, and add 2px padding-left
+ https://bugs.webkit.org/show_bug.cgi?id=54098
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer):
+ (WebInspector.TextViewer.prototype._updatePanelOffsets):
+ (WebInspector.TextViewer.prototype._syncScroll):
+ (WebInspector.TextViewer.prototype._syncDecorationsForLine):
+ (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
+ (WebInspector.TextEditorChunkedPanel.prototype.resize):
+ (WebInspector.TextEditorGutterPanel):
+ (WebInspector.TextEditorGutterChunk.prototype.set expanded):
+ (WebInspector.TextEditorGutterChunk.prototype.get height):
+ (WebInspector.TextEditorMainChunk.prototype.get height):
+ * inspector/front-end/textViewer.css:
+ (.webkit-line-content):
+
+2011-02-10 takano takumi <takano@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ A full-width character rotated leftward 90 degrees in text-combine
+ https://bugs.webkit.org/show_bug.cgi?id=54169
+
+ * rendering/RenderCombineText.cpp:
+ (WebCore::RenderCombineText::combineText):
+ - Fixed by resetting font's orientation to horizontal when we decided to make combined text.
+ Otherwise the text will be unexpectedly rotated in showGlyphsWithAdvances() in FontMac.mm.
+
+2011-02-10 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50306
+ <rdar://problem/8976152> REGRESSION: WebChromeClient::shouldReplaceWithGeneratedFileForUpload()
+ uses an initialized result value (breaks form submission with clang-built WebKit)
+
+ No new test, because I can't reproduce the observable effect with my gcc build.
+
+ * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an
+ empty path check - an empty path was causing an exception in Foundation.
+
+2011-02-09 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Network & Resource panels make multiple requests for images with no content
+ https://bugs.webkit.org/show_bug.cgi?id=54085
+
+ - Added success parameter to resourceContent
+ - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors
+
+ * inspector/Inspector.idl:
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::resourceData):
+ (WebCore::InspectorResourceAgent::resourceContent):
+ * inspector/InspectorResourceAgent.h:
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkManager.prototype.requestContent):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.requestContent):
+ (WebInspector.Resource.prototype._contentURL):
+
+2011-02-10 Renata Hodovan <reni@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ Move the light source implementations into their own files.
+ https://bugs.webkit.org/show_bug.cgi?id=53996
+
+ Splitting LightSource.cpp into 3 files.
+
+ No new tests are added since this is a refactoring.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/DistantLightSource.cpp: Added.
+ (WebCore::DistantLightSource::initPaintingData):
+ (WebCore::DistantLightSource::updatePaintingData):
+ (WebCore::DistantLightSource::setAzimuth):
+ (WebCore::DistantLightSource::setElevation):
+ (WebCore::DistantLightSource::externalRepresentation):
+ * platform/graphics/filters/LightSource.cpp:
+ * platform/graphics/filters/PointLightSource.cpp: Added.
+ (WebCore::PointLightSource::initPaintingData):
+ (WebCore::PointLightSource::updatePaintingData):
+ (WebCore::PointLightSource::setX):
+ (WebCore::PointLightSource::setY):
+ (WebCore::PointLightSource::setZ):
+ (WebCore::operator<<):
+ (WebCore::PointLightSource::externalRepresentation):
+ * platform/graphics/filters/SpotLightSource.cpp: Added.
+ (WebCore::SpotLightSource::initPaintingData):
+ (WebCore::SpotLightSource::updatePaintingData):
+ (WebCore::SpotLightSource::setX):
+ (WebCore::SpotLightSource::setY):
+ (WebCore::SpotLightSource::setZ):
+ (WebCore::SpotLightSource::setPointsAtX):
+ (WebCore::SpotLightSource::setPointsAtY):
+ (WebCore::SpotLightSource::setPointsAtZ):
+ (WebCore::SpotLightSource::setSpecularExponent):
+ (WebCore::SpotLightSource::setLimitingConeAngle):
+ (WebCore::operator<<):
+ (WebCore::SpotLightSource::externalRepresentation):
+
+2011-02-10 Avi Drissman <avi@google.com>
+
+ Reviewed by Darin Fisher.
+
+ <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654.
+ https://bugs.webkit.org/show_bug.cgi?id=50969
+
+ Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::updateFromElement):
+ * platform/chromium/PopupMenuChromium.h:
+
+2011-02-10 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Update the semantics of put()
+ https://bugs.webkit.org/show_bug.cgi?id=54102
+
+ Update the semantics of put: For object stores with auto increment,
+ it should be allowed to provide an explicit key, or an in-line key,
+ overriding the key generator mechanism.
+
+ This reflects the spec changes suggested here:
+ http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976
+
+ Extracting key-selection logic into its own function
+ to make it a bit easier on the eyes.
+
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
+ (WebCore::IDBObjectStoreBackendImpl::putInternal):
+ * storage/IDBObjectStoreBackendImpl.h:
+ (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache):
+
+2011-02-09 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54103
+ Implement fast path for matching simple selectors
+
+ Implement a fast path for single and descendant selectors consisting
+ of id, class and tag selectors only.
+
+ Selectors like this are marked on style selector initialization. When
+ encountered during style matching they are resolved using a fast path.
+
+ Since selectors like this are very common this speeds up style matching
+ quite a bit (up to 50% on some sites according to Shark).
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::RuleData::hasFastCheckableSelector):
+ (WebCore::RuleData::hasMultipartSelector):
+ (WebCore::RuleData::hasTopSelectorMatchingHTMLBasedOnRuleHash):
+ (WebCore::CSSStyleSelector::matchRulesForList):
+ (WebCore::CSSStyleSelector::checkSelector):
+ (WebCore::selectorTagMatches):
+ (WebCore::isFastCheckableSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
+ (WebCore::RuleData::RuleData):
+ * css/CSSStyleSelector.h:
+
+2011-02-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION (r77101) box-shadow sometimes renders incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=54160
+
+ Fix an issue when ShadowBlur had a cached image buffer
+ that was larger than that of the current shadow being drawn,
+ and the current shadow was partially clipped out.
+
+ In that situation endShadowLayer() would clip to the image
+ buffer, using the size of the buffer (as it must), but failed
+ to take into account the fact that we'd only cleared and painted
+ into a smaller section of the buffer. So we need to additionally
+ constrain the clip to cover only the valid part of the buffer.
+
+ Test: fast/box-shadow/shadow-buffer-partial.html
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::endShadowLayer):
+
+2011-02-09 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for <rdar://problem/8977051> CrashTracer: 8 crashes
+ in WebProcess at com.apple.WebCore:
+ -[ScrollbarPartAnimation setCurrentProgress:] + 364
+
+ The ScrollbarPartAnimation must be sent by reference!
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
+
+2011-02-09 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange
+ https://bugs.webkit.org/show_bug.cgi?id=54053
+
+ The bug was caused by RenderBlock::positionForPoint's improperly returning a shadow node inside
+ RenderFileUploadControl for hit testing and VisibleSelection::toNormalizedRange's always assuming
+ the position variable "s" is not null.
+
+ Fixed the bug by always returning a null position from RenderFileUploadControl::positionForPoint,
+ and also exiting early when either "s" or "e" is null in VisibleSelection::toNormalizedRange.
+
+ Test: fast/forms/file-input-hit-test.html
+
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::toNormalizedRange):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::positionForPoint):
+ * rendering/RenderFileUploadControl.h:
+
+2011-02-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Overlay scrollbars crash used with a RenderListBox.
+
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::layout):
+ (WebCore::RenderListBox::contentsSize):
+ (WebCore::RenderListBox::currentMousePosition):
+ (WebCore::RenderListBox::setHasVerticalScrollbar):
+ * rendering/RenderListBox.h:
+ Implement enough of the ScrollableArea interface to get things generally
+ working.
+
+2011-02-09 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for <rdar://problem/8966868> ScrollbarPainterDelegate
+ must return a layer if layer-backed to avoid crashing
+
+ New virtual function scrollbarWillRenderIntoCompositingLayer()
+ on ScrollableArea.
+ * page/FrameView.h:
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::scrollbarWillRenderIntoCompositingLayer):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::scrollbarWillRenderIntoCompositingLayer):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::scrollbarWillRenderIntoCompositingLayer):
+ * rendering/RenderListBox.h:
+
+ Clean up unnecessary method declarations and call
+ scrollbarWillRenderIntoCompositingLayer() to deterine if
+ we need to return a layer.
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterDelegate layer]):
+
+2011-02-09 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Replace static_cast<HTMLElement*> with toHTMLElement
+ https://bugs.webkit.org/show_bug.cgi?id=54117
+
+ No new tests since no new functionality was introduced.
+
+ * accessibility/AccessibilityListBox.cpp:
+ (WebCore::AccessibilityListBox::addChildren):
+ * accessibility/AccessibilityMenuListPopup.cpp:
+ (WebCore::AccessibilityMenuListPopup::addChildren):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::accessibleNameForNode):
+ (WebCore::AccessibilityRenderObject::accessibilityDescription):
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_name):
+ (webkit_accessible_get_description):
+ * bindings/gobject/WebKitDOMBinding.cpp:
+ (WebKit::createWrapper):
+ (WebKit::kit):
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ (WebCore::JSHTMLFrameSetElement::nameGetter):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapperInline):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::toV8):
+ * dom/Document.cpp:
+ (WebCore::Document::body):
+ * dom/Element.cpp:
+ (WebCore::Element::deprecatedCreateContextualFragment):
+ * dom/Range.cpp:
+ (WebCore::Range::createContextualFragment):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyBlockStyle):
+ (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
+ (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
+ (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
+ (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
+ (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
+ (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
+ (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
+ (WebCore::ApplyStyleCommand::removeInlineStyle):
+ (WebCore::ApplyStyleCommand::shouldSplitTextElement):
+ (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
+ * editing/DeleteButtonController.cpp:
+ (WebCore::enclosingDeletableElement):
+ (WebCore::DeleteButtonController::show):
+ * editing/Editor.cpp:
+ (WebCore::Editor::setBaseWritingDirection):
+ * editing/InsertListCommand.cpp:
+ (WebCore::InsertListCommand::mergeWithNeighboringLists):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
+ (WebCore::ReplaceSelectionCommand::handleStyleSpans):
+ (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
+ * editing/SelectionController.cpp:
+ (WebCore::scanForForm):
+ (WebCore::SelectionController::currentForm):
+ * editing/htmlediting.cpp:
+ (WebCore::enclosingList):
+ (WebCore::enclosingListChild):
+ (WebCore::embeddedSublist):
+ (WebCore::appendedSublist):
+ * editing/markup.cpp:
+ (WebCore::StyledMarkupAccumulator::appendElement):
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::checkForNameMatch):
+ (WebCore::HTMLCollection::updateNameCache):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::setOuterHTML):
+ (WebCore::HTMLElement::shadowAncestorOwnerForm):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::formElementIndex):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::setOption):
+ (WebCore::HTMLSelectElement::setLength):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::getOuterHTML):
+ (WebCore::InspectorDOMAgent::setOuterHTML):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ * rendering/RenderMeter.cpp:
+ (WebCore::RenderMeter::createPart):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::createSubtreeIfNeeded):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
+
+2011-02-09 Mike Reed <reed@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Use Skia's device->readPixels() when its bitmap claims to have no pixels, as this
+ handles the case when the device is backed by the GPU.
+ Patch developed by bsalomon@google.com
+
+ No new tests. Existing canvas tests suffice
+ e.g. LayoutTests/canvas/philip/...
+
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::getImageData):
+ (WebCore::ImageBuffer::getUnmultipliedImageData):
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ (WebCore::putImageData):
+ (WebCore::ImageBuffer::putUnmultipliedImageData):
+ (WebCore::ImageBuffer::putPremultipliedImageData):
+
+2011-02-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ document.close shouldn't affect non-script-created parsers
+ https://bugs.webkit.org/show_bug.cgi?id=53689
+
+ Tests: fast/frames/document-write-in-iframe-onload-3.html
+ fast/parser/iframe-onload-document-close-with-external-script-2.html
+ fast/parser/iframe-onload-document-close-with-external-script-3.html
+ fast/parser/iframe-onload-document-close-with-external-script.html
+ fast/parser/setTimeout-open.html
+
+ Move our implementation of document.close closer to the spec by
+ introducing the notion of a script-created parser. This area of our
+ code is somewhat hairy. It might take a few more iterations before we
+ fully come up to spec.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setContent):
+ (WebCore::Document::open):
+ (WebCore::Document::cancelParsing):
+ (WebCore::Document::close):
+ - Over time, this method should converge to the spec.
+ (WebCore::Document::explicitClose):
+ - I'm not in love with this name. Somehow we want to differentiate
+ between Document closing itself and the document.close DOM
+ method.
+ (WebCore::Document::removePendingSheet):
+ * dom/Document.h:
+ * dom/ScriptableDocumentParser.cpp:
+ (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
+ * dom/ScriptableDocumentParser.h:
+ (WebCore::ScriptableDocumentParser::setWasCreatedByScript):
+ (WebCore::ScriptableDocumentParser::wasCreatedByScript):
+ - General nonsense to keep track of whether the parser was created
+ by script.
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::hasInsertionPoint):
+ - I'm not sure whether this part of the change is 100% correct. I
+ think our notion of the EOF character might be subtly different
+ from the notion in the spec.
+ * html/parser/HTMLInputStream.h:
+ (WebCore::HTMLInputStream::hasInsertionPoint):
+ - Remove FIXME because we're fixing that!
+
+2011-02-09 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by James Robinson.
+
+ [Chromium] Issue 72387: Integer bounds crash in LayerTilerChromium::resizeLayer
+ https://bugs.webkit.org/show_bug.cgi?id=54132
+
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::resizeLayer):
+
+2011-02-09 Xiyuan Xia <xiyuan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Use #f7f7f7 for select popup background on chromium/linux
+ https://bugs.webkit.org/show_bug.cgi?id=54115
+
+ No new tests since no behavior change.
+
+ * css/themeChromiumLinux.css:
+ (select[size="1"] option):
+
+2011-02-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION(HTML 5): HTMLDocumentParser does not report html parse errors to the console
+ https://bugs.webkit.org/show_bug.cgi?id=41187
+
+ Wire up a basic HTML parse error message. There's a lot of room for
+ improvement in this area, but this is a start.
+
+ No tests! See https://bugs.webkit.org/show_bug.cgi?id=54134
+
+ * html/parser/HTMLDocumentParser.h:
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::parseError):
+ * html/parser/HTMLTreeBuilder.h:
+
+2011-02-09 Naoki Takano <takano.naoki@gmail.com>
+
+ Reviewed by Kenneth Russell.
+
+ [Chromium] Issue 58536: Fix Layout Test canvas/philip/tests/2d.imageData.put.alpha.html with --accelerated-2d-canvas.
+ https://bugs.webkit.org/show_bug.cgi?id=53757
+
+ This fix is for 2d.imageData.put.alpha.html with --accelerated-2d-canvas. No new tests.
+
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::putUnmultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
+ (WebCore::ImageBuffer::putPremultipliedImageData): needs to call syncSoftwareCanvas() to sync between hardware and software.
+
+
+2011-02-09 Chris Rogers <crogers@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Fix scaling and thread safety of FFTFrameFFTW
+ https://bugs.webkit.org/show_bug.cgi?id=54045
+
+ No new tests since audio API is not yet implemented.
+
+ * platform/audio/FFTFrame.h:
+ * platform/audio/fftw/FFTFrameFFTW.cpp:
+ (WebCore::FFTFrame::FFTFrame):
+ (WebCore::FFTFrame::doFFT):
+ (WebCore::FFTFrame::doInverseFFT):
+ (WebCore::FFTFrame::initialize):
+ (WebCore::FFTFrame::cleanup):
+ (WebCore::FFTFrame::realData):
+ (WebCore::FFTFrame::imagData):
+ (WebCore::FFTFrame::fftwPlanForSize):
+ * platform/audio/mac/FFTFrameMac.cpp:
+ (WebCore::FFTFrame::initialize):
+ * platform/audio/mkl/FFTFrameMKL.cpp:
+ (WebCore::FFTFrame::initialize):
+ * webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::AudioContext):
+
+2011-02-09 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: accessibilityShouldUseUniqueId doesn't need to be in the core AX object
+ https://bugs.webkit.org/show_bug.cgi?id=54126
+
+ This is a Mac-only accessibility API concept and doesn't belong in the core AX object.
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::node):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
+
+2011-02-09 Nebojsa Ciric <cira@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Implements Locale object of JavaScript internationalization API proposal, as an
+ v8 extension. Extension code is hosted in v8 project (src/extensions/experimental/i18n-extension.{cc,h})
+ and in this patch we just provide flags, tests and build rules for chromium port.
+ https://bugs.webkit.org/show_bug.cgi?id=49414
+
+ Test: fast/js/i18n-bindings-locale.html
+
+ * WebCore.gyp/WebCore.gyp:
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore::RuntimeEnabledFeatures::experimentalI18NAPIEnabled):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setExperimentalI18NAPIEnabled):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::createNewContext):
+
+2011-02-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r71934): Shadow DOM nodes leak via relatedTarget
+ https://bugs.webkit.org/show_bug.cgi?id=52065
+
+ * dom/Node.cpp:
+ (WebCore::pullOutOfShadow): Added a helper to move a node to the outermost
+ boundary of shadow DOM.
+ (WebCore::Node::dispatchMouseEvent): Changed to use pullOutOfShadow.
+
+2011-02-09 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Add convenience method toHTMLElement(Node*)
+ https://bugs.webkit.org/show_bug.cgi?id=54105
+
+ No new tests since no new functionality introduced.
+
+ * html/HTMLElement.h:
+ (WebCore::toHTMLElement):
+
+2011-02-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fixed positioned elements at very top or bottom of page remain fixed but clip during rubber-banding
+ <rdar://problem/7615997>
+ https://bugs.webkit.org/show_bug.cgi?id=54054
+
+ Take the overhang into account when calculating position for elements with position: fixed.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollXForFixedPosition):
+ (WebCore::ScrollView::scrollYForFixedPosition):
+ (WebCore::ScrollView::scrollOffsetForFixedPosition):
+ * platform/ScrollView.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::mapLocalToContainer):
+ (WebCore::RenderView::mapAbsoluteToLocalPoint):
+ (WebCore::RenderView::computeRectForRepaint):
+
+2011-02-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dirk Schulze.
+
+ Enhance ShadowBlur to tile inset box shadows
+ https://bugs.webkit.org/show_bug.cgi?id=51567
+
+ Add a tiling code path to ShadowBlur for rendering inset
+ box-shadows.
+
+ Test: fast/box-shadow/inset-box-shadows.html
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::computeSliceSizesFromRadii): Compute the slice sizes
+ for the eight-piece shadow template.
+ (WebCore::ShadowBlur::templateSize): Compute the size of the template,
+ given the slice sizes.
+ (WebCore::ShadowBlur::drawRectShadow): Bail early if layerRect is empty
+ (which probably means we're clipped out). Call templateSize() and use
+ the result to decide whether to tile.
+ (WebCore::ShadowBlur::drawInsetShadow): New method for inset shadows.
+ (WebCore::ShadowBlur::drawRectShadowWithoutTiling): Code moved.
+ (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): The non-tiling code
+ path for inset shadows.
+ (WebCore::ShadowBlur::drawInsetShadowWithTiling): Fill the shadow template
+ buffer, paint the non-blurred area of the destination, and then call drawLayerPieces()
+ to paint the eight-piece template image.
+ (WebCore::ShadowBlur::drawRectShadowWithTiling): Refactored code, now
+ shares the blurring code via blurAndColorShadowBuffer(), and the tiled template
+ drawing via drawLayerPieces().
+ (WebCore::ShadowBlur::drawLayerPieces): Draw an eight-piece image from the
+ shadow template to the destination.
+ (WebCore::ShadowBlur::blurAndColorShadowBuffer): Blur the pixels in the image
+ buffer, and colorize them using the CompositeSourceIn operation.
+ * platform/graphics/ShadowBlur.h:
+
+2011-02-09 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Disable script elements when a CSP header is present
+ https://bugs.webkit.org/show_bug.cgi?id=53867
+
+ Tests: http/tests/security/contentSecurityPolicy/no-policy.html
+ http/tests/security/contentSecurityPolicy/script-src-in-iframe.html
+ http/tests/security/contentSecurityPolicy/script-src-none.html
+ http/tests/security/contentSecurityPolicy/script-src-redirect.html
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
+ * html/parser/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::requestPendingScript):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::didBeginDocument):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
+ (WebCore::ContentSecurityPolicy::didReceiveHeader):
+ (WebCore::ContentSecurityPolicy::canLoadExternalScriptFromSrc):
+ * page/ContentSecurityPolicy.h:
+
+2011-02-09 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r78047.
+
+ ContextMenu.cpp and ContextMenuItem.cpp have a USE(CROSS_PLATFORM_CONTEXT_MENUS),
+ so they shouldn't cause problems with correct preprocessor defines.
+
+ * CMakeLists.txt:
+
+2011-02-09 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: InspectorAgent should know nothing about InspectorController instance.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54100
+
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::disconnectFrontend):
+ (WebCore::InspectorController::restoreInspectorStateFromCookie):
+
+2011-02-09 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: source frame scroll position is not restored.
+ https://bugs.webkit.org/show_bug.cgi?id=54101
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.show):
+ (WebInspector.SourceFrame.prototype.hide):
+ (WebInspector.SourceFrame.prototype.get scrollTop):
+ (WebInspector.SourceFrame.prototype.set scrollTop):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype.get scrollTop):
+ (WebInspector.TextViewer.prototype.set scrollTop):
+ (WebInspector.TextViewer.prototype.get scrollLeft):
+ (WebInspector.TextViewer.prototype.set scrollLeft):
+
+2011-02-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: follow up on InspectorAgent split -
+ removing unnecessary methods from InspectorController.
+ https://bugs.webkit.org/show_bug.cgi?id=54093
+
+ * WebCore.exp.in:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::stopUserInitiatedProfiling):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enabled):
+ (WebCore::InspectorAgent::showConsole):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::didClearWindowObjectInWorld):
+ (WebCore::InspectorController::showConsole):
+ (WebCore::InspectorController::enabled):
+ (WebCore::InspectorController::inspectedPage):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontendClientLocal.cpp:
+
+2011-02-07 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ LayoutTests/animations/play-state.html has wrong behavior with accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=53513
+
+ The PlatformCAAnimation::create() function which took a pointer to another
+ PlatformCAAnimation was supposed to make a copy of that passed object.
+ But it was doing completely the wrong thing on Mac and was leaking an object
+ to boot. And the notion of copying an object using a static creation function
+ is wrong in the first place. So I changed it to a member copy() function
+ which would create a new PlatformCAAnimation which was a copy of 'this' and
+ return it. I changed the implementation on both Mac and Win to match.
+
+ This problem was not caught by DRT, even there is a specific test for it.
+ That test just verifies that the higher level logic is working
+ properly, which it is. There's no practical way to find out if the
+ layer is currently animating. There is no logic which probes that
+ deeply into the layer mechanics.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ * platform/graphics/ca/PlatformCAAnimation.h:
+ * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
+ * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
+
+2011-02-09 Lucas De Marchi <lucas.demarchi@profusion.mobi>
+
+ Unreviewed build fix.
+
+ [EFL] Remove double definition of ContextMenu.
+ https://bugs.webkit.org/show_bug.cgi?id=50762
+
+ When building with SHARED_CORE enabled, the symbols of ContextMenu
+ were both in webkit and webcore. This removes them from webcore and
+ shall be put back once the CROSS_PLATFORM_CONTEXT_MENUS is implemented
+ in EFL port.
+
+ No new tests because no new functionality.
+
+ * CMakeLists.txt:
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Windows Production build fix
+
+ * WebCore.vcproj/QTMovieWinCommon.vsprops: Link against
+ WebKitSystemInterface$(WebKitConfigSuffix).lib, not just WebKitSystemInterface.lib, so we
+ pick up the _debug variant when appropriate.
+
+2011-02-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Hostnames should cannonicalize to lowercase (to match every other browser)
+ https://bugs.webkit.org/show_bug.cgi?id=54084
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::parse):
+
+2011-02-09 Peter Varga <pvarga@webkit.org>
+
+
+ Reviewed by Gavin Barraclough.
+
+ Replace PCRE with Yarr in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=53496
+
+ No new tests needed.
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * ForwardingHeaders/pcre/pcre.h: Removed.
+ * ForwardingHeaders/yarr/Yarr.h: Added.
+ * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
+ * ForwardingHeaders/yarr/YarrPattern.h: Added.
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/copyForwardingHeaders.cmd:
+ * platform/text/RegularExpression.cpp:
+ (WebCore::RegularExpression::Private::create):
+ (WebCore::RegularExpression::Private::Private):
+ (WebCore::RegularExpression::Private::compile):
+ (WebCore::RegularExpression::match):
+
+2011-02-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Reviewed by Eric Seidel.
+
+ [EFL] Add dummy functions for HTML5 Video's control UI
+ https://bugs.webkit.org/show_bug.cgi?id=53906
+
+ In WebKit EFL, there are no implementations for HTML5 control UI.
+ First, dummy functions are added.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
+ (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
+ (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
+ (WebCore::RenderThemeEfl::paintMediaMuteButton):
+ (WebCore::RenderThemeEfl::paintMediaPlayButton):
+ (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
+ (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeEfl::paintMediaSliderTrack):
+ (WebCore::RenderThemeEfl::paintMediaSliderThumb):
+ (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
+ (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
+ (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
+ (WebCore::RenderThemeEfl::paintMediaCurrentTime):
+ * platform/efl/RenderThemeEfl.h:
+
+2011-02-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make WebKit's fragment cannonicalization match other browsers
+ https://bugs.webkit.org/show_bug.cgi?id=53850
+
+ This doesn't make us match perfectly, but it brings us closer.
+
+ * platform/KURL.cpp:
+ (WebCore::appendEscapingBadChars):
+ (WebCore::escapeAndAppendFragment):
+ (WebCore::KURL::parse):
+
+2011-02-09 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Cursors should skip deleted entries
+ https://bugs.webkit.org/show_bug.cgi?id=53690
+
+ Add test to check that the cursor skips deleted entries.
+
+ Test: storage/indexeddb/cursor-skip-deleted.html
+
+ * storage/IDBCursorBackendImpl.cpp:
+ (WebCore::IDBCursorBackendImpl::currentRowExists):
+ (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
+ * storage/IDBCursorBackendImpl.h:
+
+2011-02-08 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: script formatter should not create a worker for each script.
+ https://bugs.webkit.org/show_bug.cgi?id=54010
+
+ * inspector/front-end/ScriptFormatter.js:
+ (WebInspector.ScriptFormatter):
+ (WebInspector.ScriptFormatter.prototype._formatScript):
+ (WebInspector.ScriptFormatter.prototype._handleMessage):
+ (WebInspector.ScriptFormatter.prototype._handleError):
+
+2011-02-08 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: sync uglifyjs parser files.
+ https://bugs.webkit.org/show_bug.cgi?id=54003
+
+ * inspector/front-end/UglifyJS/parse-js.js:
+ * inspector/front-end/UglifyJS/process.js:
+
+2011-02-08 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(71556,68059): queryCommandValue screws up background color at collapsed cursor
+ https://bugs.webkit.org/show_bug.cgi?id=53196
+
+ The bug was caused by Editor::selectionComputedStyle's modifying typing style without making a copy,
+ and its removing non-inheritable properties from the typing style. Fixed the bug by making a copy
+ before making the modification and not removing non-inheritable properties.
+
+ Also fixed a bug in selectionStartCSSPropertyValue that it doesn't handle xx-small to -webkit-xxx-large
+ by extracting a function from StyleChange::extractTextStyles and calling it in both extractTextStyles
+ and selectionStartCSSPropertyValue.
+
+ Test: editing/style/query-typing-style.html
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::legacyFontSizeFromCSSValue): Extracted from StyleChange::extractTextStyles.
+ (WebCore::StyleChange::extractTextStyles): Calls legacyFontSizeFromCSSValue; this fixes the bug that
+ CSS values from xx-small through -webkit-xxx-large are not accounted.
+ * editing/ApplyStyleCommand.h:
+ * editing/Editor.cpp:
+ (WebCore::Editor::selectionStartCSSPropertyValue): Calls legacyFontSizeFromCSSValue.
+ (WebCore::Editor::selectionComputedStyle): Makes a copy before modifying typing style.
+ No longer calls removeNonEditingProperties on the copied typing style so that background-color property
+ is included when merged into the style.
+
+2011-02-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ REGRESSION (r76831): Subframes are printed blank
+ <rdar://problem/8945867>
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintOverhangAreas):
+ Don't paint overhangs when printing.
+
+2011-02-07 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Events should propagate through IDBDatabase (for IDBRequest and IDBTransaction)
+ https://bugs.webkit.org/show_bug.cgi?id=53975
+
+ The third change in the series of overhauling IndexedDB's event model to match
+ the spec (at least the version in our heads and bugs).
+
+ Test: storage/indexeddb/transaction-event-propagation.html
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ * dom/Event.cpp:
+ (WebCore::Event::isIDBAbortEvent):
+ (WebCore::Event::isIDBCompleteEvent):
+ * dom/Event.h:
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toIDBDatabase):
+ * dom/EventTarget.h:
+ * storage/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::create):
+ (WebCore::IDBDatabase::IDBDatabase):
+ (WebCore::IDBDatabase::scriptExecutionContext):
+ (WebCore::IDBDatabase::eventTargetData):
+ (WebCore::IDBDatabase::ensureEventTargetData):
+ * storage/IDBDatabase.h:
+ (WebCore::IDBDatabase::toIDBDatabase):
+ (WebCore::IDBDatabase::refEventTarget):
+ (WebCore::IDBDatabase::derefEventTarget):
+ * storage/IDBDatabase.idl:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::onSuccess):
+ (WebCore::IDBRequest::dispatchEvent):
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::backend):
+ (WebCore::IDBTransaction::db):
+ (WebCore::IDBTransaction::objectStore):
+ (WebCore::IDBTransaction::scriptExecutionContext):
+ (WebCore::IDBTransaction::dispatchEvent):
+ (WebCore::IDBTransaction::enqueueEvent):
+ * storage/IDBTransaction.h:
+ (WebCore::IDBTransaction::dispatchEvent):
+
+2011-02-08 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Add cache for GPU-accelerated path processing results
+ https://bugs.webkit.org/show_bug.cgi?id=45519
+
+ Adding a cache which holds the results of processing a path into
+ interior and exterior triangle meshes, according to the path
+ rendering algorithm from GPU Gems 3. No tests yet; will be tested
+ in conjunction with later code.
+
+ * platform/graphics/gpu/LoopBlinnPathCache.cpp: Added.
+ (WebCore::LoopBlinnPathCache::LoopBlinnPathCache):
+ (WebCore::LoopBlinnPathCache::~LoopBlinnPathCache):
+ (WebCore::LoopBlinnPathCache::addVertex):
+ (WebCore::LoopBlinnPathCache::clear):
+ (WebCore::LoopBlinnPathCache::addInteriorVertex):
+ (WebCore::LoopBlinnPathCache::numberOfInteriorEdgeVertices):
+ (WebCore::LoopBlinnPathCache::interiorEdgeVertices):
+ (WebCore::LoopBlinnPathCache::addInteriorEdgeVertex):
+ * platform/graphics/gpu/LoopBlinnPathCache.h: Added.
+ (WebCore::LoopBlinnPathCache::numberOfVertices):
+ (WebCore::LoopBlinnPathCache::vertices):
+ (WebCore::LoopBlinnPathCache::texcoords):
+ (WebCore::LoopBlinnPathCache::numberOfInteriorVertices):
+ (WebCore::LoopBlinnPathCache::interiorVertices):
+
+2011-02-08 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Rename GraphicsContext3D::WebGLEnumType
+ https://bugs.webkit.org/show_bug.cgi?id=45708
+
+ * html/canvas/WebGLProgram.cpp:
+ (WebCore::WebGLProgram::getAttachedShader):
+ * html/canvas/WebGLProgram.h:
+ * platform/graphics/GraphicsContext3D.h:
+
+2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77980.
+ http://trac.webkit.org/changeset/77980
+ https://bugs.webkit.org/show_bug.cgi?id=54043
+
+ "Crashes on Windows and Linux..." (Requested by leviw on
+ #webkit).
+
+ * WebCore.exp.in:
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::startOfStyleRange):
+ (WebCore::endOfStyleRange):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (objectAndOffsetUnignored):
+ * dom/Position.cpp:
+ (WebCore::Position::upstream):
+ (WebCore::Position::downstream):
+ * dom/Range.cpp:
+ (WebCore::Range::editingStartPosition):
+ * editing/Editor.cpp:
+ (WebCore::Editor::canDeleteRange):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
+ (WebCore::SelectionController::setSelectedRange):
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed):
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::VisiblePosition):
+ (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
+ (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
+ (WebCore::VisiblePosition::canonicalPosition):
+ (WebCore::VisiblePosition::characterAfter):
+ (WebCore::VisiblePosition::localCaretRect):
+ (WebCore::makeRange):
+ (WebCore::startVisiblePosition):
+ (WebCore::endVisiblePosition):
+ (WebCore::setStart):
+ (WebCore::setEnd):
+ (WebCore::isFirstVisiblePositionInNode):
+ (WebCore::isLastVisiblePositionInNode):
+ * editing/VisiblePosition.h:
+ * editing/htmlediting.cpp:
+ (WebCore::firstInSpecialElement):
+ (WebCore::lastInSpecialElement):
+ (WebCore::visiblePositionBeforeNode):
+ (WebCore::visiblePositionAfterNode):
+ * editing/visible_units.cpp:
+ (WebCore::startPositionForLine):
+ (WebCore::endPositionForLine):
+ (WebCore::previousLinePosition):
+ (WebCore::nextLinePosition):
+ (WebCore::startOfParagraph):
+ (WebCore::endOfParagraph):
+ (WebCore::endOfBlock):
+ (WebCore::startOfDocument):
+ (WebCore::endOfDocument):
+ (WebCore::logicalStartPositionForLine):
+ (WebCore::logicalEndPositionForLine):
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::collapse):
+ (WebCore::DOMSelection::setBaseAndExtent):
+ (WebCore::DOMSelection::setPosition):
+ (WebCore::DOMSelection::extend):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createVisiblePosition):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::visiblePositionForIndex):
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::selectSubString):
+
+2011-02-08 Jia Pu <jpu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ VisibleSelection::setWithoutValidation() should allow caret selection.
+ https://bugs.webkit.org/show_bug.cgi?id=53943
+
+ Test: editing/undo/undo-paste-when-caret-is-not-in-range.html
+
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::setWithoutValidation):
+
+2011-02-08 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Remove the last remnants of the Mozilla theme drawing code
+ https://bugs.webkit.org/show_bug.cgi?id=54035
+
+ Remove all Mozilla theme drawing code.
+
+ No new tests. This change only removes dead code.
+
+ * GNUmakefile.am: Remove Mozilla files from the source list.
+ * platform/gtk/RenderThemeGtk.h: Remove Mozilla-theme-drawing-related methods
+ and add m_colormap to hold the current colormap of the widgets.
+ * platform/gtk/RenderThemeGtk2.cpp: Remove Mozilla code.
+ (WebCore::RenderThemeGtk::platformInit): Ditto.
+ (WebCore::RenderThemeGtk::~RenderThemeGtk): Ditto.
+ (WebCore::RenderThemeGtk::gtkContainer): Ditto.
+ * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto.
+ * platform/gtk/WidgetRenderingContext.cpp: Ditto.
+ (WebCore::WidgetRenderingContext::WidgetRenderingContext): Ditto.
+ * platform/gtk/WidgetRenderingContext.h: Ditto.
+ * platform/gtk/gtk2drawing.c: Removed.
+ * platform/gtk/gtkdrawing.h: Removed.
+
+2011-02-08 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ Crash when logging into gmail.com with frame flattening turned on.
+ https://bugs.webkit.org/show_bug.cgi?id=52449
+
+ Frame flattening algorithm requires that layout always starts from the main frame, since layout of
+ subframes impacts the layout of their parents.
+ There are places in the code that call view->layout() not on the main frame.
+ Instead of changing all the callsites, I changed FrameView::layout()
+ to force layout from the main frame if frame flattening is enabled.
+ In addition, postLayoutTasks can trigger relayout, so make it use the timer even more.
+ Move the call to SelectionController::updateAppearance() to performPostLayoutTasks(),
+ because calling the from layout() leads to a crash in pages that have a selection in an iframe.
+
+ Tests: fast/frames/flattening/iframe-flattening-crash.html
+ fast/frames/flattening/iframe-flattening-selection-crash.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::performPostLayoutTasks):
+
+2011-02-08 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8913952> REGRESSION (r76301): 'plaintext-only' must be
+ a supported contentEditable mode.
+ https://bugs.webkit.org/show_bug.cgi?id=54041
+
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::setContentEditable): Setting the contentEditable
+ attribute to 'plaintext-only' should not throw an exception.
+
+2011-02-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ RenderRubyRun::m_beingDestroyed is redundant
+ https://bugs.webkit.org/show_bug.cgi?id=54042
+
+ * rendering/RenderRubyRun.cpp:
+ (WebCore::RenderRubyRun::RenderRubyRun): Removed intialization of m_beingDestroyed.
+ (WebCore::RenderRubyRun::removeChild): Use the base class beingDestroyed().
+ * rendering/RenderRubyRun.h:
+
+2011-02-08 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Stop instantiating legacy editing Positions in VisiblePosition
+ https://bugs.webkit.org/show_bug.cgi?id=52919
+
+ Changing VisiblePosition completely away from legacy positions.
+
+ No new tests since this is functionaly equivalent.
+
+ * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
+ adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
+ outside of WebCore, they should be parent anchored.
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::startOfStyleRange):
+ (WebCore::endOfStyleRange):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (objectAndOffsetUnignored):
+ * dom/Position.cpp:
+ (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
+ (WebCore::Position::downstream): ditto
+ * dom/Range.cpp:
+ (WebCore::Range::editingStartPosition):
+ * editing/Editor.cpp:
+ (WebCore::Editor::canDeleteRange):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
+ (WebCore::SelectionController::setSelectedRange):
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed):
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
+ (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
+ (WebCore::VisiblePosition::canonicalPosition):
+ (WebCore::VisiblePosition::characterAfter):
+ (WebCore::VisiblePosition::localCaretRect):
+ (WebCore::makeRange):
+ (WebCore::startVisiblePosition):
+ (WebCore::endVisiblePosition):
+ (WebCore::setStart):
+ (WebCore::setEnd):
+ (WebCore::isFirstVisiblePositionInNode):
+ (WebCore::isLastVisiblePositionInNode):
+ * editing/VisiblePosition.h:
+ (WebCore::VisiblePosition::VisiblePosition):
+ * editing/htmlediting.cpp:
+ (WebCore::firstInSpecialElement):
+ (WebCore::lastInSpecialElement):
+ (WebCore::visiblePositionBeforeNode):
+ (WebCore::visiblePositionAfterNode):
+ * editing/visible_units.cpp:
+ (WebCore::startPositionForLine):
+ (WebCore::endPositionForLine):
+ (WebCore::previousLinePosition):
+ (WebCore::nextLinePosition):
+ (WebCore::startOfParagraph):
+ (WebCore::endOfParagraph):
+ (WebCore::endOfBlock):
+ (WebCore::startOfDocument):
+ (WebCore::endOfDocument):
+ (WebCore::logicalStartPositionForLine):
+ (WebCore::logicalEndPositionForLine):
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::collapse):
+ (WebCore::DOMSelection::setBaseAndExtent):
+ (WebCore::DOMSelection::setPosition):
+ (WebCore::DOMSelection::extend):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createVisiblePosition):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::visiblePositionForIndex):
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::selectSubString):
+
+2011-02-08 Michael Saboff <msaboff@apple.com>
+
+ JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=53716
+
+ Changed ASSERT to be an if for the case where the RuntimeObject was
+ GC'ed before RootObject::invalidate is called. In that case there is
+ no need to remove the RuntimeObject from the RootObject. The isValid()
+ call will be false in this case, but the RuntimeObject has already
+ been removed from the RootObject. Added similar defensive code
+ in RootObject::removeRuntimeObject().
+
+ * bridge/jsc/BridgeJSC.cpp:
+ (JSC::Bindings::Instance::willDestroyRuntimeObject):
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+
+2011-02-08 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/8953365> CrashTracer: 14
+ crashes in WebProcess at com.apple.WebCore:
+ -[ScrollKnobAnimation setCurrentProgress:] + 258
+
+ This crash seems to happen when the animation is running
+ and a window is closed. If the ScrollAnimator is destroyed,
+ delegate calls for the animation can still run, so we have
+ to make sure we inform the delegates when the ScrollAnimator
+ is gone, and then we have to null-check it before we do
+ anything with it.
+
+ Remove scrollbarPainterDelegate() since it's not used anymore.
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+
+ Add null-checks for _animator
+ (-[ScrollbarPartAnimation setCurrentProgress:]):
+ (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
+
+ New function to inform the delegates that the ScrollAnimator
+ is being destroyed.
+ (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
+ (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
+
+2011-02-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove orphan code from old parser
+ https://bugs.webkit.org/show_bug.cgi?id=53984
+
+ This code appears to be unused.
+
+ * html/HTMLParserErrorCodes.cpp:
+ * html/HTMLParserErrorCodes.h:
+ * html/HTMLParserQuirks.h:
+ * loader/EmptyClients.h:
+ * page/ChromeClient.h:
+
+2011-02-08 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Move scrollbar rendering out of gtk2drawing.c
+ https://bugs.webkit.org/show_bug.cgi?id=52836
+
+ Replace gtk2drawing.c scrollbar rendering with our own version. This
+ is the last use of the Mozilla theme drawing code.
+
+ No new tests. This should not change the rendering of the default
+ theme.
+
+ * platform/gtk/GtkVersioning.h: Add some more backported allocation setters.
+ * platform/gtk/RenderThemeGtk.h: Add a getter for the scrollbar widgets.
+ * platform/gtk/RenderThemeGtk2.cpp: Initialize and add getters for scrollbar widgets.
+ (WebCore::RenderThemeGtk::platformInit): Ditto.
+ (WebCore::RenderThemeGtk::gtkHScrollbar): Ditto.
+ (WebCore::RenderThemeGtk::gtkVScrollbar): Ditto.
+ * platform/gtk/ScrollbarThemeGtk.cpp:
+ (WebCore::ScrollbarThemeGtk::paint): We only repaint the scrolled
+ window background if we are repainting a button or the thumb. In that
+ case also repaint the track rect.
+ * platform/gtk/ScrollbarThemeGtk2.cpp: Port to WidgetRenderingContext.
+ (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Ditto.
+ (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
+ (WebCore::getWidgetForScrollbar): Ditto.
+ (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
+ (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
+ (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
+ (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
+ * platform/gtk/WidgetRenderingContext.cpp: Ditto.
+ (WebCore::WidgetRenderingContext::gtkPaintBox): Added an option which
+ also adjusts a widget allocation according to the paint rect. This is
+ necessary to properly draw scrollbar buttons.
+ * platform/gtk/WidgetRenderingContext.h: Ditto.
+
+2011-02-08 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Inset shadow with large offset renders incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=53882
+
+ Fix an issue with inset shadows, when the shadow offset
+ was larger than the box size. In this case we'd fail to
+ fill the box with the shadow color.
+
+ Test: fast/box-shadow/inset-shadow-large-offset.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::areaCastingShadowInHole): Return a rect that covers the area
+ which contributes to the inset shadow.
+
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Use areaCastingShadowInHole()
+ to compute the outerRect.
+
+2011-02-08 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ drawElements should check if a buffer is bound to ELEMENT_ARRAY_BUFFER
+ https://bugs.webkit.org/show_bug.cgi?id=54017
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::drawElements):
+
+2011-01-28 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Change the rest of HTMLMediaElement shadow DOM parts to use shadowPseudoId.
+ https://bugs.webkit.org/show_bug.cgi?id=53190
+
+ This is the second part of refactoring the HTMLMediaElement to use new
+ shadow DOM. The changes are mainly mechanical, except for needing to
+ add a new method to RenderTheme, which indicates whether or not status
+ display is being used by it. Previously, we relied on existence of a cached
+ pseudo style.
+
+ Refactoring, covered by existing tests.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId): Removed now-unused enum values.
+ (WebCore::nameToPseudoTypeMap): Ditto.
+ (WebCore::CSSSelector::extractPseudoType): Ditto.
+ * css/CSSSelector.h: Ditto.
+ * html/shadow/MediaControls.cpp:
+ (WebCore::MediaControls::createPanel): Changed to use the newly-added MediaControlPanelElement.
+ (WebCore::MediaControls::createCurrentTimeDisplay): Changed to use the newly-added
+ MediaControlCurrentTimeDisplayElement.
+ (WebCore::MediaControls::createTimeRemainingDisplay): Changed to use the newly-added
+ MediaControlTimeRemainingDisplayElement.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use the
+ standard style resolution.
+ (WebCore::MediaControlShadowRootElement::shadowPseudoId): Added.
+ (WebCore::MediaControlElement::MediaControlElement): Removed the switch statement
+ that is no longer necessary.
+ (WebCore::MediaControlElement::styleForElement): Changed to use the standard
+ style resolution.
+ (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added.
+ (WebCore::MediaControlPanelElement::create): Added.
+ (WebCore::MediaControlPanelElement::displayType): Added.
+ (WebCore::MediaControlPanelElement::shadowPseudoId): Added.
+ (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
+ Removed PseudoId constructor arg.
+ (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
+ Changed to use the newly-plumbed usesMediaControlStatusDisplay helper.
+ (WebCore::MediaControlTimelineContainerElement::displayType): Added.
+ (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
+ Removed PseudoId constructor arg.
+ (WebCore::MediaControlVolumeSliderContainerElement::displayType): Added.
+ (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Added.
+ (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
+ Removed PseudoId constructor arg.
+ (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Changed to
+ use the newly-plumbed usesMediaControlStatusDisplay helper.
+ (WebCore::MediaControlStatusDisplayElement::displayType): Added.
+ (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Added.
+ (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
+ Removed PseudoId constructor arg.
+ (WebCore::MediaControlTimeRemainingDisplayElement::create): Added.
+ (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Added.
+ (WebCore::MediaControlTimeRemainingDisplayElement::displayType): Added.
+ (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Added.
+ (WebCore::MediaControlCurrentTimeDisplayElement::create): Added.
+ (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Added.
+ (WebCore::MediaControlCurrentTimeDisplayElement::displayType): Added.
+ (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Added.
+ * rendering/MediaControlElements.h: Added/changed defs accordingly.
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::usesMediaControlStatusDisplay): Added.
+ * rendering/RenderThemeMac.h: Added def.
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::usesMediaControlStatusDisplay): Added.
+ * rendering/style/RenderStyleConstants.h: Removed now-unused enum values.
+
+2011-02-08 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix pop-up button text not rendered correctly according to its direction
+ in <option>.
+ https://bugs.webkit.org/show_bug.cgi?id=53642
+
+ In adjustInnerStyle(), if m_innerBlock's direction or unicode-bidi
+ changes, set it needs layout.
+
+ Test: fast/text/international/pop-up-button-text-alignment-and-direction.html
+
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::adjustInnerStyle):
+
+2011-02-08 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed build fix for Qt-minimal.
+
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::hasFrontend):
+
+2011-02-02 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53169
+
+ All the Inspector API for WebCore has two parts.
+ The first one is InspectorInstrumentation for WebCore.
+ The second is InspectorController for WebKit.
+ InspectorAgent was produced by renaming original InspectorController.
+ This patch extracts WebKit related methods from InspectorAgent to InspectorController.
+
+ * WebCore.exp.in:
+ * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
+ * html/HTMLDocument.cpp:
+ (WebCore::HTMLDocument::createParser):
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::~InspectorAgent):
+ (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
+ (WebCore::InspectorAgent::inspect):
+ (WebCore::InspectorAgent::handleMousePress):
+ (WebCore::InspectorAgent::didClearWindowObjectInWorld):
+ (WebCore::InspectorAgent::setFrontend):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::resourceAgent):
+ (WebCore::InspectorAgent::createFrontendLifetimeAgents):
+ (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
+ (WebCore::InspectorAgent::populateScriptObjects):
+ (WebCore::InspectorAgent::pushDataCollectedOffline):
+ (WebCore::InspectorAgent::restoreProfiler):
+ (WebCore::InspectorAgent::startTimelineProfiler):
+ (WebCore::PostWorkerNotificationToFrontendTask::performTask):
+ (WebCore::InspectorAgent::didOpenDatabase):
+ (WebCore::InspectorAgent::didUseDOMStorage):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::enabled):
+ * inspector/InspectorAgent.h:
+ (WebCore::InspectorAgent::frontend):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::~InspectorController):
+ (WebCore::InspectorController::setInspectorFrontendClient):
+ (WebCore::InspectorController::hasInspectorFrontendClient):
+ (WebCore::InspectorController::didClearWindowObjectInWorld):
+ (WebCore::InspectorController::startTimelineProfiler):
+ (WebCore::InspectorController::stopTimelineProfiler):
+ (WebCore::InspectorController::connectFrontend):
+ (WebCore::InspectorController::disconnectFrontend):
+ (WebCore::InspectorController::disconnectFrontendImpl):
+ (WebCore::InspectorController::show):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::restoreInspectorStateFromCookie):
+ (WebCore::InspectorController::evaluateForTestInFrontend):
+ (WebCore::InspectorController::drawNodeHighlight):
+ (WebCore::InspectorController::inspect):
+ (WebCore::InspectorController::enabled):
+ (WebCore::InspectorController::showPanel):
+ (WebCore::InspectorController::frontendLoaded):
+ (WebCore::InspectorController::timelineProfilerEnabled):
+ (WebCore::InspectorController::enableProfiler):
+ (WebCore::InspectorController::disableProfiler):
+ (WebCore::InspectorController::profilerEnabled):
+ (WebCore::InspectorController::debuggerEnabled):
+ (WebCore::InspectorController::showAndEnableDebugger):
+ (WebCore::InspectorController::disableDebugger):
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::stopUserInitiatedProfiling):
+ (WebCore::InspectorController::isRecordingUserInitiatedProfile):
+ (WebCore::InspectorController::setInspectorExtensionAPI):
+ (WebCore::InspectorController::resume):
+ (WebCore::InspectorController::hideHighlight):
+ (WebCore::InspectorController::dispatchMessageFromFrontend):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::inspectorClient):
+ (WebCore::InspectorController::inspectedPage):
+ (WebCore::InspectorController::hasFrontend):
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::setExtensionAPI):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
+ (WebCore::InspectorInstrumentation::profilerEnabledImpl):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::hasFrontend):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
+
+2011-02-08 George Wright <gwright@rim.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53949
+
+ Ensure that we pack the colour byte order correctly for Skia using
+ Skia's SkPackARGB32 function.
+
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::ImageFrame::setRGBA):
+
+2011-02-08 George Wright <gwright@rim.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53951
+
+ Ensure we do not pass (-1, -1) sized rects to ImageBuffer but instead
+ pass the full image dimensions.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::drawImageBuffer):
+
+2011-02-08 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ [WIN] Add missing includes and forward declarations for DownloadBundle
+ https://bugs.webkit.org/show_bug.cgi?id=53881
+
+ * platform/network/cf/DownloadBundle.h:
+ * platform/network/win/DownloadBundleWin.cpp:
+ (WebCore::DownloadBundle::appendResumeData):
+
+2011-02-08 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ [WIN] Add missing include in WKCAImageQueue
+ https://bugs.webkit.org/show_bug.cgi?id=53890
+
+ * platform/graphics/win/WKCAImageQueue.cpp:
+
+2011-02-08 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ [WIN] Add missing includes and forward declarations for CFNetwork
+ https://bugs.webkit.org/show_bug.cgi?id=53883
+
+ * platform/network/cf/DNSCFNet.cpp:
+ * platform/network/cf/LoaderRunLoopCF.cpp:
+ * platform/network/cf/LoaderRunLoopCF.h:
+ * platform/network/cf/ProxyServerCFNet.cpp:
+ * platform/network/cf/SocketStreamHandle.h:
+ * platform/network/cf/SocketStreamHandleCFNet.cpp:
+
+2011-02-08 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r77870.
+
+ * platform/DragImage.cpp: Enable createDragImageForLink for WinCE.
+
+2011-02-08 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: open network resource url in new tab upon double click.
+ https://bugs.webkit.org/show_bug.cgi?id=53930
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkDataGridNode.prototype.createCells):
+ (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
+
+2011-02-08 Yonathan Randolph <yonathan@gmail.com>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: $x: any node should work in optional context parameter.
+ https://bugs.webkit.org/show_bug.cgi?id=50138
+
+ * inspector/InjectedScriptSource.js:
+
+2011-02-08 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r77870.
+
+ Remove the global namespace prefix from GlobalLock/GlobalUnlock.
+
+ * platform/win/ClipboardUtilitiesWin.cpp:
+
+2011-02-08 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: re-apply r77924.
+
+ Test: inspector/console-api-on-call-frame.html
+
+ * inspector/InjectedScriptSource.js:
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
+
+2011-02-08 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ REGRESSION(r77312): Unbreak TiledBackingStore.
+
+ Due to an off-by-one error, we were no longer rendering the
+ rightmost column and bottom row of tiles.
+
+ Covered by tst_QGraphicsWebView::widgetsRenderingThroughCache().
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::invalidate):
+ (WebCore::TiledBackingStore::updateTileBuffers):
+ (WebCore::TiledBackingStore::paint):
+ (WebCore::TiledBackingStore::createTiles):
+
+2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77924.
+ http://trac.webkit.org/changeset/77924
+ https://bugs.webkit.org/show_bug.cgi?id=53997
+
+ Breaks inspector tests. (Requested by pfeldman on #webkit).
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+ ():
+
+2011-02-08 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [refacotring] merge InspectorAgent::willSendRequest() into InspectorResourceAgent
+ https://bugs.webkit.org/show_bug.cgi?id=53789
+ - perform UserAgent override via InspectorInstrumentation
+ - move adding extra request headers to InspectorResourceAgent
+ - simplified things in InspectorState
+
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::applyUserAgentOverride):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
+ (WebCore::InspectorInstrumentation::willSendRequestImpl):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::applyUserAgentOverride):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::setExtraHeaders):
+ (WebCore::InspectorResourceAgent::willSendRequest):
+ * inspector/InspectorResourceAgent.h:
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ (WebCore::InspectorState::restoreFromInspectorCookie):
+ (WebCore::InspectorState::updateCookie):
+ (WebCore::InspectorState::setValue):
+ (WebCore::InspectorState::getBoolean):
+ (WebCore::InspectorState::getString):
+ (WebCore::InspectorState::getLong):
+ (WebCore::InspectorState::getObject):
+ * inspector/InspectorState.h:
+ (WebCore::InspectorState::setObject):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::userAgent):
+
+2011-02-08 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: do not hide scope variables with command line api.
+ https://bugs.webkit.org/show_bug.cgi?id=53497
+
+ Test: inspector/console-api-on-call-frame.html
+
+ * inspector/InjectedScriptSource.js:
+
+2011-02-08 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: ignore cache upon reload via Ctrl(Cmd)+Shift+R.
+ https://bugs.webkit.org/show_bug.cgi?id=53914
+
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::reloadPage):
+ * inspector/InspectorAgent.h:
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel.prototype._reloadResources):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onReload):
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentKeyDown):
+
+2011-02-08 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Skip over sibling selectors when collecting descendant selector hashes
+ https://bugs.webkit.org/show_bug.cgi?id=53987
+
+ Skip instead of bailing out. This will allow optimizing some sibling selector cases.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::RuleData::RuleData):
+ (WebCore::RuleData::collectIdentifierHashes):
+ (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
+ * css/CSSStyleSelector.h:
+
+2011-02-07 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Jian Li.
+
+ Fix null deref in DOMURL
+ https://bugs.webkit.org/show_bug.cgi?id=53811
+
+ Test: fast/files/domurl-script-execution-context-crash.html
+
+ * html/DOMURL.cpp:
+ (WebCore::DOMURL::DOMURL):
+
+2011-02-07 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): Remove some extraneous characters.
+ (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): Ditto.
+
+2011-02-07 Xiyuan Xia <xiyuan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Select popup box does not align with select button when appearance is not "menulist".
+ https://bugs.webkit.org/show_bug.cgi?id=53942
+
+ Added manual test select_webkit_appearance_off_popup_alignment.html.
+
+ * manual-tests/select_webkit_appearance_off_popup_alignment.html: Added.
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::layout):
+
+2011-02-07 Aparna Nandyal <aparna.nand@wipro.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] - Context menu needs "Copy" as well when the selected text is a link.
+ https://bugs.webkit.org/show_bug.cgi?id=40983
+
+ Added copy option for Qt platform if selection is a link.
+ Added a test in tst_qwebpage.cpp.
+
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::populate):
+
+2011-02-07 Mike Reed <reed@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Add compile-time flag ENABLE(SKIA_GPU) to use Skia's gpu backend
+ when drawing <canvas>. Disabled by default.
+
+ No new tests. existing canvas layouttests apply
+
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::publishToPlatformLayer):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::GetGlobalGrContext):
+ (WebCore::PlatformContextSkia::isPrinting):
+ (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
+ (WebCore::PlatformContextSkia::syncSoftwareCanvas):
+
+2011-02-07 Jay Civelli <jcivelli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Removing unused code from PopupMenuChromium.
+ https://bugs.webkit.org/show_bug.cgi?id=53866
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::layout):
+ (WebCore::PopupMenuChromium::show):
+ * platform/chromium/PopupMenuChromium.h:
+
+2011-02-07 Kenichi Ishibashi <bashi@chromium.org>
+
+ Reviewed by Andreas Kling.
+
+ HTMLOutputElement::childrenChanged() should call its base class childrenChanged()
+ https://bugs.webkit.org/show_bug.cgi?id=53791
+
+ Calls HTMLFormControlElement::childrenChanged() in HTMLOutputElement::childrenChanged().
+
+ Test: fast/dom/HTMLOutputElement/htmloutputelement-children-removed.html
+
+ * html/HTMLOutputElement.cpp:
+ (WebCore::HTMLOutputElement::childrenChanged): Calls super class's
+ childrenChanged().
+
+2011-02-07 Benjamin Poulain <ikipou@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
+ https://bugs.webkit.org/show_bug.cgi?id=52289
+
+ Use the QtNAMThreadSafeProxy to make sure the cookie jar is created
+ in the same thread as the QNetworkAccessManager.
+
+ * platform/network/qt/QtNAMThreadSafeProxy.cpp:
+ (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
+ (WebCore::QtNAMThreadSafeProxy::hasCookieJar):
+ * platform/network/qt/QtNAMThreadSafeProxy.h:
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::cookiesEnabled):
+
+2011-02-07 Alexey Marinichev <amarinichev@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ Hook up WebGraphicsContext3D::setContextLostCallback.
+ https://bugs.webkit.org/show_bug.cgi?id=53722
+
+ Test: fast/canvas/webgl/context-lost.html, comment out the line with
+ extension.loseContext() and kill the GPU process "Lose context"
+ message shows up.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContextLostCallback::WebGLRenderingContextLostCallback):
+ (WebCore::WebGLRenderingContextLostCallback::onContextLost):
+ (WebCore::WebGLRenderingContextLostCallback::~WebGLRenderingContextLostCallback):
+ (WebCore::WebGLRenderingContext::initializeNewContext):
+ (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
+ * platform/graphics/GraphicsContext3D.h:
+ (WebCore::GraphicsContext3D::ContextLostCallback::~ContextLostCallback):
+ * platform/graphics/mac/GraphicsContext3DMac.mm:
+ (WebCore::GraphicsContext3D::setContextLostCallback): stub
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3D::setContextLostCallback): stub
+
+2011-02-07 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add missing PaintInfo include in RenderThemeWin.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=53885
+
+ * rendering/RenderThemeWin.cpp:
+
+2011-02-07 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
+ https://bugs.webkit.org/show_bug.cgi?id=52974
+
+ Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
+
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::contextMenuItemSelected):
+ (WebCore::ContextMenuController::populate):
+ (WebCore::ContextMenuController::checkOrEnableIfNeeded):
+ * platform/ContextMenuItem.h:
+ * platform/LocalizationStrategy.h:
+ * platform/LocalizedStrings.cpp:
+ (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
+ * platform/LocalizedStrings.h:
+
+2011-02-07 Kenichi Ishibashi <bashi@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ HTMLFormElement::formElementIndex() returns a bad index into a vector of form associated elements
+ https://bugs.webkit.org/show_bug.cgi?id=53970
+
+ Adds HTMLObjectElement::virtualForm() to make HTMLObjectElement::form()
+ return the right value.
+
+ Test: fast/dom/HTMLObjectElement/form/nested-form-element.html
+
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::virtualForm): Added.
+ * html/HTMLObjectElement.h: Added virtualForm().
+
+2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed Leopard build fix.
+
+ * WebCore.xcodeproj/project.pbxproj: let XCode have developmentRegion.
+ * platform/mac/DragImageMac.mm:
+ (WebCore::webkit_CGCeiling): Cast the return value of ceil to CGFloat.
+
+2011-02-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
+
+ When moving code from WebKit to WebCore we needed to move some additional
+ functions previously in NSStringExtras.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/mac/DragImageMac.mm:
+ (WebCore::fontFromNSFont):
+ (WebCore::canUseFastRenderer):
+ (WebCore::widthWithFont):
+ (WebCore::webkit_CGCeiling):
+ (WebCore::drawAtPoint):
+ (WebCore::drawDoubledAtPoint):
+ (WebCore::createDragImageForLink):
+
+2011-02-07 Lucas Forschler <lforschler@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Tr #2, Fix the Leopard 32bit debug build.
+
+ No new tests required.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityAllInOne.cpp:
+
+2011-02-07 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8946961> Fix repaint problems
+ with WKScrollbarPainter scrollers while resizing the window
+
+ Remove setPainterForPainterController() and
+ removePainterFromPainterController() since they aren't
+ used anymore.
+ * platform/mac/ScrollAnimatorMac.h:
+
+ Return early if they alpha hasn't changed.
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
+
+ If we're in a live resize, restore alpha to 1.
+ (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
+ (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
+
+2011-02-07 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
+ USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
+ Platform.h instead
+
+ Use hot new USE(WK_SCROLLBAR_PAINTER) from Platform.h rather
+ than the silly, old in-file #define.
+
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
+ (WebCore::updateArrowPlacement):
+ (WebCore::ScrollbarThemeMac::registerScrollbar):
+ (WebCore::ScrollbarThemeMac::scrollbarThickness):
+ (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
+ (WebCore::ScrollbarThemeMac::hasThumb):
+ (WebCore::ScrollbarThemeMac::minimumThumbLength):
+ (WebCore::ScrollbarThemeMac::paint):
+
+2011-02-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed Adam Roben and Darin Adler.
+
+ WebKit2: drag and drop support on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=52775
+ <rdar://problem/8514409>
+
+ * loader/EmptyClients.h: Removed createDragImageFromLink.
+ * page/DragClient.h: Ditto.
+ * page/DragController.cpp:
+ (WebCore::DragController::startDrag): changed call to createDragImageFromLink.
+ * platform/DragImage.h:
+ * platform/mac/DragImageMac.mm:
+ (WebCore::createDragImageForLink): Moved from DragClient.
+ * platform/win/ClipboardUtilitiesWin.cpp: Added a series of functions
+ to de-serialize the drag data from the map into an IDataObject.
+ (WebCore::getWebLocData):
+ (WebCore::texthtmlFormat):
+ (WebCore::createGlobalData):
+ (WebCore::getFullCFHTML):
+ (WebCore::urlWFormat):
+ (WebCore::urlFormat):
+ (WebCore::filenameWFormat):
+ (WebCore::filenameFormat):
+ (WebCore::htmlFormat):
+ (WebCore::smartPasteFormat):
+ (WebCore::getURL):
+ (WebCore::getPlainText):
+ (WebCore::getTextHTML):
+ (WebCore::ClipboardDataItem::ClipboardDataItem):
+ (WebCore::getStringData):
+ (WebCore::getUtf8Data):
+ (WebCore::getCFData):
+ (WebCore::setUCharData):
+ (WebCore::setCharData):
+ (WebCore::setCFData):
+ (WebCore::getClipboardMap):
+ (WebCore::getClipboardData):
+ (WebCore::setClipboardData):
+ * platform/win/ClipboardUtilitiesWin.h:
+ * platform/win/DragImageWin.cpp: Moved createDragImageForLink from DragClient
+ to a platform specific file in WebCore. It makes a lot more sense here, since
+ the drag image is always created in WebCore for all the other content types
+ except for links.
+ (WebCore::dragLabelFont):
+ (WebCore::createDragImageForLink):
+ * platform/win/WCDataObject.cpp: Added new way to
+ construct a WCDataObject from a DragDataMap.
+ (WebCore::WCDataObject::createInstance):
+ (WebCore::WCDataObject::clearData):
+ * platform/win/WCDataObject.h:
+
+2011-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77848.
+ http://trac.webkit.org/changeset/77848
+ https://bugs.webkit.org/show_bug.cgi?id=53963
+
+ caused 6 test failures (Requested by othermaciej on #webkit).
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
+
+2011-02-04 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Add shaders for GPU accelerated path rendering
+ https://bugs.webkit.org/show_bug.cgi?id=45520
+
+ Refactored SolidFillShader and TexShader to call new
+ generateVertex() and generateFragment() methods on base Shader
+ class, and added support for the Loop/Blinn shaders. Refactored
+ Loop/Blinn shader classes to derive from Shader.
+
+ Tested these changes with several of the IE9 Testdrive demos with
+ accelerated 2D canvas enabled, as well as a full layout test run
+ with --platform chromium-gpu.
+
+ * platform/graphics/gpu/LoopBlinnShader.cpp: Added.
+ (WebCore::LoopBlinnShader::LoopBlinnShader):
+ (WebCore::LoopBlinnShader::use):
+ * platform/graphics/gpu/LoopBlinnShader.h: Added.
+ * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Added.
+ (WebCore::LoopBlinnSolidFillShader::create):
+ (WebCore::LoopBlinnSolidFillShader::LoopBlinnSolidFillShader):
+ (WebCore::LoopBlinnSolidFillShader::use):
+ * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Added.
+ * platform/graphics/gpu/Shader.cpp:
+ (WebCore::Shader::affineTo4x4):
+ (WebCore::Shader::loadShader):
+ (WebCore::Shader::loadProgram):
+ (WebCore::Shader::generateVertex):
+ (WebCore::Shader::generateFragment):
+ * platform/graphics/gpu/Shader.h:
+ * platform/graphics/gpu/SolidFillShader.cpp:
+ (WebCore::SolidFillShader::create):
+ * platform/graphics/gpu/TexShader.cpp:
+ (WebCore::TexShader::TexShader):
+ (WebCore::TexShader::create):
+
+2011-02-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/8946023> REGRESSION (r76674): SVG + BiDi text broken (text-intro-05-t.svg)
+ https://bugs.webkit.org/show_bug.cgi?id=53480
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): m_indexEnd should be an
+ offset into m_characters, not into the run’s characters.
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add bundle API to get the background color of a frame
+ <rdar://problem/8962670>
+ https://bugs.webkit.org/show_bug.cgi?id=53952
+
+ * WebCore.exp.in: Add export.
+
+2011-02-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Assertion failure in ~JSGlobalObject when loading apple.com HTML5
+ transitions demo page
+ https://bugs.webkit.org/show_bug.cgi?id=53853
+
+ This was a long-standing bookkeeping bug uncovered by some heap refactoring.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createImageBuffer):
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::notifyFinished):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before
+ reporting extra cost to the JavaScriptCore heap, since all use of
+ JavaScriptCore is supposed to be guarded by JSLock.
+
+2011-02-07 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug
+ bots
+ https://bugs.webkit.org/show_bug.cgi?id=53104
+
+ Covered by the existing tests.
+
+ * fileapi/FileStreamProxy.cpp:
+ (WebCore::FileStreamProxy::startOnFileThread):
+ * platform/network/BlobRegistryImpl.cpp:
+ (WebCore::BlobRegistryImpl::createResourceHandle):
+ * platform/network/BlobResourceHandle.cpp:
+ (WebCore::BlobResourceHandle::BlobResourceHandle):
+ (WebCore::BlobResourceHandle::cancel):
+ (WebCore::delayedStartBlobResourceHandle):
+ (WebCore::BlobResourceHandle::start): Keep BlobResourceHandle alive
+ till the delay function is called.
+ (WebCore::BlobResourceHandle::doStart):
+ (WebCore::doNotifyFinish):
+ (WebCore::BlobResourceHandle::notifyFinish): Notify the client via the
+ standalone function to prevent the handle from being disposed immediately
+ by the client which will make the calls in the stack that're still bound
+ to the handle suffer.
+ * platform/network/BlobResourceHandle.h:
+ * platform/network/ResourceHandle.h: Change cancel() to virtual so that
+ BlobResourceHandle::cancel will be called when we abort a FileReader.
+
+2011-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77845.
+ http://trac.webkit.org/changeset/77845
+ https://bugs.webkit.org/show_bug.cgi?id=53946
+
+ build failure (Requested by lforschler_ on #webkit).
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityAllInOne.cpp:
+
+2011-02-07 Darin Adler <darin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=53939
+ fast/css/text-overflow-ellipsis.html failure after r77818/77819
+
+ * platform/text/TextCodecICU.cpp:
+ (WebCore::TextCodecICU::registerExtendedEncodingNames):
+ Add back the "utf8" synonym for "UTF-8".
+
+2011-02-07 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Remove an unnecessary extra computeLogicalWidth() from line layout.
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
+
+2011-02-07 Lucas Forschler <lforschler@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix Leopard Intel Debug Build.
+ <rdar://problem/8953606> REGRESSION: Can't link WebCore on 32-bit Leopard (53681)
+ This could potentially break windows, since I had to change #include <filename> to #include "filename"
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityAllInOne.cpp:
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Fix build.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
+ (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
+ (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
+ (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Add mechanism to inform the ScrollAnimator when Scrollbars are added
+ and removed.
+
+ * platform/ScrollAnimator.h:
+ (WebCore::ScrollAnimator::didAddVerticalScrollbar):
+ (WebCore::ScrollAnimator::willRemoveVerticalScrollbar):
+ (WebCore::ScrollAnimator::didAddHorizontalScrollbar):
+ (WebCore::ScrollAnimator::willRemoveHorizontalScrollbar):
+ Make virtual to allow platform specific overrides.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+ Call new ScrollableArea functions.
+
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::didAddVerticalScrollbar):
+ (WebCore::ScrollableArea::willRemoveVerticalScrollbar):
+ (WebCore::ScrollableArea::didAddHorizontalScrollbar):
+ (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
+ * platform/ScrollableArea.h:
+ Pipe to ScrollAnimator.
+
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
+ (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
+ (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
+ (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::registerScrollbar):
+ (WebCore::ScrollbarThemeMac::unregisterScrollbar):
+ (WebCore::ScrollbarThemeMac::painterForScrollbar):
+ Move painter delegate registration to the new didAdd/willRemove functions.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Missing text match markers with accelerated content
+ https://bugs.webkit.org/show_bug.cgi?id=53934
+
+ When doing the fake paint that recomputes the text match rects, we need to
+ flatten compositing layers, otherwise the rects won't be updated until the next paint call.
+
+ (This worked by accident in WebKit1 because Safari calls -[NSWindow displayIfNeeded] on the containing
+ window before asking for the text match rects).
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::countMatchesForText):
+
+2011-02-07 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Andreas Kling.
+
+ REGRESSION(r77740): CSSStyleSelector accessing deleted memory for svg/dom/use-transform.svg
+ https://bugs.webkit.org/show_bug.cgi?id=53900
+
+ Ignore link elements in shadow trees.
+
+ * dom/Element.cpp:
+ (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
+ (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
+
+ Some asserts to catch cases like this.
+
+ (WebCore::Element::attach):
+ (WebCore::Element::recalcStyle):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::HTMLLinkElement):
+ (WebCore::HTMLLinkElement::process):
+ (WebCore::HTMLLinkElement::insertedIntoDocument):
+ (WebCore::HTMLLinkElement::removedFromDocument):
+ * html/HTMLLinkElement.h:
+
+2011-02-07 Darin Adler <darin@apple.com>
+
+ Turn UTF-8 decoder off for now so we can look into failing tests
+ without leaving the tree red.
+
+ * platform/text/TextCodecICU.cpp:
+ (WebCore::TextCodecICU::registerBaseEncodingNames): Reverting
+ earlier change so this can handle UTF-8.
+ (WebCore::TextCodecICU::registerBaseCodecs): Ditto.
+ (WebCore::TextCodecICU::registerExtendedEncodingNames): Ditto.
+ (WebCore::TextCodecICU::registerExtendedCodecs): Ditto.
+ * platform/text/TextCodecICU.h: Ditto.
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::buildBaseTextCodecMaps): Ditto.
+ (WebCore::extendTextCodecMaps): Ditto.
+ * platform/text/brew/TextCodecBrew.cpp:
+ (WebCore::TextCodecBrew::registerBaseEncodingNames): Ditto.
+ (WebCore::TextCodecBrew::registerBaseCodecs): Ditto.
+ (WebCore::TextCodecBrew::registerExtendedEncodingNames): Ditto.
+ (WebCore::TextCodecBrew::registerExtendedCodecs): Ditto.
+ * platform/text/brew/TextCodecBrew.h: Ditto.
+ * platform/text/gtk/TextCodecGtk.cpp:
+ (WebCore::TextCodecGtk::registerBaseEncodingNames): Ditto.
+ (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
+ * platform/text/wince/TextCodecWinCE.cpp:
+ (WebCore::TextCodecWinCE::registerBaseEncodingNames): Ditto.
+ (WebCore::TextCodecWinCE::registerBaseCodecs): Ditto.
+ (WebCore::TextCodecWinCE::registerExtendedEncodingNames): Ditto.
+ (WebCore::TextCodecWinCE::registerExtendedCodecs): Ditto.
+ * platform/text/wince/TextCodecWinCE.h: Ditto.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Don't exclude overlay scrollers from the page overlay bounds
+ https://bugs.webkit.org/show_bug.cgi?id=53924
+
+ Export ScrollbarTheme::nativeTheme.
+
+ * WebCore.exp.in:
+
+2011-02-07 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Crash in glDrawArrays with NaCl crystal model
+ https://bugs.webkit.org/show_bug.cgi?id=52831
+
+ * html/canvas/WebGLRenderingContext.cpp: Allocate large enough buffer for atttrib0 if it's enabled and not used.
+ (WebCore::WebGLRenderingContext::initVertexAttrib0):
+ (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
+ * html/canvas/WebGLRenderingContext.h:
+
+2011-02-07 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WAI-ARIA @aria-sort not exposed on rowheader and columnheader roles.
+ https://bugs.webkit.org/show_bug.cgi?id=53842
+
+ Test: platform/mac/accessibility/aria-sort.html
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::sortDirection):
+ * accessibility/AccessibilityObject.h:
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+ * html/HTMLAttributeNames.in:
+
+2011-02-07 Darin Adler <darin@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Add built-in decoder for UTF-8 for improved performance
+ https://bugs.webkit.org/show_bug.cgi?id=53898
+
+ Correct behavior is covered by existing tests.
+
+ * Android.mk: Added TextCodecUTF8.
+ * CMakeLists.txt: Ditto.
+ * GNUmakefile.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+
+ * platform/text/TextCodecICU.cpp: Removed registration of UTF-8
+ since that's now handled by the built-in UTF-8 codec.
+ (WebCore::TextCodecICU::registerEncodingNames): Renamed to remove
+ the word "extended" since all codecs from ICU are now extended.
+ (WebCore::TextCodecICU::registerCodecs): Ditto.
+ * platform/text/TextCodecICU.h: Ditto.
+
+ * platform/text/TextCodecUTF16.cpp:
+ (WebCore::TextCodecUTF16::decode): Added a FIXME about missing
+ error handling.
+
+ * platform/text/TextCodecUTF8.cpp: Added.
+ * platform/text/TextCodecUTF8.h: Added.
+
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::buildBaseTextCodecMaps): Added TextCodecUTF8, and
+ removed TextCodecICU, TextCodecBrew, and TextCodecWinCE.
+ (WebCore::extendTextCodecMaps): Updated names for
+ TextCodecICU and TextCodecWinCE.
+
+ * platform/text/brew/TextCodecBrew.cpp:
+ (WebCore::TextCodecBrew::registerEncodingNames): Renamed to remove
+ the word "extended" since all codecs from Brew are now extended.
+ (WebCore::TextCodecBrew::registerCodecs): Ditto.
+ * platform/text/brew/TextCodecBrew.h: Ditto.
+
+ * platform/text/gtk/TextCodecGtk.cpp:
+ (WebCore::TextCodecGtk::registerBaseEncodingNames): Removed
+ registration of UTF-8. It's questionable whether the other codecs
+ here are really basic. If we think they qualify, then we should
+ register them on other platforms, not just GTK.
+ (WebCore::TextCodecGtk::registerBaseCodecs): Ditto.
+
+ * platform/text/wince/TextCodecWinCE.cpp:
+ (WebCore::getCodePage): Removed special case for UTF-8 since we
+ no longer use this codec for UTF-8.
+ (WebCore::TextCodecWinCE::registerEncodingNames): Renamed to remove
+ the word "extended" since all codecs from WinCE are now extended.
+ (WebCore::TextCodecWinCE::registerCodecs): Ditto.
+ * platform/text/wince/TextCodecWinCE.h: Ditto.
+
+2011-02-07 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] atk_text_get_caret_offset fails for list items
+ https://bugs.webkit.org/show_bug.cgi?id=53436
+
+ Consider list item markers when calculating the offset.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_text_get_caret_offset): Adjust the offset
+ with the item marker's length for list items.
+ (webkit_accessible_text_set_caret_offset): Replace usage of
+ g_utf8_strlen() by calling to markerText.length().
+
+2011-02-07 Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Fix LayoutTests/media/restore-from-page-cache.html
+ https://bugs.webkit.org/show_bug.cgi?id=53621
+
+ Changed the networkState to MediaPlayer::Loaded when
+ MediaPlayerPrivateQt has enough data.
+
+ Test: media/restore-from-page-cache.html
+
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivateQt::updateStates):
+
+2011-01-31 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: implement beautification of scripts inlined in html documents.
+ https://bugs.webkit.org/show_bug.cgi?id=52706
+
+ To beautify scripts inlined in html, we need to cut individual scripts, beautify them using UglifyJS library, and
+ finally paste them back to html.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/ScriptFormatter.js:
+ (WebInspector.ScriptFormatter): Implement formatting of scripts inlined in html.
+ (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
+ (WebInspector.ScriptFormatter.prototype.formatContent):
+ (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
+ (WebInspector.ScriptFormatter.prototype._formatChunks.didFormat):
+ (WebInspector.ScriptFormatter.prototype._formatChunks):
+ (WebInspector.ScriptFormatter.prototype._buildContentFromChunks):
+ (WebInspector.ScriptFormatter.prototype._formatScript.messageHandler):
+ (WebInspector.ScriptFormatter.prototype._formatScript):
+ * inspector/front-end/ScriptFormatterWorker.js:
+ (onmessage):
+ (buildMapping):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrameContent): Use SourceFrameContent and FormattedSourceFrameContent to perform operations with line numbers.
+ * inspector/front-end/SourceFrameContent.js: Added.
+ (WebInspector.SourceFrameContent): Helper class, holds resource text and scripts layout
+ (WebInspector.SourceFrameContent.prototype.get scriptRanges):
+ (WebInspector.SourceFrameContent.prototype.locationToPosition):
+ (WebInspector.SourceFrameContent.prototype.positionToLocation):
+ (WebInspector.SourceFrameContent.prototype.scriptLocationForLineNumber):
+ (WebInspector.SourceFrameContent.prototype.scriptLocationForRange):
+ (WebInspector.SourceFrameContent.prototype.lineNumberToRange):
+ (WebInspector.SourceFrameContent.prototype._intersectingScriptRange):
+ (WebInspector):
+ (WebInspector.FormattedSourceFrameContent): Helper class, holds original and formatted versions of resource and mapping between them.
+ (WebInspector.FormattedSourceFrameContent.prototype.get text):
+ (WebInspector.FormattedSourceFrameContent.prototype.originalLocationToFormattedLocation):
+ (WebInspector.FormattedSourceFrameContent.prototype.scriptLocationForFormattedLineNumber):
+ (WebInspector.FormattedSourceFrameContent.prototype._convertPosition):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2011-02-07 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: "Reveal in elements panel" does not always work.
+ https://bugs.webkit.org/show_bug.cgi?id=53775
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView):
+ * inspector/front-end/ContextMenu.js:
+ (WebInspector.ContextMenu.prototype.show):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.switchToAndFocus):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
+ (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+ (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuEventFired):
+ * inspector/front-end/inspector.js:
+ (WebInspector.cancelSearch):
+
+2011-02-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Relative .. in URL paths shouldn't skip adjacent / characters
+ https://bugs.webkit.org/show_bug.cgi?id=53907
+
+ Our new behavior matches Firefox, Chrome, and IE.
+
+ * platform/KURL.cpp:
+ (WebCore::copyPathRemovingDots):
+
+2011-02-07 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ WebKitTestRunner does not block remote resources or complain about them
+ https://bugs.webkit.org/show_bug.cgi?id=42139
+ <rdar://problem/8183942>
+
+ * Configurations/WebCore.xcconfig: Allow WebKitTestRunner to link
+ WebCore.
+ * WebCore.exp.in: Export a handful of KURL symbols.
+
+2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
+ https://bugs.webkit.org/show_bug.cgi?id=52867
+
+ * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::createValueListFromVariantArgs): Returns PassOwnArrayPtr<v8::Handle<v8::Value>> instead of
+ v8::Handle<v8::Value>*.
+ (_NPN_Invoke): Calls createValueListFromVariantArgs.
+ (_NPN_InvokeDefault): createValueListFromVariantArgs.
+ (_NPN_Construct): createValueListFromVariantArgs.
+ * bindings/v8/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call): Calls adoptArrayPtr.
+ (WebCore::ScriptFunctionCall::construct): Ditto.
+ (WebCore::ScriptCallback::call):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::createNewContext): Ditto.
+ * bindings/v8/V8NPObject.cpp:
+ (WebCore::npObjectInvokeImpl): Ditto
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::acceptNode): Ditto,
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::parseMappedAttribute): Calls newCoordsArray.
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::parseMappedAttribute): Calls newLengthArray.
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getAttachedShaders): Calls adoptArraYptr.
+ (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Ditto.
+ (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache): Dito.
+ * platform/Length.cpp:
+ (WebCore::newCoordsArray): Returns PassOwnArrayPtr<Length> instead of Length*.
+ (WebCore::newLengthArray): Returns PassOwnArrayPtr<Length> instead of Length*.
+ * platform/Length.h: Prototype changes.
+ * platform/graphics/ANGLEWebKitBridge.cpp:
+ (WebCore::ANGLEWebKitBridge::validateShaderSource): Calls adoptArrayPtr.
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::getDirtyRects): Ditto.
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::getNormalizedTextRun): Ditto.
+ * platform/graphics/chromium/HarfbuzzSkia.cpp:
+ (WebCore::glyphsToAdvances): Ditto.
+ (WebCore::canRender): Ditto.
+ * platform/graphics/gpu/Texture.cpp:
+ (WebCore::Texture::updateSubRect): Ditto.
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+ (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Ditto.
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::readbackHardwareToSoftware): Ditto.
+ * platform/graphics/wince/SharedBitmap.cpp:
+ (WebCore::SharedBitmap::to16bit): Ditto.
+ * platform/win/ContextMenuWin.cpp:
+ (WebCore::ContextMenu::getContextMenuItems): Ditto.
+ * platform/win/LoggingWin.cpp:
+ (WebCore::initializeWithUserDefault): Ditto.
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::fetchInfo): Ditto.
+
+2011-02-06 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed.
+
+ * WebCore.xcodeproj/project.pbxproj: Run sort-xcode-project-file.
+
+2011-02-03 Dominic Cooney <dominicc@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Convert <keygen> option elements to a shadow DOM
+ https://bugs.webkit.org/show_bug.cgi?id=51379
+
+ Covered by existing tests e.g. fast/html/keygen.html,
+ html5lib/runner.html, etc.
+
+ * css/html.css:
+ (form): Cleanup.
+ (keygen, select): Border radii should match so focus ring looks good.
+ (keygen::-webkit-keygen-select): No margin on the shadow element.
+ (select): Hoisting border radius to keygen, select rule.
+ * dom/SelectElement.cpp:
+ (WebCore::toSelectElement): keygen is no longer a select element.
+ * html/HTMLKeygenElement.cpp: Implements keygen shadow.
+ (WebCore::KeygenSelectElement::create):
+ (WebCore::KeygenSelectElement::shadowPseudoId):
+ (WebCore::KeygenSelectElement::KeygenSelectElement):
+ (WebCore::HTMLKeygenElement::HTMLKeygenElement):
+ (WebCore::HTMLKeygenElement::parseMappedAttribute):
+ (WebCore::HTMLKeygenElement::appendFormData):
+ (WebCore::HTMLKeygenElement::formControlType):
+ (WebCore::HTMLKeygenElement::reset):
+ (WebCore::HTMLKeygenElement::selectShadow):
+ * html/HTMLKeygenElement.h: keygen is no longer a select on C++ side.
+ (WebCore::HTMLKeygenElement::canStartSelection):
+ (WebCore::HTMLKeygenElement::isEnumeratable):
+ (WebCore::HTMLKeygenElement::isResettable):
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::ownerSelectElement): Only owned by selects.
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::HTMLSelectElement): Only 'select' tag name.
+
+2011-02-06 Benjamin Poulain <ikipou@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix coding style errors in ClipboardQt.h
+ https://bugs.webkit.org/show_bug.cgi?id=43520
+
+ Fix coding style: order of header and indentation.
+
+ * platform/qt/ClipboardQt.h:
+ (WebCore::ClipboardQt::create):
+ (WebCore::ClipboardQt::clipboardData):
+ (WebCore::ClipboardQt::invalidateWritableData):
+
+2011-02-06 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Use bloom filter for descendant selector filtering
+ https://bugs.webkit.org/show_bug.cgi?id=53880
+
+ Bloom filter is faster than a hash set in this kind of use.
+
+ Shark thinks this speeds up style matching by ~30% on sites
+ with lots of descendant selectors.
+
+ * ForwardingHeaders/wtf/BloomFilter.h: Added.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::collectElementIdentifierHashes):
+ (WebCore::CSSStyleSelector::pushParent):
+ (WebCore::CSSStyleSelector::popParent):
+ (WebCore::CSSStyleSelector::fastRejectSelector):
+ (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
+ * css/CSSStyleSelector.h:
+
+2011-02-06 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ media/video-document-types.html sometimes crashes the WebProcess
+ https://bugs.webkit.org/show_bug.cgi?id=53884
+
+ No new tests. Already covered by media/video-document-types.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::userCancelledLoad): Stop the load timer
+ when cancelling the load.
+
+2011-02-06 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ [WIN] Use WCHAR instead of TCHAR
+ https://bugs.webkit.org/show_bug.cgi?id=53863
+
+ We always use the UNICODE versions of windows functions, so
+ the usage of TCHAR makes no sense and mixing them is bad style.
+
+ * platform/graphics/win/IconWin.cpp:
+ (WebCore::Icon::createIconForFiles):
+ * platform/graphics/win/QTMovie.cpp:
+ * platform/graphics/win/QTMovieGWorld.cpp:
+ (QTMovieGWorld::fullscreenWndProc):
+ (QTMovieGWorld::enterFullscreen):
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ * platform/graphics/wince/SimpleFontDataWinCE.cpp:
+ * platform/win/BString.cpp:
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::filesystemPathFromUrlOrTitle):
+ (WebCore::createGlobalHDropContent):
+ (WebCore::createGlobalImageFileDescriptor):
+ * platform/win/ContextMenuWin.cpp:
+ * platform/win/CursorWin.cpp:
+ (WebCore::loadSharedCursor):
+ * platform/win/FileChooserWin.cpp:
+ (WebCore::FileChooser::basenameForWidth):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenuWin::popupClassName):
+ (WebCore::PopupMenuWin::show):
+ * platform/win/PopupMenuWin.h:
+
+2011-02-06 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Replace FLT_MAX with std::numeric_limits
+ https://bugs.webkit.org/show_bug.cgi?id=53861
+
+ Also move EFL's userIdleTime from TemporaryLinkStubs into SystemTimeEfl.
+
+ * html/NumberInputType.cpp:
+ * html/parser/HTMLParserIdioms.cpp:
+ (WebCore::parseToDoubleForNumberType):
+ * platform/brew/SystemTimeBrew.cpp:
+ (WebCore::userIdleTime):
+ * platform/efl/SystemTimeEfl.cpp:
+ (WebCore::userIdleTime):
+ * platform/efl/TemporaryLinkStubs.cpp:
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::setupAnimation):
+ * platform/win/SystemTimeWin.cpp:
+ (WebCore::userIdleTime):
+ * platform/wx/SystemTimeWx.cpp:
+ (WebCore::userIdleTime):
+
+2011-02-06 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [CMake] Add dependencies for Visual Studio projects
+ https://bugs.webkit.org/show_bug.cgi?id=53773
+
+ Add a JavaScriptCore dependecy to WebCore, so CMake can
+ generate the correct build order for the solution.
+
+ * CMakeLists.txt:
+
+2011-02-06 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [CMake] Unify ENABLE_SVG sections
+ https://bugs.webkit.org/show_bug.cgi?id=53778
+
+ * CMakeLists.txt:
+
+2011-02-06 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ Refactor Font::normalizeSpaces() to avoid an extra String copy.
+ https://bugs.webkit.org/show_bug.cgi?id=53871
+
+ Have normalizeSpaces() take UChar*,length arguments instead of a
+ String, since all call sites were creating temporaries from these
+ components anyway.
+
+ Font::normalizeSpaces() now always makes 1 String copy,
+ instead of 1 in the best case and 2 in the worst case.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::normalizeSpaces):
+ * platform/graphics/Font.h:
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::drawTextCommon):
+ (WebCore::Font::floatWidthForSimpleText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForSimpleText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForSimpleText):
+ (WebCore::Font::selectionRectForComplexText):
+ * svg/SVGFont.cpp:
+ (WebCore::SVGTextRunWalker::walk):
+
+2011-02-06 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ Fix potential buffer overrun in SVGTextRunWalker::walk()
+ https://bugs.webkit.org/show_bug.cgi?id=53870
+
+ A new String was created from a UChar* with a 'length' argument
+ that could be greater than the number of UChars available.
+
+ * svg/SVGFont.cpp:
+ (WebCore::SVGTextRunWalker::walk):
+
+2011-02-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove unused parameter related to XSSAuditor
+ https://bugs.webkit.org/show_bug.cgi?id=53862
+
+ * WebCore.exp.in:
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeScript):
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+ * bindings/ScriptControllerBase.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInWorld):
+ (WebCore::ScriptController::evaluate):
+ (WebCore::ScriptController::executeScriptInWorld):
+ * bindings/js/ScriptController.h:
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/v8/ScriptController.h:
+
+2011-02-05 Adam Barth <abarth@webkit.org>
+
+ Fix Qt build.
+
+ * WebCore.pro:
+
+2011-02-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Delete XSSAuditor
+ https://bugs.webkit.org/show_bug.cgi?id=53859
+
+ The job of the XSSAuditor is now done by the XSSFilter. In the future,
+ we might rename XSSFilter to XSSAuditor.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+ * bindings/ScriptControllerBase.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ (WebCore::ScriptController::evaluateInWorld):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ (WebCore::ScriptController::evaluate):
+ * bindings/v8/ScriptController.h:
+ * bindings/v8/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * dom/Document.cpp:
+ (WebCore::Document::implicitOpen):
+ (WebCore::Document::processBaseElement):
+ * dom/ScriptableDocumentParser.cpp:
+ (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
+ * dom/ScriptableDocumentParser.h:
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc):
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::requestObject):
+ (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
+ * page/XSSAuditor.cpp: Removed.
+ * page/XSSAuditor.h: Removed.
+
+2011-02-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need a way to resize and scroll the page at the same time
+ https://bugs.webkit.org/show_bug.cgi?id=53814
+ <rdar://problem/8498008>
+
+ Export a function needed by WebKit2.
+
+ * WebCore.exp.in:
+
+2011-02-05 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Use Document::encoding() instead of DocumentWriter::encoding()
+ https://bugs.webkit.org/show_bug.cgi?id=53398
+
+ This change makes the code more readable, when a subresource
+ inherits the character encoding of the document.
+
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElement::scriptCharset):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::requestPreload):
+ * platform/network/FormDataBuilder.cpp:
+ (WebCore::FormDataBuilder::encodingFromAcceptCharset):
+
+2011-02-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Introduce URLString to represent a canonicalized URL represented by a string
+ https://bugs.webkit.org/show_bug.cgi?id=53847
+
+ Instead of using String all over the codebase to represent a URL,
+ instead we should have a type to represent a canonicalized URL in the
+ form of a string. This patch introduces that type.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/KURL.cpp:
+ (WebCore::KURL::KURL):
+ * platform/KURL.h:
+ (WebCore::KURL::urlString):
+
+2011-02-05 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Style widgets not rendering
+ https://bugs.webkit.org/show_bug.cgi?id=53849
+
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::hasValidClassId): x-qt-styled-widget is a valid class id too
+
+2011-02-05 Jochen Eisinger <jochen@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add ContentSecurityPolicy object to Document and pass the X-WebKit-CSP header from the MainResourceLoader.
+ https://bugs.webkit.org/show_bug.cgi?id=53685
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.h:
+ (WebCore::Document::contentSecurityPolicy):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::didReceiveHeader):
+ * page/ContentSecurityPolicy.h:
+
+2011-02-05 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Safari should lowercase schemes in cannonicalized urls to match every other browser
+ https://bugs.webkit.org/show_bug.cgi?id=53848
+
+ We're clearly the odd man out here. See results from every browser at:
+ https://github.com/abarth/url-spec/blob/master/tests/gurl-results/by-browser.txt
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::parse):
+ - Just lowercase the scheme when copying.
+
+2011-02-05 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Optimize matching of descendant selectors
+ https://bugs.webkit.org/show_bug.cgi?id=49876
+ <rdar://problem/8772822>
+
+ During style recalculation, maintain a filter of tags, ids and classes seen in ancestor elements.
+ Use the filter to quickly reject descendant and child selectors when doing style matching.
+
+ This speeds up style recalculations 3-6x on many major web sites.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::RuleData::RuleData):
+ (WebCore::RuleData::descendantSelectorIdentifierHashes):
+ (WebCore::collectElementIdentifiers):
+ (WebCore::CSSStyleSelector::pushParent):
+ (WebCore::CSSStyleSelector::popParent):
+ (WebCore::CSSStyleSelector::fastRejectSelector):
+ (WebCore::CSSStyleSelector::matchRulesForList):
+ (WebCore::RuleData::collectDescendantSelectorIdentifierHashes):
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
+ * dom/Element.cpp:
+ (WebCore::StyleSelectorParentPusher::StyleSelectorParentPusher):
+ (WebCore::StyleSelectorParentPusher::push):
+ (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
+ (WebCore::Element::attach):
+ (WebCore::Element::recalcStyle):
+
+2011-02-05 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Refactor: NotificationCenter shouldn't hold its own copy of the ScriptExecutionContext*
+ when it inherits one from ActiveDOMObject.
+ https://bugs.webkit.org/show_bug.cgi?id=53815
+
+ * bindings/js/JSDesktopNotificationsCustom.cpp:
+ (WebCore::JSNotificationCenter::requestPermission):
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ (WebCore::V8NotificationCenter::requestPermissionCallback):
+ * notifications/NotificationCenter.cpp:
+ (WebCore::NotificationCenter::NotificationCenter):
+ (WebCore::NotificationCenter::checkPermission):
+ (WebCore::NotificationCenter::requestPermission):
+ (WebCore::NotificationCenter::disconnectFrame):
+ * notifications/NotificationCenter.h:
+ (WebCore::NotificationCenter::createHTMLNotification):
+ (WebCore::NotificationCenter::createNotification):
+
+2011-02-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Crash in WebCore::TextEncoding::decode below XSSFilter::init
+ https://bugs.webkit.org/show_bug.cgi?id=53837
+
+ Add missing null check.
+
+ Test: http/tests/security/xssAuditor/non-block-javascript-url-frame.html
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::init):
+
+2011-02-04 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Crashes in ShadowBlur via WebKit2 FindController
+ https://bugs.webkit.org/show_bug.cgi?id=53830
+
+ Fix a crash cause by re-entering ShadowBlur, and add assertions to
+ detect when it happens.
+
+ The re-entrancy occurred when drawRectShadowWithTiling() filled
+ the interior of the shadow with fillRect() on the context
+ which still had the shadow state set. This would make another ShadowBlur
+ on the stack and call into the code again, potentially blowing away
+ the image buffer.
+
+ Fix by turning off shadows in the destination context while we're
+ drawing the tiled shadow. The non-tiled code path already did this.
+
+ Not testable because CSS shadows clip out the inside of the rect
+ being shadowed, and SVG uses fillPath, even for rects.
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ScratchBuffer::ScratchBuffer):
+ (WebCore::ScratchBuffer::getScratchBuffer):
+ (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
+ (WebCore::ShadowBlur::ShadowBlur):
+ (WebCore::ShadowBlur::drawRectShadowWithTiling):
+
+2011-02-04 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Don't use a fixed size for search field icons
+ https://bugs.webkit.org/show_bug.cgi?id=50624
+
+ Use the parent input content box to make sure the icon fits in the
+ search field, scaling it down when needed.
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::paintGdkPixbuf):
+ (WebCore::getIconSizeForPixelSize):
+ (WebCore::adjustSearchFieldIconStyle):
+ (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
+ (WebCore::centerRectVerticallyInParentInputElement):
+ (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
+ (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeGtk::paintCapsLockIndicator):
+ (WebCore::RenderThemeGtk::paintMediaButton):
+
+2011-02-04 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [chromium] JPEG corruption
+ https://bugs.webkit.org/show_bug.cgi?id=53250
+
+ Same as gray-scale JPEGs, we convert the colors of CMYK JPEGs with color
+ profiles from CMYK to RGB twice and it causes color corruption. This
+ change suppresses the color profiles for CMYK JPEGs same as gray-scale
+ ones.
+
+ Test: fast/images/cmyk-jpeg-with-color-profile.html
+
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::JPEGImageReader::decode):
+
+2011-02-04 Xiyuan Xia <xiyuan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Option text in select popup does not align with menulist button text
+ https://bugs.webkit.org/show_bug.cgi?id=53632
+
+ This makes clientPaddingLeft and clientPaddingRight return
+ the additional m_innerBlock's padding so that the popup item text
+ aligns with the menulist button text.
+
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::clientPaddingLeft):
+ (WebCore::RenderMenuList::clientPaddingRight):
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig and Beth Dakin.
+
+ REGRESSION: Horizontal scrollbar thumbs leave artifacts over page content when scrolling vertically
+ <rdar://problem/8962457>
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollContents):
+ Subtract scrollbars from the scroll view rect if overlay scrollers are enabled.
+
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
+ Make sure to invalidate both scrollbars if overlay scrollers are enabled.
+
+2011-02-04 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ PluginDocuments don't create widgets for plugins on back/forward
+ https://bugs.webkit.org/show_bug.cgi?id=53474
+
+ Long ago, PluginDocument always caused the HTMLEmbedElement to create
+ its widget synchronously during a post-layout task. Recently, however,
+ some changes to the HistroyController caused layout on back/forward to
+ become slightly more complicated (and added an extra level of recursion
+ to layout). This extra level of recursion triggered the "I've recursed
+ too many times" condition in the post-layout task queue, causing the
+ FrameView to run the remainder of the tasks asynchronously.
+ Unfortunately, that broke PluginDocument because it needs its the
+ HTMLEmbedElement's updateWidget task to run synchronously.
+
+ This patch adds a mechanism for "kicking off" the pending post-layout
+ tasks synchronously (instead of waiting for the timer to fire).
+ PluginDocument then uses that facility to ensure that the
+ HTMLEmbedElement's updateWidget task happens.
+
+ Test: plugins/plugin-document-back-forward.html
+
+ * html/PluginDocument.cpp:
+ (WebCore::PluginDocumentParser::appendBytes):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
+ * page/FrameView.h:
+
+2011-02-04 Charlie Reis <creis@chromium.org>
+
+ Reviewed by Mihai Parparita.
+
+ Crash in WebCore::HistoryController::itemsAreClones
+ https://bugs.webkit.org/show_bug.cgi?id=52819
+
+ Avoids deleting the current HistoryItem while it is still in use.
+ Ensures that provisional items are committed for same document navigations.
+ Ensures that error pages are committed on back/forward navigations.
+ Also removes unneeded sanity checks used for diagnosing the problem.
+
+ * loader/HistoryController.cpp:
+ * loader/HistoryController.h:
+
+2011-02-04 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ Code Changes.
+
+ CSS 2.1 failure: content-*
+ https://bugs.webkit.org/show_bug.cgi?id=52126
+
+ Test: fast/css/counters/content-021.html
+
+ * rendering/CounterNode.cpp:
+ (showCounterTree):
+ Made parameter const because it is supposed to be so.
+ * rendering/RenderCounter.cpp:
+ (WebCore::previousInPreOrder):
+ (WebCore::previousSiblingOrParent):
+ (WebCore::parentElement):
+ (WebCore::areRenderersElementsSiblings):
+ (WebCore::nextInPreOrder):
+ Added these local helper functions to help navigate the DOM tree
+ enriched with :before and :after pseudo elements.
+ (WebCore::planCounter):
+ Fixed bug that would create a repeat counter for second and
+ subsequent renderers associated with the same DOM element.
+ (WebCore::findPlaceForCounter):
+ (WebCore::makeCounterNode):
+ Changed to use the new tree navigation functions described above
+ instead of the Renderer Tree navigation functions.
+ (WebCore::RenderCounter::rendererSubtreeAttached):
+ (WebCore::RenderCounter::rendererStyleChanged):
+ Optimized to not bother about counters until the renderers are
+ finally attached.
+ (showRendererTree):
+ (showNodeTree):
+ Debug helper functions used to debug Counter bugs.
+
+2011-02-04 Dan Bernstein <mitz@apple.com>
+
+ Typo fix.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::containsJavaScriptURL):
+
+2011-02-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Make an infinite loop introduced in r77454 finite.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::containsJavaScriptURL):
+
+2011-02-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ Frame accurate seeking isn't always accurate
+ https://bugs.webkit.org/show_bug.cgi?id=52697
+
+ Test: media/video-frame-accurate-seek.html
+
+ Make seeking slightly more accurate by rounding instead of truncating
+ when converting from seconds-in-float to time/timeScale.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivateQTKit::createQTTime):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
+ (WebCore::MediaPlayerPrivateQuickTimeVisualContext::mediaTimeForTimeValue):
+ * platform/graphics/win/QTMovie.cpp:
+ (QTMovie::setCurrentTime):
+
+2011-02-04 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Second IndexedDB events overhaul patch
+ https://bugs.webkit.org/show_bug.cgi?id=53813
+
+ If an IDBRequest has a IDBTransaction, it should propogate
+ events through it. In order to do this, IDBRequest needs to
+ hold a transaction frontend object rather than a backend one.
+
+ Test: storage/indexeddb/request-event-propagation.html
+
+ * storage/IDBCursor.cpp:
+ (WebCore::IDBCursor::IDBCursor):
+ * storage/IDBCursor.h:
+ (WebCore::IDBCursor::create):
+ * storage/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::setSetVersionTransaction):
+ (WebCore::IDBDatabase::createObjectStore):
+ (WebCore::IDBDatabase::deleteObjectStore):
+ * storage/IDBDatabase.h:
+ * storage/IDBIndex.cpp:
+ (WebCore::IDBIndex::IDBIndex):
+ (WebCore::IDBIndex::openCursor):
+ (WebCore::IDBIndex::openKeyCursor):
+ (WebCore::IDBIndex::get):
+ (WebCore::IDBIndex::getKey):
+ * storage/IDBIndex.h:
+ (WebCore::IDBIndex::create):
+ * storage/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::IDBObjectStore):
+ (WebCore::IDBObjectStore::get):
+ (WebCore::IDBObjectStore::add):
+ (WebCore::IDBObjectStore::put):
+ (WebCore::IDBObjectStore::deleteFunction):
+ (WebCore::IDBObjectStore::createIndex):
+ (WebCore::IDBObjectStore::deleteIndex):
+ (WebCore::IDBObjectStore::openCursor):
+ * storage/IDBObjectStore.h:
+ (WebCore::IDBObjectStore::create):
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::create):
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::resetReadyState):
+ (WebCore::IDBRequest::onSuccess):
+ (WebCore::IDBRequest::dispatchEvent):
+ * storage/IDBRequest.h:
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::IDBTransaction):
+ (WebCore::IDBTransaction::objectStore):
+ (WebCore::IDBTransaction::contextDestroyed):
+ (WebCore::IDBTransaction::enqueueEvent):
+ * storage/IDBTransaction.h:
+ * storage/IDBTransaction.idl:
+
+2011-02-04 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ First step towards event propogation within IndexedDB
+ https://bugs.webkit.org/show_bug.cgi?id=53795
+
+ This is the first step towards implementing
+ http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
+ within IndexedDB. I've created a method that knows how
+ to capture and bubble (based on Node's dispatchGenericEvent).
+ I've then changed IDBRequest to use it.
+
+ The only functional change is that preventDefault now must
+ be called in error events to prevent the transaction from
+ being aborted. The tests reflect this change and there's one
+ specific test to look at this behavior.
+
+ Test: storage/indexeddb/error-causes-abort-by-default.html
+
+ * storage/IDBAbortEvent.cpp:
+ (WebCore::IDBAbortEvent::create):
+ (WebCore::IDBAbortEvent::IDBAbortEvent):
+ * storage/IDBAbortEvent.h:
+ * storage/IDBCompleteEvent.cpp:
+ (WebCore::IDBCompleteEvent::create):
+ (WebCore::IDBCompleteEvent::IDBCompleteEvent):
+ * storage/IDBCompleteEvent.h:
+ * storage/IDBErrorEvent.cpp:
+ (WebCore::IDBErrorEvent::IDBErrorEvent):
+ * storage/IDBEvent.cpp:
+ (WebCore::IDBEvent::IDBEvent):
+ (WebCore::IDBEvent::dispatch):
+ * storage/IDBEvent.h:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::dispatchEvent):
+ * storage/IDBRequest.h:
+ * storage/IDBSuccessEvent.cpp:
+ (WebCore::IDBSuccessEvent::IDBSuccessEvent):
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::onComplete):
+ * storage/IDBTransaction.h:
+ (WebCore::IDBTransaction::backend):
+ * storage/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::taskTimerFired):
+
+2011-02-04 Daniel Cheng <dcheng@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Clone WebClipboard to be frame-specific.
+ https://bugs.webkit.org/show_bug.cgi?id=53727
+
+ For drop operations, Chrome currently snapshots the data and copies it
+ into the renderer process. As we add more supported drag data types, the
+ copy will become increasingly expensive. Instead, we'd like to snapshot
+ data in the browser to reduce the amount of data copied and to support
+ Blob in DataTransferItem. In order to allow this, we associated
+ WebClipboard with a frame so it can correctly route its IPCs to the
+ corresponding Chromium host.
+
+ No new tests because no new functionality.
+
+ * platform/chromium/ChromiumDataObject.cpp:
+ (WebCore::ChromiumDataObject::createReadable):
+ * platform/chromium/ChromiumDataObject.h:
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::create):
+ * platform/chromium/PlatformBridge.h:
+ * platform/chromium/ReadableDataObject.cpp:
+ (WebCore::ReadableDataObject::create):
+ (WebCore::ReadableDataObject::ReadableDataObject):
+ (WebCore::ReadableDataObject::getData):
+ (WebCore::ReadableDataObject::urlTitle):
+ (WebCore::ReadableDataObject::htmlBaseUrl):
+ (WebCore::ReadableDataObject::filenames):
+ (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
+ * platform/chromium/ReadableDataObject.h:
+
+2011-02-04 Jeremy Orlow <jorlow@chromium.org>
+
+ Revert https://bugs.webkit.org/show_bug.cgi?id=53795
+
+ * storage/IDBAbortEvent.cpp:
+ (WebCore::IDBAbortEvent::create):
+ (WebCore::IDBAbortEvent::IDBAbortEvent):
+ * storage/IDBAbortEvent.h:
+ * storage/IDBCompleteEvent.cpp:
+ (WebCore::IDBCompleteEvent::create):
+ (WebCore::IDBCompleteEvent::IDBCompleteEvent):
+ * storage/IDBCompleteEvent.h:
+ * storage/IDBErrorEvent.cpp:
+ (WebCore::IDBErrorEvent::IDBErrorEvent):
+ * storage/IDBEvent.cpp:
+ (WebCore::IDBEvent::IDBEvent):
+ * storage/IDBEvent.h:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::dispatchEvent):
+ * storage/IDBRequest.h:
+ * storage/IDBSuccessEvent.cpp:
+ (WebCore::IDBSuccessEvent::IDBSuccessEvent):
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::onComplete):
+ * storage/IDBTransaction.h:
+ * storage/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::taskTimerFired):
+
+2011-02-04 Martin Galpin <martin@66laps.com>
+
+ Reviewed by David Levin.
+
+ CORS origin header not set on GET when a preflight request is required.
+ https://bugs.webkit.org/show_bug.cgi?id=50773
+
+ Test: http/tests/xmlhttprequest/cross-origin-preflight-get.html
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::preflightSuccess):
+ Explicitly set the request origin after a preflight request succeeds.
+
+2011-02-04 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ First step towards event propogation within IndexedDB
+ https://bugs.webkit.org/show_bug.cgi?id=53795
+
+ This is the first step towards implementing
+ http://www.w3.org/Bugs/Public/show_bug.cgi?id=11348
+ within IndexedDB. I've created a method that knows how
+ to capture and bubble (based on Node's dispatchGenericEvent).
+ I've then changed IDBRequest to use it.
+
+ The only functional change is that preventDefault now must
+ be called in error events to prevent the transaction from
+ being aborted. The tests reflect this change and there's one
+ specific test to look at this behavior.
+
+ Test: storage/indexeddb/error-causes-abort-by-default.html
+
+ * storage/IDBAbortEvent.cpp:
+ (WebCore::IDBAbortEvent::create):
+ (WebCore::IDBAbortEvent::IDBAbortEvent):
+ * storage/IDBAbortEvent.h:
+ * storage/IDBCompleteEvent.cpp:
+ (WebCore::IDBCompleteEvent::create):
+ (WebCore::IDBCompleteEvent::IDBCompleteEvent):
+ * storage/IDBCompleteEvent.h:
+ * storage/IDBErrorEvent.cpp:
+ (WebCore::IDBErrorEvent::IDBErrorEvent):
+ * storage/IDBEvent.cpp:
+ (WebCore::IDBEvent::IDBEvent):
+ (WebCore::IDBEvent::dispatch):
+ * storage/IDBEvent.h:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::dispatchEvent):
+ * storage/IDBRequest.h:
+ * storage/IDBSuccessEvent.cpp:
+ (WebCore::IDBSuccessEvent::IDBSuccessEvent):
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::onComplete):
+ * storage/IDBTransaction.h:
+ (WebCore::IDBTransaction::backend):
+ * storage/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::taskTimerFired):
+
+2011-02-04 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt]REGRESSION(r76951): media/controls-without-preload.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=53674
+
+ * css/mediaControlsQt.css:
+
+2011-02-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler and Dave Hyatt.
+
+ <rdar://problem/8902704> Make ruby text size 50% by default
+ https://bugs.webkit.org/show_bug.cgi?id=53723
+
+ * css/html.css:
+ (ruby > rt): Changed the font-size from 60% to 50%.
+
+2011-02-04 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53610
+ Regression: adjacent sibling selector not working as expected
+ <rdar://problem/8960033>
+
+ https://bugs.webkit.org/show_bug.cgi?id=53574
+ REGRESSION (r76012): :last-child:after not working as expected
+ <rdar://problem/8948643>
+
+ Test for additional conditions in parent style that prevent sharing.
+
+ Tests: fast/selectors/style-sharing-adjacent-selector.html
+ fast/selectors/style-sharing-last-child.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::parentStylePreventsSharing):
+ (WebCore::CSSStyleSelector::locateSharedStyle):
+
+2011-02-04 Mark Mentovai <mark@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Chromium GYP build fix.
+
+ When various settings were moved to webcore_prerequisites in r66364,
+ things that should have been direct_dependent_settings were not marked
+ as such. GYP 'defines', for example, make no sense on a 'none'-type
+ target such as webcore_prerequisites. It appears that it was intended
+ for these settings to be pushed to direct dependents, which would make
+ direct_dependent_settings correct.
+
+ Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
+ http://crbug.com/71537, which at best causes Mac console log spew, and
+ at worst may result in Chromium's copy of WebCore using system
+ definitions of certain Objective-C classes at runtime, or vice-versa.
+
+ The build now includes a postbuild step to prevent
+ http://crbug.com/71537 from regressing again. The build will fail upon
+ regression.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53630
+
+ * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
+ direct_dependent_settings as needed, add the check_objc_rename
+ postbuild step.
+ * WebCore.gyp/mac/check_objc_rename.sh: Added.
+
+2011-02-04 Robert Hogan <robert@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ Move chromium iframe shim code to cross-platform file
+ https://bugs.webkit.org/show_bug.cgi?id=52594
+
+ Move Chromium code for identifying and cutting out
+ iframe shims from plugins to cross-platform utility file
+ IFrameShimSupport.cpp.
+ Amend PluginViewQt to use this code to handle shims correctly.
+
+ * WebCore.gypi: Add Chromium support for IFrameShimSupport.cpp
+ * WebCore.pro: Add Qt support for IFrameShimSupport.cpp
+ * plugins/IFrameShimSupport.cpp: Added.
+ (WebCore::getObjectStack):
+ (WebCore::iframeIsAbovePlugin):
+ (WebCore::getPluginOcclusions):
+ * plugins/IFframeShimSupport.h: Added.
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::setNPWindowIfNeeded):
+
+2011-02-04 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by David Levin.
+
+ Implement "<option> should implement the dir attribute" for chromium port after r76983.
+ https://bugs.webkit.org/show_bug.cgi?id=50969
+
+ Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html
+ added in r76983.
+
+ * platform/chromium/PopupMenuChromium.cpp: Remove directionality hint from
+ <select> drop-down setting.
+ (WebCore::PopupListBox::paintRow): Use <option>'s directionality to paint
+ items in drop-down and pass-in bidi override flag when creating text run.
+ * platform/chromium/PopupMenuChromium.h: Remove directionalityHint from
+ PopupContainerSettings.
+
+2011-02-04 Jeremy Orlow <jorlow@chromium.org>
+
+ Build fix from merge mistake.
+
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::ensureEventTargetData):
+
+2011-02-04 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove unneeded function declarations in comments in EditorClient.h
+ https://bugs.webkit.org/show_bug.cgi?id=53745
+
+ Removing unused commented out function declarations. No tests since this is just cleanup.
+
+ * page/EditorClient.h:
+
+2011-02-03 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Refactor IDBRequest and IDBTransaction a bit
+ https://bugs.webkit.org/show_bug.cgi?id=53565
+
+ There were a lot of subtle issues with the way IDBTransaction
+ and IDBRequest used to be written. This cleans a lot of them up
+ and largely simplifies the logic. Using EventQueue rather than
+ timers is one example of the simplification.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * dom/EventQueue.cpp:
+ (WebCore::EventQueue::enqueueEvent):
+ (WebCore::EventQueue::dispatchEvent):
+ * storage/IDBCursor.cpp:
+ (WebCore::IDBCursor::continueFunction):
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::create):
+ (WebCore::IDBRequest::IDBRequest):
+ (WebCore::IDBRequest::resetReadyState):
+ (WebCore::IDBRequest::onError):
+ (WebCore::IDBRequest::onSuccess):
+ (WebCore::IDBRequest::dispatchEvent):
+ (WebCore::IDBRequest::enqueueEvent):
+ (WebCore::IDBRequest::eventTargetData):
+ (WebCore::IDBRequest::ensureEventTargetData):
+ * storage/IDBRequest.h:
+ (WebCore::IDBRequest::dispatchEvent):
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::create):
+ (WebCore::IDBTransaction::IDBTransaction):
+ (WebCore::IDBTransaction::objectStore):
+ (WebCore::IDBTransaction::abort):
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::onComplete):
+ (WebCore::IDBTransaction::onTimeout):
+ (WebCore::IDBTransaction::canSuspend):
+ (WebCore::IDBTransaction::stop):
+ (WebCore::IDBTransaction::enqueueEvent):
+ (WebCore::IDBTransaction::eventTargetData):
+ (WebCore::IDBTransaction::ensureEventTargetData):
+ * storage/IDBTransaction.h:
+
+2011-02-01 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Remove the timeout event from IndexedDB
+ https://bugs.webkit.org/show_bug.cgi?id=53521
+
+ Remove timeout and ontimeout from IDBTransaction per the spec.
+
+ * WebCore.gypi:
+ * storage/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::transaction):
+ * storage/IDBDatabase.h:
+ (WebCore::IDBDatabase::transaction):
+ * storage/IDBDatabase.idl:
+ * storage/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::setVersion):
+ (WebCore::IDBDatabaseBackendImpl::transaction):
+ * storage/IDBDatabaseBackendImpl.h:
+ * storage/IDBDatabaseBackendInterface.h:
+ * storage/IDBTimeoutEvent.cpp: Removed.
+ * storage/IDBTimeoutEvent.h: Removed.
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::IDBTransaction):
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::onComplete):
+ * storage/IDBTransaction.h:
+ * storage/IDBTransaction.idl:
+ * storage/IDBTransactionBackendImpl.cpp:
+ (WebCore::IDBTransactionBackendImpl::create):
+ (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
+ * storage/IDBTransactionBackendImpl.h:
+ * storage/IDBTransactionCallbacks.h:
+
+2011-02-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: Can't set accessibility overridden attributes on web objects
+ https://bugs.webkit.org/show_bug.cgi?id=53725
+
+ accessibilitySetOverriddenValue does not work on AX objects from WebCore because
+ the right method needed to be overridden (accessibilitySupportsOverriddenAttributes).
+ Unfortunately, there's no way to test this from DRT, since AppKit returns the overridden
+ attribute only when an AX client asks for it through the AX frameworks.
+
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilitySupportsOverriddenAttributes]):
+
+2011-02-03 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ REGRESSION(r76147): Slider thumb is not repainted when let go outside of the slider track.
+ https://bugs.webkit.org/show_bug.cgi?id=53691
+
+ Test: fast/repaint/slider-thumb-drag-release.html
+
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::stopDragging): Added dirtying the layout bit to ensure
+ that the thumb is repainted.
+
+2011-02-04 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Add "show more" data grid node and waiting message UI components.
+ https://bugs.webkit.org/show_bug.cgi?id=53763
+
+ - "show more" data grid node is used for on-demand population of
+ data grid contents (similar to DOM tree capability for limiting
+ displayed nodes count);
+
+ - waiting message is used for informing user about long lasting
+ operations (with a possibility to cancel them).
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/PleaseWaitMessage.js: Added.
+ (WebInspector.PleaseWaitMessage):
+ * inspector/front-end/ShowMoreDataGridNode.js: Added.
+ (WebInspector.ShowMoreDataGridNode):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ (.data-grid button):
+ (.please-wait-msg):
+ * inspector/front-end/inspector.html:
+
+2011-02-04 Adele Peterson <adele@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=53740
+ <rdar://problem/8503629> Allow platforms to specify if the placeholder should be visible when text controls are focused
+
+ Tests:
+ fast/forms/textarea-placeholder-visibility-1.html
+ fast/forms/textarea-placeholder-visibility-2.html
+ fast/forms/input-placeholder-visibility-1.html
+ fast/forms/input-placeholder-visibility-2.html
+ fast/forms/input-placeholder-visibility-3.html
+
+ * html/HTMLFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
+ Add a check for shouldShowPlaceholderWhenFocused.
+ * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::updateValue):
+ Whenever the value is updated, we should also update placeholder visibility.
+ * rendering/RenderTheme.h: (WebCore::RenderTheme::shouldShowPlaceholderWhenFocused):
+ Make the default the same as the existing behavior.
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
+ Show placeholder when appropriate.
+
+2011-02-04 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: evaluate on hover does not work on a breakpoint.
+ https://bugs.webkit.org/show_bug.cgi?id=53768
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._mouseHover):
+
+2011-02-04 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77625 and r77626.
+ http://trac.webkit.org/changeset/77625
+ http://trac.webkit.org/changeset/77626
+ https://bugs.webkit.org/show_bug.cgi?id=53765
+
+ It broke Windows builds (Requested by Ossy_ on #webkit).
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * ForwardingHeaders/pcre/pcre.h: Added.
+ * ForwardingHeaders/yarr/Yarr.h: Removed.
+ * ForwardingHeaders/yarr/YarrInterpreter.h: Removed.
+ * ForwardingHeaders/yarr/YarrPattern.h: Removed.
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/copyForwardingHeaders.cmd:
+ * platform/text/RegularExpression.cpp:
+ (WebCore::RegularExpression::Private::regexp):
+ (WebCore::RegularExpression::Private::compile):
+ (WebCore::RegularExpression::Private::Private):
+ (WebCore::RegularExpression::Private::create):
+ (WebCore::RegularExpression::Private::~Private):
+ (WebCore::RegularExpression::match):
+
+2011-02-04 Peter Varga <pvarga@webkit.org>
+
+ Rubber-stamped by Csaba Osztrogonác.
+
+ Replace PCRE with Yarr in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=53496
+
+ Speculative windows build fix.
+
+ No new tests needed.
+
+ * platform/text/RegularExpression.cpp:
+
+2011-02-04 Peter Varga <pvarga@webkit.org>
+
+
+ Reviewed by Gavin Barraclough.
+
+ Replace PCRE with Yarr in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=53496
+
+ No new tests needed.
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * ForwardingHeaders/pcre/pcre.h: Removed.
+ * ForwardingHeaders/yarr/Yarr.h: Added.
+ * ForwardingHeaders/yarr/YarrInterpreter.h: Added.
+ * ForwardingHeaders/yarr/YarrPattern.h: Added.
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/copyForwardingHeaders.cmd:
+ * platform/text/RegularExpression.cpp:
+ (WebCore::RegularExpression::Private::create):
+ (WebCore::RegularExpression::Private::Private):
+ (WebCore::RegularExpression::Private::compile):
+ (WebCore::RegularExpression::match):
+
+2011-02-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Network panel filtering is broken.
+ https://bugs.webkit.org/show_bug.cgi?id=53764
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype._sortItems):
+ (WebInspector.NetworkPanel.prototype._sortByTimeline):
+ (WebInspector.NetworkPanel.prototype._filter):
+ (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
+ (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
+ (WebInspector.NetworkDataGridNode.prototype.get selectable):
+ (WebInspector.NetworkTotalGridNode.prototype.isFilteredOut):
+ (WebInspector.NetworkTotalGridNode.prototype.get selectable):
+
+2011-02-04 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: support overriding user agent strings
+ https://bugs.webkit.org/show_bug.cgi?id=51485
+
+ Test: http/tests/inspector/extensions-useragent.html
+
+ * inspector/Inspector.idl:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::disconnectFrontend):
+ (WebCore::InspectorController::setUserAgentOverride):
+ (WebCore::InspectorController::userAgentOverride):
+ * inspector/InspectorController.h:
+ * inspector/front-end/ExtensionAPI.js:
+ (WebInspector.injectedExtensionAPI.InspectedWindow.prototype.reload):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onReload):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::userAgent):
+ (WebCore::FrameLoader::applyUserAgent):
+
+2011-02-04 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: scripts panel displays wrong file name after reload.
+ https://bugs.webkit.org/show_bug.cgi?id=53761
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
+
+2011-02-03 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: remove settings related methods from InspectorClient
+ https://bugs.webkit.org/show_bug.cgi?id=53686
+
+ * WebCore.exp.in:
+ * inspector/CodeGeneratorInspector.pm:
+ * inspector/InspectorClient.h:
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
+ (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
+ (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
+ * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
+ provide platform-specific settings accessor.
+ (WebCore::InspectorFrontendClientLocal::Settings::Settings):
+ (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
+ (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
+ (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
+ * loader/EmptyClients.h:
+
+2011-02-03 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [v8] frame several more JS code invocations into v8::TryCatch
+ https://bugs.webkit.org/show_bug.cgi?id=53594
+
+ This patch is preemptive and adjusts v8 bindings code to forthcoming small change
+ in v8::ThrowException---currently sometimes exceptions thrown by this method
+ do not reach surrounding v8::TryCatch handler (see
+ http://code.google.com/p/v8/issues/detail?id=1072 and
+ http://codereview.chromium.org/6397011/). Therefore the goal of this patch
+ is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
+ one rebaseline as of now.)
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
+ * bindings/v8/V8WindowErrorHandler.cpp:
+ (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
+
+2011-02-03 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
+ https://bugs.webkit.org/show_bug.cgi?id=52897
+ <rdar://problem/8898294>
+
+ * WebCore.exp.in: Add export now needed by WebKit2
+
+2011-02-03 Victoria Kirst <vrk@google.com>
+
+ Reviewed by James Robinson.
+
+ Replaces float literals with uniform values in shader code
+ so that buggy drivers unable to parse float values in different
+ locales will not produce a pink video.
+
+ [chromium] Fix pink video bug with gpu-acceleration enabled
+ https://bugs.webkit.org/show_bug.cgi?id=53568
+
+ * platform/graphics/chromium/VideoLayerChromium.cpp:
+ (WebCore::VideoLayerChromium::SharedValues::SharedValues):
+ (WebCore::VideoLayerChromium::drawYUV):
+ * platform/graphics/chromium/VideoLayerChromium.h:
+ (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
+
+2011-02-03 James Kozianski <koz@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add navigator.registerProtocolHandler behind a flag.
+ https://bugs.webkit.org/show_bug.cgi?id=52609
+
+ This method is described in the HTML5 specification here,
+ http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
+
+ This change is largely cribbed from B. Green's 29651 patches. It is
+ behind a flag so as not to break JS feature detection.
+
+ New layout test fast/dom/registerProtocolHandler.html.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::registerProtocolHandler):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::registerProtocolHandler):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * page/Navigator.cpp:
+ (WebCore::verifyCustomHandlerURL):
+ (WebCore::verifyProtocolHandlerScheme):
+ (WebCore::Navigator::registerProtocolHandler):
+ * page/Navigator.h:
+ * page/Navigator.idl:
+
+2011-02-03 Brian Ryner <bryner@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Add a field to the ResourceResponse for tracking the socket address
+ of the host that the resource was fetched from. Patch was originally
+ by Paul Marks.
+ https://bugs.webkit.org/show_bug.cgi?id=53699
+
+ * platform/network/chromium/ResourceResponse.cpp:
+ (WebCore::ResourceResponse::doPlatformCopyData):
+ (WebCore::ResourceResponse::doPlatformAdopt):
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::socketAddress):
+ (WebCore::ResourceResponse::setSocketAddress):
+
+2011-02-03 Adam Langley <agl@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Plumb mixed script URL to FrameLoaderClient
+ https://bugs.webkit.org/show_bug.cgi?id=52384
+
+ Regressions covered by http/tests/security/mixedContent/*
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::checkIfRunInsecureContent):
+ * loader/FrameLoaderClient.h:
+
+2011-02-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: Artifacts on box-shadow corners in some cases
+ https://bugs.webkit.org/show_bug.cgi?id=53731
+
+ Fix overdrawing artifacts in ShadowBlur's tiling code path,
+ which show up in shadows using a color with alpha.
+
+ Test: fast/box-shadow/shadow-tiling-artifact.html
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
+ that the inner rect that gets filled does not overlap with any
+ of the eight tiled areas by having the corner and side dimensions
+ be the same for contiguous areas.
+
+2011-02-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
+ percent signs in large posted data
+ https://bugs.webkit.org/show_bug.cgi?id=53405
+
+ If the input string contains many non-% characters followed by a %
+ character that is not a valid URL escape sequence, then the old
+ algorithm would only advance the initial search by one character
+ (instead of jumping to just after the % character). That would cause
+ the algorithm to take N^2 time (in the number of characters before the
+ first % character). This patch just advances the search past the first
+ % character so we can start looking for next % character sooner.
+
+ * platform/KURL.cpp:
+ (WebCore::decodeURLEscapeSequences):
+
+2011-02-03 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: click on a breakpoint highlights wrong line in source frame.
+ https://bugs.webkit.org/show_bug.cgi?id=53692
+
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
+
+2011-02-03 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [v8] Bail out if to string conversion returned empty handle
+ https://bugs.webkit.org/show_bug.cgi?id=53687
+
+ This a temporary measure: actually one probably should never get empty handle
+ if there was no exception. The root cause is under investigation.
+ The bailout though allows Chromium not to crash---attempt to convert an empty
+ v8 hande into WebCore string crashes with invalid memory access.
+
+ See http://code.google.com/p/chromium/issues/detail?id=71544
+
+ There is no known reduction expressible as a layout test so far. The crash found with automated testing tools.
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
+ * bindings/v8/V8Binding.h:
+ (WebCore::V8ParameterBase::prepareBase): Ditto
+
+2011-02-03 Adam Barth <abarth@webkit.org>
+
+ Attempt to fix Chromium build.
+
+ * html/parser/XSSFilter.cpp:
+
+2011-02-03 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, rolling out r77562.
+ http://trac.webkit.org/changeset/77562
+ https://bugs.webkit.org/show_bug.cgi?id=53630
+
+ broke chromium mac build
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gyp/mac/check_objc_rename.sh: Removed.
+
+2011-02-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSS Auditor severely affects loading performance after submitting a large form
+ https://bugs.webkit.org/show_bug.cgi?id=49845
+
+ Switch over from the XSSAuditor to the XSSFilter, improving performance
+ on this example.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterToken):
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::isEnabled):
+
+2011-02-03 Dirk Pranke <dpranke@chromium.org>
+
+ Unreviewed, rolling out r77567.
+ http://trac.webkit.org/changeset/77567
+ https://bugs.webkit.org/show_bug.cgi?id=53468
+
+ broke chromium linux svg, canvas tests, possibly win also?
+
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::getImageData):
+ (WebCore::ImageBuffer::getUnmultipliedImageData):
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ (WebCore::putImageData):
+ (WebCore::ImageBuffer::putUnmultipliedImageData):
+ (WebCore::ImageBuffer::putPremultipliedImageData):
+
+2011-02-02 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Refactoring: <progress> should not use ShadowElement
+ https://bugs.webkit.org/show_bug.cgi?id=53583
+
+ - Introduced RenderIndicatorPart and RenderProgressBarValuePart
+ to be responsible for bar-part layout,
+ which adopted layout logic from ShadowBlockElement.
+ - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
+ - Remove dependency from RenderProgress to HTMLProgressElement and
+ ShadowBlockElement.
+ - The shadow tree is no longer removed on detach(). It becomes persistent.
+ This is now possible because the ShadowBlockElement dependency is gone.
+ - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
+ That didn't make sense.
+
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
+ * html/HTMLProgressElement.h:
+ * html/shadow/ProgressBarValueElement.h: Added.
+ (WebCore::ProgressBarValueElement::ProgressBarValueElement):
+ (WebCore::ProgressBarValueElement::shadowPseudoId):
+ (WebCore::ProgressBarValueElement::createRenderer):
+ (WebCore::ProgressBarValueElement::create):
+ * rendering/RenderIndicator.cpp:
+ (WebCore::RenderIndicatorPart::RenderIndicatorPart):
+ (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
+ (WebCore::RenderIndicatorPart::layout):
+ (WebCore::RenderIndicatorPart::styleDidChange):
+ * rendering/RenderIndicator.h: Added RenderIndicatorPart class
+ (WebCore::RenderIndicatorPart::originalVisibility):
+ (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
+ (WebCore::RenderIndicatorPart::canHaveChildren):
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgressBarValuePart::preferredFrameRect):
+ (WebCore::RenderProgressBarValuePart::shouldBeHidden):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::layoutParts):
+ (WebCore::RenderProgress::shouldHaveParts):
+ * rendering/RenderProgress.h:
+ (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
+
+2011-02-03 Jia Pu <jpu@apple.com>
+
+ Reversion should not be marked as misspelled.
+ https://bugs.webkit.org/show_bug.cgi?id=53255
+
+ This patch includes fix for reported bug, and also some housekeeping changes.
+
+ To implement desired behavior, we need:
+ 1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
+ that shouldn't be spellchecked and text shouldn't be autocorrected.
+ 2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
+ Otherwise the spell checking code in that function may interfere with autocorrection. This
+ is achieved by explicitly applying pending correction when user types space, line break or
+ paragraph break.
+
+ Housekeeping code changes include:
+ 1. Change manual-tests that were broken by relocated WebCore directory.
+ 2. Use TextIterator in various DocumentMarkerController functions instead of using
+ Node::traverseNextNode() directly.
+ 3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
+ DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
+ 4. Fixes of minor bugs that were exposed previously.
+
+ * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
+
+ * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
+
+ * dom/DocumentMarkerController.cpp:
+ (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
+ consistent with addMarker() function. Allow passing in multiple marker types in one call.
+ Added a boolean argument to specify the behavior when removing markers that partially
+ overlap the specified range.
+ (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
+ multiple marker types in one call.
+ (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
+ consistent with addMarker() function. Allow passing in multiple marker types in one call.
+
+ * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
+ and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
+ removing markers that partially overlap the specified range.
+
+ * editing/Editor.cpp:
+ (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
+ (WebCore::markerTypesForReplacement): Ditto.
+ (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
+ setSelection() to make sure there is no pending correction when entering
+ markAllMisspellingsAndBadGrammarInRanges().
+ (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
+ is a top level command to improve efficiency.
+ (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
+ (WebCore::Editor::insertLineBreak): Ditto.
+ (WebCore::Editor::insertParagraphSeparator): Ditto.
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
+ text carries SpellCheckingExemption marker.
+ (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
+ from spellchecker is an empty string.
+ (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
+ Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
+ efficiency and readability.
+ (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
+ applying correction, since it's unnecessary. Also, store pre-correction string together with
+ the marker for reversion panel to use.
+ (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
+ (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
+ where we have access to EditCommand object.
+
+ * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
+
+ * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
+ were broken by relocated WebCore directory.
+
+ * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
+
+ * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
+
+ * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
+
+ * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
+
+ * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
+
+ * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
+
+ * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
+
+ * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
+
+ * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
+
+ * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
+ were broken by relocated WebCore directory.
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
+
+2011-02-03 Abhishek Arya <inferno@chromium.org>
+
+ Unreviewed, qt build fix.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeFloatingObject):
+
+2011-02-03 Brian Salomon <bsalomon@google.com>
+
+ Reviewed by James Robinson.
+
+ Handle non-raster backed images in getUnmultipliedImageData()
+ https://bugs.webkit.org/show_bug.cgi?id=53468
+
+ No new tests. Existing canvas tests sufficient
+ LayoutTests/canvas/philip/...
+
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::getImageData):
+ (WebCore::ImageBuffer::getUnmultipliedImageData):
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ (WebCore::putImageData):
+ (WebCore::ImageBuffer::putUnmultipliedImageData):
+ (WebCore::ImageBuffer::putPremultipliedImageData):
+
+2011-02-03 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Enforce more limits on root inline boxes height calculations.
+ https://bugs.webkit.org/show_bug.cgi?id=53729
+
+ Test: fast/overflow/overflow-height-float-not-removed-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
+ become negative when logicalTop is INT_MAX.
+ (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
+ is INT_MAX, we should dirty everything. So, we bail out to make
+ afterLowest equal to the lastRootBox() or lowestDirstLine.
+
+2011-02-03 David Levin <levin@chromium.org>
+
+ Reviewed by Adam Barth and Oliver Hunt.
+
+ Worker.importScript() should clean errors for cross origin imports.
+ https://bugs.webkit.org/show_bug.cgi?id=52871
+
+ Test: http/tests/workers/worker-importScriptsOnError.html
+
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
+ to determine when to create a clean exception.
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
+ if the error needs to be cleaned up.
+ (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
+ sanitizeScriptError for use by other places.
+ * dom/ScriptExecutionContext.h:
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::importScripts): Use the reponse url when
+ telling the evaluate where the script came fro.
+ * workers/WorkerScriptLoader.cpp:
+ (WebCore::WorkerScriptLoader::responseURL): Expose the url that
+ the script was loaded from (which may be different from url() due
+ to redirects).
+ (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
+ * workers/WorkerScriptLoader.h:
+
+2011-02-03 Mark Mentovai <mark@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Chromium GYP build fix.
+
+ When various settings were moved to webcore_prerequisites in r66364,
+ things that should have been direct_dependent_settings were not marked
+ as such. GYP 'defines', for example, make no sense on a 'none'-type
+ target such as webcore_prerequisites. It appears that it was intended
+ for these settings to be pushed to direct dependents, which would make
+ direct_dependent_settings correct.
+
+ Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
+ http://crbug.com/71537, which at best causes Mac console log spew, and
+ at worst may result in Chromium's copy of WebCore using system
+ definitions of certain Objective-C classes at runtime, or vice-versa.
+
+ The build now includes a postbuild step to prevent
+ http://crbug.com/71537 from regressing again. The build will fail upon
+ regression.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53630
+
+ * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
+ direct_dependent_settings as needed, add the check_objc_rename
+ postbuild step.
+ * WebCore.gyp/mac/check_objc_rename.sh: Added.
+
+2011-02-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Make XSSFilter go fast by adding a SuffixTree
+ https://bugs.webkit.org/show_bug.cgi?id=53665
+
+ The SuffixTree lets us quickly reject snippets if the POST data is
+ large (because we can avoid a linear scan over the POST data).
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::init):
+ (WebCore::XSSFilter::isContainedInRequest):
+ * html/parser/XSSFilter.h:
+
+2011-02-03 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ REGRESSION (r77355): Page cache layout tests crash
+ https://bugs.webkit.org/show_bug.cgi?id=53648
+
+ Test: fast/events/pagehide-timeout.html
+
+ Suspend active DOM objects after all pagehide event handlers have run,
+ otherwise it's possible for them to create more objects that weren't
+ getting suspended.
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::CachedFrame):
+
+2011-02-03 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ SerializedScriptValue should not require v8 to create undefined and null values
+ https://bugs.webkit.org/show_bug.cgi?id=53730
+
+ Instead of creating a v8 type and passing that into the constructor, just use
+ the writer class directly. While I was at it, I cleaned up the code a bit too
+ by getting rid of the WireData/StringValue enum as I found that personally
+ confusing.
+
+ This is necessary because these methods are called by IndexedDB in the browser
+ process where v8 is not spun up.
+
+ No functionality changed and not possible to test.
+
+ * bindings/v8/SerializedScriptValue.cpp:
+ (WebCore::SerializedScriptValue::createFromWire):
+ (WebCore::SerializedScriptValue::create):
+ (WebCore::SerializedScriptValue::nullValue):
+ (WebCore::SerializedScriptValue::undefinedValue):
+ (WebCore::SerializedScriptValue::release):
+ (WebCore::SerializedScriptValue::SerializedScriptValue):
+ * bindings/v8/SerializedScriptValue.h:
+
+2011-02-03 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8944544> Ability to animate track
+ for WKPainter scrollers
+
+ Two new WebKitSystemInterface functions.
+ * WebCore.exp.in:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+ Use Scrollbar::convertFromContainingView() to return the right point.
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
+
+ ScrollKnobAnimation is now ScrollbarPartAnimation. It can
+ now be used to animate the knob or the track.
+ (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
+ (-[ScrollbarPartAnimation setCurrentProgress:]):
+ (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
+
+ Scrollbars need invalodating after the overlay state changes.
+ (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
+
+2011-02-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Scroll thumb jumps to top when resizing horizontally.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars): Add call to update
+ the scrollbar's offset in the case where we may have created
+ a new scrollbar but have not changed the current position.
+
+2011-02-03 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Dirk Schulze.
+
+ startAnimations should use a local, RefCounted Vector.
+ https://bugs.webkit.org/show_bug.cgi?id=53458
+
+ Test: svg/custom/use-animation-in-fill.html
+
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::startAnimations):
+
+2011-02-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter shouldn't bother to analyze pages without "injection"
+ characters in the request
+ https://bugs.webkit.org/show_bug.cgi?id=53664
+
+ If the request lacks these "injection" characters, then it's unlikely
+ that there's a reflective XSS attack happening. This hueristic lets us
+ avoid analyzing the vast majority of responses for XSS. Of course, the
+ hueristic isn't perfect. Because of this huerstic, we miss out on
+ injections into unquoted attributes. However, it's a trade-off that's
+ worked well in the XSSAuditor.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::isRequiredForInjection):
+ (WebCore::XSSFilter::XSSFilter):
+ (WebCore::XSSFilter::init):
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::isContainedInRequest):
+ * html/parser/XSSFilter.h:
+
+2011-02-03 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Fixing a compositor crash occurring on layers
+ without an associated RenderSurface.
+ https://bugs.webkit.org/show_bug.cgi?id=53679
+ Regression was introduced by in r77425
+
+ Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
+ anymore.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawLayer):
+
+2011-02-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
+ https://bugs.webkit.org/show_bug.cgi?id=53709
+
+ Covered by rendering of fast/text/emphasis-vertical.html
+
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
+ has.
+
+2011-02-02 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Moving cursor down in table cycles at the end of a row
+ https://bugs.webkit.org/show_bug.cgi?id=50012
+
+ Avoids a caret cycling issue with certain content (e.g. tables) found at the very
+ end of a document due to a bug in nextLeafWithSameEditability.
+
+ Test: editing/selection/move-by-line-cycles-in-table.html
+
+ * editing/visible_units.cpp:
+ (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
+ original leaf node.
+
+2011-02-03 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: remove dead code related to changes panel.
+ https://bugs.webkit.org/show_bug.cgi?id=53688
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/ChangesView.js: Removed.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ (#error-warning-count):
+ (#error-warning-count:hover):
+ (#error-count + #warning-count):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add notification of the end of a rubber band.
+ <rdar://problem/8940648>
+
+ * WebCore.exp.in:
+ Add additional exprots.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::didCompleteRubberBand):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::didCompleteRubberBand):
+ * platform/ScrollView.h:
+ Add hook.
+
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::inLiveResize):
+ (WebCore::ScrollableArea::maximumScrollPosition):
+ (WebCore::ScrollableArea::visibleWidth):
+ (WebCore::ScrollableArea::overhangAmount):
+ (WebCore::ScrollableArea::didCompleteRubberBand):
+ Reorganize and de-virtualize live resize notifications.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
+ Call the new hook when the rubberband ends.
+
+2011-02-02 Evan Martin <evan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] complex joining characters positioned in wrong place
+ https://bugs.webkit.org/show_bug.cgi?id=53637
+
+ Provide the correct font metrics to Harfbuzz related to the font design space.
+ There are used in some fonts for GPOS positioning.
+
+ Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::setupFontForScriptRun):
+ (WebCore::ComplexTextController::allocHarfbuzzFont):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::emSizeInFontUnits):
+ (WebCore::FontPlatformData::operator=):
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
+ https://bugs.webkit.org/show_bug.cgi?id=53634
+
+ Test: fast/dom/HTMLInputElement/input-slider-update.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
+ * html/InputType.cpp:
+ (WebCore::InputType::valueChanged): Added empty implementation.
+ * html/InputType.h: Added def.
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
+ bit on the thumb.
+ * html/RangeInputType.h: Added def.
+
+2011-02-02 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: do not share source frames between resources panel and scripts panel.
+ https://bugs.webkit.org/show_bug.cgi?id=53584
+
+ Currently, we show error messages only for resources. This change will allow showing error
+ messages in source frame even when resource is not available (eval scripts, inlined scripts).
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.addMessage):
+ (WebInspector.ConsoleView.prototype.clearMessages):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView.recreateResourceView):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
+ (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
+ (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
+ (WebInspector.ScriptsPanel.prototype.reset):
+ (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
+ (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
+ (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
+
+2011-02-03 Simon Fraser <simon.fraser@apple.com>
+
+ Fix 32-bit builds.
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::blurLayerImage):
+
+2011-02-03 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
+ https://bugs.webkit.org/show_bug.cgi?id=53592
+
+ In JSC there is no limit, thus 'undefined' value is returned.
+ For V8, the limit reported by the VM is returned.
+
+ * Android.jscbindings.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/js/JSMemoryInfoCustom.cpp: Added.
+ * bindings/js/ScriptGCEvent.cpp:
+ (WebCore::ScriptGCEvent::getHeapSize):
+ * bindings/js/ScriptGCEvent.h:
+ * bindings/v8/ScriptGCEvent.cpp:
+ (WebCore::ScriptGCEvent::getHeapSize):
+ * bindings/v8/ScriptGCEvent.h:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
+ * page/MemoryInfo.cpp:
+ (WebCore::MemoryInfo::MemoryInfo):
+ * page/MemoryInfo.h:
+ (WebCore::MemoryInfo::jsHeapSizeLimit):
+ * page/MemoryInfo.idl:
+
+2011-01-27 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=53125
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
+
+2011-02-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ ShadowBlur radius for CSS shadows is slightly too big
+ https://bugs.webkit.org/show_bug.cgi?id=53660
+
+ If we follow SVG gaussian blur for CSS shadows, we can end up rendering
+ shadows that extend further than the CSS "blur radius", which results
+ in the shadows being truncated.
+
+ Fix with a small fudge factor to reduce the kernel diameter slightly
+ for CSS shadows.
+
+ Also more closely follow the algorithm described in the SVG spec
+ for computing the kernel size for different diameters, and clean up
+ some variable naming relating to the shadow bounds.
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::blurLayerImage):
+ (WebCore::ShadowBlur::drawRectShadowWithTiling):
+
+2011-02-01 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: introduce new api for managing JavaScript breakpoints.
+ https://bugs.webkit.org/show_bug.cgi?id=53235
+
+ Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
+ removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
+ Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
+
+ SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
+ JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
+
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/v8/DebuggerScript.js:
+ ():
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ * bindings/v8/ScriptDebugServer.h:
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
+ (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
+ (WebCore::InspectorAgent::populateScriptObjects):
+ (WebCore::InspectorAgent::restoreDebugger):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
+ (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
+ (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
+ (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
+ (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
+ (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
+ (WebCore::InspectorDebuggerAgent::continueToLocation):
+ (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
+ (WebCore::InspectorDebuggerAgent::getScriptSource):
+ (WebCore::InspectorDebuggerAgent::didParseSource):
+ (WebCore::InspectorDebuggerAgent::didPause):
+ * inspector/InspectorDebuggerAgent.h:
+ (WebCore::InspectorDebuggerAgent::Script::Script):
+ * inspector/InspectorValues.cpp:
+ (WebCore::InspectorValue::asNumber):
+ (WebCore::InspectorBasicValue::asNumber):
+ (WebCore::InspectorObject::remove):
+ * inspector/InspectorValues.h:
+ (WebCore::InspectorObject::getNumber):
+ (WebCore::InspectorObject::find):
+ * inspector/ScriptBreakpoint.h:
+ (WebCore::ScriptBreakpoint::ScriptBreakpoint):
+ * inspector/front-end/Breakpoint.js:
+ (WebInspector.Breakpoint):
+ (WebInspector.Breakpoint.prototype.addLocation):
+ * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
+ (WebInspector.BreakpointManager):
+ (WebInspector.BreakpointManager.prototype._projectChanged):
+ (WebInspector.BreakpointManager.prototype._saveBreakpoints):
+ (WebInspector.BreakpointManager.prototype._validateBreakpoints):
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
+ * inspector/front-end/DebuggerModel.js:
+ (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
+ * inspector/front-end/Script.js:
+ (WebInspector.Script.prototype.sourceLine):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+ * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
+ * inspector/front-end/inspector.js:
+
+2011-02-03 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ small text which is scaled to be large renders pixelated
+ https://bugs.webkit.org/show_bug.cgi?id=12448
+
+ SVG <text> with font-size smaller or equal to 1 does not paint correctly
+ https://bugs.webkit.org/show_bug.cgi?id=14242
+
+ misplaced text in SVG
+ https://bugs.webkit.org/show_bug.cgi?id=17053
+
+ Don't render very small (but zoomed) text inside SVG
+ https://bugs.webkit.org/show_bug.cgi?id=19393
+
+ Tiny fonts scaled up end up too large in Safari
+ https://bugs.webkit.org/show_bug.cgi?id=20192
+
+ Stretched SVG Text has awful glyph spacing
+ https://bugs.webkit.org/show_bug.cgi?id=21774
+
+ REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=49846
+
+ [Gtk] Text height in zoomed SVG is 1px too high
+ https://bugs.webkit.org/show_bug.cgi?id=50313
+
+ SVG text smaller than 0.5px not displayed properly
+ https://bugs.webkit.org/show_bug.cgi?id=50528
+
+ When rendering text, we're selecting a font with a size, as specified in the markup.
+ This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
+ element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
+ problem becomes apparent.
+
+ Consider following two snippets, which should render exactly the same:
+ <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
+ <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
+
+ When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
+ which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
+ Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
+
+ To fix this in a cross-platform fashion, we now always compute the final font size on screen,
+ remove any scaling from the context, draw the text using the scaled font size, then reapply
+ the context scale. This makes the example snippets above render exactly the same and fixes
+ numerous of bugs, present since years. As we're now heavily using floating-point font sizes
+ internally, depending on the scale of the document, it's very important to use the new
+ floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
+
+ Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
+ svg/hixie/text/003.html (no more pixelation)
+ svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
+ svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
+ svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
+
+ Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
+ svg/text/font-size-below-point-five.svg (reduction from bug 50528)
+ svg/text/scaled-font.svg (reduction from bug 12448)
+ svg/text/small-fonts-2.svg (reduction from bug 14242)
+ svg/text/small-fonts-3.svg (reduction from bug 17053)
+ svg/text/small-fonts-in-html5.html (reduction from bug 19393)
+ svg/text/small-fonts.svg (reduction from bug 20192))
+
+ * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
+ * rendering/svg/RenderSVGInlineText.h:
+ * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
+ * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
+ * rendering/svg/SVGInlineTextBox.h:
+ * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
+ * rendering/svg/SVGTextMetrics.cpp: Ditto.
+ * rendering/svg/SVGTextMetrics.h: Ditto.
+ * rendering/svg/SVGTextQuery.cpp: Ditto.
+ * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
+ * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
+ * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
+ * svg/SVGTextPositioningElement.h:
+
+2011-02-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: resources panel doesn't show frames after reload.
+ https://bugs.webkit.org/show_bug.cgi?id=53430
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.show):
+ (WebInspector.ResourcesPanel.prototype.loadEventFired):
+ (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
+ (WebInspector.ResourcesPanel.prototype.reset):
+ (WebInspector.ResourcesPanel.prototype.clear):
+ * inspector/front-end/inspector.js:
+ (WebInspector.loadEventFired):
+
+2011-02-01 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
+ https://bugs.webkit.org/show_bug.cgi?id=53492
+
+ * inspector/Inspector.idl:
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::getStylesForNode):
+ (WebCore::InspectorCSSAgent::getInlineStyleForNode):
+ (WebCore::InspectorCSSAgent::getComputedStyleForNode):
+ (WebCore::InspectorCSSAgent::getAllStyles):
+ (WebCore::InspectorCSSAgent::getStyleSheet):
+ (WebCore::InspectorCSSAgent::getStyleSheetText):
+ (WebCore::InspectorCSSAgent::setStyleSheetText):
+ (WebCore::InspectorCSSAgent::setPropertyText):
+ (WebCore::InspectorCSSAgent::toggleProperty):
+ (WebCore::InspectorCSSAgent::setRuleSelector):
+ (WebCore::InspectorCSSAgent::addRule):
+ * inspector/InspectorCSSAgent.h:
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel.prototype.getStylesAsync):
+ (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
+ (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
+ (WebInspector.CSSStyleModel.prototype.setRuleSelector):
+ (WebInspector.CSSStyleModel.prototype.addRule):
+ (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
+ (WebInspector.CSSStyleModel.prototype._onRevert):
+ (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
+ (WebInspector.CSSProperty.prototype.setText):
+ (WebInspector.CSSProperty.prototype.setDisabled):
+ (WebInspector.CSSStyleSheet.createForId):
+ (WebInspector.CSSStyleSheet.prototype.setText):
+
+2011-02-03 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter about data URLs
+ https://bugs.webkit.org/show_bug.cgi?id=53662
+
+ The XSS filter doesn't really make sense for data URLs because
+ everything in a "response" from a data URL was part of the request.
+
+ Test: http/tests/security/xssAuditor/data-urls-work.html
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::init):
+ (WebCore::XSSFilter::filterToken):
+
+2011-02-02 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ window.find() can fail when switching case sensitivity
+ https://bugs.webkit.org/show_bug.cgi?id=53654
+
+ Reset the pattern to a safe one when done, to avoid usearch_reset()
+ indirectly touching the old, stale text pointer.
+
+ Test: fast/text/find-window.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
+
+2011-02-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter that <param> elements can contain URLs
+ https://bugs.webkit.org/show_bug.cgi?id=53652
+
+ When loading plugins for the <object> tag, we're "smart" enough to
+ reach into the <param> elements and pull out the URL in some cases.
+ This patch teaches the XSSFilter how to block injections into those
+ sorts of param elements.
+
+ Fixes:
+ http/tests/security/xssAuditor/object-*
+
+ * html/HTMLParamElement.cpp:
+ (WebCore::HTMLParamElement::isURLParameter):
+ (WebCore::HTMLParamElement::isURLAttribute):
+ (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
+ * html/HTMLParamElement.h:
+ - Add a helper function so that HTMLParamElement can share the
+ ground truth for these names with the XSSFilter.
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterTokenInitial):
+ (WebCore::XSSFilter::filterParamToken):
+ * html/parser/XSSFilter.h:
+
+2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by David Levin.
+
+ GCC compiler on ARM issues bogus warnings and fails to compile.
+ https://bugs.webkit.org/show_bug.cgi?id=53620
+
+ Despite warnings explicitly being disallowed (-Wno-uninitialized),
+ gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
+
+ "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
+
+ The fix is to add an extra condition, which somehow pacifies the compiler.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
+
+2011-02-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter about X-XSS-Protection
+ https://bugs.webkit.org/show_bug.cgi?id=53640
+
+ This patch causes us to pass:
+ http/tests/security/xssAuditor/full-block-*
+ http/tests/security/xssAuditor/no-protection-script-tag.html
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::XSSFilter):
+ (WebCore::XSSFilter::init):
+ (WebCore::XSSFilter::filterToken):
+ * html/parser/XSSFilter.h:
+
+2011-02-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
+ instead of the empty string
+ https://bugs.webkit.org/show_bug.cgi?id=53643
+
+ In a URL context, the empty string completes to the URL of the current
+ page, which causes these tests to go into an infinite loop. Instead,
+ we should use a "safe" JavaScript URL that does nothing.
+
+ Fixes:
+ http/tests/security/xssAuditor/javascript-link*
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
+
+2011-02-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
+ https://bugs.webkit.org/show_bug.cgi?id=44942
+
+ Test: fast/text/bidi-embedding-pop-and-push-same-2.html
+
+ * platform/text/BidiResolver.h:
+ (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
+ a change to embedding levels.
+ (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
+ the explicit embedding sequence, then runs were not added, and we should continue normally.
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix miscalculation of the overhang area used for painting. We were
+ not correctly accounting for scrollbars resulting in an non-negative
+ overhang even when we weren't over the edge.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::calculateOverhangAreasForPainting):
+
+2011-02-02 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
+ https://bugs.webkit.org/show_bug.cgi?id=52722
+
+ The solution is to change ScriptExecutionContext's destructor to iterate over
+ the list in a way that handles the mutations. This new method is destructive,
+ but that's OK since the object is going away. I've also added a several asserts.
+
+ There should be no behavior change.
+
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::ScriptExecutionContext):
+ (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::createdActiveDOMObject):
+ (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
+ * dom/ScriptExecutionContext.h:
+ * storage/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::contextDestroyed):
+ * storage/IDBTransaction.h:
+
+2011-02-02 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
+ up in the HashMap rather than relying on a local variable that doesn't
+ exist.
+
+2011-02-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter about JavaScript URLs
+ https://bugs.webkit.org/show_bug.cgi?id=53635
+
+ This patch teaches the XSSFilter to check for JavaScript URLs in
+ attribute values. If this approach has too many false positives, we
+ can restrict which attribute names we examine.
+
+ Fixes these tests:
+ http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
+ http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
+ http/tests/security/xssAuditor/iframe-javascript-url*
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::containsJavaScriptURL):
+ (WebCore::XSSFilter::filterTokenInitial):
+ (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
+ * html/parser/XSSFilter.h:
+
+2011-02-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig, even though this is just a...
+
+ ...build fix.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
+
+2011-02-02 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/8952012> Crash on launch inside scrollbar code.
+
+ We need to ensure that we remove ourselves as the delegates of objects when we're going
+ away as failing to do this can lead to crashes if the lifetime of the other objects
+ is longer than ours.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::unregisterScrollbar):
+
+2011-02-02 Beth Dakin <bdakin@apple.com>
+
+ Build fix.
+
+ * WebCore.exp.in:
+
+2011-02-02 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r77397.
+
+ * page/wince/FrameWinCE.cpp:
+ (WebCore::computePageRectsForFrame):
+
+2011-02-02 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r77398.
+
+ * platform/graphics/wince/PlatformPathWinCE.cpp:
+ (WebCore::containsPoint):
+ (WebCore::inflateRectToContainPoint):
+ (WebCore::PlatformPath::addRect):
+ * platform/graphics/wince/SharedBitmap.cpp:
+ (WebCore::SharedBitmap::drawPattern):
+ * rendering/RenderThemeWinCE.cpp:
+ (WebCore::RenderThemeWinCE::paintMenuListButton):
+ (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeWinCE::paintSliderTrack):
+ (WebCore::RenderThemeWinCE::paintMediaMuteButton):
+ (WebCore::RenderThemeWinCE::paintMediaPlayButton):
+ (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
+ (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
+
+2011-02-02 Jian Li <jianli@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [V8] Accessing DataView with index of -1 returns 0, doesn't throw
+ https://bugs.webkit.org/show_bug.cgi?id=53559
+
+ Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
+
+ * html/canvas/DataView.h:
+ (WebCore::DataView::beyondRange):
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Add ChromeClient function to paint custom overhang areas.
+ https://bugs.webkit.org/show_bug.cgi?id=53639
+
+ * page/Chrome.cpp:
+ (WebCore::ChromeClient::paintCustomOverhangArea):
+ * page/ChromeClient.h:
+ Add ChromeClient function.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintOverhangAreas):
+ * page/FrameView.h:
+ Call out the the ChromeClient, call ScrollView base implementation
+ if the ChromeClient returns false.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paintOverhangAreas):
+ * platform/ScrollView.h:
+ Add dirty rect for use when painting overhang areas.
+
+2011-02-02 Peter Kasting <pkasting@google.com>
+
+ Not reviewed, build fix.
+
+ Fix compile after r77427.
+ https://bugs.webkit.org/show_bug.cgi?id=53455
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::internalHandleCurrentImage):
+ * platform/image-decoders/ImageDecoder.cpp:
+ (WebCore::ImageFrame::operator=):
+ * platform/image-decoders/bmp/BMPImageReader.cpp:
+ (WebCore::BMPImageReader::decodeBMP):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+ (WebCore::JPEGImageDecoder::outputScanlines):
+ * platform/image-decoders/png/PNGImageDecoder.cpp:
+ (WebCore::PNGImageDecoder::rowAvailable):
+ * platform/image-decoders/webp/WEBPImageDecoder.cpp:
+ (WebCore::WEBPImageDecoder::decode):
+
+2011-02-02 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Levin.
+
+ Clean up ImageDecoder's comments (remove/trim/clarify).
+ https://bugs.webkit.org/show_bug.cgi?id=53455
+
+ This also renames or eliminates a couple of functions for clarity, and
+ switches a couple erroneous strncmp() calls to memcmp().
+
+ * platform/image-decoders/ImageDecoder.cpp:
+ (WebCore::ImageDecoder::create):
+ (WebCore::ImageFrame::clearPixelData):
+ (WebCore::ImageFrame::zeroFillPixelData):
+ (WebCore::ImageFrame::setSize):
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::ImageFrame::originalFrameRect):
+ (WebCore::ImageFrame::setOriginalFrameRect):
+ (WebCore::ImageDecoder::ImageDecoder):
+ (WebCore::ImageDecoder::~ImageDecoder):
+ (WebCore::ImageDecoder::isSizeAvailable):
+ (WebCore::ImageDecoder::size):
+ (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
+ (WebCore::ImageDecoder::clearFrameBufferCache):
+ (WebCore::ImageDecoder::isOverSize):
+ * platform/image-decoders/bmp/BMPImageReader.cpp:
+ (WebCore::BMPImageReader::processNonRLEData):
+ * platform/image-decoders/cg/ImageDecoderCG.cpp:
+ (WebCore::ImageFrame::setSize):
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::clearFrameBufferCache):
+ (WebCore::GIFImageDecoder::frameComplete):
+ (WebCore::GIFImageDecoder::initFrameBuffer):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.h:
+ * platform/image-decoders/qt/ImageFrameQt.cpp:
+ (WebCore::ImageFrame::operator=):
+ (WebCore::ImageFrame::clearPixelData):
+ (WebCore::ImageFrame::zeroFillPixelData):
+ (WebCore::ImageFrame::setSize):
+ * platform/image-decoders/skia/ImageDecoderSkia.cpp:
+ (WebCore::ImageFrame::operator=):
+ (WebCore::ImageFrame::clearPixelData):
+ (WebCore::ImageFrame::zeroFillPixelData):
+ (WebCore::ImageFrame::setSize):
+ * platform/image-decoders/webp/WEBPImageDecoder.h:
+
+2011-02-02 Vangelis Kokkevis <vangelis@chromium.org>
+
+ [chromium] Adding support for reflections to the accelerated
+ compositing path.
+ https://bugs.webkit.org/show_bug.cgi?id=53179
+
+ All layout tests in compositing/reflections generate correct
+ results with the exception of:
+ 1. nested-reflection-anchor-point.html : There appears to be
+ some issue with the layer transform math that I haven't been
+ able to track down yet.
+ 2. reflection-opacity.html : The current implementation applies
+ opacity before doing the reflection which makes this test
+ produce incorrect results. This will affect reflected layers
+ with opacity that overlap their original layer. FIXME comment
+ added in the code.
+
+ Tests: Covered by existing layout tests in compositing/reflections.
+ Please see above for exceptions.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
+ (WebCore::GraphicsLayerChromium::updateAnchorPoint):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::setReplicaLayer):
+ (WebCore::LayerChromium::replicaLayer):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updateLayersRecursive):
+ (WebCore::LayerRendererChromium::drawLayer):
+ * platform/graphics/chromium/RenderSurfaceChromium.cpp:
+ (WebCore::RenderSurfaceChromium::drawableContentRect):
+ (WebCore::RenderSurfaceChromium::drawSurface):
+ (WebCore::RenderSurfaceChromium::draw):
+ * platform/graphics/chromium/RenderSurfaceChromium.h:
+ (WebCore::RenderSurfaceChromium::drawTransform):
+
+2011-02-02 Xiyuan Xia <xiyuan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Select popup with padding has white strip on right
+ https://bugs.webkit.org/show_bug.cgi?id=53602
+
+ No new tests as this change restores old behavior.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::layout):
+
+2011-02-02 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix for <rdar://problem/8950343> CrashTracer: [USER]
+ 1 crash in WebProcess at com.apple.WebCore:
+ WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
+
+ It is possible for a Scrollbar's ScrollableArea to be null,
+ so we must null check.
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::registerScrollbar):
+ (WebCore::ScrollbarThemeMac::unregisterScrollbar):
+
+2011-02-02 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ bufferData and bufferSubData should generate INVALID_VALUE with negative input
+ https://bugs.webkit.org/show_bug.cgi?id=53626
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::bufferData):
+ (WebCore::WebGLRenderingContext::bufferSubData):
+
+2011-02-02 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Darin Adler and Steve Falkenburg.
+
+ Add DerivedSources.make to some Visual Studio projects
+ https://bugs.webkit.org/show_bug.cgi?id=53607
+
+ * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
+
+2011-02-02 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Refcount domwindows when dispatching device orientation events.
+ https://bugs.webkit.org/show_bug.cgi?id=53623
+
+ Test: fast/events/device-orientation-crash.html
+
+ * dom/DeviceMotionController.cpp:
+ (WebCore::DeviceMotionController::timerFired):
+ (WebCore::DeviceMotionController::didChangeDeviceMotion):
+ * dom/DeviceMotionController.h:
+ * dom/DeviceOrientationController.cpp:
+ (WebCore::DeviceOrientationController::timerFired):
+ (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
+ * dom/DeviceOrientationController.h:
+
+2011-02-02 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ A deleted object should never been bound again
+ https://bugs.webkit.org/show_bug.cgi?id=53604
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
+ (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
+ (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
+ (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
+ (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
+ (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
+ (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
+ (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
+ (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
+ (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
+ (WebCore::WebGLRenderingContext::deleteShader): Ditto.
+ (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
+ (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
+ * html/canvas/WebGLRenderingContext.h:
+ * html/canvas/WebGLTexture.h:
+ (WebCore::WebGLTexture::getTarget): Accessor to cached target.
+
+2011-02-02 Alejandro G. Castro <alex@igalia.com>
+
+ Unreviewed Efl buildfix after r77399.
+
+ * CMakeListsEfl.txt:
+
+2011-02-02 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Rename Typed Array subset to subarray
+ https://bugs.webkit.org/show_bug.cgi?id=53618
+
+ * html/canvas/Float32Array.cpp:
+ (WebCore::Float32Array::subarray):
+ * html/canvas/Float32Array.h:
+ * html/canvas/Float32Array.idl:
+ * html/canvas/Int16Array.cpp:
+ (WebCore::Int16Array::subarray):
+ * html/canvas/Int16Array.h:
+ * html/canvas/Int16Array.idl:
+ * html/canvas/Int32Array.cpp:
+ (WebCore::Int32Array::subarray):
+ * html/canvas/Int32Array.h:
+ * html/canvas/Int32Array.idl:
+ * html/canvas/Int8Array.cpp:
+ (WebCore::Int8Array::subarray):
+ * html/canvas/Int8Array.h:
+ * html/canvas/Int8Array.idl:
+ * html/canvas/TypedArrayBase.h:
+ (WebCore::TypedArrayBase::subarrayImpl):
+ * html/canvas/Uint16Array.cpp:
+ (WebCore::Uint16Array::subarray):
+ * html/canvas/Uint16Array.h:
+ * html/canvas/Uint16Array.idl:
+ * html/canvas/Uint32Array.cpp:
+ (WebCore::Uint32Array::subarray):
+ * html/canvas/Uint32Array.h:
+ * html/canvas/Uint32Array.idl:
+ * html/canvas/Uint8Array.cpp:
+ (WebCore::Uint8Array::subarray):
+ * html/canvas/Uint8Array.h:
+ * html/canvas/Uint8Array.idl:
+
+2011-02-02 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Add an empty file for Content Security Policy
+ https://bugs.webkit.org/show_bug.cgi?id=53573
+
+ Posting this as a separate patch because editing the build files is so
+ painful.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2011-02-02 Dan Winship <danw@gnome.org>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] remove old data: URI handler, fix the SoupRequest-based one
+ to pass tests
+ https://bugs.webkit.org/show_bug.cgi?id=50885
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::sendRequestCallback): Do content-type sniffing here for
+ non-HTTP requests.
+ (WebCore::startHTTPRequest): Rename to match WebKit style.
+ (WebCore::ResourceHandle::start): Pass everything except HTTP to
+ startNonHTTPRequest, letting the SoupRequester decide whether it's
+ supported or not.
+ (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
+ code that was a no-op for file: URIs, but would break some data:
+ URIs.
+
+2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Update even more references to right() and bottom() in Chromium. Sheesh.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
+
+2011-02-02 Alejandro G. Castro <alex@igalia.com>
+
+ Unreviewed Gtk3 buildfix after r77286.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+ Remove the physical terminology from IntRect and FloatRect.
+
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::RenderThemeGtk::paintMenuList):
+
+2011-02-02 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::pinnedInDirection):
+
+2011-02-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53619
+
+ Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
+ with maxX/maxY. This matches IntRect.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addOverflowFromFloats):
+ (WebCore::RenderBlock::flipFloatForWritingMode):
+ (WebCore::RenderBlock::paintFloats):
+ (WebCore::RenderBlock::selectionGaps):
+ (WebCore::RenderBlock::addOverhangingFloats):
+ (WebCore::RenderBlock::addIntrudingFloats):
+ (WebCore::RenderBlock::hitTestFloats):
+ (WebCore::RenderBlock::adjustForBorderFit):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatingObject::x):
+ (WebCore::RenderBlock::FloatingObject::maxX):
+ (WebCore::RenderBlock::FloatingObject::y):
+ (WebCore::RenderBlock::FloatingObject::maxY):
+ (WebCore::RenderBlock::FloatingObject::setX):
+ (WebCore::RenderBlock::FloatingObject::setY):
+ (WebCore::RenderBlock::logicalTopForFloat):
+ (WebCore::RenderBlock::logicalBottomForFloat):
+ (WebCore::RenderBlock::logicalLeftForFloat):
+ (WebCore::RenderBlock::logicalRightForFloat):
+ (WebCore::RenderBlock::setLogicalTopForFloat):
+ (WebCore::RenderBlock::setLogicalLeftForFloat):
+ (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
+ (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
+
+2011-02-02 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Update more references to right() and bottom() in Chromium Win.
+
+ * platform/graphics/chromium/TransparencyWin.cpp:
+ (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
+ (WebCore::TransparencyWin::compositeTextComposite): Ditto.
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
+
+2011-02-02 Adam Roben <aroben@apple.com>
+
+ Encode/decode FormData and FormDataElement objects consistently
+
+ Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
+ that contains form data fails (asserts in Debug build)
+
+ To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
+ now, even though we don't have an automated test for it yet. Writing a test is covered by
+ <http://webkit.org/b/53616>.
+
+ Reviewed by Darin Adler.
+
+ * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
+ FormData objects.
+
+ * platform/network/FormData.cpp:
+ (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
+ default-constructed FormDataElement. Failing to do this meant that all future uses of the
+ Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
+ start by reading the uint32_t that we forgot to decode here, and so on). We already had code
+ to correctly set the FormDataElement's type based on this decoded type later in the
+ function.
+ (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
+ matches its type and how we decode it.
+
+2011-02-02 Dan Winship <danw@gnome.org>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] drop soup cache stuff, which has been moved to libsoup
+ https://bugs.webkit.org/show_bug.cgi?id=50747
+
+ Use libsoup-based cache/requester API and remove the WebCore version
+ of this functionality. This has been pushed upstream fully.
+
+ No new tests because this should not change functionality.
+
+ * GNUmakefile.am: Update for removed files.
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
+ type names, drop m_requester.
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
+ session.
+ (WebCore::parseDataUrl):
+ (WebCore::startHttp): Get the requester from the session rather
+ than using m_requester.
+ (WebCore::sendRequestCallback):
+ (WebCore::ResourceHandle::platformSetDefersLoading):
+ (WebCore::readCallback):
+ (WebCore::startGio): Update type names.
+ * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
+ * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
+ * platform/network/soup/cache/soup-http-input-stream.c: Removed.
+ * platform/network/soup/cache/soup-http-input-stream.h: Removed.
+ * platform/network/soup/cache/soup-request-data.c: Removed.
+ * platform/network/soup/cache/soup-request-data.h: Removed.
+ * platform/network/soup/cache/soup-request-file.c: Removed.
+ * platform/network/soup/cache/soup-request-file.h: Removed.
+ * platform/network/soup/cache/soup-request-http.c: Removed.
+ * platform/network/soup/cache/soup-request-http.h: Removed.
+ * platform/network/soup/cache/soup-request.c: Removed.
+ * platform/network/soup/cache/soup-request.h: Removed.
+ * platform/network/soup/cache/soup-requester.c: Removed.
+ * platform/network/soup/cache/soup-requester.h: Removed.
+ * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
+ * platform/network/soup/cache/webkit/soup-cache.c: Removed.
+ * platform/network/soup/cache/webkit/soup-cache.h: Removed.
+
+2011-02-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+
+ Remove physical accessors from IntRect and FloatRect.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::adjustPageHeightDeprecated):
+ * platform/graphics/FloatRect.h:
+ * platform/graphics/IntRect.h:
+
+2011-02-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53614
+
+ Remove physical terminology from overflow. Replace with minX/maxX/minY/maxY.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::minYLayoutOverflow):
+ (WebCore::InlineFlowBox::maxYLayoutOverflow):
+ (WebCore::InlineFlowBox::minXLayoutOverflow):
+ (WebCore::InlineFlowBox::maxXLayoutOverflow):
+ (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
+ (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
+ (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
+ (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
+ (WebCore::InlineFlowBox::minYVisualOverflow):
+ (WebCore::InlineFlowBox::maxYVisualOverflow):
+ (WebCore::InlineFlowBox::minXVisualOverflow):
+ (WebCore::InlineFlowBox::maxXVisualOverflow):
+ (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
+ (WebCore::InlineFlowBox::logicalRightVisualOverflow):
+ (WebCore::InlineFlowBox::logicalminYVisualOverflow):
+ (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::adjustLinePositionForPagination):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
+ (WebCore::RenderBlock::afterSideVisualOverflowForLine):
+ (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
+ (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::scrollWidth):
+ (WebCore::RenderBox::scrollHeight):
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::minYLayoutOverflow):
+ (WebCore::RenderBox::maxYLayoutOverflow):
+ (WebCore::RenderBox::minXLayoutOverflow):
+ (WebCore::RenderBox::maxXLayoutOverflow):
+ (WebCore::RenderBox::logicalLeftLayoutOverflow):
+ (WebCore::RenderBox::logicalRightLayoutOverflow):
+ (WebCore::RenderBox::minYVisualOverflow):
+ (WebCore::RenderBox::maxYVisualOverflow):
+ (WebCore::RenderBox::minXVisualOverflow):
+ (WebCore::RenderBox::maxXVisualOverflow):
+ (WebCore::RenderBox::logicalLeftVisualOverflow):
+ (WebCore::RenderBox::logicalRightVisualOverflow):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::linesVisualOverflowBoundingBox):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
+ * rendering/RenderLineBoxList.cpp:
+ (WebCore::RenderLineBoxList::anyLineIntersectsRect):
+ (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
+ (WebCore::RenderLineBoxList::paint):
+ (WebCore::RenderLineBoxList::hitTest):
+ * rendering/RenderMarquee.cpp:
+ (WebCore::RenderMarquee::computePosition):
+ * rendering/RenderOverflow.h:
+ (WebCore::RenderOverflow::RenderOverflow):
+ (WebCore::RenderOverflow::minYLayoutOverflow):
+ (WebCore::RenderOverflow::maxYLayoutOverflow):
+ (WebCore::RenderOverflow::minXLayoutOverflow):
+ (WebCore::RenderOverflow::maxXLayoutOverflow):
+ (WebCore::RenderOverflow::minYVisualOverflow):
+ (WebCore::RenderOverflow::maxYVisualOverflow):
+ (WebCore::RenderOverflow::minXVisualOverflow):
+ (WebCore::RenderOverflow::maxXVisualOverflow):
+ (WebCore::RenderOverflow::setminYVisualOverflow):
+ (WebCore::RenderOverflow::visualOverflowRect):
+ (WebCore::RenderOverflow::move):
+ (WebCore::RenderOverflow::addVisualOverflow):
+ (WebCore::RenderOverflow::setVisualOverflow):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::shouldPaint):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::layout):
+ (WebCore::RenderTable::paint):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeLayers):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::docTop):
+
+2011-02-02 Steve Lacey <sjl@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Implement basic media statistics on media elements.
+ https://bugs.webkit.org/show_bug.cgi?id=53322
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * features.pri:
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
+ (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
+ * html/HTMLMediaElement.h:
+ * html/HTMLMediaElement.idl:
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::webkitDecodedFrames):
+ (WebCore::HTMLVideoElement::webkitDroppedFrames):
+ * html/HTMLVideoElement.h:
+ * html/HTMLVideoElement.idl:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::decodedFrames):
+ (WebCore::MediaPlayer::droppedFrames):
+ (WebCore::MediaPlayer::audioBytesDecoded):
+ (WebCore::MediaPlayer::videoBytesDecoded):
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::decodedFrames):
+ (WebCore::MediaPlayerPrivateInterface::droppedFrames):
+ (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
+ (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
+
+2011-02-02 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by David Hyatt.
+
+ More conversion from right()/bottom() to maxX()/maxY().
+
+ * page/qt/FrameQt.cpp:
+ (WebCore::Frame::dragImageForSelection):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::roundToDevicePixels):
+
+2011-02-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ [wx] Build fixes for wxWebKit.
+
+ * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
+ (documentWrite):
+ * bindings/scripts/CodeGeneratorCPP.pm:
+ * page/wx/DragControllerWx.cpp:
+ (WebCore::DragController::dragOperation):
+ * platform/graphics/wx/FontCustomPlatformData.h:
+ * platform/graphics/wx/FontPlatformData.h:
+ (WebCore::FontPlatformData::widthVariant):
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::computeHash):
+ * platform/graphics/wx/FontWx.cpp:
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ * platform/wx/RenderThemeWx.cpp:
+
+2011-02-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ More right()/bottom() to maxX()/maxY() conversion.
+
+ * page/chromium/FrameChromium.cpp:
+ (WebCore::Frame::nodeImage):
+ (WebCore::Frame::dragImageForSelection):
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Fix windows clean build.
+
+ * DerivedSources.make:
+
+2011-02-02 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53606
+
+ Display progress while taking a snapshot, and hints while loading
+ and parsing. This is needed because taking detailed heap snapshots
+ takes time.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._reset):
+ (WebInspector.ProfilesPanel.prototype._addProfileHeader):
+ (WebInspector.ProfilesPanel.prototype.getProfiles):
+ (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
+ (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
+ (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
+ * inspector/front-end/SidebarTreeElement.js:
+ (WebInspector.SidebarTreeElement.prototype.refreshTitles):
+
+2011-02-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ More conversion from right()/bottom() to maxX()/maxY().
+
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenuWin::calculatePositionAndSize):
+ (WebCore::PopupMenuWin::paint):
+
+2011-02-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Removal of right()/bottom(). Replace with maxX() and maxY(). Still converting. Haven't removed yet.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
+ (WebCore::PopupListBox::scrollToRevealRow):
+ (WebCore::PopupListBox::layout):
+ * platform/graphics/FloatRect.h:
+ * platform/graphics/IntRect.h:
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::getImageData):
+ (WebCore::putImageData):
+ * platform/graphics/chromium/GLES2Canvas.cpp:
+ (WebCore::GLES2Canvas::drawTexturedRect):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::verticalScrollbarRect):
+ (WebCore::LayerRendererChromium::horizontalScrollbarRect):
+ (WebCore::LayerRendererChromium::setScissorToRect):
+ (WebCore::LayerRendererChromium::setDrawViewportRect):
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::contentRectToTileIndices):
+ (WebCore::LayerTilerChromium::growLayerToContain):
+ * platform/graphics/gpu/TilingData.cpp:
+ (WebCore::TilingData::tileBoundsWithBorder):
+ (WebCore::TilingData::overlappedTileIndices):
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::getImageData):
+ (WebCore::putImageData):
+ * platform/graphics/skia/FloatRectSkia.cpp:
+ (WebCore::FloatRect::operator SkRect):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::getImageData):
+ (WebCore::putImageData):
+ * platform/graphics/skia/IntRectSkia.cpp:
+ (WebCore::IntRect::operator SkIRect):
+ (WebCore::IntRect::operator SkRect):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::beginLayerClippedToImage):
+ * platform/graphics/win/GraphicsContextWin.cpp:
+ (WebCore::GraphicsContextPlatformPrivate::clip):
+ * platform/graphics/win/IntRectWin.cpp:
+ (WebCore::IntRect::operator RECT):
+ * platform/graphics/win/UniscribeController.cpp:
+ (WebCore::UniscribeController::shapeAndPlaceItem):
+ * platform/graphics/wince/GraphicsContextWinCE.cpp:
+ (WebCore::roundRect):
+ (WebCore::mapRect):
+ (WebCore::TransparentLayerDC::TransparentLayerDC):
+ (WebCore::GraphicsContext::drawRect):
+ (WebCore::GraphicsContext::drawEllipse):
+ (WebCore::GraphicsContext::strokeArc):
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::clipOut):
+ (WebCore::GraphicsContext::strokeRect):
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::initFrameBuffer):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenuWin::calculatePositionAndSize):
+ (WebCore::PopupMenuWin::paint):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::invalidateRect):
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
+ (WebCore::RenderThemeSafari::paintMenuListButton):
+ (WebCore::RenderThemeSafari::paintSliderTrack):
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::paintInnerSpinButton):
+ (WebCore::RenderThemeWin::paintMenuListButton):
+
+2011-02-02 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Use Vector instead of a linked list for rules in CSSStyleSelector
+ https://bugs.webkit.org/show_bug.cgi?id=53581
+
+ - eliminate CSSRuleDataList, replace with Vector<RuleData>
+ - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet
+ (these are selector internal classes, CSS prefix is better reserved for public ones).
+ - constify a bit
+ - shrink the vectors to fit after collecting the rules
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::RuleData::RuleData):
+ (WebCore::RuleData::position):
+ (WebCore::RuleData::rule):
+ (WebCore::RuleData::selector):
+ (WebCore::RuleSet::disableAutoShrinkToFit):
+ (WebCore::RuleSet::getIDRules):
+ (WebCore::RuleSet::getClassRules):
+ (WebCore::RuleSet::getTagRules):
+ (WebCore::RuleSet::getPseudoRules):
+ (WebCore::RuleSet::getUniversalRules):
+ (WebCore::RuleSet::getPageRules):
+ (WebCore::collectSiblingRulesInDefaultStyle):
+ (WebCore::CSSStyleSelector::CSSStyleSelector):
+ (WebCore::loadFullDefaultStyle):
+ (WebCore::loadSimpleDefaultStyle):
+ (WebCore::loadViewSourceStyle):
+ (WebCore::CSSStyleSelector::matchRules):
+ (WebCore::CSSStyleSelector::matchRulesForList):
+ (WebCore::operator >):
+ (WebCore::operator <=):
+ (WebCore::CSSStyleSelector::sortMatchedRules):
+ (WebCore::CSSStyleSelector::matchUARules):
+ (WebCore::RuleSet::RuleSet):
+ (WebCore::RuleSet::~RuleSet):
+ (WebCore::RuleSet::addToRuleSet):
+ (WebCore::RuleSet::addRule):
+ (WebCore::RuleSet::addPageRule):
+ (WebCore::RuleSet::addRulesFromSheet):
+ (WebCore::RuleSet::addStyleRule):
+ (WebCore::collectIdsAndSiblingRulesFromList):
+ (WebCore::RuleSet::collectIdsAndSiblingRules):
+ (WebCore::shrinkMapVectorsToFit):
+ (WebCore::RuleSet::shrinkToFit):
+ (WebCore::CSSStyleSelector::matchPageRules):
+ (WebCore::CSSStyleSelector::matchPageRulesForList):
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::addMatchedRule):
+
+2011-02-02 Andrey Adaikin <aandrey@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Use DIVs instead of TABLE in TextViewer
+ https://bugs.webkit.org/show_bug.cgi?id=53299
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._createTextViewer):
+ (WebInspector.SourceFrame.prototype._mouseDown):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer):
+ (WebInspector.TextViewer.prototype.set mimeType):
+ (WebInspector.TextViewer.prototype.revealLine):
+ (WebInspector.TextViewer.prototype.addDecoration):
+ (WebInspector.TextViewer.prototype.removeDecoration):
+ (WebInspector.TextViewer.prototype.markAndRevealRange):
+ (WebInspector.TextViewer.prototype.highlightLine):
+ (WebInspector.TextViewer.prototype.clearLineHighlight):
+ (WebInspector.TextViewer.prototype.freeCachedElements):
+ (WebInspector.TextViewer.prototype._handleKeyDown):
+ (WebInspector.TextViewer.prototype.editLine.finishEditing):
+ (WebInspector.TextViewer.prototype.editLine):
+ (WebInspector.TextViewer.prototype.beginUpdates):
+ (WebInspector.TextViewer.prototype.endUpdates):
+ (WebInspector.TextViewer.prototype.resize):
+ (WebInspector.TextViewer.prototype._textChanged):
+ (WebInspector.TextViewer.prototype._updatePanelOffsets):
+ (WebInspector.TextViewer.prototype._syncScroll):
+ (WebInspector.TextViewer.prototype._syncDecorationsForLine):
+ (WebInspector.TextEditorChunkedPanel):
+ (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
+ (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
+ (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
+ (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
+ (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
+ (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
+ (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
+ (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
+ (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
+ (WebInspector.TextEditorChunkedPanel.prototype.resize):
+ (WebInspector.TextEditorChunkedPanel.prototype._scroll):
+ (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
+ (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
+ (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
+ (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
+ (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
+ (WebInspector.TextEditorGutterPanel):
+ (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
+ (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
+ (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
+ (WebInspector.TextEditorGutterChunk):
+ (WebInspector.TextEditorGutterChunk.prototype.get expanded):
+ (WebInspector.TextEditorGutterChunk.prototype.set expanded):
+ (WebInspector.TextEditorGutterChunk.prototype.get height):
+ (WebInspector.TextEditorGutterChunk.prototype._createRow):
+ (WebInspector.TextEditorMainPanel):
+ (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
+ (WebInspector.TextEditorMainPanel.prototype.set mimeType):
+ (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
+ (WebInspector.TextEditorMainPanel.prototype.highlightLine):
+ (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
+ (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
+ (WebInspector.TextEditorMainPanel.prototype._buildChunks):
+ (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
+ (WebInspector.TextEditorMainPanel.prototype._expandChunks):
+ (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
+ (WebInspector.TextEditorMainPanel.prototype._paintLines):
+ (WebInspector.TextEditorMainPanel.prototype._paintLine):
+ (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
+ (WebInspector.TextEditorMainPanel.prototype._getSelection):
+ (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
+ (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
+ (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
+ (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
+ (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
+ (WebInspector.TextEditorMainChunk):
+ (WebInspector.TextEditorMainChunk.prototype.addDecoration):
+ (WebInspector.TextEditorMainChunk.prototype.set expanded):
+ (WebInspector.TextEditorMainChunk.prototype.get height):
+ (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
+ (WebInspector.TextEditorMainChunk.prototype._createRow):
+ (WebInspector):
+ * inspector/front-end/textViewer.css:
+ (.text-editor-lines):
+ (.text-editor-contents):
+ (.text-editor-editable):
+ (.webkit-line-decorations):
+ (.webkit-line-number):
+ (.webkit-execution-line.webkit-line-content):
+ (.diff-container .webkit-added-line.webkit-line-content):
+ (.diff-container .webkit-removed-line.webkit-line-content):
+ (.diff-container .webkit-changed-line.webkit-line-content):
+ (.webkit-highlighted-line.webkit-line-content):
+
+2011-02-02 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Implement support for cursor updates
+ https://bugs.webkit.org/show_bug.cgi?id=53421
+
+ Implement support for cursor updates using the same pattern as cursor
+ deletes: forward the calls to the IDBObjectStoreBackend::put().
+ The put() function's signature needs to be changed to allow for a
+ "cursor update mode". This makes the signature more clear anyway,
+ since it replaces the boolean parameter.
+
+ Test: storage/indexeddb/cursor-update.html
+
+ * storage/IDBCursor.idl:
+ * storage/IDBCursorBackendImpl.cpp:
+ (WebCore::IDBCursorBackendImpl::key):
+ (WebCore::IDBCursorBackendImpl::update):
+ * storage/IDBCursorBackendImpl.h:
+ * storage/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::add):
+ (WebCore::IDBObjectStore::put):
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::put):
+ (WebCore::IDBObjectStoreBackendImpl::putInternal):
+ * storage/IDBObjectStoreBackendImpl.h:
+ * storage/IDBObjectStoreBackendInterface.h:
+
+2011-02-02 Naoki Takano <takano.naoki@gmail.com>
+
+ Reviewed by Kent Tamura.
+
+ Fix popup menu RTL bug introduced by Changeset 75982.
+ https://bugs.webkit.org/show_bug.cgi?id=53567
+
+ PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
+
+ No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
+ (WebCore::PopupContainer::showPopup): Change the passing parameter.
+ (WebCore::PopupContainer::refresh): Change the passing parameter.
+ * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
+
+2011-02-02 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Fix dist compilation
+ https://bugs.webkit.org/show_bug.cgi?id=53579
+
+ * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
+ added in r77153.
+
+2011-02-02 Dai Mikurube <dmikurube@google.com>
+
+ Reviewed by David Levin.
+
+ Make mime type lookup in File::create(path) thread-safe
+ https://bugs.webkit.org/show_bug.cgi?id=47700
+
+ This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
+ The function is to be called as a thread-safe version of getMIMETypeForExtension() when
+ both FILE_SYSTEM and WORKERS are enabled.
+
+ No tests for this patch. This patch itself doesn't change the behaviors.
+ For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
+ For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
+ The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
+ platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
+
+ * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
+ * platform/android/TemporaryLinkStubs.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/brew/MIMETypeRegistryBrew.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
+ * platform/efl/MIMETypeRegistryEfl.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/gtk/MIMETypeRegistryGtk.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/haiku/MIMETypeRegistryHaiku.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/mac/MIMETypeRegistryMac.mm:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/qt/MIMETypeRegistryQt.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/win/MIMETypeRegistryWin.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/wince/MIMETypeRegistryWinCE.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/wx/MimeTypeRegistryWx.cpp:
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+
+2011-02-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Improve readability of updateWidget by converting bool parameter to an enum
+ https://bugs.webkit.org/show_bug.cgi?id=53576
+
+ As requested on webkit-dev.
+
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::updateWidget):
+ * html/HTMLEmbedElement.h:
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::updateWidget):
+ * html/HTMLMediaElement.h:
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::updateWidget):
+ * html/HTMLObjectElement.h:
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
+ * html/HTMLPlugInImageElement.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateWidget):
+
+2011-02-01 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
+ https://bugs.webkit.org/show_bug.cgi?id=53566
+
+ A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
+ Other than being large enough for this one test case, this limit is arbitrary.
+
+ * bindings/v8/V8Proxy.h:
+
+2011-02-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Remove useless comment
+ https://bugs.webkit.org/show_bug.cgi?id=53549
+
+ The reason for this parameter is captured in
+ plugins/netscape-plugin-setwindow-size.html, which is a better place to
+ capture it than in this comment (which otherwise just re-iterates the
+ name of the parameter).
+
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
+
+2011-02-01 James Simonsen <simonjam@chromium.org>
+
+ Reviewed by Tony Gentilcore.
+
+ [WebTiming] Remove asserts that verify timestamp order
+ https://bugs.webkit.org/show_bug.cgi?id=53548
+
+ Covered by existing tests.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading): Remove assert.
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
+
+2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Add the 'default_targets' enclosure to the flags.
+
+ * WebCore.gyp/WebCore.gyp: Did it.
+
+2011-02-01 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Async event handlers should not fire within a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=53202
+
+ Asychronous events that use EventQueue would currently fire while a
+ modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
+ SuspendableTimer (which automatically gets suspended while dialogs are
+ up and in other cases where JS execution is not allowed).
+
+ Test: fast/events/scroll-event-during-modal-dialog.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/EventQueue.cpp:
+ (WebCore::EventQueueTimer::EventQueueTimer):
+ (WebCore::EventQueueTimer::fired):
+ (WebCore::EventQueue::EventQueue):
+ (WebCore::EventQueue::enqueueEvent):
+ (WebCore::EventQueue::pendingEventTimerFired):
+ * dom/EventQueue.h:
+ (WebCore::EventQueue::create):
+ * page/SuspendableTimer.cpp:
+ (WebCore::SuspendableTimer::SuspendableTimer):
+ (WebCore::SuspendableTimer::suspend):
+ (WebCore::SuspendableTimer::resume):
+ * page/SuspendableTimer.h:
+
+2011-02-01 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Change wrong PLATFORM(WIN) to USE(WININET)
+ https://bugs.webkit.org/show_bug.cgi?id=53547
+
+ * platform/network/ResourceHandle.h:
+
+2011-02-01 Beth Dakin <bdakin@apple.com>
+
+ 32-bit build fix.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
+
+2011-01-25 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [GTK] Two tests crash after r76555
+ https://bugs.webkit.org/show_bug.cgi?id=53057
+
+ Instead of creating synchronous ResourceHandles manually, use the ::create factory.
+ This ensures that ::start() is not called when there is a scheduled failure and also
+ reduces code duplication.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
+
+2011-02-01 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] GObject DOM bindings do no support the CallWith attribute
+ https://bugs.webkit.org/show_bug.cgi?id=53331
+
+ Disable building GObject DOM bindings for IndexedDB because we do not support
+ the CallWith attribute at this time.
+
+ * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
+
+2011-02-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Fix a couple loose ends from the back/forward tree encode/decode work
+ https://bugs.webkit.org/show_bug.cgi?id=53537
+
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
+ original URL string; no need to encode it twice.
+ (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
+ * history/HistoryItem.h: Removed declaration for function that is no
+ longer defined nor used.
+
+2011-02-01 Tony Chang <tony@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ [chromium] disable arm uninitialized variable warnings
+ https://bugs.webkit.org/show_bug.cgi?id=53553
+
+ We just got another error:
+ third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
+ 'colorTransparent.unstatic.4879' may be used uninitialized in this
+ function
+
+ * WebCore.gyp/WebCore.gyp:
+
+2011-02-01 chris reiss <christopher.reiss@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ Self-replicating code makes Safari hang and eventually crash
+ https://bugs.webkit.org/show_bug.cgi?id=15123
+
+
+ Here we are replicating the Firefox safeguard against
+ recursive document.write( ) 's.
+
+ See https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug
+ https://bugzilla.mozilla.org/show_bug.cgi?id=197052 . Firefox does two things -
+ a) imposes a recursion limit of 20 on document.write( ) and
+ b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
+ To see why this is necessary, consider the script :
+
+ <script>
+ var t = document.body.innerHTML;
+ document.write(t);
+ </script>
+
+ This will create a tree both broad and deep as the script keeps appending itself to the text. If
+ we just return one level after the recursion limit is reached, we still allow millions of copies to
+ duplicate (and execute).
+
+ The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
+ to prevent this situation. (IE apparently does the same thing, with a lower recursion limit.)
+
+ Test: fast/dom/Document/document-write-recursion.html
+ Test: fast/dom/Document/document-close-iframe-load.html
+ Test: fast/dom/Document/document-close-nested-iframe-load.html
+
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::write):
+ * dom/Document.h:
+
+2011-02-01 Johnny Ding <jnd@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
+ https://bugs.webkit.org/show_bug.cgi?id=53424
+
+ Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::handleLinkClick):
+
+2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed Qt buildfix after r77286.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+ Remove the physical terminology from IntRect and FloatRect.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::createTiles):
+
+2011-02-01 Sam Weinig <sam@webkit.org>
+
+ Fix Mac production builds.
+
+ * DerivedSources.make:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollbarThemeMac.h:
+
+2011-02-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Chris Fleizach.
+
+ REGRESSION: Removing focus from area element causes unwanted scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=50169
+
+ Test: fast/images/imagemap-scroll.html
+
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
+ RenderImage::areaElementFocusChanged function.
+ (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
+ here that calls setNeedsLayout on the image's renderer. This was an
+ attempt to cause repaint of the renderer, but this function does not
+ need to do that. Also changed this to use the imageElement function
+ to avoid repeating code.
+
+ * html/HTMLAreaElement.h: Updated for above changes.
+
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paint): Updated for name change.
+ (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
+ paintFocusRing, because it only paints area focus rings, and should
+ not be confused with paintFocusRing functions in other classes. Also
+ removed the unused style argument. Removed the code that used an
+ HTMLCollection to see if the focused area element is for this image
+ and instead just call imageElement on the area element.
+ (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
+
+ * rendering/RenderImage.h: Added a public areaElementFocusChanged
+ function for HTMLAreaElement to call. Made the paintFocusRing function
+ private, renamed it to paintAreaElementFocusRing, and removed its
+ unused style argument.
+
+2011-02-01 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r77286.
+
+ * platform/graphics/wince/GraphicsContextWinCE.cpp:
+ (WebCore::TransparentLayerDC::TransparentLayerDC):
+
+2011-02-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ AX: AXPosition of AXScrollArea is wrong
+ https://bugs.webkit.org/show_bug.cgi?id=53511
+
+ AccessibilityScrollView needed to return a valid documentFrameView() object.
+ At the same time, the code from document() should be consolidated in
+ AccessibilityObject, so all objects can use it.
+
+ Test: platform/mac/accessibility/webkit-scrollarea-position.html
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::document):
+ * accessibility/AccessibilityObject.h:
+ * accessibility/AccessibilityScrollView.cpp:
+ (WebCore::AccessibilityScrollView::accessibilityHitTest):
+ (WebCore::AccessibilityScrollView::documentFrameView):
+ * accessibility/AccessibilityScrollView.h:
+
+2011-02-01 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ getUniform should support SAMPLER_2D or SAMPLER_CUBE
+ https://bugs.webkit.org/show_bug.cgi?id=52190
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getUniform):
+
+2011-02-01 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=53531
+
+ With this fix, running WebGL conformance tests should no longer crash randomly.
+
+ * platform/graphics/cg/GraphicsContext3DCG.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+
+2011-02-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ One more Chromium build fix after r77286.
+
+ * platform/chromium/ScrollbarThemeChromiumMac.mm:
+ (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
+
+2011-02-01 Sam Weinig <sam@webkit.org>
+
+ Fix the build for Beth.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
+
+2011-02-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Part 2 for <rdar://problem/8492788>
+ Adopt WKScrollbarPainterController
+
+ Use header detection to define scrollbar painting controller #define.
+
+ * WebCore.exp.in:
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2011-02-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+
+ Remove the physical terminology from IntRect and FloatRect.
+
+ Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
+ we need to update our terminology to be more accurate.
+
+ I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
+ renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
+ even for flipped rectangles.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper position]):
+ * dom/ClientRect.h:
+ (WebCore::ClientRect::right):
+ (WebCore::ClientRect::bottom):
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::convertLogicalToDevice):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::normalizeRect):
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::drawElementTitle):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::adjustWindowRect):
+ * page/DragController.cpp:
+ (WebCore::dragLocForSelectionDrag):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::sendContextMenuEventForKey):
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
+ (WebCore::PrintContext::pageNumberForElement):
+ * page/SpatialNavigation.cpp:
+ (WebCore::end):
+ (WebCore::areRectsFullyAligned):
+ (WebCore::areRectsMoreThanFullScreenApart):
+ (WebCore::below):
+ (WebCore::rightOf):
+ (WebCore::isRectInDirection):
+ (WebCore::entryAndExitPointsForDirection):
+ (WebCore::virtualRectForDirection):
+ * page/WindowFeatures.cpp:
+ (WebCore::WindowFeatures::WindowFeatures):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::setFrameRect):
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::splitTrack):
+ * platform/chromium/ScrollbarThemeChromium.cpp:
+ (WebCore::ScrollbarThemeChromium::paintTickmarks):
+ * platform/graphics/FloatQuad.h:
+ (WebCore::FloatQuad::FloatQuad):
+ * platform/graphics/FloatRect.cpp:
+ (WebCore::FloatRect::intersects):
+ (WebCore::FloatRect::contains):
+ (WebCore::FloatRect::intersect):
+ (WebCore::FloatRect::unite):
+ (WebCore::enclosingIntRect):
+ * platform/graphics/FloatRect.h:
+ (WebCore::FloatRect::maxX):
+ (WebCore::FloatRect::maxY):
+ (WebCore::FloatRect::contains):
+ * platform/graphics/IntRect.cpp:
+ (WebCore::IntRect::intersects):
+ (WebCore::IntRect::contains):
+ (WebCore::IntRect::intersect):
+ (WebCore::IntRect::unite):
+ * platform/graphics/IntRect.h:
+ (WebCore::IntRect::maxX):
+ (WebCore::IntRect::maxY):
+ (WebCore::IntRect::shiftXEdgeTo):
+ (WebCore::IntRect::shiftMaxXEdgeTo):
+ (WebCore::IntRect::shiftYEdgeTo):
+ (WebCore::IntRect::shiftMaxYEdgeTo):
+ (WebCore::IntRect::contains):
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::advance):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::drawRect):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::fillRect):
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::getImageData):
+ (WebCore::putImageData):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::FilterEffect::copyImageBytes):
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ * platform/graphics/transforms/AffineTransform.cpp:
+ (WebCore::AffineTransform::mapRect):
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::drawGDIGlyphs):
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::paint):
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::centerRectVerticallyInParentInputElement):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::paint):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect):
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::positionForOffset):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addOverflowFromChildren):
+ (WebCore::RenderBlock::paintChildren):
+ (WebCore::RenderBlock::paintEllipsisBoxes):
+ (WebCore::RenderBlock::inlineSelectionGaps):
+ (WebCore::RenderBlock::adjustPointToColumnContents):
+ (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
+ (WebCore::RenderBlock::adjustForColumns):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatingObject::right):
+ (WebCore::RenderBlock::FloatingObject::bottom):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::reflectedRect):
+ (WebCore::RenderBox::localCaretRect):
+ (WebCore::RenderBox::addShadowOverflow):
+ (WebCore::RenderBox::addLayoutOverflow):
+ (WebCore::RenderBox::visualOverflowRectForPropagation):
+ (WebCore::RenderBox::layoutOverflowRectForPropagation):
+ (WebCore::RenderBox::flipForWritingMode):
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::paintColumnBorder):
+ (WebCore::RenderFrameSet::paintRowBorder):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::paintOutlineForLine):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::getRectToExpose):
+ (WebCore::cornerRect):
+ (WebCore::RenderLayer::positionOverflowControls):
+ (WebCore::RenderLayer::overflowBottom):
+ (WebCore::RenderLayer::overflowRight):
+ (WebCore::RenderLayer::paintResizer):
+ * rendering/RenderLineBoxList.cpp:
+ (WebCore::RenderLineBoxList::rangeIntersectsRect):
+ (WebCore::RenderLineBoxList::paint):
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::positionListMarker):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::paint):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
+ * rendering/RenderOverflow.h:
+ (WebCore::RenderOverflow::RenderOverflow):
+ (WebCore::RenderOverflow::addLayoutOverflow):
+ (WebCore::RenderOverflow::addVisualOverflow):
+ (WebCore::RenderOverflow::setLayoutOverflow):
+ (WebCore::RenderOverflow::setVisualOverflow):
+ (WebCore::RenderOverflow::resetLayoutOverflow):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::shouldPaint):
+ * rendering/RenderScrollbarTheme.cpp:
+ (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paint):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paint):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::paintObject):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteQuads):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::forwardEvent):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMenuListButtonGradients):
+ (WebCore::RenderThemeMac::paintMenuListButton):
+ (WebCore::RenderThemeMac::paintSliderTrack):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::computeRectForRepaint):
+ (WebCore::RenderView::docBottom):
+ (WebCore::RenderView::docRight):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::paddedLayoutOverflowRect):
+ * rendering/svg/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::localCaretRect):
+
+2011-02-01 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
+
+ Lots of new WebCoreSystemInterface functions to export.
+ * WebCore.exp.in:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+ Let the scrollAnimator know when the mouse has
+ moved anywhere inside the page, and when the mouse
+ has moved in or out of the window.
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::mouseMoved):
+ (WebCore::EventHandler::updateMouseEventTargetNode):
+
+ Let the scrollAnimator know when the window has become
+ active or inactive.
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setActive):
+
+ Let the scrollAnimator know when all of these things
+ are happening.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setContentsSize):
+ (WebCore::FrameView::didMoveOnscreen):
+ (WebCore::FrameView::willMoveOffscreen):
+ (WebCore::FrameView::currentMousePosition):
+ (WebCore::FrameView::contentsResized):
+
+ New functions called through WebKit2 that allow the
+ scrollAnimator to know when a live resize starts and ends.
+ (WebCore::FrameView::willStartLiveResize):
+ (WebCore::FrameView::willEndLiveResize):
+ * page/FrameView.h:
+
+ New functions on ScrollAnimator that pass information
+ to the WKPainterController when we're using one.
+ * platform/ScrollAnimator.h:
+ (WebCore::ScrollAnimator::scrollableArea):
+ (WebCore::ScrollAnimator::contentAreaWillPaint):
+ (WebCore::ScrollAnimator::mouseEnteredContentArea):
+ (WebCore::ScrollAnimator::mouseExitedContentArea):
+ (WebCore::ScrollAnimator::mouseMovedInContentArea):
+ (WebCore::ScrollAnimator::willStartLiveResize):
+ (WebCore::ScrollAnimator::contentsResized):
+ (WebCore::ScrollAnimator::willEndLiveResize):
+ (WebCore::ScrollAnimator::contentAreaDidShow):
+ (WebCore::ScrollAnimator::contentAreaDidHide):
+ (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
+ (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
+ (WebCore::ScrollAnimatorMac::setPainterForPainterController):
+ (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
+ (WebCore::ScrollAnimatorMac::notityPositionChanged):
+ (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
+ (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
+ (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
+ (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
+ (WebCore::ScrollAnimatorMac::willStartLiveResize):
+ (WebCore::ScrollAnimatorMac::contentsResized):
+ (WebCore::ScrollAnimatorMac::willEndLiveResize):
+ (WebCore::ScrollAnimatorMac::contentAreaDidShow):
+ (WebCore::ScrollAnimatorMac::contentAreaDidHide):
+
+ Let the scrollAnimator know when this is happening.
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paint):
+
+ New function lets the scrollAnimator get the current
+ mouse position.
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::currentMousePosition):
+
+ New function that returns the scrollAnimator when needed.
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::scrollAnimator):
+
+ Keep track of if we're in a live resize using a new memeber
+ variable.
+ * platform/mac/ScrollAnimatorMac.h:
+ (WebCore::ScrollAnimatorMac::inLiveResize):
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::view):
+
+ New delegates for the WKPainter and WKPainterController
+ (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
+ (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
+ (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
+ (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
+ (-[ScrollKnobAnimation setCurrentProgress:]):
+ (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
+ (-[ScrollbarPainterDelegate convertRectToBacking:]):
+ (-[ScrollbarPainterDelegate convertRectFromBacking:]):
+ (-[ScrollbarPainterDelegate layer]):
+ (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
+ (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
+
+ Get the WKScrollbarPainterRefs to synch up with the
+ WKScrollbarPainterControllerRefs when appropriate
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::registerScrollbar):
+ (WebCore::ScrollbarThemeMac::unregisterScrollbar):
+ (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
+ (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
+
+ Implement ScrollableArea's virtual function contentsSize() for access
+ through the scrollAnimator.
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::contentsSize):
+
+2011-02-01 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ layoutTestController.counterValueForElementById does not return the correct value
+ https://bugs.webkit.org/show_bug.cgi?id=53037
+
+ Test: fast/css/counters/deep-before.html
+
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::counterValueForElement):
+ Modified to use the newly available RenderObject::beforePseudoElement()
+ and RenderObject::afterPseudoElement() instead of the old imperfect
+ algorithm to find the before and after pseudo elements.
+
+2011-02-01 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Allow access for security origin same as this.
+ https://bugs.webkit.org/show_bug.cgi?id=53440
+
+ Hard to test as newly added path currently is never hit.
+
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::canAccess): allow access if this == other
+
+2011-01-31 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Update JSObject storage for new marking API
+ https://bugs.webkit.org/show_bug.cgi?id=53467
+
+ Update WebCore to handle new anonymous slot behaviour.
+
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::initScript):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2011-02-01 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by David Hyatt.
+
+ Fix a text rendering problem when enclosing block is RTL and text runs
+ are in different directionality.
+ https://bugs.webkit.org/show_bug.cgi?id=34176
+
+ The problem happens in the following example scenario (ABC represents
+ Hebrew characters):
+ <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
+
+ The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
+ TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
+ TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
+
+ The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
+
+ Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
+ creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
+ the run's render object's ancestor (not only its parent) has already
+ been constructed or has something following it on the line, in which
+ case, create a new box for TextRun2 instead of sharing the same box with
+ TextRun3.
+
+ In other words, the following 2 div should render the same results
+ (ABC represents Hebrew characters).
+ <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
+ <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
+
+ Test: fast/dom/34176.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::parentIsConstructedOrHaveNext):
+ (WebCore::RenderBlock::createLineBoxes):
+
+2011-02-01 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Do not add a node in the document's stylesheet candidate node list if the
+ node is already removed from document.
+ https://bugs.webkit.org/show_bug.cgi?id=53441
+
+ Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
+
+ * dom/Document.cpp:
+ (WebCore::Document::addStyleSheetCandidateNode):
+
+2011-02-01 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
+ with vertical text.
+
+ Change printing functions to check writing-mode and properly swap width and height
+ as needed.
+
+ Fix the setScrollOrigin function so that the origin doesn't cause
+ scroll spasming during printing (this is only partially successful, but it's better
+ than it was).
+
+ Rewrite computePageRects to handle both RTL documents properly as well as vertical
+ text documents properly.
+
+ * WebCore.exp.in:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::adjustViewSize):
+ (WebCore::FrameView::forceLayoutForPagination):
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::computePageRects):
+ (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
+ (WebCore::PrintContext::computeAutomaticScaleFactor):
+ (WebCore::PrintContext::spoolPage):
+ (WebCore::PrintContext::spoolRect):
+ * page/PrintContext.h:
+ * page/mac/WebCoreFrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/ScrollView.h:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformSetScrollOrigin):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::layout):
+
+2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53500
+
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
+
+2011-02-01 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53173
+
+ Adding code for accessing heap snapshot data and
+ performing graph calculations.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
+ (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
+ (WebInspector.HeapSnapshotEdgeIterator):
+ (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
+ (WebInspector.HeapSnapshotNodeIterator):
+ (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
+ (WebInspector.HeapSnapshotFilteredOrderedIterator):
+ (WebInspector.HeapSnapshotEdgesProvider):
+ (WebInspector.HeapSnapshotNodesProvider):
+ (WebInspector.HeapSnapshotPathFinder):
+ * inspector/front-end/HeapSnapshotView.js:
+ (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
+
+2011-02-01 Adam Roben <aroben@apple.com>
+
+ Fix linker warnings in Release_LTCG builds
+
+ * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
+ configurations, since they get pulled in via DOMAllInOne.cpp.
+
+2011-02-01 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
+ https://bugs.webkit.org/show_bug.cgi?id=53482
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
+ * inspector/front-end/inspector.js:
+ (WebInspector.resourceForURL):
+ (WebInspector.openLinkExternallyLabel):
+
+2011-02-01 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Propagate parent document security origin to newly create Document XML response
+ https://bugs.webkit.org/show_bug.cgi?id=53444
+
+ Covered by the existing tests.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::responseXML):
+
+2011-02-01 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Rollout r77230 which caused many layout tests
+ crashes on Chromium Debug bots.
+
+ Async event handlers should not fire within a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=53202
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/EventQueue.cpp:
+ (WebCore::EventQueue::EventQueue):
+ (WebCore::EventQueue::enqueueEvent):
+ (WebCore::EventQueue::pendingEventTimerFired):
+ * dom/EventQueue.h:
+
+2011-02-01 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ LightElement changes does not require relayout.
+ https://bugs.webkit.org/show_bug.cgi?id=53232
+
+ When an attribute of a LightElement changes, it
+ send an update message to the lighting filters
+ to update its corresponding LightSource objects,
+ and repaint the filters.
+
+ Duplicated 'id' attributes removed from svg-filter-animation.svg.
+
+ Existing dynamic-update tests covers this feature.
+
+ 5x speedup on manual-tests/svg-filter-animation.svg
+
+ * manual-tests/svg-filter-animation.svg:
+ * platform/graphics/filters/DistantLightSource.h:
+ * platform/graphics/filters/FEDiffuseLighting.cpp:
+ (WebCore::FEDiffuseLighting::setLightingColor):
+ (WebCore::FEDiffuseLighting::setSurfaceScale):
+ (WebCore::FEDiffuseLighting::setDiffuseConstant):
+ (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
+ (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
+ * platform/graphics/filters/FEDiffuseLighting.h:
+ * platform/graphics/filters/LightSource.cpp:
+ (WebCore::PointLightSource::setX):
+ (WebCore::PointLightSource::setY):
+ (WebCore::PointLightSource::setZ):
+ (WebCore::SpotLightSource::setX):
+ (WebCore::SpotLightSource::setY):
+ (WebCore::SpotLightSource::setZ):
+ (WebCore::SpotLightSource::setPointsAtX):
+ (WebCore::SpotLightSource::setPointsAtY):
+ (WebCore::SpotLightSource::setPointsAtZ):
+ (WebCore::SpotLightSource::setSpecularExponent):
+ (WebCore::SpotLightSource::setLimitingConeAngle):
+ (WebCore::DistantLightSource::setAzimuth):
+ (WebCore::DistantLightSource::setElevation):
+ (WebCore::LightSource::setAzimuth):
+ (WebCore::LightSource::setElevation):
+ (WebCore::LightSource::setX):
+ (WebCore::LightSource::setY):
+ (WebCore::LightSource::setZ):
+ (WebCore::LightSource::setPointsAtX):
+ (WebCore::LightSource::setPointsAtY):
+ (WebCore::LightSource::setPointsAtZ):
+ (WebCore::LightSource::setSpecularExponent):
+ (WebCore::LightSource::setLimitingConeAngle):
+ * platform/graphics/filters/LightSource.h:
+ * platform/graphics/filters/PointLightSource.h:
+ * platform/graphics/filters/SpotLightSource.h:
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
+ (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ (WebCore::SVGFEDiffuseLightingElement::findLightElement):
+ (WebCore::SVGFEDiffuseLightingElement::findLight):
+ * svg/SVGFEDiffuseLightingElement.h:
+ * svg/SVGFELightElement.cpp:
+ (WebCore::SVGFELightElement::svgAttributeChanged):
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+
+2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
+ https://bugs.webkit.org/show_bug.cgi?id=53289
+
+ Moving the nested class DocumentOrderedMap from Document into separate files,
+ updating code where necessary.
+
+ No new tests. (refactoring)
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUMakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::getElementById):
+ (WebCore::Document::getImageMap):
+ * dom/Document.h:
+ * dom/DocumentOrderedMap.cpp: Added.
+ (WebCore::keyMatchesId):
+ (WebCore::keyMatchesMapName):
+ (WebCore::keyMatchesLowercasedMapName):
+ (WebCore::DocumentOrderedMap::clear):
+ (WebCore::DocumentOrderedMap::add):
+ (WebCore::DocumentOrderedMap::remove):
+ (WebCore::DocumentOrderedMap::get):
+ (WebCore::DocumentOrderedMap::getElementById):
+ (WebCore::DocumentOrderedMap::getElementByMapName):
+ (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
+ * dom/DocumentOrderedMap.h: Added.
+ (WebCore::DocumentOrderedMap::contains):
+ (WebCore::DocumentOrderedMap::containsMultiple):
+ * dom/DOMAllInOne.cpp:
+
+2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] atk_text_set_caret_offset fails for list items
+ https://bugs.webkit.org/show_bug.cgi?id=53388
+
+ Allow using text ranges across list items.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::allowsTextRanges): Add list items
+ to the list of accessibility objects supporting text ranges.
+
+2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] character range extents is off when the end of a wrapped line is included
+ https://bugs.webkit.org/show_bug.cgi?id=53323
+
+ Fixed wrong calculation getting the range extents.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_text_get_range_extents): Removed '+1' since the
+ requested interval shouldn't include the last character.
+
+2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Caret Offset is one off at the end of wrapped lines
+ https://bugs.webkit.org/show_bug.cgi?id=53300
+
+ Consider linebreaks as special cases.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (objectAndOffsetUnignored): In order to avoid getting wrong values
+ when around linebreaks, we need to workaround this by explicitly
+ avoiding those '\n' text nodes from affecting the result of
+ calling to TextIterator:rangeLength().
+
+2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
+
+ Unreviewed, rolling out r77229.
+ http://trac.webkit.org/changeset/77229
+ https://bugs.webkit.org/show_bug.cgi?id=53289
+
+ revert mysterious build breakage
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/DOMAllInOne.cpp:
+ * dom/Document.cpp:
+ (WebCore::Document::DocumentOrderedMap::clear):
+ (WebCore::Document::DocumentOrderedMap::add):
+ (WebCore::Document::DocumentOrderedMap::remove):
+ (WebCore::Document::DocumentOrderedMap::get):
+ (WebCore::keyMatchesId):
+ (WebCore::Document::getElementById):
+ (WebCore::keyMatchesMapName):
+ (WebCore::keyMatchesLowercasedMapName):
+ (WebCore::Document::getImageMap):
+ * dom/Document.h:
+ (WebCore::Document::DocumentOrderedMap::contains):
+ (WebCore::Document::DocumentOrderedMap::containsMultiple):
+ * dom/DocumentOrderedMap.cpp: Removed.
+ * dom/DocumentOrderedMap.h: Removed.
+
+2011-02-01 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Async event handlers should not fire within a modal dialog
+ https://bugs.webkit.org/show_bug.cgi?id=53202
+
+ Asychronous events that use EventQueue would currently fire while a
+ modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
+ SuspendableTimer (which automatically gets suspended while dialogs are
+ up and in other cases where JS execution is not allowed).
+
+ Test: fast/events/scroll-event-during-modal-dialog.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/EventQueue.cpp:
+ (WebCore::EventQueueTimer::EventQueueTimer):
+ (WebCore::EventQueueTimer::fired):
+ (WebCore::EventQueue::EventQueue):
+ (WebCore::EventQueue::enqueueEvent):
+ (WebCore::EventQueue::pendingEventTimerFired):
+ * dom/EventQueue.h:
+ (WebCore::EventQueue::create):
+
+2011-02-01 Roland Steiner <rolandsteiner@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
+ https://bugs.webkit.org/show_bug.cgi?id=53289
+
+ Moving the nested class DocumentOrderedMap from Document into separate files,
+ updating code where necessary.
+
+ No new tests. (refactoring)
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUMakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::getElementById):
+ (WebCore::Document::getImageMap):
+ * dom/Document.h:
+ * dom/DocumentOrderedMap.cpp: Added.
+ (WebCore::keyMatchesId):
+ (WebCore::keyMatchesMapName):
+ (WebCore::keyMatchesLowercasedMapName):
+ (WebCore::DocumentOrderedMap::clear):
+ (WebCore::DocumentOrderedMap::add):
+ (WebCore::DocumentOrderedMap::remove):
+ (WebCore::DocumentOrderedMap::get):
+ (WebCore::DocumentOrderedMap::getElementById):
+ (WebCore::DocumentOrderedMap::getElementByMapName):
+ (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
+ * dom/DocumentOrderedMap.h: Added.
+ (WebCore::DocumentOrderedMap::contains):
+ (WebCore::DocumentOrderedMap::containsMultiple):
+ * dom/DOMAllInOne.cpp:
+
+2011-02-01 Naoki Takano <takano.naoki@gmail.com>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Autofill should work with HTML5 form elements
+ https://bugs.webkit.org/show_bug.cgi?id=51809
+ http://crbug.com/65654
+
+ No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
+
+ * html/InputType.h: Insert comment for canSetSuggestedValue().
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
+ * html/TextFieldInputType.h: Declare canSetSuggestedValue().
+ * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
+ * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
+
+2011-02-01 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
+ https://bugs.webkit.org/show_bug.cgi?id=53272
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
+
+2011-01-31 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53466
+ Move WebKit2 to printing via API methods
+
+ * WebCore.exp.in: Export IntRect::scale().
+
+2011-01-31 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Remove obsolete comment after r41871
+ https://bugs.webkit.org/show_bug.cgi?id=53406
+
+ * dom/Document.h:
+
+2011-01-31 Simon Fraser <simon.fraser@apple.com>
+
+ Fix according to reviewer comments: can just use Color::black now.
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::drawInsetShadow):
+ (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
+
+2011-01-31 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up ShadowBlur
+ https://bugs.webkit.org/show_bug.cgi?id=53472
+
+ Some minor ShadowBlur cleanup.
+
+ * platform/graphics/ShadowBlur.h:
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
+ paramter.
+ (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
+ (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
+ layerRect. Make frameSize a float.
+ (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
+ layerRect rather than calling calculateLayerBoundingRect() to compute
+ it itself, since we were calling calculateLayerBoundingRect() twice.
+ (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
+ only once. The shadowRect variable was unused, so two return paths could be
+ collapsed into one.
+ (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
+ beginShadowLayer() now.
+ (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
+ We always used alpha=1, so no need to pass that in.
+ (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
+ pass that in. Move shadowRect down to first use.
+ ShadowBlur::clipBounds() was unused.
+
+2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
+ https://bugs.webkit.org/show_bug.cgi?id=46748
+
+ This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
+ Added a regression test to tst_QWebFrame.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+
+2011-01-27 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Convert <progress> shadow DOM to a DOM-based shadow.
+ https://bugs.webkit.org/show_bug.cgi?id=50660
+
+ * Removed RenderProgress::m_valuePart, moved the shadow node
+ to the shadow root of HTMLProgressElement.
+ * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
+ ProgressBarValueElement is defined only for overriding
+ shadowPseudoId().
+
+ No new tests. No behavioral change.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * html/HTMLProgressElement.cpp:
+ (WebCore::ProgressBarValueElement::ProgressBarValueElement):
+ (WebCore::ProgressBarValueElement::shadowPseudoId):
+ (WebCore::ProgressBarValueElement::create):
+ (WebCore::ProgressBarValueElement::detach):
+ (WebCore::HTMLProgressElement::parseMappedAttribute):
+ (WebCore::HTMLProgressElement::attach):
+ (WebCore::HTMLProgressElement::valuePart):
+ (WebCore::HTMLProgressElement::didElementStateChange):
+ (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
+ * html/HTMLProgressElement.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::~RenderProgress):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::layoutParts):
+ (WebCore::RenderProgress::shouldHaveParts):
+ (WebCore::RenderProgress::valuePart):
+ * rendering/RenderProgress.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2011-01-31 Charlie Reis <creis@chromium.org>
+
+ Reviewed by Mihai Parparita.
+
+ Add sanity check to help diagnose bug 52819
+ https://bugs.webkit.org/show_bug.cgi?id=53402
+
+ Crash early if the children of fromItem look invalid.
+
+ * loader/HistoryController.cpp:
+
+2011-01-31 Kalle Vahlman <kalle.vahlman@movial.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] canvas.drawImage(HTMLVideoElement) doesn't work with Qt Multimedia backend
+ https://bugs.webkit.org/show_bug.cgi?id=53325
+
+ Reimplement paintCurrentFrameInContext() rather than delegate the
+ rendering to paint() to make sure we really do get the video frame
+ content into the GraphicsContext, regardless of accelerated
+ compositing and the video scene state.
+
+ * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
+ (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext):
+ * platform/graphics/qt/MediaPlayerPrivateQt.h:
+
+2011-01-31 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Setting "selected" attribute to false should have no effect in single line <select>
+ https://bugs.webkit.org/show_bug.cgi?id=52436
+
+ Change SelectElement::setSelectedIndex to select the first selectable
+ option when the select state of all options is set to false as required
+ by the HTML5 specification.
+
+ Test: fast/dom/HTMLSelectElement/selected-false.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::setSelectedIndex):
+
+2011-01-31 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Console source references need a left-margin
+ https://bugs.webkit.org/show_bug.cgi?id=53308
+
+ * inspector/front-end/inspector.css:
+ (.console-message-url): Added a 4px margin on the left.
+
+2011-01-31 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ Code Changes only.
+
+ It is needlessly expensive to find the generating node from an anonymous renderer of a pseudoelement.
+ https://bugs.webkit.org/show_bug.cgi?id=53024
+
+ No new tests. No change in functionality
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::before):
+ (WebCore::RenderObject::after):
+ (WebCore::RenderObject::generatingNode):
+ Added new accessors for the use of the CSS 2.1 counters code
+ (mainlyly)
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::beforeAfterContainer):
+ (WebCore::RenderObjectChildList::invalidateCounters):
+ (WebCore::RenderObjectChildList::before):
+ (WebCore::RenderObjectChildList::after):
+ Refactored the code to take advantage of the new accessors.
+ (WebCore::RenderObjectChildList::updateBeforeAfterContent):
+ Changed to store the generating node in the :before and :after
+ renderers.
+ * rendering/RenderObjectChildList.h:
+
+2011-01-31 Krithigassree Sambamurthy <krithigassree.sambamurthy@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ Add background-clip to background shorthand
+ https://bugs.webkit.org/show_bug.cgi?id=52080
+
+ Added background-clip to background-shorthand. Also made changes to
+ include webkitMaskClip to the mask shorthand to keep both in sync.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseFillShorthand):
+
+2011-01-31 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
+ https://bugs.webkit.org/show_bug.cgi?id=53460
+
+ * editing/EditorCommand.cpp:
+ (WebCore::executeScrollPageBackward): Added.
+ (WebCore::executeScrollPageForward): Added.
+ (WebCore::executeScrollToBeginningOfDocument): Added.
+ (WebCore::executeScrollToEndOfDocument): Added.
+ (WebCore::createCommandMap): Added the four commands above to the map.
+
+2011-01-31 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Inter-ideograph justification should apply to hiragana and katakana as well
+ https://bugs.webkit.org/show_bug.cgi?id=53464
+
+ Changed the test for expansion opportunities from isCJKIdeograph() to isCJKIdeographOrSymbol().
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::expansionOpportunityCount):
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::advance):
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
+
+2011-01-31 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by James Robinson.
+
+ REGRESSION(r76951): Appearance of media controls changed slightly on Qt/Chromium ports
+ https://bugs.webkit.org/show_bug.cgi?id=53314
+
+ Fixes media/controls-strict.html on Chromium.
+
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
+ Added proper box-sizing to avoid differences between strict/quirks mode.
+
+2011-01-31 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Validation message bubble shouldn't inherit text-security style
+ https://bugs.webkit.org/show_bug.cgi?id=53457
+
+ No new tests because the validation message feature depends on timers
+ and is enabled only in Chromium port.
+
+ * css/html.css:
+ (::-webkit-validation-bubble): Reset -webkit-text-security.
+
+2011-01-31 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
+ https://bugs.webkit.org/show_bug.cgi?id=53271
+
+ Reapplying this patch again.
+ The removal of this patch in <http://trac.webkit.org/changeset/77125>
+ as part of https://bugs.webkit.org/show_bug.cgi?id=53418,
+ removed the both the first (failing) patch (r76893) and this fixed
+ patch (r76969). This patch includes slight changes necessitated by
+ r77151.
+
+ Reapplying this patch with the change that the second ASSERT in
+ RootObject::removeRuntimeObject was changed to use
+ .uncheckedGet() instead of the failing .get(). The object in question
+ could be in the process of being GC'ed. The get() call will not return
+ such an object while the uncheckedGet() call will return the (unsafe)
+ object. This is the behavior we want.
+
+ Precautionary change.
+ Changed RootObject to use WeakGCMap instead of HashSet.
+ Found will looking for another issue, but can't produce a test case
+ that is problematic. THerefore there aren't any new tests.
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-31 Andreas Kling <kling@webkit.org>
+
+ Unbreak Qt build after r77151.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+
+2011-01-31 takano takumi <takano@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Implement text-combine rendering code
+ https://bugs.webkit.org/show_bug.cgi?id=50621
+
+ Test: fast/text/international/text-combine-image-test.html
+
+ * Android.mk: Added RenderCombineText.cpp/h
+ * CMakeLists.txt: Added RenderCombineText.cpp/h
+ * GNUmakefile.am: Added RenderCombineText.cpp/h
+ * WebCore.exp.in:
+ * WebCore.gypi: Added RenderCombineText.cpp/h
+ * WebCore.pro: Added RenderCombineText.cpp/h
+ * WebCore.vcproj/WebCore.vcproj: Added RenderCombineText.cpp/h
+ * WebCore.xcodeproj/project.pbxproj: Added RenderCombineText.cpp/h
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ - Added fontDescription.widthVariant to SimpleFontData creation.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ - Changed to set "Unique" flag to RenderStyle in case of TextCombine.
+ * dom/Text.cpp:
+ (WebCore::Text::createRenderer):
+ - Changed to create RenderCombineText in case of TextCombine.
+ * loader/cache/CachedFont.cpp:
+ (WebCore::CachedFont::platformDataFromCustomData):
+ - Added FontWidthVariant as an argument for FontPlatformData creation.
+ * loader/cache/CachedFont.h:
+ - Ditto.
+ * platform/graphics/Font.h:
+ (WebCore::Font::widthVariant):
+ - The accessor to FontWidthVariant member variable.
+ * platform/graphics/FontCache.cpp:
+ - Made cache to incorporate FontWidthVariant value.
+ (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
+ (WebCore::FontPlatformDataCacheKey::operator==):
+ (WebCore::computeHash):
+ (WebCore::FontCache::getCachedFontPlatformData):
+ * platform/graphics/FontDescription.h:
+ - Add a member variable that holds a width variant - none, half-width, third-width, and quarter-width.
+ (WebCore::FontDescription::FontDescription):
+ (WebCore::FontDescription::widthVariant):
+ (WebCore::FontDescription::setWidthVariant):
+ (WebCore::FontDescription::operator==):
+ * platform/graphics/FontWidthVariant.h: Added.
+ * platform/graphics/cairo/FontCustomPlatformData.h:
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/cocoa/FontPlatformData.h:
+ - Changed to carry FontWidthVariant value.
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::widthVariant):
+ (WebCore::FontPlatformData::hash):
+ (WebCore::FontPlatformData::operator==):
+ * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+ (WebCore::FontPlatformData::FontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ (WebCore::FontPlatformData::operator=):
+ - Ditto.
+ (WebCore::mapFontWidthVariantToCTFeatureSelector):
+ - A function to map a FontWidthVariant value to a CoreText's text spacing feature selector.
+ (WebCore::FontPlatformData::ctFont):
+ - Changed to create CTFont with text spacing variant based on FontWidthVariant.
+ * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/haiku/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/haiku/FontCustomPlatformData.h:
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::FontCache::createFontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/mac/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Changed to carry FontWidthVariant value.
+ * platform/graphics/mac/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
+ (WebCore::shouldUseCoreText):
+ - Changed to skip CT path when width variant is specified.
+ * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/qt/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/skia/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/skia/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/win/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
+ - Ditto.
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/win/FontCustomPlatformDataCairo.h:
+ - Ditto.
+ * platform/graphics/wince/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/wince/FontCustomPlatformData.h:
+ - Ditto.
+ * platform/graphics/wx/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ - Ditto.
+ * platform/graphics/wx/FontCustomPlatformData.h:
+ - Ditto.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint):
+ - In case of RenderCombineText, we don't rotate text even in vertical writing. Also, we render original text
+ instead of text returned from text().
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
+ - Made to call RenderCombinedText's prepareTextCombine() here.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::textWidth):
+ - Made to always use the render object's width() in case of TextCombine.
+ (WebCore::RenderBlock::findNextLineBreak):
+ - Made to call RenderCombinedText's prepareTextCombine() here.
+ * rendering/RenderCombineText.cpp: Added. A subclass of RenderText.
+ (WebCore::RenderCombineText::RenderCombineText):
+ (WebCore::RenderCombineText::styleDidChange):
+ - Clear the flag that indicated the font has been prepared for combining. The font will be reinitialized in
+ the next call of RenderBlock::findNextLineBreak().
+ (WebCore::RenderCombineText::setTextInternal):
+ - Ditto.
+ (WebCore::RenderCombineText::width):
+ - Returns 1-em width in case of font combine.
+ (WebCore::RenderCombineText::adjustTextOrigin):
+ - Adjust drawing origin point in case of font combine.
+ (WebCore::RenderCombineText::charactersToRender):
+ - Return original text instead of current text in case of font combine.
+ (WebCore::RenderCombineText::combineText):
+ - This function tries to pack passed text with; 1) the current font as is, 2) the font created
+ from the descriptor with half-width variant specified, 3) the font with third-width variant, 4) the font
+ with quarter-width variant.
+ - If a suitable font successfully found, replace the current font with the new font. If no appropriate font found,
+ we give up text-combine as the CSS spec describes.
+ - If a new font found, we replace the text with 0xFFFC. This is needed for a combined text block to be able to
+ behave like a single character against text decorations.
+ * rendering/RenderCombineText.h: Added.
+ (WebCore::RenderCombineText::isCombined):
+ (WebCore::RenderCombineText::combinedTextWidth):
+ - Returns 1-em width in case of font combine.
+ (WebCore::RenderCombineText::renderName):
+ (WebCore::toRenderCombineText):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::widthFromCache):
+ - Made to call RenderCombineText's combinedTextWidth when the text is combined.
+ * rendering/RenderingAllInOne.cpp: Added RenderCombineText.cpp
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::hasTextCombine):
+ - Added for a quick test of TextCombine.
+
+2011-01-31 Oliver Hunt <oliver@apple.com>
+
+ Convert markstack to a slot visitor API
+ https://bugs.webkit.org/show_bug.cgi?id=53219
+
+ rolling r77098, r77099, r77100, r77109, and
+ r77111 back in, along with a few more Qt fix attempts.
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Added.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::globalData):
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::createAccelerationObject):
+ (WebCore::createRotationRateObject):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+ * dom/Document.h:
+
+2011-01-31 Dan Winship <danw@gnome.org>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ wss (websockets ssl) support for gtk via new gio TLS support
+ https://bugs.webkit.org/show_bug.cgi?id=50344
+
+ Update to use GPollableOutputStream and GTlsConnection to
+ implement wss URLs
+
+ * platform/network/soup/SocketStreamHandle.h:
+ * platform/network/soup/SocketStreamHandleSoup.cpp:
+ (WebCore::SocketStreamHandle::SocketStreamHandle):
+ (WebCore::SocketStreamHandle::connected):
+ (WebCore::SocketStreamHandle::platformSend):
+ (WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
+ (WebCore::writeReadyCallback):
+
+2011-01-31 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Check the textarea node still exists in document before casting
+ it to HTMLTextAreaElement.
+ https://bugs.webkit.org/show_bug.cgi?id=53429
+
+ Test: fast/forms/textarea-node-removed-from-document-crash.html
+
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
+
+2011-01-27 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ If beforeChild is wrapped in an anonymous table section, we need to
+ go the parent to find it and use it before adding childs to table.
+ https://bugs.webkit.org/show_bug.cgi?id=53276
+
+ We need to make sure that beforeChild's parent is "this" before calling
+ RenderBox::addChild. The previous condition in while is too restrictive
+ and fails to calculate the right beforeChild value when its display
+ style is table caption.
+ Test: fast/table/before-child-non-table-section-add-table-crash.html
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild):
+
+2011-01-31 Shane Stephens <shanestephens@google.com>
+
+ Reviewed by Simon Fraser.
+
+ AffineTransform::translateRight incorrectly computes a translateLeft.
+ https://bugs.webkit.org/show_bug.cgi?id=52551
+
+ Removed translateRight and converted all uses to perform standard
+ matrix multiplication.
+
+ No new tests because patch doesn't modify functionality.
+
+ * platform/graphics/transforms/AffineTransform.cpp:
+ * platform/graphics/transforms/AffineTransform.h:
+ (WebCore::AffineTransform::translation):
+ * rendering/svg/RenderSVGResourceMarker.cpp:
+ (WebCore::RenderSVGResourceMarker::localToParentTransform):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
+ (WebCore::RenderSVGRoot::localToParentTransform):
+ * rendering/svg/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::localToParentTransform):
+ * rendering/svg/SVGTextLayoutEngine.cpp:
+ (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
+
+2011-01-31 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
+ https://bugs.webkit.org/show_bug.cgi?id=53389
+
+ Return FALSE when not able to set the caret at the specified offset.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_text_set_caret_offset): Return FALSE when the
+ range created is NULL and adjust offset to account for list markers.
+
+2011-01-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: copy HAR to clipboard instead of saving blob on export.
+ https://bugs.webkit.org/show_bug.cgi?id=53328
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype._exportAll):
+ (WebInspector.NetworkPanel.prototype._exportResource):
+
+2011-01-30 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: speed up network panel rendering.
+ https://bugs.webkit.org/show_bug.cgi?id=53397
+
+ * inspector/front-end/DataGrid.js:
+ (WebInspector.DataGrid.prototype.get scrollContainer):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
+ (WebInspector.NetworkPanel.prototype._positionSummaryBar):
+ (WebInspector.NetworkPanel.prototype._createTable):
+ (WebInspector.NetworkPanel.prototype._exportResource):
+ (WebInspector.NetworkPanel.prototype._onScroll):
+ * inspector/front-end/networkPanel.css:
+ (.network-sidebar .data-grid.small tr.offscreen):
+ (.network-sidebar .data-grid tr.offscreen):
+ (.network-sidebar .data-grid tr.offscreen td):
+
+2011-01-31 Peter Varga <pvarga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Remove wrec from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=53298
+
+ No new tests needed.
+
+ * Android.jscbindings.mk:
+ * ForwardingHeaders/wrec/WREC.h: Removed.
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/copyForwardingHeaders.cmd:
+
+2011-01-31 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76969.
+ http://trac.webkit.org/changeset/76969
+ https://bugs.webkit.org/show_bug.cgi?id=53418
+
+ "It is causing crashes in GTK+ and Leopard bots" (Requested by
+ alexg__ on #webkit).
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-31 Antti Koivisto <antti@apple.com>
+
+ Not reviewed.
+
+ Spelling.
+
+ * css/CSSSelectorList.h:
+ (WebCore::CSSSelectorList::next):
+
+2011-01-31 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Fix Chromium compilation on Linux.
+
+ * platform/graphics/ShadowBlur.cpp: added PLATFORM(CHROMIUM) guard
+ * platform/graphics/ShadowBlur.h: added missing ColorSpace.h header include
+
+2011-01-31 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Fix Chromium compilation on Mac broken by r77101.
+
+ * WebCore.gypi: add ShadowBlur.{h,cpp} to the gypi file.
+
+2011-01-31 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector: Change button title from "Clear CPU profiles" to "Clear all profiles".
+
+ https://bugs.webkit.org/show_bug.cgi?id=53309
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel):
+
+2011-01-31 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Unreviewed, fix the build with current GTK+ 3.x.
+
+ * plugins/gtk/gtk2xtbin.c:
+ * plugins/gtk/gtk2xtbin.h:
+
+2011-01-30 Kenichi Ishibashi <bashi@google.com>
+
+ Reviewed by Kent Tamura.
+
+ Dangling form associated elements should not be registered on the document
+ https://bugs.webkit.org/show_bug.cgi?id=53223
+
+ Adds insertedIntoDocument() and remvoedFromDocument() to
+ FormAssociatedElement class to register the element on the document
+ if and only if it actually inserted into (removed from) the document.
+
+ Test: fast/forms/dangling-form-element-crash.html
+
+ * html/FormAssociatedElement.cpp:
+ (WebCore::FormAssociatedElement::insertedIntoDocument): Added.
+ (WebCore::FormAssociatedElement::removedFromDocument): Ditto.
+ (WebCore::FormAssociatedElement::insertedIntoTree): Don't register
+ the element to a document.
+ (WebCore::FormAssociatedElement::removedFromTree): Don't unregister
+ the element from a document.
+ * html/FormAssociatedElement.h:
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::insertedIntoDocument): Added.
+ (WebCore::HTMLFormControlElement::removedFromDocument): Ditto.
+ * html/HTMLFormControlElement.h:
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::insertedIntoDocument): Calls
+ FormAssociatedElement::insertedIntoDocument().
+ (WebCore::HTMLObjectElement::removedFromDocument): Calls
+ FormAssociatedElement::removedFromDocument().
+
+2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed, rolling out r77098, r77099, r77100, r77109, and
+ r77111.
+ http://trac.webkit.org/changeset/77098
+ http://trac.webkit.org/changeset/77099
+ http://trac.webkit.org/changeset/77100
+ http://trac.webkit.org/changeset/77109
+ http://trac.webkit.org/changeset/77111
+ https://bugs.webkit.org/show_bug.cgi?id=53219
+
+ Qt build is broken
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::createAccelerationObject):
+ (WebCore::createRotationRateObject):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * bridge/runtime_root.h:
+ * dom/Document.h:
+
+2011-01-30 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77107.
+ http://trac.webkit.org/changeset/77107
+ https://bugs.webkit.org/show_bug.cgi?id=53412
+
+ Caused 5 new form-related test crashes (Requested by smfr on
+ #webkit).
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::parseMappedAttribute):
+ (WebCore::HTMLProgressElement::attach):
+ * html/HTMLProgressElement.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::~RenderProgress):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::layoutParts):
+ (WebCore::RenderProgress::shouldHaveParts):
+ * rendering/RenderProgress.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Enhance ShadowBlur to render inset box shadows
+ https://bugs.webkit.org/show_bug.cgi?id=51567
+
+ Use ShadowBlur for inset box-shadows with CG. It
+ currently lacks a tiled version, but is still much
+ faster than CG shadows.
+
+ Test: fast/box-shadow/inset-box-shadow-radius.html
+
+ * platform/graphics/ShadowBlur.cpp:
+ * platform/graphics/ShadowBlur.h: New method for inset
+ shadows.
+ (WebCore::ShadowBlur::drawInsetShadow):
+
+ * platform/graphics/GraphicsContext.cpp: #ifdef out
+ fillRectWithRoundedHole() for CG.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::fillRectWithRoundedHole): If there's
+ a shadow with a radius > 0, use ShadowBlur.
+
+2011-01-28 Kenneth Russell <kbr@google.com>
+
+ Reviewed by Chris Marrin.
+
+ WebGL shows PNG Textures with indexed colors too dark
+ https://bugs.webkit.org/show_bug.cgi?id=47477
+
+ Properly handle indexed PNG images by re-rendering them as RGBA
+ images before upload. Verified with this layout test and the test
+ cases from bugs 47477 and 53269.
+
+ * platform/graphics/cg/GraphicsContext3DCG.cpp:
+ (WebCore::GraphicsContext3D::getImageData):
+
+2011-01-27 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Convert <progress> shadow DOM to a DOM-based shadow.
+ https://bugs.webkit.org/show_bug.cgi?id=50660
+
+ * Removed RenderProgress::m_valuePart, moved the shadow node
+ to the shadow root of HTMLProgressElement.
+ * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
+ ProgressBarValueElement is defined only for overriding
+ shadowPseudoId().
+
+ No new tests. No behavioral change.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * html/HTMLProgressElement.cpp:
+ (WebCore::ProgressBarValueElement::ProgressBarValueElement):
+ (WebCore::ProgressBarValueElement::shadowPseudoId):
+ (WebCore::ProgressBarValueElement::create):
+ (WebCore::HTMLProgressElement::parseMappedAttribute):
+ (WebCore::HTMLProgressElement::attach):
+ (WebCore::HTMLProgressElement::valuePart):
+ (WebCore::HTMLProgressElement::didElementStateChange):
+ (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
+ * html/HTMLProgressElement.h:
+ * rendering/RenderProgress.cpp:
+ (WebCore::RenderProgress::~RenderProgress):
+ (WebCore::RenderProgress::updateFromElement):
+ (WebCore::RenderProgress::layoutParts):
+ (WebCore::RenderProgress::shouldHaveParts):
+ (WebCore::RenderProgress::valuePart):
+ * rendering/RenderProgress.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Enhance ShadowBlur to render inset box shadows; Part 1.
+ https://bugs.webkit.org/show_bug.cgi?id=51567
+
+ Add a new method to GraphicsContext to render a rect with a rounded hole,
+ for use by inset box-shadow code. Knowledge that we're rendering a rounded
+ hole will enable ShadowBlur to be used here in future.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::fillRectWithRoundedHole):
+ * platform/graphics/GraphicsContext.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+
+2011-01-23 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION: Inset shadow with too large border radius misses rounded corner.
+ https://bugs.webkit.org/show_bug.cgi?id=52800
+
+ The refactoring on r76083 broke the invariant between border
+ IntRect and its radii because RoundedIntRect::setRect() is called
+ after getRoundedInnerBorderWithBorderWidths(), which enforces the
+ invariant. Th rounded-rect clipping code verifies the invariant,
+ and discard the invalid radii, that results broken paintings.
+
+ This change moved setRect() before
+ getRoundedInnerBorderWithBorderWidths() not to modify the valid
+ RoundedIntRect value.
+
+ Test: fast/box-shadow/inset-with-extraordinary-radii-and-border.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Attempt to fix Windows build by adding ShadowBlur.cpp/h to the
+ vcproj.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ -webkit-box-shadow causes awful scroll/resize/redraw performance
+ https://bugs.webkit.org/show_bug.cgi?id=22102
+
+ Use ShadowBlur for CG, whe rendering shadows on rects and
+ rounded rects outside of canvas.
+
+ CG shadows with a radius of more than 8px do not render
+ correctly. We preserve this incorrect rendering by compensating
+ for it when rending -webkit-box-shadow. Calls that should use
+ this deprecated radius behavior now use setLegacyShadow().
+
+ Test: fast/box-shadow/box-shadow-transformed.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp: Use setLegacyShadow()
+ for canvas, to indicate that it should use the deprecated radius
+ behavior.
+ (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): Ditto.
+ (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
+ (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::setLegacyShadow): Set the m_state.shadowsUseLegacyRadius bit.
+
+ * platform/graphics/GraphicsContext.h:
+ (WebCore::GraphicsContextState::GraphicsContextState): Add a
+ shadowsUseLegacyRadius bit to the state.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::radiusToLegacyRadius): Map from the actual radius to one
+ that approximates CG behavior.
+ (WebCore::hasBlurredShadow): Helper that returns true if we have a shadow
+ with a non-zero blur radius.
+ (WebCore::GraphicsContext::fillRect): Use ShadowBlur if not canvas.
+ (WebCore::GraphicsContext::fillRoundedRect): Ditto.
+ (WebCore::GraphicsContext::setPlatformShadow): Comment.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Call setLegacyShadow()
+ for -webkit-box-shadow.
+
+ * platform/graphics/ShadowBlur.cpp:
+ (WebCore::ShadowBlur::calculateLayerBoundingRect): Fix some pixel crack issues
+ by rounding up the blur radius.
+ (WebCore::ShadowBlur::drawRectShadow): Ditto
+ (WebCore::ShadowBlur::drawRectShadowWithTiling): Ditto.
+
+2011-01-30 Oliver Hunt <oliver@apple.com>
+
+ Try to fix Qt build (again).
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+
+2011-01-30 Oliver Hunt <oliver@apple.com>
+
+ Try to fix Qt build.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+ (JSC::Bindings::QtInstance::removeCachedMethod):
+ (JSC::Bindings::QtInstance::markAggregate):
+ * bridge/qt/qt_instance.h:
+
+2011-01-30 Oliver Hunt <oliver@apple.com>
+
+ Convert markstack to a slot visitor API
+ https://bugs.webkit.org/show_bug.cgi?id=53219
+
+ rolling r77006 and r77020 back in.
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Added.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::globalData):
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::createAccelerationObject):
+ (WebCore::createRotationRateObject):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * bridge/runtime_root.h:
+ * dom/Document.h:
+
+2011-01-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make ContextShadow code cross-platform
+ https://bugs.webkit.org/show_bug.cgi?id=51312
+
+ Add a new class, ShadowBlur, that contains most of the
+ code from ContextShadow, but is fully cross-platform.
+ It depends on one new method, GraphicsContext::clipBounds(),
+ which platforms will have to implement.
+
+ Add ShadowBlur to the Mac Xcode project, but don't use it
+ anywhere yet.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::clipBounds):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/ShadowBlur.cpp: Added.
+ (WebCore::roundUpToMultipleOf32):
+ (WebCore::ScratchBuffer::ScratchBuffer):
+ (WebCore::ScratchBuffer::getScratchBuffer):
+ (WebCore::ScratchBuffer::scheduleScratchBufferPurge):
+ (WebCore::ScratchBuffer::timerFired):
+ (WebCore::ScratchBuffer::clearScratchBuffer):
+ (WebCore::ScratchBuffer::shared):
+ (WebCore::ShadowBlur::ShadowBlur):
+ (WebCore::ShadowBlur::blurLayerImage):
+ (WebCore::ShadowBlur::adjustBlurDistance):
+ (WebCore::ShadowBlur::calculateLayerBoundingRect):
+ (WebCore::ShadowBlur::beginShadowLayer):
+ (WebCore::ShadowBlur::endShadowLayer):
+ (WebCore::ShadowBlur::drawRectShadow):
+ (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
+ (WebCore::ShadowBlur::drawRectShadowWithTiling):
+ (WebCore::ShadowBlur::clipBounds):
+ * platform/graphics/ShadowBlur.h: Added.
+ (WebCore::ShadowBlur::setShadowsIgnoreTransforms):
+ (WebCore::ShadowBlur::shadowsIgnoreTransforms):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::clipBounds):
+
+2011-01-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ CSS3 gradients with em-based stops fail to repaint when font size changes
+ https://bugs.webkit.org/show_bug.cgi?id=51845
+
+ Mark as uncacheable gradidients whose color stops depend on font size,
+ and don't attempt to put these into CSSImageGeneratorValue's image cache.
+ This means we return a new gradient each time, which is fairly cheap, and
+ fixes repaint issues under changing font size.
+
+ Test: fast/repaint/gradients-em-stops-repaint.html
+
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientValue::image):
+ (WebCore::CSSGradientValue::isCacheable):
+ * css/CSSGradientValue.h:
+
+2011-01-29 Geoffrey Garen <ggaren@apple.com>
+
+ Undo try to fix the Qt build.
+
+ My guess didn't work.
+
+ * WebCore.pro:
+
+2011-01-29 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Qt build.
+
+ * WebCore.pro: Added platform/text/CharacterNames.h.
+
+2011-01-28 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Some more Heap cleanup.
+ https://bugs.webkit.org/show_bug.cgi?id=53357
+
+ Updated for JavaScriptCore changes.
+
+ * bindings/js/ScriptGCEvent.cpp:
+ (WebCore::ScriptGCEvent::getHeapSize):
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Fix XSSFilter crash when extracting the source for a token twice
+ https://bugs.webkit.org/show_bug.cgi?id=53368
+
+ Previously, it was unsafe to extract the source for the same token
+ twice because the HTMLSourceTracker would advance its internal
+ representation of the SegmentedString. This patch introduces a cache
+ to make calling HTMLSourceTracker::sourceForToken multiple times safe.
+
+ * html/parser/HTMLSourceTracker.cpp:
+ (WebCore::HTMLSourceTracker::end):
+ (WebCore::HTMLSourceTracker::sourceForToken):
+ * html/parser/HTMLSourceTracker.h:
+
+2011-01-29 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix fat build for both 32-bit and 64-bit under llvm-gcc 4.2
+ https://bugs.webkit.org/show_bug.cgi?id=53386
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::elasticDeltaForReboundDelta):
+ (WebCore::scrollWheelMultiplier):
+ (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
+ (WebCore::ScrollAnimatorMac::beginScrollGesture):
+ (WebCore::roundTowardZero):
+ (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
+
+2011-01-29 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
+ https://bugs.webkit.org/show_bug.cgi?id=53382
+
+ Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
+ So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
+ Therefore, we should remove such references.
+
+ * CMakeLists.txt:
+
+2011-01-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Fix 32-bit build on the Mac.
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::roundTowardZero):
+ (WebCore::roundToDevicePixelTowardZero):
+ Use floats instead of doubles to avoid double-to-float conversion
+ issues.
+
+2011-01-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Use clampToInteger() functions in a few places
+ https://bugs.webkit.org/show_bug.cgi?id=53363
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Use clampToInteger() for z-index.
+ (WebCore::CSSStyleSelector::createTransformOperations): Use clampToPositiveInteger().
+ * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Ditto.
+ (WebCore::PerspectiveTransformOperation::blend): Ditto.
+
+2011-01-29 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Move CharacterNames.h into WTF directory
+ https://bugs.webkit.org/show_bug.cgi?id=49618
+
+ * ForwardingHeaders/wtf/unicode/CharacterNames.h: Added.
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityObject.cpp:
+ * accessibility/AccessibilityRenderObject.cpp:
+ * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ * dom/Position.cpp:
+ * dom/SelectElement.cpp:
+ * editing/CompositeEditCommand.cpp:
+ * editing/Editor.cpp:
+ * editing/HTMLInterchange.cpp:
+ * editing/InsertTextCommand.cpp:
+ * editing/MarkupAccumulator.cpp:
+ * editing/TextIterator.cpp:
+ * editing/VisibleSelection.cpp:
+ * editing/htmlediting.cpp:
+ * editing/htmlediting.h:
+ * editing/markup.cpp:
+ * html/FTPDirectoryDocument.cpp:
+ * html/HTMLFormControlElement.cpp:
+ * html/parser/HTMLTreeBuilder.cpp:
+ * loader/appcache/ManifestParser.cpp:
+ * platform/chromium/PopupMenuChromium.cpp:
+ * platform/graphics/Font.h:
+ * platform/graphics/FontFastPath.cpp:
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ * platform/graphics/StringTruncator.cpp:
+ * platform/graphics/mac/ComplexTextController.cpp:
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ * platform/graphics/wince/GraphicsContextWinCE.cpp:
+ * platform/mac/PasteboardMac.mm:
+ * platform/text/TextCodecICU.cpp:
+ * platform/text/mac/TextCodecMac.cpp:
+ * platform/text/transcoder/FontTranscoder.cpp:
+ * rendering/RenderBlockLineLayout.cpp:
+ * rendering/RenderFlexibleBox.cpp:
+ * rendering/RenderListMarker.cpp:
+ * rendering/RenderText.cpp:
+ * rendering/RenderTextControl.cpp:
+ * rendering/RenderTreeAsText.cpp:
+ * rendering/break_lines.cpp:
+ * rendering/mathml/RenderMathMLOperator.h:
+ * websockets/WebSocketHandshake.cpp:
+ * wml/WMLTableElement.cpp:
+
+2011-01-29 Dan Winship <danw@gnome.org>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Remove HAVE_LIBSOUP_2_29_90 conditionals; we depend on
+ libsoup 2.33.1 now.
+ https://bugs.webkit.org/show_bug.cgi?id=50675
+
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::defaultCookieJar):
+ (WebCore::setCookies):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::prepareForURL):
+ (WebCore::restartedCallback):
+ (WebCore::startHttp):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::updateSoupMessage):
+ (WebCore::ResourceRequest::toSoupMessage):
+ (WebCore::ResourceRequest::updateFromSoupMessage):
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter should replace URLs with about:blank instead of the empty string
+ https://bugs.webkit.org/show_bug.cgi?id=53370
+
+ Using the empty string will make the URL complete to the current
+ document's URL, which isn't really what we want. Instead, we want to
+ use about:blank, which is safe.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterObjectToken):
+ (WebCore::XSSFilter::filterEmbedToken):
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter should pass xssAuditor/script-tag-addslashes*
+ https://bugs.webkit.org/show_bug.cgi?id=53365
+
+ We need to canonicalize strings to avoid being tricked by addslashes.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::isNonCanonicalCharacter):
+ - This function is copied from the XSSAuditor (with some tweaks).
+ We'll eventually remove the XSSAuditor once we've got XSSFilter
+ working properly.
+ (WebCore::HTMLNames::canonicalize):
+ (WebCore::HTMLNames::decodeURL):
+ (WebCore::XSSFilter::isContainedInRequest):
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter should pass xssAuditor/script-tag-with-source-same-host.html
+ and xssAuditor/script-tag-post-*
+ https://bugs.webkit.org/show_bug.cgi?id=53364
+
+ We're supposed to allow loading same-origin resources even if they
+ appear as part of the request.
+
+ Also, we're supposed to look at the POST data too. :)
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::eraseAttributeIfInjected):
+ (WebCore::XSSFilter::isSameOriginResource):
+ - Copy/paste from XSSAuditor::isSameOriginResource. We'll
+ eventually remove the XSSAuditor version when XSSFilter is done.
+ * html/parser/XSSFilter.h:
+
+2011-01-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ XSSFilter should pass 16 of the xssAuditor/script-tag* tests
+ https://bugs.webkit.org/show_bug.cgi?id=53362
+
+ Turns out we need to replace the src attribute of script tags with
+ about:blank to avoid loading the main document URL as a script. Also,
+ move misplaced return statement that was triggering the console message
+ too often.
+
+ * html/parser/HTMLToken.h:
+ (WebCore::HTMLToken::appendToAttributeValue):
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterScriptToken):
+ (WebCore::XSSFilter::eraseAttributeIfInjected):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Downloads in WK2 on Windows should write resume data to bundle
+ https://bugs.webkit.org/show_bug.cgi?id=53282
+ <rdar://problem/8753077>
+
+ Reviewed by Alice Liu.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ Added new files to project.
+
+ * platform/network/cf/DownloadBundle.h: Added.
+ * platform/network/win/DownloadBundleWin.cpp: Added.
+ (WebCore::DownloadBundle::magicNumber):
+ Moved from WebKit's WebDownload so that WebKit and WebKit2 can share
+ it.
+ (WebCore::DownloadBundle::fileExtension):
+ Ditto.
+ (WebCore::DownloadBundle::appendResumeData):
+ Ditto - but modified to return bool rather than HRESULT and to clean up
+ whitespace.
+ (WebCore::DownloadBundle::extractResumeData):
+ Ditto - modified to clean up whitespace.
+
+2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77050.
+ http://trac.webkit.org/changeset/77050
+ https://bugs.webkit.org/show_bug.cgi?id=53371
+
+ Caused a crash in Chromium's test_shell_tests (Requested by
+ rniwa on #webkit).
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
+ * html/parser/HTMLTreeBuilder.h:
+
+2011-01-28 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
+ https://bugs.webkit.org/show_bug.cgi?id=48719
+
+ It's unclear exactly what the Peacekeeper benchmark is testing,
+ because I haven't found a way to run it myself.
+
+ However, I constructed a benchmark which shows at least one possible slow point.
+ The HTML5 spec talks about creating a new document for every time we use
+ the fragment parsing algorithm. Document() it turns out, it a huge bloated
+ mess, and the constructor and destructor do a huge amount of work.
+ To avoid constructing (or destructing) documents for each innerHTML call,
+ this patch adds a shared dummy document used by all innerHTML calls.
+
+ This patch brings us from 7x slower than Safari 5 on tiny-innerHTML
+ to only 1.5x slower than Safari 5. I'm sure there is more work to do here.
+
+ Saving a shared Document like this is error prone. Currently
+ DummyDocumentFactory::releaseDocument() calls removeAllChildren()
+ in an attempt to clear the Document's state. However it's possible
+ that that call is not sufficient and we'll have future bugs here.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::DummyDocumentFactory::createDummyDocument):
+ (WebCore::DummyDocumentFactory::releaseDocument):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::document):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
+ * html/parser/HTMLTreeBuilder.h:
+
+2011-01-28 Johnny Ding <jnd@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Gesture API: Don't use current gesture status to set "forceUserGesture" parameter when calling ScriptController::executeScript.
+ The "forceUserGesture" parameter should be only set when you are definitely sure that the running script is from a hyper-link.
+ https://bugs.webkit.org/show_bug.cgi?id=53244
+
+ Test: fast/events/popup-blocked-from-iframe-src.html
+
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+
+2011-01-28 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Add various clampToInt() methods to MathExtras.h
+ https://bugs.webkit.org/show_bug.cgi?id=52910
+
+ Use clampToInteger() from MathExtras.h
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseCounter):
+
+2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77006 and r77020.
+ http://trac.webkit.org/changeset/77006
+ http://trac.webkit.org/changeset/77020
+ https://bugs.webkit.org/show_bug.cgi?id=53360
+
+ "Broke Windows tests" (Requested by rniwa on #webkit).
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDeviceMotionEventCustom.cpp:
+ (WebCore::createAccelerationObject):
+ (WebCore::createRotationRateObject):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * bridge/runtime_root.h:
+ * dom/Document.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ XSSFilter should log to the console when it blocks something
+ https://bugs.webkit.org/show_bug.cgi?id=53354
+
+ This patch refactors a bunch of methods in XSSFilter to return a bool
+ indicating whether they blocked anything. Using this bool, we decide
+ whether to log to the console. We're using the same log message as the
+ XSSAuditor, but it seems likely we can improve this message in the
+ future (especially by piping in the correct line number, which is now
+ accessible via the parser).
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::isNameOfInlineEventHandler):
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterTokenInitial):
+ (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
+ (WebCore::XSSFilter::filterScriptToken):
+ (WebCore::XSSFilter::filterObjectToken):
+ (WebCore::XSSFilter::filterEmbedToken):
+ (WebCore::XSSFilter::filterAppletToken):
+ (WebCore::XSSFilter::filterMetaToken):
+ (WebCore::XSSFilter::filterBaseToken):
+ (WebCore::XSSFilter::eraseInlineEventHandlersIfInjected):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Wire up settings->xssAuditorEnabled to XSSFilter
+ https://bugs.webkit.org/show_bug.cgi?id=53345
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::XSSFilter):
+ (WebCore::XSSFilter::filterToken):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter about <meta> and <base> tags
+ https://bugs.webkit.org/show_bug.cgi?id=53339
+
+ I'm not 100% sure we need to block <meta http-equiv>, but it seems
+ prudent given how powerful that attribute is. We definitely need to
+ block injection of <base href> because that can redirect script tags
+ that use relative URLs.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterMetaToken):
+ (WebCore::XSSFilter::filterBaseToken):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter about <applet>
+ https://bugs.webkit.org/show_bug.cgi?id=53338
+
+ HTML5 is pretty light on information about how the <applet> tag works.
+ According to this site:
+
+ http://download.oracle.com/javase/1.4.2/docs/guide/misc/applet.html
+
+ The "code" and "object" attributes are the essential attributes for
+ determining which piece of Java to run. We might need to expand to the
+ codebase and archive attributes at some point, but hopefully code and
+ object will be sufficient.
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterAppletToken):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach the XSSFilter about object and embed tags
+ https://bugs.webkit.org/show_bug.cgi?id=53336
+
+ For <object> and <embed>, we filter out attribute values that either
+ indicate which piece of media to load or which plugin to load. In a
+ perfect world, we'd only need to filter out the URLs of the media, but
+ some plug-ins (like Flash) have lots of fun places you can hide the
+ URL (e.g., the "movie" <param>).
+
+ * html/parser/XSSFilter.cpp:
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterScriptToken):
+ (WebCore::XSSFilter::filterObjectToken):
+ (WebCore::XSSFilter::filterEmbedToken):
+ (WebCore::XSSFilter::eraseAttributeIfInjected):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Oliver Hunt <oliver@apple.com>
+
+ Fix Qt build.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
+ (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ * bridge/qt/qt_runtime.h:
+
+2011-01-28 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ CSS styles are shared based on uninitialized property values
+ https://bugs.webkit.org/show_bug.cgi?id=53285
+
+ Null test.
+
+ * dom/NamedNodeMap.cpp:
+ (WebCore::NamedNodeMap::mappedMapsEquivalent):
+
+2011-01-27 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Convert markstack to a slot visitor API
+ https://bugs.webkit.org/show_bug.cgi?id=53219
+
+ Update WebCore to the new marking apis, correct bindings
+ codegen.
+
+ * ForwardingHeaders/runtime/WriteBarrier.h: Added.
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::DOMWrapperWorld::globalData):
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::markDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::markChildren):
+ (WebCore::JSDOMGlobalObject::setInjectedScript):
+ (WebCore::JSDOMGlobalObject::injectedScript):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::DialogHandler::dialogCreated):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ (WebCore::JSDOMWindowShell::markChildren):
+ (WebCore::JSDOMWindowShell::unwrappedObject):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::setAll):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::markAggregate):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/Document.h:
+
+2011-01-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Keyboard scrolling doesn’t work in WebKit2
+ <rdar://problem/8909672>
+
+ * platform/mac/ScrollAnimatorMac.mm:
+ (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
+ (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
+ Add additional necessary delegate methods.
+
+2011-01-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Re-land this patch with the missing null check that caused crashes in layout tests.
+
+ Changing cursor style has no effect until the mouse moves
+ https://bugs.webkit.org/show_bug.cgi?id=14344
+ rdar://problem/7563712
+
+ No tests added because we don't have infrastructure for testing actual cursor
+ changes (as opposed to cursor style computation) at this time. We might add it later.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
+ * page/EventHandler.h: Ditto.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::areNonIdenticalCursorListsEqual): Added.
+ (WebCore::areCursorsEqual): Added.
+ (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
+ cursor styles changed.
+
+2011-01-28 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ We should hold RefPtrs to SVG font faces
+ https://bugs.webkit.org/show_bug.cgi?id=53270
+
+ Test: svg/custom/use-multiple-on-nested-disallowed-font.html
+
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSFontFaceSource.h:
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::associatedFontElement):
+ * svg/SVGFontFaceElement.h:
+
+2011-01-28 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ uniformN*v should generate INVALID_VALUE of the array size is not a multiple of N
+ https://bugs.webkit.org/show_bug.cgi?id=53306
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
+
+2011-01-28 Tom Sepez <tsepez@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ NULL pointer crash in TextIterator::handleTextBox()
+ https://bugs.webkit.org/show_bug.cgi?id=53267
+
+ Test: fast/css/rtl-nth-child-first-letter-crash.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::handleTextBox):
+
+2011-01-28 Adrienne Walker <enne@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Remove a spurious diagnostic CRASH check.
+ https://bugs.webkit.org/show_bug.cgi?id=52379
+
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::invalidateRect):
+
+2011-01-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/4761512> <select> can't display right-to-left (rtl) languages
+ https://bugs.webkit.org/show_bug.cgi?id=19785
+
+ Changed <select> pop-up menus on Mac OS X Snow Leopard and later to have their items aligned in the
+ direction corresponding to the writing direction of the <select> element, with the checkmarks
+ on the "start" side, and use the <option>'s writing direction rather than "natural". Made the
+ pop-up button match the menu by adding a Chrome boolean function, selectItemAlignmentFollowsMenuWritingDirection(),
+ which returns true for this pop-up behavior.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
+ * manual-tests/pop-up-alignment-and-direction.html: Added.
+ * page/Chrome.cpp:
+ (WebCore::Chrome::selectItemAlignmentFollowsMenuWritingDirection): Added. Calls through to the
+ client.
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * platform/PopupMenuStyle.h:
+ (WebCore::PopupMenuStyle::PopupMenuStyle): Added hasTextDirectionOverride parameter and member
+ variable initialization.
+ (WebCore::PopupMenuStyle::hasTextDirectionOverride): Added this accessor.
+ * platform/mac/PopupMenuMac.mm:
+ (WebCore::PopupMenuMac::populate): Set the pop-up's layout direction and items' text alignment
+ to match the menu's writing direction. Set items' writing direction and direction override
+ according to their styles.
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::RenderMenuList): Removed unncesaary initialization of a smart pointer.
+ (WebCore::RenderMenuList::adjustInnerStyle): If the alignment of items in the menu follows the
+ menu's writing direction, use that alignment for the button as well. Also in this mode, use the
+ item's writing direction and override setting.
+ (WebCore::RenderMenuList::setTextFromOption): Store the option element's style.
+ (WebCore::RenderMenuList::itemStyle): Pass the text direction override value.
+ (WebCore::RenderMenuList::menuStyle): Ditto. Also use the button's direction, not the inner text's.
+ * rendering/RenderMenuList.h:
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::menuStyle): Pass the text direction override value.
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Teach XSSFilter how to filter <script> elements
+ https://bugs.webkit.org/show_bug.cgi?id=53279
+
+ This patch adds the ability for the XSSFilter to block injected
+ <script> elements. Handling script elements is slightly subtle because
+ these elements act very differently depending on whether they have a
+ src attribute.
+
+ In the "src case", which check whether the src attribute was present in
+ the request. In the "non-src case", we check whether the start tag and
+ the body of the script element was included in the request. Checking
+ for the whole start tag means we miss out on some attribute splitting
+ attacks inside of script tags, but that doesn't seem like that big a
+ deal.
+
+ This patch also introduces some amount of state into the XSSFilter
+ because inline script elements span multiple tokens. There's a lot of
+ tuning and optimization left in these cases, some of which I've noted
+ with FIXMEs.
+
+ To test this patch, I played around with some of the existing
+ XSSAuditor tests. Hopefully I'll be able to run the test suite more
+ systematically in the future.
+
+ * html/parser/HTMLToken.h:
+ (WebCore::HTMLToken::eraseCharacters):
+ (WebCore::HTMLToken::eraseValueOfAttribute):
+ * html/parser/XSSFilter.cpp:
+ (WebCore::HTMLNames::hasName):
+ (WebCore::HTMLNames::findAttributeWithName):
+ (WebCore::HTMLNames::isNameOfScriptCarryingAttribute):
+ (WebCore::XSSFilter::XSSFilter):
+ (WebCore::XSSFilter::filterToken):
+ (WebCore::XSSFilter::filterTokenAfterScriptStartTag):
+ (WebCore::XSSFilter::filterScriptToken):
+ (WebCore::XSSFilter::snippetForRange):
+ (WebCore::XSSFilter::snippetForAttribute):
+ * html/parser/XSSFilter.h:
+
+2011-01-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Daniel Bates.
+
+ Sketch out new XSS filter design (disabled by default)
+ https://bugs.webkit.org/show_bug.cgi?id=53205
+
+ This patch adds a basic sketch of the new XSS filter design. Rather
+ than watching scripts as they execute, in this design, we watch tokens
+ emitted by the tokenizer. We then map the tokens directly back into
+ input characters, which lets us skip all the complicated logic related
+ to HTML entities and double-decoding of JavaScript URLs.
+
+ This patch contains only the bare essentially machinery. I'll add more
+ in future patches and eventually remove the previous code once this
+ code is up and running correctly.
+
+ * Android.mk:
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ (WebCore::HTMLDocumentParser::sourceForToken):
+ * html/parser/HTMLDocumentParser.h:
+ * html/parser/XSSFilter.cpp: Added.
+ * html/parser/XSSFilter.h: Added.
+
+2011-01-28 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
+ https://bugs.webkit.org/show_bug.cgi?id=53271
+
+ Reapplying this patch with the change that the second ASSERT in
+ RootObject::removeRuntimeObject was changed to use
+ .uncheckedGet() instead of the failing .get(). The object in question
+ could be in the process of being GC'ed. The get() call will not return
+ such an object while the uncheckedGet() call will return the (unsafe)
+ object. This is the behavior we want.
+
+ Precautionary change.
+ Changed RootObject to use WeakGCMap instead of HashSet.
+ Found will looking for another issue, but can't produce a test case
+ that is problematic. THerefore there aren't any new tests.
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-28 Adam Roben <aroben@apple.com>
+
+ Notify CACFLayerTreeHost when the context is flushed
+
+ LegacyCACFLayerTreeHost was keeping this a secret, which meant that WebCore's animation
+ timers were never starting.
+
+ Fixes <http://webkit.org/b/53302> [Windows 7 Release Tests] changesets 76853, 76856, and
+ 76858 broke ~36 animations, compositing, and transitions tests
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
+ (WebCore::LegacyCACFLayerTreeHost::contextDidChange): Call up to the base class after we
+ start our render timer.
+
+2011-01-28 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Remove dead code that tried to map from CSS values to parser values
+ https://bugs.webkit.org/show_bug.cgi?id=53318
+
+ * css/CSSFunctionValue.cpp:
+ * css/CSSFunctionValue.h:
+ * css/CSSPrimitiveValue.cpp:
+ * css/CSSPrimitiveValue.h:
+ * css/CSSValue.h:
+ * css/CSSValueList.cpp:
+ * css/CSSValueList.h:
+
+2011-01-28 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Some drag and drop tests fail since r76824
+ https://bugs.webkit.org/show_bug.cgi?id=53304
+
+ There were '||' instead of '&&' in the checks for valid
+ clipboard content.
+
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::getData):
+ (WebCore::ClipboardWin::types):
+ (WebCore::ClipboardWin::files):
+
+2011-01-28 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] AudioProcessingEvent.h and JSJavaScriptAudioNode.h: No such file or directory
+ https://bugs.webkit.org/show_bug.cgi?id=52889
+
+ Build fix for WebAudio. Include WebAudio source files on the source
+ list when WebAudio is enabled.
+
+ * GNUmakefile.am: Include missing source files.
+
+2011-01-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add basic rubber banding support
+ <rdar://problem/8219429>
+ https://bugs.webkit.org/show_bug.cgi?id=53277
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureEvent):
+ Pass gesture events to the FrameView.
+
+ * platform/ScrollAnimator.cpp:
+ (WebCore::ScrollAnimator::handleGestureEvent):
+ * platform/ScrollAnimator.h:
+ Add stubbed out implementation.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::overhangAmount):
+ (WebCore::ScrollView::wheelEvent):
+ * platform/ScrollView.h:
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::ScrollableArea):
+ (WebCore::ScrollableArea::handleGestureEvent):
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::constrainsScrollingToContentEdge):
+ (WebCore::ScrollableArea::setConstrainsScrollingToContentEdge):
+ Move constrains scrolling bit to ScrollableArea from ScrollView.
+
+ (WebCore::ScrollableArea::contentsSize):
+ (WebCore::ScrollableArea::overhangAmount):
+ Add additional virtual functions for information needed by the animator.
+
+ * platform/mac/ScrollAnimatorMac.h:
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
+ (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
+ (WebCore::elasticDeltaForTimeDelta):
+ (WebCore::elasticDeltaForReboundDelta):
+ (WebCore::reboundDeltaForElasticDelta):
+ (WebCore::scrollWheelMultiplier):
+ (WebCore::ScrollAnimatorMac::handleWheelEvent):
+ (WebCore::ScrollAnimatorMac::handleGestureEvent):
+ (WebCore::ScrollAnimatorMac::pinnedInDirection):
+ (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
+ (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
+ (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
+ (WebCore::ScrollAnimatorMac::beginScrollGesture):
+ (WebCore::ScrollAnimatorMac::endScrollGesture):
+ (WebCore::ScrollAnimatorMac::snapRubberBand):
+ (WebCore::roundTowardZero):
+ (WebCore::roundToDevicePixelTowardZero):
+ (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
+ Implement basic rubber banding.
+
+2011-01-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Changing unicode-bidi doesn’t force layout
+ https://bugs.webkit.org/show_bug.cgi?id=53311
+
+ Test: fast/dynamic/unicode-bidi.html
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff): Return a layout difference if unicode-bidi values differ.
+
+2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
+ https://bugs.webkit.org/show_bug.cgi?id=53122
+
+ This is the first step in converting HTMLMediaElement to the new shadow DOM.
+
+ Should not regress any existing tests. No observable change in behavior.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
+ (WebCore::nameToPseudoTypeMap): Ditto.
+ (WebCore::CSSSelector::extractPseudoType): Ditto.
+ * css/CSSSelector.h: Ditto.
+ * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
+ which is now replaced with virtual shadowPseudoId on each corresponding class.
+ (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
+ (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
+ display type in constructor.
+ (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
+ to disambiguate from the MediaControlMuteButtonElement.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
+ (WebCore::MediaControlSeekForwardButtonElement::create): Added.
+ (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
+ (WebCore::MediaControlSeekBackButtonElement::create): Added.
+ (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
+ (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
+ (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
+ * rendering/MediaControlElements.h:
+ (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
+ (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
+ (WebCore::RenderMedia::createSeekBackButton): Ditto.
+ (WebCore::RenderMedia::createSeekForwardButton): Ditto.
+ (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
+ * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
+
+2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Split MediaControls out of RenderMedia.
+ https://bugs.webkit.org/show_bug.cgi?id=53252
+
+ Near-mechanical moving of stuff, no change in behavior, thus no new tests.
+
+ * Android.mk: Added MediaControls to build system.
+ * CMakeLists.txt: Ditto.
+ * GNUmakefile.am: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::defaultEventHandler): Changed to forward events to MediaControls.
+ * html/shadow/MediaControls.cpp: Copied all controls-related methods from
+ Source/WebCore/rendering/RenderMedia.cpp, pulled them into their own class called MediaControls.
+ * html/shadow/MediaControls.h: Ditto from Source/WebCore/rendering/RenderMedia.h.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimelineElement::defaultEventHandler): Changed to use MediaControls.
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::RenderMedia): Moved relevant constructor initializers out to MediaControls.
+ (WebCore::RenderMedia::destroy): Changed to use MediaControls.
+ (WebCore::RenderMedia::styleDidChange): Ditto.
+ (WebCore::RenderMedia::layout): Ditto.
+ (WebCore::RenderMedia::updateFromElement): Ditto.
+ * rendering/RenderMedia.h: Updated defs accordingly and removed player() accessor, which
+ is only used by sub-class RenderVideo.
+ (WebCore::RenderMedia::controls): Added.
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::~RenderVideo): Changed to access MediaPlayer* directly from mediaElement().
+ (WebCore::RenderVideo::calculateIntrinsicSize): Ditto.
+ (WebCore::RenderVideo::paintReplaced): Ditto.
+ (WebCore::RenderVideo::updatePlayer): Ditto.
+ (WebCore::RenderVideo::supportsAcceleratedRendering): Ditto.
+ (WebCore::RenderVideo::acceleratedRenderingStateChanged): Ditto.
+
+2011-01-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: allow remote debugging with front-end
+ served from the cloud.
+ https://bugs.webkit.org/show_bug.cgi?id=53303
+
+ * inspector/front-end/inspector.js:
+
+2011-01-28 Aparna Nandyal <aparna.nand@wipro.com>
+
+ Reviewed by Andreas Kling.
+
+ Setting value of m_PressedPos to make scrolling smooth
+
+ Page scroll popup menu "Scroll here" option not working when cliking above scroll slider/handler.
+ https://bugs.webkit.org/show_bug.cgi?id=51349
+
+ The value of m_PressedPos was getting set before moveThumb() call
+ in all other scenarios except when "Scroll Here" option is used.
+ Hence scrolling with this option was not as expected even in cases
+ where scrolling was happening. The thumb would move in unexpected
+ direction. m_PressedPos is now set to pressed position so delta is
+ calculated.
+ Unable to write a test case as the test needs to click on "Scroll
+ Here" option of context sensitive menu and QTest is unable to do it.
+ Besides no new functionality introduced.
+
+ * platform/qt/ScrollbarQt.cpp:
+ (WebCore::Scrollbar::contextMenu):
+
+2011-01-28 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Extensions API] add JSON schema for extensions API
+ https://bugs.webkit.org/show_bug.cgi?id=53236
+
+ * inspector/front-end/ExtensionAPISchema.json: Added.
+
+2011-01-27 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Remove _LENGTH enumerants
+ https://bugs.webkit.org/show_bug.cgi?id=53259
+
+ * html/canvas/WebGLRenderingContext.cpp: Remove queries for *LENGTH.
+ (WebCore::WebGLRenderingContext::getProgramParameter):
+ (WebCore::WebGLRenderingContext::getShaderParameter):
+ * html/canvas/WebGLRenderingContext.idl: Remove *LENGTH.
+
+2011-01-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: syntax highlight inline JS and CSS in HTML resources
+ https://bugs.webkit.org/show_bug.cgi?id=30831
+
+ * inspector/front-end/SourceHTMLTokenizer.js:
+ (WebInspector.SourceHTMLTokenizer):
+ (WebInspector.SourceHTMLTokenizer.prototype.set line):
+ (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceHTMLTokenizer.re2js:
+
+2011-01-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: [STYLES] Up/Down-suggestion breaks an existing keyword
+ https://bugs.webkit.org/show_bug.cgi?id=53295
+
+ Select the current word suffix before switching to the next suggestion.
+
+ * inspector/front-end/StylesSidebarPane.js:
+ ():
+
+2011-01-28 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Fix dist compilation for the release
+ https://bugs.webkit.org/show_bug.cgi?id=53290
+
+ * GNUmakefile.am: Added inspector files to the extra dist.
+
+2011-01-28 Ilya Sherman <isherman@chromium.org>
+
+ Reviewed by Andreas Kling.
+
+ Const-correct HTMLSelectElement and WebSelectElement
+ https://bugs.webkit.org/show_bug.cgi?id=53293
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::value): const.
+ * html/HTMLSelectElement.h:
+
+2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76893.
+ http://trac.webkit.org/changeset/76893
+ https://bugs.webkit.org/show_bug.cgi?id=53287
+
+ It made some tests crash on GTK and Qt debug bots (Requested
+ by Ossy on #webkit).
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-27 Greg Coletta <greg.coletta@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Get rid of prefix header dependency for WebKit2 build system
+ https://bugs.webkit.org/show_bug.cgi?id=50174
+
+ Guard EmptyProtocalDefinitions.h to make sure it's not included twice.
+
+ * platform/mac/EmptyProtocolDefinitions.h:
+
+2011-01-27 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Recalc table sections if needed before calculating the first line
+ box baseline.
+ https://bugs.webkit.org/show_bug.cgi?id=53265
+
+ When we try to calculate the baseline position of a table cell,
+ we recurse through all the child sibling boxes (when children are
+ non inline) and add their first linebox baseline values. If one of
+ the children is a table with pending section recalc, we will access
+ wrong table section values. We recalc table sections if it is needed.
+
+ Test: fast/table/recalc-section-first-body-crash-main.html
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::firstLineBoxBaseline):
+
+2011-01-27 Adrienne Walker <enne@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Add CRASH calls to further debug tiled compositor memcpy crash.
+ https://bugs.webkit.org/show_bug.cgi?id=52379
+
+ Test: LayoutTests/compositing (to verify these weren't triggered)
+
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::invalidateRect):
+ (WebCore::LayerTilerChromium::update):
+
+2011-01-27 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [STYLES] Cancelled suggestion of a property name results in a visual artifact
+ https://bugs.webkit.org/show_bug.cgi?id=53242
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype):
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76891.
+ http://trac.webkit.org/changeset/76891
+ https://bugs.webkit.org/show_bug.cgi?id=53280
+
+ Makes every layout test crash (Requested by othermaciej on
+ #webkit).
+
+ * page/EventHandler.cpp:
+ * page/EventHandler.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleDidChange):
+
+2011-01-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed, rolling out r76839.
+ http://trac.webkit.org/changeset/76839
+ https://bugs.webkit.org/show_bug.cgi?id=49744
+
+ broke pixel tests
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+
+2011-01-27 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ contentEditable formatBlock crashes on divs with contenteditable="false"
+ https://bugs.webkit.org/show_bug.cgi?id=53263
+
+ Check if editableRootForPosition returns null for position.
+
+ Test: editing/execCommand/format-block-contenteditable-false.html
+
+ * editing/FormatBlockCommand.cpp:
+ (WebCore::FormatBlockCommand::formatRange):
+
+2011-01-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove RenderMedia members that aren't used.
+ https://bugs.webkit.org/show_bug.cgi?id=53245
+
+ Refactoring, no change in behavior, so no new tests.
+
+ * rendering/RenderMedia.h: Removed unused member variables.
+
+2011-01-27 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
+ https://bugs.webkit.org/show_bug.cgi?id=53271
+
+ Precautionary change.
+ Changed RootObject to use WeakGCMap instead of HashSet.
+ Found will looking for another issue, but can't produce a test case
+ that is problematic. THerefore there aren't any new tests.
+
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::addRuntimeObject):
+ (JSC::Bindings::RootObject::removeRuntimeObject):
+ * bridge/runtime_root.h:
+
+2011-01-27 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Rename Typed Array slice() to subset()
+ https://bugs.webkit.org/show_bug.cgi?id=53273
+
+ * bindings/js/JSArrayBufferViewHelper.h:
+ (WebCore::constructArrayBufferView):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore::constructWebGLArray):
+ * html/canvas/Float32Array.cpp:
+ (WebCore::Float32Array::subset):
+ * html/canvas/Float32Array.h:
+ * html/canvas/Float32Array.idl:
+ * html/canvas/Int16Array.cpp:
+ (WebCore::Int16Array::subset):
+ * html/canvas/Int16Array.h:
+ * html/canvas/Int16Array.idl:
+ * html/canvas/Int32Array.cpp:
+ (WebCore::Int32Array::subset):
+ * html/canvas/Int32Array.h:
+ * html/canvas/Int32Array.idl:
+ * html/canvas/Int8Array.cpp:
+ (WebCore::Int8Array::subset):
+ * html/canvas/Int8Array.h:
+ * html/canvas/Int8Array.idl:
+ * html/canvas/TypedArrayBase.h:
+ (WebCore::TypedArrayBase::subsetImpl):
+ * html/canvas/Uint16Array.cpp:
+ (WebCore::Uint16Array::subset):
+ * html/canvas/Uint16Array.h:
+ * html/canvas/Uint16Array.idl:
+ * html/canvas/Uint32Array.cpp:
+ (WebCore::Uint32Array::subset):
+ * html/canvas/Uint32Array.h:
+ * html/canvas/Uint32Array.idl:
+ * html/canvas/Uint8Array.cpp:
+ (WebCore::Uint8Array::subset):
+ * html/canvas/Uint8Array.h:
+ * html/canvas/Uint8Array.idl:
+
+2011-01-27 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Changing cursor style has no effect until the mouse moves
+ https://bugs.webkit.org/show_bug.cgi?id=14344
+ rdar://problem/7563712
+
+ No tests added because we don't have infrastructure for testing actual cursor
+ changes (as opposed to cursor style computation) at this time. We might add it later.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon): Added.
+ * page/EventHandler.h: Ditto.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::areNonIdenticalCursorListsEqual): Added.
+ (WebCore::areCursorsEqual): Added.
+ (WebCore::RenderObject::styleDidChange): Call dispatchFakeMouseMoveEventSoon if
+ cursor styles changed.
+
+2011-01-27 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ Reviewed by Dirk Schulze.
+
+ SVG Use Cycle is not detected
+ https://bugs.webkit.org/show_bug.cgi?id=52544
+
+ We should check if SVGUseElement::buildInstanceTree finds problem
+ for every child node. If it finds problem for any children we must
+ return immediately because otherwise the foundProblem variable may
+ be rewritten to false.
+
+ Test: svg/custom/recursive-use2.svg
+
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::buildInstanceTree):
+
+2011-01-27 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ texSubImage2D's format/type needs to match the internalformat/type from the previous texImage2D call
+ https://bugs.webkit.org/show_bug.cgi?id=53054
+
+ Test: fast/canvas/webgl/tex-sub-image-2d-bad-args.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::texSubImage2DBase): Check format/type match.
+
+2011-01-27 Yi Shen <yi.4.shen@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Add fullscreen media control button for html video
+ https://bugs.webkit.org/show_bug.cgi?id=51543
+
+ Implement media control fullscreen button for QtWebKit html5 video.
+
+ * css/mediaControlsQt.css:
+ (video::-webkit-media-controls-fullscreen-button):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::paintMediaFullscreenButton):
+
+2011-01-27 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Remove FrameLoader::url() and update callers to use
+ Document::url().
+ https://bugs.webkit.org/show_bug.cgi?id=41165
+
+ Refactor, no new tests.
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ (WebCore::Document::processHttpEquiv):
+ (WebCore::Document::removePendingSheet):
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrameBase::CachedFrameBase):
+ * history/PageCache.cpp:
+ (WebCore::logCanCacheFrameDecision):
+ (WebCore::PageCache::canCachePageContainingThisFrame):
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isURLAllowed):
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::inspectedURL):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForFrame):
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::replaceDocument):
+ (WebCore::DocumentWriter::deprecatedFrameEncoding):
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h:
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::updateForStandardLoad):
+ (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
+ (WebCore::HistoryController::updateForSameDocumentNavigation):
+ * loader/NavigationScheduler.cpp:
+ (WebCore::ScheduledHistoryNavigation::fire):
+ (WebCore::NavigationScheduler::scheduleLocationChange):
+ (WebCore::NavigationScheduler::scheduleRefresh):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateControlTints):
+ * page/Location.cpp:
+ (WebCore::Location::url):
+ (WebCore::Location::setProtocol):
+ (WebCore::Location::setHost):
+ (WebCore::Location::setHostname):
+ (WebCore::Location::setPort):
+ (WebCore::Location::setPathname):
+ (WebCore::Location::setSearch):
+ (WebCore::Location::setHash):
+ (WebCore::Location::reload):
+ * page/Page.cpp:
+ (WebCore::Page::goToItem):
+
+2011-01-27 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix performance regression in ImageQualityController::objectDestroyed().
+ https://bugs.webkit.org/show_bug.cgi?id=52645
+
+ In r72282, I inadvertently introduced this regression by using a
+ linear search through the hash map on object destruction. This was
+ because the hash key consisted of both object pointer and layer id,
+ but on object destruction we only know the object pointer, requiring
+ a search to find all the layers.
+ By replacing the hash map with two nested hash maps, where the outer key
+ is the object and the inner key is the layer, we can find all the
+ relevant data for an object in one hash lookup.
+
+ * rendering/RenderBoxModelObject.cpp:
+ Replace the (object,layer)->size HashMap with object->layer and
+ layer->size HashMaps.
+ (WebCore::ImageQualityController::isEmpty):
+ Implement isEmpty() for the outer HashMap.
+ (WebCore::ImageQualityController::removeLayer):
+ When a layer is removed, remove it from the inner hash map.
+ (WebCore::ImageQualityController::set):
+ Implement set(): if the inner map exists, set the layer->size tuple
+ directly. If not, create a new inner map, set the tuple, and insert
+ it in the outer map.
+ (WebCore::ImageQualityController::objectDestroyed):
+ Look up the object in the outer map only.
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ Cosmetic changes for the renamed now-outer hash map.
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ Do both outer and inner hash map lookups. Call set() to add/update
+ entries to the hash maps. keyDestroyed() is now removeLayer().
+ (WebCore::imageQualityController):
+ Make the ImageQualityController a file-static global, so it can be
+ created and destroyed on the fly.
+ (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
+ If there is no ImageQualityController, don't call objectDestroyed().
+ If it's empty, delete it.
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintIntoRect):
+ Also pass the Image* as the (void*) layer, since 0 is not a valid
+ HashMap key.
+
+2011-01-27 Adrienne Walker <enne@google.com>
+
+ Reviewed by James Robinson.
+
+ [chromium] Tiled compositor crashes if compositing turned off mid-paint
+ https://bugs.webkit.org/show_bug.cgi?id=53198
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawLayers):
+ * platform/graphics/chromium/LayerTilerChromium.cpp:
+ (WebCore::LayerTilerChromium::update):
+ (WebCore::LayerTilerChromium::draw):
+
+2011-01-27 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by David Hyatt.
+
+ A corrupted counter tree is created when renderers are added to the
+ tree bypassing RenderObject::addChild
+ https://bugs.webkit.org/show_bug.cgi?id=51270
+
+ No new tests. This patch reimplements the fix for bugs 43812 and
+ 51637 and hence all tests are already there as part of the original
+ fixes for those bugs.
+
+ * rendering/RenderCounter.cpp:
+ (WebCore::findPlaceForCounter):
+ Removed old workaround as this patch hopefully fixes the real
+ problem.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::addChild):
+ Removed call to counter updater as it was moved to a lower level.
+ (WebCore::RenderObject::destroy):
+ Moved attached counter nodes destruction to after the node is
+ removed from the tree.
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode):
+ (WebCore::RenderObjectChildList::appendChildNode):
+ (WebCore::RenderObjectChildList::insertChildNode):
+ Added notifications to the Counter system such that the
+ CounterForest reflects the changes to the RendererTree.
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::destroy):
+ Applied the same changes as for RenderObject::destroy()
+ since RenderObject::destroy() is not called from here.
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Add WKCACFViewLayerTreeHost
+
+ This is a class that derives from CACFLayerTreeHost and uses a WKCACFView to render.
+
+ Fixes <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost should use
+ WKCACFView for rendering
+
+ * WebCore.vcproj/WebCore.vcproj: Added WKCACFViewLayerTreeHost.{cpp,h}.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Make the test window have a
+ non-zero size. WKCACFView will always say it can't render if you pass it a 0-sized window,
+ so we need a non-empty window to perform a valid test.
+ (WebCore::CACFLayerTreeHost::create): First try to create a WKCACFViewLayerTreeHost, then
+ fall back to a LegacyCACFLayerTreeHost.
+ (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to react to the
+ context flush from here...
+ (WebCore::CACFLayerTreeHost::contextDidChange): ...to here. Derived classes are required to
+ call this function whenever changes are flushed to the context.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Added contextDidChange.
+
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
+ (WebCore::LegacyCACFLayerTreeHost::createRenderer):
+ (WebCore::LegacyCACFLayerTreeHost::resize):
+ Changed to use flushContext instead of flushing the context manually so that we will always
+ notify the base class when the context gets flushed.
+
+ (WebCore::LegacyCACFLayerTreeHost::flushContext): Added a call to contextDidChange so the
+ base class will know what happened. Moved code to schedule a render from here...
+ (WebCore::LegacyCACFLayerTreeHost::contextDidChange): ...to here.
+
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added contextDidChange.
+
+ * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Added.
+ (WebCore::WKCACFViewLayerTreeHost::create): If WebKitQuartzCoreAdditions, which provides
+ WKCACFView, isn't present, bail. Otherwise allocate and return a new host.
+ (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Initialize members.
+ (WebCore::WKCACFViewLayerTreeHost::updateViewIfNeeded): Update the view if we previously
+ marked that we needed to do so, and flush the context if our layer's bounds have changed.
+ (WebCore::WKCACFViewLayerTreeHost::contextDidChangeCallback): Call through to
+ contextDidChange.
+ (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Tell the WKCACFView to start rendering
+ (if we didn't already), then call up to the base class.
+ (WebCore::WKCACFViewLayerTreeHost::initializeContext): Set the context's user data, the
+ view's layer, and hook up our "context did change" callback.
+ (WebCore::WKCACFViewLayerTreeHost::resize): Mark that the view needs to be updated the next
+ time we paint.
+ (WebCore::WKCACFViewLayerTreeHost::createRenderer): Update our view and return whether it is
+ able to render or not.
+ (WebCore::WKCACFViewLayerTreeHost::destroyRenderer): Clear out all the info we passed down
+ to the view.
+ (WebCore::WKCACFViewLayerTreeHost::lastCommitTime): Call through to the view.
+ (WebCore::WKCACFViewLayerTreeHost::flushContext): Ditto.
+ (WebCore::WKCACFViewLayerTreeHost::paint): Update the view so it will draw at the right
+ size, then call up to the base class.
+ (WebCore::WKCACFViewLayerTreeHost::render): Invalidate the view using the passed-in dirty
+ rects, then ask it to draw.
+
+ * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/ca/win/LegacyCACFLayerTreeHost.h.
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Move LegacyCACFLayerTreeHost into its own files
+
+ More preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
+ should use WKCACFView for rendering
+
+ Reviewed by Simon Fraser.
+
+ * WebCore.vcproj/WebCore.vcproj: Added LegacyCACFLayerTreeHost.{cpp,h}.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Moved code from here to new files.
+
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Added.
+ * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Added.
+
+2011-01-27 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r76824.
+
+ * platform/wince/DragDataWinCE.cpp:
+ (WebCore::DragData::dragDataMap):
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Split CACFLayerTreeHost into base and derived classes
+
+ The derived class, LegacyCACFLayerTreeHost, contains all the D3D-related code. A later patch
+ will add a new derived class that replaces the D3D code with a different rendering API.
+
+ For now, LegacyCACFLayerTreeHost lives in CACFLayerTreeHost.cpp. This keeps the diff a
+ little smaller. A later patch will move it to its own source files.
+
+ Preparation for <http://webkit.org/b/53251> <rdar://problem/8925496> CACFLayerTreeHost
+ should use WKCACFView for rendering
+
+ Reviewed by Simon Fraser.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Clear the window before
+ destroying the host, as that is now the API contract that clients must fulfill.
+ (WebCore::LegacyCACFLayerTreeHost::create): Added. Simple creator.
+ (WebCore::CACFLayerTreeHost::create): Now instantiates a LegacyCACFLayerTreeHost. Calls the
+ new initialize function to perform initialization that has to happen after the vtable has
+ been set up.
+
+ (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
+ (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
+ (WebCore::LegacyCACFLayerTreeHost::initializeContext):
+ (WebCore::CACFLayerTreeHost::initialize):
+ Moved some initialization code from the CACFLayerTreeHost constructor into these new
+ functions.
+
+ (WebCore::LegacyCACFLayerTreeHost::~LegacyCACFLayerTreeHost): Added. Moved code here from
+ ~CACFLayerTreeHost.
+ (WebCore::CACFLayerTreeHost::~CACFLayerTreeHost): Rather than clearing the window at this
+ point (which would be too late, since we won't be able to call into the derived class's
+ virtual functions), just assert that it has already been cleared (or was never set in the
+ first place).
+ (WebCore::LegacyCACFLayerTreeHost::createRenderer): Renamed from
+ CACFLayerTreeHost::createRenderer, and changed to use getters instead of accessing
+ CACFLayerTreeHost's data members directly.
+
+ (WebCore::LegacyCACFLayerTreeHost::destroyRenderer):
+ (WebCore::CACFLayerTreeHost::destroyRenderer):
+ Moved some code to the new LegacyCACFLayerTreeHost function.
+
+ (WebCore::LegacyCACFLayerTreeHost::resize):
+ (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
+ Moved these functions to LegacyCACFLayerTreeHost.
+
+ (WebCore::LegacyCACFLayerTreeHost::paint):
+ (WebCore::CACFLayerTreeHost::paint):
+ Moved some code to the new LegacyCACFLayerTreeHost function.
+
+ (WebCore::LegacyCACFLayerTreeHost::render):
+ (WebCore::LegacyCACFLayerTreeHost::renderSoon):
+ Moved these functions to LegacyCACFLayerTreeHost.
+
+ (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Moved code to flush the context
+ from here...
+ (WebCore::LegacyCACFLayerTreeHost::flushContext): ...to this new function.
+
+ (WebCore::LegacyCACFLayerTreeHost::lastCommitTime): Moved code to get the last commit time
+ to this new function...
+ (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): ...from here.
+
+ (WebCore::LegacyCACFLayerTreeHost::initD3DGeometry):
+ (WebCore::LegacyCACFLayerTreeHost::resetDevice):
+ Moved these functions to LegacyCACFLayerTreeHost.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Made some functions virtual, removed some
+ members that have moved to LegacyCACFLayerTreeHost, grouped remaining members more
+ logically, and added some getters used by LegacyCACFLayerTreeHost.
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Move CACFLayerTreeHostClient to its own header file
+
+ Rubber-stamped by Steve Falkenburg.
+
+ * WebCore.vcproj/WebCore.vcproj: Added CACFLayerTreeHostClient.h. Also let VS have its way
+ with the file.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed CACFLayerTreeHostClient.
+
+ * platform/graphics/ca/win/CACFLayerTreeHostClient.h: Added.
+
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Moved some #includes here
+ from the header file.
+
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Replaced broader #includes
+ with more specific ones, plus a forward-declaration.
+
+2011-01-27 James Simonsen <simonjam@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Simplify small caps logic in complex text on linux
+ https://bugs.webkit.org/show_bug.cgi?id=53207
+
+ Test: fast/text/atsui-multiple-renderers.html
+ fast/text/atsui-small-caps-punctuation-size.html
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::nextScriptRun): Remove redundant logic. Case changes in a text run imply FontData changes.
+ (WebCore::ComplexTextController::setupFontForScriptRun): Update comment to reflect above.
+
+2011-01-27 Adam Barth <abarth@webkit.org>
+
+ In which I attempt to fix the EFL build.
+
+ * CMakeLists.txt:
+
+2011-01-25 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Adding border and padding to the calculation of the local caret rect for RenderBoxes.
+ Corrected for mistake in r76625
+
+ Undo moves caret to invalid position
+ https://bugs.webkit.org/show_bug.cgi?id=49744
+
+ Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
+ editing/selection/caret-painting-after-paste-undo.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76825.
+ http://trac.webkit.org/changeset/76825
+ https://bugs.webkit.org/show_bug.cgi?id=53256
+
+ "caused crashes on GTK and chromium" (Requested by rniwa on
+ #webkit).
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::ImageQualityController::keyDestroyed):
+ (WebCore::ImageQualityController::objectDestroyed):
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ (WebCore::imageQualityController):
+ (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
+
+2011-01-27 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Generalize the mechanism view-source uses to remember the source for an HTMLToken
+ https://bugs.webkit.org/show_bug.cgi?id=53200
+
+ Currently view-source tracks the source associated with each HTMLToken.
+ We want to re-use this mechanism for the new XSS auditor. This patch
+ moves this code into its own class so it can be shared between the
+ view-source parser and the general HTML parser. This patch also add
+ support for tracking the source of tokens that span document.write
+ boundaries.
+
+ No functional change. This code change is somewhat tested by our
+ view-source layout tests.
+
+ * Android.mk:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ - Fun with updating build files.
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ - Teach HTMLDocumentParser to track the source for HTMLTokens.
+ Currently, this information isn't used, but it will be shortly.
+ I ran the HTML parser benchmark and this change didn't have a
+ measurable effect.
+ * html/parser/HTMLDocumentParser.h:
+ - Composite in the HTMLSourceTracker.
+ * html/parser/HTMLSourceTracker.cpp: Added.
+ (WebCore::HTMLSourceTracker::HTMLSourceTracker):
+ (WebCore::HTMLSourceTracker::start):
+ (WebCore::HTMLSourceTracker::end):
+ - This function should eventualy be folded into HTMLTokenizer.
+ (WebCore::HTMLSourceTracker::sourceForToken):
+ * html/parser/HTMLSourceTracker.h: Added.
+ * html/parser/HTMLToken.h:
+ - Now HTMLTokens always have a start index of zero. To do the job
+ of the old start index, this patch introduces the notion of a
+ baseOffset. Unlike the start index (which was used as the base
+ offset for all the other indicies), the baseOffset can change
+ over the lifetime of the token. We need the flexibility to
+ change the offset for tokens that span document.write boundaries.
+ Values are now normalized to zero-offset when stored.
+ (WebCore::HTMLToken::clear):
+ (WebCore::HTMLToken::setBaseOffset):
+ (WebCore::HTMLToken::end):
+ (WebCore::HTMLToken::beginAttributeName):
+ (WebCore::HTMLToken::endAttributeName):
+ (WebCore::HTMLToken::beginAttributeValue):
+ (WebCore::HTMLToken::endAttributeValue):
+ * html/parser/HTMLViewSourceParser.cpp:
+ - Updates the HTMLViewSourceParser to use the new
+ HTMLSourceTracker.
+ (WebCore::HTMLViewSourceParser::pumpTokenizer):
+ (WebCore::HTMLViewSourceParser::append):
+ (WebCore::HTMLViewSourceParser::sourceForToken):
+ - This function now just calls through to HTMLSourceTracker.
+ * html/parser/HTMLViewSourceParser.h:
+ * platform/text/SegmentedString.cpp:
+ (WebCore::SegmentedString::currentColumn):
+ (WebCore::SegmentedString::setCurrentPosition):
+ * platform/text/SegmentedString.h:
+ (WebCore::SegmentedString::numberOfCharactersConsumed):
+ - We need to handle the general case now. The "slow" version
+ doesn't turn out to be any slower in practice anyway.
+
+2011-01-27 Sam Weinig <sam@webkit.org>
+
+ Fix all the builds.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paintOverhangAreas): Add parameters.
+
+2011-01-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Add ability to do an unconstrained scroll on a ScrollView
+ https://bugs.webkit.org/show_bug.cgi?id=53249
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ Initialize m_constrainsScrollingToContentEdge to true.
+
+ (WebCore::ScrollView::setScrollOffset):
+ Only constrain the offset if the m_constrainsScrollingToContentEdge is set.
+
+ (WebCore::ScrollView::updateScrollbars):
+ Simplify expression converting an IntSize to an IntPoint.
+
+ (WebCore::ScrollView::paint):
+ Paint the overhang if there is any.
+
+ (WebCore::ScrollView::calculateOverhangAreasForPainting):
+ Calculate the overhang in viewport coordinates for painting.
+
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::constrainsScrollingToContentEdge):
+ (WebCore::ScrollView::setConstrainsScrollingToContentEdge):
+ Add bit to control whether the scroll position should be constrained
+ to the content edge when set.
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::usedTotalSize):
+ (WebCore::ScrollbarThemeComposite::thumbPosition):
+ (WebCore::ScrollbarThemeComposite::thumbLength):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+ Improve calculations of thumb size and position to take overhang into account.
+
+2011-01-27 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG animation of Paths with segments of different coordinate modes on begin and end
+ https://bugs.webkit.org/show_bug.cgi?id=52984
+
+ At the moment we just support SVG path animations, if the number of segments on the given start path
+ is the same as the number of segments on the given end path. But a segment on a given position must be identical
+ on both paths as well. Not only the segment type, also the coordinate mode of the segments must be identical.
+ If MoveToRel is on the second position on the start path a MoveToRel must be on the second position
+ of the end path too. According to the SVG spec, at least the coordinate mode can differ. Means, if we have MoveToRel
+ in the start path, we can use MoveToAbs on the same position in the end path.
+
+ This patch fixes the blending code to follow the spec here. It was necessary to track the current position of
+ both paths, transform coordinates to the same coordinate mode and transform the resulting animation coordinate back
+ to the coordinate mode of either the start or the end path. Which mode is taken depends on the progress of the
+ animation.
+
+ Tests: svg/animations/animate-path-animation-Cc-Ss.html
+ svg/animations/animate-path-animation-Ll-Vv-Hh.html
+ svg/animations/animate-path-animation-Qq-Tt.html
+ svg/animations/animate-path-animation-cC-sS-inverse.html
+ svg/animations/animate-path-animation-lL-vV-hH-inverse.html
+ svg/animations/animate-path-animation-qQ-tT-inverse.html
+
+ * svg/SVGPathBlender.cpp:
+ (WebCore::blendFloatPoint):
+ (WebCore::blendAnimatedFloat):
+ (WebCore::SVGPathBlender::blendAnimatedDimensionalFloat):
+ (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
+ (WebCore::SVGPathBlender::blendMoveToSegment):
+ (WebCore::SVGPathBlender::blendLineToSegment):
+ (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
+ (WebCore::SVGPathBlender::blendLineToVerticalSegment):
+ (WebCore::SVGPathBlender::blendCurveToCubicSegment):
+ (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
+ (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
+ (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
+ (WebCore::SVGPathBlender::blendArcToSegment):
+ (WebCore::coordinateModeOfCommand):
+ (WebCore::isSegmentEqual):
+ (WebCore::SVGPathBlender::blendAnimatedPath):
+ (WebCore::SVGPathBlender::cleanup):
+ * svg/SVGPathBlender.h:
+
+2011-01-27 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Clear the parent on a css keyframe's m_style when removing it from the stylesheet.
+ https://bugs.webkit.org/show_bug.cgi?id=52320
+
+ Test: fast/css/css-keyframe-style-crash.html
+
+ * css/CSSRuleList.cpp:
+ (WebCore::CSSRuleList::deleteRule):
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
+
+2011-01-27 Rob Buis <rwlbuis@gmail.com>
+
+ Reviewed by Kent Tamura.
+
+ Color changes to option elements in a select multiple aren't drawn immediately
+ https://bugs.webkit.org/show_bug.cgi?id=49790
+
+ Redirect style changes on <option> element to the owner <select> element.
+
+ Test: fast/repaint/select-option-background-color.html
+
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::setRenderStyle):
+
+2011-01-19 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix performance regression in ImageQualityController::objectDestroyed().
+ https://bugs.webkit.org/show_bug.cgi?id=52645
+
+ In r72282, I inadvertently introduced this regression by using a
+ linear search through the hash map on object destruction. This was
+ because the hash key consisted of both object pointer and layer id,
+ but on object destruction we only know the object pointer, requiring
+ a search to find all the layers.
+ By replacing the hash map with two nested hash maps, where the outer key
+ is the object and the inner key is the layer, we can find all the
+ relevant data for an object in one hash lookup.
+
+ * rendering/RenderBoxModelObject.cpp:
+ Replace the (object,layer)->size HashMap with object->layer and
+ layer->size HashMaps.
+ (WebCore::ImageQualityController::isEmpty):
+ Implement isEmpty() for the outer HashMap.
+ (WebCore::ImageQualityController::removeLayer):
+ When a layer is removed, remove it from the inner hash map.
+ (WebCore::ImageQualityController::set):
+ Implement set(): if the inner map exists, set the layer->size tuple
+ directly. If not, create a new inner map, set the tuple, and insert
+ it in the outer map.
+ (WebCore::ImageQualityController::objectDestroyed):
+ Look up the object in the outer map only.
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ Cosmetic changes for the renamed now-outer hash map.
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ Do both outer and inner hash map lookups. Call set() to add/update
+ entries to the hash maps. keyDestroyed() is now removeLayer().
+ (WebCore::imageQualityController):
+ Make the ImageQualityController a file-static global, so it can be
+ created and destroyed on the fly.
+ (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
+ If there is no ImageQualityController, don't call objectDestroyed().
+ If it's empty, delete it.
+
+
+2011-01-26 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler and Adam Roben.
+
+ WebKit2: add support for drag and drop on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=52775
+ <rdar://problem/8514409>
+
+ On Windows the access to the content being dragged is
+ provided via the IDataObject interface that is made available
+ to the window that registers itself as drop target.
+ Since this interface cannot be accessed from the WebProcess,
+ in every call to one of the methods of the IDropTarget interface
+ we serialize the content of the drag clipboard and send it over to
+ the WebProcess.
+ The bulk of this patch consists in the refactoring needed in DragData
+ and ClipboardWin classes to extract the data from the serialized object.
+
+ * platform/DragData.cpp:
+ * platform/DragData.h:
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::getWebLocData):
+ (WebCore::getURL):
+ (WebCore::getPlainText):
+ (WebCore::getTextHTML):
+ (WebCore::getCFHTML):
+ (WebCore::fragmentFromFilenames):
+ (WebCore::containsFilenames):
+ (WebCore::fragmentFromHTML):
+ (WebCore::containsHTML):
+ (WebCore::getClipboardData):
+ * platform/win/ClipboardUtilitiesWin.h:
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::Clipboard::create):
+ (WebCore::ClipboardWin::ClipboardWin):
+ (WebCore::ClipboardWin::getData):
+ (WebCore::ClipboardWin::types):
+ (WebCore::ClipboardWin::files):
+ (WebCore::ClipboardWin::hasData):
+ * platform/win/ClipboardWin.h:
+ (WebCore::ClipboardWin::create):
+ * platform/win/DragDataWin.cpp:
+ (WebCore::DragData::DragData):
+ (WebCore::DragData::containsURL):
+ (WebCore::DragData::dragDataMap):
+ (WebCore::DragData::asURL):
+ (WebCore::DragData::containsFiles):
+ (WebCore::DragData::asFilenames):
+ (WebCore::DragData::containsPlainText):
+ (WebCore::DragData::asPlainText):
+ (WebCore::DragData::canSmartReplace):
+ (WebCore::DragData::containsCompatibleContent):
+ (WebCore::DragData::asFragment):
+
+2011-01-27 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Space characters in source document interfere with reported caret offset
+ https://bugs.webkit.org/show_bug.cgi?id=53033
+
+ Calculate caret offset from rendered text instead of from node contents.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (objectAndOffsetUnignored): Calculate the caret offset based only
+ on positions and ranges, instead of using the computed offset in
+ the container node.
+
+2011-01-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53197
+ <rdar://problem/8895682> Make WebKit2 printing asynchronous
+
+ * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.
+
+ * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
+ transformation as spoolPages does for consistency.
+
+2011-01-27 David Grogan <dgrogan@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ initial support for close() in indexeddb backend
+ https://bugs.webkit.org/show_bug.cgi?id=53150
+
+ Test: storage/indexeddb/transaction-after-close.html
+
+ * storage/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::IDBDatabase):
+ (WebCore::IDBDatabase::transaction):
+ (WebCore::IDBDatabase::close):
+ * storage/IDBDatabase.h:
+ * storage/IDBDatabase.idl:
+ * storage/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::transaction):
+ (WebCore::IDBDatabaseBackendImpl::close):
+
+2011-01-27 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG animation doesn't support calcMode discrete for number and color values.
+ https://bugs.webkit.org/show_bug.cgi?id=53189
+
+ Add support for calcMode discrete on number and color animation.
+
+ Tests: svg/animations/animate-color-calcMode-discrete.html
+ svg/animations/animate-number-calcMode-discrete.html
+
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::calculateAnimatedValue):
+
+2011-01-26 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ shaderSource needs to preserve original source
+ https://bugs.webkit.org/show_bug.cgi?id=52833
+
+ Test: fast/canvas/webgl/gl-getshadersource.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH.
+ (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call.
+ (WebCore::WebGLRenderingContext::shaderSource): Cache the source.
+ * html/canvas/WebGLShader.cpp: Cache shader source.
+ (WebCore::WebGLShader::WebGLShader):
+ * html/canvas/WebGLShader.h: Ditto.
+ (WebCore::WebGLShader::getSource):
+ (WebCore::WebGLShader::setSource):
+
+2011-01-27 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r76743.
+
+ * platform/graphics/wince/FontWinCE.cpp:
+ (WebCore::TextRunComponent::TextRunComponent):
+
+2011-01-27 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
+ https://bugs.webkit.org/show_bug.cgi?id=53234
+
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane):
+ (WebInspector.ScopeChainSidebarPane.prototype.update):
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76789.
+ http://trac.webkit.org/changeset/76789
+ https://bugs.webkit.org/show_bug.cgi?id=53238
+
+ Broke GTK layout tests (Requested by podivilov on #webkit).
+
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane):
+ (WebInspector.ScopeChainSidebarPane.prototype.update):
+
+2011-01-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: store all settings related to the agents on the frontend side
+ https://bugs.webkit.org/show_bug.cgi?id=53174
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptDebugServer.cpp:
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/js/ScriptProfiler.cpp:
+ * bindings/js/ScriptProfiler.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ * bindings/v8/ScriptDebugServer.h:
+ * bindings/v8/ScriptProfiler.cpp:
+ * bindings/v8/ScriptProfiler.h:
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
+ on the front-end side and will be pushed to the backend when the frontend is loaded.
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::restoreDebugger):
+ (WebCore::InspectorAgent::restoreProfiler):
+ (WebCore::InspectorAgent::enableProfiler):
+ (WebCore::InspectorAgent::disableProfiler):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::disableDebugger):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
+ if the front-end was opened during current browser session and XHR logging is turned on
+ there.
+ (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
+ (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
+ * inspector/InspectorDebuggerAgent.cpp:
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
+ (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
+ (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
+ * inspector/InspectorSettings.cpp: Removed.
+ * inspector/InspectorSettings.h: Removed.
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ * inspector/InspectorState.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+ * inspector/front-end/inspector.js:
+
+2011-01-27 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
+ https://bugs.webkit.org/show_bug.cgi?id=53234
+
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane):
+ (WebInspector.ScopeChainSidebarPane.prototype.update):
+
+2011-01-27 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
+ https://bugs.webkit.org/show_bug.cgi?id=53171
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)
+
+2011-01-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ [V8] Crash in WebCore::addMessageToConsole
+ https://bugs.webkit.org/show_bug.cgi?id=53227
+
+ * bindings/v8/V8Proxy.cpp: check that the Frame where the error
+ occured still has a page before getting a console object from it.
+ (WebCore::V8Proxy::reportUnsafeAccessTo):
+
+2011-01-27 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
+ https://bugs.webkit.org/show_bug.cgi?id=53178
+
+ Remove the IDBCallbacks::onSuccess() function that was used for
+ null values, and replace such calls with calls to
+ IDBCallBacks::onSuccess(SerializedScriptValue::nullValue())
+ instead.
+
+ No new functionality, so no new tests.
+
+ * storage/IDBCallbacks.h:
+ * storage/IDBCursorBackendImpl.cpp:
+ (WebCore::IDBCursorBackendImpl::updateInternal):
+ (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
+ * storage/IDBIndexBackendImpl.cpp:
+ (WebCore::IDBIndexBackendImpl::openCursorInternal):
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
+ * storage/IDBRequest.cpp:
+ * storage/IDBRequest.h:
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76773.
+ http://trac.webkit.org/changeset/76773
+ https://bugs.webkit.org/show_bug.cgi?id=53230
+
+ breaks multiple GTK media tests (Requested by philn-tp on
+ #webkit).
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mimeTypeCache):
+
+2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76770.
+ http://trac.webkit.org/changeset/76770
+ https://bugs.webkit.org/show_bug.cgi?id=53229
+
+ Some inspector tests fail (Requested by yurys on #webkit).
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/js/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
+ * bindings/js/ScriptProfiler.h:
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
+ * bindings/v8/ScriptDebugServer.h:
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
+ * bindings/v8/ScriptProfiler.h:
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::restoreDebugger):
+ (WebCore::InspectorAgent::restoreProfiler):
+ (WebCore::InspectorAgent::ensureSettingsLoaded):
+ (WebCore::InspectorAgent::enableProfiler):
+ (WebCore::InspectorAgent::disableProfiler):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::disableDebugger):
+ * inspector/InspectorAgent.h:
+ (WebCore::InspectorAgent::settings):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
+ (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
+ (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
+ (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
+ * inspector/InspectorSettings.cpp: Added.
+ (WebCore::InspectorSettings::InspectorSettings):
+ (WebCore::InspectorSettings::getBoolean):
+ (WebCore::InspectorSettings::setBoolean):
+ (WebCore::InspectorSettings::getLong):
+ (WebCore::InspectorSettings::setLong):
+ (WebCore::InspectorSettings::registerBoolean):
+ (WebCore::InspectorSettings::registerLong):
+ * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h.
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ * inspector/InspectorState.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+ * inspector/front-end/inspector.js:
+
+2011-01-26 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=53125
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
+
+2011-01-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: store all settings related to the agents on the frontend side
+ https://bugs.webkit.org/show_bug.cgi?id=53174
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
+ on the front-end side and will be pushed to the backend when the frontend is loaded.
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::restoreDebugger):
+ (WebCore::InspectorAgent::restoreProfiler):
+ (WebCore::InspectorAgent::enableProfiler):
+ (WebCore::InspectorAgent::disableProfiler):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::disableDebugger):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
+ if the front-end was opened during current browser session and XHR logging is turned on
+ there.
+ (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
+ (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
+ (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::enable):
+ (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
+ * inspector/InspectorProfilerAgent.h:
+ * inspector/InspectorSettings.cpp: Removed.
+ * inspector/InspectorSettings.h: Removed.
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ * inspector/InspectorState.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
+ (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+ * inspector/front-end/inspector.js:
+
+2011-01-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION (r76743): Uneven spacing in right-to-left justified text
+ https://bugs.webkit.org/show_bug.cgi?id=53225
+
+ Fixes failure in fast/text/atsui-spacing-features.html
+
+ There was an inconsistency between rendering code and font code in the interpretation of
+ 'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of
+ visual order rather than logical.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to
+ iterate in visual order accordingly.
+ * platform/graphics/Font.h:
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount().
+ (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion
+ condition with respect to the first character, which is the trailing character in visual order.
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to
+ expansionOpportunityCount().
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
+
+2011-01-26 Adam Roben <aroben@apple.com>
+
+ Don't create the Direct3D device before it's first needed
+
+ We only need the device once we decide to render. There's no point in creating it before
+ then.
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here.
+ We already have code to create it when we first try to draw.
+ (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's
+ bounds so that the bounds will take effect the next time we render (which could be just
+ after this function returns).
+
+2011-01-26 Adam Roben <aroben@apple.com>
+
+ Add assertions that CACFLayerTreeHost gains and loses an HWND only once
+
+ CACFLayerTreeHost doesn't support any other use pattern.
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
+ (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window,
+ to having a window, to not having a window just once over the lifetime of this object.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.
+
+2011-01-26 Adam Roben <aroben@apple.com>
+
+ Notify layers that their animations have started when we flush the context, not when we
+ render
+
+ r76372 separated context flushing from rendering, but this bit of code got left behind.
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to
+ notifyAnimationsStarted.
+ (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to
+ notifyAnimationsStarted after we flush the context.
+ (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed
+ to call PlatformCALayer::animationStarted rather than calling through to the client
+ directly.
+
+ * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.
+
+2011-01-26 Adam Roben <aroben@apple.com>
+
+ Small cleanup in MediaPlayerPrivateFullscreenWindow
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
+ (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved
+ code here from close(), since this was the only place that called it after the following
+ change to createWindow.
+ (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the
+ case where we had already created the window with an assertion that we have not already done
+ so. Our single caller (FullscreenVideoController) did not require this behavior.
+
+ * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.
+
+2011-01-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Move ScrollView scroll wheel code to ScrollAnimator.
+
+ * platform/ScrollAnimator.cpp:
+ (WebCore::ScrollAnimator::handleWheelEvent):
+ * platform/ScrollAnimator.h:
+ Moved implementation of handleWheelEvent from ScrollView::wheelEvent.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ Call down to the ScrollableArea.
+
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::handleWheelEvent):
+ Call down to the ScrollAnimator.
+
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::scrollPosition):
+ (WebCore::ScrollableArea::minimumScrollPosition):
+ (WebCore::ScrollableArea::maximumScrollPosition):
+ (WebCore::ScrollableArea::visibleContentRect):
+ (WebCore::ScrollableArea::visibleHeight):
+ (WebCore::ScrollableArea::visibleWidth):
+ Add functions needed to implement wheel event in the animator.
+
+2011-01-26 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
+ <rdar://problem/8821760>
+
+ Reviewed by Antti Koivisto.
+
+ This adds support for HTTP pipelining in CFNetwork, but does not
+ enable it. To enable it post-SnowLeopard, use this command:
+
+ defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
+
+ Once enabled, it is possible to force the same load priority
+ (high) to be sent to CFNetwork to allow WebCore to handle the
+ scheduling:
+
+ defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES
+
+ * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
+ _wkSetHTTPPipeliningPriority.
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
+ Copy the priority to preflightRequest.
+
+ * loader/ResourceLoadScheduler.cpp:
+ (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
+ at the end of the method to use an early return.
+
+ * loader/cache/CachedResourceRequest.cpp:
+ (WebCore::CachedResourceRequest::load): Set the priority on the
+ ResourceRequest object based on the priority of the
+ CachedResourceRequest before calling
+ ResourceLoadScheduler::scheduleSubresourceLoad().
+
+ * loader/icon/IconLoader.cpp:
+ (WebCore::IconLoader::startLoading): Create a ResourceRequest
+ object and set its priority to ResourceLoadPriorityLow before
+ passing it to ResourceLoadScheduler::scheduleSubresourceLoad().
+
+ * platform/mac/WebCoreSystemInterface.h:
+ (wkGetHTTPPipeliningPriority): Added.
+ (wkSetHTTPPipeliningPriority): Added.
+ * platform/mac/WebCoreSystemInterface.mm:
+ (wkGetHTTPPipeliningPriority): Added.
+ (wkSetHTTPPipeliningPriority): Added.
+
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::adopt): Set m_priority when
+ adopting a CrossThreadResourceRequestData.
+ (WebCore::ResourceRequestBase::copyData): Set m_priority when
+ creating a CrossThreadResourceRequestData.
+ (WebCore::ResourceRequestBase::priority): Added.
+ (WebCore::ResourceRequestBase::setPriority): Added.
+ (WebCore::equalIgnoringHeaderFields): Priorities must match when
+ comparing two ResourceRequest objects.
+
+ * platform/network/ResourceRequestBase.h:
+ (WebCore::ResourceRequestBase::ResourceRequestBase): Set default
+ priority of new objects to ResourceLoadPriorityLow.
+ (WebCore::ResourceRequestBase::priority): Added declaration.
+ (WebCore::ResourceRequestBase::setPriority): Added declaration.
+ (WebCore::isHTTPPipeliningEnabled): Added.
+ (WebCore::shouldUseHTTPPipeliningPriority): Added.
+
+ * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that
+ Mac OS X and Windows share code.
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always
+ set the HTTP connection count per host, but return an
+ 'unlimited' value when using HTTP pipelining. This method used
+ to be defined in ResourceRequestMac.mm for Mac OS X.
+ (WebCore::readBooleanPreference): Added. Helper method for
+ reading boolean user defaults.
+ (WebCore::isHTTPPipeliningEnabled): Returns value of user
+ default key WebKitEnableHTTPPipelining, or false if not set.
+ (WebCore::shouldUseHTTPPipeliningPriority): Returns value of
+ user default key WebKitForceHTTPPipeliningPriorityHigh, or false
+ if not set.
+ * platform/network/cf/ResourceRequestCFNet.h: Updated so that
+ Mac OS X and Windows share code. Fixed indentation.
+ (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added.
+ (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added.
+
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest): Update
+ HTTP pipelining priority on NSMutableFURLRequest object.
+ (WebCore::ResourceRequest::doUpdateResourceRequest): Update
+ m_priority from the NSURLRequest object.
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed.
+ Code is now shared with Windows in ResourceRequestCFNet.cpp.
+
+2011-01-26 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
+ when using WKScrollbars.
+
+ New WebKitSystemInterface Functionality.
+ * WebCore.exp.in:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+ Some of the terrible static arrays are now only needed in the
+ old non-WK code, so they are if-def'd now.
+ * platform/mac/ScrollbarThemeMac.mm:
+
+ Just patching this function in a better way than I did
+ before.
+ (WebCore::updateArrowPlacement):
+
+ Call into WK for the right values.
+ (WebCore::ScrollbarThemeMac::scrollbarThickness):
+ (WebCore::ScrollbarThemeMac::hasThumb):
+ (WebCore::ScrollbarThemeMac::minimumThumbLength):
+
+ Return false if there are no buttons.
+ (WebCore::ScrollbarThemeMac::hasButtons):
+
+ Return an empty IntRect if there are not buttons.
+ (WebCore::buttonRepaintRect):
+
+2011-01-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add events to represent the start/end of a gesture scroll
+ https://bugs.webkit.org/show_bug.cgi?id=53215
+
+ * WebCore.exp.in:
+ Add new file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ Add new file.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureEvent):
+ * page/EventHandler.h:
+ Add entry point for handling gesture events.
+
+ * platform/PlatformGestureEvent.h: Added.
+ (WebCore::PlatformGestureEvent::PlatformGestureEvent):
+ (WebCore::PlatformGestureEvent::type):
+ (WebCore::PlatformGestureEvent::position):
+ (WebCore::PlatformGestureEvent::globalPosition):
+ (WebCore::PlatformGestureEvent::timestamp):
+ Add platform agnostic representation of a gesture event.
+
+2011-01-26 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/8446709> Allow inter-ideograph justification for CJK
+ https://bugs.webkit.org/show_bug.cgi?id=53184
+
+ Tests: fast/text/justify-ideograph-complex.html
+ fast/text/justify-ideograph-simple.html
+ fast/text/justify-ideograph-vertical.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
+ passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
+ for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
+ before the first character. On return, isAfterExpansion says whether an expansion opportunity
+ exists after the last character.
+ * platform/graphics/Font.h:
+ * platform/graphics/GlyphBuffer.h:
+ (WebCore::GlyphBuffer::expandLastAdvance): Added.
+ * platform/graphics/TextRun.h:
+ (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
+ Renamed padding to expansion.
+ (WebCore::TextRun::expansion): Renamed padding() to this.
+ (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
+ and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
+ expansion.
+ (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
+ (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
+ can expand the last advance if it is followed by a CJK ideograph.
+ * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
+ to m_expansionPerOpportunity.
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/efl/FontEfl.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/gtk/FontGtk.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/haiku/FontHaiku.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
+ Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
+ opportunity but the run disallows trailing expansion.
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
+ of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
+ * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
+ to m_expansionPerOpportunity.
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/win/FontWin.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/win/UniscribeController.cpp:
+ (WebCore::UniscribeController::UniscribeController): Updated for rename.
+ * platform/graphics/wince/FontWinCE.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * platform/graphics/wx/FontWx.cpp:
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
+ (WebCore::EllipsisBox::selectionRect): Ditto.
+ (WebCore::EllipsisBox::paintSelection): Ditto.
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
+ (WebCore::InlineBox::expansion): Renamed toAdd() to this.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
+ (WebCore::InlineTextBox::paint): Ditto.
+ (WebCore::InlineTextBox::paintSelection): Ditto.
+ (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
+ (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
+ (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
+ (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
+ (WebCore::InlineTextBox::offsetForPosition): Ditto.
+ (WebCore::InlineTextBox::positionForOffset): Ditto.
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
+ (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
+ is not the last leaf box on the line.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
+ in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
+ last text box.
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
+ (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::updateFromElement): Ditto.
+ (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
+ (WebCore::RenderTextControl::paintPlaceholder): Ditto.
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::constructTextRun): Ditto.
+
+2011-01-26 Andy Estes <aestes@apple.com>
+
+ Rubber-stamped by Darin Adler.
+
+ Inline HTMLObjectElement::hasValidClassId().
+
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::hasValidClassId):
+
+2011-01-26 Evan Martin <evan@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [chromium] crash on getBoundingClientRect in complex text
+ https://bugs.webkit.org/show_bug.cgi?id=53199
+
+ Use the correct array bound; we want the number of characters processed by
+ the shaper, not the longest continuous script run length.
+
+ Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::nextScriptRun):
+ * platform/graphics/chromium/ComplexTextControllerLinux.h:
+ (WebCore::ComplexTextController::numCodePoints):
+
+2011-01-26 Emil A Eklund <eae@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
+ https://bugs.webkit.org/show_bug.cgi?id=52084
+
+ Test: fast/dom/css-delete-doc.html
+
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::insertRule):
+ (WebCore::CSSMediaRule::deleteRule):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::CSSStyleSheet):
+ (WebCore::CSSStyleSheet::document):
+ * css/CSSStyleSheet.h:
+ * xml/XSLStyleSheet.h:
+ (WebCore::XSLStyleSheet::parentStyleSheet):
+ * xml/XSLStyleSheetLibxslt.cpp:
+ (WebCore::XSLStyleSheet::XSLStyleSheet):
+ (WebCore::XSLStyleSheet::cachedResourceLoader):
+ (WebCore::XSLStyleSheet::setParentStyleSheet):
+ (WebCore::XSLStyleSheet::ownerDocument):
+ * xml/XSLStyleSheetQt.cpp:
+ (WebCore::XSLStyleSheet::XSLStyleSheet):
+ (WebCore::XSLStyleSheet::cachedResourceLoader):
+ (WebCore::XSLStyleSheet::ownerDocument):
+
+2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Reduce ref-count churn in shadowPseudoId.
+ https://bugs.webkit.org/show_bug.cgi?id=53136
+
+ Refactoring, so no new tests.
+
+ * dom/Element.h:
+ (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
+ * html/ValidationMessage.cpp:
+ (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
+ * html/shadow/SliderThumbElement.h: Ditto.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
+ (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
+ * rendering/MediaControlElements.h: Ditto.
+
+2011-01-26 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
+
+ Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
+
+ * css/html.css:
+ Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
+ elements work properly.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
+ Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
+ in some cases (causing lines to all stack on top of one another).
+
+ * rendering/InlineTextBox.h:
+ (WebCore::InlineTextBox::calculateBoundaries):
+ Fix calculateBoundaries to be physical rather than logical.
+
+ * rendering/LayoutState.cpp:
+ (WebCore::LayoutState::addForcedColumnBreak):
+ * rendering/LayoutState.h:
+ Rename childY to childLogicalOffset.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::addOverflowFromChildren):
+ (WebCore::RenderBlock::addOverflowFromFloats):
+ (WebCore::RenderBlock::collapseMargins):
+ (WebCore::RenderBlock::estimateLogicalTopPosition):
+ (WebCore::RenderBlock::layoutBlockChild):
+ (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
+ (WebCore::RenderBlock::paintColumnRules):
+ (WebCore::RenderBlock::paintColumnContents):
+ (WebCore::RenderBlock::paintFloats):
+ (WebCore::RenderBlock::selectionGaps):
+ (WebCore::RenderBlock::removeFloatingObjectsBelow):
+ (WebCore::RenderBlock::addOverhangingFloats):
+ (WebCore::RenderBlock::hitTestFloats):
+ (WebCore::RenderBlock::hitTestColumns):
+ (WebCore::RenderBlock::calcColumnWidth):
+ (WebCore::RenderBlock::desiredColumnWidth):
+ (WebCore::RenderBlock::columnRectAt):
+ (WebCore::RenderBlock::layoutColumns):
+ (WebCore::RenderBlock::adjustPointToColumnContents):
+ (WebCore::RenderBlock::adjustRectForColumns):
+ (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
+ (WebCore::RenderBlock::adjustForColumns):
+ (WebCore::RenderBlock::adjustForBorderFit):
+ (WebCore::RenderBlock::nextPageLogicalTop):
+ (WebCore::RenderBlock::applyBeforeBreak):
+ (WebCore::RenderBlock::applyAfterBreak):
+ (WebCore::RenderBlock::adjustForUnsplittableChild):
+ (WebCore::RenderBlock::adjustLinePositionForPagination):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::logicalRightOffsetForContent):
+ (WebCore::RenderBlock::logicalLeftOffsetForContent):
+ (WebCore::RenderBlock::leftForFloatIncludingMargin):
+ (WebCore::RenderBlock::topForFloatIncludingMargin):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren):
+ (WebCore::RenderBlock::determineStartPosition):
+ Reworking of all the RenderBlock column functions to support flipping and vertical modes.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::offsetFromContainer):
+ (WebCore::RenderBox::flipForWritingModeIncludingColumns):
+ Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
+
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::clientLogicalBottom):
+ Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock):
+ Better terminology for pagination.
+
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::offsetFromContainer):
+ (WebCore::RenderInline::mapLocalToContainer):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintChildLayerIntoColumns):
+ (WebCore::RenderLayer::hitTestChildLayerColumns):
+ (WebCore::RenderLayer::localBoundingBox):
+ (WebCore::RenderLayer::boundingBox):
+ Patch painting in RenderLayers to be vertical-text-aware.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::mapLocalToContainer):
+ Add code to be flipped block-aware with columns.
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::layout):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::layout):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::layoutRows):
+ Fix pagination to use better terminology.
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteQuads):
+ (WebCore::RenderText::absoluteQuadsForRange):
+ Fix a bug where vertical text wasn't taken into account.
+
+2011-01-26 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, rolling out r76719.
+ http://trac.webkit.org/changeset/76719
+ https://bugs.webkit.org/show_bug.cgi?id=53122
+
+ Broke a bunch of media tests in Chromium/Qt/GTK.
+
+2011-01-26 Tony Chang <tony@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ [gtk] strip NUL characters when copying text/html on GTK+
+ https://bugs.webkit.org/show_bug.cgi?id=52508
+
+ Putting NUL characters in the text/html clipboard doesn't work in
+ WebKit GTK+ (the pasted value is truncated at the NUL). Since we're
+ already stripping this character for plain text (for Windows), strip
+ it in text/html too.
+
+ * editing/MarkupAccumulator.h: mark function as virtual
+ * editing/markup.cpp:
+ (WebCore::StyledMarkupAccumulator::appendString):
+ (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
+
+2011-01-26 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Reliable crash with getTextAtOffset()
+ https://bugs.webkit.org/show_bug.cgi?id=53131
+
+ Properly calculate length in bytes for a UTF8 substring.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (utf8Substr): Use character instead of bytes as units to
+ calculate the length in bytes for the UTF8 string.
+
+2011-01-25 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
+ https://bugs.webkit.org/show_bug.cgi?id=53122
+
+ This is the first step in converting HTMLMediaElement to the new shadow DOM.
+
+ Should not regress any existing tests. No observable change in behavior.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
+ (WebCore::nameToPseudoTypeMap): Ditto.
+ (WebCore::CSSSelector::extractPseudoType): Ditto.
+ * css/CSSSelector.h: Ditto.
+ * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
+ which is now replaced with virtual shadowPseudoId on each corresponding class.
+ (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
+ (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
+ display type in constructor.
+ (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
+ to disambiguate from the MediaControlMuteButtonElement.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
+ (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
+ (WebCore::MediaControlSeekForwardButtonElement::create): Added.
+ (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
+ (WebCore::MediaControlSeekBackButtonElement::create): Added.
+ (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
+ (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
+ (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
+ (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
+ (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
+ constructor argument.
+ (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
+ * rendering/MediaControlElements.h:
+ (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
+ (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
+ (WebCore::RenderMedia::createSeekBackButton): Ditto.
+ (WebCore::RenderMedia::createSeekForwardButton): Ditto.
+ (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
+ * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
+
+2011-01-26 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Fix multisampling support in DrawingBuffer
+ https://bugs.webkit.org/show_bug.cgi?id=53154
+
+ In DrawingBuffer's multisampling code path, fixed enum usage and a
+ bug where it would incorrectly redefine the depth and stencil
+ buffers. Hooked up multisampling code path in Chromium port.
+
+ Tested manually with some accelerated 2D canvas content.
+ Multisampling isn't being switched on for the accelerated 2D
+ canvas at the current time because it will increase fill rate
+ requirements and cause a large number of rebaselines.
+
+ * platform/graphics/Extensions3D.h:
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::publishToPlatformLayer):
+ * platform/graphics/chromium/Extensions3DChromium.h:
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore::DrawingBuffer::create):
+ (WebCore::DrawingBuffer::reset):
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp:
+ (WebCore::Extensions3DOpenGL::supports):
+
+2011-01-26 Tony Chang <tony@chromium.org>
+
+ Unreviewed.
+
+ [chromium] revert r68310 because of race conditions detected by tsans
+ https://bugs.webkit.org/show_bug.cgi?id=53185
+
+ Causes stability problems for Chromium, http://crbug.com/70589
+
+ * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
+ (WebCore::SQLiteFileSystem::registerSQLiteVFS):
+
+2011-01-26 Justin Schuh <jschuh@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Make fireEventsAndUpdateStyle use stack local vectors.
+ https://bugs.webkit.org/show_bug.cgi?id=46760
+
+ Test: animations/animation-add-events-in-handler.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
+
+2011-01-26 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Remove m_URL from FrameLoader and depend on Document::url()
+ instead. FrameLoader::url() will be removed in a followup patch.
+ https://bugs.webkit.org/show_bug.cgi?id=41165
+
+ Refactor only, no new tests.
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::updateURLForPushOrReplaceState):
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::begin):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::iconURL):
+ (WebCore::FrameLoader::didOpenURL):
+ (WebCore::FrameLoader::didExplicitOpen):
+ (WebCore::FrameLoader::receivedFirstData):
+ (WebCore::FrameLoader::url):
+ (WebCore::FrameLoader::setOutgoingReferrer):
+ (WebCore::FrameLoader::startIconLoader):
+ (WebCore::FrameLoader::commitIconURLToIconDatabase):
+ (WebCore::FrameLoader::finishedParsing):
+ (WebCore::FrameLoader::checkIfDisplayInsecureContent):
+ (WebCore::FrameLoader::checkIfRunInsecureContent):
+ (WebCore::FrameLoader::updateFirstPartyForCookies):
+ (WebCore::FrameLoader::loadInSameDocument):
+ (WebCore::FrameLoader::commitProvisionalLoad):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::shouldScrollToAnchor):
+ * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
+
+2011-01-25 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Crashes loading pages when cancelling subresource loads through WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=53123
+ <rdar://problem/8914361>
+
+ Fix a crash that happened when cancelling subresource loads through WebKit.
+
+ When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource
+ can be called recursively on the same function, either leading to infinite recursion, or deleting
+ an object when it is not done being used.
+
+ The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when
+ CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
+
+ Test: fast/loader/willSendRequest-null-for-preload.html
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame
+ if our new URL is non-null.
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
+ (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this
+ function was called synchronously
+ from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously,
+ so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
+ (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
+ (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector,
+ so use Deque methods.
+ * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
+
+2011-01-25 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
+ https://bugs.webkit.org/show_bug.cgi?id=53072
+
+ Test: inspector/console-substituted.html
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+
+2011-01-26 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [cairo] Use CAIRO_OPERATOR_DARKEN when available
+ https://bugs.webkit.org/show_bug.cgi?id=53084
+
+ Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
+ CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
+
+ * platform/graphics/cairo/CairoUtilities.cpp:
+ (WebCore::toCairoOperator):
+
+2011-01-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: visualize \n in strings as unicode cr
+ symbol in stack variables sidebar.
+ https://bugs.webkit.org/show_bug.cgi?id=53162
+
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+
+2011-01-26 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: size is wrong for cached resources in Network panel
+ - Set the size for 304/not modified resources from cached resource.
+ - Add response headers size to resource transfer size.
+ https://bugs.webkit.org/show_bug.cgi?id=52886
+
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::didReceiveResponse):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource):
+ (WebInspector.Resource.prototype.get transferSize):
+ (WebInspector.Resource.prototype.set responseHeaders):
+ (WebInspector.Resource.prototype._headersSize):
+ (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
+
+2011-01-26 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fixed TiledBacking store to take into account new dirty regions caused by
+ paint time layouts.
+
+ Flawed rendering design for QtWebKit resulting in artifacts being displayed
+ https://bugs.webkit.org/show_bug.cgi?id=49184
+
+ There are no new tests as this patch aims at fixing flicker that
+ happen randomly, mostly on slow hardware, thus are hard to reproduce
+ consistently in an automated test.
+
+ This patch does not fully address the said bug but it is a step in the
+ right direction. A full solution to the bug, as currently perceived,
+ requires either a Qt GUI API change, a performance hit for QtWebKit,
+ or a hack, until a full solution is provided this patch is progress.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::updateTileBuffers):
+ Changed to take into account newly dirtied areas created during
+ tile update initiated layouts during the same update.
+
+2011-01-26 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [SKIA] Remove "current path" of GraphicsContext
+ https://bugs.webkit.org/show_bug.cgi?id=53124
+
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::clipPath):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::strokeBoundingRect):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ * platform/graphics/skia/PlatformContextSkia.h:
+
+2011-01-26 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
+
+ QPainterPath returns angle values with the origo being at the top left corner,
+ we need to account for this in normalAngleAtLength().
+ This Regressed with r66979.
+
+ No new tests as this is already covered by ACID3.
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::normalAngleAtLength):
+
+2011-01-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: live edit does not update source snippet.
+ https://bugs.webkit.org/show_bug.cgi?id=53097
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
+
+2011-01-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
+ https://bugs.webkit.org/show_bug.cgi?id=53018
+
+ * inspector/InjectedScript.cpp:
+ (WebCore::InjectedScript::evaluate):
+ (WebCore::InjectedScript::evaluateOnCallFrame):
+ (WebCore::InjectedScript::getCompletions):
+ (WebCore::InjectedScript::getCompletionsOnCallFrame):
+ * inspector/InjectedScript.h:
+ * inspector/InjectedScriptSource.js:
+ (.):
+ * inspector/Inspector.idl:
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
+ (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorRuntimeAgent.cpp:
+ (WebCore::InspectorRuntimeAgent::evaluate):
+ (WebCore::InspectorRuntimeAgent::getCompletions):
+ * inspector/InspectorRuntimeAgent.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.completions):
+ (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
+ (WebInspector.ConsoleView.prototype._enterKeyPressed):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
+ (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._showPopup):
+ * inspector/front-end/WatchExpressionsSidebarPane.js:
+ (WebInspector.WatchExpressionsSection.prototype.update):
+
+2011-01-26 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ A speculative fix for Bug 52422 - [chromium] More crash in
+ FontFallbackList::determinePitch(const Font* font)
+ https://bugs.webkit.org/show_bug.cgi?id=52422
+
+ My previous change may not work on non-US Windows whose system fonts
+ have localized aliases matching to the system locale because of a
+ font-name mismatch in createFontIndirectAndGetWinName(). This change
+ tries all the fonts installed in a PC and returns the first font that we
+ can create without errors.
+
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
+ Added a struct used for getLastResortFallbackFontProc().
+ (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
+ (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
+
+2011-01-26 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ Add a DOMTimeStamp parameter to the requestAnimationFrame callback
+ https://bugs.webkit.org/show_bug.cgi?id=53142
+
+ This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
+ closely match mozilla's proposal. This is useful if the page has multiple imperative animations
+ and wants to ensure that they all remain synchronized. If each callback used Date.now() to
+ update its animation state, they would potentially be out of sync with each other. If they use
+ the timestamp then all callbacks for the same "frame" will update to the same state.
+
+ Test: fast/animation/request-animation-frame-timestamps.html
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ * dom/Document.cpp:
+ (WebCore::Document::serviceScriptedAnimations):
+ * dom/Document.h:
+ * dom/RequestAnimationFrameCallback.h:
+ * dom/RequestAnimationFrameCallback.idl:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::serviceScriptedAnimations):
+ * page/FrameView.h:
+
+2011-01-25 Yuzo Fujishima <yuzo@google.com>
+
+ Unreviewed attempt to fix compilation error for Chromium Clang.
+
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::advance):
+
+2011-01-25 Ned Holbrook <nholbrook@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ ComplexTextController incorrectly conflates string length and range of indexes
+ https://bugs.webkit.org/show_bug.cgi?id=52760
+
+ Test: fast/text/offsetForPosition-complex-fallback.html
+
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::offsetForPosition):
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
+ (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
+ (WebCore::ComplexTextController::advance):
+ * platform/graphics/mac/ComplexTextController.h:
+ (WebCore::ComplexTextController::ComplexTextRun::create):
+ (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
+ * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
+ (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
+
+2011-01-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
+ https://bugs.webkit.org/show_bug.cgi?id=53048
+
+ Test: fast/overflow/overflow-rtl-vertical-origin.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollPosition):
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+ Take the scroll origin into account when calculating scrollbars in more places.
+
+2011-01-25 Steve Falkenburg <sfalken@apple.com>
+
+ Windows production build fix.
+ Use correct configuration-specific path in makefile.
+
+ * WebCore.vcproj/WebCore.make:
+
+2011-01-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Radio button group state is not restored correctly
+ https://bugs.webkit.org/show_bug.cgi?id=50442
+
+ Fixes a bug that radio button states are not restored correctly in
+ a case that non-first radio button in a group is checked.
+
+ If "checked" attribute is present, the radio button is checked and
+ other radio buttons in the group are unchecked. This behavior
+ disturbs form state restoring. This patch changes this behavior so
+ that the "checked" attribute handling is delayed after form state
+ restoring.
+
+ Test: fast/forms/state-restore-radio-group.html
+
+ * html/HTMLFormControlElement.h:
+ Make finishParsingChildren() protected so that HTMLInpuElement can call it.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::HTMLInputElement):
+ - Add createdByParser parameter.
+ - Initialize m_stateRestored and m_parsingInProgress.
+ (WebCore::HTMLInputElement::create): Sync with the constructor.
+ (WebCore::HTMLInputElement::restoreFormControlState):
+ Set m_stateRestored in order to refer it in finishParsingChildren().
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ Don't call setChecked() during parsing. Move setNeedsValidityCheck()
+ to setChecked().
+ (WebCore::HTMLInputElement::finishParsingChildren):
+ Call setChecked() if form state is not restored.
+ (WebCore::HTMLInputElement::setChecked):
+ Move setNeedsValidityCheck() from parseMappedAttribute() because
+ finishParsingChildren() also needs to call setNeedsValidityCheck().
+ * html/HTMLInputElement.h:
+ - Remove the default value of HTMLFormElement* of the HTMLInputElement
+ constructor, and add createdByParser parameter.
+ - Introduce m_parsingInProgress and m_stateRestored.
+ * html/HTMLIsIndexElement.cpp:
+ (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
+ Sync with the HTMLInputElement constructor change.
+ * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlInputElement::MediaControlInputElement):
+ Sync with the HTMLInputElement constructor change.
+ * rendering/ShadowElement.cpp:
+ (WebCore::ShadowInputElement::ShadowInputElement): ditto.
+ * rendering/ShadowElement.h:
+ (WebCore::ShadowElement::ShadowElement): ditto.
+
+2011-01-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
+ https://bugs.webkit.org/show_bug.cgi?id=52565
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::validateInteractively):
+ Check checkInvalidControlsAndCollectUnhandled() result instead of
+ checking emptiness of unhandled invalid controls list.
+ (WebCore::HTMLFormElement::checkValidity): ditto.
+ (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
+ Renamed from collectUnhandledInvalidControls().
+ Returns true if there is any invalid control regardless of event canceling.
+ * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
+ checkInvalidControlsAndCollectUnhandled().
+
+2011-01-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Range and number inputs should reject increment and decrement by
+ keyboard or mouse wheel if they are disabled or read-only
+ https://bugs.webkit.org/show_bug.cgi?id=53151
+
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
+ (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
+
+2011-01-25 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ API to support localized numbers for <input type=number>
+ https://bugs.webkit.org/show_bug.cgi?id=45730
+
+ Introduce platform/text/LocalizedNumber.h, and
+ LocalizedNumberNone.cpp, which is an empty implementation of the
+ functions in LocalizedNumber.h. We use LocalizedNumberNone.cpp in
+ all platforms for now.
+
+ A string in a type=number field is parsed as a localized number
+ first. If the parsing fails, it is parsed as the HTML5 number.
+
+ We introduce HTMLInputElement::visibleValue(). It represents a value
+ which should be drawn by a renderer. HTMLInputElement::value() always
+ returns a number formatted for HTML5, and visibleValue() may return a
+ localized number.
+
+ No new tests because this doesn't change any behavior.
+
+ * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
+ * CMakeLists.txt: ditto.
+ * GNUmakefile.am: ditto.
+ * WebCore.gypi: ditto.
+ * WebCore.pro: ditto.
+ * WebCore.vcproj/WebCore.vcproj: ditto.
+ * WebCore.xcodeproj/project.pbxproj: ditto.
+ * dom/InputElement.h: Add visibleValue().
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::visibleValue): Added. Just call InputType::visibleValue().
+ * html/HTMLInputElement.h: Declare visibleValue().
+ * html/InputType.cpp:
+ (WebCore::InputType::visibleValue): Add the default implementation of
+ visibleValue(), which returns HTMLInputElement::value().
+ * html/InputType.h: Add declarations.
+ * html/NumberInputType.cpp:
+ (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
+ (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
+ (WebCore::NumberInputType::visibleValue):
+ Returns a localized number string produced by formatLocalizedNumber().
+ (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
+ (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
+ * html/NumberInputType.h: Add declarations.
+ * platform/text/LocalizedNumber.h: Added.
+ * platform/text/LocalizedNumberNone.cpp: Added.
+ (WebCore::parseLocalizedNumber):
+ (WebCore::formatLocalizedNumber):
+ (WebCore::isLocalizedNumberCharacter):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::updateFromElement):
+ Calls InputElement::visibleValue() instead of value().
+ * wml/WMLInputElement.h:
+ (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
+
+2011-01-25 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53143
+ Add IntRectHash
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/IntRectHash.h: Added.
+
+ * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
+
+2011-01-25 Ilya Sherman <isherman@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Remove trailing whitespace in HTMLInputElement.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=53152
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::updateCheckedRadioButtons):
+ (WebCore::HTMLInputElement::applyStep):
+ (WebCore::HTMLInputElement::updateFocusAppearance):
+ (WebCore::HTMLInputElement::mapToEntry):
+ (WebCore::HTMLInputElement::setAutofilled):
+ (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
+ (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
+
+2011-01-25 Mike Reed <reed@google.com>
+
+ Reviewed by James Robinson.
+
+ DrawingBufer::reset() today checks if the new size is the same as its
+ m_size, and if so, returns immediately. This does not match the
+ semantics of <canvas>, which wants to clear its contents anytime the
+ size is specified.
+ https://bugs.webkit.org/show_bug.cgi?id=53149
+
+ Test: Covered by existing <canvas> tests using gpu.
+
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore::DrawingBuffer::reset):
+
+2011-01-25 Cris Neckar <cdn@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
+ https://bugs.webkit.org/show_bug.cgi?id=53038
+
+ Test: fast/dom/window-domurl-crash.html
+
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
+ (WebCore::ScriptExecutionContext::createdDomUrl):
+ (WebCore::ScriptExecutionContext::destroyedDomUrl):
+ * dom/ScriptExecutionContext.h:
+ (WebCore::ScriptExecutionContext::domUrls):
+ * html/DOMURL.cpp:
+ (WebCore::DOMURL::DOMURL):
+ (WebCore::DOMURL::~DOMURL):
+ (WebCore::DOMURL::contextDestroyed):
+ * html/DOMURL.h:
+ (WebCore::DOMURL::scriptExecutionContext):
+
+2011-01-23 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52983
+ Eliminate m_tagHistory pointer from CSSSelector
+
+ Keep the component selectors in the array in CSSSelectorList instead
+ of maintaining a linked list between them. This allows eliminating
+ m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
+ seems to improve some too due to better locality).
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+ Make CSSSelector.h a private header.
+
+ * css/CSSGrammar.y:
+
+ Use CSSParserSelector during parsing to keep the tag history in
+ a linked list. This is flattened to an array after parsing.
+ Use accessors for setting selector values.
+ Use OwnPtr in selector vector.
+
+ * css/CSSPageRule.cpp:
+ (WebCore::CSSPageRule::CSSPageRule):
+ * css/CSSPageRule.h:
+ (WebCore::CSSPageRule::create):
+
+ Simplify.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::~CSSParser):
+ (WebCore::CSSParser::createFloatingSelector):
+ (WebCore::CSSParser::sinkFloatingSelector):
+ (WebCore::CSSParser::createStyleRule):
+ (WebCore::CSSParser::updateSpecifiersWithElementName):
+ (WebCore::CSSParser::createPageRule):
+ * css/CSSParser.h:
+ (WebCore::CSSParser::reusableSelectorVector):
+
+ CSSSelector -> CSSParserSelector.
+ Use OwnPtr in selector vector.
+
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserSelector::CSSParserSelector):
+ (WebCore::CSSParserSelector::~CSSParserSelector):
+ * css/CSSParserValues.h:
+ (WebCore::CSSParserSelector::releaseSelector):
+ (WebCore::CSSParserSelector::setTag):
+ (WebCore::CSSParserSelector::setValue):
+ (WebCore::CSSParserSelector::setAttribute):
+ (WebCore::CSSParserSelector::setArgument):
+ (WebCore::CSSParserSelector::setSimpleSelector):
+ (WebCore::CSSParserSelector::setMatch):
+ (WebCore::CSSParserSelector::setRelation):
+ (WebCore::CSSParserSelector::setForPage):
+ (WebCore::CSSParserSelector::pseudoType):
+ (WebCore::CSSParserSelector::isUnknownPseudoElement):
+ (WebCore::CSSParserSelector::isSimple):
+ (WebCore::CSSParserSelector::tagHistory):
+ (WebCore::CSSParserSelector::setTagHistory):
+
+ Linked list used during parsing.
+ Avoid recursive destruction.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ (WebCore::CSSSelector::operator==):
+ (WebCore::CSSSelector::selectorText):
+ (WebCore::CSSSelector::setSimpleSelector):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::CSSSelector):
+ (WebCore::CSSSelector::~CSSSelector):
+ (WebCore::CSSSelector::tagHistory):
+ (WebCore::CSSSelector::tag):
+ (WebCore::CSSSelector::value):
+ (WebCore::CSSSelector::setTag):
+ (WebCore::CSSSelector::isLastInTagHistory):
+ (WebCore::CSSSelector::setNotLastInTagHistory):
+ (WebCore::CSSSelector::RareData::RareData):
+ (WebCore::CSSSelector::RareData::~RareData):
+ (WebCore::CSSSelector::createRareData):
+ (WebCore::CSSSelector::setValue):
+
+ Remove m_tagHistory.
+ Keep m_value in the union with the rare data pointer instead.
+ Make m_value and m_tag private, implement accessors.
+ Add a new bit to indicate end of the tag history (multipart selector).
+ Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
+
+ * css/CSSSelectorList.cpp:
+ (WebCore::CSSSelectorList::adoptSelectorVector):
+
+ Flatten everything to an array.
+
+ (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
+ * css/CSSSelectorList.h:
+ (WebCore::CSSSelectorList::hasOneSelector):
+ (WebCore::CSSSelectorList::next):
+
+ Skip over the subparts of multipart selectors to find the next selector.
+
+ * css/CSSStyleRule.h:
+ (WebCore::CSSStyleRule::adoptSelectorVector):
+
+ CSSSelector -> CSSParserSelector.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ (WebCore::CSSRuleSet::addRule):
+ (WebCore::collectIdsAndSiblingRulesFromList):
+ (WebCore::CSSStyleSelector::matchPageRulesForList):
+ * dom/Node.cpp:
+ (WebCore::Node::querySelector):
+ * dom/SelectorNodeList.cpp:
+ (WebCore::createSelectorNodeList):
+
+ Use accessors.
+
+2011-01-25 James Simonsen <simonjam@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ [Chromium] Support small caps in complex text on linux
+ https://bugs.webkit.org/show_bug.cgi?id=53051
+
+ * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
+ (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
+ (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
+ * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
+
+2011-01-25 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber-stamped by Adam Roben.
+
+ Windows production build fix.
+ Use correct environment variable escaping
+
+ * WebCore.vcproj/WebCore.make:
+
+2011-01-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Empty URLs are never display isolated
+ https://bugs.webkit.org/show_bug.cgi?id=53053
+
+ This check mirrors the check in the local case. There isn't a good way
+ to test this with a LayoutTest, but it is tested in Chromium (where
+ this registry is used).
+
+ * platform/SchemeRegistry.cpp:
+ (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
+
+2011-01-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Pipe a timestamp down into the PlatformWheelEvent for the Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=53111
+
+ * platform/PlatformWheelEvent.h:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+ (WebCore::PlatformWheelEvent::timestamp):
+ Add timestamp member.
+
+ * platform/mac/WheelEventMac.mm:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+ Initialize the timestamp from the event.
+
+2011-01-25 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76625.
+ http://trac.webkit.org/changeset/76625
+ https://bugs.webkit.org/show_bug.cgi?id=53119
+
+ "incorrect pixel test results" (Requested by rniwa on
+ #webkit).
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+
+2011-01-25 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed WinCE build fix for r76614.
+
+ * platform/FileSystem.h:
+
+2011-01-21 Levi Weintraub <leviw@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Adding border and padding to the calculation of the local caret rect for RenderBoxes.
+
+ Undo moves caret to invalid position
+ https://bugs.webkit.org/show_bug.cgi?id=49744
+
+ Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
+ editing/selection/caret-painting-after-paste-undo.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+
+2011-01-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=53107
+
+ * platform/PlatformWheelEvent.h:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+ (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
+ * platform/mac/WheelEventMac.mm:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+
+2011-01-20 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ REGRESSION (r72119): Audio never plays on Star Wars intro animation
+ https://bugs.webkit.org/show_bug.cgi?id=52467
+
+ QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
+ type which it supports, though it handles .m4a files just fine. Change the way
+ we build the list of supported MIME Types through a new WebKitSystemInterface
+ function.
+
+ Caused by r72119, which adds system-specific extension->MIME entries to the cache
+ before global entries, and the system-specific entries include QuickTime's registry
+ entries which contain the audio/m4a MIME type, while its components do not.
+
+ Test: media/audio-mpeg4-supported.html
+
+ * WebCore.vcproj/QTMovieWinCommon.vsprops:
+ * platform/graphics/win/QTMovie.cpp:
+ (getMIMETypeCallBack):
+ (initializeSupportedTypes):
+ (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
+ (QTMovie::getSupportedType): Ditto.
+
+2011-01-25 Hans Wennborg <hans@chromium.org>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB: Remove PlatformBridge::idbShutdown()
+ https://bugs.webkit.org/show_bug.cgi?id=53077
+
+ Since Chromium r72157, this is not used anymore. The previous use was
+ to signal to the embedder that IndexedDB was shutting down, but we
+ agreed it is better if the embedder keeps track of that itself.
+
+ No new tests: this does not change any functionality.
+
+ * platform/chromium/PlatformBridge.h:
+ * storage/IDBFactoryBackendInterface.cpp:
+ * storage/IDBFactoryBackendInterface.h:
+ (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
+ * storage/chromium/IDBFactoryBackendInterface.cpp:
+
+2011-01-25 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit is using CSBackupSetItemExcluded incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=53095
+ rdar://problem/8790540
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::performOpenInitialization): Added code to
+ exclude the database from backup one time, and record inside the
+ database that this has been done.
+ (WebCore::IconDatabase::wasExcludedFromBackup): Added.
+ (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
+ * loader/icon/IconDatabase.h: Added new functions above.
+
+ * platform/FileSystem.cpp:
+ (WebCore::canExcludeFromBackup): Added.
+ (WebCore::excludeFromBackup): Added.
+
+ * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
+ and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
+ things alphabetically, particularly platform-specific sections.
+
+ * platform/cf/FileSystemCF.cpp:
+ (WebCore::pathAsURL): Added.
+
+ * platform/mac/FileSystemMac.mm:
+ (WebCore::canExcludeFromBackup): Added.
+ (WebCore::excludeFromBackup): Added.
+
+ * platform/network/cf/FormDataStreamCFNet.cpp:
+ (WebCore::advanceCurrentStream): Changed to call pathAsURL.
+ * platform/network/mac/FormDataStreamMac.mm:
+ (WebCore::advanceCurrentStream): Ditto.
+
+2011-01-25 Helder Correia <helder@sencha.com>
+
+ Reviewed by Dirk Schulze.
+
+ REGRESSION(75139): SVG gradients are not applied to texts
+ https://bugs.webkit.org/show_bug.cgi?id=52531
+
+ CGContextConcatCTM should use the CGLayer context, not the
+ GraphicsContext. Also, the CTM needs to be adjusted (translated).
+ This fixes SVG text gradient fill.
+
+ Test: svg/css/composite-shadow-text.svg
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::fillRect):
+
+2011-01-25 Benjamin Kalman <kalman@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ Cannot extend or modify forward by word over a non-contenteditable region
+ https://bugs.webkit.org/show_bug.cgi?id=53070
+
+ Test: editing/selection/extend-forward-by-word-over-non-editable.html
+
+ Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
+ functions which determine the end/start of words/lines/sentences in visible_units.cpp.
+
+ This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
+ inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
+ The cursor is now moved to the end of the region (which is effectively a noop in this case).
+
+ * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
+ honorEditableBoundaryAtOrBefore and vice versa.
+ (WebCore::previousWordPosition):
+ (WebCore::nextWordPosition):
+ (WebCore::startOfLine):
+ (WebCore::endOfLine):
+ (WebCore::previousSentencePosition):
+ (WebCore::nextSentencePosition):
+ (WebCore::logicalStartOfLine):
+ (WebCore::logicalEndOfLine):
+
+2011-01-25 Yael Aharon <yael.aharon@nokia.com>
+
+ Unreviewed build fix.
+ After r76466, efsrv.lib is used unconditionally.
+ Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
+
+ * WebCore.pro:
+
+2011-01-24 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Kenneth Russell.
+
+ Style cleanup for WebGLRenderingContext
+ https://bugs.webkit.org/show_bug.cgi?id=52352
+
+ * html/canvas/WebGLBuffer.cpp:
+ * html/canvas/WebGLBuffer.h:
+ * html/canvas/WebGLObject.cpp:
+ * html/canvas/WebGLProgram.cpp:
+ * html/canvas/WebGLRenderbuffer.cpp:
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::create):
+ (WebCore::WebGLRenderingContext::blendFunc):
+ (WebCore::WebGLRenderingContext::createShader):
+ (WebCore::WebGLRenderingContext::deleteBuffer):
+ (WebCore::WebGLRenderingContext::deleteShader):
+ (WebCore::WebGLRenderingContext::deleteTexture):
+ (WebCore::WebGLRenderingContext::disableVertexAttribArray):
+ (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
+ (WebCore::WebGLRenderingContext::validateRenderingState):
+ (WebCore::WebGLRenderingContext::enableVertexAttribArray):
+ (WebCore::WebGLRenderingContext::getUniform):
+ (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
+ * html/canvas/WebGLRenderingContext.h:
+ * html/canvas/WebGLShader.cpp:
+ * html/canvas/WebGLTexture.cpp:
+ * html/canvas/WebGLUniformLocation.cpp:
+ * html/canvas/WebGLUniformLocation.h:
+
+2011-01-24 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Change ENABLE_3D_CANVAS to ENABLE_WEBGL
+ https://bugs.webkit.org/show_bug.cgi?id=53041
+
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.cpp:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ * bindings/js/JSArrayBufferCustom.cpp:
+ * bindings/js/JSCanvasRenderingContextCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/js/JSDataViewCustom.cpp:
+ * bindings/js/JSDocumentCustom.cpp:
+ * bindings/js/JSFloat32ArrayCustom.cpp:
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::JSHTMLCanvasElement::getContext):
+ * bindings/js/JSInt16ArrayCustom.cpp:
+ * bindings/js/JSInt32ArrayCustom.cpp:
+ * bindings/js/JSInt8ArrayCustom.cpp:
+ * bindings/js/JSUint16ArrayCustom.cpp:
+ * bindings/js/JSUint32ArrayCustom.cpp:
+ * bindings/js/JSUint8ArrayCustom.cpp:
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::markChildren):
+ (WebCore::JSXMLHttpRequest::send):
+ (WebCore::JSXMLHttpRequest::response):
+ * bindings/v8/custom/V8ArrayBufferCustom.cpp:
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::getCSSCanvasContextCallback):
+ * bindings/v8/custom/V8Float32ArrayCustom.cpp:
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+ * bindings/v8/custom/V8Int16ArrayCustom.cpp:
+ * bindings/v8/custom/V8Int32ArrayCustom.cpp:
+ * bindings/v8/custom/V8Int8ArrayCustom.cpp:
+ * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
+ * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
+ * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::responseAccessorGetter):
+ (WebCore::V8XMLHttpRequest::sendCallback):
+ * features.pri:
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::getContext):
+ (WebCore::HTMLCanvasElement::reset):
+ * html/HTMLCanvasElement.h:
+ * html/canvas/ArrayBuffer.cpp:
+ * html/canvas/ArrayBuffer.idl:
+ * html/canvas/ArrayBufferView.cpp:
+ * html/canvas/ArrayBufferView.idl:
+ * html/canvas/DataView.cpp:
+ * html/canvas/DataView.idl:
+ * html/canvas/Float32Array.cpp:
+ * html/canvas/Float32Array.idl:
+ * html/canvas/Int16Array.cpp:
+ * html/canvas/Int16Array.idl:
+ * html/canvas/Int32Array.cpp:
+ * html/canvas/Int32Array.idl:
+ * html/canvas/Int8Array.cpp:
+ * html/canvas/Int8Array.idl:
+ * html/canvas/OESStandardDerivatives.cpp:
+ * html/canvas/OESStandardDerivatives.idl:
+ * html/canvas/OESTextureFloat.cpp:
+ * html/canvas/OESTextureFloat.idl:
+ * html/canvas/Uint16Array.cpp:
+ * html/canvas/Uint16Array.idl:
+ * html/canvas/Uint32Array.cpp:
+ * html/canvas/Uint32Array.idl:
+ * html/canvas/Uint8Array.cpp:
+ * html/canvas/Uint8Array.idl:
+ * html/canvas/WebGLActiveInfo.idl:
+ * html/canvas/WebGLBuffer.cpp:
+ * html/canvas/WebGLBuffer.idl:
+ * html/canvas/WebGLContextAttributes.cpp:
+ * html/canvas/WebGLContextAttributes.idl:
+ * html/canvas/WebGLContextEvent.idl:
+ * html/canvas/WebGLExtension.cpp:
+ * html/canvas/WebGLFramebuffer.cpp:
+ * html/canvas/WebGLFramebuffer.idl:
+ * html/canvas/WebGLGetInfo.cpp:
+ * html/canvas/WebGLObject.cpp:
+ * html/canvas/WebGLProgram.cpp:
+ * html/canvas/WebGLProgram.idl:
+ * html/canvas/WebGLRenderbuffer.cpp:
+ * html/canvas/WebGLRenderbuffer.idl:
+ * html/canvas/WebGLRenderingContext.cpp:
+ * html/canvas/WebGLRenderingContext.idl:
+ * html/canvas/WebGLShader.cpp:
+ * html/canvas/WebGLShader.idl:
+ * html/canvas/WebGLTexture.cpp:
+ * html/canvas/WebGLTexture.idl:
+ * html/canvas/WebGLUniformLocation.cpp:
+ * html/canvas/WebGLUniformLocation.idl:
+ * html/canvas/WebKitLoseContext.cpp:
+ * html/canvas/WebKitLoseContext.idl:
+ * page/DOMWindow.idl:
+ * platform/graphics/ANGLEWebKitBridge.cpp:
+ * platform/graphics/GraphicsContext3D.cpp:
+ * platform/graphics/cg/GraphicsContext3DCG.cpp:
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ * platform/graphics/gpu/mac/DrawingBufferMac.mm:
+ * platform/graphics/mac/GraphicsContext3DMac.mm:
+ * platform/graphics/mac/WebGLLayer.mm:
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp:
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+ * platform/graphics/qt/Extensions3DQt.cpp:
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
+ (WebCore::GraphicsLayerQtImpl::paint):
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+ * platform/graphics/qt/GraphicsLayerQt.h:
+ * platform/graphics/skia/GraphicsContext3DSkia.cpp:
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::isAcceleratedCanvas):
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
+ (WebCore::RenderLayerBacking::containsPaintedContent):
+ (WebCore::RenderLayerBacking::contentChanged):
+ * webaudio/AudioBuffer.cpp:
+ * webaudio/AudioBuffer.idl:
+ * webaudio/RealtimeAnalyser.cpp:
+ * webaudio/RealtimeAnalyser.h:
+ * webaudio/RealtimeAnalyserNode.h:
+ * webaudio/RealtimeAnalyserNode.idl:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::setResponseType):
+ (WebCore::XMLHttpRequest::clearResponse):
+ (WebCore::XMLHttpRequest::didReceiveData):
+ * xml/XMLHttpRequest.h:
+
+2011-01-25 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
+
+ - Introduce Preferences.detailedHeapProfiles flag for controlling
+ querying of detailed heap snapshots.
+ - Add boilerplate code for the new view.
+ - Factor out common code.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52624
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/ScriptProfiler.h:
+ (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
+ (WebCore::ScriptProfiler::takeHeapSnapshot):
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::takeHeapSnapshot):
+ * bindings/v8/ScriptProfiler.h:
+ (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
+ * inspector/Inspector.idl:
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
+ * inspector/InspectorProfilerAgent.h:
+ * inspector/front-end/DetailedHeapshotView.js: Added.
+ (WebInspector.DetailedHeapshotView):
+ (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
+ (WebInspector.DetailedHeapshotView.prototype.get profile):
+ (WebInspector.DetailedHeapshotView.prototype.set profile):
+ (WebInspector.DetailedHeapshotView.prototype.show):
+ (WebInspector.DetailedHeapshotView.prototype.hide):
+ (WebInspector.DetailedHeapshotProfileType):
+ (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
+ (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
+ (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
+ (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
+ (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
+ (WebInspector.DetailedHeapshotProfileType.prototype.createView):
+ * inspector/front-end/HeapSnapshot.js: Added.
+ (WebInspector.HeapSnapshotEdgesIterator):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
+ (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
+ (WebInspector.HeapSnapshotNodeWrapper):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
+ (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
+ (WebInspector.HeapSnapshot):
+ (WebInspector.HeapSnapshot.prototype._init):
+ (WebInspector.HeapSnapshot.prototype.get rootEdges):
+ * inspector/front-end/HeapSnapshotView.js:
+ (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
+ (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
+ (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
+ (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._createPanels):
+
+2011-01-25 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: remove "attached" state related methods from InspectorAgent
+ https://bugs.webkit.org/show_bug.cgi?id=53086
+
+ * WebCore.exp.in:
+ * inspector/InspectorAgent.cpp:
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
+ (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
+ * inspector/InspectorSettings.cpp:
+ (WebCore::InspectorSettings::InspectorSettings):
+ * inspector/InspectorSettings.h:
+
+2011-01-25 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
+ https://bugs.webkit.org/show_bug.cgi?id=51873
+
+ Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
+ No new functionality so no new tests.
+
+ * html/canvas/Int32Array.h:
+ (WebCore::Int32Array::set):
+ * html/canvas/Int8Array.h:
+ (WebCore::Int8Array::set):
+ * html/canvas/Uint16Array.h:
+ (WebCore::Uint16Array::set):
+ * html/canvas/Uint32Array.h:
+ (WebCore::Uint32Array::set):
+ * html/canvas/Uint8Array.h:
+ (WebCore::Uint8Array::set):
+
+2011-01-25 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ Repaint SVG elements with filter instead of relayout where possible
+ https://bugs.webkit.org/show_bug.cgi?id=52200
+
+ This patch allows repainting of filters, when their
+ attribute changes does not require relayout.
+
+ Existing dynamic-update tests cover this feature.
+
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::FilterEffect::clearResult): Clearing the currently stored image
+ before repainting.
+ * platform/graphics/filters/FilterEffect.h:
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
+ but filters should also be detected to allow safe testing and casting.
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
+ (WebCore::RenderSVGResourceFilter::applyResource):
+ determineFilterPrimitiveSubregion does not require the filter anymore.
+ (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
+ if lastEffect->hasResult() is false.
+ (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
+ Searching for all FilterEffects, whose created by the current FilterElement,
+ and clearing all resulting images depending on those FilterEffects.
+ * rendering/svg/RenderSVGResourceFilter.h:
+ (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
+ * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
+ (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
+ The filter argument is unnecessary anymore. But is is still kept as a static
+ member, since the primitive renderer still does not know about the
+ FilterEffect objects.
+ * rendering/svg/RenderSVGResourceFilterPrimitive.h:
+ (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
+ (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
+ Calls RenderSVGResourceFilter::primitiveAttributeChanged.
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
+ Setting the new attribute value for each FilterEffect.
+ (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
+ * svg/SVGFEDiffuseLightingElement.h:
+ Calling primitiveAttributeChanged.
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
+ This function will be removed when all FilterElement implements
+ their setFilterEffectAttribute
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
+ * svg/graphics/filters/SVGFilterBuilder.cpp:
+ (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
+ renderers are assigned to the filter effects.
+ (WebCore::SVGFilterBuilder::clearEffects):
+ (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
+ clearing the result images for those filters, whose depend on
+ the starting filter.
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
+ (WebCore::SVGFilterBuilder::effectByRenderer): returns the
+ FilterEffect belongs to this RenderObject.
+
+2011-01-25 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG is missing to-animation support for Path
+ https://bugs.webkit.org/show_bug.cgi?id=52982
+
+ SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
+ animation did not work and an assert was thrown, because of the missing m_fromPath.
+ This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.
+
+ Test: svg/animations/animate-path-to-animation.html
+
+ * svg/SVGAnimateElement.cpp:
+ (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
+ m_fromPath, since 'to' animations are accumulative.
+ (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
+ (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
+ * svg/SVGPathByteStream.h:
+ (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.
+
+2011-01-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: bind resources to URLs upon adding them into the tree.
+ https://bugs.webkit.org/show_bug.cgi?id=53013
+
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
+ (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
+ * inspector/front-end/DebuggerModel.js:
+ (WebInspector.DebuggerModel.prototype._parsedScriptSource):
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkManager.prototype._processCachedResources):
+ (WebInspector.NetworkManager.prototype.inflightResourceForURL):
+ (WebInspector.NetworkDispatcher):
+ (WebInspector.NetworkDispatcher.prototype.willSendRequest):
+ (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
+ (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
+ (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
+ (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
+ (WebInspector.NetworkDispatcher.prototype.didFailLoading):
+ (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
+ (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
+ (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
+ (WebInspector.NetworkDispatcher.prototype._appendRedirect):
+ (WebInspector.NetworkDispatcher.prototype._startResource):
+ (WebInspector.NetworkDispatcher.prototype._finishResource):
+ (WebInspector.NetworkDispatcher.prototype._createResource):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
+ (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
+ (WebInspector.ResourceTreeModel.prototype._clearResources):
+ (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
+ (WebInspector.ResourcesPanel.prototype.showSourceLine):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
+ (WebInspector.ScriptsPanel.prototype._addScript):
+
+2011-01-25 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Introduce FontMetrics abstraction
+ https://bugs.webkit.org/show_bug.cgi?id=51456
+
+ Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
+ This hopefully fixes differences between 32/64 bit bots.
+
+ Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
+
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData):
+ (WebCore::SimpleFontData::initCharWidths):
+
+2011-01-24 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
+ https://bugs.webkit.org/show_bug.cgi?id=52999
+
+ * inspector/Inspector.idl:
+ * inspector/InspectorAgent.cpp:
+ (WebCore::InspectorAgent::didCommitLoad):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::inspectedURLWithoutFragment):
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorBrowserDebuggerAgent.cpp:
+ (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
+ (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
+ (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
+ * inspector/InspectorBrowserDebuggerAgent.h:
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
+ (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
+ (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
+ (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ * inspector/InspectorState.h:
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager):
+ (WebInspector.BreakpointManager.prototype._projectChanged):
+ (WebInspector.BreakpointManager.prototype._saveBreakpoints):
+ (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):
+
+2011-01-25 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Crash in some pages containing flash
+ https://bugs.webkit.org/show_bug.cgi?id=53016
+
+ Flash plugin can produce X errors that are handled by the GDK X
+ error handler, which exits the process. Since we don't want to
+ crash due to flash bugs, we install a custom error handler to show
+ a warning when a X error happens without aborting.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::webkitgtkXError):
+ (WebCore::PluginPackage::load):
+
+2011-01-25 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement spin buttons in RenderThemeGtk
+ https://bugs.webkit.org/show_bug.cgi?id=51454
+
+ Paint inner up/down buttons for spin button elements when building
+ with GTK+ 3.x.
+
+ Test results will land with the GTK+ 2.x version of this patch.
+
+ * platform/gtk/RenderThemeGtk.h:
+ * platform/gtk/RenderThemeGtk2.cpp:
+ (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
+ (WebCore::RenderThemeGtk::paintInnerSpinButton):
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::spinButtonArrowSize):
+ (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
+ (WebCore::paintSpinArrowButton):
+ (WebCore::RenderThemeGtk::paintInnerSpinButton):
+
+2011-01-24 Mihai Parparita <mihaip@chromium.org>
+
+ Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
+ in r76575.
+
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::~CachedResource):
+
+2011-01-24 Mihai Parparita <mihaip@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ Add runtime checks for invariants in memory cache
+ https://bugs.webkit.org/show_bug.cgi?id=53059
+
+ To help track down bug 53045, add some CRASH calls in addition to
+ ASSERTs, so that we can track down failures in reliability bots.
+
+ Just some checks, no new tests necessary.
+
+ * css/CSSImageValue.cpp:
+ (WebCore::CSSImageValue::cachedImage):
+ * loader/cache/CachedResource.h:
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::~CachedResource):
+
+2011-01-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Leaking CSSRuleDataList objects
+ https://bugs.webkit.org/show_bug.cgi?id=53062
+
+ Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSRuleSet::~CSSRuleSet):
+
+2011-01-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Refcount Images used in rendering code
+ https://bugs.webkit.org/show_bug.cgi?id=52701
+
+ Change StyleImage::image(RenderObject*, const IntSize&) and
+ CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
+ return PassRefPtr<Image>, and adjust other code accordingly.
+
+ This allows us to return one-time images, for example for CSS gradients
+ whose appearance may change depending on factors other than the renderer
+ and the destination size.
+
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::image):
+ * css/CSSCanvasValue.h:
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientValue::image):
+ * css/CSSGradientValue.h:
+ * css/CSSImageGeneratorValue.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ (WebCore::RenderBoxModelObject::paintNinePieceImage):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintReplaced):
+ (WebCore::RenderImage::paintIntoRect):
+ * rendering/RenderImageResource.h:
+ (WebCore::RenderImageResource::image):
+ * rendering/RenderImageResourceStyleImage.h:
+ (WebCore::RenderImageResourceStyleImage::image):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::paint):
+ * rendering/style/StyleCachedImage.cpp:
+ (WebCore::StyleCachedImage::image):
+ * rendering/style/StyleCachedImage.h:
+ * rendering/style/StyleGeneratedImage.cpp:
+ (WebCore::StyleGeneratedImage::image):
+ * rendering/style/StyleGeneratedImage.h:
+ * rendering/style/StyleImage.h:
+ * rendering/style/StylePendingImage.h:
+ (WebCore::StylePendingImage::image):
+ * rendering/svg/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+
+2011-01-24 Tony Chang <tony@chromium.org>
+
+ Unreviewed, round ascent and descent to match old code.
+
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformInit):
+
+2011-01-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Chris Marrin.
+
+ perspective() transform function should take lengths
+ https://bugs.webkit.org/show_bug.cgi?id=52683
+
+ The argument to the perspective() transform function should
+ be a Length, rather than a bare number. Bare numbers are still
+ accepted (and treated as px), but this behavior is deprecated.
+
+ Test: animations/3d/transform-perspective.html
+ transforms/3d/general/3dtransform-values.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseTransform): Check the units for the perspective()
+ function. Allow bare numbers for backwards compatibility.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::createTransformOperations): Convert
+ value to Length.
+ * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
+ (WebCore::clampToPostiveInteger): Helper.
+ (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths.
+ * platform/graphics/transforms/PerspectiveTransformOperation.h:
+ (WebCore::PerspectiveTransformOperation::create): double -> Length.
+ (WebCore::PerspectiveTransformOperation::perspective): Ditto.
+ (WebCore::PerspectiveTransformOperation::isIdentity): Ditto.
+ (WebCore::PerspectiveTransformOperation::apply): Ditto.
+ (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert
+ that the Length is a fixed type.
+
+2011-01-24 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Windows] Textfield <input>s have different widths.
+ https://bugs.webkit.org/show_bug.cgi?id=48405
+
+ - Apply the padding override for type=text to other textfield types too.
+ - Reset margin value of outer spin button, which is not used in Windows.
+ - Don't add inner spin button width to the preferred text field width.
+ Text fields should have the identical widths regardless of the
+ existence of spin buttons.
+
+ Test: fast/forms/input-widths.html
+
+ * css/themeWin.css:
+ (input[type="week"]):
+ (input[type="week"]:disabled):
+ (input[type="search"]::-webkit-search-cancel-button):
+ (input::-webkit-outer-spin-button):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::preferredContentWidth):
+ Don't add inner spin button width to the preferred width.
+
+2011-01-24 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Some bugs of search cancel button and spin button about state change in
+ an event handler.
+ https://bugs.webkit.org/show_bug.cgi?id=46950
+
+ Fix the following problems:
+ * Type=search field didn't release event capturing
+ * Assertion failure when an input field with spin buttons was changed
+ to another type on focus event.
+ * A input field with spin button didn't release event capturing when it
+ was changed to another type on focus event.
+
+ Tests: fast/forms/input-number-change-type-on-focus.html
+ fast/forms/search-hide-cancel-on-cancel.html
+
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
+ - Make the variable 'input' RefPtr. It makes the code simpler.
+ - Remove visibility check on mouseup event. We should release capturing
+ anyway because the cancel button may be invisible if JavaScript code
+ called by the focus event removes the input value.
+ (WebCore::SpinButtonElement::detach):
+ - Release capturing on detach because it is possible that a spin button
+ node is detached while it is capturing events.
+ (WebCore::SpinButtonElement::defaultEventHandler):
+ Take a reference to this and check renderer() after some functions which
+ may run JavaScript code.
+ (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
+ Make the variable 'input' RefPtr to align other functions in this file.
+ (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
+ * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach().
+
+2011-01-24 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Ojan Vafai.
+
+ Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
+ https://bugs.webkit.org/show_bug.cgi?id=52781
+
+ The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph
+ and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and
+ non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed.
+
+ Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace
+ multiple times but instead it traverses through the string and replaces a space that immediately follows
+ another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space.
+
+ * editing/CompositeEditCommand.cpp:
+ * editing/htmlediting.cpp:
+ (WebCore::stringWithRebalancedWhitespace): Written.
+ * editing/htmlediting.h:
+ (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp
+
+2011-01-24 Kenneth Russell <kbr@google.com>
+
+ Reviewed by James Robinson.
+
+ Web Audio API: port FFTFrame to FFTW
+ https://bugs.webkit.org/show_bug.cgi?id=52989
+
+ Ported FFTFrame class to the open-source FFTW library. Tested with
+ unit tests from Chris Rogers. Made preliminary changes to GYP
+ files for conditional compilation of these files; will need to be
+ adjusted once FFTW is integrated as third-party source.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * platform/audio/FFTFrame.h:
+ * platform/audio/fftw: Added.
+ * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
+ (WebCore::FFTFrame::FFTFrame):
+ (WebCore::FFTFrame::~FFTFrame):
+ (WebCore::FFTFrame::multiply):
+ (WebCore::FFTFrame::doFFT):
+ (WebCore::FFTFrame::doInverseFFT):
+ (WebCore::FFTFrame::cleanup):
+ (WebCore::FFTFrame::realData):
+ (WebCore::FFTFrame::imagData):
+ (WebCore::FFTFrame::fftwPlanForSize):
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Reset the page scale factor on standard frame loads
+ https://bugs.webkit.org/show_bug.cgi?id=53058
+ <rdar://problem/8908844>
+
+ Add a symbol needed by WebKit2.
+
+ * WebCore.exp.in:
+
+2011-01-24 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
+ ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=52676
+
+ Stop instantiating legacy editing positions in the following files.
+
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::prepareForTextInsertion):
+ (WebCore::InsertTextCommand::performTrivialReplace):
+ (WebCore::InsertTextCommand::input):
+ (WebCore::InsertTextCommand::insertTab):
+ * editing/MoveSelectionCommand.cpp:
+ (WebCore::MoveSelectionCommand::doApply):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
+ (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
+ (WebCore::ReplaceSelectionCommand::doApply):
+ (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
+ (WebCore::ReplaceSelectionCommand::performTrivialReplace):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::setSelectionFromNone):
+ * editing/SpellChecker.cpp:
+ (WebCore::SpellChecker::didCheck):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::makeEditableRootEmpty):
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+ * editing/markup.cpp:
+ (WebCore::StyledMarkupAccumulator::appendText):
+ (WebCore::StyledMarkupAccumulator::serializeNodes):
+ (WebCore::highestAncestorToWrapMarkup):
+ (WebCore::createMarkup):
+
+2011-01-24 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Adler.
+
+ Roll back r67261 ("Don't fire onclick on middle clicks") due to
+ regressions.
+ https://bugs.webkit.org/show_bug.cgi?id=46733
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::isLinkClick):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::preDispatchEventHandler):
+ (WebCore::HTMLInputElement::postDispatchEventHandler):
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+
+2011-01-24 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Eric Seidel.
+
+ [GTK] Many DOM XHTML tests time out
+ https://bugs.webkit.org/show_bug.cgi?id=52553
+
+ Properly handle the situation where a synchronous load fails before the inner
+ event loop has started. In this case, we simply do not run the inner event loop,
+ or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
+ load if it fails up front.
+
+2011-01-24 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
+ https://bugs.webkit.org/show_bug.cgi?id=52338
+
+ Removed the long/unsigned long types and corresponding get functions
+ and use int/unsigned int instead.
+
+ * bindings/js/JSWebGLRenderingContextCustom.cpp:
+ (WebCore::toJS):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::toV8Object):
+ * html/canvas/WebGLGetInfo.cpp:
+ (WebCore::WebGLGetInfo::WebGLGetInfo):
+ (WebCore::WebGLGetInfo::getInt):
+ (WebCore::WebGLGetInfo::getUnsignedInt):
+ * html/canvas/WebGLGetInfo.h:
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::getBufferParameter):
+ (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
+ (WebCore::WebGLRenderingContext::getParameter):
+ (WebCore::WebGLRenderingContext::getProgramParameter):
+ (WebCore::WebGLRenderingContext::getRenderbufferParameter):
+ (WebCore::WebGLRenderingContext::getShaderParameter):
+ (WebCore::WebGLRenderingContext::getTexParameter):
+ (WebCore::WebGLRenderingContext::getUniform):
+ (WebCore::WebGLRenderingContext::getVertexAttrib):
+ (WebCore::WebGLRenderingContext::getIntParameter):
+ (WebCore::WebGLRenderingContext::getUnsignedIntParameter):
+ * html/canvas/WebGLRenderingContext.h:
+
+2011-01-24 Zhenyao Mo <zmo@google.com>
+
+ Reviewed by Darin Adler.
+
+ Remove sizeInBytes from GraphicsContext3D's various implementations
+ https://bugs.webkit.org/show_bug.cgi?id=52339
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::sizeInBytes):
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+
+2011-01-24 Adam Roben <aroben@apple.com>
+
+ Windows Production build fix
+
+ * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
+
+2011-01-24 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Nate Chapin.
+
+ [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
+ https://bugs.webkit.org/show_bug.cgi?id=52911
+
+ Plain refactoring, covered by the existing tests.
+
+ * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
+ * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
+ * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
+ * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
+ (WebCore::ChunkedTable::ChunkedTable):
+ (WebCore::ChunkedTable::add):
+ (WebCore::ChunkedTable::remove):
+ (WebCore::ChunkedTable::clear):
+ (WebCore::ChunkedTable::visit):
+ (WebCore::ChunkedTable::Chunk::Chunk):
+ (WebCore::ChunkedTable::clearEntries):
+ (WebCore::ChunkedTable::visitEntries):
+ (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
+ (WebCore::IntrusiveDOMWrapperMap::get):
+ (WebCore::IntrusiveDOMWrapperMap::set):
+ (WebCore::IntrusiveDOMWrapperMap::contains):
+ (WebCore::IntrusiveDOMWrapperMap::visit):
+ (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
+ (WebCore::IntrusiveDOMWrapperMap::clear):
+ (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
+ (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
+ (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
+ * bindings/v8/StaticDOMDataStore.h: include added.
+
+2011-01-24 Shane Stephens <shanestephens@google.com>
+
+ Reviewed by Chris Marrin.
+
+ TransformationMatrix multiply operations apply operands in wrong order.
+ https://bugs.webkit.org/show_bug.cgi?id=52780
+
+ Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
+ not a multLeft).
+
+ Remove TransformationMatrix::multiply, which was actually doing a multLeft.
+
+ Fix TransformationMatrix::operator* and operator*= such that the operand is
+ applied to the right-hand side of the matrix that the method is called on.
+ i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
+ "b * a" in "a". This has now been fixed so "a * b" computes "a * b" and
+ "a *= b" stores "a * b" in "a".
+
+ Convert all call sites for these methods to provide operands in the correct order.
+
+ No new tests as patch adds no new functionality.
+
+ * css/WebKitCSSMatrix.cpp:
+ (WebCore::WebKitCSSMatrix::multiply):
+ * platform/graphics/transforms/Matrix3DTransformOperation.h:
+ (WebCore::Matrix3DTransformOperation::apply):
+ * platform/graphics/transforms/MatrixTransformOperation.h:
+ (WebCore::MatrixTransformOperation::apply):
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::TransformationMatrix::scaleNonUniform):
+ (WebCore::TransformationMatrix::scale3d):
+ (WebCore::TransformationMatrix::rotate3d):
+ (WebCore::TransformationMatrix::skew):
+ (WebCore::TransformationMatrix::applyPerspective):
+ (WebCore::TransformationMatrix::multiply):
+ (WebCore::TransformationMatrix::recompose):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (WebCore::TransformationMatrix::operator*=):
+ (WebCore::TransformationMatrix::operator*):
+ * rendering/RenderLayer.cpp:
+ (WebCore::transparencyClipBox):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::getTransformFromContainer):
+ * rendering/TransformState.cpp:
+ (WebCore::TransformState::applyTransform):
+ (WebCore::HitTestingTransformState::applyTransform):
+
+2011-01-24 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Nate Chapin.
+
+ IndexedDatabase methods should not take arguments of type OptionsObject
+ https://bugs.webkit.org/show_bug.cgi?id=53012
+
+ This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
+ IDBObjectStore::createIndex, to using a plain list of arguments instead of
+ grouping the various parameters inside a single OptionsObject argument.
+ This decision was made on public-webapps@w3.org mailing list.
+
+ We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
+ methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
+ in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
+ use it.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::v8ValueToWebCoreDOMStringList):
+ * bindings/v8/V8Binding.h:
+ * storage/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::transaction):
+ * storage/IDBDatabase.h:
+ (WebCore::IDBDatabase::transaction):
+ * storage/IDBDatabase.idl:
+ * storage/IDBIndex.cpp:
+ (WebCore::IDBIndex::openCursor):
+ (WebCore::IDBIndex::openKeyCursor):
+ * storage/IDBIndex.h:
+ (WebCore::IDBIndex::openCursor):
+ (WebCore::IDBIndex::openKeyCursor):
+ * storage/IDBIndex.idl:
+ * storage/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::openCursor):
+ * storage/IDBObjectStore.h:
+ (WebCore::IDBObjectStore::openCursor):
+ * storage/IDBObjectStore.idl:
+
+2011-01-24 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: extract dispatch API from network manager.
+ https://bugs.webkit.org/show_bug.cgi?id=53009
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkManager):
+ (WebInspector.NetworkManager.prototype.reset):
+ (WebInspector.NetworkManager.prototype.requestContent):
+ (WebInspector.NetworkManager.prototype._processCachedResources):
+ (WebInspector.NetworkDispatcher):
+ (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
+ (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
+ (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
+ (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
+ (WebInspector.NetworkDispatcher.prototype.willSendRequest):
+ (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
+ (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
+ (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
+ (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
+ (WebInspector.NetworkDispatcher.prototype._appendRedirect):
+ (WebInspector.NetworkDispatcher.prototype._startResource):
+ (WebInspector.NetworkDispatcher.prototype._updateResource):
+ (WebInspector.NetworkDispatcher.prototype._finishResource):
+ (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
+ (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
+ (WebInspector.NetworkDispatcher.prototype._createResource):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._innerRequestContent):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel):
+ (WebInspector.ResourceTreeModel.prototype.reset):
+ (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
+
+2011-01-24 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
+ https://bugs.webkit.org/show_bug.cgi?id=53007
+
+ It's impossible to create "provisional" inspector for pages which are
+ not yet created so there is no need to listen for page creation in ScriptDebugServer.
+
+ * bindings/js/ScriptDebugServer.cpp:
+ * bindings/js/ScriptDebugServer.h:
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+
+2011-01-24 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
+ https://bugs.webkit.org/show_bug.cgi?id=53002
+
+
+ * inspector/front-end/ApplicationCacheItemsView.js:
+ (WebInspector.ApplicationCacheItemsView.prototype._update):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
+
+2011-01-24 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix warnings about unregistering an invalid timer
+ https://bugs.webkit.org/show_bug.cgi?id=53006
+
+ The ShadowBuffer's purge timer ID was initialized with 0 which lead
+ to us calling QObject::killTimer(0), causing some qWarnings.
+
+ * platform/graphics/qt/ContextShadowQt.cpp:
+ (WebCore::ShadowBuffer::ShadowBuffer):
+ (WebCore::ShadowBuffer::schedulePurge):
+
+2011-01-21 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: [Chromium] Fix heap snapshot table sorting.
+
+ Fix table sorting to avoid qsort instability artefacts.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52914
+
+ * inspector/front-end/HeapSnapshotView.js:
+ (WebInspector.HeapSnapshotView.prototype._sortData):
+ (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
+ (WebInspector.HeapSnapshotDataGridList.propertyComparator):
+
+2011-01-24 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: Find duplicate strings in localizedStrings.js, update it.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53005
+
+ * English.lproj/localizedStrings.js:
+
+2011-01-24 Pavel Podivilov <podivilov@chromium.org>
+
+ Unreviewed, build fix for r76509.
+
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setBreakpoint):
+
+2011-01-24 Pavel Podivilov <podivilov@chromium.org>
+
+ Unreviewed, build fix for r76509.
+
+ * bindings/js/ScriptDebugServer.h:
+
+2011-01-24 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: set breakpoints by line:column.
+ https://bugs.webkit.org/show_bug.cgi?id=52615
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ (WebCore::ScriptDebugServer::clearBreakpoints):
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/v8/DebuggerScript.js:
+ ():
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ * bindings/v8/ScriptDebugServer.h:
+ * inspector/Inspector.idl:
+ * inspector/InspectorBrowserDebuggerAgent.cpp:
+ (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
+ (WebCore::InspectorDebuggerAgent::setBreakpoint):
+ (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
+ (WebCore::InspectorDebuggerAgent::didParseSource):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/ScriptBreakpoint.cpp: Removed.
+ * inspector/ScriptBreakpoint.h:
+ (WebCore::ScriptBreakpoint::ScriptBreakpoint):
+ * inspector/front-end/Breakpoint.js:
+ (WebInspector.Breakpoint):
+ (WebInspector.Breakpoint.prototype.get url):
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
+ * inspector/front-end/DebuggerModel.js:
+ (WebInspector.DebuggerModel.prototype.continueToLine):
+ (WebInspector.DebuggerModel.prototype.setBreakpoint):
+ (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
+ (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
+
+2011-01-24 Peter Beverloo <peter@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: recognize application/x-font-woff as a valid mime-type.
+ https://bugs.webkit.org/show_bug.cgi?id=52977
+
+ No new tests.
+
+ * inspector/front-end/inspector.js:
+
+2011-01-24 Pavel Podivilov <podivilov@chromium.org>
+
+ Unreviewed, fix for r76497.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.show):
+
+2011-01-24 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Use rad2deg() from WTF instead of rolling our own.
+ https://bugs.webkit.org/show_bug.cgi?id=52993
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::rotate):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArc):
+
+2011-01-24 Sergio Villar Senin <svillar@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
+ https://bugs.webkit.org/show_bug.cgi?id=52885
+
+ No new tests as it does not change functionality. We will not wait for
+ the the input stream to close to issue didFinishLoading to
+ WebCore. We expect a subtle performance improvement with this
+ patch when loading complex web pages, as we wouldn't have to wait
+ for the stream to close (which involves creating a thread among
+ other things).
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::closeCallback):
+ (WebCore::readCallback):
+
+2011-01-21 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: eliminate SourceView and ScriptView classes.
+ https://bugs.webkit.org/show_bug.cgi?id=52896
+
+ SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/GoToLineDialog.js:
+ (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView.createResourceView):
+ (WebInspector.ResourceView.resourceViewTypeMatchesResource):
+ (WebInspector.SourceFrameContentProviderForResource): Moved from SourceView.
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.show):
+ (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
+ (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
+ * inspector/front-end/ScriptView.js: Removed.
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
+ (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
+ (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
+ (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
+ (WebInspector.ScriptsPanel.prototype._formatScript):
+ (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame):
+ (WebInspector.SourceFrame.prototype.show):
+ (WebInspector.SourceFrame.prototype.hide):
+ (WebInspector.SourceFrame.prototype.hasContent):
+ (WebInspector.SourceFrame.prototype._createTextViewer):
+ (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
+ (WebInspector.SourceFrame.prototype.performSearch):
+ * inspector/front-end/SourceView.js: Removed.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2011-01-24 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Move project files into Source
+ https://bugs.webkit.org/show_bug.cgi?id=52891
+
+ No new tests needed.
+
+ * WebCore.pri:
+ * WebCore.pro:
+
+2011-01-24 Kent Tamura <tkent@chromium.org>
+
+ Unreviewed, trivial fix.
+
+ Fix a Chromium-only assertion failure by r76491.
+ https://bugs.webkit.org/show_bug.cgi?id=38982
+
+ Separate icon loading from the FileChooser constructor in order to avoid
+ ref() before adoptRef().
+
+ * platform/FileChooser.cpp:
+ (WebCore::FileChooser::FileChooser):
+ (WebCore::FileChooser::initialize):
+ (WebCore::FileChooser::create):
+ * platform/FileChooser.h:
+
+2011-01-24 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Kent Tamura.
+
+ TextControlInnerElement::m_shadowParent should be removed.
+ https://bugs.webkit.org/show_bug.cgi?id=52998
+
+ No new tests. No behavioral change.
+
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerElement::TextControlInnerElement):
+ * rendering/TextControlInnerElements.h:
+
+2011-01-24 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ REGRESSION (r72895): console.trace crashes
+ https://bugs.webkit.org/show_bug.cgi?id=52981
+
+ - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
+ non-null value.
+ - Use PassRefPtr for objects whos ownership is passed to the inspector.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
+ own header to reduce compilation time of other classes that depend on the inspector instrumentation.
+ (WebCore::InspectorInstrumentation::addMessageToConsole):
+ (WebCore::InspectorInstrumentation::consoleCount):
+ (WebCore::InspectorInstrumentation::startConsoleTiming):
+ (WebCore::InspectorInstrumentation::stopConsoleTiming):
+ (WebCore::InspectorInstrumentation::consoleMarkTimeline):
+ (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
+ (WebCore::InspectorInstrumentation::addProfile):
+ (WebCore::InspectorInstrumentation::profilerEnabled):
+ (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
+ * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
+ own header to reduce compilation time of other classes that depend on the inspector instrumentation.
+ (WebCore::InspectorInstrumentation::didOpenDatabase):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
+ (WebCore::InspectorInstrumentation::consoleCountImpl):
+ (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
+ (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
+ (WebCore::InspectorInstrumentation::addProfileImpl):
+ (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
+ * inspector/InspectorInstrumentation.h:
+ * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
+ (WebCore::Console::addMessage):
+ (WebCore::Console::trace):
+ (WebCore::Console::count):
+ (WebCore::Console::markTimeline):
+ (WebCore::Console::profileEnd):
+ (WebCore::Console::timeEnd):
+ (WebCore::Console::group):
+ (WebCore::Console::groupCollapsed):
+ * storage/Database.cpp:
+ (WebCore::Database::openDatabase):
+
+2010-01-24 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Support icon loading for <input type=file>
+ https://bugs.webkit.org/show_bug.cgi?id=38982
+
+ An icon data in Chromium port is represented as WebCore::Image. We
+ don't need OS-specific code anymore.
+
+ * WebCore.gypi:
+ * platform/graphics/Icon.h:
+ (WebCore::Icon::create): Add Chromium-specific factory.
+ * platform/graphics/chromium/IconChromium.cpp: Added.
+ * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
+ * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
+ * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
+ * platform/graphics/chromium/PlatformIcon.h:
+
+2011-01-21 Pavel Podivilov <podivilov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: move search functions from SourceView to SourceFrame.
+ https://bugs.webkit.org/show_bug.cgi?id=52895
+
+ This is the last step before eliminating SourceView and ScriptView since
+ this classes just delegate everything to SourceFrame.
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.set visible):
+ (WebInspector.SourceFrame.prototype._clearLineHighlight):
+ (WebInspector.SourceFrame.prototype._createTextViewer):
+ (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
+ (WebInspector.SourceFrame.prototype.performSearch):
+ (WebInspector.SourceFrame.prototype.searchCanceled):
+ (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
+ (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
+ (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
+ (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
+ (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
+ (WebInspector.SourceFrame.prototype.showingLastSearchResult):
+ (WebInspector.SourceFrame.prototype._jumpToSearchResult):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype.hide):
+ (WebInspector.SourceView.prototype.searchCanceled):
+ (WebInspector.SourceView.prototype.performSearch):
+ (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
+ (WebInspector.SourceView.prototype.jumpToLastSearchResult):
+ (WebInspector.SourceView.prototype.jumpToNextSearchResult):
+ (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
+ (WebInspector.SourceView.prototype.showingFirstSearchResult):
+ (WebInspector.SourceView.prototype.showingLastSearchResult):
+ (WebInspector.SourceView.prototype.clearMessages):
+
+2011-01-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r76463.
+ http://trac.webkit.org/changeset/76463
+ https://bugs.webkit.org/show_bug.cgi?id=52993
+
+ It broke canvas/philip/tests/2d.path.stroke.skew.html
+ (Requested by Ossy on #webkit).
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::rotate):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArc):
+
+2011-01-23 Andrey Kosyakov <caseq@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: summary bar is not resized properly with the rest of network panel
+ https://bugs.webkit.org/show_bug.cgi?id=52881
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
+ (WebInspector.NetworkPanel.prototype._positionSummaryBar):
+ (WebInspector.NetworkPanel.prototype._toggleGridMode):
+
+2011-01-19 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Ryosuke Niwa.
+
+ Space and tab characters "sent" by an input method give totally different results than typing them directly
+ https://bugs.webkit.org/show_bug.cgi?id=5241
+
+ * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to
+ distinguish text input which is originated by composition.
+ * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing
+ range of string on text node, instead of surrounding part of that.
+
+ Test: editing/inserting/insert-composition-whitespace.html
+
+ * dom/TextEvent.h:
+ (WebCore::TextEvent::isComposition):
+ * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::containsOnlyWhitespace):
+ (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
+ (WebCore::CompositeEditCommand::canRebalance):
+ (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
+ (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
+ * editing/CompositeEditCommand.h:
+ * editing/Editor.cpp:
+ (WebCore::Editor::insertTextForConfirmedComposition): Added.
+ (WebCore::Editor::insertTextWithoutSendingTextEvent):
+ (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
+ (WebCore::Editor::setComposition):
+ * editing/Editor.h:
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::input):
+ * editing/InsertTextCommand.h:
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::TypingCommand):
+ (WebCore::TypingCommand::insertText):
+ (WebCore::TypingCommand::insertTextRunWithoutNewlines):
+ * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
+ (WebCore::TypingCommand::setCompositionType): Added.
+ (WebCore::TypingCommand::create):
+
+2011-01-23 Mark Rowe <mrowe@apple.com>
+
+ Follow-up to r76477.
+
+ Fix the scripts that detect problematic code such as static initializers
+ and destructors, weak vtables, inappropriate files in the framework wrappers,
+ and public headers including private headers. These had all been broken
+ since the projects were moved in to the Source directory as the paths to the
+ scripts were not updated at that time.
+
+ Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2011-01-23 Mark Rowe <mrowe@apple.com>
+
+ Build fix after r76459.
+
+ Static member variables or globals of types that have constructors or destructors are bad as
+ they generate static initializers and destructors. This is code that is run either at link time
+ when the library is loaded in to memory or at application termination time. Both of these are
+ terrible for performance and are thus outlawed in WebKit code.
+
+ The typical solution is to replace the static member or global with a function that allocates
+ the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
+ at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
+ package, but sadly fails to work in this case due to the type containing multiple template
+ parameters.
+
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::inspectorAgents):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::bindInspectorAgent):
+ (WebCore::InspectorInstrumentation::unbindInspectorAgent):
+ (WebCore::InspectorInstrumentation::inspectorAgentForPage):
+
+2011-01-21 Vangelis Kokkevis <vangelis@chromium.org>
+
+ Reviewed by Kenneth Russell.
+
+ [chromium] Add support for -webkit-mask properties to the
+ accelerated compositing path.
+ https://bugs.webkit.org/show_bug.cgi?id=49780
+
+ Tests: Existing tests in LayoutTests/compositing/masks
+
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerChromium::draw):
+ (WebCore::ContentLayerChromium::unreserveContentsTexture):
+ (WebCore::ContentLayerChromium::bindContentsTexture):
+ * platform/graphics/chromium/ContentLayerChromium.h:
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setMaskLayer):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::setMaskLayer):
+ (WebCore::LayerChromium::maskLayer):
+ (WebCore::LayerChromium::unreserveContentsTexture):
+ (WebCore::LayerChromium::bindContentsTexture):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::updateLayersRecursive):
+ * platform/graphics/chromium/LayerTexture.cpp:
+ (WebCore::LayerTexture::bindTexture):
+ * platform/graphics/chromium/RenderSurfaceChromium.cpp:
+ (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
+ (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
+ (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
+ (WebCore::RenderSurfaceChromium::draw):
+ * platform/graphics/chromium/RenderSurfaceChromium.h:
+ (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
+ (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
+ (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
+ (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
+ (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
+
+2011-01-23 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Use WTF::StringHasher in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=52934
+
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::urlHostHash):
+ * platform/LinkHash.cpp:
+ (WebCore::visitedLinkHashInline):
+ * platform/cf/BinaryPropertyList.cpp:
+ (WebCore::IntegerArrayHash::hash):
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::computeHash):
+ * platform/network/ProtectionSpaceHash.h:
+ (WebCore::ProtectionSpaceHash::hash):
+
+2011-01-23 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Add an overload to base64Encode with String output
+ https://bugs.webkit.org/show_bug.cgi?id=50122
+
+ This change removes duplicated code.
+
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::resourceContentBase64):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::btoa):
+ * platform/graphics/skia/FontCustomPlatformData.cpp:
+ (WebCore::createUniqueFontName):
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::createUniqueFontName):
+ * platform/graphics/wince/FontCustomPlatformData.cpp:
+ (WebCore::createUniqueFontName):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::encodeBasicAuthorization):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::encodeBasicAuthorization):
+ * platform/text/Base64.cpp:
+ (WebCore::base64Encode):
+ * platform/text/Base64.h:
+ (WebCore::base64Encode):
+ * platform/wince/KeygenWinCE.cpp:
+ (WebCore::WebCore::signedPublicKeyAndChallengeString):
+
+2011-01-23 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Add String::containsOnlyLatin1()
+ https://bugs.webkit.org/show_bug.cgi?id=52979
+
+ Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::btoa):
+ (WebCore::DOMWindow::atob):
+
+2011-01-23 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [CMake] Add missing CodeGenerator dependencies
+ https://bugs.webkit.org/show_bug.cgi?id=52976
+
+ * CMakeLists.txt:
+
+2011-01-23 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][Symbian] Fix --minimal build
+ https://bugs.webkit.org/show_bug.cgi?id=52839
+
+ Some of the plugins' functionality is reimplemented in
+ Symbian specific files.
+ Some of this functionality should be compiled in even if
+ the guard NETSCAPE_PLUGIN_API is turned off.
+ This patch moves that functionality out of the
+ NETSCAPE_PLUGIN_API guard.
+
+ Build fix so no new tests.
+
+ * WebCore.pro:
+ * plugins/symbian/PluginPackageSymbian.cpp:
+
+2011-01-23 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Use rad2deg() from WTF instead of rolling our own.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::rotate):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArc):
+
+2011-01-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Viewport meta: Always adjust device dimensions to the device pixel ratio.
+
+ * dom/ViewportArguments.cpp:
+ (WebCore::computeViewportAttributes):
+
+2011-01-23 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Don't scale absolute geometry specified by viewport meta tag.
+
+ * dom/ViewportArguments.cpp:
+ (WebCore::computeViewportAttributes):
+
+2011-01-23 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed build fix.
+
+ Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
+
+ Touch Inspector.idl.
+
+ * inspector/Inspector.idl:
+
+2011-01-22 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: next step in splitting InspectorController.
+
+ Splitting InspectorController is a bit tricky process.
+
+ As a first step I'll do the next things:
+ 1) rename existing InspectorController to InspectorAgent;
+ 2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
+ 3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
+
+ The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
+
+ As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52955
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::JSInjectedScriptHost::nodeForId):
+ (WebCore::JSInjectedScriptHost::selectDOMStorage):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::nodeForIdCallback):
+ * inspector/CodeGeneratorInspector.pm:
+ * inspector/InjectedScriptHost.cpp:
+ (WebCore::InjectedScriptHost::InjectedScriptHost):
+ (WebCore::InjectedScriptHost::clearConsoleMessages):
+ (WebCore::InjectedScriptHost::databaseForId):
+ (WebCore::InjectedScriptHost::selectDatabase):
+ (WebCore::InjectedScriptHost::selectDOMStorage):
+ (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
+ (WebCore::InjectedScriptHost::inspectorDOMAgent):
+ (WebCore::InjectedScriptHost::frontend):
+ (WebCore::InjectedScriptHost::didCreateWorker):
+ (WebCore::InjectedScriptHost::didDestroyWorker):
+ * inspector/InjectedScriptHost.h:
+ (WebCore::InjectedScriptHost::create):
+ (WebCore::InjectedScriptHost::inspectorAgent):
+ (WebCore::InjectedScriptHost::disconnectController):
+ * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
+ (WebCore::InspectorAgent::InspectorAgent):
+ (WebCore::InspectorAgent::~InspectorAgent):
+ (WebCore::InspectorAgent::inspectedPageDestroyed):
+ (WebCore::InspectorAgent::enabled):
+ (WebCore::InspectorAgent::inspectorStartsAttached):
+ (WebCore::InspectorAgent::setInspectorStartsAttached):
+ (WebCore::InspectorAgent::setInspectorAttachedHeight):
+ (WebCore::InspectorAgent::inspectorAttachedHeight):
+ (WebCore::InspectorAgent::searchingForNodeInPage):
+ (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
+ (WebCore::InspectorAgent::inspect):
+ (WebCore::InspectorAgent::focusNode):
+ (WebCore::InspectorAgent::highlight):
+ (WebCore::InspectorAgent::highlightDOMNode):
+ (WebCore::InspectorAgent::highlightFrame):
+ (WebCore::InspectorAgent::hideHighlight):
+ (WebCore::InspectorAgent::mouseDidMoveOverElement):
+ (WebCore::InspectorAgent::handleMousePress):
+ (WebCore::InspectorAgent::setInspectorFrontendClient):
+ (WebCore::InspectorAgent::didClearWindowObjectInWorld):
+ (WebCore::InspectorAgent::setSearchingForNode):
+ (WebCore::InspectorAgent::connectFrontend):
+ (WebCore::InspectorAgent::show):
+ (WebCore::InspectorAgent::showPanel):
+ (WebCore::InspectorAgent::close):
+ (WebCore::InspectorAgent::disconnectFrontend):
+ (WebCore::InspectorAgent::resourceAgent):
+ (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
+ (WebCore::InspectorAgent::populateScriptObjects):
+ (WebCore::InspectorAgent::pushDataCollectedOffline):
+ (WebCore::InspectorAgent::restoreDebugger):
+ (WebCore::InspectorAgent::restoreProfiler):
+ (WebCore::InspectorAgent::unbindAllResources):
+ (WebCore::InspectorAgent::didCommitLoad):
+ (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
+ (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
+ (WebCore::InspectorAgent::isMainResourceLoader):
+ (WebCore::InspectorAgent::willSendRequest):
+ (WebCore::InspectorAgent::ensureSettingsLoaded):
+ (WebCore::InspectorAgent::startTimelineProfiler):
+ (WebCore::InspectorAgent::stopTimelineProfiler):
+ (WebCore::PostWorkerNotificationToFrontendTask::create):
+ (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
+ (WebCore::PostWorkerNotificationToFrontendTask::performTask):
+ (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
+ (WebCore::InspectorAgent::didCreateWorker):
+ (WebCore::InspectorAgent::didDestroyWorker):
+ (WebCore::InspectorAgent::didOpenDatabase):
+ (WebCore::InspectorAgent::getCookies):
+ (WebCore::InspectorAgent::buildArrayForCookies):
+ (WebCore::InspectorAgent::buildObjectForCookie):
+ (WebCore::InspectorAgent::deleteCookie):
+ (WebCore::InspectorAgent::didUseDOMStorage):
+ (WebCore::InspectorAgent::didCreateWebSocket):
+ (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
+ (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
+ (WebCore::InspectorAgent::didCloseWebSocket):
+ (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
+ (WebCore::InspectorAgent::startUserInitiatedProfiling):
+ (WebCore::InspectorAgent::stopUserInitiatedProfiling):
+ (WebCore::InspectorAgent::profilerEnabled):
+ (WebCore::InspectorAgent::enableProfiler):
+ (WebCore::InspectorAgent::disableProfiler):
+ (WebCore::InspectorAgent::showAndEnableDebugger):
+ (WebCore::InspectorAgent::enableDebugger):
+ (WebCore::InspectorAgent::disableDebugger):
+ (WebCore::InspectorAgent::resume):
+ (WebCore::InspectorAgent::setAllBrowserBreakpoints):
+ (WebCore::InspectorAgent::evaluateForTestInFrontend):
+ (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
+ (WebCore::quadToPath):
+ (WebCore::drawOutlinedQuad):
+ (WebCore::drawOutlinedQuadWithClip):
+ (WebCore::drawHighlightForBox):
+ (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
+ (WebCore::convertFromFrameToMainFrame):
+ (WebCore::frameToMainFrameOffset):
+ (WebCore::InspectorAgent::drawNodeHighlight):
+ (WebCore::InspectorAgent::drawElementTitle):
+ (WebCore::InspectorAgent::openInInspectedWindow):
+ (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
+ (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
+ (WebCore::InspectorAgent::setInspectorExtensionAPI):
+ (WebCore::InspectorAgent::inspectedURL):
+ (WebCore::InspectorAgent::reloadPage):
+ (WebCore::InspectorAgent::setExtraHeaders):
+ * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
+ (WebCore::InspectorAgent::inspectorBackendDispatcher):
+ (WebCore::InspectorAgent::inspectorClient):
+ (WebCore::InspectorAgent::injectedScriptHost):
+ (WebCore::InspectorAgent::inspectedPage):
+ (WebCore::InspectorAgent::hideDOMNodeHighlight):
+ (WebCore::InspectorAgent::hideFrameHighlight):
+ (WebCore::InspectorAgent::frontend):
+ (WebCore::InspectorAgent::inspectorController):
+ (WebCore::InspectorAgent::inspectorAgent):
+ (WebCore::InspectorAgent::consoleAgent):
+ (WebCore::InspectorAgent::cssAgent):
+ (WebCore::InspectorAgent::domAgent):
+ (WebCore::InspectorAgent::injectedScriptAgent):
+ (WebCore::InspectorAgent::runtimeAgent):
+ (WebCore::InspectorAgent::timelineAgent):
+ (WebCore::InspectorAgent::databaseAgent):
+ (WebCore::InspectorAgent::domStorageAgent):
+ (WebCore::InspectorAgent::fileSystemAgent):
+ (WebCore::InspectorAgent::browserDebuggerAgent):
+ (WebCore::InspectorAgent::debuggerAgent):
+ (WebCore::InspectorAgent::profilerAgent):
+ (WebCore::InspectorAgent::applicationCacheAgent):
+ (WebCore::InspectorAgent::hasInspectorFrontendClient):
+ (WebCore::InspectorAgent::hasFrontend):
+ (WebCore::InspectorAgent::startProfiling):
+ (WebCore::InspectorAgent::stopProfiling):
+ (WebCore::InspectorAgent::debuggerEnabled):
+ (WebCore::InspectorAgent::state):
+ (WebCore::InspectorAgent::settings):
+ * inspector/InspectorApplicationCacheAgent.cpp:
+ (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
+ (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
+ * inspector/InspectorApplicationCacheAgent.h:
+ * inspector/InspectorBrowserDebuggerAgent.cpp:
+ (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
+ (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
+ (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
+ (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
+ (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
+ (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
+ (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
+ (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
+ (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
+ (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
+ (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
+ * inspector/InspectorBrowserDebuggerAgent.h:
+ (WebCore::InspectorBrowserDebuggerAgent::create):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
+ (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
+ (WebCore::InspectorConsoleAgent::clearConsoleMessages):
+ (WebCore::InspectorConsoleAgent::addMessageToConsole):
+ (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
+ (WebCore::InspectorConsoleAgent::didReceiveResponse):
+ (WebCore::InspectorConsoleAgent::didFailLoading):
+ (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
+ (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
+ (WebCore::InspectorConsoleAgent::addConsoleMessage):
+ * inspector/InspectorConsoleAgent.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ * inspector/InspectorController.h:
+ * inspector/InspectorDatabaseAgent.cpp:
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::create):
+ (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
+ (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
+ (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
+ (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
+ (WebCore::InspectorDebuggerAgent::currentCallFrames):
+ * inspector/InspectorDebuggerAgent.h:
+ * inspector/InspectorFileSystemAgent.cpp:
+ (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
+ (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
+ (WebCore::InspectorFileSystemAgent::stop):
+ (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
+ (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
+ (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
+ * inspector/InspectorFileSystemAgent.h:
+ (WebCore::InspectorFileSystemAgent::create):
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::setExtensionAPI):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::create):
+ (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
+ (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
+ (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
+ (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
+ (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
+ * inspector/InspectorProfilerAgent.h:
+
+2011-01-22 Chris Rogers <crogers@google.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Fix FFTFrameStub to compile properly
+ https://bugs.webkit.org/show_bug.cgi?id=52969
+
+ No new tests since this is a build fix.
+
+ * platform/audio/FFTFrameStub.cpp:
+ (WebCore::FFTFrame::FFTFrame):
+
+2011-01-22 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ IndexedDB corrupts data on disk
+ https://bugs.webkit.org/show_bug.cgi?id=52890
+
+ We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
+ Test: storage/indexeddb/data-corruption.html
+
+ * platform/sql/SQLiteStatement.cpp:
+ (WebCore::SQLiteStatement::bindBlob):
+ (WebCore::SQLiteStatement::getColumnBlobAsString):
+ (WebCore::SQLiteStatement::getColumnBlobAsVector):
+ * platform/sql/SQLiteStatement.h:
+ * storage/IDBCursorBackendImpl.cpp:
+ (WebCore::IDBCursorBackendImpl::loadCurrentRow):
+ * storage/IDBFactoryBackendImpl.cpp:
+ (WebCore::runCommands):
+ (WebCore::createTables):
+ (WebCore::createMetaDataTable):
+ (WebCore::migrateDatabase):
+ * storage/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::getInternal):
+ (WebCore::putObjectStoreData):
+
+2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed. Fix WinCE build.
+
+ * platform/graphics/wince/GraphicsContextWinCE.cpp:
+ (WebCore::GraphicsContext::drawText):
+ * rendering/RenderThemeWinCE.cpp:
+ (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
+
+2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ REGRESSION: Vertical line metrics incorrect
+ https://bugs.webkit.org/show_bug.cgi?id=52960
+
+ SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
+ That didn't influence the lineSpacing so far, but does now, causing regressions.
+
+ Restore old line spacing behaviour to fix the regression.
+ Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
+
+ * platform/graphics/FontMetrics.h:
+ (WebCore::FontMetrics::FontMetrics):
+ (WebCore::FontMetrics::floatLineSpacing):
+ (WebCore::FontMetrics::setLineSpacing):
+ (WebCore::FontMetrics::lineSpacing):
+ (WebCore::FontMetrics::reset):
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData):
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/pango/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::initGDIFont):
+ * platform/graphics/wince/SimpleFontDataWinCE.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformInit):
+
+2011-01-22 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] fast/backgrounds/svg-as-mask.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=52906
+
+ Transparency layers should start out with in SourceOver mode with
+ alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
+
+ * platform/graphics/qt/TransparencyLayer.h:
+ (WebCore::TransparencyLayer::TransparencyLayer):
+
+2011-01-22 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed.
+
+ Introduce FontMetrics abstraction
+ https://bugs.webkit.org/show_bug.cgi?id=51456
+
+ Fix Chromium/Win build.
+
+ * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
+ (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
+
+2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Introduce FontMetrics abstraction
+ https://bugs.webkit.org/show_bug.cgi?id=51456
+
+ Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
+ having to define them in both Font & SimpleFontData. Changed to store floating point values
+ as default, in order to get accurate information for small sized fonts. All these methods
+ now have floating-point and integer versions. Whenever an integer variant of these functions
+ is called, lroundf() is used to round the value.
+
+ This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
+ as fixing rounding issues when using SVG Fonts.
+
+ Shouldn't affect existing tests.
+
+ * GNUmakefile.am: Add FontMetrics.h to build.
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
+ (baselinePositionForAccessibilityRenderObject):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::computeLengthDouble):
+ * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ * inspector/InspectorController.cpp: Ditto.
+ (WebCore::InspectorController::drawElementTitle):
+ * platform/chromium/PopupMenuChromium.cpp: Ditto.
+ (WebCore::PopupListBox::paintRow):
+ (WebCore::PopupListBox::getRowHeight):
+ * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
+ (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
+ * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
+ (WebCore::Font::emphasisMarkAscent):
+ (WebCore::Font::emphasisMarkDescent):
+ (WebCore::Font::emphasisMarkHeight):
+ (WebCore::Font::floatWidthForSimpleText):
+ * platform/graphics/FontMetrics.h: Added.
+ (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
+ (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
+ (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
+ (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
+ (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
+ (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
+ (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
+ (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
+ (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
+ (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
+ (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
+ (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
+ (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
+ (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
+ (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
+ (WebCore::FontMetrics::descent): Ditto (for descent).
+ (WebCore::FontMetrics::height): Returns ascent() + descent().
+ (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
+ (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
+ (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
+ * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
+ (WebCore::SimpleFontData::SimpleFontData):
+ (WebCore::SimpleFontData::initCharWidths):
+ * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
+ (WebCore::SimpleFontData::fontMetrics):
+ (WebCore::SimpleFontData::avgCharWidth):
+ * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
+ (WebCore::Font::drawComplexText):
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object.
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto.
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics.
+ (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
+ (WebCore::UniscribeHelperTextRun::nextWinFontData):
+ * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object.
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto.
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics.
+ (WebCore::Font::floatWidthForComplexText):
+ * platform/graphics/mac/FontMac.mm: Ditto.
+ (WebCore::showGlyphsWithAdvances):
+ * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object.
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.)
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics.
+ (WebCore::drawGDIGlyphs):
+ * platform/graphics/win/FontWin.cpp: Ditto.
+ (WebCore::Font::floatWidthForComplexText):
+ * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object.
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto.
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
+ (WebCore::SimpleFontData::initGDIFont):
+ * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics.
+ (WebCore::GraphicsContext::drawText):
+ * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object.
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
+ (WebCore::SimpleFontData::platformInit):
+ * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
+ (WebCore::PopupMenuWin::calculatePositionAndSize):
+ (WebCore::PopupMenuWin::paint):
+ * rendering/EllipsisBox.cpp: Ditto.
+ (WebCore::EllipsisBox::paint):
+ (WebCore::EllipsisBox::nodeAtPoint):
+ * rendering/InlineBox.cpp: Ditto.
+ (WebCore::InlineBox::logicalHeight):
+ * rendering/InlineFlowBox.cpp: Ditto.
+ (WebCore::verticalPositionForBox):
+ (WebCore::InlineFlowBox::computeLogicalBoxHeights):
+ (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
+ * rendering/InlineTextBox.cpp: Ditto.
+ (WebCore::InlineTextBox::paint):
+ (WebCore::InlineTextBox::paintDecoration):
+ (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
+ (WebCore::InlineTextBox::paintCompositionUnderline):
+ * rendering/RenderBlock.cpp: Ditto.
+ (WebCore::RenderBlock::baselinePosition):
+ (WebCore::RenderBlock::firstLineBoxBaseline):
+ (WebCore::RenderBlock::lastLineBoxBaseline):
+ * rendering/RenderBox.cpp: Ditto.
+ (WebCore::RenderBox::localCaretRect):
+ * rendering/RenderEmbeddedObject.cpp: Ditto.
+ (WebCore::RenderEmbeddedObject::paintReplaced):
+ * rendering/RenderImage.cpp: Ditto.
+ (WebCore::RenderImage::setImageSizeForAltText):
+ (WebCore::RenderImage::paintReplaced):
+ * rendering/RenderInline.cpp: Ditto.
+ (WebCore::RenderInline::baselinePosition):
+ * rendering/RenderListBox.cpp: Ditto.
+ (WebCore::RenderListBox::paintItemForeground):
+ (WebCore::RenderListBox::itemHeight):
+ * rendering/RenderListMarker.cpp: Ditto.
+ (WebCore::RenderListMarker::paint):
+ (WebCore::RenderListMarker::layout):
+ (WebCore::RenderListMarker::computePreferredLogicalWidths):
+ (WebCore::RenderListMarker::updateMargins):
+ (WebCore::RenderListMarker::getRelativeMarkerRect):
+ * rendering/RenderTextControl.cpp: Ditto.
+ (WebCore::RenderTextControl::paintPlaceholder):
+ * rendering/RenderTextControlSingleLine.cpp: Ditto.
+ (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
+ * rendering/RenderThemeWin.cpp: Ditto.
+ (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
+ * rendering/mathml/RenderMathMLFraction.cpp: Ditto.
+ (WebCore::RenderMathMLFraction::baselinePosition):
+ * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor.
+ (WebCore::InheritedFlags::fontMetrics):
+ (WebCore::InheritedFlags::computedLineHeight):
+ * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
+ (WebCore::RenderSVGInlineText::positionForPoint):
+ * rendering/svg/SVGInlineTextBox.cpp: Ditto.
+ (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
+ (WebCore::positionOffsetForDecoration):
+ (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
+ (WebCore::SVGInlineTextBox::paintTextWithShadows):
+ (WebCore::SVGInlineTextBox::calculateBoundaries):
+ * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto.
+ (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
+ (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
+ (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
+ * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto.
+ (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
+ * rendering/svg/SVGTextMetrics.cpp: Ditto.
+ (WebCore::SVGTextMetrics::SVGTextMetrics):
+ * rendering/svg/SVGTextQuery.cpp: Ditto.
+ (WebCore::calculateGlyphBoundaries):
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm.
+ * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
+ (WebCore::SVGLength::convertValueFromUserUnitsToEXS):
+ (WebCore::SVGLength::convertValueFromEXSToUserUnits):
+
+2011-01-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
+ https://bugs.webkit.org/show_bug.cgi?id=52759
+
+ Stopped instantiating legacy editing positions in the following files.
+
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
+ * editing/visible_units.cpp:
+ (WebCore::previousBoundary):
+ (WebCore::previousLinePosition):
+ (WebCore::nextLinePosition):
+ (WebCore::startOfBlock):
+ * page/Frame.cpp:
+ (WebCore::Frame::visiblePositionForPoint):
+ * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
+ * rendering/RenderBlock.h: Ditto.
+
+2011-01-22 Adrienne Walker <enne@google.com>
+
+ Reviewed by James Robinson.
+
+ [chromium] Fix compositor repaints for offscreen fixed elements
+ https://bugs.webkit.org/show_bug.cgi?id=52681
+
+ The fast path scrolling was clipping offscreen invalidations.
+ Additionally, the compositor was ignoring all invalidations that were
+ entirely out of the content rect.
+
+ Test: compositing/ to verify this caused no regressions.
+ Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollContentsFastPath):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::invalidateRootLayerRect):
+
+2011-01-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52951
+ WebKit2 generates a bad PDF for cross process messaging
+
+ * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
+ draw inside the requested rectangle.
+
+2011-01-21 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Regression: new window.onerror() implementation leaks cross-origin Javascript errors
+ https://bugs.webkit.org/show_bug.cgi?id=52903
+
+ In case of an exception in a script from different domain only generic message
+ will be passed to window.onerror hander.
+
+ Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
+ http/tests/security/cross-origin-script-window-onerror.html
+
+ * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all
+ cross origin checks agains real script URL, not the original URL which may have resulted in a sequence
+ of redirects to different domains.
+ (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
+ * bindings/v8/ScriptSourceCode.h: same for v8.
+ (WebCore::ScriptSourceCode::url):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot
+ access provide concise "Script error." message without any information about the error source. This is
+ what Firefox does in this case.
+
+2011-01-21 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Always set composition mode through GraphicsContext
+ https://bugs.webkit.org/show_bug.cgi?id=52940
+
+ GraphicsContext tracks the current composition mode so we should
+ never call through to the QPainter directly.
+
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::toQtCompositionMode): Changed this method to a static inline
+ since it's only used by GraphicsContextQt.cpp now.
+
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::Image::drawPattern):
+ (WebCore::BitmapImage::draw):
+
+2011-01-21 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Inconsistent handling of no-break space in justification logic
+ https://bugs.webkit.org/show_bug.cgi?id=52938
+
+ Test: fast/text/justify-nbsp.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a
+ space when computing the distribution of space between text boxes on the line.
+
2011-01-21 Charlie Reis <creis@chromium.org>
Reviewed by Darin Fisher.