2010-05-17 MORITA Hajime Reviewed by Kent Tamura. [Chromium] Windows: Speed of indeterminate progress bar should be constant https://bugs.webkit.org/show_bug.cgi?id=39211 No new tests, animation effect can be confirmed only manually. * rendering/RenderThemeChromiumWin.cpp: (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar): (WebCore::RenderThemeChromiumWin::paintProgressBar): 2010-05-17 Drew Wilson Unreviewed build fix for Qt and Chromium. https://bugs.webkit.org/show_bug.cgi?id=39147 * page/Frame.h: Now includes CSSMutableStyleDeclaration.h. 2010-05-17 Simon Fraser Reviewed by Darin Adler. Remove unused member member from Document https://bugs.webkit.org/show_bug.cgi?id=39251 Remove m_associatedHistoryItems from Document; it is never used. * dom/Document.h: 2010-05-17 Darin Adler Fix Qt build. * page/Frame.cpp: (WebCore::Frame::setTypingStyle): Move back to make non-inline. * page/Frame.h: Removed inline version of setTypingStyle. 2010-05-14 Darin Adler Reviewed by Brady Eidson. Frame has many trivial member functions that should be inlined https://bugs.webkit.org/show_bug.cgi?id=39147 * WebCore.base.exp: Export the functions that are now inlined. * page/Frame.cpp: (WebCore::Frame::removeEditingStyleFromBodyElement): Removed the body of this function. * page/Frame.h: (WebCore::Frame::init): Moved here from .cpp. (WebCore::Frame::loader): Ditto. (WebCore::Frame::redirectScheduler): Ditto. (WebCore::Frame::view): Ditto. (WebCore::Frame::script): Ditto. (WebCore::Frame::document): Ditto. (WebCore::Frame::selection): Ditto. (WebCore::Frame::editor): Ditto. (WebCore::Frame::animation): Ditto. (WebCore::Frame::mark): Ditto. (WebCore::Frame::setMark): Ditto. (WebCore::Frame::zoomFactor): Ditto. (WebCore::Frame::jsStatusBarText): Ditto. (WebCore::Frame::jsDefaultStatusBarText): Ditto. (WebCore::Frame::needsReapplyStyles): Ditto. (WebCore::Frame::typingStyle): Ditto. (WebCore::Frame::setTypingStyle): Ditto. (WebCore::Frame::clearTypingStyle): Ditto. (WebCore::Frame::ownerElement): Ditto. (WebCore::Frame::isDisconnected): Ditto. (WebCore::Frame::setIsDisconnected): Ditto. (WebCore::Frame::excludeFromTextSearch): Ditto. (WebCore::Frame::setExcludeFromTextSearch): Ditto. (WebCore::Frame::inViewSourceMode): Ditto. (WebCore::Frame::setInViewSourceMode): Ditto. (WebCore::Frame::markedTextMatchesAreHighlighted): Ditto. (WebCore::Frame::tree): Ditto. (WebCore::Frame::page): Ditto. (WebCore::Frame::detachFromPage): Ditto. (WebCore::Frame::eventHandler): Ditto. (WebCore::Frame::shouldClose): Ditto. 2010-05-17 Anders Carlsson Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=39247 Move rarely used data members to the rare structures, thus saving memory. Move rarely used member variables from StyleInheritedData and StyleVisualData to StyleRareInheritedData and StyleRareNonInheritedData, namely: indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData. m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::diff): (WebCore::RenderStyle::addCursor): (WebCore::RenderStyle::setCursorList): (WebCore::RenderStyle::clearCursorList): * rendering/style/RenderStyle.h: (WebCore::InheritedFlags::textIndent): (WebCore::InheritedFlags::effectiveZoom): (WebCore::InheritedFlags::counterIncrement): (WebCore::InheritedFlags::counterReset): (WebCore::InheritedFlags::cursors): (WebCore::InheritedFlags::widows): (WebCore::InheritedFlags::orphans): (WebCore::InheritedFlags::setTextIndent): (WebCore::InheritedFlags::setEffectiveZoom): (WebCore::InheritedFlags::setCounterIncrement): (WebCore::InheritedFlags::setCounterReset): (WebCore::InheritedFlags::setWidows): (WebCore::InheritedFlags::setOrphans): * rendering/style/StyleInheritedData.cpp: (WebCore::StyleInheritedData::StyleInheritedData): (WebCore::StyleInheritedData::operator==): * rendering/style/StyleInheritedData.h: * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::cursorDataEquivalent): (WebCore::StyleRareInheritedData::operator==): * rendering/style/StyleRareInheritedData.h: * rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator==): * rendering/style/StyleRareNonInheritedData.h: * rendering/style/StyleVisualData.cpp: (WebCore::StyleVisualData::StyleVisualData): * rendering/style/StyleVisualData.h: (WebCore::StyleVisualData::operator==): 2010-05-17 Robert Hogan Rubber-stamped by Eric Seidel. Fix --no-svg build. I have no idea where the SVG-dependent include of this file is hidden, but it is probably better to include it explicitly anyway like V8WorkerContextCustom.cpp. * bindings/js/JSWorkerContextCustom.cpp: 2010-05-17 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=39231 Fix failures in the RTL portion of fast/multicol/layers-in-multicol.html. Make sure block children of RTL blocks are positioned using the reduced column width instead of the total content width. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::determineHorizontalPosition): (WebCore::RenderBlock::nodeAtPoint): (WebCore::RenderBlock::hitTestContents): (WebCore::RenderBlock::adjustForColumns): 2010-05-17 Jakob Petsovits Reviewed by George Staikos. [OpenVG] Add support for decoding and drawing images https://bugs.webkit.org/show_bug.cgi?id=36072 OpenVG has a maximum image size (how large is specific to the OpenVG implementation), so this requires us to store them as separate image tiles. Image decoding and initial drawing code by Adam Treat . Image decoder downsampling support by Yong Li . * platform/graphics/ImageSource.h: * platform/graphics/openvg/ImageOpenVG.cpp: Added. (WebCore::FrameData::clear): (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::checkForSolidColor): (WebCore::BitmapImage::initPlatformData): (WebCore::BitmapImage::invalidatePlatformData): (WebCore::adjustSourceRectForDownSampling): (WebCore::BitmapImage::draw): (WebCore::Image::drawPattern): (WebCore::Image::loadPlatformResource): * platform/graphics/openvg/PainterOpenVG.cpp: (WebCore::PainterOpenVG::drawImage): (WebCore::PainterOpenVG::asNewNativeImage): * platform/graphics/openvg/PainterOpenVG.h: * platform/graphics/openvg/TiledImageOpenVG.cpp: Added. (WebCore::TiledImageOpenVG::TiledImageOpenVG): (WebCore::TiledImageOpenVG::operator=): (WebCore::TiledImageOpenVG::~TiledImageOpenVG): (WebCore::TiledImageOpenVG::numTiles): (WebCore::TiledImageOpenVG::numColumns): (WebCore::TiledImageOpenVG::numRows): (WebCore::TiledImageOpenVG::setTile): (WebCore::TiledImageOpenVG::tilesInRect): (WebCore::TiledImageOpenVG::tile): (WebCore::TiledImageOpenVG::tileRect): (WebCore::TiledImageOpenVG::detachTiles): (WebCore::TiledImageOpenVG::destroyTiles): * platform/graphics/openvg/TiledImageOpenVG.h: Added. (WebCore::TiledImageOpenVG::size): (WebCore::TiledImageOpenVG::maxTileSize): * platform/graphics/openvg/VGUtils.cpp: (WebCore::VGUtils::bytesForImage): (WebCore::VGUtils::bytesForImageScanline): (WebCore::VGUtils::imageFormatBitsPerPixel): (WebCore::VGUtils::endianAwareImageFormat): * platform/graphics/openvg/VGUtils.h: * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added. (WebCore::RGBA32Buffer::asNewNativeImage): 2010-05-17 Yaar Schnitman Reviewed by Darin Adler. Fix JSC's generation of 'Optional' arguments. When a single 'Optional' extended attribute precedes multiple method arguments, all of these arguments are optional as a group (either all or non must be specified). This fix, which makes JSC compliant with V8 and with the Web IDL specs, is pretty harmless, since Optional is currently not being used anywhere in JSC, but it blocks further work on overloads. https://bugs.webkit.org/show_bug.cgi?id=39227 * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): 2010-05-16 Sam Weinig Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=39192 Remove unused PERFECT_HASH code CodeGeneratorJS. * bindings/scripts/CodeGeneratorJS.pm: 2010-05-17 Jeremy Moskovich Reviewed by Jeremy Orlow. Remove debug code that was introduced to help narrow down the source of a crash. https://bugs.webkit.org/show_bug.cgi?id=36426 No change in behavior, so no new tests. * loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument): 2010-05-17 Andreas Kling Reviewed by Kenneth Rohde Christiansen. Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed. Changed createImageData(width, height) to use the absolute values of width and height. https://bugs.webkit.org/show_bug.cgi?id=39189 Spec link: http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata Test: fast/canvas/canvas-createImageData.html * bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::JSCanvasRenderingContext2D::createImageData): * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createImageData): * html/canvas/CanvasRenderingContext2D.h: * html/canvas/CanvasRenderingContext2D.idl: 2010-05-17 Antti Koivisto This was missing from previous commit. * platform/qt/QWebPageClient.h: (QWebPageClient::graphicsItemVisibleRect): 2010-05-17 Antti Koivisto Reviewed by Kenneth Rohde Christiansen. https://bugs.webkit.org/show_bug.cgi?id=39218 [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation Tiles sometimes flicker when exiting a zoom animation. This happens as a result of the visible rectangle being momentarily out of sync. Instead of updating the visible rect by explicitly setting it, pull it through the client and recompute in the WebKit level. * page/ChromeClient.h: (WebCore::ChromeClient::visibleRectForTiledBackingStore): * page/Frame.cpp: (WebCore::Frame::tiledBackingStoreVisibleRect): * page/Frame.h: * platform/graphics/TiledBackingStore.cpp: (WebCore::TiledBackingStore::checkVisibleRectChanged): (WebCore::TiledBackingStore::createTiles): * platform/graphics/TiledBackingStore.h: * platform/graphics/TiledBackingStoreClient.h: 2010-05-15 Adam Roben Periodically try to reset a lost IDirect3DDevice9 until we succeed This is how MSDN says we must respond to a lost device (see ). Only testable by a manual test, unfortunately. Fixes Pages that use hardware acceleration don't repaint after waking computer from sleep Reviewed by John Sullivan. * manual-tests/no-repaint-after-wake-from-sleep.html: Added. This is the Poster Circle demo from webkit.org/blog, but with instructions for putting the computer to sleep and waking it up again. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Initialize new member that tells us whether we need to try to reset the device before rendering. (WebCore::WKCACFLayerRenderer::resize): Changed to tell resetDevice the reason why the device needs to be reset (which is because the window's size has changed). (WebCore::WKCACFLayerRenderer::render): Before we do anything else, check if we need to reset the device before rendering. If we do, try to reset it. If that fails, bail out and set a timer to try again later. If we discover that the device is lost when calling IDirect3DDevice9::Present and resetting the device fails, bail out and set a timer to try again later. (WebCore::WKCACFLayerRenderer::resetDevice): Changed to return a boolean indicating whether resetting succeeded or not. Added a ResetReason parameter so callers can specify whey the device needs to be reset. Before trying to do anything, we call IDirect3DDevice9::TestCooperativeLevel to find out whether the device can be reset currently. If it can't, we set a flag to tell ourselves that the device must be reset before we next render, and indicate to the caller that the reset failed. If we thought the device was lost but it turns out not to be, we don't have to do anything and can tell the caller that the reset succeeded. Otherwise we go ahead and reset the device as before, and indicate to the caller that the reset succeeded. * platform/graphics/win/WKCACFLayerRenderer.h: Changed resetDevice to return a boolean and take a ResetReason parameter. Added a comment about when and why this function should be called. And added m_mustResetLostDeviceBeforeRendering. 2010-05-15 Adam Roben Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset MSDN says that all resoures allocated with D3DPOOL_DEFAULT must be destroyed before calling IDirect3DDevice9::Reset. The only way to guarantee this with Core Animation is to call CARenderOGLPurge. Unfortunately this isn't testable at the moment, as we don't use any features of Core Animation (e.g., mask layers) that actually make this required. But it seems like a good idea to fix the code now so that if/when we do start using those features we won't run into problems. Fixes WKCACFLayerRenderer::resetDevice might fail due to failing to destroy all D3DPOOL_DEFAULT resources Reviewed by John Sullivan. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::render): Moved the call to CARenderOGLPurge from here... (WebCore::WKCACFLayerRenderer::resetDevice): ...to here, so that it will be called whenever we reset the device (e.g., when resizing the window). 2010-05-17 Gustavo Noronha Silva Rubber-stamped by Xan Lopez. Build fix. Remove bashism from build system. * GNUmakefile.am: 2010-05-17 Sheriff Bot Unreviewed, rolling out r59483. http://trac.webkit.org/changeset/59483 https://bugs.webkit.org/show_bug.cgi?id=39215 "page_cycler_intl1 regression on Linux" (Requested by yurys on #webkit). * platform/chromium/ChromiumBridge.h: * platform/graphics/chromium/FontCacheLinux.cpp: (WebCore::FontCache::getFontDataForCharacters): 2010-05-17 Kenneth Rohde Christiansen Reviewed by Laszlo Gombos. REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized Patch declared a variable index, which shadowed an earlier declared variable. * bridge/qt/qt_class.cpp: (JSC::Bindings::QtClass::fallbackObject): 2010-05-14 Andrei Popescu Reviewed by Jeremy Orlow. IDBRequest is not a proper ActiveDomObject https://bugs.webkit.org/show_bug.cgi?id=39001 Add IDBRequest interface to the IsActiveDomType routine of the CodeGeneratorV8.pm. Rename IDBRequest::m_stopped to m_suspended and reset the flag when resume() is called. No new tests, Indexed Database isn't yet testable. * bindings/scripts/CodeGeneratorV8.pm: * storage/IDBRequest.cpp: (WebCore::IDBRequest::suspend): (WebCore::IDBRequest::resume): (WebCore::IDBRequest::timerFired): (WebCore::IDBRequest::onEventCommon): * storage/IDBRequest.h: 2010-05-17 Xan Lopez Do not include the indexed database headers if the feature is not enabled. Should fix the build in GTK+. * bindings/js/JSEventCustom.cpp: 2010-05-17 Xan Lopez Try to fix GTK+ build. * GNUmakefile.am: 2010-05-14 Jeremy Orlow Reviewed by Nate Chapin. Finish up IndexedDB events https://bugs.webkit.org/show_bug.cgi?id=39117 Implement the indexed database event interfaces as proposed by Mozilla. Refactor the run time type detection code that was in IDBRequest into its own class named IDBAny. Use this new class within the new event classes and IDBResults. Test: storage/indexeddb/basics.html * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventTarget.cpp: (WebCore::toJS): * bindings/js/JSIDBAnyCustom.cpp: Added. (WebCore::toJS): * bindings/js/JSIDBRequestCustom.cpp: Removed. * bindings/v8/custom/V8EventCustom.cpp: (WebCore::toV8): * bindings/v8/custom/V8IDBAnyCustom.cpp: Added. (WebCore::toV8): * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed. * dom/Event.cpp: (WebCore::Event::isIDBErrorEvent): (WebCore::Event::isIDBSuccessEvent): * dom/Event.h: * storage/IDBAny.cpp: Added. (WebCore::IDBAny::create): (WebCore::IDBAny::IDBAny): (WebCore::IDBAny::~IDBAny): (WebCore::IDBAny::idbDatabaseRequest): (WebCore::IDBAny::indexedDatabaseRequest): (WebCore::IDBAny::serializedScriptValue): (WebCore::IDBAny::set): * storage/IDBAny.h: Added. (WebCore::IDBAny::): (WebCore::IDBAny::type): * storage/IDBAny.idl: Added. * storage/IDBErrorEvent.cpp: Added. (WebCore::IDBErrorEvent::create): (WebCore::IDBErrorEvent::IDBErrorEvent): (WebCore::IDBErrorEvent::~IDBErrorEvent): * storage/IDBErrorEvent.h: Added. (WebCore::IDBErrorEvent::code): (WebCore::IDBErrorEvent::message): (WebCore::IDBErrorEvent::isIDBErrorEvent): * storage/IDBErrorEvent.idl: Added. * storage/IDBEvent.cpp: Added. (WebCore::IDBEvent::IDBEvent): (WebCore::IDBEvent::~IDBEvent): (WebCore::IDBEvent::source): * storage/IDBEvent.h: Added. * storage/IDBEvent.idl: Added. * storage/IDBRequest.cpp: (WebCore::IDBRequest::IDBRequest): (WebCore::IDBRequest::onSuccess): (WebCore::IDBRequest::timerFired): (WebCore::IDBRequest::onEventCommon): * storage/IDBRequest.h: (WebCore::IDBRequest::create): (WebCore::IDBRequest::result): * storage/IDBRequest.idl: * storage/IDBSuccessEvent.cpp: Added. (WebCore::IDBSuccessEvent::create): (WebCore::IDBSuccessEvent::IDBSuccessEvent): (WebCore::IDBSuccessEvent::~IDBSuccessEvent): (WebCore::IDBSuccessEvent::result): * storage/IDBSuccessEvent.h: Added. (WebCore::IDBSuccessEvent::isIDBSuccessEvent): * storage/IDBSuccessEvent.idl: Added. * storage/IndexedDatabaseImpl.cpp: (WebCore::IndexedDatabaseImpl::open): * storage/IndexedDatabaseRequest.cpp: (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest): (WebCore::IndexedDatabaseRequest::open): * storage/IndexedDatabaseRequest.h: 2010-05-16 Chris Jerdonek Unreviewed. Removed the stray equals sign from the reviewer's name in the "Reviewed by" line of the ChangeLog entry for r59596: http://trac.webkit.org/changeset/59596 2010-05-16 Chris Jerdonek Reviewed by Adam Barth. Refactored FrameLoader::changeLocation() and urlSelected() to share more code. https://bugs.webkit.org/show_bug.cgi?id=38827 No change in behavior, so no new tests. * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeIfJavaScriptURL): - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum. * bindings/js/ScriptController.h: - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum. * bindings/v8/ScriptController.h: - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum. * loader/FrameLoader.cpp: (WebCore::FrameLoader::changeLocation): - Changed to call the new private overload of urlSelected(). (WebCore::FrameLoader::urlSelected): - Added a private overload of urlSelected(). - Changed the public urlSelected() to call the private overload. (WebCore::FrameLoader::submitForm): * loader/FrameLoader.h: - Added a private overload of urlSelected(). * loader/FrameLoaderTypes.h: - Added a ShouldReplaceDocumentIfJavaScriptURL enum. 2010-05-16 Daniel Bates Reviewed by David Hyatt. https://bugs.webkit.org/show_bug.cgi?id=39196 Rollout changeset 59274 . Prepared on behalf of David Hyatt. "Not worth the memory use." Just roll this out. * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * editing/visible_units.cpp: (WebCore::previousLinePosition): (WebCore::nextLinePosition): * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): (WebCore::EllipsisBox::selectionRect): (WebCore::EllipsisBox::paintSelection): (WebCore::EllipsisBox::nodeAtPoint): * rendering/EllipsisBox.h: (WebCore::EllipsisBox::EllipsisBox): (WebCore::EllipsisBox::height): * rendering/InlineBox.cpp: (WebCore::InlineBox::height): (WebCore::InlineBox::adjustPosition): (WebCore::InlineBox::canAccommodateEllipsis): * rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): (WebCore::InlineBox::isInlineBox): (WebCore::InlineBox::hasVirtualHeight): (WebCore::InlineBox::setHasVirtualHeight): (WebCore::InlineBox::virtualHeight): (WebCore::InlineBox::setWidth): (WebCore::InlineBox::width): (WebCore::InlineBox::setX): (WebCore::InlineBox::x): (WebCore::InlineBox::setY): (WebCore::InlineBox::y): (WebCore::InlineBox::baselinePosition): (WebCore::InlineBox::lineHeight): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::computeVerticalOverflow): (WebCore::InlineFlowBox::nodeAtPoint): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask): (WebCore::InlineFlowBox::paintTextDecorations): * rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::visibleOverflowRect): (WebCore::InlineFlowBox::topLayoutOverflow): (WebCore::InlineFlowBox::bottomLayoutOverflow): (WebCore::InlineFlowBox::leftLayoutOverflow): (WebCore::InlineFlowBox::rightLayoutOverflow): (WebCore::InlineFlowBox::layoutOverflowRect): (WebCore::InlineFlowBox::topVisualOverflow): (WebCore::InlineFlowBox::bottomVisualOverflow): (WebCore::InlineFlowBox::leftVisualOverflow): (WebCore::InlineFlowBox::rightVisualOverflow): (WebCore::InlineFlowBox::visualOverflowRect): (WebCore::InlineFlowBox::setHorizontalOverflowPositions): (WebCore::InlineFlowBox::setVerticalOverflowPositions): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::nodeAtPoint): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::computeRectForReplacementMarker): (WebCore::InlineTextBox::paintCompositionUnderline): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset): * rendering/InlineTextBox.h: (WebCore::InlineTextBox::setSpaceAdd): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForPointWithInlineChildren): * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeVerticalPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren): * rendering/RenderSVGInline.cpp: (WebCore::RenderSVGInline::createInlineFlowBox): * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::createTextBox): * rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::createRootInlineBox): * rendering/RenderText.cpp: (WebCore::RenderText::positionForPoint): (WebCore::RenderText::firstRunX): (WebCore::RenderText::firstRunY): * rendering/RenderTreeAsText.cpp: (WebCore::writeTextRun): * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::placeEllipsis): (WebCore::RootInlineBox::addHighlightOverflow): (WebCore::RootInlineBox::closestLeafChildForXPos): * rendering/SVGInlineFlowBox.h: (WebCore::SVGInlineFlowBox::SVGInlineFlowBox): (WebCore::SVGInlineFlowBox::virtualHeight): (WebCore::SVGInlineFlowBox::setHeight): * rendering/SVGInlineTextBox.h: (WebCore::SVGInlineTextBox::virtualHeight): (WebCore::SVGInlineTextBox::setHeight): (WebCore::SVGInlineTextBox::selectionTop): (WebCore::SVGInlineTextBox::selectionHeight): * rendering/SVGRootInlineBox.h: (WebCore::SVGRootInlineBox::SVGRootInlineBox): (WebCore::SVGRootInlineBox::virtualHeight): (WebCore::SVGRootInlineBox::setHeight): * rendering/TrailingFloatsRootInlineBox.h: Added. (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): (WebCore::TrailingFloatsRootInlineBox::virtualHeight): 2010-05-13 Tony Chang Reviewed by Darin Adler. REGRESSION: Crash by pasting to a textarea with white-space:nowrap https://bugs.webkit.org/show_bug.cgi?id=38992 Test: editing/pasteboard/paste-plaintext-nowrap.html * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::highestVisuallyEquivalentDivBelowRoot): (WebCore::InsertParagraphSeparatorCommand::doApply): 2010-05-16 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=39194 Fix all of the multi-column painting and hit testing functions to properly account for RTL directionality. Added fast/multicol/column-count-with-rules.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintColumnRules): (WebCore::RenderBlock::paintColumnContents): (WebCore::RenderBlock::hitTestColumns): (WebCore::RenderBlock::adjustRectForColumns): 2010-05-16 Dan Bernstein Reviewed by Dave Hyatt. Fix SVG test failures after r59588. Updated SVG InlineBox virtual method overrides to match HTML ones. Removed SVGInlineFlowBox::verticallyAlignBoxes() since InlineFlowBox no longer declares verticallyAlignBoxes(). * rendering/SVGInlineFlowBox.cpp: (WebCore::SVGInlineFlowBox::placeBoxesHorizontally): * rendering/SVGInlineFlowBox.h: * rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::placeBoxesHorizontally): (WebCore::SVGRootInlineBox::verticallyAlignBoxes): * rendering/SVGRootInlineBox.h: 2010-05-16 Dan Bernstein Reviewed by Darin Adler. Move transient glyph overflow and fallback font data from a global to the stack https://bugs.webkit.org/show_bug.cgi?id=39050 * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Added a GlyphOverflowAndFallbackFontsMap parameter. Read glyph overflow from the map. (WebCore::InlineFlowBox::computeLogicalBoxHeights): Added a GlyphOverflowAndFallbackFontsMap parameter. Read fallback fonts from the map. (WebCore::InlineFlowBox::computeVerticalOverflow): Added a GlyphOverflowAndFallbackFontsMap parameter. Read glyph overflow from the map. * rendering/InlineFlowBox.h: * rendering/InlineTextBox.cpp: Removed setFallbackFonts(), fallbackFonts(), setGlyphOverflow(), and glyphOverflow(). Removed s_glyphOverflowAndFallbackFontsMap. * rendering/InlineTextBox.h: * rendering/RenderBlock.h: * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap parameter. Write fallback fonts and glyph overflow into the map. (WebCore::RenderBlock::computeVerticalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap parameter. Pass it down to verticallyAlignBoxes(). (WebCore::RenderBlock::layoutInlineChildren): Create a GlyphOverflowAndFallbackFontsMap on the stack and pass it down to computeHorizontalPositionsForLine(), computeVerticalPositionsForLine(), and verticallyAlignBoxes(). * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::verticallyAlignBoxes): Added a GlyphOverflowAndFallbackFontsMap parameter. Pass it down to computeLogicalBoxHeights() and computeVerticalOverflow(). * rendering/RootInlineBox.h: * rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::layoutInlineBoxes): Updated. 2010-05-12 Tony Chang Reviewed by Darin Adler. Spellcheck disabling does not disable context menu https://bugs.webkit.org/show_bug.cgi?id=25639 Test: editing/spelling/context-menu-suggestions.html * platform/ContextMenu.cpp: (WebCore::ContextMenu::populate): 2010-05-16 Sam Weinig Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=39190 Shave a word off of GlyphPageTreeNode * platform/graphics/GlyphPageTreeNode.h: (WebCore::GlyphPageTreeNode::GlyphPageTreeNode): 2010-05-16 Andreas Kling Reviewed by Kenneth Rohde Christiansen. Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData(). Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments. getImageData() should throw INDEX_SIZE_ERR if either width or height is 0. https://bugs.webkit.org/show_bug.cgi?id=39175 Spec link: http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation Test: fast/canvas/canvas-getImageData-invalid.html * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createImageData): (WebCore::CanvasRenderingContext2D::getImageData): (WebCore::CanvasRenderingContext2D::putImageData): 2010-05-16 Andreas Kling Reviewed by Kenneth Rohde Christiansen. Canvas's toDataURL() should be case insensitive wrt the mimeType argument. https://bugs.webkit.org/show_bug.cgi?id=39153 Spec link: http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html * dom/CanvasSurface.cpp: (WebCore::CanvasSurface::toDataURL): 2010-05-16 Simon Fraser Reviewed by Anders Carlsson. Shrink SimpleFontData https://bugs.webkit.org/show_bug.cgi?id=39179 Change SimpleFontData to have a pointer to the m_glyphToBoundsMap, and to allocate this lazily. This reduces the size of the class from 5632 to 1536 bytes. * platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::boundsForGlyph): 2010-05-15 Simon Fraser Reviewed by Maciej Stachowiak. Reduce the size of CachedResource https://bugs.webkit.org/show_bug.cgi?id=39171 Make protected data members of CachedResource private, to allow for easier rearrangement, and hide the fact that enums are in bitfields. Rearrange the data members of CachedResource to save 32 bytes per instance in 64-bit. Also modernized the constructor code. * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::didAddClient): (WebCore::CachedCSSStyleSheet::data): (WebCore::CachedCSSStyleSheet::checkNotify): (WebCore::CachedCSSStyleSheet::error): * loader/CachedFont.cpp: (WebCore::CachedFont::load): (WebCore::CachedFont::didAddClient): (WebCore::CachedFont::data): (WebCore::CachedFont::ensureCustomFontData): (WebCore::CachedFont::ensureSVGFontData): (WebCore::CachedFont::checkNotify): (WebCore::CachedFont::error): * loader/CachedImage.cpp: (WebCore::CachedImage::CachedImage): (WebCore::CachedImage::load): (WebCore::CachedImage::didAddClient): (WebCore::CachedImage::allClientsRemoved): (WebCore::CachedImage::image): (WebCore::CachedImage::data): (WebCore::CachedImage::error): (WebCore::CachedImage::checkNotify): (WebCore::CachedImage::destroyDecodedData): * loader/CachedImage.h: (WebCore::CachedImage::stillNeedsLoad): * loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): * loader/CachedResource.h: (WebCore::CachedResource::type): (WebCore::CachedResource::preloadResult): (WebCore::CachedResource::status): (WebCore::CachedResource::setStatus): (WebCore::CachedResource::isLoaded): (WebCore::CachedResource::isLoading): (WebCore::CachedResource::setErrorOccurred): * loader/CachedScript.cpp: (WebCore::CachedScript::didAddClient): (WebCore::CachedScript::data): (WebCore::CachedScript::checkNotify): (WebCore::CachedScript::error): * loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::didAddClient): (WebCore::CachedXSLStyleSheet::data): (WebCore::CachedXSLStyleSheet::checkNotify): (WebCore::CachedXSLStyleSheet::error): 2010-05-16 Sheriff Bot Unreviewed, rolling out r59574. http://trac.webkit.org/changeset/59574 https://bugs.webkit.org/show_bug.cgi?id=39176 Supposedly broke cr-win, but the errors seems somewhat unrelated (Requested by abarth on #webkit). * platform/network/chromium/ResourceResponse.h: (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::setSecurityInfo): (WebCore::ResourceResponse::isContentFiltered): (WebCore::ResourceResponse::setIsContentFiltered): (WebCore::ResourceResponse::setAppCacheID): (WebCore::ResourceResponse::setAppCacheManifestURL): (WebCore::ResourceResponse::setWasFetchedViaSPDY): (WebCore::ResourceResponse::setIsMultipartPayload): (WebCore::ResourceResponse::setResponseTime): 2010-05-16 Dan Bernstein Reviewed by Darin Adler. Scalar types allocated on the heap due to misuse of DEFINE_STATIC_LOCAL https://bugs.webkit.org/show_bug.cgi?id=39086 Use global variables directly. * bindings/v8/ScriptCallStack.cpp: (WebCore::ScriptCallStack::createUtilityContext): * platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent): * platform/graphics/mac/ComplexTextController.cpp: (WebCore::shouldUseATSUIAPI): 2010-05-16 Andreas Kling Reviewed by Kenneth Rohde Christiansen. Canvas's getContext() must return null when called with an invalid/unsupported parameter. (HTML5 spec 4.8.11): http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext https://bugs.webkit.org/show_bug.cgi?id=39150 Test: fast/canvas/canvas-getContext-invalid.html * bindings/js/JSHTMLCanvasElementCustom.cpp: (WebCore::JSHTMLCanvasElement::getContext): * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: (WebCore::V8HTMLCanvasElement::getContextCallback): 2010-05-15 Sheriff Bot Unreviewed, rolling out r59565. http://trac.webkit.org/changeset/59565 https://bugs.webkit.org/show_bug.cgi?id=39173 Broke GTK (Requested by abarth on #webkit). * dom/CanvasSurface.cpp: (WebCore::CanvasSurface::toDataURL): 2010-05-15 Andreas Kling Reviewed by Kenneth Rohde Christiansen. Canvas's toDataURL() should be case insensitive wrt the mimeType argument. https://bugs.webkit.org/show_bug.cgi?id=39153 Spec link: http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html * dom/CanvasSurface.cpp: (WebCore::CanvasSurface::toDataURL): 2010-05-15 Anders Bakken Reviewed by Kenneth Rohde Christiansen. QObject::objectName() returns a QString and QtField::name() creates a temporary QByteArray object and returns constData() from it. This is not safe. This patch changes the signature of the function to return a QByteArray instead of const char *. https://bugs.webkit.org/show_bug.cgi?id=39010 * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getPropertyNames): (JSC::Bindings::QtField::name): * bridge/qt/qt_runtime.h: 2010-05-15 Anders Bakken Reviewed by Kenneth Rohde Christiansen. Don't unnecessarily copy data when searching for methods in QtClass. [Qt] JSValue QtClass::fallbackObject can be optimized https://bugs.webkit.org/show_bug.cgi?id=37684 * bridge/qt/qt_class.cpp: (JSC::Bindings::QtClass::fallbackObject): 2010-05-15 Anders Bakken Reviewed by Kenneth Rohde Christiansen. Identifier::ascii() is not threadsafe and shouldn't be used for converting to and from QString/QByteArray. https://bugs.webkit.org/show_bug.cgi?id=39009 * bridge/qt/qt_class.cpp: (JSC::Bindings::QtClass::fallbackObject): (JSC::Bindings::QtClass::fieldNamed): 2010-05-15 Chang Shu Reviewed by Kenneth Rohde Christiansen. Based on the spec and Philip Taylor's test suite, createImageData() should throw an INDEX_SIZE_ERR exception if either the sw or sh arguments are zero. The link to the spec: http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.imageData.getcreate.zero https://bugs.webkit.org/show_bug.cgi?id=39166 The complete test suite is in the process of checking in. https://bugs.webkit.org/show_bug.cgi?id=20553 * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createImageData): 2010-05-15 Adam Barth Reviewed by Darin Adler. XMLHttpRequest.getResponseHeader doesn't need to be custom https://bugs.webkit.org/show_bug.cgi?id=39125 I don't see any reason this method needs to be custom. No new tests because there's no behavior change. * bindings/js/JSXMLHttpRequestCustom.cpp: * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: * xml/XMLHttpRequest.idl: 2010-05-15 Adam Barth Reviewed by Darin Adler. XMLHttpRequest.setRequestHeader shouldn't be custom https://bugs.webkit.org/show_bug.cgi?id=39124 I don't see any reason why this method needs to be custom. No tests because no behavior change. * bindings/js/JSXMLHttpRequestCustom.cpp: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: (webkit_dom_test_obj_method_that_requires_all_args): (webkit_dom_test_obj_method_that_requires_all_args_and_throws): * bindings/scripts/test/GObject/WebKitDOMTestObj.h: * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): * bindings/scripts/test/JS/JSTestObj.h: * bindings/scripts/test/ObjC/DOMTestObj.h: * bindings/scripts/test/ObjC/DOMTestObj.mm: (-[DOMTestObj methodThatRequiresAllArgs:objArg:]): (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/V8/V8TestObj.cpp: (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback): (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback): (WebCore::ConfigureV8TestObjTemplate): * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: * xml/XMLHttpRequest.idl: 2010-05-14 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=39048 REGRESSION (r55802): XML errors on Google maps ("Entity 'nbsp' not defined") with JavaScript disabled Google Maps goes into mobile mode if JavaScript is disabled for some reason, and sends XHTML content with XHTML Mobile DOCTYPE. We want to handle it whether XHTMLMP is enabled or not. Test: fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml * dom/XMLTokenizerLibxml2.cpp: (WebCore::externalSubsetHandler): Restore pre-55802 behavior for builds that don't have XHTMLMP enabled. Given that r55802 negated the condition without breaking XHTMLMP, this line is actually always needed. 2010-05-15 Vangelis Kokkevis Reviewed by Darin Fisher. Fixing LayerChromium hierarchy updates where due to mixed ownership handling, sublayer updates didn't always properly update parent-to-child and child-to-parent pointers in sync. https://bugs.webkit.org/show_bug.cgi?id=39138 * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::~LayerChromium): (WebCore::LayerChromium::setNeedsCommit): Typo fix. (WebCore::LayerChromium::insertSublayer): (WebCore::LayerChromium::removeFromSuperlayer): (WebCore::LayerChromium::removeSublayer): (WebCore::LayerChromium::replaceSublayer): (WebCore::LayerChromium::removeAllSublayers): (WebCore::LayerChromium::setSublayers): * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::setSuperlayer): 2010-05-15 Andrey Kosyakov Reviewed by Timothy Hatcher. Got rid of absolute positioning in favor of flex boxes where possible. Added shadow for help window. Changed window style names to more comprehensible. https://bugs.webkit.org/show_bug.cgi?id=39120 * inspector/front-end/HelpScreen.js: (WebInspector.HelpScreen): * inspector/front-end/helpScreen.css: (.help-window-outer): (body.attached .help-window-outer): (.help-window-main): (body.attached .help-window-main): (.help-window-caption): (body.attached .help-window-caption): (.help-window-title): (.help-scrollable): (.help-close-button): (body.platform-mac .help-close-button): (body:not(.platform-mac) .help-close-button): 2010-05-15 Sheriff Bot Unreviewed, rolling out r59549. http://trac.webkit.org/changeset/59549 https://bugs.webkit.org/show_bug.cgi?id=39167 Broke Chromium build (Requested by abarth on #webkit). * bindings/scripts/CodeGeneratorV8.pm: * storage/IDBRequest.cpp: (WebCore::IDBRequest::suspend): (WebCore::IDBRequest::resume): (WebCore::IDBRequest::timerFired): (WebCore::IDBRequest::onEventCommon): * storage/IDBRequest.h: 2010-05-15 Vangelis Kokkevis Reviewed by Darin Fisher. Adding code path for composited layers (LayerChromium) containing only an Image element. https://bugs.webkit.org/show_bug.cgi?id=39142 No new tests, covered under the existing tests for composited layers. * platform/graphics/chromium/GraphicsLayerChromium.cpp: (WebCore::GraphicsLayerChromium::setContentsToImage): (WebCore::GraphicsLayerChromium::updateContentsImage): * platform/graphics/chromium/GraphicsLayerChromium.h: * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::setContents): * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::contents): 2010-05-15 Andrei Popescu Reviewed by Jeremy Orlow. IDBRequest is not a proper ActiveDomObject https://bugs.webkit.org/show_bug.cgi?id=39001 Add IDBRequest interface to the IsActiveDomType routine of the CodeGeneratorV8.pm. Rename IDBRequest::m_stopped to m_suspended and reset the flag when resume() is called. No new tests, Indexed Database isn't yet testable. * bindings/scripts/CodeGeneratorV8.pm: * storage/IDBRequest.cpp: (WebCore::IDBRequest::suspend): (WebCore::IDBRequest::resume): (WebCore::IDBRequest::timerFired): (WebCore::IDBRequest::onEventCommon): * storage/IDBRequest.h: 2010-05-15 Andrei Bucur Reviewed by Gustavo Noronha Silva. Functions using the cairo_pattern_t object returned by Pattern::createPlatformPattern sould destroy it after the painting operation. Failing to do so causes memory leaks. Test: No test was added because the patch adds no new functionality. It just completes the normal life cycle of a cairo_pattern_t object. * platform/graphics/cairo/FontCairo.cpp: (WebCore::Font::drawGlyphs): * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::setPlatformFill): (WebCore::setPlatformStroke): 2010-05-15 Yael Aharon Reviewed by Kent Tamura. Initial support for HTMLMeterElement https://bugs.webkit.org/show_bug.cgi?id=38140 This patch adds support for HTMLMeterElement, including default rendering of the meter element. That is because some platforms do not have a native gauge. The feature is turned on only for the Qt platform. Tests: fast/dom/HTMLMeterElement/meter-element.html fast/dom/HTMLMeterElement/set-meter-properties.html * DerivedSources.cpp: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): * css/CSSValueKeywords.in: * css/html.css: (meter): (meter::-webkit-meter): * html/HTMLAttributeNames.in: * html/HTMLElement.cpp: (WebCore::inlineTagList): * html/HTMLElementsAllInOne.cpp: * html/HTMLMeterElement.cpp: Added. (WebCore::HTMLMeterElement::HTMLMeterElement): (WebCore::HTMLMeterElement::create): (WebCore::HTMLMeterElement::createRenderer): (WebCore::HTMLMeterElement::formControlType): (WebCore::HTMLMeterElement::parseMappedAttribute): (WebCore::HTMLMeterElement::min): (WebCore::HTMLMeterElement::setMin): (WebCore::HTMLMeterElement::max): (WebCore::HTMLMeterElement::setMax): (WebCore::HTMLMeterElement::value): (WebCore::HTMLMeterElement::setValue): (WebCore::HTMLMeterElement::low): (WebCore::HTMLMeterElement::setLow): (WebCore::HTMLMeterElement::high): (WebCore::HTMLMeterElement::setHigh): (WebCore::HTMLMeterElement::optimum): (WebCore::HTMLMeterElement::setOptimum): * html/HTMLMeterElement.h: Added. (WebCore::HTMLMeterElement::recalcWillValidate): * html/HTMLMeterElement.idl: Added. * html/HTMLTagNames.in: * page/DOMWindow.idl: * platform/ThemeTypes.h: * rendering/RenderMeter.cpp: Added. (WebCore::RenderMeter::RenderMeter): (WebCore::RenderMeter::layout): (WebCore::RenderMeter::updateFromElement): * rendering/RenderMeter.h: Added. (WebCore::RenderMeter::renderName): (WebCore::RenderMeter::isMeter): (WebCore::toRenderMeter): * rendering/RenderObject.h: (WebCore::RenderObject::isMeter): * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::paintBorderOnly): (WebCore::RenderTheme::paintDecorations): (WebCore::RenderTheme::adjustMeterStyle): (WebCore::RenderTheme::paintMeter): * rendering/RenderTheme.h: 2010-05-15 Eric Uhrhane Reviewed by Dmitry Titov. Add bindings for async DB API in Workers. https://bugs.webkit.org/show_bug.cgi?id=34992 Tests: storage/change-version-handle-reuse-worker.html storage/execute-sql-args-worker.html * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding. (WebCore::JSWorkerContext::openDatabase): * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there. (WebCore::V8WorkerContext::openDatabaseCallback): Add NoStaticTables flags to all objects now shared with workers. * storage/Database.idl: * storage/SQLError.idl: * storage/SQLResultSet.idl: * storage/SQLResultSetRowList.idl: * storage/SQLTransaction.idl: * workers/WorkerContext.h: Add databaseExceededQuota. * workers/WorkerContext.cpp: (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now. (WebCore::WorkerContext::openDatabase): Remove invalid assertion. Add the IDL for the call to openDatabase. * workers/WorkerContext.idl: 2010-05-15 Leandro Pereira Reviewed by Adam Treat. [EFL] Add build system for the EFL port. http://webkit.org/b/37945 * CMakeLists.txt: Added. * CMakeListsEfl.txt: Added. * config.h: Add conditional to look for cmakeconfig.h. 2010-05-15 Adam Barth Reviewed by Darin Adler. Clipboard.setData doesn't need to be custom https://bugs.webkit.org/show_bug.cgi?id=39133 The implementation of the custom binding for this function was a bit different than its declaration in the IDL file. I've updated the IDL to match the implementation, but we probably should check whether our behavior is correct with respect to the specification. No tests because I've maintained our current behavior. * bindings/js/JSClipboardCustom.cpp: * bindings/v8/custom/V8ClipboardCustom.cpp: * dom/Clipboard.idl: 2010-05-15 Yaar Schnitman Reviewed by Adam Barth. V8 overload support ported to JSC. Unforking of overloaded declarations in WebGL & Canvas will be done in subsequent patches. https://bugs.webkit.org/show_bug.cgi?id=38920 Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator. * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/scripts/test/JS/JSTestCallback.cpp: (WebCore::JSTestCallback::JSTestCallback): (WebCore::JSTestCallback::~JSTestCallback): * bindings/scripts/test/JS/JSTestCallback.h: * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): (WebCore::testObjPrototypeFunctionOverloadedMethod): * bindings/scripts/test/JS/JSTestObj.h: * bindings/scripts/test/TestObj.idl: 2010-05-15 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=30500 [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail The "announcement" is now made in the form of an object attribute associated with the AtkObject. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (webkit_accessible_get_attributes): 2010-05-15 Adam Barth Reviewed by Darin Adler. Show a console message when X-Frame-Options blocks a load https://bugs.webkit.org/show_bug.cgi?id=39087 The blank page confuses people when X-Frame-Options blocks a load. The console message should at least give them a hint as to what's going on. * dom/Document.cpp: (WebCore::Document::processHttpEquiv): 2010-05-15 Ilya Tikhonovsky Reviewed by Geoffrey Garen. WebInspector: JSC Should provide heap size info for Timeline panel. https://bugs.webkit.org/show_bug.cgi?id=38420 * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/ScriptGCEvent.cpp: Added. (WebCore::ScriptGCEvent::getHeapSize): * bindings/js/ScriptGCEvent.h: 2010-05-15 Dave Tapuska Reviewed by Darin Adler. Fix alignment faults on ARMv5TE architectures. In debug mode the RenderAreaDebugHeader was 12 bytes which caused an alignment failure for RenderObjects because they would start on a 4 byte boundary. Align the RenderArenaDebugHeader using the ARENA_ALIGN macro. In NDEBUG mode the RenderArena objects come from a pool which has 4 byte alignment. Allow the alignment to be based on the AllocAlignmentInteger. This define will be activated for ARMv5TE. https://bugs.webkit.org/show_bug.cgi?id=19946 2010-05-14 Adam Barth Reviewed by Darin Adler. XMLHttpRequest.overrideMimeType doesn't need to be custom https://bugs.webkit.org/show_bug.cgi?id=39127 I don't see any reason why this method should be custom. No tests because no behavior change. * bindings/js/JSXMLHttpRequestCustom.cpp: * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: * xml/XMLHttpRequest.idl: 2010-05-14 Adele Peterson Reviewed by Dave Hyatt. Fix for https://bugs.webkit.org/show_bug.cgi?id=39095 REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left Test: editing/selection/applystyle-to-inline-inside-block.html * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Now that this function correctly goes in and out of editable areas by calling downstreamIgnoringEditingBoundaries and upstreamIgnoringEditingBoundaries for blocks (added in r58665), we no longer need a special case to jump out to the parent when we hit an inline (which was added in r53085 when this issue was introduced). 2010-05-14 Brian Weinstein Reviewed by Mark Rowe. Hopefully a last fix for the build. Call -mkdir instead of mkdir, so we don't bail if the mkdir call fails. Additionally, use the %Env% syntax instead of $(Env), which is what we need if we are referring to Windows environment variables instead of nmake variables. * WebCore.vcproj/WebCore.make: 2010-05-14 Stephanie Lewis Rubber-stamped by Mark Rowe. Update order files. * WebCore.order: 2010-05-14 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=39137 Make RenderLayers position properly inside multicolumn layout. (1) Create RenderLayers when column properties are specified. This allows descendant layers to easily know they are inside a multicolumn layout when positioning. (2) Patch updateLayerPosition to offset the layer into the first column that contains the layer. Splitting of a layer across columns still does not work, but the layer will now at least appear in the first column in which it occurs. (3) Fix pagination bugs caused by the fact that visual overflow doesn't propagate up the line box tree when layers are involved. Make sure to use lineTop and lineBottom in this case (it's not perfect, but it gets most cases working properly). With this change elements like