diff options
author | Steve Block <steveblock@google.com> | 2010-09-29 17:32:26 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-09-29 17:35:08 +0100 |
commit | 68513a70bcd92384395513322f1b801e7bf9c729 (patch) | |
tree | 161b50f75a5921d61731bb25e730005994fcec85 /WebCore/ChangeLog | |
parent | fd5c6425ce58eb75211be7718d5dee960842a37e (diff) | |
download | external_webkit-68513a70bcd92384395513322f1b801e7bf9c729.zip external_webkit-68513a70bcd92384395513322f1b801e7bf9c729.tar.gz external_webkit-68513a70bcd92384395513322f1b801e7bf9c729.tar.bz2 |
Merge WebKit at r67908: Initial merge by Git
Change-Id: I43a553e7b3299b28cb6ee8aa035ed70fe342b972
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 6971 |
1 files changed, 6971 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 730308a..1f755a4 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,6974 @@ +2010-09-20 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by James Robinson. + + [chromium] Making destructors of LayerChromium and ContentLayerChromium virtual + so that the derived class' destructor code gets called. + https://bugs.webkit.org/show_bug.cgi?id=46139 + + * platform/graphics/chromium/ContentLayerChromium.h: + * platform/graphics/chromium/LayerChromium.h: + +2010-09-20 Darin Adler <darin@apple.com> + + Reviewed by James Robinson. + + Deprecate the inputType function on HTMLInputElement + https://bugs.webkit.org/show_bug.cgi?id=46023 + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::HTMLInputElement): Use m_deprecatedTypeNumber. + (WebCore::HTMLInputElement::isValidValue): Use deprecatedInputType. + (WebCore::HTMLInputElement::typeMismatch): Ditto. + (WebCore::HTMLInputElement::valueMissing): Ditto. + (WebCore::HTMLInputElement::rangeUnderflow): Ditto. + (WebCore::HTMLInputElement::rangeOverflow): Ditto. + (WebCore::HTMLInputElement::minimum): Ditto. + (WebCore::HTMLInputElement::maximum): Ditto. + (WebCore::HTMLInputElement::stepBase): Ditto. + (WebCore::HTMLInputElement::stepMismatch): Ditto. + (WebCore::HTMLInputElement::getStepParameters): Ditto. + (WebCore::HTMLInputElement::getAllowedValueStep): Ditto. + (WebCore::HTMLInputElement::isKeyboardFocusable): Ditto. + (WebCore::HTMLInputElement::shouldUseInputMethod): Ditto. + (WebCore::HTMLInputElement::handleBlurEvent): Ditto. + (WebCore::HTMLInputElement::setType): Added a comment. + (WebCore::HTMLInputElement::updateType): Replaced the setInputType function + with this. The type is always the type attribute value, so there is no value + in passing the type string in, and this is an internal implementation detail, + not a public function. + (WebCore::createFormControlTypes): Use deprecatedNumberOfTypes. + (WebCore::HTMLInputElement::formControlType): Use deprecatedInputType. + (WebCore::HTMLInputElement::saveFormControlState): Ditto. + (WebCore::HTMLInputElement::restoreFormControlState): Ditto. + (WebCore::HTMLInputElement::accessKeyAction): Ditto. + (WebCore::HTMLInputElement::mapToEntry): Ditto. + (WebCore::HTMLInputElement::parseMappedAttribute): Ditto. + (WebCore::HTMLInputElement::rendererIsNeeded): Ditto. + (WebCore::HTMLInputElement::createRenderer): Ditto. + (WebCore::HTMLInputElement::attach): Ditto. + (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Ditto. + (WebCore::HTMLInputElement::appendFormData): Ditto. + (WebCore::HTMLInputElement::isTextField): Ditto. + (WebCore::HTMLInputElement::isTextType): Ditto. + (WebCore::HTMLInputElement::setChecked): Ditto. + (WebCore::HTMLInputElement::value): Ditto. + (WebCore::HTMLInputElement::valueWithDefault): Ditto. + (WebCore::HTMLInputElement::setSuggestedValue): Ditto. + (WebCore::HTMLInputElement::setValue): Ditto. + (WebCore::HTMLInputElement::parseToDouble): Ditto. + (WebCore::HTMLInputElement::valueAsDate): Ditto. + (WebCore::HTMLInputElement::setValueAsDate): Ditto. + (WebCore::HTMLInputElement::valueAsNumber): Ditto. + (WebCore::HTMLInputElement::setValueAsNumber): Ditto. + (WebCore::HTMLInputElement::serializeForDateTimeTypes): Ditto. + (WebCore::HTMLInputElement::serialize): Ditto. + (WebCore::HTMLInputElement::setValueFromRenderer): Ditto. + (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Ditto. + (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto. + (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto. + (WebCore::HTMLInputElement::defaultEventHandler): Ditto. + (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): Ditto. + (WebCore::HTMLInputElement::files): Ditto. + (WebCore::HTMLInputElement::isAcceptableValue): Ditto. + (WebCore::HTMLInputElement::sanitizeValue): Ditto. + (WebCore::HTMLInputElement::hasUnacceptableValue): Ditto. + (WebCore::HTMLInputElement::needsActivationCallback): Ditto. + (WebCore::HTMLInputElement::isRequiredFormControl): Ditto. + (WebCore::HTMLInputElement::recalcWillValidate): Ditto. + (WebCore::HTMLInputElement::parseToDateComponents): Ditto. + (WebCore::HTMLInputElement::dataList): Ditto. + (WebCore::HTMLInputElement::isSpeechEnabled): Ditto. + + * html/HTMLInputElement.h: Renamed InputType to DeprecatedInputType since it + should not be used outside this class. Renamed numberOfTypes to + dprecatedNumberOfTypes for the same reason. Changed all code to use + deprecatedInputType function instead of m_type. Renamed inputType function + to deprecatedInputType. Replaced public setInputType function with private + updateType function. Renamed m_type data member to m_deprecatedTypeNumber. + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlInputElement::MediaControlInputElement): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::updateFromElement): + Use setType instead of setInputType. + +2010-09-20 Mihai Parparita <mihaip@chromium.org> + + Unreviewed; an attempt to fix Windows build. + + * WebCore.vcproj/WebCore.vcproj: + +2010-09-20 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + When PDF image is directly composited, it does not display + https://bugs.webkit.org/show_bug.cgi?id=46144 + + In the "direct image compositing" code path, we set the image directly + as the contents of the GraphicsLayer. However, this only works with + bitmap images, so we have to check that the image is a bitmap image. + + Test: compositing/images/direct-pdf-image.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::isDirectlyCompositedImage): + +2010-09-20 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Crash when div with content set to image gets composited (Vimeo). + https://bugs.webkit.org/show_bug.cgi?id=46140 + + When CSS specifies that the content of an element is an image, we make + a RenderImage, and setStyle() before setting the image resource. In this + case the compositing code can attempt to access the cached image, which + would crash with a null deref. + + Fix by null-checking m_imageResource. + + Test: compositing/images/content-image.html + + * rendering/RenderImage.h: + (WebCore::RenderImage::cachedImage): + +2010-09-20 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Dimitri Glazkov. + + Hashchange event is no longer a simple event, needs to be its own interface + https://bugs.webkit.org/show_bug.cgi?id=36335 + + Add HashChangeEvent.idl and supporting files/changes. + + Test: fast/loader/hashchange-event-properties.html + + The original version of this patch was written by + Steven Lai <s3lance@hotmail.com>. + + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/v8/custom/V8EventCustom.cpp: + (WebCore::toV8): + * dom/Document.cpp: + (WebCore::Document::enqueueHashchangeEvent): + * dom/Event.cpp: + (WebCore::Event::isHashChangeEvent): + * dom/Event.h: + * dom/HashChangeEvent.h: Added. + (WebCore::HashChangeEvent::isHashChangeEvent): + (WebCore::HashChangeEvent::create): + (WebCore::HashChangeEvent::initHashChangeEvent): + (WebCore::HashChangeEvent::oldURL): + (WebCore::HashChangeEvent::newURL): + (WebCore::HashChangeEvent::HashChangeEvent): + * dom/HashChangeEvent.idl: Added. + * page/DOMWindow.idl: + +2010-09-20 Andy Estes <aestes@apple.com> + + Reviewed by Adam Barth. + + REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes + https://bugs.webkit.org/show_bug.cgi?id=40961 + + Add an optional quirk to the HTML5 tokenizer that reverts it to WebKit's + legacy behavior when the start of a new token is encountered before the + current token is finished parsing. The legacy behavior is to emit the + current token as if it were properly closed and being parsing the new + token. + + Test: fast/parser/pre-html5-parser-quirks.html + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate + m_tokenizer with the value of Settings::usePreHTML5ParserQuirks(). + (WebCore::usePreHTMLParserQuirks): Add a helper function to return the + value of Settings::usePreHTML5ParserQuirks() if Settings is non-NULL. + * html/parser/HTMLPreloadScanner.cpp: + (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Instantiate + m_tokenizer with the value of Settings::usePreHTML5ParserQuirks(). + * html/parser/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::HTMLTokenizer): + (WebCore::HTMLTokenizer::nextToken): If the quirk is enabled and an + unexpected '<' is encountered in certain states, emit the current token + and reprocess the '<' as the start of a new token. + * html/parser/HTMLTokenizer.h: + (WebCore::HTMLTokenizer::create): + * html/parser/HTMLViewSourceParser.cpp: + (WebCore::HTMLViewSourceParser::HTMLViewSourceParser): Instantiate + m_tokenizer with the value of Settings::usePreHTML5ParserQuirks(). + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setUsePreHTML5ParserQuirks): + (WebCore::Settings::usePreHTML5ParserQuirks): + +2010-09-20 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=46132, add an isVerticalBlockFlow() method to RenderStyle and + patch callers so that they don't have to check both top-to-bottom and bottom-to-top block flow. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::availableLogicalWidth): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::logicalWidth): + (WebCore::RenderStyle::logicalHeight): + (WebCore::RenderStyle::logicalMinWidth): + (WebCore::RenderStyle::logicalMaxWidth): + (WebCore::RenderStyle::logicalMinHeight): + (WebCore::RenderStyle::logicalMaxHeight): + (WebCore::RenderStyle::borderStartWidth): + (WebCore::RenderStyle::borderEndWidth): + (WebCore::RenderStyle::marginStart): + (WebCore::RenderStyle::marginEnd): + (WebCore::RenderStyle::paddingStart): + (WebCore::RenderStyle::paddingEnd): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::isVerticalBlockFlow): + +2010-09-20 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=46124, add support for logical padding accessors to + RenderBoxModelObject. + + Added fast/blockflow/percentage-padding.html even though it fails, so that when more of layout is patched + we can see it start passing. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paddingTop): + (WebCore::RenderBoxModelObject::paddingBottom): + (WebCore::RenderBoxModelObject::paddingLeft): + (WebCore::RenderBoxModelObject::paddingRight): + (WebCore::RenderBoxModelObject::paddingBefore): + (WebCore::RenderBoxModelObject::paddingAfter): + (WebCore::RenderBoxModelObject::paddingStart): + (WebCore::RenderBoxModelObject::paddingEnd): + * rendering/RenderBoxModelObject.h: + +2010-09-20 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=46126, add availableLogicalWidth() to RenderBox. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::availableWidth): + (WebCore::RenderBlock::availableLogicalWidth): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::availableLogicalWidth): + * rendering/RenderBox.h: + (WebCore::RenderBox::availableWidth): + +2010-09-20 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + [chromium] Change compositor to use GraphicsContext3D rather than GLES2Context + https://bugs.webkit.org/show_bug.cgi?id=45912 + + Switched Chromium's compositor to use GraphicsContext3D to issue + its OpenGL rendering calls rather than the Chromium-specific + GLES2Context and command buffer OpenGL implementation. + + The in-process software rendering path for GraphicsContext3D does + not yet work with the compositor, at least not on Mac OS X. This + will be worked on in subsequent bugs. + + Tested manually with 3D CSS, WebGL and video content on Mac OS X + and Linux. No new tests. + + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium): + (WebCore::Canvas2DLayerChromium::updateContents): + * platform/graphics/chromium/CanvasLayerChromium.cpp: + (WebCore::CanvasLayerChromium::SharedValues::SharedValues): + (WebCore::CanvasLayerChromium::SharedValues::~SharedValues): + (WebCore::CanvasLayerChromium::draw): + * platform/graphics/chromium/CanvasLayerChromium.h: + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::SharedValues::SharedValues): + (WebCore::ContentLayerChromium::SharedValues::~SharedValues): + (WebCore::ContentLayerChromium::~ContentLayerChromium): + (WebCore::ContentLayerChromium::updateTextureRect): + (WebCore::ContentLayerChromium::draw): + * platform/graphics/chromium/ContentLayerChromium.h: + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::publishToPlatformLayer): + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::loadShader): + (WebCore::LayerChromium::SharedValues::SharedValues): + (WebCore::LayerChromium::SharedValues::~SharedValues): + (WebCore::LayerChromium::createShaderProgram): + (WebCore::LayerChromium::layerRendererContext): + (WebCore::LayerChromium::drawTexturedQuad): + (WebCore::LayerChromium::drawDebugBorder): + (WebCore::LayerChromium::drawAsMask): + (WebCore::LayerChromium::prepareForDraw): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::SharedValues::context): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::create): + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::context): + (WebCore::LayerRendererChromium::debugGLCall): + (WebCore::LayerRendererChromium::useShader): + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::updateRootLayerTextureRect): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::finish): + (WebCore::LayerRendererChromium::present): + (WebCore::LayerRendererChromium::getFramebufferPixels): + (WebCore::LayerRendererChromium::createLayerTexture): + (WebCore::LayerRendererChromium::drawLayerIntoStencilBuffer): + (WebCore::LayerRendererChromium::drawLayersRecursive): + (WebCore::LayerRendererChromium::drawLayer): + (WebCore::LayerRendererChromium::scissorToRect): + (WebCore::LayerRendererChromium::makeContextCurrent): + (WebCore::LayerRendererChromium::resizeOnscreenContent): + (WebCore::LayerRendererChromium::initializeSharedObjects): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::createTextureRect): + (WebCore::VideoLayerChromium::updateTextureRect): + * platform/graphics/chromium/WebGLLayerChromium.cpp: + (WebCore::WebGLLayerChromium::updateContents): + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::flush): + (WebCore::SharedGraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM): + (WebCore::SharedGraphicsContext3D::copyTextureToParentTextureCHROMIUM): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + +2010-09-20 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=46119, add logical accessors to RenderStyle. Not used by any RenderObjects yet, so no tests + until then. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::logicalWidth): + (WebCore::RenderStyle::logicalHeight): + (WebCore::RenderStyle::logicalMinWidth): + (WebCore::RenderStyle::logicalMaxWidth): + (WebCore::RenderStyle::logicalMinHeight): + (WebCore::RenderStyle::logicalMaxHeight): + (WebCore::RenderStyle::borderBeforeWidth): + (WebCore::RenderStyle::borderAfterWidth): + (WebCore::RenderStyle::borderStartWidth): + (WebCore::RenderStyle::borderEndWidth): + (WebCore::RenderStyle::marginBefore): + (WebCore::RenderStyle::marginAfter): + (WebCore::RenderStyle::marginStart): + (WebCore::RenderStyle::marginEnd): + (WebCore::RenderStyle::paddingBefore): + (WebCore::RenderStyle::paddingAfter): + (WebCore::RenderStyle::paddingStart): + (WebCore::RenderStyle::paddingEnd): + * rendering/style/RenderStyle.h: + +2010-09-20 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=46116, implement block-flow-aware logical properties. + + This patch adds all the logical properties from the CSS3 Writing Mode draft for margins, padding, border, + width and height. + + Added fast/css/logical-property-resolution.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSProperty.cpp: + (WebCore::resolveToPhysicalProperty): + (WebCore::CSSProperty::resolveDirectionAwareProperty): + * css/CSSProperty.h: + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyDeclarations): + (WebCore::CSSStyleSelector::applyProperty): + +2010-09-20 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=46114, two tables repaint tests failing on bots. + + Patch layoutRows to apply the layout delta when setting a new cell location prior to laying out the cell. + + The layout delta is then removed after layout has happened when the repaint check is done. This change + makes cell layout match block child layout, and now the cells have the correct new location up front + when laying out (a necessity for pagination). + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + +2010-09-20 Jacob Dinu <dinu.jacob@nokia.com> + + Reviewed by Adam Barth. + + When loading a cached page, dispatchDidCommitLoad is called after FrameLoader::open so + that all initialzations are done before calling client dispatchDidCommitLoad to avoid + client from accessing incorrect data. + https://bugs.webkit.org/show_bug.cgi?id=41155 + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::transitionToCommitted): + +2010-09-20 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adam Roben. + + REGRESSION: alternating animation direction doesn't work on Windows + https://bugs.webkit.org/show_bug.cgi?id=46017 + + Animation-direction on Windows was broken because bitfields on + Windows are signed. + + Fixed by making m_direction an unsigned in the bitfield, and + casting in the accessor. + + Test: animations/animation-direction.html + + * platform/animation/Animation.h: + (WebCore::Animation::direction): + +2010-09-20 Enrica Casucci <enrica@apple.com> + + Reviewed by Sam Weinig. + + Pasteboard doesn't work in WebKit2. + https://bugs.webkit.org/show_bug.cgi?id=42317 + <rdar://problem/7660537> + + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Changed parameter to + be a Vector of RefPtr. + * page/EditorClient.h: + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::documentFragmentWithRtf): Stylistic changes. + +2010-09-20 Yong Li <yoli@rim.com> + + Reviewed by Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=39966 + Make compareBorders() a consistent compare function which can beused by qsort(). + + New test case added: LayoutTests/tables/sort-collapsed-border-styles.html + + * rendering/RenderTableCell.cpp: + (WebCore::compareBorders): + (WebCore::chooseBorder): + (WebCore::RenderTableCell::collapsedLeftBorder): + (WebCore::RenderTableCell::collapsedRightBorder): + (WebCore::RenderTableCell::collapsedTopBorder): + (WebCore::RenderTableCell::collapsedBottomBorder): + (WebCore::compareBorderStylesForQSort): + +2010-09-20 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Adam Roben. + + [WINCE] Buildfix for PluginViewWin.cpp + https://bugs.webkit.org/show_bug.cgi?id=46033 + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::paintIntoTransformedContext): + (WebCore::PluginView::snapshot): + +2010-09-18 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=46030, aintitcool.com doesn't paginate correctly when printed. + + This happens because the site always has a document width that will exceed the page width. + We incorrectly apply a double scale instead of clipping after the first scale still doesn't fit. + The fix for the issue is to cap the right layout overflow to the page width and to just clip out + any additional excess. This is the code in FrameView.cpp. + + This patch also cleans up table cell invalidation to reduce the # of relayouts. This change is not + a correctness fix. It's just performance. + + I'm not sure how to write a test for this, since the double scale is an artifact of how WebKit mac calls + back in when really printing. + + * page/FrameView.cpp: + (WebCore::FrameView::forceLayoutForPagination): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::layoutPositionedObjects): + (WebCore::RenderBlock::positionNewFloats): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::markForPaginationRelayout): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + +2010-09-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: merge Inspector client runtime events into the serialized inspector state object. + + Drive-by rename getBackendSettings -> getInspectorState to better reflect the nature of the data. + + https://bugs.webkit.org/show_bug.cgi?id=45974 + + * inspector/Inspector.idl: + * inspector/InspectorClient.h: + (WebCore::InspectorClient::updateInspectorStateCookie): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::saveApplicationSettings): + (WebCore::InspectorController::getInspectorState): + (WebCore::InspectorController::updateInspectorStateCookie): + (WebCore::InspectorController::restoreInspectorStateFromCookie): + (WebCore::InspectorController::getSettings): + (WebCore::InspectorController::setMonitoringXHREnabled): + (WebCore::InspectorController::restoreDebugger): + (WebCore::InspectorController::restoreProfiler): + (WebCore::InspectorController::setResourceTrackingEnabled): + (WebCore::InspectorController::ensureSettingsLoaded): + (WebCore::InspectorController::startTimelineProfiler): + (WebCore::InspectorController::stopTimelineProfiler): + (WebCore::InspectorController::enableProfiler): + (WebCore::InspectorController::disableProfiler): + (WebCore::InspectorController::enableDebuggerFromFrontend): + (WebCore::InspectorController::disableDebugger): + * inspector/InspectorController.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._handleContextMenuEvent): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): + * inspector/front-end/Settings.js: + (WebInspector.Settings.initialize): + * inspector/front-end/inspector.js: + (WebInspector.doLoadedDone.populateInspectorState): + (WebInspector.doLoadedDone): + +2010-09-20 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG Filter cleanup + https://bugs.webkit.org/show_bug.cgi?id=45612 + + All effect inputs are stored in a Vector in FilterEffect instead of passing them via constructors to every effect type. + This simplifies the primitive subregion logic and centralizes it in determineFilterPrimitiveSubregion. + Just SourceGraphic, SourceAlpha and FETile still calculate filter primitive subregions on + their own. Working on it in a followup patch. + The subregions code is SVG specific and moving this calculation to FilterEffect is an + intermediate step before moving it to RenderSVGResourceFilterPrimitive in a following patch. + The new FilterEffectVector will also make it possible to add code to determine the + smallest used region of an effect and will help save memory and resources in the future. + subRegion got renamed to filterPrimitiveSubregion to match the name scheme. scaledSubRegion got + renamed to repaintRectInLocalCoordinates since this is its proper meaning. + Removed unnecessary member variables and functions from FilterEffect. + + No new tests added since the functionality didn't change. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: scaledSubRegion was renamed to repaintRectInLocalCoordinates. + (WebCore::GraphicsContext::createShadowMask): + * platform/graphics/filters/FEBlend.cpp: Removed Filter effect inputs from constructor. + (WebCore::FEBlend::FEBlend): + (WebCore::FEBlend::create): + (WebCore::FEBlend::apply): Call inputFilterEffects to get input filter primitives. + (WebCore::FEBlend::externalRepresentation): Call inputFilterEffects to get input filter primitives. + * platform/graphics/filters/FEBlend.h: + * platform/graphics/filters/FEColorMatrix.cpp: Ditto. + (WebCore::FEColorMatrix::FEColorMatrix): + (WebCore::FEColorMatrix::create): + (WebCore::FEColorMatrix::apply): + (WebCore::FEColorMatrix::externalRepresentation): + * platform/graphics/filters/FEColorMatrix.h: + * platform/graphics/filters/FEComponentTransfer.cpp: Ditto. + (WebCore::FEComponentTransfer::FEComponentTransfer): + (WebCore::FEComponentTransfer::create): + (WebCore::FEComponentTransfer::apply): + (WebCore::FEComponentTransfer::externalRepresentation): + * platform/graphics/filters/FEComponentTransfer.h: + * platform/graphics/filters/FEComposite.cpp: Ditto. + (WebCore::FEComposite::FEComposite): + (WebCore::FEComposite::create): + (WebCore::FEComposite::apply): + (WebCore::FEComposite::externalRepresentation): + * platform/graphics/filters/FEComposite.h: + * platform/graphics/filters/FEGaussianBlur.cpp: Ditto. + (WebCore::FEGaussianBlur::FEGaussianBlur): + (WebCore::FEGaussianBlur::create): + (WebCore::FEGaussianBlur::apply): + (WebCore::FEGaussianBlur::externalRepresentation): + * platform/graphics/filters/FEGaussianBlur.h: + * platform/graphics/filters/Filter.h: + (WebCore::Filter::determineFilterPrimitiveSubregion): Renamed from calculateEffectSubRegion to match name scheme. + * platform/graphics/filters/FilterEffect.cpp: + (WebCore::FilterEffect::FilterEffect): + (WebCore::FilterEffect::determineFilterPrimitiveSubregion): The main place for subregion calculation. + (WebCore::FilterEffect::calculateDrawingIntRect): Takes repaintRectInLocalCoordinates now. + (WebCore::FilterEffect::calculateDrawingRect): ditto. + (WebCore::FilterEffect::getEffectContext): Check if ImageBuffer was created. + * platform/graphics/filters/FilterEffect.h: Changed names to match name scheme. Removed unnecessary member variables and functions. + Seperate SVG specific member variables and functions. Will get removed in followup patches. + (WebCore::FilterEffect::resultImage): + (WebCore::FilterEffect::setEffectBuffer): + (WebCore::FilterEffect::inputEffect): + (WebCore::FilterEffect::inputEffects): + (WebCore::FilterEffect::numberOfinputEffects): + (WebCore::FilterEffect::isAlphaImage): + (WebCore::FilterEffect::setIsAlphaImage): + (WebCore::FilterEffect::repaintRectInLocalCoordinates): + (WebCore::FilterEffect::setRepaintRectInLocalCoordinates): + (WebCore::FilterEffect::isSourceInput): + (WebCore::FilterEffect::hasX): + (WebCore::FilterEffect::setHasX): + (WebCore::FilterEffect::hasY): + (WebCore::FilterEffect::setHasY): + (WebCore::FilterEffect::hasWidth): + (WebCore::FilterEffect::setHasWidth): + (WebCore::FilterEffect::hasHeight): + (WebCore::FilterEffect::setHasHeight): + (WebCore::FilterEffect::filterPrimitiveSubregion): + (WebCore::FilterEffect::setFilterPrimitiveSubregion): + (WebCore::FilterEffect::effectBoundaries): + (WebCore::FilterEffect::setEffectBoundaries): + * platform/graphics/filters/SourceAlpha.cpp: + (WebCore::SourceAlpha::determineFilterPrimitiveSubregion): Renamed to match name scheme. + * platform/graphics/filters/SourceAlpha.h: + (WebCore::SourceAlpha::isSourceInput): + * platform/graphics/filters/SourceGraphic.cpp: + (WebCore::SourceGraphic::determineFilterPrimitiveSubregion): Ditto. + * platform/graphics/filters/SourceGraphic.h: + (WebCore::SourceGraphic::isSourceInput): + * rendering/RenderSVGResourceFilter.cpp: Adapt to renames in FilterEffect. + (WebCore::RenderSVGResourceFilter::applyResource): + (WebCore::RenderSVGResourceFilter::postApplyResource): + * svg/SVGFEBlendElement.cpp: Constructor of FEBlend doesn't take input effects. Adding them afterwards. + (WebCore::SVGFEBlendElement::build): + * svg/SVGFEColorMatrixElement.cpp: Ditto. + (WebCore::SVGFEColorMatrixElement::build): + * svg/SVGFEComponentTransferElement.cpp: Ditto. + (WebCore::SVGFEComponentTransferElement::build): + * svg/SVGFECompositeElement.cpp: Ditto. + (WebCore::SVGFECompositeElement::build): + * svg/SVGFEConvolveMatrixElement.cpp: Ditto. + (WebCore::SVGFEConvolveMatrixElement::build): + * svg/SVGFEDiffuseLightingElement.cpp: Ditto. + (WebCore::SVGFEDiffuseLightingElement::build): + * svg/SVGFEDisplacementMapElement.cpp: Ditto. + (WebCore::SVGFEDisplacementMapElement::build): + * svg/SVGFEGaussianBlurElement.cpp: Ditto. + (WebCore::SVGFEGaussianBlurElement::build): + * svg/SVGFEMergeElement.cpp: Ditto. + (WebCore::SVGFEMergeElement::build): + * svg/SVGFEMorphologyElement.cpp: Ditto. + (WebCore::SVGFEMorphologyElement::build): + * svg/SVGFEOffsetElement.cpp: Ditto. + (WebCore::SVGFEOffsetElement::build): + * svg/SVGFESpecularLightingElement.cpp: Ditto. + (WebCore::SVGFESpecularLightingElement::build): + * svg/SVGFETileElement.cpp: Ditto. + (WebCore::SVGFETileElement::build): + * svg/graphics/filters/SVGFEConvolveMatrix.cpp: Ditto. + (WebCore::FEConvolveMatrix::FEConvolveMatrix): + (WebCore::FEConvolveMatrix::create): + (WebCore::FEConvolveMatrix::apply): + (WebCore::FEConvolveMatrix::externalRepresentation): + * svg/graphics/filters/SVGFEConvolveMatrix.h: + * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto. + (WebCore::FEDiffuseLighting::FEDiffuseLighting): + (WebCore::FEDiffuseLighting::create): + (WebCore::FEDiffuseLighting::externalRepresentation): + * svg/graphics/filters/SVGFEDiffuseLighting.h: + * svg/graphics/filters/SVGFEDisplacementMap.cpp: Ditto. + (WebCore::FEDisplacementMap::FEDisplacementMap): + (WebCore::FEDisplacementMap::create): + (WebCore::FEDisplacementMap::apply): + (WebCore::FEDisplacementMap::externalRepresentation): + * svg/graphics/filters/SVGFEDisplacementMap.h: + * svg/graphics/filters/SVGFEFlood.cpp: Ditto. + (WebCore::FEFlood::apply): + * svg/graphics/filters/SVGFEImage.cpp: Ditto. + (WebCore::FEImage::apply): + * svg/graphics/filters/SVGFELighting.cpp: Ditto. + (WebCore::FELighting::FELighting): + (WebCore::FELighting::apply): + * svg/graphics/filters/SVGFELighting.h: + * svg/graphics/filters/SVGFEMerge.cpp: Ditto. + (WebCore::FEMerge::FEMerge): + (WebCore::FEMerge::create): + (WebCore::FEMerge::apply): + (WebCore::FEMerge::externalRepresentation): + * svg/graphics/filters/SVGFEMerge.h: + * svg/graphics/filters/SVGFEMorphology.cpp: Ditto. + (WebCore::FEMorphology::FEMorphology): + (WebCore::FEMorphology::create): + (WebCore::FEMorphology::apply): + (WebCore::FEMorphology::externalRepresentation): + * svg/graphics/filters/SVGFEMorphology.h: + * svg/graphics/filters/SVGFEOffset.cpp: Ditto. + (WebCore::FEOffset::FEOffset): + (WebCore::FEOffset::create): + (WebCore::FEOffset::apply): + (WebCore::FEOffset::externalRepresentation): + * svg/graphics/filters/SVGFEOffset.h: + * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto. + (WebCore::FESpecularLighting::FESpecularLighting): + (WebCore::FESpecularLighting::create): + (WebCore::FESpecularLighting::externalRepresentation): + * svg/graphics/filters/SVGFESpecularLighting.h: + * svg/graphics/filters/SVGFETile.cpp: Ditto. + (WebCore::FETile::FETile): + (WebCore::FETile::create): + (WebCore::FETile::determineFilterPrimitiveSubregion): Renamed to match name scheme. + (WebCore::FETile::apply): + (WebCore::FETile::externalRepresentation): + * svg/graphics/filters/SVGFETile.h: + * svg/graphics/filters/SVGFilter.cpp: Renamed itemBox to targetBoundingBox to match name scheme. + (WebCore::SVGFilter::SVGFilter): + (WebCore::SVGFilter::determineFilterPrimitiveSubregion): Renamed to match name scheme. + (WebCore::SVGFilter::create): + * svg/graphics/filters/SVGFilter.h: + (WebCore::SVGFilter::sourceImageRect): + +2010-09-20 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: highlight DOM node when hover on link element or DOM breakpoint + https://bugs.webkit.org/show_bug.cgi?id=45897 + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointItem): + (WebInspector.JSBreakpointItem): + (WebInspector.DOMBreakpointItem): + (WebInspector.DOMBreakpointItem.prototype.compareTo): + (WebInspector.DOMBreakpointItem.prototype._breakpointClicked): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.hide): + (WebInspector.ElementsPanel.prototype.reset): + (WebInspector.ElementsPanel.prototype.setDocument.selectNode): + (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs): + (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs): + (WebInspector.ElementsPanel.prototype.linkifyNodeReference): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): + (WebInspector.ElementsTreeOutline.prototype._onmousemove): + (WebInspector.ElementsTreeOutline.prototype._onmouseout): + * inspector/front-end/inspector.js: + (WebInspector.highlightDOMNode): + (WebInspector.highlightDOMNodeForTwoSeconds): + (WebInspector.wireElementWithDOMNode): + (WebInspector._updateFocusedNode): + (WebInspector.reset): + (WebInspector.updateFocusedNode): + +2010-09-19 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r67749. + http://trac.webkit.org/changeset/67749 + https://bugs.webkit.org/show_bug.cgi?id=46068 + + breaking ToT chromium canary build (Requested by shans on + #webkit). + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::createNewContext): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::registeredExtensionWithV8): + (WebCore::V8Proxy::registerExtension): + * bindings/v8/V8Proxy.h: + * loader/EmptyClients.h: + * loader/FrameLoaderClient.h: + +2010-09-19 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 46065 - Unify implementation of ToInt32 and ToUInt32, don't use fmod. + + These methods implement the same conversion (see discussion in the notes + of sections of 9.5 and 9.6 of the spec), only differing in how the result + is interpretted. + + Removing JSValue::toInt32 (since this has weird, non-spec function). + A couple of places in the binding are using this method, so adding + finiteInt32Value to the bindings to maintain current behaviour. + + Test: fast/js/toInt32UInt32.html + + * bindings/js/JSDOMBinding.h: + (WebCore::finiteInt32Value): + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + (WebCore::JSHTMLOptionsCollection::add): + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): + * bindings/js/JSSVGPODListCustom.h: + (WebCore::JSSVGPODListCustom::getItem): + (WebCore::JSSVGPODListCustom::insertItemBefore): + (WebCore::JSSVGPODListCustom::replaceItem): + (WebCore::JSSVGPODListCustom::removeItem): + * bindings/js/JSSVGPathSegListCustom.cpp: + (WebCore::JSSVGPathSegList::getItem): + (WebCore::JSSVGPathSegList::insertItemBefore): + (WebCore::JSSVGPathSegList::replaceItem): + (WebCore::JSSVGPathSegList::removeItem): + +2010-09-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] clipBoundingRect() should return rect relevant to current layer + https://bugs.webkit.org/show_bug.cgi?id=46059 + + r65791 inadvertently changed clipBoundingRect() to always use the GC painter + without checking the TransparencyLayer stack first. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::p): + (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect): + +2010-09-19 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Replace WKBundleRangeRef with WKBundleRangeHandleRef. + https://bugs.webkit.org/show_bug.cgi?id=46054 + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + +2010-09-19 Patrick Gansterer <paroga@paroga.com> + + Unreviewed. + + [WINCE] Buildfix for Gradient after r67801. + + * platform/graphics/Gradient.h: + * platform/graphics/wince/GradientWinCE.cpp: + (WebCore::Gradient::getStops): + +2010-09-19 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + [Chromium] Add is<input type>() functions to WebInputElement + https://bugs.webkit.org/show_bug.cgi?id=46035 + + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::isText): Added. It is used by WebKit/chromium. + +2010-09-18 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antonio Gomes. + + [Qt] Path: Remove unused member variable + https://bugs.webkit.org/show_bug.cgi?id=46048 + + Path::m_lastMoveToIndex is not used for anything, so remove it. + + * platform/graphics/Path.h: + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::Path): + (WebCore::Path::operator=): + (WebCore::Path::moveTo): + +2010-09-18 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Darin Adler. + + Use AtomicString insted of String in XMLDocumentParser + https://bugs.webkit.org/show_bug.cgi?id=45990 + + Create AtomicString as early as possible. + This can avoid unnecessary memcpy of String content. + + * dom/XMLDocumentParser.h: + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::toAtomicString): + (WebCore::handleElementNamespaces): + (WebCore::handleElementAttributes): + (WebCore::XMLDocumentParser::startElementNs): + +2010-09-18 Erik Arvidsson <arv@chromium.org> + + Reviewed by Nate Chapin. + + [Chromium] fast/dom/dataset-gc.html is failing + https://bugs.webkit.org/show_bug.cgi?id=45426 + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/custom/V8DOMStringMapCustom.cpp: + (WebCore::toV8): + * dom/DOMStringMap.h: + * dom/DatasetDOMStringMap.h: + (WebCore::DatasetDOMStringMap::element): + +2010-09-18 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Oliver Hunt. + + Gradient: Fast-path for the ideal case in sortStopsIfNecessary() + https://bugs.webkit.org/show_bug.cgi?id=46045 + + Avoid calling std::stable_sort for 2-stop gradients that are already in order. + + * platform/graphics/Gradient.cpp: + (WebCore::Gradient::sortStopsIfNecessary): + +2010-09-18 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Andreas Kling. + + [BREWMP] Fix a typo in key code name + https://bugs.webkit.org/show_bug.cgi?id=46003 + + AVK_CLR is the right Brew MP key code name for VK_BACK. + + * platform/brew/PlatformKeyboardEventBrew.cpp: + (WebCore::windowsKeyCodeForKeyEvent): + +2010-09-18 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Oliver Hunt. + + Gradient: Pre-reserve space for 2 color stops + https://bugs.webkit.org/show_bug.cgi?id=46044 + + Most gradients have only 2 color stops, pre-reserve space for these in m_stops + to avoid growing the vector dynamically in the common case. + + * platform/graphics/Gradient.h: + +2010-09-18 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, rolling out r67792. + http://trac.webkit.org/changeset/67792 + https://bugs.webkit.org/show_bug.cgi?id=45976 + + Broke over a hundred SVG tests. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawImage): + (WebCore::GraphicsContext::drawImageBuffer): + * platform/graphics/GraphicsContext.h: + +2010-09-18 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Simon Fraser. + + webkitAnimationEnd event doesn't fire when skipping over final iteration + https://bugs.webkit.org/show_bug.cgi?id=46010 + + It's possible for AnimationBase::fireAnimationEventsIfNeeded to decide + that the animation is ended while we're in the looping state, if the + animation timer never fires during an iteration. That then fails the + assert in AnimationBase::updateStateMachine (we don't expect + AnimationStateInputEndTimerFired while in the looping state). Jump the + state to AnimationStateEnding, which is more accurate. + + Test: animations/animation-end-event-short-iterations.html + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::fireAnimationEventsIfNeeded): + +2010-09-18 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Andreas Kling. + + [BREWMP] Wrong key code type in keyIdentifierForBrewKeyCode + https://bugs.webkit.org/show_bug.cgi?id=46005 + + The type of key code in Brew MP is uint16. Take uint16 instead of int16 in keyIdentifierForBrewKeyCode. + + * platform/brew/PlatformKeyboardEventBrew.cpp: + (WebCore::keyIdentifierForBrewKeyCode): + +2010-09-18 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Oliver Hunt. + + Canvas drawImage with source or destination widths/heights of -1 renders incorrectly. + https://bugs.webkit.org/show_bug.cgi?id=45976 + + Specifying a -1 width or height for either the source or destination rectangle in drawImage + get improperly drawn with -1 replaced as the corresponding image width or height. This was because + the value -1 was being passed around to signal non-specified widths and heights and thus was + interpreted lower down in the drawImage implementation which disallowed any calls that actually + wanted to use -1 as the widths or heights. Fixed this by moving the default logic up and not using + -1 in-band signaling to denote default behavior. + + Tests: canvas/philip/tests/2d.drawImage.negativeOneDest.html + canvas/philip/tests/2d.drawImage.negativeOneSource.html + + * platform/graphics/GraphicsContext.cpp: Removed -1 in-band signals and replaced cascased calls to have + the desired replaces for unspecified widths and heights earlier on. + * platform/graphics/GraphicsContext.h: Removed faulty default value. + +2010-09-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + Enable Platform Strategies on Qt + + [Qt] Turn on PLATFORM_STRATEGIES + https://bugs.webkit.org/show_bug.cgi?id=45831 + + * WebCore.pro: Adding/removing implementation files + * platform/qt/Language.cpp: Added, WebCore::defaultLanguage() was + moved from platform/qt/Localizations.cpp + (WebCore::defaultLanguage): Moved from Localizations.cpp + * platform/qt/Localizations.cpp: Removed (code is now inside + WebCoreSupport/WebPlatformStrategies.cpp) + * plugins/qt/PluginDataQt.cpp: Removed (idem) + +2010-09-18 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Darin Adler. + + Rename Wince files to WinCE + https://bugs.webkit.org/show_bug.cgi?id=37287 + + * loader/icon/wince/IconDatabaseWinCE.cpp: Copied from WebCore/loader/icon/wince/IconDatabaseWince.cpp. + * loader/icon/wince/IconDatabaseWince.cpp: Removed. + * page/wince/FrameWinCE.cpp: Copied from WebCore/page/wince/FrameWince.cpp. + * page/wince/FrameWince.cpp: Removed. + * platform/graphics/MediaPlayer.cpp: + * platform/graphics/wince/ColorWinCE.cpp: Copied from WebCore/platform/graphics/wince/ColorWince.cpp. + * platform/graphics/wince/ColorWince.cpp: Removed. + * platform/graphics/wince/FontCacheWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontCacheWince.cpp. + * platform/graphics/wince/FontCacheWince.cpp: Removed. + * platform/graphics/wince/FontWinCE.cpp: Copied from WebCore/platform/graphics/wince/FontWince.cpp. + * platform/graphics/wince/FontWince.cpp: Removed. + * platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp: Copied from WebCore/platform/graphics/wince/GlyphPageTreeNodeWince.cpp. + * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Removed. + * platform/graphics/wince/GradientWinCE.cpp: Copied from WebCore/platform/graphics/wince/GradientWince.cpp. + * platform/graphics/wince/GradientWince.cpp: Removed. + * platform/graphics/wince/GraphicsContextWinCE.cpp: Copied from WebCore/platform/graphics/wince/GraphicsContextWince.cpp. + * platform/graphics/wince/GraphicsContextWince.cpp: Removed. + * platform/graphics/wince/ImageBufferWinCE.cpp: Copied from WebCore/platform/graphics/wince/ImageBufferWince.cpp. + * platform/graphics/wince/ImageBufferWince.cpp: Removed. + * platform/graphics/wince/MediaPlayerPrivateWinCE.h: Copied from WebCore/platform/graphics/wince/MediaPlayerPrivateWince.h. + * platform/graphics/wince/MediaPlayerPrivateWince.h: Removed. + * platform/graphics/wince/PathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PathWince.cpp. + * platform/graphics/wince/PathWince.cpp: Removed. + * platform/graphics/wince/PlatformPathWinCE.cpp: Copied from WebCore/platform/graphics/wince/PlatformPathWince.cpp. + * platform/graphics/wince/PlatformPathWinCE.h: Copied from WebCore/platform/graphics/wince/PlatformPathWince.h. + * platform/graphics/wince/PlatformPathWince.cpp: Removed. + * platform/graphics/wince/PlatformPathWince.h: Removed. + * platform/graphics/wince/SimpleFontDataWinCE.cpp: Copied from WebCore/platform/graphics/wince/SimpleFontDataWince.cpp. + * platform/graphics/wince/SimpleFontDataWince.cpp: Removed. + * platform/graphics/wince/WinCEGraphicsExtras.h: Copied from WebCore/platform/graphics/wince/WinceGraphicsExtras.h. + * platform/graphics/wince/WinceGraphicsExtras.h: Removed. + * platform/text/wince/TextBoundariesWinCE.cpp: Copied from WebCore/platform/text/wince/TextBoundariesWince.cpp. + * platform/text/wince/TextBoundariesWince.cpp: Removed. + * platform/text/wince/TextBreakIteratorWinCE.cpp: Copied from WebCore/platform/text/wince/TextBreakIteratorWince.cpp. + * platform/text/wince/TextBreakIteratorWince.cpp: Removed. + * platform/wince/CursorWinCE.cpp: Copied from WebCore/platform/wince/CursorWince.cpp. + * platform/wince/CursorWince.cpp: Removed. + * platform/wince/DragDataWinCE.cpp: Copied from WebCore/platform/wince/DragDataWince.cpp. + * platform/wince/DragDataWince.cpp: Removed. + * platform/wince/DragImageWinCE.cpp: Copied from WebCore/platform/wince/DragImageWince.cpp. + * platform/wince/DragImageWince.cpp: Removed. + * platform/wince/EditorWinCE.cpp: Copied from WebCore/platform/wince/EditorWince.cpp. + (WebCore::Editor::newGeneralClipboard): + * platform/wince/EditorWince.cpp: Removed. + * platform/wince/FileChooserWinCE.cpp: Copied from WebCore/platform/wince/FileChooserWince.cpp. + * platform/wince/FileChooserWince.cpp: Removed. + * platform/wince/FileSystemWinCE.cpp: Copied from WebCore/platform/wince/FileSystemWince.cpp. + * platform/wince/FileSystemWince.cpp: Removed. + * platform/wince/KURLWinCE.cpp: Copied from WebCore/platform/wince/KURLWince.cpp. + * platform/wince/KURLWince.cpp: Removed. + * platform/wince/KeygenWinCE.cpp: Copied from WebCore/platform/wince/KeygenWince.cpp. + * platform/wince/KeygenWince.cpp: Removed. + * platform/wince/MIMETypeRegistryWinCE.cpp: Copied from WebCore/platform/wince/MIMETypeRegistryWince.cpp. + * platform/wince/MIMETypeRegistryWince.cpp: Removed. + * platform/wince/PasteboardWinCE.cpp: Copied from WebCore/platform/wince/PasteboardWince.cpp. + * platform/wince/PasteboardWince.cpp: Removed. + * platform/wince/SearchPopupMenuWinCE.cpp: Copied from WebCore/platform/wince/SearchPopupMenuWince.cpp. + * platform/wince/SearchPopupMenuWince.cpp: Removed. + * platform/wince/SharedTimerWinCE.cpp: Copied from WebCore/platform/wince/SharedTimerWince.cpp. + * platform/wince/SharedTimerWince.cpp: Removed. + * rendering/RenderThemeWinCE.cpp: Copied from WebCore/rendering/RenderThemeWince.cpp. + (WebCore::RenderThemeWinCE::create): + (WebCore::RenderTheme::themeForPage): + (WebCore::RenderThemeWinCE::RenderThemeWinCE): + (WebCore::RenderThemeWinCE::~RenderThemeWinCE): + (WebCore::RenderThemeWinCE::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeWinCE::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeWinCE::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeWinCE::platformInactiveSelectionForegroundColor): + (WebCore::RenderThemeWinCE::supportsFocus): + (WebCore::RenderThemeWinCE::supportsFocusRing): + (WebCore::RenderThemeWinCE::determineClassicState): + (WebCore::RenderThemeWinCE::getThemeData): + (WebCore::RenderThemeWinCE::paintButton): + (WebCore::RenderThemeWinCE::setCheckboxSize): + (WebCore::RenderThemeWinCE::paintTextField): + (WebCore::RenderThemeWinCE::adjustMenuListStyle): + (WebCore::RenderThemeWinCE::paintMenuList): + (WebCore::RenderThemeWinCE::paintMenuListButton): + (WebCore::RenderThemeWinCE::systemFont): + (WebCore::RenderThemeWinCE::themeChanged): + (WebCore::RenderThemeWinCE::extraDefaultStyleSheet): + (WebCore::RenderThemeWinCE::extraQuirksStyleSheet): + (WebCore::RenderThemeWinCE::supportsHover): + (WebCore::RenderThemeWinCE::systemColor): + (WebCore::RenderThemeWinCE::adjustSliderThumbSize): + (WebCore::RenderThemeWinCE::adjustButtonInnerStyle): + (WebCore::RenderThemeWinCE::adjustSearchFieldStyle): + (WebCore::RenderThemeWinCE::paintSearchField): + (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): + (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle): + (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle): + (WebCore::RenderThemeWinCE::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle): + (WebCore::RenderThemeWinCE::paintSearchFieldResultsButton): + (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle): + (WebCore::RenderThemeWinCE::paintSliderTrack): + (WebCore::RenderThemeWinCE::paintSliderThumb): + (WebCore::RenderThemeWinCE::paintMediaFullscreenButton): + (WebCore::RenderThemeWinCE::paintMediaMuteButton): + (WebCore::RenderThemeWinCE::paintMediaPlayButton): + (WebCore::RenderThemeWinCE::paintMediaSeekBackButton): + (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton): + (WebCore::RenderThemeWinCE::paintMediaSliderTrack): + (WebCore::RenderThemeWinCE::paintMediaSliderThumb): + * rendering/RenderThemeWinCE.h: Copied from WebCore/rendering/RenderThemeWince.h. + * rendering/RenderThemeWince.cpp: Removed. + * rendering/RenderThemeWince.h: Removed. + * storage/wince/DatabaseThreadWinCE.cpp: Copied from WebCore/storage/wince/DatabaseThreadWince.cpp. + * storage/wince/DatabaseThreadWinCE.h: Copied from WebCore/storage/wince/DatabaseThreadWince.h. + * storage/wince/DatabaseThreadWince.cpp: Removed. + * storage/wince/DatabaseThreadWince.h: Removed. + * storage/wince/LocalStorageThreadWinCE.cpp: Copied from WebCore/storage/wince/LocalStorageThreadWince.cpp. + * storage/wince/LocalStorageThreadWinCE.h: Copied from WebCore/storage/wince/LocalStorageThreadWince.h. + * storage/wince/LocalStorageThreadWince.cpp: Removed. + * storage/wince/LocalStorageThreadWince.h: Removed. + +2010-09-18 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Eric Seidel. + + Move Plugin*None.cpp from CMakeLists.txt into CMakeListsEfl.txt + https://bugs.webkit.org/show_bug.cgi?id=45900 + + PluginDataNone.cpp and PluginViewNone.cpp are not used by all port. + Move them into plaform sepcific build system. + + * CMakeLists.txt: + * CMakeListsEfl.txt: + +2010-09-18 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Don't copy clip path to TransparencyLayer + https://bugs.webkit.org/show_bug.cgi?id=45965 + + We don't need to copy the GC's clip path to the TransparencyLayer since it will + clip anyway when ending the layer. + + * platform/graphics/qt/TransparencyLayer.h: + (WebCore::TransparencyLayer::TransparencyLayer): + +2010-09-18 Patrick Gansterer <paroga@paroga.com> + + Unreviewed. + + [WINCE] Buildfix for FrameWince.cpp after r51353, r67762 and r67771. + + * page/wince/FrameWince.cpp: + (WebCore::computePageRectsForFrame): + (WebCore::imageFromSelection): + +2010-09-18 Kent Tamura <tkent@chromium.org> + + Unreviewed, a trivial change. + + Run sort-Xcode-project-file. + + * WebCore.xcodeproj/project.pbxproj: + +2010-09-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Eric Seidel. + + REGRESSION (r67762): Over 160 layout tests failing due to incorrect zoom factors in subframes + https://bugs.webkit.org/show_bug.cgi?id=46031 + + * page/Frame.cpp: + (WebCore::parentPageZoomFactor): Return the zoom factor of the parent frame. + (WebCore::parentTextZoomFactor): Ditto. + +2010-09-17 Sam Weinig <sam@webkit.org> + + Reviewed by Jon Honeycutt. + + Need a way to load data (as plain text) in a WKPage + <rdar://problem/8424239> + + * WebCore.exp.in: + +2010-09-17 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=46027, image on gamespot.com paginates without bringing its enclosing border along. + + Make sure that unsplittable objects like replaced elements propagate their pagination strut outward to the parent block + when appropriate. An image on a line did this, but a block-level image did not. + + Added fast/multicol/image-inside-nested-blocks-with-border.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChild): + +2010-09-17 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, build fix. + + Move calls from frameView->pageZoomFactor() to frame->pageZoomFactor(). + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTouchEvent): Removed a helper function, + added direct calls to frame->pageZoomFactor(). + +2010-09-17 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model. + + Make printing store the page height in the RenderView and push that into the layout state to + use the new pagination model. The old pagination model is retained because it is still used + for embedded WebViews. + + * page/FrameView.cpp: + (WebCore::FrameView::reset): + (WebCore::FrameView::layout): + (WebCore::FrameView::forceLayout): + (WebCore::FrameView::forceLayoutForPagination): + (WebCore::FrameView::adjustPageHeight): + * page/FrameView.h: + * page/PrintContext.cpp: + (WebCore::PrintContext::computePageRectsWithPageSizeInternal): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintChildren): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcHeight): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintReplaced): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::paint): + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::paintReplaced): + * rendering/RenderView.cpp: + (WebCore::RenderView::RenderView): + (WebCore::RenderView::layout): + (WebCore::RenderView::paint): + (WebCore::RenderView::setBestTruncatedAt): + * rendering/RenderView.h: + (WebCore::RenderView::popLayoutState): + (WebCore::RenderView::pageHeight): + (WebCore::RenderView::setPageHeight): + (WebCore::RenderView::bestTruncatedAt): + (WebCore::RenderView::truncatedAt): + (WebCore::RenderView::setTruncatedAt): + (WebCore::RenderView::printRect): + (WebCore::RenderView::setPrintRect): + (WebCore::RenderView::pushLayoutState): + (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): + (WebCore::LayoutStateMaintainer::push): + (WebCore::LayoutStateMaintainer::pop): + +2010-09-17 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + Canvas sizing ignores intrinsic size + https://bugs.webkit.org/show_bug.cgi?id=46024 + + Updated fast/replaced/table-percent-height.html + + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): If this is used as a proxy + for <video>, behave like it has an intrinsic size (e.g. preserve aspect ratio when + width is auto and height is specified). + * rendering/RenderImage.cpp: + (WebCore::RenderImage::calcAspectRatioWidth): Changed to explicitly invoke + RenderBox::calcReplacedHeight(), now that RenderReplaced has its own implementation + which we don’t want. + (WebCore::RenderImage::calcAspectRatioHeight): Similarly with calcReplacedWidth(). + * rendering/RenderImage.h: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::RenderReplaced): Initialize m_hasIntrinsicSize. + (WebCore::lengthIsSpecified): Added this helper function, based on RenderImage’s + is{Width,Height}Specified(). + (WebCore::RenderReplaced::calcReplacedWidth): Moved from RenderVideo all the way + up here so other replaced objects could use this logic. + (WebCore::RenderReplaced::calcReplacedHeight): Ditto. + (WebCore::RenderReplaced::calcAspectRatioWidth): Ditto. + (WebCore::RenderReplaced::calcAspectRatioHeight): Ditto. + (WebCore::RenderReplaced::calcPrefWidths): Replaced with the RenderImage version + of the logic. + (WebCore::RenderReplaced::setIntrinsicSize): Added an assertion. + * rendering/RenderReplaced.h: + (WebCore::RenderReplaced::minimumReplacedHeight): Promoted from private to protected + to allow RenderVideo to call through. + (WebCore::RenderReplaced::setHasIntrinsicSize): Added this setter. + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::updateIntrinsicSize): Factor zoom into the intrinsic size, + the way other RenderReplaced objects do. + (WebCore::RenderVideo::calcReplacedWidth): Invoke the RenderReplaced implementation, + which matches what used to be here, skipping over the RenderImage implementation. + (WebCore::RenderVideo::calcReplacedHeight): Ditto. + (WebCore::RenderVideo::minimumReplacedHeight): Ditto. + * rendering/RenderVideo.h: + +2010-09-17 Darin Adler <darin@apple.com> + + Build fix for platforms that compile Touch. + + * dom/Touch.cpp: + (WebCore::contentsX): + (WebCore::contentsY): + Get zoom factor from Frame rather than FrameView. + +2010-09-17 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + REGRESSION (r60104): Zoom level is unexpectedly reset on page reload + https://bugs.webkit.org/show_bug.cgi?id=42863 + + Moved zoom level back from FrameView to Frame. + I had forgotten that FrameView's lifetime is much shorter than + Frame's, and until that is fixed it's best to leave this on Frame. + + * WebCore.exp.in: Updated. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForDocument): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): + * dom/Document.cpp: + (WebCore::Document::nodesFromRect): + (WebCore::Document::elementFromPoint): + (WebCore::Document::caretRangeFromPoint): + * dom/MouseRelatedEvent.cpp: + (WebCore::contentsX): + (WebCore::contentsY): + (WebCore::pageZoomFactor): + * dom/Node.cpp: + (WebCore::Node::dispatchMouseEvent): + (WebCore::Node::dispatchWheelEvent): + * html/HTMLBodyElement.cpp: + (WebCore::adjustForZoom): + (WebCore::HTMLBodyElement::scrollLeft): + (WebCore::HTMLBodyElement::setScrollLeft): + (WebCore::HTMLBodyElement::scrollTop): + (WebCore::HTMLBodyElement::setScrollTop): + (WebCore::HTMLBodyElement::scrollHeight): + (WebCore::HTMLBodyElement::scrollWidth): + * html/ImageDocument.cpp: + (WebCore::pageZoomFactor): + (WebCore::ImageDocument::scale): + (WebCore::ImageDocument::imageFitsInWindow): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::innerHeight): + (WebCore::DOMWindow::innerWidth): + (WebCore::DOMWindow::scrollX): + (WebCore::DOMWindow::scrollY): + (WebCore::DOMWindow::scrollTo): + * page/DragController.cpp: + (WebCore::elementUnderMouse): + * rendering/RenderView.cpp: + (WebCore::RenderView::zoomFactor): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::currentScale): + (WebCore::SVGSVGElement::setCurrentScale): + Get zoom factor from Frame rather than FrameView. + + * page/Frame.cpp: + (WebCore::parentPageZoomFactor): Moved back here from FrameView. + (WebCore::parentTextZoomFactor): Ditto. + (WebCore::Frame::Frame): Ditto. + (WebCore::Frame::setPageZoomFactor): Ditto. + (WebCore::Frame::setTextZoomFactor): Ditto. + (WebCore::Frame::setPageAndTextZoomFactors): Ditto. + + * page/Frame.h: Moved functions and data for zooming back here + from FrameView. + + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + * page/FrameView.h: + Removed code from here. + +2010-09-17 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Reduce minimum DOMTimer interval + https://bugs.webkit.org/show_bug.cgi?id=45362 + + Reduced the minimum allowed DOMTimer interval to 4ms. This has us matching Chrome, + which hasn't had any problem with 4ms in the past 2 years, as well as increasing our + performance on perf tests that have tight frequent loops such as canvas "animation" + performance tests. + + No new tests added. Can't reliably instrument a test in javascript to verify that + the minimum clamped interval time is in fact 4ms. + + * WebCore.exp.in: + * page/DOMTimer.cpp: Removed old comments. + * page/DOMTimer.h: Removed old comments. + * page/Settings.cpp: Exposted new method to set minimum DOMTimer interval. + * page/Settings.h: + +2010-09-17 Marc-Antoine Ruel <maruel@chromium.org> + + Reviewed by Dimitri Glazkov. + + [Chromium] Split webcore_platform off webcore_remaining + + Further reduce webcore_remaining size by moving platform/ code in its + own static libary. + https://bugs.webkit.org/show_bug.cgi?id=45915 + + * WebCore.gyp/WebCore.gyp: + +2010-09-13 Matt Perry <mpcomplete@chromium.org> + + Reviewed by Darin Fisher. + + Have V8DOMWindowShell ask the embedder whether to run a V8 extension + in a particular script context. + https://bugs.webkit.org/show_bug.cgi?id=45721 + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::createNewContext): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::registeredExtensionWithV8): + (WebCore::V8Proxy::registerExtension): + * bindings/v8/V8Proxy.h: + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::allowScriptExtension): + * loader/FrameLoaderClient.h: + +2010-09-17 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + REGRESSION (r66711): Plug-in replacement text is never shown + https://bugs.webkit.org/show_bug.cgi?id=45997 + <rdar://problem/8446766> + + Don't return when the plug-in has replacement text. + + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::paintReplaced): + +2010-09-17 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Unreviewed, build fix. Add files missed in r67704. + + * CMakeLists.txt: + +2010-09-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Remove scroll and clip layers for WKCACFLayerRenderer + https://bugs.webkit.org/show_bug.cgi?id=45922 + + WKCACFLayerRenderer no longer needs its own layers for managing scrolling + and clipping, because RenderLayerCompositor provides this functionality. + + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Remove call to setScrollFrame(). + (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Ditto. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: Remove references to scroll and clip layers + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): + (WebCore::WKCACFLayerRenderer::setRootChildLayer): + (WebCore::WKCACFLayerRenderer::destroyRenderer): + (WebCore::WKCACFLayerRenderer::resize): + * platform/graphics/win/WKCACFLayerRenderer.h: + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::layerTreeAsText): Dump the layers from the root platform layer. + (WebCore::RenderLayerCompositor::requiresScrollLayer): On Windows, + always say yes. + +2010-09-17 Jian Li <jianli@chromium.org> + + Reviewed by Dmitry Titov. + + createBlobURL with no argument causes crash. + https://bugs.webkit.org/show_bug.cgi?id=45880 + + The fix is to check if the passing blob argument is NULL or not. + + Test: fast/files/create-blob-url-crash.html + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::createPublicBlobURL): + * page/DOMWindow.idl: Add attribute to convert null string to undefined. + +2010-09-17 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac + https://bugs.webkit.org/show_bug.cgi?id=45911 + + * WebCore.exp.in: + +2010-09-17 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + ASSERTION FAILED: m_loadEventDelayCount + https://bugs.webkit.org/show_bug.cgi?id=45790 + + * dom/AsyncScriptRunner.cpp: + (WebCore::AsyncScriptRunner::timerFired): Protect document before we go running scripts. + +2010-09-17 Stephen White <senorblanco@chromium.org> + + Reviewed by Kenneth Russell. + + [CHROMIUM] GPU-accelerated canvas should work in test_shell. + https://bugs.webkit.org/show_bug.cgi?id=45968 + + In order for the shaders in GPU-accelerated canvas to work in both the + GraphicsContext3D / GLES2 path as well as chromium's test_shell (which + passes them to the Mesa backend unmodified), the precision specifiers + in the fragment shader have to be wrapped in #if GL_ES. + + Soon to be covered by many layout tests. + + * platform/graphics/gpu/SolidFillShader.cpp: + (WebCore::SolidFillShader::create): + * platform/graphics/gpu/TexShader.cpp: + (WebCore::TexShader::create): + +2010-09-17 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] [REGRESSION] Listbox rendering is incorrect + https://bugs.webkit.org/show_bug.cgi?id=45941 + + Only apply the shadow tiling optimization to a layer if the GraphicsContext + has a shadow. + + This is covered by manual-tests/select-element-type-select.html. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawBorderlessRectShadow): Before applying the tiled shadow optimization + first check to see if the context has a shadow at all. + +2010-09-17 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Oliver Hunt. + + [GTK] FontPlatformDataFreeType should use smart pointers to hold its members + https://bugs.webkit.org/show_bug.cgi?id=45917 + + Have FontPlatformDataFreeType use smart pointers to hold its reference-counted + members. Also move the FcPattern specialization from OwnPtrCairo to PlatformRefPtrCairo + as this type is reference-counted. + + No new tests as this should not introduce any functionality changes. + + * platform/graphics/cairo/FontCacheFreeType.cpp: + (WebCore::FontCache::getFontDataForCharacters): Updated to reflect smart pointer changes. + (WebCore::FontCache::createFontPlatformData): Ditto. + * platform/graphics/cairo/FontPlatformDataFreeType.cpp: + (WebCore::FontPlatformData::FontPlatformData): Ditto. + (WebCore::FontPlatformData::operator=): Ditto. + (WebCore::FontPlatformData::~FontPlatformData): Ditto. + (WebCore::FontPlatformData::isFixedPitch): Ditto. + (WebCore::FontPlatformData::operator==): Ditto. + * platform/graphics/cairo/FontPlatformDataFreeType.h: + (WebCore::FontPlatformData::FontPlatformData): Ditto. + (WebCore::FontPlatformData::scaledFont): Ditto. + (WebCore::FontPlatformData::hash): Ditto. + (WebCore::FontPlatformData::isHashTableDeletedValue): Ditto. + * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: + (WebCore::GlyphPage::fill): Ditto. + * platform/graphics/cairo/OwnPtrCairo.cpp: Removed FcPattern specialization. + * platform/graphics/cairo/OwnPtrCairo.h: Ditto. + * platform/graphics/cairo/PlatformRefPtrCairo.cpp: Added FcPattern and cairo_scaled_font_t specializations. + (WTF::refPlatformPtr): Ditto. + (WTF::derefPlatformPtr): Ditto. + * platform/graphics/cairo/PlatformRefPtrCairo.h: Ditto. + * platform/graphics/cairo/SimpleFontDataCairo.cpp: + (WebCore::SimpleFontData::platformInit): Updated to reflect smart pointer changes. + (WebCore::SimpleFontData::containsCharacters): Ditto. + (WebCore::SimpleFontData::platformWidthForGlyph): Ditto. + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::setPangoAttributes): Ditto. + +2010-09-14 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: show status message below call stack when debugger is paused on DOM breakpoint + https://bugs.webkit.org/show_bug.cgi?id=45114 + + * English.lproj/localizedStrings.js: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::performSearch): + (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): + (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): + (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): + (WebCore::InspectorDOMAgent::descriptionForDOMEvent): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didPause): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype.updateStatus.formatters.s): + (WebInspector.CallStackSidebarPane.prototype.updateStatus.append): + (WebInspector.CallStackSidebarPane.prototype.updateStatus): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.linkifyNodeById): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.debuggerPaused): + * inspector/front-end/inspector.css: + (.pane > .body .placard + .info): + * inspector/front-end/inspector.js: + (WebInspector.pausedScript): + (WebInspector.formatLocalized): + +2010-09-17 Johnny Ding <jnd@chromium.org> + + Reviewed by Adam Barth. + + Stop history reload navigation to bypass WebKit's popup blocker. + Now history reload can only navigate the page in self frame, no matter + what target frame is defined in <base> and no new window can be created. + https://bugs.webkit.org/show_bug.cgi?id=45369 + + Test: fast/events/popup-blocked-from-history-reload.html + + * loader/RedirectScheduler.cpp: + (WebCore::ScheduledNavigation::ScheduledNavigation): + (WebCore::ScheduledNavigation::wasUserGesture): + Move the m_wasUserGesture to base class ScheduledNavigation. Then all + asynchronous navigation situations can restore the correct gesture state + during the real navigation process. + (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): + (WebCore::ScheduledURLNavigation::fire): + (WebCore::ScheduledURLNavigation::referrer): + (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation): + (WebCore::ScheduledHistoryNavigation::fire): + (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): + (WebCore::ScheduledFormSubmission::fire): + (WebCore::RedirectScheduler::scheduleHistoryNavigation): + +2010-09-16 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by James Robinson. + + [chromium] Clip the update region of an ImageLayerChromium to actual size + of the image bitmap to prevent uninitialized memory access when uploading + the dirty region to the texture. + https://bugs.webkit.org/show_bug.cgi?id=45937 + + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContents): + +2010-09-17 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by David Hyatt. + + Remove extraneous RenderObject traversal. + https://bugs.webkit.org/show_bug.cgi?id=45821 + + This code always exits in the first iteration of the loop, + because in the context of this call, node->renderer()->node() != 0 + is always true. + + No behavior change, covered by existing tests. + + * page/EventHandler.cpp: + (WebCore::EventHandler::canMouseDownStartSelect): Removed the loop. + (WebCore::EventHandler::canMouseDragExtendSelect): Ditto. + +2010-09-17 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports + resource as not cached to InspectorController. + https://bugs.webkit.org/show_bug.cgi?id=45961 + + Web Inspector: FrameLoader::loadedResourceFromMemoryCache reports + resource as not cached to InspectorController. + There is one path in control flow that leads to resources being + reported as not cached. Patch to follow. + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::markResourceAsCached): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::markAsCached): + (WebCore::InspectorResource::updateResponse): + * inspector/InspectorResource.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadedResourceFromMemoryCache): + +2010-09-17 Alexander Pavlov <apavlov@chromium.org> + + Unreviewed, build fix. Add files missed in the previous commit. + + * GNUmakefile.am: + * css/CSSPropertySourceData.cpp: Added. + (WebCore::SourceRange::SourceRange): + (WebCore::SourceRange::operator=): + (WebCore::CSSPropertySourceData::CSSPropertySourceData): + (WebCore::CSSPropertySourceData::operator=): + (WebCore::CSSPropertySourceData::toString): + (WebCore::CSSPropertySourceData::hash): + (WebCore::CSSPropertySourceData::init): + * css/CSSPropertySourceData.h: Added. + (WebCore::CSSPropertySourceData::~CSSPropertySourceData): + (WebCore::CSSStyleSourceData::create): + +2010-09-15 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Provide source-based properties for style declarations to CSSParser clients + + This change: + - Enables InspectorCSSStore to extract CSS stylesheet text for all source-based stylesheets, + even with the resource tracking turned off. + - Adds to CSSParser a capability of source-related style declaration data extraction: + * Start/end source offsets for a declaration, relative to the parent stylesheet start or the "style" attribute value. + * Start/end source offsets for CSS properties, relative to the declaration start. + * CSS property data: name, value, priority, WebCore parsability (i.e. if the property is understood by WebCore). + - Provides the extracted data to the WebInspector frontend via InspectorDOMAgent::getStyleSourceData(). + https://bugs.webkit.org/show_bug.cgi?id=44949 + + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSGrammar.y: + * css/CSSMutableStyleDeclaration.h: + (WebCore::CSSMutableStyleDeclaration::node): + * css/CSSParser.cpp: + (WebCore::CSSParser::CSSParser): + (WebCore::CSSParser::parseSheet): + (WebCore::CSSParser::parseDeclaration): + (WebCore::CSSParser::createStyleRule): + (WebCore::CSSParser::markRuleBodyStart): + (WebCore::CSSParser::markPropertyStart): + (WebCore::CSSParser::markPropertyEnd): + * css/CSSParser.h: + (WebCore::CSSParser::resetPropertyMarks): + * css/CSSPropertySourceData.cpp: Added. + (WebCore::SourceRange::SourceRange): + (WebCore::SourceRange::operator=): + (WebCore::CSSPropertySourceData::CSSPropertySourceData): + (WebCore::CSSPropertySourceData::operator=): + (WebCore::CSSPropertySourceData::toString): + (WebCore::CSSPropertySourceData::hash): + (WebCore::CSSPropertySourceData::init): + * css/CSSPropertySourceData.h: Added. + (WebCore::CSSPropertySourceData::~CSSPropertySourceData): + (WebCore::CSSStyleSourceData::create): + * inspector/Inspector.idl: + * inspector/InspectorCSSStore.cpp: + (WebCore::InspectorCSSStore::reset): + (WebCore::InspectorCSSStore::styleSheetText): + (WebCore::InspectorCSSStore::resourceStyleSheetText): + (WebCore::InspectorCSSStore::inlineStyleSheetText): + (WebCore::InspectorCSSStore::getStyleSourceData): + (WebCore::InspectorCSSStore::extractRanges): + (WebCore::InspectorCSSStore::getStyleAttributeRanges): + (WebCore::InspectorCSSStore::getParentStyleSheet): + (WebCore::InspectorCSSStore::inlineStyleElement): + * inspector/InspectorCSSStore.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::resourceContentForURL): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getStyleSourceData): + (WebCore::InspectorDOMAgent::buildObjectForStyle): + * inspector/InspectorDOMAgent.h: + +2010-09-17 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Show node description in inspector highlight + https://bugs.webkit.org/show_bug.cgi?id=20930 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::drawNodeHighlight): + (WebCore::InspectorController::drawElementTitle): + * inspector/InspectorController.h: + +2010-09-16 takano takumi <takano1@asia.apple.com> + + Reviewed by Kent Tamura. + + https://bugs.webkit.org/show_bug.cgi?id=45020 + Support "block-flow" and "writing-mode": interpret properties into RenderStyle + + Fixed a regression in SVG test introduced by my previous change. + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::operator EWritingMode): + * css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGValue): + +2010-09-16 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Add entry points to GraphicsContext3D needed for Chromium compositor port + https://bugs.webkit.org/show_bug.cgi?id=45939 + + Added entry points for two Chromium-specific extensions, and added + a flag to the GraphicsContext3D constructor, currently unsupported + by all ports (including Chromium), indicating whether the context + should render directly to the passed HostWindow or off-screen per + the current semantics. The switch to use GraphicsContext3D in + Chromium's compositor will follow in a subsequent patch. + + No new tests; functionality is unchanged. Built and tested + Chromium and WebKit on Mac OS X. + + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::supportsMapSubCHROMIUM): + (WebCore::GraphicsContext3D::mapBufferSubDataCHROMIUM): + (WebCore::GraphicsContext3D::unmapBufferSubDataCHROMIUM): + (WebCore::GraphicsContext3D::mapTexSubImage2DCHROMIUM): + (WebCore::GraphicsContext3D::unmapTexSubImage2DCHROMIUM): + (WebCore::GraphicsContext3D::supportsCopyTextureToParentTextureCHROMIUM): + (WebCore::GraphicsContext3D::copyTextureToParentTextureCHROMIUM): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::create): + (WebCore::GraphicsContext3D::GraphicsContext3D): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::create): + (WebCore::GraphicsContext3D::GraphicsContext3D): + +2010-09-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by James Robinson. + + In layerTreeAsText output, avoid printing properties which have their default values + https://bugs.webkit.org/show_bug.cgi?id=45931 + + Don't dump properties that have their default values to simplify output. + + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::dumpProperties): + +2010-09-16 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] GraphicsContext: Remove unused variable + + GraphicsContextPlatformPrivate::redirect wasn't used for anything. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::p): + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + +2010-09-16 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] Remove unnecessary QPainter::clipPath() call in TransparencyLayer() + https://bugs.webkit.org/show_bug.cgi?id=45923 + + QPainter::clipPath() can be very expensive, so use QPainter::hasClipping() + instead of QPainter::clipPath().isEmpty(). + + * platform/graphics/qt/TransparencyLayer.h: + (WebCore::TransparencyLayer::TransparencyLayer): + +2010-09-16 David Hyatt <hyatt@apple.com> + + Reviewed by Eric Seidel. + + Fix for regression from my previous check-in. Make sure not to move the LayoutRepainter line + below the setHeight(0) call. This meant it snagged the wrong rectangle and we ended up repainting + the world. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + +2010-09-16 takano takumi <takano1@asia.apple.com> + + Reviewed by Dave Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=45020 + Support "block-flow" and "writing-mode": interpret properties into RenderStyle + + Added code that interprets "block-flow" property and "writing-mode" property settings + into a RenderStyle object. + + Test: fast/text/international/block-flow-parser-test.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EBlockFlowDirection): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValueKeywords.in: + * css/SVGCSSValueKeywords.in: + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setBitDefaults): + (WebCore::InheritedFlags::blockFlow): + (WebCore::InheritedFlags::setBlockFlow): + (WebCore::InheritedFlags::initialBlockFlow): + * rendering/style/RenderStyleConstants.h: + +2010-09-16 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Implement dissolveDragImageToFraction + https://bugs.webkit.org/show_bug.cgi?id=45826 + + Convert the drag image from a GdkPixbuf to a Cairo surface. Not only + might this allow code to be shared between Cairo ports it prevents a + full data copy when the image is not resized and makes the implementation + of dissolveDragImageToFraction more straight-forward. + + This feature is covered by manual-tests/drag-image.html. + + * page/gtk/DragControllerGtk.cpp: + (WebCore::DragController::maxDragImageSize): Make the maximum size of the drag + image a little smaller. + * platform/DragImage.h: Changed the drag image type to be a cairo_surface_t*. + * platform/gtk/DragImageGtk.cpp: + (WebCore::dragImageSize): Reimplemented to reflect new drag image type. + (WebCore::deleteDragImage): Ditto. + (WebCore::scaleDragImage): Ditto. + (WebCore::dissolveDragImageToFraction): Filled the stub of this function. + (WebCore::createDragImageFromImage): Reimplemented to reflect new drag image type. + * platform/gtk/GtkVersioning.h: Added definition for gtk_widget_get_realized for older GTK+s. + +2010-09-15 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=38402, paginate columns at layout time rather than at paint time. + + This patch adds support for column breaking at layout time rather than at paint time. New variables have been + added to LayoutState and to ColumnInfo to track column information while laying out. + + The basic idea behind this patch is to retain the columns' paint-time hackery of transforming one long vertical strip + into multiple columns. Now, however, layout is aware of the columns and will move objects up and down vertically in order + to ensure they don't intersect a break. + + Many new tests added in fast/multicol and new results added for existing fast/multicol tests. + + * rendering/ColumnInfo.h: + (WebCore::ColumnInfo::ColumnInfo): + (WebCore::ColumnInfo::columnCount): + (WebCore::ColumnInfo::columnHeight): + (WebCore::ColumnInfo::setColumnCountAndHeight): + (WebCore::ColumnInfo::setColumnHeight): + (WebCore::ColumnInfo::updateMinimumColumnHeight): + (WebCore::ColumnInfo::minimumColumnHeight): + (WebCore::ColumnInfo::forcedBreaks): + (WebCore::ColumnInfo::forcedBreakOffset): + (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks): + (WebCore::ColumnInfo::clearForcedBreaks): + (WebCore::ColumnInfo::addForcedBreak): + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): + (WebCore::LayoutState::clearPaginationInformation): + (WebCore::LayoutState::pageY): + (WebCore::LayoutState::addForcedColumnBreak): + * rendering/LayoutState.h: + (WebCore::LayoutState::LayoutState): + (WebCore::LayoutState::paginatingColumns): + (WebCore::LayoutState::paginated): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::RenderBlock): + (WebCore::RenderBlock::~RenderBlock): + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::estimateVerticalPosition): + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::layoutPositionedObjects): + (WebCore::RenderBlock::paintColumnRules): + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::paintChildren): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::removeFloatingObjects): + (WebCore::RenderBlock::positionNewFloats): + (WebCore::RenderBlock::positionNewFloatOnLine): + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): + (WebCore::RenderBlock::markDescendantBlocksAndLinesForLayout): + (WebCore::RenderBlock::hitTestColumns): + (WebCore::RenderBlock::setDesiredColumnCountAndWidth): + (WebCore::RenderBlock::columnCount): + (WebCore::RenderBlock::columnRectAt): + (WebCore::RenderBlock::layoutColumns): + (WebCore::RenderBlock::adjustPointToColumnContents): + (WebCore::RenderBlock::adjustRectForColumns): + (WebCore::RenderBlock::adjustForColumns): + (WebCore::RenderBlock::setMaxTopMargins): + (WebCore::RenderBlock::setMaxBottomMargins): + (WebCore::RenderBlock::setPaginationStrut): + (WebCore::RenderBlock::setPageY): + (WebCore::RenderBlock::nextPageTop): + (WebCore::inNormalFlow): + (WebCore::RenderBlock::applyBeforeBreak): + (WebCore::RenderBlock::applyAfterBreak): + (WebCore::RenderBlock::adjustForUnsplittableChild): + (WebCore::RenderBlock::adjustLinePositionForPagination): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::paginationStrut): + (WebCore::RenderBlock::pageY): + (WebCore::RenderBlock::maxTopPosMargin): + (WebCore::RenderBlock::maxTopNegMargin): + (WebCore::RenderBlock::maxBottomPosMargin): + (WebCore::RenderBlock::maxBottomNegMargin): + (WebCore::RenderBlock::initMaxMarginValues): + (WebCore::RenderBlock::FloatingObject::FloatingObject): + (WebCore::RenderBlock::FloatingObject::type): + (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::determineStartPosition): + (WebCore::RenderBlock::skipLeadingWhitespace): + (WebCore::RenderBlock::findNextLineBreak): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::mapLocalToContainer): + (WebCore::RenderBox::computeRectForRepaint): + (WebCore::RenderBox::markDescendantBlocksAndLinesForLayout): + * rendering/RenderBox.h: + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderFlexibleBox.h: + * rendering/RenderInline.cpp: + (WebCore::RenderInline::computeRectForRepaint): + (WebCore::RenderInline::mapLocalToContainer): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updatePagination): + (WebCore::RenderLayer::paintChildLayerIntoColumns): + (WebCore::RenderLayer::hitTestChildLayerColumns): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::paint): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::RenderTable): + (WebCore::RenderTable::layout): + * rendering/RenderTable.h: + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::layout): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + * rendering/RenderView.cpp: + (WebCore::RenderView::RenderView): + (WebCore::RenderView::pushLayoutState): + * rendering/RenderView.h: + (WebCore::RenderView::setTruncatedAt): + (WebCore::RenderView::pushLayoutState): + (WebCore::RenderView::popLayoutState): + (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): + (WebCore::LayoutStateMaintainer::push): + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::RootInlineBox): + (WebCore::RootInlineBox::paginationStrut): + (WebCore::RootInlineBox::setPaginationStrut): + +2010-09-16 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Dimitri Glazkov. + + Fix debug crash in HTMLFrameOwnerElement caused by content frame being used after destruction. + https://bugs.webkit.org/show_bug.cgi?id=45737 + + Test: fast/frames/frame-limit.html + + * html/HTMLFrameOwnerElement.cpp: + (WebCore::HTMLFrameOwnerElement::willRemove): + +2010-09-16 Thomas Zander <t.zander@nokia.com> + + Reviewed by Andreas Kling. + + https://bugs.webkit.org/show_bug.cgi?id=45878 + + [Qt] Fixed incorrect Symbian scoping. + + The missing install functionality is only true for mmp based systems. + + * WebCore.pro: limit functionality to mmp systems. + +2010-09-16 Anders Carlsson <andersca@apple.com> + + Fix clang build. + + * page/animation/AnimationBase.h: + Fix struct/class mismatch. + +2010-09-16 Darin Adler <darin@apple.com> + + Reviewed by Andreas Kling. + + Reduce use of HTMLInputElement::inputType so we can remove it later + https://bugs.webkit.org/show_bug.cgi?id=45903 + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isFileUploadButton): Use isFileUpload. + (WebCore::AccessibilityRenderObject::isInputImage): Use isImageButton. + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Use + isCheckbox and isRadioButton. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): Use isImageButton. + + * editing/Editor.cpp: + (WebCore::Editor::setBaseWritingDirection): Use isTextField. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): Use isPasswordField. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::isInPasswordField): Use isPasswordField. + + * html/HTMLInputElement.h: Added isFileUpload, isImageButton, and isSubmitButton. + + * page/Chrome.cpp: + (WebCore::Chrome::setToolTip): Use isSubmitButton and isFileUpload. + + * page/DragController.cpp: + (WebCore::asFileInput): Use isFileUpload. + + * page/EventHandler.cpp: + (WebCore::isSubmitImage): Use isImageButton. + + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::updateFromElement): Use isFileUpload. + +2010-09-16 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: quick fix for crash in InspectorController::loadBreakpoints caused by empty main resource + https://bugs.webkit.org/show_bug.cgi?id=45901 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::breakpointsSettingKey): + +2010-09-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Prevent responseReceivedTime from being > endTime in case mixture of WebCore and Network stack info is used. + https://bugs.webkit.org/show_bug.cgi?id=45892 + + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::endTiming): + +2010-09-16 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: move resourceTracking flag under control of BackendSettings. + + Four Inspector API methods about resourceTracking flag were removed. + Actual state of the flag is transfered as the response of setResourceTracking request. + Initial state of the flag on the frontend side is obtained from settings.backend. + + https://bugs.webkit.org/show_bug.cgi?id=45887 + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::getBackendSettings): + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::setResourceTracking): + * inspector/InspectorController.h: + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): + * inspector/front-end/Settings.js: + (WebInspector.Settings.initialize.populateBackendSettings): + (WebInspector.Settings.initialize): + * inspector/front-end/inspector.js: + +2010-09-16 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + BlobData should be copied for it to be used cross-thread in ThreadableBlobRegistry. + https://bugs.webkit.org/show_bug.cgi?id=45909 + + * fileapi/ThreadableBlobRegistry.cpp: + (WebCore::BlobRegistryContext::BlobRegistryContext): + +2010-09-16 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Simon Fraser. + + [chromium] Fix incorrect drag node/selection painting. + https://bugs.webkit.org/show_bug.cgi?id=45573 + + Drag selections were being incorrectly clipped when dragging a selection + near the bottom of a page that was taller than the viewport. To fix + this, we use paintContents() instead of paint(). + + * page/chromium/FrameChromium.cpp: + (WebCore::Frame::nodeImage): + (WebCore::Frame::dragImageForSelection): + +2010-09-16 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Tony Chang. + + Fix incorrect usage of dissolveDragImageToFraction(). + https://bugs.webkit.org/show_bug.cgi?id=45835 + + createDragImageForSelection() was ignoring the return value of + dissolveDragImageToFraction(). This didn't happen to crash on most + platforms, since most implementations simply modified the image that was + passed in. However, Chromium Mac's implementation actually creates a new + image and returns that instead. This caused us to crash when copying the + image from the renderer to the browser process, since the memory had + already been freed. + + * manual-tests/selection-drag-crash.html: Added. + * platform/DragImage.cpp: + (WebCore::createDragImageForSelection): + +2010-09-16 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r67628. + http://trac.webkit.org/changeset/67628 + https://bugs.webkit.org/show_bug.cgi?id=45904 + + broke the build (Requested by eric_carlson on #webkit). + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + * platform/ContextMenu.cpp: + (WebCore::ContextMenu::populate): + (WebCore::ContextMenu::checkOrEnableIfNeeded): + * platform/ContextMenuItem.h: + * platform/LocalizationStrategy.h: + * platform/LocalizedStrings.cpp: + * platform/LocalizedStrings.h: + * platform/android/LocalizedStringsAndroid.cpp: + * platform/brew/LocalizedStringsBrew.cpp: + * platform/efl/LocalizedStringsEfl.cpp: + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::gtkStockIDFromContextMenuAction): + * platform/gtk/LocalizedStringsGtk.cpp: + * platform/haiku/LocalizedStringsHaiku.cpp: + * platform/wx/LocalizedStringsWx.cpp: + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::absoluteMediaURL): + * rendering/HitTestResult.h: + +2010-09-16 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Fraser. + + CSS: Fix crash in getTimingFunctionValue() + https://bugs.webkit.org/show_bug.cgi?id=45896 + + Use a RefPtr to avoid deleting the TimingFunction prematurely. + + This is covered by existing tests, e.g transitions/inherit-other-props.html + but will only actually crash on picky platforms (or in valgrind.) + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::getTimingFunctionValue): + +2010-09-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: prevent resource timing popover from having scrollers. + https://bugs.webkit.org/show_bug.cgi?id=45883 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._showPopover): + +2010-09-15 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Carlson. + + [GTK] enhanced context menu for media elements + https://bugs.webkit.org/show_bug.cgi?id=45021 + + New items in the media Element context menu: + - play/pause + - mute/unmute + - controls display control + - switch to fullscreen (for video only) + - loop playback control + - copy media url to clipboard + - open in new window + + Test: media/context-menu-actions.html + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + * platform/ContextMenu.cpp: + (WebCore::ContextMenu::populate): + (WebCore::ContextMenu::checkOrEnableIfNeeded): + * platform/ContextMenuItem.h: + * platform/LocalizationStrategy.h: + * platform/LocalizedStrings.cpp: + (WebCore::contextMenuItemTagOpenMediaInNewWindow): + (WebCore::contextMenuItemTagCopyMediaLinkToClipboard): + (WebCore::contextMenuItemTagToggleMediaControls): + (WebCore::contextMenuItemTagToggleMediaLoop): + (WebCore::contextMenuItemTagEnterVideoFullscreen): + (WebCore::contextMenuItemTagMediaPlay): + (WebCore::contextMenuItemTagMediaPause): + (WebCore::contextMenuItemTagMediaMute): + (WebCore::contextMenuItemTagMediaUnMute): + * platform/LocalizedStrings.h: + * platform/android/LocalizedStringsAndroid.cpp: + (WebCore::contextMenuItemTagOpenMediaInNewWindow): + (WebCore::contextMenuItemTagCopyMediaLinkToClipboard): + (WebCore::contextMenuItemTagToggleMediaControls): + (WebCore::contextMenuItemTagToggleMediaLoop): + (WebCore::contextMenuItemTagEnterVideoFullscreen): + (WebCore::contextMenuItemTagMediaPlay): + (WebCore::contextMenuItemTagMediaPause): + (WebCore::contextMenuItemTagMediaMute): + (WebCore::contextMenuItemTagMediaUnMute): + * platform/brew/LocalizedStringsBrew.cpp: + (WebCore::contextMenuItemTagOpenMediaInNewWindow): + (WebCore::contextMenuItemTagCopyMediaLinkToClipboard): + (WebCore::contextMenuItemTagToggleMediaControls): + (WebCore::contextMenuItemTagToggleMediaLoop): + (WebCore::contextMenuItemTagEnterVideoFullscreen): + (WebCore::contextMenuItemTagMediaPlay): + (WebCore::contextMenuItemTagMediaPause): + (WebCore::contextMenuItemTagMediaMute): + (WebCore::contextMenuItemTagMediaUnMute): + * platform/efl/LocalizedStringsEfl.cpp: + (WebCore::contextMenuItemTagOpenMediaInNewWindow): + (WebCore::contextMenuItemTagCopyMediaLinkToClipboard): + (WebCore::contextMenuItemTagToggleMediaControls): + (WebCore::contextMenuItemTagToggleMediaLoop): + (WebCore::contextMenuItemTagEnterVideoFullscreen): + (WebCore::contextMenuItemTagMediaPlay): + (WebCore::contextMenuItemTagMediaPause): + (WebCore::contextMenuItemTagMediaMute): + (WebCore::contextMenuItemTagMediaUnMute): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::gtkStockIDFromContextMenuAction): + * platform/gtk/LocalizedStringsGtk.cpp: + (WebCore::contextMenuItemTagOpenMediaInNewWindow): + (WebCore::contextMenuItemTagCopyMediaLinkToClipboard): + (WebCore::contextMenuItemTagToggleMediaControls): + (WebCore::contextMenuItemTagToggleMediaLoop): + (WebCore::contextMenuItemTagEnterVideoFullscreen): + (WebCore::contextMenuItemTagMediaPlay): + (WebCore::contextMenuItemTagMediaPause): + (WebCore::contextMenuItemTagMediaMute): + (WebCore::contextMenuItemTagMediaUnMute): + * platform/haiku/LocalizedStringsHaiku.cpp: + (WebCore::contextMenuItemTagOpenMediaInNewWindow): + (WebCore::contextMenuItemTagCopyMediaLinkToClipboard): + (WebCore::contextMenuItemTagToggleMediaControls): + (WebCore::contextMenuItemTagToggleMediaLoop): + (WebCore::contextMenuItemTagEnterVideoFullscreen): + (WebCore::contextMenuItemTagMediaPlay): + (WebCore::contextMenuItemTagMediaPause): + (WebCore::contextMenuItemTagMediaMute): + (WebCore::contextMenuItemTagMediaUnMute): + * platform/wx/LocalizedStringsWx.cpp: + (WebCore::contextMenuItemTagOpenMediaInNewWindow): + (WebCore::contextMenuItemTagCopyMediaLinkToClipboard): + (WebCore::contextMenuItemTagToggleMediaControls): + (WebCore::contextMenuItemTagToggleMediaLoop): + (WebCore::contextMenuItemTagEnterVideoFullscreen): + (WebCore::contextMenuItemTagMediaPlay): + (WebCore::contextMenuItemTagMediaPause): + (WebCore::contextMenuItemTagMediaMute): + (WebCore::contextMenuItemTagMediaUnMute): + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::absoluteMediaURL): + (WebCore::HitTestResult::mediaSupportsFullscreen): + (WebCore::HitTestResult::mediaElement): + (WebCore::HitTestResult::toggleMediaControlsDisplay): + (WebCore::HitTestResult::toggleMediaLoopPlayback): + (WebCore::HitTestResult::enterFullscreenForVideo): + (WebCore::HitTestResult::mediaControlsEnabled): + (WebCore::HitTestResult::mediaLoopEnabled): + (WebCore::HitTestResult::mediaPlaying): + (WebCore::HitTestResult::toggleMediaPlayState): + (WebCore::HitTestResult::mediaHasAudio): + (WebCore::HitTestResult::mediaMuted): + (WebCore::HitTestResult::toggleMediaMuteState): + * rendering/HitTestResult.h: + +2010-09-16 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + Crash in WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions + https://bugs.webkit.org/show_bug.cgi?id=45833 + + Test: fast/parser/x-frame-options-detached-document-crash.html + + * dom/Document.cpp: + (WebCore::Document::processHttpEquiv): Other branches in this method already test for a null frame. So it seems to make sense to test that here as well. + +2010-09-16 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] ImageLayerChromium needs to keep a ref to the Image it uses + so that it never tries to access an already destroyed Image. + https://bugs.webkit.org/show_bug.cgi?id=45869 + + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setContentsToImage): + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::setContents): + (WebCore::ImageLayerChromium::updateContents): + * platform/graphics/chromium/ImageLayerChromium.h: + +2010-09-16 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Adam Roben. + + [WINCE] Add platform-specific Image methods + https://bugs.webkit.org/show_bug.cgi?id=28272 + + * platform/graphics/wince/ImageWinCE.cpp: Added. + (WebCore::RGBA32Buffer::asNewNativeImage): + (WebCore::FrameData::clear): + (WebCore::BitmapImage::getHBITMAPOfSize): + (WebCore::BitmapImage::drawFrameMatchingSourceSize): + (WebCore::BitmapImage::draw): + (WebCore::Image::drawPattern): + (WebCore::BitmapImage::drawPattern): + (WebCore::BitmapImage::checkForSolidColor): + +2010-09-16 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] Scripts disappear from scripts panel after navigation + https://bugs.webkit.org/show_bug.cgi?id=45890 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::restoreDebugger): + (WebCore::InspectorController::restoreProfiler): + * inspector/InspectorController.h: + +2010-09-16 Satish Sampath <satish@chromium.org> + + Unreviewed, fixing a build break with VS 2008. + + Fix build break, add the namespace in a friend declaration to get MSVC recognize it properly. + https://bugs.webkit.org/show_bug.cgi?id=45893 + + * fileapi/FileWriter.h: + +2010-09-15 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GStreamer] XOverlay API changes break the build + https://bugs.webkit.org/show_bug.cgi?id=45810 + + Cope with the GStreamer XOverlay API change for the upcoming + 0.10.31 version. + No new tests, build fix only. + + * platform/graphics/gstreamer/GStreamerGWorld.cpp: + (WebCore::GStreamerGWorld::setWindowOverlay): + +2010-09-16 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] V8 port: Fix debug build + + Add missing inclusion of <wtf/text/CString.h> where necessary for debug builds. + + * history/PageCache.cpp: + * html/HTMLElement.cpp: + * html/HTMLMediaElement.cpp: + * loader/DocumentLoader.cpp: + * loader/icon/IconDatabase.cpp: + * loader/icon/IconLoader.cpp: + * storage/AbstractDatabase.cpp: + * storage/Database.cpp: + * storage/DatabaseSync.cpp: + * storage/DatabaseTracker.cpp: + +2010-09-16 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=45852 + Range::selectNode and selectNodeContents misbehave when argument is in another document + + Test: fast/dom/Range/select-node-different-document.html + + There is nothing in DOM Traversal spec that says this shouldn't work, and it does work in + Firefox. + + * dom/Range.cpp: + (WebCore::Range::setDocument): + (WebCore::Range::selectNode): + (WebCore::Range::selectNodeContents): + * dom/Range.h: + +2010-09-16 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Resources panel] [HAR] Need a way to save timing data. + Added support to export HAR to file from Resources panel (conditional on Preferences) + Added support for HARLog (a higher-level aggregate than HAREntry) + https://bugs.webkit.org/show_bug.cgi?id=45663 + + * English.lproj/localizedStrings.js: + * inspector/front-end/HAREntry.js: + (WebInspector.HAREntry.prototype.build): + (WebInspector.HAREntry.prototype._buildTimings): + (WebInspector.HAREntry._toMilliseconds): + (WebInspector.HARLog): + (WebInspector.HARLog.prototype.build): + (WebInspector.HARLog.prototype._buildPages): + (WebInspector.HARLog.prototype._buildMainResourceTimings): + (WebInspector.HARLog.prototype._convertResource): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel): + (WebInspector.ResourcesPanel.prototype.hide): + (WebInspector.ResourcesPanel.prototype._contextMenu): + (WebInspector.ResourcesPanel.prototype._exportAll): + (WebInspector.ResourcesPanel.prototype._exportResource): + * inspector/front-end/Settings.js: + * inspector/front-end/utilities.js: + (): + +2010-09-16 Eric Uhrhane <ericu@chromium.org> + + Reviewed by Jian Li. + + Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM. + https://bugs.webkit.org/show_bug.cgi?id=45798 + + * CMakeLists.txt: + * Configurations/FeatureDefines.xcconfig: + * GNUmakefile.am: + * WebCore.pro: + * dom/EventTarget.cpp: + * dom/EventTarget.h: + * dom/ExceptionCode.h: + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::~ScriptExecutionContext): + * dom/ScriptExecutionContext.h: + * fileapi/AsyncFileWriter.h: + * fileapi/FileEntry.cpp: + * fileapi/FileEntry.h: + * fileapi/FileEntry.idl: + * fileapi/FileError.h: + * fileapi/FileError.idl: + * fileapi/FileException.h: + * fileapi/FileException.idl: + * fileapi/FileStreamProxy.cpp: + * fileapi/FileStreamProxy.h: + * fileapi/FileThread.cpp: + * fileapi/FileThread.h: + * fileapi/FileWriter.cpp: + * fileapi/FileWriter.h: + * fileapi/FileWriter.idl: + * fileapi/FileWriterCallback.h: + * fileapi/FileWriterCallback.idl: + * fileapi/FileWriterClient.h: + * page/DOMWindow.idl: + * platform/AsyncFileStream.h: + * platform/FileStream.cpp: + * platform/FileStream.h: + * platform/FileStreamClient.h: + +2010-09-16 Marc-Antoine Ruel <maruel@chromium.org> + + Reviewed by Dimitri Glazkov. + + Convert WebCore.gyp to use regexp to excludes files instead of listing them in sources!. + + This is necessary because sources! is processed before sources/. This makes + applying broader pattern in sources/ more difficult since it overrides the files + listed in sources!. Having all them in sources/ permits controlling the ordering + of the regexp, thus the final list of included files. + + Fix Harfbuzz and VDMX source files includes in WebCore.gypi and WebCore.gyp + + https://bugs.webkit.org/show_bug.cgi?id=45823 + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + +2010-09-16 Nat Duca <nduca@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Make compositor obey finish flag + https://bugs.webkit.org/show_bug.cgi?id=45552 + + The compositor should obey the finish flag on doComposite. This + flag causes the compositor to finish rendering before returning, + which is needed when resizing the window to avoid flashes of green. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::finish): + * platform/graphics/chromium/LayerRendererChromium.h: + +2010-09-16 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Xan Lopez. + + GTK+ 3.x. updates, gtk_widget_size_request is deprecated and + "activate-slider" style property for scrollbars is gone. + + * platform/gtk/PopupMenuGtk.cpp: + (WebCore::PopupMenuGtk::show): + * platform/gtk/gtk2drawing.c: + (moz_gtk_scrollbar_thumb_paint): + (moz_gtk_combo_box_paint): + +2010-09-16 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Remove FrameLoaderClientQt::webFrame() to use NetworkingContext to get the WebFrame to avoid layering violations + https://bugs.webkit.org/show_bug.cgi?id=42293 + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivate::commitLoad): + +2010-09-16 Ryuan Choi <ryuan.choi@samsung.com> + + Unreviewed build fix for EFL + + [EFL] REGRESSION(67567) FontCacheCairo was removed + https://bugs.webkit.org/show_bug.cgi?id=45858 + + * CMakeListsEfl.txt: + +2010-09-16 Yong Li <yoli@rim.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=37117 + + Add platform-independent JPEG/PNG image encoders that + work with big endian RGBA source data. + + There's no layout test because this patch does't make + any port start using the encoders. + + * platform/image-encoders/JPEGImageEncoder.cpp: Added. + * platform/image-encoders/JPEGImageEncoder.h: Added. + * platform/image-encoders/PNGImageEncoder.cpp: Added. + * platform/image-encoders/PNGImageEncoder.h: Added. + +2010-09-15 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + Allow the embedder to specify the base path for IndexedDB. + https://bugs.webkit.org/show_bug.cgi?id=45815 + + Existing tests provide coverage. Use the indexedDBPath parameter that's + already on the group settings object. Pass this parameter into the backend + which will use it rather than a hard coded tmp directory location. If + nothing is specified, assume it should be an in-memory temporary database. + (This is useful for bringup and Chromium's incognito mode.) + + * storage/IDBFactory.cpp: + (WebCore::IDBFactory::open): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::openSQLiteDatabase): + (WebCore::createTables): + (WebCore::IDBFactoryBackendImpl::open): + * storage/IDBFactoryBackendImpl.h: + * storage/IDBFactoryBackendInterface.h: + +2010-09-16 Yong Li <yoli@rim.com> + + Reviewed by George Staikos. + + Fix the bug that GIF image down sampling can miss some lines. + https://bugs.webkit.org/show_bug.cgi?id=45322 + + Test: fast/images/gif-large-checkerboard.html + + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::haveDecodedRow): + +2010-09-16 Philippe Normand <pnormand@igalia.com> + + Reviewed by Andreas Kling. + + [GStreamer] un-needed header includes in MediaPlayerPrivate + https://bugs.webkit.org/show_bug.cgi?id=45877 + + Include only the headers we need. + No new tests, #includes cleanup only. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + +2010-09-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: console.group(object) does not allow object to be expanded. + https://bugs.webkit.org/show_bug.cgi?id=45806 + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleGroup.prototype.addMessage): + * inspector/front-end/treeoutline.js: + (TreeElement.treeElementToggled): + +2010-09-08 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + Complete index support for IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=45386 + + Add the rest of the index related API for IndexedDB. This + includes cursor suport. A bunch of code was also refactored + since it is shared between indexes and objectStores. + + Tests: storage/indexeddb/index-basics.html + storage/indexeddb/index-cursor.html + + additions to others. + + * storage/IDBAny.cpp: + (WebCore::IDBAny::set): + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::value): + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): + (WebCore::IDBCursorBackendImpl::value): + (WebCore::IDBCursorBackendImpl::update): + (WebCore::IDBCursorBackendImpl::continueFunction): + (WebCore::IDBCursorBackendImpl::remove): + (WebCore::IDBCursorBackendImpl::loadCurrentRow): + (WebCore::IDBCursorBackendImpl::database): + * storage/IDBCursorBackendImpl.h: + (WebCore::IDBCursorBackendImpl::create): + * storage/IDBCursorBackendInterface.h: + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::createTables): + * storage/IDBIndex.cpp: + (WebCore::IDBIndex::openObjectCursor): + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::getObject): + (WebCore::IDBIndex::get): + * storage/IDBIndex.h: + (WebCore::IDBIndex::storeName): + * storage/IDBIndex.idl: + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::storeName): + (WebCore::openCursorInternal): + (WebCore::IDBIndexBackendImpl::openObjectCursor): + (WebCore::IDBIndexBackendImpl::openCursor): + (WebCore::getInternal): + (WebCore::IDBIndexBackendImpl::getObject): + (WebCore::IDBIndexBackendImpl::get): + * storage/IDBIndexBackendImpl.h: + (WebCore::IDBIndexBackendImpl::objectStore): + * storage/IDBIndexBackendInterface.h: + * storage/IDBKey.cpp: + (WebCore::IDBKey::fromQuery): + (WebCore::IDBKey::whereSyntax): + (WebCore::IDBKey::leftCursorWhereFragment): + (WebCore::IDBKey::rightCursorWhereFragment): + * storage/IDBKey.h: + * storage/IDBKeyRange.cpp: + (WebCore::IDBKeyRange::leftWhereClauseComparisonOperator): + (WebCore::IDBKeyRange::rightWhereClauseComparisonOperator): + * storage/IDBKeyRange.h: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::openCursor): + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::timerFired): + +2010-09-15 Simon Fraser <simon.fraser@apple.com> + + Fix chromium build. + + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + +2010-09-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=44715 + maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac + + Remove the concept of geometry flipping from GraphicsLayer; geometry flipping will + be taken care of in platform code without the need to complicate the GraphicsLayer API. + + RenderLayerCompositor no longer sets the geometry orientation for the root + platform layer; platform-specific code does this instead. + + This fixes flipped layers in WebKit2, since WebKit2 was already flipping + geometry, and then RenderLayerCompositor was doing an additional flip. + + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::GraphicsLayer): + * platform/graphics/GraphicsLayer.h: + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + * platform/graphics/chromium/GraphicsLayerChromium.h: + * platform/graphics/mac/GraphicsLayerCA.h: + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): + (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): + (WebCore::GraphicsLayerCA::defaultContentsOrientation): + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::flushChanges): + * platform/graphics/qt/GraphicsLayerQt.h: + * platform/graphics/win/GraphicsLayerCACF.cpp: + (WebCore::GraphicsLayerCACF::swapFromOrToTiledLayer): + * platform/graphics/win/GraphicsLayerCACF.h: + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::setRootChildLayer): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + +2010-09-15 Julien Chaffraix <jchaffraix@codeaurora.org> + + Unreviewed. + + Reverting my changes as it is breaking several tests on Gtk and Qt. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseColor): + * css/CSSParser.h: + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setStrokeColor): + (WebCore::CanvasRenderingContext2D::setFillColor): + * html/canvas/CanvasStyle.cpp: + (WebCore::CanvasStyle::createFromString): + * html/canvas/CanvasStyle.h: + +2010-09-15 Julien Chaffraix <jchaffraix@codeaurora.org> + + Reviewed by Andreas Kling. + + Parse system colors in the HTML5 canvas context. + https://bugs.webkit.org/show_bug.cgi?id=39168 + + Test: fast/css/test-setting-canvas-color.html + + Based on previous work by Jan Erik Hanssen <jhanssen@codeaurora.org> + + * 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::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. + +2010-09-14 Erik Arvidsson <arv@chromium.org> + + Reviewed by Darin Adler. + + getComputedStyle() returns different values for different zoom levels + https://bugs.webkit.org/show_bug.cgi?id=32230 + + Test: fast/css/getComputedStyle/computed-style-with-zoom.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::zoomAdjustedPixelValue): + (WebCore::zoomAdjustedNumberValue): + (WebCore::valueForReflection): + (WebCore::getPositionOffsetValue): + (WebCore::getBorderRadiusCornerValue): + (WebCore::computedTransform): + (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): + (WebCore::CSSComputedStyleDeclaration::valueForShadow): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSComputedStyleDeclaration.h: + * css/SVGCSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): + * rendering/RenderObject.h: + (WebCore::adjustForAbsoluteZoom): + * rendering/style/RenderStyle.h: + (WebCore::adjustForAbsoluteZoom): + +2010-09-14 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fully separate Pango and FreeType font backends + https://bugs.webkit.org/show_bug.cgi?id=27442 + + Split FontPlatformData.h into separate versions for Pango, FreeType and WinCairo. + Include the correct file via #ifdef'd includes, like the Chromium port. Also split + FontCacheCairo.cpp into Pango and FreeType versions, as they had almost no code in + common. Finally, rename FontPlatformDataCairo to FontPlatformDataFreeType, as this + compilation unit is used only by the FreeType backend. This change is important to + prevent upcoming fixes to the FreeType backend from affecting other backends. + + No new tests as functionality has not changed. + + * CMakeListsEfl.txt: Update source lists. + * GNUmakefile.am: Update source lists. + * platform/graphics/cairo/FontCacheCairo.cpp: Removed. + * platform/graphics/cairo/FontCacheFreeType.cpp: Added. + (WebCore::FontCache::platformInit): + (WebCore::FontCache::getFontDataForCharacters): + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + (WebCore::FontCache::getTraitsInFamily): + (WebCore::isWellKnownFontName): + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/cairo/FontPlatformData.h: + * platform/graphics/cairo/FontPlatformDataFreeType.cpp: Renamed from WebCore/platform/graphics/cairo/FontPlatformDataCairo.cpp. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::operator=): + (WebCore::FontPlatformData::init): + (WebCore::FontPlatformData::~FontPlatformData): + (WebCore::FontPlatformData::isFixedPitch): + (WebCore::FontPlatformData::operator==): + (WebCore::FontPlatformData::description): + * platform/graphics/cairo/FontPlatformDataFreeType.h: Added. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::size): + (WebCore::FontPlatformData::setSize): + (WebCore::FontPlatformData::syntheticBold): + (WebCore::FontPlatformData::syntheticOblique): + (WebCore::FontPlatformData::scaledFont): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::isHashTableDeletedValue): + (WebCore::FontPlatformData::hashTableDeletedFontValue): + * platform/graphics/gtk/FontCachePango.cpp: Added. + (WebCore::FontCache::platformInit): + (WebCore::FontCache::getFontDataForCharacters): + (WebCore::FontCache::getSimilarFontPlatformData): + (WebCore::FontCache::getLastResortFallbackFont): + (WebCore::FontCache::getTraitsInFamily): + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/gtk/FontPlatformDataPango.h: Added. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::size): + (WebCore::FontPlatformData::setSize): + (WebCore::FontPlatformData::syntheticBold): + (WebCore::FontPlatformData::syntheticOblique): + (WebCore::FontPlatformData::scaledFont): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::isHashTableDeletedValue): + (WebCore::FontPlatformData::hashTableDeletedFontValue): + * platform/graphics/win/FontPlatformDataCairoWin.h: Added. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::hfont): + (WebCore::FontPlatformData::useGDI): + (WebCore::FontPlatformData::fontFace): + (WebCore::FontPlatformData::size): + (WebCore::FontPlatformData::setSize): + (WebCore::FontPlatformData::syntheticBold): + (WebCore::FontPlatformData::syntheticOblique): + (WebCore::FontPlatformData::scaledFont): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::isHashTableDeletedValue): + +2010-09-15 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Simon Fraser. + + AX: when text is auto-truncated, accessibility bounds are wrong + https://bugs.webkit.org/show_bug.cgi?id=45793 + + Allow accessibility to retrieve the absoluteQuads of a text node that + clips to the ellipsis. + + Test: accessibility/ellipsis-text.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::boundingBoxRect): + * rendering/RenderText.cpp: + (WebCore::ellipsisRectForBox): + Make a common method to retrieve the ellipsis rect. + (WebCore::RenderText::absoluteQuads): + Default into the absoluteQuads method that allows for ellipsis clipping. + (WebCore::RenderText::selectionRectForRepaint): + Use the common method for retrieving the ellipsis. + * rendering/RenderText.h: + +2010-09-15 Ariya Hidayat <ariya@sencha.com> + + [Qt] Improve the speed of blur shadow + https://bugs.webkit.org/show_bug.cgi?id=44222 + + Rewrite the shadow blur function with loop unrolls and sliding step + unification for both horizontal and vertical directions. + This gives significant performance improvement on most cases. + + * platform/graphics/qt/ContextShadow.cpp: + (WebCore::shadowBlur): + +2010-09-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + (Take 2). Web Inspector: Provide network-based load timing. + Before this change, inspector used timers taken from + within WebCore notifications (that are by definition + synchronous and serialized). As a result, timing was + affected by the routines running on the main thread + (JavaScript and such). + https://bugs.webkit.org/show_bug.cgi?id=45664 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willSendRequest): + (WebCore::InspectorController::didFinishLoading): + (WebCore::InspectorController::didFailLoading): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::endTiming): + * inspector/InspectorResource.h: + * loader/PingLoader.h: + (WebCore::PingLoader::didFinishLoading): + * loader/ResourceLoadNotifier.cpp: + (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::didFinishLoading): + * loader/ResourceLoader.h: + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didFinishLoading): + * loader/appcache/ApplicationCacheGroup.h: + * loader/icon/IconFetcher.cpp: + (WebCore::IconFetcher::didFinishLoading): + * loader/icon/IconFetcher.h: + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (StreamingClient::didFinishLoading): + * platform/network/BlobResourceHandle.cpp: + (WebCore::BlobResourceHandle::notifyFinish): + * platform/network/ResourceHandleClient.h: + (WebCore::ResourceHandleClient::didFinishLoading): + * platform/network/ResourceLoadTiming.h: + (WebCore::ResourceLoadTiming::deepCopy): + (WebCore::ResourceLoadTiming::operator==): + (WebCore::ResourceLoadTiming::ResourceLoadTiming): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::didFinishLoading): + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::downloadTimerCallback): + (WebCore::parseDataUrl): + * platform/network/mac/ResourceHandleMac.mm: + (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): + (WebCoreSynchronousLoaderClient::didFinishLoading): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::ResourceHandle::onRequestComplete): + (WebCore::ResourceHandle::fileLoadTimer): + (WebCore::ResourceHandle::cancel): + +2010-09-15 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r67551. + http://trac.webkit.org/changeset/67551 + https://bugs.webkit.org/show_bug.cgi?id=45816 + + "Plugin tests fail" (Requested by yurys on #webkit). + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willSendRequest): + (WebCore::InspectorController::didFinishLoading): + (WebCore::InspectorController::didFailLoading): + (WebCore::InspectorController::didCloseWebSocket): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::endTiming): + * inspector/InspectorResource.h: + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::continueAfterContentPolicy): + (WebCore::MainResourceLoader::didFinishLoading): + * loader/MainResourceLoader.h: + * loader/NetscapePlugInStreamLoader.cpp: + (WebCore::NetscapePlugInStreamLoader::didFinishLoading): + * loader/PingLoader.h: + (WebCore::PingLoader::didFinishLoading): + * loader/ResourceLoadNotifier.cpp: + (WebCore::ResourceLoadNotifier::didFinishLoad): + (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): + (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): + * loader/ResourceLoadNotifier.h: + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::didFinishLoading): + (WebCore::ResourceLoader::didFinishLoadingOnePart): + * loader/ResourceLoader.h: + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::didReceiveResponse): + (WebCore::SubresourceLoader::didFinishLoading): + * loader/SubresourceLoader.h: + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didFinishLoading): + * loader/appcache/ApplicationCacheGroup.h: + * loader/icon/IconFetcher.cpp: + (WebCore::IconFetcher::didFinishLoading): + * loader/icon/IconFetcher.h: + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (StreamingClient::didFinishLoading): + * platform/network/BlobResourceHandle.cpp: + (WebCore::BlobResourceHandle::notifyFinish): + * platform/network/ResourceHandleClient.h: + (WebCore::ResourceHandleClient::didFinishLoading): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::didFinishLoading): + (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading): + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::downloadTimerCallback): + (WebCore::parseDataUrl): + * platform/network/mac/ResourceHandleMac.mm: + (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): + (WebCoreSynchronousLoaderClient::didFinishLoading): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + (WebCore::finishedCallback): + (WebCore::parseDataUrl): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::ResourceHandle::onRequestComplete): + (WebCore::ResourceHandle::fileLoadTimer): + (WebCore::ResourceHandle::cancel): + +2010-09-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Provide network-based load timing. + Before this change, inspector used timers taken from + within WebCore notifications (that are by definition + synchronous and serialized). As a result, timing was + affected by the routines running on the main thread + (JavaScript and such). + https://bugs.webkit.org/show_bug.cgi?id=45664 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willSendRequest): + (WebCore::InspectorController::didFinishLoading): + (WebCore::InspectorController::didFailLoading): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::endTiming): + * inspector/InspectorResource.h: + * loader/PingLoader.h: + (WebCore::PingLoader::didFinishLoading): + * loader/ResourceLoadNotifier.cpp: + (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading): + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::didFinishLoading): + * loader/ResourceLoader.h: + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didFinishLoading): + * loader/appcache/ApplicationCacheGroup.h: + * loader/icon/IconFetcher.cpp: + (WebCore::IconFetcher::didFinishLoading): + * loader/icon/IconFetcher.h: + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (StreamingClient::didFinishLoading): + * platform/network/BlobResourceHandle.cpp: + (WebCore::BlobResourceHandle::notifyFinish): + * platform/network/ResourceHandleClient.h: + (WebCore::ResourceHandleClient::didFinishLoading): + * platform/network/ResourceLoadTiming.h: + (WebCore::ResourceLoadTiming::deepCopy): + (WebCore::ResourceLoadTiming::operator==): + (WebCore::ResourceLoadTiming::ResourceLoadTiming): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::didFinishLoading): + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::downloadTimerCallback): + (WebCore::parseDataUrl): + * platform/network/mac/ResourceHandleMac.mm: + (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): + (WebCoreSynchronousLoaderClient::didFinishLoading): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::ResourceHandle::onRequestComplete): + (WebCore::ResourceHandle::fileLoadTimer): + (WebCore::ResourceHandle::cancel): + +2010-09-14 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: small refactoring for monitorXHR backend property. + + Our Inspector API is quite big and can be simplified a bit. + As example for single backend property like monitoringXHR we + have 4 functions in the API. Two functions for frontend + enableMonitoringXHR/disableMonitoringXHR and + two functions for backend monitoringXHRWasEnabled and + monitoringXHRWasDisabled. These functions can be replaced by + one setMonitoringXHR with one 'in' and one 'out' argument. + The initial state of the flag can be gathered from backend + with help of getSettings call where additional section was + added for backend state information. + + https://bugs.webkit.org/show_bug.cgi?id=45759 + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + * inspector/front-end/ConsoleView.js: + * inspector/front-end/Settings.js: + * inspector/front-end/inspector.js: + +2010-09-15 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Multiline console does not work on Windows / Linux. + https://bugs.webkit.org/show_bug.cgi?id=45807 + + * inspector/front-end/ConsoleView.js: + +2010-09-15 Renata Hodovan <reni@inf.u-szeged.hu> + + Reviewed by Dirk Schulze. + + SVGFETurbulenceElement doesn't support dynamic invalidation, when attributes change. + A typo (noStich instead of nostitch) is also fixed in this patch. + https://bugs.webkit.org/show_bug.cgi?id=45809 + + Tests: svg/dynamic-updates/SVGFETurbulenceElement-dom-baseFrequency-attr.html + svg/dynamic-updates/SVGFETurbulenceElement-dom-numOctaves-attr.html + svg/dynamic-updates/SVGFETurbulenceElement-dom-seed-attr.html + svg/dynamic-updates/SVGFETurbulenceElement-dom-stitchTiles-attr.html + svg/dynamic-updates/SVGFETurbulenceElement-dom-type-attr.html + svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html + svg/dynamic-updates/SVGFETurbulenceElement-svgdom-numOctaves-prop.html + svg/dynamic-updates/SVGFETurbulenceElement-svgdom-seed-prop.html + svg/dynamic-updates/SVGFETurbulenceElement-svgdom-stitchTiles-prop.html + svg/dynamic-updates/SVGFETurbulenceElement-svgdom-type-prop.html + + * svg/SVGFETurbulenceElement.cpp: + (WebCore::SVGFETurbulenceElement::parseMappedAttribute): + (WebCore::SVGFETurbulenceElement::svgAttributeChanged): + * svg/SVGFETurbulenceElement.h: + +2010-09-15 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Kenneth Rohde Christiansen. + + [WINCE] Avoid memcpy in TextCodecWinCE::encode + https://bugs.webkit.org/show_bug.cgi?id=45468 + + * platform/text/wince/TextCodecWinCE.cpp: + (WebCore::TextCodecWinCE::encode): + +2010-09-14 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Dumitru Daniliuc. + + Add custom binding code for DirectoryEntry to allow JSON parameters for Flags + https://bugs.webkit.org/show_bug.cgi?id=45724 + + No new tests; tests will be added later. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDirectoryEntryCustom.cpp: Added. + (WebCore::JSDirectoryEntry::getFile): + (WebCore::JSDirectoryEntry::getDirectory): + * bindings/v8/custom/V8DirectoryEntryCustom.cpp: Added. + (WebCore::V8DirectoryEntry::getDirectoryCallback): + (WebCore::V8DirectoryEntry::getFileCallback): + * fileapi/DirectoryEntry.h: + * fileapi/DirectoryEntry.idl: + +2010-09-14 Jia Pu <jpu@apple.com> + + Reviewed by Dan Bernstein. + + Only intercept ESC key press when autocorrection UI is visible. + https://bugs.webkit.org/show_bug.cgi?id=45071 + + Only intercept ESC key when autocorrection panel is shown. Otherwise pressing + ESC will cancel current loading like usual. + + * editing/Editor.cpp: + (WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection + panel is shown. + + * editing/Editor.h: Added declaration of isShowingCorrectionPanel(). + + * editing/EditorCommand.cpp: + (WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation() + when autocorrection panel is shown. + (WebCore::createCommandMap): Replaced isSupported function pointer for + executeCancelOperation() command with supportedDismissCorrectionPanel(). + + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of + new member method declared in base class. + + * page/EditorClient.h: Declared new member method isShowingCorrectionPanel(). + +2010-09-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r67503. + http://trac.webkit.org/changeset/67503 + https://bugs.webkit.org/show_bug.cgi?id=45802 + + This patch broke GTK builds (Requested by jianli_ on #webkit). + + * fileapi/ThreadableBlobRegistry.cpp: + (WebCore::BlobRegistryContext::BlobRegistryContext): + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::resourceData): + (WebCore::ResourceLoader::addData): + * platform/network/BlobResourceHandle.cpp: + * platform/network/BlobResourceHandle.h: + * platform/network/ResourceHandle.h: + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::bufferedData): + +2010-09-14 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Zoom factor for checkboxes and radios. + https://bugs.webkit.org/show_bug.cgi?id=45776 + + RenderThemeQt does not consider RenderStyle::effectiveZoom when calculating sizes of + checkboxes and radios. + + Even with this change the used QStyle must support different sizes for radios and checkboxes. + QWindowStyle and QMacStyle, for example, do not. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::computeSizeBasedOnStyle): + +2010-09-14 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + audio engine: add AudioFileReader files (Mac implementation) + https://bugs.webkit.org/show_bug.cgi?id=36475 + + No new tests since audio API is not yet implemented. + + * platform/audio/AudioFileReader.h: Added. + * platform/audio/mac/AudioFileReaderMac.cpp: Added. + (WebCore::createAudioBufferList): + (WebCore::destroyAudioBufferList): + (WebCore::AudioFileReader::AudioFileReader): + (WebCore::AudioFileReader::~AudioFileReader): + (WebCore::AudioFileReader::readProc): + (WebCore::AudioFileReader::getSizeProc): + (WebCore::AudioFileReader::createBus): + (WebCore::createBusFromAudioFile): + (WebCore::createBusFromInMemoryAudioFile): + * platform/audio/mac/AudioFileReaderMac.h: Added. + (WebCore::AudioFileReader::data): + (WebCore::AudioFileReader::dataSize): + +2010-09-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Oliver Hunt. + + Drawing an image outside the bounds of a canvas still causes repaints + https://bugs.webkit.org/show_bug.cgi?id=45792 + + Some canvas examples, such as http://www.phoboslab.org/biolab/, draw + images outide the bounds of the canvas. If the canvas already had a + non-empty m_dirtyRect, such draws would cause us to do a repaint of + m_dirtyRect again (which goes through the platform-specific invalidation + machinery, which can be slow). + + Optimize this by avoiding extra invalidation when the dirty rect + does not intersect the canvas bounds. + + Not testable because this avoids additional repaints of m_dirtyRect, but + m_dirtyRect has to be non-empty for this to benefit. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::didDraw): + +2010-09-14 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Links from "Profiles" don't lead to "Scripts" + https://bugs.webkit.org/show_bug.cgi?id=45756 + + * inspector/front-end/ProfileDataGridTree.js: + (WebInspector.ProfileDataGridNode.prototype.createCell): use standard routine to create resource link + * inspector/front-end/inspector.js: code cleanup: removed no-op method + (WebInspector.addMainEventListeners): + +2010-09-14 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Adam Roben. + + [WINCE] Use codePage instead of TextEncoding + https://bugs.webkit.org/show_bug.cgi?id=45466 + + Use codePage as member variable to avoid repeated lookup. + + * platform/text/wince/TextCodecWinCE.cpp: + (WebCore::newTextCodecWinCE): + (WebCore::TextCodecWinCE::TextCodecWinCE): + (WebCore::decode): + (WebCore::TextCodecWinCE::decode): + (WebCore::TextCodecWinCE::encode): + * platform/text/wince/TextCodecWinCE.h: + +2010-09-14 Adam Barth <abarth@webkit.org> + + Attempted Chromium build fix. The compiler can't tell that + ASSERT_NOT_REACHED is not reached and so it demands an initialization + of this variable. + + * html/HTMLFontElement.cpp: + (WebCore::HTMLFontElement::parseMappedAttribute): + +2010-09-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Ariya Hidayat. + + [Qt] Wheeling over windowed plugins sometimes cause them to disappear + + * plugins/qt/PluginContainerQt.cpp: + (PluginClientWrapper::x11Event): Pass on captured mouse wheel events + to the effective native window rather than the grandparent widget. + We were calling QWidget::winId() which caused a new X11 window to be + created for the grandparent widget and generally mess things up. + +2010-09-14 Kevin Ollivier <kevino@theolliviers.com> + + [wx] Build fix after move of selectedText() method. + + * platform/wx/PasteboardWx.cpp: + (WebCore::Pasteboard::writeSelection): + +2010-09-14 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Handle <font size=0> as <font size=1> like any other browser + https://bugs.webkit.org/show_bug.cgi?id=39148 + + Update font size parser to match HTML5 spec. The main difference here + is the handling of 0, which now maps to 1 instead of 3. + + * html/HTMLFontElement.cpp: + (WebCore::parseFontSize): + (WebCore::HTMLFontElement::cssValueFromFontSizeNumber): + +2010-09-14 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + document.lastModified gives no output if the response doesn't have a Last-Modified header + https://bugs.webkit.org/show_bug.cgi?id=8475 + + Implement document.lastModified as per HTML5. + + Tests: http/tests/misc/last-modified-parsing.html + http/tests/misc/no-last-modified.html + + * dom/Document.cpp: + (WebCore::Document::lastModified): + +2010-09-14 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + `document.compatMode` is `undefined` when using `application/xhtml+xml` + https://bugs.webkit.org/show_bug.cgi?id=44422 + + Moving the compatMode IDL attribute from HTMLDocument.idl to + Document.idl fixes this bug and improve compliance with HTML5. + + Test: fast/parser/compatMode-in-xhtml.xhtml + + * dom/Document.cpp: + (WebCore::Document::compatMode): + * dom/Document.h: + * dom/Document.idl: + * html/HTMLDocument.cpp: + * html/HTMLDocument.h: + +2010-09-14 Adam Barth <abarth@webkit.org> + + Reviewed by Nate Chapin. + + V8 security checks don't account for shadowing named frames + https://bugs.webkit.org/show_bug.cgi?id=45700 + + Test: http/tests/security/xss-DENIED-frame-name.html + + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::namedSecurityCheck): + - If the property name exists on the object, it will shadow the + named property lookup on the window object. That means we need + to block access if there's shadowing going on. + (WebCore::V8DOMWindow::indexedSecurityCheck): + - I made the corresponding change to this function too, but I don't + think this one can actually be triggered because JavaScript + variable names need to start with a non-digit. + +2010-09-14 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + incorrect tabindex parsing + https://bugs.webkit.org/show_bug.cgi?id=21076 + + Updated our integer parsing for tabindex to use the algorithm from the + HTML5 spec. + + Test: fast/parser/tabindex-parsing-2.html + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): + * html/parser/HTMLParserIdioms.cpp: + (WebCore::parseHTMLInteger): + * html/parser/HTMLParserIdioms.h: + +2010-09-14 Brent Fulgham <bfulgham@webkit.org> + + Build correction, no review. + + * WebCore.vcproj/WebCore.vcproj: Exclude OwnPtrCairo.cpp from + non-Cairo based builds. + +2010-09-14 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + fast/files/apply-blob-url-to-img.html timeout on Leopard + https://bugs.webkit.org/show_bug.cgi?id=45576 + + The failure on Leopard is caused by the static method + ResourceHandle::supportsBufferedData that returns true to indicate that + the buffered data support is enabled for blob resource. However, + BlobResourceHandle does not support this and we need to override this. + + The fix is to change supportsBufferedData method from static to virtual + so that we can override the default behavior in BlobResourceHandle. + + * fileapi/ThreadableBlobRegistry.cpp: Copy BlobData to make it cross-thread. + (WebCore::BlobRegistryContext::BlobRegistryContext): + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::resourceData): + (WebCore::ResourceLoader::addData): + * platform/network/BlobResourceHandle.cpp: + (WebCore::BlobResourceHandle::supportsBufferedData): Override the default + behavior. + * platform/network/BlobResourceHandle.h: + * platform/network/ResourceHandle.h: Made supportsBufferedData virtual. + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::bufferedData): + +2010-09-14 Brent Fulgham <bfulgham@webkit.org> + + Build correction, no review. + + * WebCore.vcproj/WebCore.vcproj: Add missing OwnPtrCairo.cpp + implementation file. + * platform/graphics/cairo/OwnPtrCairo.cpp: Add missing include + for <cairo.h> + +2010-09-14 Chris Guillory <chris.guillory@google.com> + + Reviewed by Chris Fleizach. + + Send all accessibility notifications to Chromium. + https://bugs.webkit.org/show_bug.cgi?id=45156 + + Use postAccessibilityNotification to pass accessibility notifications + to chromium. + + Tests: platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html + platform/chromium/accessibility/post-notification-CheckedStateChanged.html + platform/chromium/accessibility/post-notification-ChildrenChanged.html + platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html + platform/chromium/accessibility/post-notification-LayoutComplete.html + platform/chromium/accessibility/post-notification-LiveRegionChanged.html + platform/chromium/accessibility/post-notification-LoadComplete.html + platform/chromium/accessibility/post-notification-MenuListValueChanged.html + platform/chromium/accessibility/post-notification-RowCollapsed.html + platform/chromium/accessibility/post-notification-RowCountChanged.html + platform/chromium/accessibility/post-notification-RowExpanded.html + platform/chromium/accessibility/post-notification-ScrolledToAnchor.html + platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html + platform/chromium/accessibility/post-notification-SelectedTextChanged.html + platform/chromium/accessibility/post-notification-ValueChanged.html + + * accessibility/chromium/AXObjectCacheChromium.cpp: + (WebCore::AXObjectCache::postPlatformNotification): + * page/chromium/ChromeClientChromium.h: + +2010-09-14 Darin Adler <darin@apple.com> + + Reviewed by Geoffrey Garen. + + Hang processing href attribute containing a million slashes + https://bugs.webkit.org/show_bug.cgi?id=45767 + + Test: fast/css/visited-link-hang.html + + * platform/LinkHash.cpp: + (WebCore::findSlashDotDotSlash): Added a start position argument and + changed types to use size_t consistently instead of a mix. + (WebCore::findSlashSlash): Ditto. + (WebCore::findSlashDotSlash): Ditto. + (WebCore::squeezeOutNullCharacters): Added. + (WebCore::cleanSlashDotDotSlashes): Added. Factored out part + of cleanPath (see below). + (WebCore::mergeDoubleSlashes): Ditto. + (WebCore::cleanSlashDotSlashes): Ditto. + (WebCore::cleanPath): Changed algorithm to not remove as we go to + avoid N^2 behavior; instead replace with null characters and then + do a squeeze operation after the fact. Also moved the body of the + function out of line since we normally don't have to do any cleaning. + This whole thing should go at some point -- it's not the right + algorithm -- but this should eliminate the performance problems + without changing behavior. + +2010-09-14 Nico Weber <thakis@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium]: On Mac, let image layer data row order match skia. + https://bugs.webkit.org/show_bug.cgi?id=45400 + + Make CoreGraphics texture row order match skia's row order, remove all + code that worked around this difference. This also fixes a problem where + image layers would be drawn upside down. + + Covered by existing layout tests, but we don't run these with + compositing yet. + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::SharedValues::SharedValues): + (WebCore::ContentLayerChromium::updateContents): + (WebCore::ContentLayerChromium::updateTextureRect): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::setRootLayerCanvasSize): + (WebCore::LayerRendererChromium::drawLayers): + +2010-09-14 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + applyInlineStyleToNodeRange does not extend run properly + https://bugs.webkit.org/show_bug.cgi?id=45616 + + The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children. + Fixed the bug by only skipping a node that contains the past end node, contains non-editable region, + or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove + styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes + all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded. + + Test: editing/style/inline-style-extend-run.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::containsNonEditableRegion): Added. + (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above. + (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above. + (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways. + (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded. + (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded. + * editing/ApplyStyleCommand.h: + +2010-09-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] V8 port: Get inspector up and running + https://bugs.webkit.org/show_bug.cgi?id=45771 + + * inspector/front-end/WebKit.qrc: Add DebuggerScript.js + +2010-09-14 Oliver Hunt <oliver@apple.com> + + PPC Build fix. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::readFile): + (WebCore::CloneDeserializer::readTerminal): + +2010-09-14 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Andreas Kling. + + [chromium] Remove unused ICU headers + https://bugs.webkit.org/show_bug.cgi?id=45698 + + Remove unused headers. + + * platform/graphics/chromium/FontCacheLinux.cpp: + +2010-09-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antonio Gomes. + + [Qt] Numpad Enter key returns keyCode 0 instead of 13 + https://bugs.webkit.org/show_bug.cgi?id=45014 + + Original patch by Jarred Nicholls <jarred.nicholls@gmail.com> + + There is a missing case statement in the PlatformKeyboardEventQt.cpp + file to handle the Enter button on the number pad. Because it is not + handled, the keyCode returned in a JavaScript event is 0 rather than 13. + + Test: manual-tests/qt/numpad-enter-key.html + + * manual-tests/qt/numpad-enter-key.html: Added. + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::windowsKeyCodeForKeyEvent): + +2010-09-14 Evan Martin <evan@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] building without debug syms broke after recent refactoring + https://bugs.webkit.org/show_bug.cgi?id=45720 + + Now that we build WebCore as multiple libraries, we need to adjust the + flags to turn off debug symbols for all of these libraries. + + No new tests; should only affect an uncommon build flag. + + * WebCore.gyp/WebCore.gyp: + +2010-09-14 Tony Chang <tony@chromium.org> + + Unreviewed, fix chromium compile. + + * platform/graphics/chromium/ImageLayerChromium.h: + +2010-09-14 Nico Weber <thakis@chromium.org> + + Reviewed by Darin Fisher. + + [chromium]: crash less in compositor mode on mac + https://bugs.webkit.org/show_bug.cgi?id=45714 + + The contents image can go away when the dom is updated. Since the + layer tree is updated asynchronously, it needs to ref the native image, + else it will hold on to a stale object. + + This still needs to be done for skia, too. + + * platform/graphics/chromium/ImageLayerChromium.h: + * platform/graphics/chromium/ImageLayerChromium.cpp: + +2010-09-14 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Resources panel] [HAR] Need a way to save timing data. + Added support for resource timings to HAREntry. + https://bugs.webkit.org/show_bug.cgi?id=45663 + + * inspector/front-end/HAREntry.js: + (WebInspector.HAREntry.prototype._buildTimings): + (WebInspector.HAREntry.prototype._toMilliseconds): + (WebInspector.HAREntry.prototype._interval): + +2010-09-14 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Always set LeftButton in PlatformMouseEvent + https://bugs.webkit.org/show_bug.cgi?id=45705 + + AEE_POINTER_GET_MOUSE_MODIFIERS always returns 0, so it is impossible to know + which button is pressed or released. The current code erroneously sets NoButton. + Set LeftButton unconditionally because Brew MP usually runs on touch device. + + * platform/brew/PlatformMouseEventBrew.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + +2010-09-14 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Andreas Kling. + + Move DebuggerScript.js from WebKit/chromium/src/js to WebCore/bindings/v8 + https://bugs.webkit.org/show_bug.cgi?id=45739 + + * bindings/v8/DebuggerScript.js: Added. + +2010-09-10 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Implement on-demand reporting of empty CSS rules matched for a node by WebCore + https://bugs.webkit.org/show_bug.cgi?id=45530 + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::matchRules): + (WebCore::CSSStyleSelector::matchRulesForList): + (WebCore::CSSStyleSelector::matchUARules): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + (WebCore::CSSStyleSelector::styleRulesForElement): + (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): + * css/CSSStyleSelector.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getStyles): + (WebCore::InspectorDOMAgent::buildArrayForPseudoElements): + +2010-09-14 Hyung Song <beergun@company100.net> + + Reviewed by Darin Adler. + + [BREWMP] Set m_size in SharedBuffer::createWithContentsOfFile(); + https://bugs.webkit.org/show_bug.cgi?id=45701 + + SharedBuffer::createWithContentsOfFile() reads file content and saves to + result.m_buffer directly, leaving result.m_size unchanged. + + * platform/brew/SharedBufferBrew.cpp: + (WebCore::SharedBuffer::createWithContentsOfFile): + +2010-09-14 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Move adjustLexerState to the HTMLTokenizer + https://bugs.webkit.org/show_bug.cgi?id=45649 + + This function used let us share code between the tree builder and the + two other users of the HTMLTokenizer. However, now that the tree + builder is all grown up, it can't use this code anymore. The other + users would much rather this code lived on HTMLTokenizer and understood + <script>. This patch attempts to make them happy. + + * html/parser/HTMLPreloadScanner.cpp: + (WebCore::HTMLPreloadScanner::processToken): + * html/parser/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::updateStateFor): + * html/parser/HTMLTokenizer.h: + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::scriptEnabled): + * html/parser/HTMLTreeBuilder.h: + * html/parser/HTMLViewSourceParser.cpp: + (WebCore::HTMLViewSourceParser::updateTokenizerState): + +2010-09-14 Pierre-Antoine LaFayette <plafayet@codeaurora.org> + + Reviewed by Darin Adler. + + REGRESSION (r52839): Incomplete repaint of IMG with text-align:center + https://bugs.webkit.org/show_bug.cgi?id=40142 + + http://trac.webkit.org/changeset/52839 didn't really deal with the inline replaced element case. This just generalizes to all inline content. + + Patch by: Dave Hyatt + + Tests: fast/repaint/block-layout-inline-children-float-positioned.html + fast/repaint/block-layout-inline-children-replaced.html + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2010-09-14 Balazs Kelemen <kb@inf.u-szeged.hu> + + Reviewed by Andreas Kling. + + [Qt] Cookie operations should use NetworkingContext + https://bugs.webkit.org/show_bug.cgi?id=45745 + No new functionality so no new tests. + + * platform/qt/CookieJarQt.cpp: + (WebCore::cookieJar): Use the NetworkingContext for obtaining the QNetworkAccessManager + instead of directly accessing the FrameLoaderClient. + +2010-09-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r67449. + http://trac.webkit.org/changeset/67449 + https://bugs.webkit.org/show_bug.cgi?id=45746 + + This change makes tree red. (Requested by pfeldman on + #webkit). + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): + (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): + (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): + (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): + * editing/ApplyStyleCommand.h: + +2010-09-14 Eric Seidel <eric@webkit.org> + + Unreviewed, reverting changes r67451 and r67451. + Broke lots of builders. + + Only intercept ESC key press when autocorrection UI is visible. + https://bugs.webkit.org/show_bug.cgi?id=45071 + + * editing/Editor.cpp: + * editing/Editor.h: + * editing/EditorCommand.cpp: + (WebCore::createCommandMap): + * loader/EmptyClients.h: + * page/EditorClient.h: + +2010-09-14 Kinuko Yasuda <kinuko@chromium.org> + + Unreviewed; an attempt to fix Chromium Windows build. + + * fileapi/FileEntry.cpp: + +2010-09-13 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: provide support for opening external navigation for links within certain elements + Use default handling for clicks on links that have target="_blank". + Add option for external navigation to URL audit formatter. + https://bugs.webkit.org/show_bug.cgi?id=45671 + + * inspector/front-end/AuditFormatters.js: + (WebInspector.AuditFormatters.url): + * inspector/front-end/inspector.js: + +2010-09-14 Dan Bernstein <mitz@apple.com> + + Build fix. + + * editing/EditorCommand.cpp: + +2010-09-14 Jia Pu <jpu@apple.com> + + Reviewed by Dan Bernstein. + + Only intercept ESC key press when autocorrection UI is visible. + https://bugs.webkit.org/show_bug.cgi?id=45071 + + Only intercept ESC key when autocorrection panel is shown. Otherwise pressing + ESC will cancel current loading like usual. + + * editing/Editor.cpp: + (WebCore::Editor::isShowingCorrectionPanel): Query editor client whether autocorrection + panel is shown. + + * editing/Editor.h: Added declaration of isShowingCorrectionPanel(). + + * editing/EditorCommand.cpp: + (WebCore::supportedDismissCorrectionPanel): Only support executeCancelOperation() + when autocorrection panel is shown. + (WebCore::createCommandMap): Replaced isSupported function pointer for + executeCancelOperation() command with supportedDismissCorrectionPanel(). + + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::isShowingCorrectionPanel): Dummy implementation of + new member method declared in base class. + + * page/EditorClient.h: Declared new member method isShowingCorrectionPanel(). + +2010-09-14 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Remove TextBreakIteratorInternalICUBrew.cpp + https://bugs.webkit.org/show_bug.cgi?id=45691 + + Brew MP no longer depends on ICU for internationalization. + Remove TextBreakIteratorInternalICUBrew.cpp. + + * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Removed. + +2010-09-14 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + applyInlineStyleToNodeRange does not extend run properly + https://bugs.webkit.org/show_bug.cgi?id=45616 + + The bug was caused by applyInlineStyleToNodeRange's skipping a node whenever it has children. + Fixed the bug by only skipping a node that contains the past end node, contains non-editable region, + or has a non-editable parent node. Also fixed a bug that applyInlineStyleToNodeRange does not remove + styled elements in a run that are identical to the one added. addInlineStyleIfNeeded now removes + all styled elements in a run using removeStyleFromRunBeforeApplyingStyle before calling addInlineStyleIfNeeded. + + Test: editing/style/inline-style-extend-run.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::containsNonEditableRegion): Added. + (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): See above. + (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Added, see above. + (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Added support for RemoveAlways. + (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Replaced RemoveAttributesAndElements by RemoveIfNeeded. + (WebCore::ApplyStyleCommand::extractInlineStyleToPushDown): Replaced RemoveAttributesAndElements by RemoveIfNeeded. + * editing/ApplyStyleCommand.h: + +2010-09-13 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Kent Tamura. + + Add one #if guard block to fix Qt builds. + + Web Inspector: WebSocket in Resources tab + https://bugs.webkit.org/show_bug.cgi?id=40768 + + * inspector/InspectorResource.cpp: + +2010-09-13 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Pavel Feldman. + + Add WebSocket resource type to Web Inspector. + + When a new WebSocket connection is established, a line for that connection + will appear in Web Inspector's Resources tab. If the resource name is + clicked, the details of handshake request and response will be shown. + + Web Inspector: WebSocket in Resources tab + https://bugs.webkit.org/show_bug.cgi?id=40768 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addResource): WebSocket resource does not + have an associated loader, thus frame might be null. Need to check it. + (WebCore::InspectorController::removeResource): Ditto. + (WebCore::InspectorController::didCreateWebSocket): + (WebCore::InspectorController::willSendWebSocketHandshakeRequest): + (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorController::didCloseWebSocket): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: Add null checks of m_loader and m_frame, + because WebSocket does not have a loader and we need to allow null for + these variables. + (WebCore::createReadableStringFromBinary): + (WebCore::InspectorResource::InspectorResource): + (WebCore::InspectorResource::create): Factory function of + regular (non-WebSocket) resources. + (WebCore::InspectorResource::createWebSocket): Factory function of + WebSocket resources. + (WebCore::InspectorResource::updateWebSocketRequest): + (WebCore::InspectorResource::updateWebSocketResponse): + (WebCore::InspectorResource::updateScriptObject): m_frame->document() becomes + available when Frame::setDocument() is called. We cannot obtain documentURL + during the constructor or updateRequest() function, because m_frame->document() + is not available yet at that point and documentURL will contain a wrong URL. + As far as I know, updateScriptObject() is the only place where we can safely + obtain documentURL. + (WebCore::InspectorResource::cachedResource): + (WebCore::InspectorResource::type): + (WebCore::InspectorResource::resourceData): + * inspector/InspectorResource.h: + (WebCore::InspectorResource::): + (WebCore::InspectorResource::markWebSocket): + * inspector/front-end/Resource.js: + (WebInspector.Resource.Type.toString): + (WebInspector.Resource.prototype.set type): + (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.prototype._refreshRequestHeaders): + (WebInspector.ResourceView.prototype._refreshResponseHeaders): + (WebInspector.ResourceView.prototype._refreshHeaders): + * inspector/front-end/inspector.css: + (.resources-category-websockets, .resources-category-other): + (.resources-category-websockets .resources-graph-bar): + (.resources-category-websockets.resource-cached .resources-graph-bar): + * inspector/front-end/inspector.js: + (WebInspector.loaded): + (WebInspector.updateResource): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::WebSocketChannel): + (WebCore::WebSocketChannel::disconnect): + (WebCore::WebSocketChannel::didOpen): + (WebCore::WebSocketChannel::didClose): + (WebCore::WebSocketChannel::processBuffer): + (WebCore::WebSocketChannel::identifier): + * websockets/WebSocketChannel.h: + +2010-09-13 W. James MacLean <wjmaclean@google.com> + + Reviewed by Darin Fisher. + + [chromium] Thumbnails not generated for GPU Rendered Pages + https://bugs.webkit.org/show_bug.cgi?id=44127 + + Replicates existing functionality, use existing tests. + Adds pixel-readback for GPU composited pages to allow for thumbnailing, + printing and other services to work with GPU rendered pages. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::getFramebufferPixels): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::rootLayerTextureSize): + +2010-09-13 Kinuko Yasuda <kinuko@chromium.org> + + Unreviewed, build fix for Gtk. + + * bindings/js/JSEntryCustom.cpp: + +2010-09-13 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Adam Barth. + + Make FileEntry and DirectoryEntry methods accessible via Entry instance + https://bugs.webkit.org/show_bug.cgi?id=45553 + + FileEntry- and DirectoryEntry- specific methods must be available on Entry object based on its internal type. + + Added custom toJS/toV8 implementation to Entry interface. + + No new tests; test will be added later when we have complete implementation for the API. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEntryCustom.cpp: Added. + (WebCore::toJS): + * bindings/v8/custom/V8EntryCustom.cpp: Added. + (WebCore::toV8): + * fileapi/DirectoryEntry.h: Nits fix. + * fileapi/DirectoryEntry.idl: Added ConvertUndefinedOrNullToString to path parameter. + * fileapi/Entry.idl: Added CustomToJS attribute. + * fileapi/FileEntry.cpp: + (WebCore::FileEntry::createWriter): + (WebCore::FileEntry::file): + * fileapi/FileEntry.h: + * fileapi/FileEntry.idl: + +2010-09-13 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + REGRESSION: In Gmail, a crash occurs at getDoubleValue() when applying a text color to a new line + https://bugs.webkit.org/show_bug.cgi?id=45632 + + Test: editing/execCommand/query-font-size-with-typing-style.html + + The crash was caused by selectionStartCSSPropertyValue's deleting nodeToRemove before + retrieving the font-size property. Fixed the bug by moving the removal code to the end of the function. + + * editing/Editor.cpp: + (WebCore::Editor::selectionStartCSSPropertyValue): + +2010-09-13 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Darin Adler. + + [BREWMP] Remove WebCore namespace in SSLKeyGeneratorBrew.cpp + https://bugs.webkit.org/show_bug.cgi?id=45690 + + WebCore namespace is not required because getSupportedKeySizes and signedPublicKeyAndChallengeString are already + in namespace WebCore block. + + * platform/brew/SSLKeyGeneratorBrew.cpp: + (WebCore::getSupportedKeySizes): + (WebCore::signedPublicKeyAndChallengeString): + +2010-09-13 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Code simplification needed in Atk Wrapper + https://bugs.webkit.org/show_bug.cgi?id=45687 + + Use TextIterator::rangeLength() to calculate endOffset + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (getSelectionOffsetsForObject): Don't manually iterate over a + artificial new range but just call TextIterator::rangeLength on + the range created between the start and end positions. + +2010-09-13 Sam Weinig <sam@webkit.org> + + Reviewed by Alice Liu. + + Clean up xcode project. + + * WebCore.xcodeproj/project.pbxproj: + +2010-09-13 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Geoff Garen. + + JavaScript dialog should not deactivate media element + https://bugs.webkit.org/show_bug.cgi?id=45688 + + Test: http/tests/media/reload-after-dialog.html + + * bindings/generic/ActiveDOMCallback.cpp: + (WebCore::ActiveDOMObjectCallbackImpl::suspend): Add ReasonForSuspension parameter. + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setJavaScriptPaused): Pass new parameter to suspendActiveDOMObjects. + + * dom/ActiveDOMObject.cpp: + (WebCore::ActiveDOMObject::suspend): Add ReasonForSuspension parameter. + * dom/ActiveDOMObject.h: + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Ditto. + * dom/ScriptExecutionContext.h: + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::CachedFrame): Pass new parameter to suspendActiveDOMObjects. + + * html/HTMLMarqueeElement.cpp: + (WebCore::HTMLMarqueeElement::suspend): Add ReasonForSuspension parameter. + * html/HTMLMarqueeElement.h: + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::stop): Deal with element being suspended. + (WebCore::HTMLMediaElement::suspend): Do nothing unless reason for suspension is document + becoming inactive. + * html/HTMLMediaElement.h: + + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Pass WillShowDialog to suspendActiveDOMObjects. + + * page/SuspendableTimer.cpp: + (WebCore::SuspendableTimer::suspend): Add ReasonForSuspension parameter. + * page/SuspendableTimer.h: + + * websockets/WebSocket.cpp: + (WebCore::WebSocket::suspend): Ditto. + * websockets/WebSocket.h: + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::suspend): Ditto. + * xml/XMLHttpRequest.h: + +2010-09-13 Sam Weinig <sam@webkit.org> + + Fix the mac build. + + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passMousePressEventToSubframe): + +2010-09-13 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Can't scroll on Bugzilla patch review pages on Mac with WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=43555 + + <rdar://problem/8421386> WebKit2: gmail.com is completely unresponsive to clicks + <rdar://problem/8276298> Can't scroll on Bugzilla patch review pages on Mac with WebKit2 (43555) + + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passWheelEventToWidget): + (WebCore::frameHasPlatformWidget): + (WebCore::EventHandler::passMousePressEventToSubframe): + (WebCore::EventHandler::passMouseMoveEventToSubframe): + (WebCore::EventHandler::passMouseReleaseEventToSubframe): + Add WebKit2 mode for these functions based on the presence of a platform widget for a + FrameView. + +2010-09-13 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Kenneth Rohde Christiansen. + + [WINCE] Buildfix for ViewportArguments.cpp + https://bugs.webkit.org/show_bug.cgi?id=45678 + + Use fabs() instead of abs(). + This patch also fixes the return value, when + the value is between -1 and 1. + + * dom/ViewportArguments.cpp: + (WebCore::findUserScalableValue): + +2010-09-13 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + Preparation for eliminating deprecatedParseURL + https://bugs.webkit.org/show_bug.cgi?id=45695 + + Added new HTMLParserIdioms source file, with a name inspired by the HTML + specification, which has a section defining things like "space character" + that talks about common parser idioms. These are idioms for the main HTML + parser and for parsers for various microlanguages as well. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + Added HTMLParserIdioms. + + * css/CSSHelper.h: Fixed indentation and comments here. Point to the new + stripLeadingAndTrailingHTMLSpaces function. + + * html/parser/HTMLParserIdioms.cpp: Added. + * html/parser/HTMLParserIdioms.h: Added. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingNonWhitespace): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace): + Updated for name changes. + + * html/parser/HTMLTreeBuilder.h: Moved functions to HTMLParserIdioms.h. + + * html/HTMLInputElement.cpp: + * html/HTMLMeterElement.cpp: + * html/HTMLProgressElement.cpp: + * html/StepRange.cpp: + * rendering/RenderSlider.cpp: + Updated includes. + + * svg/SVGImageLoader.cpp: + (WebCore::SVGImageLoader::sourceURI): Fixed incorrect use of deprecatedParseURL. + This is for use on the attribute value before building the URL, not on the URL + after building it. I did not add a test case; this is an obscure corner and soon + we will be moving to stripLeadingAndTrailingHTMLSpaces anyway. + * wml/WMLImageLoader.cpp: + (WebCore::WMLImageLoader::sourceURI): Ditto. + +2010-09-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: REGRESSION: WebKit does not report label of web popup buttons + https://bugs.webkit.org/show_bug.cgi?id=45715 + + Test: platform/mac/accessibility/popup-button-title.html + + * WebCore.xcodeproj/project.pbxproj: + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::title): + +2010-09-13 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Dumitru Daniliuc. + + Expose Flags constructor if FileSystem API is Enabled + https://bugs.webkit.org/show_bug.cgi?id=45165 + + This change also includes: + - Changed Flags' attribute names from UPPERCASE to camelCase to reflect the recent spec change. + http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-interface + - Enhanced EnabledAtRuntime attribute to take parameter that is used to generate a RuntimeEnabledFeatures method name. + + No new tests; tests will be added when we fully expose the interface. + + * bindings/v8/V8DOMWindowCustom.cpp: Added custom getter for FlagsConstructor. + * fileapi/Flags.idl: Changed attribute names to camelCase. + * page/DOMWindow.idl: Exposed Flags constructor. + + * bindings/scripts/CodeGenerator.pm: Updated the WK_lcfirst hack to work around getter method for 'create' (create() should be avoided as it's widely used to instantiate an object). + * bindings/scripts/CodeGeneratorV8.pm: Added EnabledAtRuntime=FeatureName support. + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: + (WebDOMTestObj::create): + (WebDOMTestObj::setCreate): + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_set_property): + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::createAttrGetter): + (WebCore::TestObjInternal::createAttrSetter): + (WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrGetter): + (WebCore::TestObjInternal::enabledAtRuntimeAttr1AttrSetter): + (WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrGetter): + (WebCore::TestObjInternal::enabledAtRuntimeAttr2AttrSetter): + (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback): + (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback): + (WebCore::ConfigureV8TestObjTemplate): + +2010-09-13 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + "Implement" EOF processing in AfterBodyMode and AfterAfterBodyMode + https://bugs.webkit.org/show_bug.cgi?id=45647 + + Implements the notImplemented by doing nothing, which is the proper + behavior according to the spec. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-09-13 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + More trivial EOF handling in tree builder + https://bugs.webkit.org/show_bug.cgi?id=45648 + + The spec says to treat these modes like the InBodyMode, which is what + this patch does. Doing so is indistinguishable from our current + behavior, which is why we didn't catch this based on tests. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-09-13 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + SharedGraphicsContext3D's texture cache holds on to images after free + https://bugs.webkit.org/show_bug.cgi?id=45706 + + Each SharedGraphicsContext3D keeps a cache of uploaded textures keyed by NativeImagePtrs. + Whenever the backing native image is deleted it needs to let the SharedGraphicsContext3D know + so that the cache entry and associated texture can also be removed. + + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::removeTextureFor): + (WebCore::SharedGraphicsContext3D::removeTexturesFor): + (WebCore::SharedGraphicsContext3D::allContexts): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + * platform/graphics/skia/NativeImageSkia.cpp: + (WebCore::NativeImageSkia::~NativeImageSkia): + * platform/graphics/skia/NativeImageSkia.h: + +2010-09-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by David Kilzer. + + AX: accessibilityIsIgnored is returning nil when return value expects a BOOL + https://bugs.webkit.org/show_bug.cgi?id=45548 + + Test: platform/mac/accessibility/element-is-ignored.html + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityIsIgnored]): + +2010-09-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + CrashTracer: 874 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 663 + https://bugs.webkit.org/show_bug.cgi?id=45697 + + Inside of AccessibilityTableRow, parentTable() should not use getOrCreate() on the parent table, because the render table may + be in a bad state and accessing internal variables can lead to a crash. + + Test: platform/mac/accessibility/updating-attribute-in-table-row-crash.html + + * accessibility/AccessibilityTableRow.cpp: + (WebCore::AccessibilityTableRow::parentTable): + +2010-09-13 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement EOF handling in TextMode + https://bugs.webkit.org/show_bug.cgi?id=45644 + + This patch is actually covered by a bunch of tests. We were just + magically passing the tests before because of some nutty code in + Document.cpp. + + * dom/Document.cpp: + (WebCore::Document::implicitClose): + - This code was masking the notImplemented in the tree builder. + I also removed the use of the setting because it wasn't working + properly anyway. I'll implement a working version shortly. + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndOfFile): + - Implement per the spec. + +2010-09-13 Enrica Casucci <enrica@apple.com> + + Reviewed by Sam Weining. + + Paste should be implemented in WebCore like Copy and Cut for Mac also. + https://bugs.webkit.org/show_bug.cgi?id=45494 + <rdar://problem/7660537> + + On the Mac platform, the implementation of the paste operation is all done + at the WebKit level. In order to support it on WebKit2 it is necessary to + refactor the code and move this functionality at the level of WebCore like + we already have on Windows. + The original code relies on some in AppKit functions that call back into + WebKit causing problems in WebKit2. All this functionality has been moved + at the level of the editor client where it can be dealt with appropriately. + + * editing/Editor.cpp: + (WebCore::Editor::shouldInsertFragment): + * editing/mac/EditorMac.mm: extended to support Mail specific scenarios. + (WebCore::Editor::pasteWithPasteboard): + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::canShowMIMETypeAsHTML): Added. + (WebCore::EmptyEditorClient::documentFragmentFromAttributedString): Added. + (WebCore::EmptyEditorClient::setInsertionPasteboard): Added to support Mail. + * loader/FrameLoaderClient.h: + * page/EditorClient.h: + * platform/Pasteboard.h: + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeSelection): replaced call to Appkit with one that + doesn't calll back into WebKit. + (WebCore::Pasteboard::documentFragmentWithImageResource): Re-implemented at the + WebCore level. + (WebCore::Pasteboard::documentFragmentWithRtf): Re-implemented at the + WebCore level. + (WebCore::uniqueURLWithRelativePart): Added. + (WebCore::Pasteboard::documentFragment): Extended to include all the functionality + provided in documentFragmentFromPasteboard in WebHTMLView.mm. + +2010-09-13 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Gtk] Reduce the size of the shadow buffer in the paths using the clip region + https://bugs.webkit.org/show_bug.cgi?id=44699 + + Intersect the clip bounding rect with the path that we are going + to use to create the shadow in order to reduce the region we have + to blur. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawPathShadow): + +210-09-13 Darin Fisher <darin@chromium.org> + + Reviewed by David Levin. + + Add option to conditionally compile smooth scrolling support. + https://bugs.webkit.org/show_bug.cgi?id=45689 + + The OS(WINDOWS) conditional becomes unnecessary since + ENABLE(SMOOTH_SCROLLING) should only be specified on + platforms that have a smooth scrolling implementation. + + * platform/ScrollAnimator.cpp: + * platform/ScrollAnimatorWin.cpp: + * platform/ScrollAnimatorWin.h: + +2010-09-13 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Kent Tamura. + + Move functions of StyledMarkupAccumulator below that of MarkupAccumulator + https://bugs.webkit.org/show_bug.cgi?id=45624 + + Moved the declaration of StyledMarkupAccumulator and the definitions of its member functions + to below the definitions of MarkupAccumulator's member functions. + + No new tests are added since this is a cleanup. + + * editing/markup.cpp: + (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): + (WebCore::StyledMarkupAccumulator::appendElement): + (WebCore::StyledMarkupAccumulator::shouldAnnotate): + (WebCore::StyledMarkupAccumulator::wrapWithNode): + (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): + (WebCore::StyledMarkupAccumulator::takeResults): + (WebCore::StyledMarkupAccumulator::appendText): + (WebCore::StyledMarkupAccumulator::renderedText): + (WebCore::StyledMarkupAccumulator::stringValueForRange): + (WebCore::styleFromMatchedRulesForElement): + (WebCore::StyledMarkupAccumulator::removeExteriorStyles): + (WebCore::needInterchangeNewlineAfter): + (WebCore::styleFromMatchedRulesAndInlineDecl): + (WebCore::removeEnclosingMailBlockquoteStyle): + (WebCore::removeDefaultStyles): + +2010-09-13 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Leak in the GraphicsContextCairo drawPathShadow + https://bugs.webkit.org/show_bug.cgi?id=44959 + + Fix a leak of the cairo_path. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawPathShadow): + * platform/graphics/cairo/OwnPtrCairo.cpp: + (WTF::cairo_path_t): + * platform/graphics/cairo/OwnPtrCairo.h: + +2010-09-13 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Fix </sarcasm> + https://bugs.webkit.org/show_bug.cgi?id=45645 + + Umm... Yeah. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTagForInBody): + +2010-09-13 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Darin Adler. + + [WML] Fix build breaks when WML is enabled + https://bugs.webkit.org/show_bug.cgi?id=45628 + + There are build breaks by Bug 22382 when WML is enabled. The handleLinkClick() has an event parameter. + So, we need to set an event when wml invoke the handleLinkClick(). And, doTextFieldCommandFromEvent() + was moved to editor. So, we need to mofidy the invocation in WMLInputElement.cpp + + * wml/WMLAElement.cpp: + (WebCore::WMLAElement::defaultEventHandler): + * wml/WMLInputElement.cpp: + (WebCore::WMLInputElement::defaultEventHandler): + +2010-09-13 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] When a feature is disabled by default, the source necessary to build it are not included in the distribution + https://bugs.webkit.org/show_bug.cgi?id=45230 + + No new tests as this is just a build change. + + * GNUmakefile.am: Move as many sources as possible to the SOURCES primary. + Others should be moved over time as we solve issues with them. + +2010-09-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + REGRESSION (r64816-r64889): Crash in WebCore::AccessibilityRenderObject + https://bugs.webkit.org/show_bug.cgi?id=43807 + + Ensure that visiblePositionForPoint can handle non RenderBoxModelObject types. + + Test: platform/mac/accessibility/visible-position-crash-for-text-node.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::visiblePositionForPoint): + +2010-09-13 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Andreas Kling. + + [Qt] DOM listeners get wrong keycodes for some keys + https://bugs.webkit.org/show_bug.cgi?id=43365 + + Produce the proper keycodes for the print screen key as well as the + keypad insert and delete keys. + + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::windowsKeyCodeForKeyEvent): Fix keycode translation for the mentioned keys. + +2010-09-13 Jonathan Dixon <joth@chromium.org> + + Reviewed by Steve Block. + + [chromium] Port test shell geolocation fixes to DRT + https://bugs.webkit.org/show_bug.cgi?id=45313 + + Also re-apply rolled out patch http://trac.webkit.org/changeset/66886 :- + Add missing virtual destructor to the abstract base class. + + * platform/chromium/GeolocationServiceChromium.cpp: + (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge): + * platform/chromium/GeolocationServiceChromium.h: + +2010-09-13 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: upstream testExpandScope debugger test + https://bugs.webkit.org/show_bug.cgi?id=45260 + + Test: inspector/debugger-expand-scope.html + + * inspector/front-end/InjectedScript.js: return "Arguments" as class name for arguments variable in v8. + (injectedScriptConstructor.): + +2010-09-13 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] ATs should be able to select/unselect text + https://bugs.webkit.org/show_bug.cgi?id=25673 + + Implement AtkText's setSelection and removeSelection functions + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::visiblePositionRangeForRange): + Moved some GTK specific code from a ifdef-endif region to + AccessibilityObjectAtk.cpp + * accessibility/AccessibilityObject.h: + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::getLengthForTextRange): New. + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_text_remove_selection): Implemented following + the lead of GAIL's implementation of the AtkText interface. + (webkit_accessible_text_set_selection): Implemented following + the lead of GAIL's implementation of the AtkText interface. + (webkit_accessible_text_set_caret_offset): Changed to directly use + visiblePositionRangeForRange now that there's no longer a problem + with that, as it was in the past (only worked for text controls). + +2010-08-27 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Antti Koivisto. + + Update support for the viewport meta tag algorithm, to + match the following draft spec: + + http://people.opera.com/rune/TR/ED-css-viewport-20100806/ + + Add common handling of viewport meta tag based on new Opera spec + https://bugs.webkit.org/show_bug.cgi?id=44201 + + Tests: fast/viewport/viewport-1.html + fast/viewport/viewport-10.html + fast/viewport/viewport-100.html + fast/viewport/viewport-101.html + fast/viewport/viewport-102.html + fast/viewport/viewport-103.html + fast/viewport/viewport-104.html + fast/viewport/viewport-105.html + fast/viewport/viewport-106.html + fast/viewport/viewport-107.html + fast/viewport/viewport-108.html + fast/viewport/viewport-109.html + fast/viewport/viewport-11.html + fast/viewport/viewport-110.html + fast/viewport/viewport-111.html + fast/viewport/viewport-112.html + fast/viewport/viewport-113.html + fast/viewport/viewport-114.html + fast/viewport/viewport-115.html + fast/viewport/viewport-116.html + fast/viewport/viewport-117.html + fast/viewport/viewport-118.html + fast/viewport/viewport-119.html + fast/viewport/viewport-12.html + fast/viewport/viewport-120.html + fast/viewport/viewport-121.html + fast/viewport/viewport-122.html + fast/viewport/viewport-123.html + fast/viewport/viewport-124.html + fast/viewport/viewport-125.html + fast/viewport/viewport-126.html + fast/viewport/viewport-127.html + fast/viewport/viewport-13.html + fast/viewport/viewport-14.html + fast/viewport/viewport-15.html + fast/viewport/viewport-16.html + fast/viewport/viewport-17.html + fast/viewport/viewport-18.html + fast/viewport/viewport-19.html + fast/viewport/viewport-2.html + fast/viewport/viewport-20.html + fast/viewport/viewport-21.html + fast/viewport/viewport-22.html + fast/viewport/viewport-23.html + fast/viewport/viewport-24.html + fast/viewport/viewport-25.html + fast/viewport/viewport-26.html + fast/viewport/viewport-27.html + fast/viewport/viewport-28.html + fast/viewport/viewport-29.html + fast/viewport/viewport-3.html + fast/viewport/viewport-30.html + fast/viewport/viewport-31.html + fast/viewport/viewport-32.html + fast/viewport/viewport-33.html + fast/viewport/viewport-34.html + fast/viewport/viewport-35.html + fast/viewport/viewport-36.html + fast/viewport/viewport-37.html + fast/viewport/viewport-38.html + fast/viewport/viewport-39.html + fast/viewport/viewport-4.html + fast/viewport/viewport-40.html + fast/viewport/viewport-41.html + fast/viewport/viewport-42.html + fast/viewport/viewport-43.html + fast/viewport/viewport-44.html + fast/viewport/viewport-45.html + fast/viewport/viewport-46.html + fast/viewport/viewport-47.html + fast/viewport/viewport-48.html + fast/viewport/viewport-49.html + fast/viewport/viewport-5.html + fast/viewport/viewport-50.html + fast/viewport/viewport-51.html + fast/viewport/viewport-52.html + fast/viewport/viewport-53.html + fast/viewport/viewport-54.html + fast/viewport/viewport-55.html + fast/viewport/viewport-56.html + fast/viewport/viewport-57.html + fast/viewport/viewport-58.html + fast/viewport/viewport-59.html + fast/viewport/viewport-6.html + fast/viewport/viewport-60.html + fast/viewport/viewport-61.html + fast/viewport/viewport-62.html + fast/viewport/viewport-63.html + fast/viewport/viewport-64.html + fast/viewport/viewport-65.html + fast/viewport/viewport-66.html + fast/viewport/viewport-67.html + fast/viewport/viewport-68.html + fast/viewport/viewport-69.html + fast/viewport/viewport-7.html + fast/viewport/viewport-70.html + fast/viewport/viewport-71.html + fast/viewport/viewport-72.html + fast/viewport/viewport-73.html + fast/viewport/viewport-74.html + fast/viewport/viewport-75.html + fast/viewport/viewport-76.html + fast/viewport/viewport-77.html + fast/viewport/viewport-78.html + fast/viewport/viewport-79.html + fast/viewport/viewport-8.html + fast/viewport/viewport-80.html + fast/viewport/viewport-81.html + fast/viewport/viewport-82.html + fast/viewport/viewport-83.html + fast/viewport/viewport-84.html + fast/viewport/viewport-85.html + fast/viewport/viewport-86.html + fast/viewport/viewport-87.html + fast/viewport/viewport-88.html + fast/viewport/viewport-9.html + fast/viewport/viewport-90.html + + * dom/ViewportArguments.cpp: + (WebCore::findConfigurationForViewportData): + (WebCore::findSizeValue): + (WebCore::findScaleValue): + (WebCore::findUserScalableValue): + (WebCore::findTargetDensityDPIValue): + (WebCore::setViewportFeature): + * dom/ViewportArguments.h: + (WebCore::ViewportArguments::): + (WebCore::ViewportArguments::ViewportArguments): + (WebCore::ViewportArguments::hasCustomArgument): + +2010-09-13 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Don't add empty strings to list of supported image MIME types + https://bugs.webkit.org/show_bug.cgi?id=45643 + + After <http://trac.webkit.org/changeset/67355> getMIMETypeForExtension() + returns an empty string instead of "application/octet-stream" for unsupported + extensions. Don't add these to the list of supported types, and clean out + the logic that removed "application/octet-stream" from supported types. + + Fixes crash in initializeMIMETypeRegistry() due to inserting String() into + a HashSet<String>. + + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeSupportedImageMIMETypes): + (WebCore::initializeSupportedImageMIMETypesForEncoding): + +2010-09-13 Adam Barth <abarth@webkit.org> + + Attempted Qt build fix. + + * html/parser/HTMLElementStack.cpp: + +2010-09-13 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Apply spec changes to InForeignContentMode + https://bugs.webkit.org/show_bug.cgi?id=45636 + + Now breaking out of foreign content doesn't always bring you back to + HTML. If you have a foreign content element that can contain HTML, you + just get brought back to that element. + + * html/parser/HTMLElementStack.cpp: + (WebCore::HTMLNames::isForeignContentScopeMarker): + (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker): + * html/parser/HTMLElementStack.h: + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-09-13 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Convert notImplemented() to ASSERT_NOT_REACHED + https://bugs.webkit.org/show_bug.cgi?id=45639 + + The reason we never implemented this state is because it's not actually + reachable. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-09-13 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Kenneth Rohde Christiansen. + + [WINCE] Buildfix for ScrollAnimatorWin + https://bugs.webkit.org/show_bug.cgi?id=45595 + + Use fabs() instead of abs(). + + * platform/ScrollAnimatorWin.cpp: + (WebCore::ScrollAnimatorWin::scroll): + (WebCore::ScrollAnimatorWin::animateScroll): + +2010-09-13 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Remove fixed FIXME + https://bugs.webkit.org/show_bug.cgi?id=45637 + + The spec made assertions that were false. Hixie fixed the spec by + removing the assertions. There's no need to keep these FIXMEs in the + code. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTagForInCell): + +2010-09-12 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Remove FIXME now that the HTML5 spec has been updated + https://bugs.webkit.org/show_bug.cgi?id=45634 + + The spec changed to say what we do here so this FIXME isn't needed + anymore. + + Tests: fast/parser/form-pointer-1.html + fast/parser/form-pointer-2.html + fast/parser/form-pointer-3.html + fast/parser/form-pointer-4.html + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + +2010-09-12 Robin Qiu <robin.qiu@torchmobile.com.cn> + + Reviewed by Antonio Gomes. + + https://bugs.webkit.org/show_bug.cgi?id=18768 + Fixed a bug in scroll flow. When we don't have scrollbars, we need to + repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as + scrollContents(); + + Tests: scrollbars/scrollevent-iframe-no-scrolling-wheel.html + scrollbars/scrollevent-iframe-no-scrolling.html + + * page/FrameView.cpp: + (WebCore::FrameView::valueChanged): Added. + * page/FrameView.h: Added a new method. + * platform/ScrollView.cpp: + (WebCore::ScrollView::valueChanged): Added. + (WebCore::ScrollView::updateScrollbars): + * platform/ScrollView.h: Added a new method. + +2010-09-10 MORITA Hajime <morrita@google.com> + + Reviewed by Tony Chang. + + [Chromium] Implement textInputController.hasSpellingMarker() for Chromium + https://bugs.webkit.org/show_bug.cgi?id=45441 + + Added an API for testing marker state. + We locate this here instead of DRT for sharing the logic between + multiple ports. + + * WebCore.exp.in: + * editing/Editor.cpp: + (WebCore::Editor::selectionStartHasSpellingMarkerFor): + * editing/Editor.h: + +2010-09-12 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Adoption agency should use takeAllChildrenFrom + https://bugs.webkit.org/show_bug.cgi?id=45570 + + Before this patch, we were using an unsafe pattern of walking the + sibling list without grabbing references. Instead, we should use the + shiny new takeAllChildrenFrom method that shoves the children into a + vector first. Also, update takeAllChildrenFrom to handle the case + where the old parent is attached. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::takeAllChildrenFrom): + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + * html/parser/HTMLTreeBuilder.h: + +2010-09-12 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + isParsingFragment assert hit in new treebuilder + https://bugs.webkit.org/show_bug.cgi?id=45621 + + Update our list of special tags to match the spec. + + * html/parser/HTMLTreeBuilder.cpp: + +2010-09-12 Robert Hogan <robert@webkit.org> + + Reviewed by Andreas Kling. + + [Qt] Fix http/tests/navigation/reload-subframe-object.html + + We need to bring our use of getMimeTypeForPath() and + getMimeTypeForExtension() into line with WebCore expectations. + + We should use MIMETypeRegistry::getMIMETypeForExtension() for cases + where an empty mimetype should be returned if no match is found, and + MIMETypeRegistry::getMIMETypeForPath() for cases where + 'application/octet-stream' should be returned if no match is found. + + Fixes http/tests/navigation/reload-subframe-object.html + + Based on findings in webkit.org/b/31398 and webkit.org/b/15554. + + https://bugs.webkit.org/show_bug.cgi?id=45613 + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + * platform/qt/MIMETypeRegistryQt.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + +2010-09-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + Neglect unlikely hyphenation opportunities + https://bugs.webkit.org/show_bug.cgi?id=45606 + + Avoid looking for hyphenation points in about 40% of the cases at the cost of missing about + 3% of the hyphenation opportunities. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::tryHyphenating): Bail out if the widest the prefix before the hyphen can be is no more + than 5/4 the font size. + +2010-09-12 Oswald Buddenhagen <oswald.buddenhagen@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] fix qt_webkit_version.pri install for in-Qt builds + + Always add the target, even if building inside Qt - as opposed to the + headers and libraries, there are no rules for that coming from + qbase.pri. + + Task-number: QTBUG-13306 + + * WebCore.pro: + +2010-09-12 Oswald Buddenhagen <oswald.buddenhagen@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Let QtWebKit inject itself into the qt configuration + + i.e., don't explicitly deal with qt_webkit_version.pri outside of the + webkit source directory. + + Task-number: QTBUG-12379 + + * WebCore.pro: + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Build fix. + + * WebCore.pro: Re-add erroneously removed sources. + +2010-09-12 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Remove Path::closeSubpath() workaround for broken miter joins + https://bugs.webkit.org/show_bug.cgi?id=45618 + + Removed Path::closeCanvasSubpath() and share the logic between Canvas and SVG + paths. The problem was actually in Qt's path stroker and has been fixed for Qt 4.7.1. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::closePath): + * platform/graphics/Path.h: + * platform/graphics/qt/PathQt.cpp: + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Fix the Gtk and minimal builds. + + * plugins/PluginView.cpp: + (WebCore::PluginView::npObject): Correct the #ifdefs. + (WebCore::PluginView::bindingInstance): Moved npErr variable + into npObject() function where it is used. + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + [Qt] Prospective build fix for minimal build. + + * plugins/PluginView.cpp: Guard newly added function + by ENABLE_NETSCAPE_PLUGIN feature. + (WebCore::PluginView::npObject): + * plugins/PluginView.h: + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Add support for binding QtWebKit to a QScriptEngine. + + The ScriptController owns the V8 context, and this patch + for the Qt build also gives it a QScriptEngine, that has + been instructed to adopt the V8 context. + + This is the enabler for the QObject bindings, used in + the API and DRT. + + * WebCore.pro: + * bindings/v8/ScriptController.cpp: Include QScriptEngine + for the Qt build, to let the ~ScriptController destructor + find the QScriptEngine destructor (via OwnPtr). + * bindings/v8/ScriptController.h: Declare getters. + * bindings/v8/ScriptControllerQt.cpp: Added. + (WebCore::ScriptController::qtScriptEngine): Implement + engine adoption. + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Last bits and pieces for a V8 build. + + When building with V8, get it from QtScript. + + * WebCore.pro: Use QtScript, removed non-existant + bridge files from the build. + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Add PlatformBridge for V8 build. + + Add the minimalisting platform bridge with the two + methods needed by NPV8Object.cpp. + + * WebCore.pro: + * platform/qt/PlatformBridge.h: Added. + * platform/qt/PlatformBridgeQt.cpp: Added. + (WebCore::PlatformBridge::popupsAllowed): + (WebCore::PlatformBridge::pluginScriptableObject): + * plugins/PluginView.cpp: Refactor the plugin object + retrieval code into a separate function, called by + bindingInstance() and PlatformBridge. + (WebCore::PluginView::npObject): + (WebCore::PluginView::bindingInstance): + * plugins/PluginView.h: + +2010-09-11 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + http/tests/media/text-served-as-text.html failing on Windows (Debug+Release) + https://bugs.webkit.org/show_bug.cgi?id=45603 + + Disable the eat/text components under Windows the same way as we do on the Mac. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + * platform/graphics/win/QTMovie.cpp: + * platform/graphics/win/QTMovie.h: + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + Fix compilation of the V8 bindings on X11 with Qt. + + This changes brings the file in sync with its copy in bridge/, + adding additional conflicting X11 keywords to undef. This is + a temporary fix until the file is removed altogether, which is + tracked in https://bugs.webkit.org/show_bug.cgi?id=45617 + + * bindings/v8/npruntime_internal.h: + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + Fix compilation of the V8 bindings on X11 with Qt. + + These headers include npruntime, which drag on X11Resources.h, which + among other things #define's None and Boolean. Later on v8.h is included, + which declares these in enums and therefore conflicts. npruntime_internal.h + was introduced exactly to address this problem by including npruntime.h + and undeff'ing the offending constants. + + * bindings/v8/V8Helpers.h: + * bindings/v8/V8NPObject.h: + * bindings/v8/V8NPUtils.h: + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Gtk build fix. + + Use false instead of False after + http://trac.webkit.org/changeset/67323 + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::paint): + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Fix the compilation of V8Binding.cpp when compiling with Qt. + + * bindings/v8/V8Binding.cpp: + (WebCore::WebCoreStringResource::WebCoreStringResource): In this + line an AtomicString should be converted to a WTF::String. The former + has a conversion operator to the latter, to be able to call the + WTF::String copy constructor. When compiling with Qt, then AtomicString + also has a conversion operator to QString _and_ WTF::String has an + implicit constructor that takes a QString. Therefore the compiler is + confused and not sure which conversion to prefer, the one that isn't + actually a conversion - going to WTF::String - or the conversion from + AtomicString to QString and then constructing the WTF::String from + a QString. To resolve this ambiguity we explicitly call the string() + helper function on the AtomicString, which is equivalent to the + operator WTF::String(). + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + Fix the build without JSC. + + Complement http://trac.webkit.org/changeset/59826 and + add missing JSC guards. + + * plugins/PluginView.cpp: + (WebCore::PluginView::bindingInstance): + (WebCore::PluginView::privateBrowsingStateChanged): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::dispatchNPEvent): + (WebCore::PluginView::setNPWindowIfNeeded): + (WebCore::PluginView::platformStart): + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + Fix compilation with V8 and XPath enabled. + + V8XPathNSResolver.cpp includes V8XPathNSResolver.h, + which includes V8DOMWrapper.h as its first header. + V8DOMWrapper.h then uses V8XPathNSResolver in an inline + function, and gcc doesn't seem to like this, because + at this point the type isn't known ("V8XPathNSResolver + has not been declared"). Forward declaring the type + doesn't help unfortunately: "incomplete type + 'WebCore::V8XPathNSResolver' used in nested name + specifier". + + To resolve this circular dependency, this patch moves + the inline function into the .cpp file. + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::getXPathNSResolver): + * bindings/v8/V8DOMWrapper.h: + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + [Qt][X11] Fix build with V8 against X11 headers. + + Added "True" and "False" to the list of words + we free from the X11 macro jail. + + * bridge/npruntime_internal.h: + * config.h: The V8 bindings end up indirectly pulling + in X11 headers and they use True/False. There's no + central header apart from this one, so include the + x11 fixing header here for Qt/X11/V8. + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::paint): Use false instead of False + since False isn't available anymore. + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Fix compilation with V8 and Qt. + + Use WebKit's page cache for ScriptCachedFrameData. + + * bindings/v8/ScriptCachedFrameData.h: + +2010-09-12 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + Fix compiler warning. + + NPClass has 13 members, the last one (NPConstructFunctionPtr construct) wasn't + initialized explicitly. + + * bindings/v8/NPV8Object.cpp: + +2010-09-12 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [Gtk] get_n_selections and get_selection fail when selecting text across object boundaries + https://bugs.webkit.org/show_bug.cgi?id=26991 + + Fix AtkText getNSelections() and getSelection() to work properly + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (selectionBelongsToObject): Check that both the selection intersects + the node AND that the selection is not just "touching" one of the + boundaries for the selected node. We want to check whether the + node is actually inside the region, at least partially + (getSelectionOffsetsForObject): New function to get the start and + end offsets of a selection for a given accessible object. + (webkit_accessible_text_get_selection): Return zero when both + start and end offsets are equal, following the lead of GAIL. + +2010-09-11 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + Make SecurityOrigin::canDisplay an instance function + https://bugs.webkit.org/show_bug.cgi?id=45219 + + This function was secretly an instance function because callers needed + to pass in a document (which owns a SecurityOrigin). Only the + FrameLoader actually needs the method to be static. + + * WebCore.exp.in: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::isSafeToLoadURL): + * loader/Cache.cpp: + (WebCore::Cache::requestResource): + - Notice that DocLoader::doc() can never be 0. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadFrameRequest): + * loader/PingLoader.cpp: + (WebCore::PingLoader::loadImage): + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): + (WebCore::SubframeLoader::createJavaAppletWidget): + (WebCore::SubframeLoader::loadSubframe): + (WebCore::SubframeLoader::loadPlugin): + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::canDisplay): + (WebCore::SecurityOrigin::deprecatedCanDisplay): + * page/SecurityOrigin.h: + * plugins/PluginView.cpp: + (WebCore::PluginView::load): + +2010-09-11 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + Make SecurityOrigin::canDisplay an instance function + https://bugs.webkit.org/show_bug.cgi?id=45219 + + This function was secretly an instance function because callers needed + to pass in a document (which owns a SecurityOrigin). Only the + FrameLoader actually needs the method to be static. + + * WebCore.exp.in: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::isSafeToLoadURL): + * loader/Cache.cpp: + (WebCore::Cache::requestResource): + - Notice that DocLoader::doc() can never be 0. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadFrameRequest): + * loader/PingLoader.cpp: + (WebCore::PingLoader::loadImage): + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): + (WebCore::SubframeLoader::createJavaAppletWidget): + (WebCore::SubframeLoader::loadSubframe): + (WebCore::SubframeLoader::loadPlugin): + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::canDisplay): + (WebCore::SecurityOrigin::deprecatedCanDisplay): + * page/SecurityOrigin.h: + * plugins/PluginView.cpp: + (WebCore::PluginView::load): + +2010-09-11 Simon Hausmann <simon.hausmann@nokia.com> + + Unreviewed. + + [Qt] Trivial V8 build fix. + + * WebCore.pri: Add storage, workers and css to the include paths for the + JS code generator. + +2010-09-11 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] V8 port: Fix "WTF::String::utf8" returns incomplete type WTF::CString + https://bugs.webkit.org/show_bug.cgi?id=45157 + + Include CString.h where necessary. Chromium builds would get it from + KURLGooglePrivate.h so this is only an issue for Qt + V8. + + * bindings/v8/V8Proxy.cpp: + * inspector/InspectorDebuggerAgent.cpp: + * inspector/InspectorProfilerAgent.cpp: + * plugins/PluginDatabase.cpp: + +2010-09-11 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] V8 port: webkit project files changes + https://bugs.webkit.org/show_bug.cgi?id=45140 + + * WebCore.pro: Removed unecessary common.pri inclusion from earlier patch. + +2010-09-03 Vlad Burlik <volodimir.burlik@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] V8 port: webcore project files changes + https://bugs.webkit.org/show_bug.cgi?id=45141 + + Modify webcore project files to include V8 javascript engine. By default disabled. + + * WebCore.pri: + * WebCore.pro: + * features.pri: + +2010-09-11 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Hausmann. + + Web Inspector: Include CString.h in generated files + + This is necessary for generated code that uses the CString + returned by String::utf8() (from generateBackendDispatcher) + + Chromium builds already get CString.h from KURLGooglePrivate.h + so this issue only occurs when building Qt against V8. + + * inspector/CodeGeneratorInspector.pm: + +2010-09-11 Adele Peterson <adele@apple.com> + + Reviewed by Sam Weinig. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=45587 + Move line clamp code to its own function. + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutVerticalBox): + (WebCore::RenderFlexibleBox::applyLineClamp): + * rendering/RenderFlexibleBox.h: + +2010-09-11 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Adam Barth. + + URIs in styles created via innerHTML are not resolved against the document's base URI + https://bugs.webkit.org/show_bug.cgi?id=45565 + + The dummy document used for fragment parsing created by + FragmentParsingContext should use the base URI of the fragment's + document. Since (HTML)Document doesn't expose a setter for the base URI + (and shouldn't), we allow it to be set by the constructor/create + function. + + Also remove some obsolete code that references the legacy tree builder + from HTMLElement that I happened to notice. + + Test: fast/innerHTML/innerHTML-uri-resolution.html + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::HTMLDocument): + * html/HTMLDocument.h: + (WebCore::HTMLDocument::create): + * html/HTMLElement.cpp: + (WebCore::createFragmentFromSource): + (WebCore::HTMLElement::setInnerHTML): + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): + +2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> + + Reviewed by Darin Adler. + + Add NetworkingContext to avoid layer violations + https://bugs.webkit.org/show_bug.cgi?id=42292 + + Activate NetworkingContext: + + Since the ResourceHandle::create, ResourceHandle::start and + ResourceHandle::loadResourceSynchronously API's were modified, + having their Frame* parameter substituted by a NetworkingContext*, + all implementations of them were also modified. + This patch also modifies all functions that were calling the above + ones. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadResourceSynchronously): + * loader/FrameLoader.h: + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::loadNow): + * loader/PingLoader.cpp: + (WebCore::PingLoader::PingLoader): + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::load): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::createResourceHandle): + * loader/icon/IconFetcher.cpp: + (WebCore::IconFetcher::loadEntry): + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (webKitWebSrcStart): + * platform/network/ResourceHandle.cpp: + (WebCore::ResourceHandle::create): + * platform/network/ResourceHandle.h: + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::willLoadFromCache): + (WebCore::ResourceHandle::loadResourceSynchronously): + * platform/network/soup/ResourceHandleSoup.cpp: + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::start): + +2010-09-10 Jer Noble <jer.noble@apple.com> + + No review; build fix only. + + <CoreGraphics/CGAffineTransform.h> isn't on the build bots either. Wrap + all references to m_movieTransform in #if USE(ACCELERATED_COMPOSITING) guards. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform): + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: + +2010-09-10 Jer Noble <jer.noble@apple.com> + + No review; build fix only. + + <CoreGraphics/CGFloat.h> does not exist on the build bots. Replace + instances of CGFAbs() with abs(). + + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize): + +2010-09-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8414282> Can’t dynamically change first-letter to/from floating + + Test: fast/dynamic/first-letter-display-change.html + + * rendering/RenderBlock.cpp: + (WebCore::styleForFirstLetter): Factored this helper function out. + (WebCore::RenderBlock::updateFirstLetter): Renamed variables so that the + “update style” and “create new” branches use the same terminology. In the + update case, if the style change requires a new renderer, handle it. + * rendering/RenderTextFragment.h: + (WebCore::toRenderTextFragment): Added. + +2010-09-10 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom. + Precursor to <rdar://problem/7660657> + https://bugs.webkit.org/show_bug.cgi?id=45522 + + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + Remove ZoomMode.h + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): + Remove uses of shouldApplyTextZoom(), it had turned into just a compare to 1.0f. + + * html/HTMLBodyElement.cpp: + (WebCore::adjustForZoom): + (WebCore::HTMLBodyElement::setScrollLeft): + (WebCore::HTMLBodyElement::setScrollTop): + Convert these to use the explicit pageZoomFactor() function, it made no sense for text zoom + anyway. + + * page/Frame.h: + Remove include of ZoomMode.h + + * page/FrameView.cpp: + (WebCore::parentPageZoomFactor): + (WebCore::parentTextZoomFactor): + (WebCore::FrameView::FrameView): + (WebCore::FrameView::setPageZoomFactor): + (WebCore::FrameView::setTextZoomFactor): + (WebCore::FrameView::setPageAndTextZoomFactors): + * page/FrameView.h: + (WebCore::FrameView::pageZoomFactor): + (WebCore::FrameView::textZoomFactor): + Change FrameView to store two values for zoom, one for page zoom and one for text zoom. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + Removed zoom mode. + + * page/ZoomMode.h: Removed. + + * rendering/RenderView.cpp: + (WebCore::RenderView::zoomFactor): + Remove now unnecessary call to shouldApplyPageZoom since it will be 1 if it should + be ignored. + + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::setCurrentScale): + Use explicit setPageZoomFactor function. + +2010-09-10 Ryuan Choi <ryuan.choi@samsung.com> + + Unreviewed build fix for EFL. + + [EFL] REGRESSION(67167) build break because of newly added JSBindingState.cpp + https://bugs.webkit.org/show_bug.cgi?id=45537 + + * CMakeLists.txt: + +2010-09-10 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup + https://bugs.webkit.org/show_bug.cgi?id=45582 + + * WebCore.exp.in: Updated. + + * WebCore.xcodeproj/project.pbxproj: Removed WebDashboardRegion.h/m. + * page/mac/WebDashboardRegion.h: Removed. + * page/mac/WebDashboardRegion.m: Removed. + + * page/Frame.h: Removed unneeded #if. Removed dashboardRegionsDictionary function, now + handled in WebKit. Removed searchForNSLabelsAboveCell function, which had become dead code. + * page/mac/FrameMac.mm: Ditto. Also tweaked a place that said "int unsigned". + +2010-09-10 Peter Kasting <pkasting@google.com> + + Reviewed by Darin Adler. + + Make middle clicks not fire DOM onclick events. + https://bugs.webkit.org/show_bug.cgi?id=22382 + + * html/HTMLAnchorElement.cpp: Explicitly include middle-clicks in the + computation of what constitutes a link click, since they're no longer + implicitly included. + (WebCore::isLinkClick): + * html/HTMLInputElement.cpp: Removed unneeded checks that click events + are coming from the left mouse button, since they all are now. + (WebCore::HTMLInputElement::preDispatchEventHandler): + (WebCore::HTMLInputElement::postDispatchEventHandler): + (WebCore::HTMLInputElement::defaultEventHandler): + * page/EventHandler.cpp: Changed logic to send a click event only for + the left button. + (WebCore::EventHandler::handleMouseDoubleClickEvent): + (WebCore::EventHandler::handleMouseReleaseEvent): + +2010-09-10 Adam Barth <abarth@webkit.org> + + Attempted build fix for Qt Minimal. + + * dom/Element.cpp: + (WebCore::Element::getBoundingClientRect): + +2010-09-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Pseudostyle resolution corrupts cached child index values + https://bugs.webkit.org/show_bug.cgi?id=45574 + + Covered by fast/dom/firstline-fixed-crash.html and fast/dom/firstletter-tablecell-crash.html. + + RenderBlock::updateFirstLetter() calls getCachedPseudoStyle() passing as the parent style the + style of the parent of the first letter, which is not always the parent of the element for + which we are getting :first-letter style. As a result, style resolution caches childIndex values + in the wrong element’s style. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::pseudoStyleForElement): Create the new style and inherit from + the parent style before matching rules, to avoid corrupting the parent style itself. + (WebCore::CSSStyleSelector::checkSelector): Always pass the element’s parent style as + the parent style here. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): Removed the null check that was added + in r67183. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): Removed the null check that was added + in r67184. + +2010-09-10 Jer Noble <jer.noble@apple.com> + + Reviewed by Simon Fraser. + + Movies with track or movie matrices don't display in <video> elements (Safari 5/Windows) + https://bugs.webkit.org/show_bug.cgi?id=45333 + rdar://problem/81333126 + + QuickTime will refuse to decode video frames for movies whose movie and track matrices + are non-identity. To work around this problem, extract the movie and track matrices + from the movie, and set that matrix on the video layer instead. + + * WebCore.vcproj/QTMovieWin.vcproj: + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::LayoutClient): Added. + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayoutClient::layoutSublayersOfLayer): + Layout the video layer according to its superlayer's size. + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer): + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize): + Apply the m_movieTransform to the size reported by QTMovie. + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform): + Calculate m_movieTransform and reset the movie and track matrices in the movie. + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie): + Create two nested layers instead of one. + (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie): + Make sure to remove m_qtVideoLayer from any superlayer before dereferencing it. + * platform/graphics/win/QTMovie.cpp: + (QTMovie::videoTracks): Added. + (QTMovie::getTransform): Added. + (QTMovie::setTransform): Added. + (QTMovie::resetTransform): Added. + * platform/graphics/win/QTMovie.h: + * platform/graphics/win/QTTrack.cpp: Added. + * platform/graphics/win/QTTrack.h: Added. + * platform/graphics/win/WKCACFLayer.cpp: + (WebCore::WKCACFLayer::setBounds): Call setNeedsLayout() if a layoutClient is present. + (WebCore::WKCACFLayer::setFrame): Call setNeedsLayout() if a layoutClient is present. + +2010-09-10 Jer Noble <jer.noble@apple.com> + + No review; build fix only. + + Touch mediaControlsQuickTime in order to trigger the UserAgentStyleSheet.h to be rebuilt. + + * css/mediaControlsQuickTime.css: + (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): + +2010-09-10 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Fisher. + + Move code from WebKit-layer to DocumentLoader + https://bugs.webkit.org/show_bug.cgi?id=45569 + + There's a bunch of code that's copy/pasted (poorly) across all the + ports that really belongs in WebCore. This patch moves that logic into + DocumentLoader. This patch is a step on the path to having + DocumentLoader own DocumentWriter. + + * WebCore.exp.in: + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::commitData): + * loader/DocumentLoader.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedLoadingDocument): + +2010-09-10 Cosmin Truta <ctruta@chromium.org> + + Reviewed by Nikolas Zimmermann. + + getBoundingClientRect Broken for SVG Elements + https://bugs.webkit.org/show_bug.cgi?id=42815 + + Use getBBox to retrieve the bounding rectangle for SVG elements. + + Test: svg/dom/getBoundingClientRect.xhtml + + * dom/Element.cpp: + (Element::getBoundingClientRect): + +2010-09-09 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + Adopt shared control drawing for <video> controls on Windows + https://bugs.webkit.org/show_bug.cgi?id=45490 + + * DerivedSources.make: Remove the OS check around mediaControlsQuickTime.css. + * rendering/RenderMediaControls.cpp: + (WebCore::determineState): Use WKMediaControllerThemeState flags instead of SafariTheme ones. + (WebCore::getUnzoomedRectAndAdjustCurrentContext): Added. Copied verbatim from RenderMediaMac.mm. + (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Use wkMeasureMediaUIPart to adjust the thumb size. + (WebCore::RenderMediaControls::paintMediaControlsPart): Use wkDrawMediaUIPart instead of paintThemePart. + (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Added. Copied verbatim from RenderMediaMac.mm. + * rendering/RenderMediaControls.h: + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::adjustSliderThumbSize): Adjust both sliders and volume sliders. + (WebCore::RenderThemeWin::extraMediaControlsStyleSheet): Added. Returns the mediaControlsQuickTime sheet. + (WebCore::RenderThemeWin::paintMediaRewindButton): Added. Pass through to RenderMediaControls. + (WebCore::RenderThemeWin::paintMediaControlsBackground): Added. Pass through to RenderMediaControls. + (WebCore::RenderThemeWin::paintMediaVolumeSliderContainer): Added. Pass through to RenderMediaControls. + (WebCore::RenderThemeWin::paintMediaVolumeSliderTrack): Added. Pass through to RenderMediaControls. + (WebCore::RenderThemeWin::paintMediaVolumeSliderThumb): Added. Pass through to RenderMediaControls. + (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Added. Pass through to RenderMediaControls. + * rendering/RenderThemeWin.h: + +2010-09-10 Peter Kasting <pkasting@google.com> + + Reviewed by Darin Adler. + + Cleanup and simplification in advance of making middle clicks not send a + click event. + https://bugs.webkit.org/show_bug.cgi?id=22382 + + * editing/DeleteButton.cpp: + (WebCore::DeleteButton::defaultEventHandler): Removed unneeded code to + check if the event is a MouseEvent. Any click event will do. + * html/HTMLAnchorElement.cpp: + (WebCore::appendServerMapMousePosition): Added. Factors out the + modifications to the URL to add the mouse position to make the default + event handler function easier to read. + (WebCore::HTMLAnchorElement::defaultEventHandler): Reorganized to make + the enter key logic separate from the link clicking logic and simplify + the function. This makes minor functional changes like not calling + FrameLoader::urlSelected() for fake "keydown" events constructed from + JavaScript. + (WebCore::HTMLAnchorElement::isLiveLink): Refactored to use new shared + implementation in treatLinkAsLiveForEventType(). + (WebCore::eventType): Factors out event type calculation (for + treatLinkAsLiveForEventType()) from the default event handler to make it + easier to read. + (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType): + Implementation of the portions of isLiveLink() that are common with the + checks defaultEventHandler() wants to do. + (WebCore::isEnterKeyKeydownEvent): Added. Shared by the default + event handlers for all three anchor elements. + (WebCore::isMiddleMouseButtonEvent): Added. Shared by the isLinkClick + function below and some code in SVG. Later we can make this private to + this source file once we remove the unneeded SVG code. + (WebCore::isLinkClick): Added. Shared by the default event handlers for + all three anchor elements. + (WebCore::handleLinkClick): Ditto. + * html/HTMLAnchorElement.h: Added the new functions. + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::defaultEventHandler): Removed lots of unneeded + logic and streamlined the code to more closely match the + HTMLAnchorElement code and share functions with it. + * wml/WMLAElement.cpp: + (WebCore::WMLAElement::defaultEventHandler): Ditto. + +2010-09-10 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Implement HTML5 definition of script for-event neutering + https://bugs.webkit.org/show_bug.cgi?id=45493 + + * dom/ScriptElement.cpp: + (WebCore::ScriptElementData::shouldExecuteAsJavaScript): Same behavior, but reads more like the spec. Removed obsolete comments about supporting for-event. + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::executeScript): Moved to runScript. + (WebCore::HTMLScriptRunner::runScript): Checking shouldExecuteAsJavaScript() here means that external scripts which fail the check will never be requested. + +2010-09-10 Nat Duca <nduca@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Accelerated Compositing: screen garbage when scrolling + https://bugs.webkit.org/show_bug.cgi?id=45092 + + Split LayerRenderChromium::drawLayers into several different + functions, responsible for preparing the backbuffer, updating the + root texture, compositing and performing the final + swapbuffers. This are then used by the new + WebViewImpl::composite rendering path. + + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::setBounds): + (WebCore::LayerChromium::setFrame): + (WebCore::LayerChromium::setNeedsDisplay): + (WebCore::LayerChromium::resetNeedsDisplay): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::dirtyRect): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::updateRootLayerTextureRect): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::present): + * platform/graphics/chromium/LayerRendererChromium.h: + +2010-09-10 David Holloway <dhollowa@chromium.org> + + Reviewed by Adam Barth. + + Replace WebCore::HTMLFormElement::submissionTrigger with WebCore::HTMLFormElement::submittedByUserGesture. + Chromium AutoFill feature semantics changed with respect to what we mean by "user submitted" form. A + more accurate measure of the user manually submitting a form is via user gesture. + https://bugs.webkit.org/show_bug.cgi?id=45128 + + No new tests as this is only used by the Chromium WebKit API. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::HTMLFormElement): + (WebCore::HTMLFormElement::prepareSubmit): + (WebCore::HTMLFormElement::submit): + (WebCore::HTMLFormElement::submittedByUserGesture): + * html/HTMLFormElement.h: + +2010-09-10 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Remove mention of "part" from Document.cpp + https://bugs.webkit.org/show_bug.cgi?id=45566 + + This is an old KHTML name that's lingering around. + + * dom/Document.cpp: + (WebCore::Document::parentDocument): + +2010-09-09 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + Move functions from Frame to SelectionController as planned + https://bugs.webkit.org/show_bug.cgi?id=45508 + + Also removed Frame::dragCaretController since it just called Page::dragCaretController. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): + (WebCore::SelectionController::modify): + (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): + (WebCore::SelectionController::selectAll): + (WebCore::SelectionController::focusedOrActiveStateChanged): + (WebCore::SelectionController::notifyRendererOfSelectionChange): + (WebCore::isFrameElement): + (WebCore::SelectionController::setFocusedNodeIfNeeded): + (WebCore::SelectionController::paintDragCaret): + (WebCore::SelectionController::shouldDeleteSelection): + (WebCore::SelectionController::selectionBounds): + (WebCore::SelectionController::selectionTextRects): + (WebCore::scanForForm): + (WebCore::SelectionController::currentForm): + (WebCore::SelectionController::revealSelection): + (WebCore::SelectionController::setSelectionFromNone): + (WebCore::SelectionController::shouldChangeSelection): + * editing/SelectionController.h: + Moved functions here from Frame. + + * page/Frame.cpp: + * page/Frame.h: + Moved functions to SelectionController. + Reorganized header to be easier to read and a bit more logical. + + * WebCore.exp.in: Updated. + + * dom/Document.cpp: + (WebCore::Document::nodeChildrenWillBeRemoved): + (WebCore::Document::nodeWillBeRemoved): + Call Page::dragCaretController directly. + + * dom/Element.cpp: + (WebCore::Element::updateFocusAppearance): + * dom/InputElement.cpp: + (WebCore::InputElement::updateFocusAppearance): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::editingStyleAtPosition): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): + * editing/Editor.cpp: + (WebCore::Editor::canSmartCopyOrDelete): + (WebCore::Editor::textDirectionForSelection): + (WebCore::Editor::appliedEditing): + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::advanceToNextMisspelling): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + (WebCore::Editor::revealSelectionAfterEditingOperation): + (WebCore::Editor::transpose): + (WebCore::Editor::changeSelectionAfterCommand): + (WebCore::Editor::computeAndSetTypingStyle): + (WebCore::Editor::selectionComputedStyle): + (WebCore::Editor::styleForSelectionStart): + (WebCore::Editor::findString): + * editing/EditorCommand.cpp: + (WebCore::executeDelete): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): + * editing/RemoveFormatCommand.cpp: + (WebCore::RemoveFormatCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::insertTextRunWithoutNewlines): + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::updateFocusAppearance): + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + * page/DragController.cpp: + (WebCore::DragController::concludeEditDrag): + (WebCore::dragLocForSelectionDrag): + * page/EventHandler.cpp: + (WebCore::EventHandler::selectClosestWordFromMouseEvent): + (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): + (WebCore::EventHandler::handleMousePressEventTripleClick): + (WebCore::EventHandler::handleMousePressEventSingleClick): + (WebCore::EventHandler::updateSelectionForMouseDrag): + (WebCore::EventHandler::handleMouseReleaseEvent): + * page/FocusController.cpp: + (WebCore::FocusController::advanceFocusInDocumentOrder): + * page/chromium/EventHandlerChromium.cpp: + (WebCore::EventHandler::passMousePressEventToSubframe): + * page/chromium/FrameChromium.cpp: + (WebCore::Frame::dragImageForSelection): + * page/mac/FrameMac.mm: + (WebCore::Frame::selectionImage): + * platform/mac/ClipboardMac.mm: + (WebCore::ClipboardMac::writeRange): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintCaret): + Call functions on selection(). + +2010-09-10 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + SVGGElement::rendererIsNeeded should return false when parent isn't SVG + https://bugs.webkit.org/show_bug.cgi?id=45562 + + Test: svg/custom/g-outside-svg.html + + * svg/SVGGElement.cpp: + (WebCore::SVGGElement::rendererIsNeeded): + * svg/SVGGElement.h: + +2010-09-10 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + REGRESSION (HTML Parser): CNN's Money site is not formatted correctly with AdBlock installed + https://bugs.webkit.org/show_bug.cgi?id=41371 + + Drop support for closing comments with "-- >". This was an attempt to + be more IE-like in comment parsing, but it turns out to cause problems + for some high-profile sites. Firefox 4 is dropping support as well. + We expect the spec to change soon too. + + * html/parser/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + * html/parser/HTMLTokenizer.h: + +2010-09-10 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + Adding file that should have been in http://trac.webkit.org/changeset/67226 but + I forgot to svn add. + + * platform/graphics/opengl: Added. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm. + +2010-09-10 Paul Sawaya <psawaya@apple.com> + + Reviewed by Chris Marrin. + + Refactored non-Mac specific code into GraphicsContext3DOpenGL. + + Moving this file into platform/graphics/opengl and only building on Mac for now. + + https://bugs.webkit.org/show_bug.cgi?id=30625 + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::makeContextCurrent): + (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses): + * platform/graphics/opengl: Added. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm. + (WebCore::GraphicsContext3D::prepareTexture): + (WebCore::GraphicsContext3D::activeTexture): + (WebCore::GraphicsContext3D::attachShader): + (WebCore::GraphicsContext3D::bindAttribLocation): + (WebCore::GraphicsContext3D::bindBuffer): + (WebCore::GraphicsContext3D::bindFramebuffer): + (WebCore::GraphicsContext3D::bindRenderbuffer): + (WebCore::GraphicsContext3D::bindTexture): + (WebCore::GraphicsContext3D::blendColor): + (WebCore::GraphicsContext3D::blendEquation): + (WebCore::GraphicsContext3D::blendEquationSeparate): + (WebCore::GraphicsContext3D::blendFunc): + (WebCore::GraphicsContext3D::blendFuncSeparate): + (WebCore::GraphicsContext3D::bufferData): + (WebCore::GraphicsContext3D::bufferSubData): + (WebCore::GraphicsContext3D::checkFramebufferStatus): + (WebCore::GraphicsContext3D::clearColor): + (WebCore::GraphicsContext3D::clear): + (WebCore::GraphicsContext3D::clearDepth): + (WebCore::GraphicsContext3D::clearStencil): + (WebCore::GraphicsContext3D::colorMask): + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::copyTexImage2D): + (WebCore::GraphicsContext3D::copyTexSubImage2D): + (WebCore::GraphicsContext3D::cullFace): + (WebCore::GraphicsContext3D::depthFunc): + (WebCore::GraphicsContext3D::depthMask): + (WebCore::GraphicsContext3D::depthRange): + (WebCore::GraphicsContext3D::detachShader): + (WebCore::GraphicsContext3D::disable): + (WebCore::GraphicsContext3D::disableVertexAttribArray): + (WebCore::GraphicsContext3D::drawArrays): + (WebCore::GraphicsContext3D::drawElements): + (WebCore::GraphicsContext3D::enable): + (WebCore::GraphicsContext3D::enableVertexAttribArray): + (WebCore::GraphicsContext3D::finish): + (WebCore::GraphicsContext3D::flush): + (WebCore::GraphicsContext3D::framebufferRenderbuffer): + (WebCore::GraphicsContext3D::framebufferTexture2D): + (WebCore::GraphicsContext3D::frontFace): + (WebCore::GraphicsContext3D::generateMipmap): + (WebCore::GraphicsContext3D::getActiveAttrib): + (WebCore::GraphicsContext3D::getActiveUniform): + (WebCore::GraphicsContext3D::getAttachedShaders): + (WebCore::GraphicsContext3D::getAttribLocation): + (WebCore::GraphicsContext3D::getError): + (WebCore::GraphicsContext3D::getString): + (WebCore::GraphicsContext3D::hint): + (WebCore::GraphicsContext3D::isBuffer): + (WebCore::GraphicsContext3D::isEnabled): + (WebCore::GraphicsContext3D::isFramebuffer): + (WebCore::GraphicsContext3D::isProgram): + (WebCore::GraphicsContext3D::isRenderbuffer): + (WebCore::GraphicsContext3D::isShader): + (WebCore::GraphicsContext3D::isTexture): + (WebCore::GraphicsContext3D::lineWidth): + (WebCore::GraphicsContext3D::linkProgram): + (WebCore::GraphicsContext3D::pixelStorei): + (WebCore::GraphicsContext3D::polygonOffset): + (WebCore::GraphicsContext3D::readPixels): + (WebCore::GraphicsContext3D::releaseShaderCompiler): + (WebCore::GraphicsContext3D::renderbufferStorage): + (WebCore::GraphicsContext3D::sampleCoverage): + (WebCore::GraphicsContext3D::scissor): + (WebCore::GraphicsContext3D::shaderSource): + (WebCore::GraphicsContext3D::stencilFunc): + (WebCore::GraphicsContext3D::stencilFuncSeparate): + (WebCore::GraphicsContext3D::stencilMask): + (WebCore::GraphicsContext3D::stencilMaskSeparate): + (WebCore::GraphicsContext3D::stencilOp): + (WebCore::GraphicsContext3D::stencilOpSeparate): + (WebCore::GraphicsContext3D::texParameterf): + (WebCore::GraphicsContext3D::texParameteri): + (WebCore::GraphicsContext3D::uniform1f): + (WebCore::GraphicsContext3D::uniform1fv): + (WebCore::GraphicsContext3D::uniform2f): + (WebCore::GraphicsContext3D::uniform2fv): + (WebCore::GraphicsContext3D::uniform3f): + (WebCore::GraphicsContext3D::uniform3fv): + (WebCore::GraphicsContext3D::uniform4f): + (WebCore::GraphicsContext3D::uniform4fv): + (WebCore::GraphicsContext3D::uniform1i): + (WebCore::GraphicsContext3D::uniform1iv): + (WebCore::GraphicsContext3D::uniform2i): + (WebCore::GraphicsContext3D::uniform2iv): + (WebCore::GraphicsContext3D::uniform3i): + (WebCore::GraphicsContext3D::uniform3iv): + (WebCore::GraphicsContext3D::uniform4i): + (WebCore::GraphicsContext3D::uniform4iv): + (WebCore::GraphicsContext3D::uniformMatrix2fv): + (WebCore::GraphicsContext3D::uniformMatrix3fv): + (WebCore::GraphicsContext3D::uniformMatrix4fv): + (WebCore::GraphicsContext3D::useProgram): + (WebCore::GraphicsContext3D::validateProgram): + (WebCore::GraphicsContext3D::vertexAttrib1f): + (WebCore::GraphicsContext3D::vertexAttrib1fv): + (WebCore::GraphicsContext3D::vertexAttrib2f): + (WebCore::GraphicsContext3D::vertexAttrib2fv): + (WebCore::GraphicsContext3D::vertexAttrib3f): + (WebCore::GraphicsContext3D::vertexAttrib3fv): + (WebCore::GraphicsContext3D::vertexAttrib4f): + (WebCore::GraphicsContext3D::vertexAttrib4fv): + (WebCore::GraphicsContext3D::vertexAttribPointer): + (WebCore::GraphicsContext3D::viewport): + (WebCore::GraphicsContext3D::getBooleanv): + (WebCore::GraphicsContext3D::getBufferParameteriv): + (WebCore::GraphicsContext3D::getFloatv): + (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): + (WebCore::GraphicsContext3D::getIntegerv): + (WebCore::GraphicsContext3D::getProgramiv): + (WebCore::GraphicsContext3D::getProgramInfoLog): + (WebCore::GraphicsContext3D::getRenderbufferParameteriv): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + (WebCore::GraphicsContext3D::getTexParameterfv): + (WebCore::GraphicsContext3D::getTexParameteriv): + (WebCore::GraphicsContext3D::getUniformfv): + (WebCore::GraphicsContext3D::getUniformiv): + (WebCore::GraphicsContext3D::getUniformLocation): + (WebCore::GraphicsContext3D::getVertexAttribfv): + (WebCore::GraphicsContext3D::getVertexAttribiv): + (WebCore::GraphicsContext3D::getVertexAttribOffset): + (WebCore::GraphicsContext3D::texImage2D): + (WebCore::GraphicsContext3D::texSubImage2D): + (WebCore::GraphicsContext3D::createBuffer): + (WebCore::GraphicsContext3D::createFramebuffer): + (WebCore::GraphicsContext3D::createProgram): + (WebCore::GraphicsContext3D::createRenderbuffer): + (WebCore::GraphicsContext3D::createShader): + (WebCore::GraphicsContext3D::createTexture): + (WebCore::GraphicsContext3D::deleteBuffer): + (WebCore::GraphicsContext3D::deleteFramebuffer): + (WebCore::GraphicsContext3D::deleteProgram): + (WebCore::GraphicsContext3D::deleteRenderbuffer): + (WebCore::GraphicsContext3D::deleteShader): + (WebCore::GraphicsContext3D::deleteTexture): + +2010-09-10 Oliver Hunt <oliver@apple.com> + + Qt build fix. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::deserialize): + +2010-09-10 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Remove useless FrameLoader method + https://bugs.webkit.org/show_bug.cgi?id=45492 + + This method has one caller, and that caller already has a more direct + way of accessing the correct DocumentLoader. + + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::addData): + +2010-09-10 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Main resource bytes shouldn't bounce through FrameLoader + https://bugs.webkit.org/show_bug.cgi?id=45496 + + After the MainResourceLoader hands the bytes for the main resource to + the DocumentLoader, the DocumentLoader hands the bytes to the + FrameLoaderClient. The FrameLoaderClient, in turn, returns the bytes + to WebCore. Prior to this patch, the FrameLoaderClient returned the + bytes to the FrameLoader. However, the FrameLoader was actually adding + any value. + + In this patch, we change the FrameLoaderClient to return the bytes to + the DocumentLoader directly. In a future patch, we'll cut out the + FrameLoaderClient middleman and handle the bytes internally in the + DocumentLoader. + + * WebCore.exp.in: + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::addData): + * loader/DocumentLoader.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedLoadingDocument): + * loader/FrameLoader.h: + +2010-09-10 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin Adler. + + Speed up deserialisation of strings + https://bugs.webkit.org/show_bug.cgi?id=45555 + + Rather than building a list of Identifiers for the string pool + we now build a list of a tuple of UString and JSString*. This + doesn't hurt the property name case as ustring->identifier conversion + is essentially free if the ustring has already been converted to + an Identifier, but saves an unnecessary Identifier creation for + strings we only ever use to create JSStrings. We also reduce + GC pressure for duplicate strings by caching the JSStrings. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::CachedString::CachedString): + (WebCore::CloneDeserializer::CachedString::jsString): + (WebCore::CloneDeserializer::CachedString::ustring): + (WebCore::CloneDeserializer::readStringData): + (WebCore::CloneDeserializer::putProperty): + (WebCore::CloneDeserializer::readFile): + (WebCore::CloneDeserializer::readTerminal): + (WebCore::CloneDeserializer::deserialize): + +2010-09-10 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Antonio Gomes. + + REGRESSION(r67176): editing/selection/doubleclick-inline-first-last-contenteditable.html crashes + https://bugs.webkit.org/show_bug.cgi?id=45525 + + The crash was caused by ancestorToRetainStructureAndAppearance not taking into consideration + the case where there is no common block ancestor. Fixed this by adding a null check. + + Test: editing/pasteboard/copy-without-common-block-crash.html + + * editing/markup.cpp: + (WebCore::ancestorToRetainStructureAndAppearance): Added a null check. + +2010-09-09 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Dumitru Daniliuc. + + [FileSystem] Do not call EntriesCallback more than once if there're no entries. + https://bugs.webkit.org/show_bug.cgi?id=45498 + + No new tests, layout-tests that confirm the behavior will be added in later patches. + + * fileapi/FileSystemCallbacks.cpp: + (WebCore::EntriesCallbacks::EntriesCallbacks): + (WebCore::EntriesCallbacks::didReadDirectoryEntry): + (WebCore::EntriesCallbacks::didReadDirectoryEntries): + +2010-09-10 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Darin Adler. + + Use String::fromUTF8 instead of UTF8Encoding().decode + in the libxml XMLDocumentParser + https://bugs.webkit.org/show_bug.cgi?id=45488 + + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::toString): + +2010-09-10 Chris Fleizach <cfleizach@apple.com> + + Reviewed by David Kilzer. + + AX: accessibility not returning strings when visibility is hidden + https://bugs.webkit.org/show_bug.cgi?id=45116 + + AX code uses plainText() in TextIterator to get the text for a node. + However, when that node is not visible, no text is returned because TextIterator ignores + clipped nodes and other hidden elements. + + Solution is to add a new text iterator behavior for ignoring style visiblity. This allows + for text to allows be returned for accessibility purposes. + + Test: platform/mac/accessibility/clipped-text-under-element.html + + * WebCore.exp.in: + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::textUnderElement): + (WebCore::AccessibilityRenderObject::stringValue): + Use the new flag for plainText + * editing/TextIterator.cpp: + (WebCore::TextIterator::TextIterator): + (WebCore::TextIterator::handleTextNode): + (WebCore::TextIterator::handleTextBox): + (WebCore::TextIterator::handleTextNodeFirstLetter): + (WebCore::TextIterator::handleReplacedElement): + Use the new flag to NOT skip hidden elements. + (WebCore::plainTextToMallocAllocatedBuffer): + (WebCore::plainText): + * editing/TextIterator.h: + Add the new text iterator behavior. + +2010-09-10 Chris Fleizach <cfleizach@apple.com> + + Reviewed by David Kilzer. + + Mail crashes with searching for next misspelled word with VoiceOver + https://bugs.webkit.org/show_bug.cgi?id=45501 + + Test: platform/mac/accessibility/crash-in-element-for-text-marker.html + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): + Check that the AX object is not nil before asking for the wrapper(). + +2010-09-10 Michael Nordman <michaeln@google.com> + + Reviewed by Dumitru Daniliuc. + + Decouple Blob from ScriptExecutionContext. + https://bugs.webkit.org/show_bug.cgi?id=45410 + + - Removed ScriptExecutionContext pointers from Blob and File constructors. + - Removed ScriptExecutionContext's collection of Blobs instance in that context. + - Refactored BlobURL to make a distinction between 'public' blob urls and 'internal' + urls that are used solely as identifiers. The former requires a SecurityOrigin to + to manufacture, the latter does not. + - Added a constant and accessor for the blob protocol scheme on the BlobURL class. + + No new tests are added since this is a cleanup. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::readFile): + (WebCore::CloneDeserializer::readTerminal): + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::ZigZag::Reader::readBlob): + (WebCore::ZigZag::Reader::readFile): + (WebCore::ZigZag::Reader::readFileList): + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::~ScriptExecutionContext): + (WebCore::ScriptExecutionContext::createPublicBlobURL): + (WebCore::ScriptExecutionContext::revokePublicBlobURL): + * dom/ScriptExecutionContext.h: + * fileapi/Blob.cpp: + (WebCore::Blob::Blob): + (WebCore::Blob::~Blob): + (WebCore::Blob::slice): + * fileapi/Blob.h: + (WebCore::Blob::create): + (WebCore::Blob::url): + * fileapi/Blob.idl: + * fileapi/BlobBuilder.cpp: + (WebCore::BlobBuilder::getBlob): + * fileapi/BlobBuilder.h: + * fileapi/BlobBuilder.idl: + * fileapi/BlobURL.cpp: + (WebCore::BlobURL::createPublicURL): + (WebCore::BlobURL::createInternalURL): + (WebCore::BlobURL::getOrigin): + (WebCore::BlobURL::getIdentifier): + (WebCore::BlobURL::createBlobURL): + * fileapi/BlobURL.h: + (WebCore::BlobURL::blobProtocol): + (WebCore::BlobURL::BlobURL): + * fileapi/File.cpp: + (WebCore::File::File): + * fileapi/File.h: + (WebCore::File::create): + * fileapi/FileReader.cpp: Register a public url to perform the read. + (WebCore::FileReader::cleanup): + (WebCore::FileReader::start): + (WebCore::FileReader::didFinishLoading): + (WebCore::FileReader::failed): + * fileapi/FileReader.h: Added m_urlForReading data member. + * fileapi/FileReaderSync.cpp: + (WebCore::FileReaderSync::read): Register a public url to perform the read. + * fileapi/ThreadableBlobRegistry.cpp: + (WebCore::ThreadableBlobRegistry::registerBlobURL): + (WebCore::ThreadableBlobRegistry::unregisterBlobURL): + * fileapi/ThreadableBlobRegistry.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::appendFormData): + (WebCore::HTMLInputElement::setFileListFromRenderer): + * page/SecurityOrigin.cpp: Use BlobURL.blobProtocol(). + (WebCore::SecurityOrigin::create): + (WebCore::SecurityOrigin::canRequest): + (WebCore::SecurityOrigin::canDisplay): + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::files): + * platform/gtk/ClipboardGtk.cpp: + (WebCore::ClipboardGtk::files): + * platform/mac/ClipboardMac.mm: + (WebCore::ClipboardMac::files): + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::files): + +2010-09-10 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + GDK_DISPLAY was removed in GTK+ 3.x, re-declare it when built + against that. + + * platform/gtk/GtkVersioning.h: + +2010-09-10 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + Fix compilation with GTK+ 3.x. + + GDK key macros were renamed from GDK_FOO to GDK_KEY_FOO, we need + to include the compat header provided if we want to keep using the + old names. + + * platform/gtk/GtkVersioning.h: add the compatibility header. + * platform/gtk/KeyEventGtk.cpp: include GtkVersioning.h + +2010-09-09 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Factor out the NestingLevelIncrementer + https://bugs.webkit.org/show_bug.cgi?id=45471 + + No new tests because no new functionality. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/parser/HTMLDocumentParser.cpp: + * html/parser/HTMLDocumentParser.h: + * html/parser/HTMLScriptRunner.cpp: + * html/parser/NestingLevelIncrementer.h: Added. + (WebCore::NestingLevelIncrementer::NestingLevelIncrementer): + (WebCore::NestingLevelIncrementer::~NestingLevelIncrementer): + +2010-09-10 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + SVG text chunk concept needs to be integrated in the InlineBox structure + https://bugs.webkit.org/show_bug.cgi?id=45533 + + Begin rewriting the SVG text layout code. As first step move the text chunk concept right into the inline box structure. + This obsoletes the whole text chunk part concept (see SVGTextChunkLayoutInfo.h for details), and will soon simplify the + whole layout code a lot. Previously we hacked around the fact that a single InlineTextBox could contain multiple text chunks + For example: <text x="20 30 40">ABC</text> only led to the creation of one InlineTextBox containing three chunks. When + painting such an InlineTextBox, we had to do nasty hacks (same for text selection etc.) + + This is finally fixed by incorporating the knownledge about text chunks into the line layout algorithm. + Note, this has no impact on HTML at all, no worries. + + It's even required to do it this way as BiDi reordering shouldn't happen across text chunks. + These are only the first bits, and currently slows down text layouting. Follow-up patches will remove the old layout + algorithm, and will rely on the stored SVGTextLayoutAttributes in the RenerSVGInlineText renderers (instead of computing again). + + * Android.mk: Add rendering/svg/SVGTextLayoutAttributes.* & rendering/svg/SVGTextLayoutBuilder.* to build. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gyp/WebCore.gyp: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.vcproj/WebCoreCommon.vsprops: Ditto. (Recognize new rendering/svg directory.) + * WebCore.vcproj/copyForwardingHeaders.cmd: Ditto. (Copy forwarding headers from rendering/svg directory.) + * WebCore.xcodeproj/project.pbxproj: Ditto. + * rendering/RenderBlockLineLayout.cpp: This is the key of the new concept, take text chunks into account when building the InlineBox structure. + (WebCore::RenderBlock::findNextLineBreak): Split midpointState, if we encounter the beginning of a new text chunk. + * rendering/RenderObject.h: + (WebCore::RenderObject::isSVGInline): New method, which will be used to identify RenderSVGInline objects. + * rendering/RenderSVGInline.h: + (WebCore::RenderSVGInline::isSVGInline): Return true. + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::linesBoundingBox): Overriden, to simplify the calculations for SVG. + (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Determines wheter the given position starts a new text chunk. + * rendering/RenderSVGInlineText.h: + (WebCore::RenderSVGInlineText::storeLayoutAttributes): Stores the layout attributes calculated in the text layout process (will be used everywhere in follow-up patches). + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): Invoke SVGTextLayoutBuilder before creating the inline box tree, so we can decide which characters start new text chunks. + * rendering/RenderText.h: Made linesBoundingBox() virtual so RenderSVGInlineText can override it. + * rendering/svg: Added. + * rendering/svg/SVGTextLayoutAttributes.cpp: Added. Holds x/y/dx/dy/rotate values and all kerning/ligature information used during layout. + * rendering/svg/SVGTextLayoutAttributes.h: Added. + * rendering/svg/SVGTextLayoutBuilder.cpp: Added. + * rendering/svg/SVGTextLayoutBuilder.h: Added. + +2010-09-10 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed fix after r67085. + + * WebCore.pro: Fix previously moved filenames. + +2010-09-10 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Inline FrameLoader::committedLoad into its one caller + https://bugs.webkit.org/show_bug.cgi?id=45481 + + This saves one round-trip through the FrameLoader when loading + documents. + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::commitLoad): + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + +2010-09-10 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Adam Roben. + + [WINCE] Remove ImageBuffer::toDataURL implementation + https://bugs.webkit.org/show_bug.cgi?id=45478 + + At the moment ImageBuffer::toDataURL uses JPEGEncoder.h and PNGEncoder.h. + Both files are not in the repository. So remove the implementation for now. + + * platform/graphics/wince/ImageBufferWince.cpp: + (WebCore::ImageBuffer::toDataURL): + +2010-09-10 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antonio Gomes. + + WebGL: Fix GCC warnings about suggested parentheses around && within || + https://bugs.webkit.org/show_bug.cgi?id=45534 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getVertexAttrib): + (WebCore::WebGLRenderingContext::readPixels): + (WebCore::WebGLRenderingContext::texParameter): + (WebCore::WebGLRenderingContext::handleNPOTTextures): + +2010-09-09 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Add navigation items into the Elements panel context menu. + + For all anchors that have the class of "webkit-html-resource-link" or "webkit-html-external-link", + a custom context menu with the items "Open Link in New Window" (invokes InspectorBackend.openInInspectedWindow() with + the related URL) and "Open Link in Resources Panel" (opens the related resource in the Resources panel) is shown + (the latter item is displayed only if the corresponding resource is known to the Web Inspector). + https://bugs.webkit.org/show_bug.cgi?id=34250 + + * English.lproj/localizedStrings.js: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.populateHrefContextMenu): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired): + (WebInspector.ElementsTreeElement.prototype._attributeHTML): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane.prototype._contextMenuEventFired): + * inspector/front-end/inspector.js: + (WebInspector.openResource): + (WebInspector.resourceURLForRelatedNode): + +2010-09-10 Kwang Yul Seo <skyul@company100.net> + + Reviewed by James Robinson. + + Make sure skia is not Chromium specific + https://bugs.webkit.org/show_bug.cgi?id=39672 + + Move Image::loadPlatformResource to platform/graphics/chromium/ImageChromium.cpp. + Other ports can use ImageSkia.cpp. + + No new tests because this is pure refacotring. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * platform/graphics/chromium/ImageChromium.cpp: Added. + (WebCore::Image::loadPlatformResource): + * platform/graphics/skia/ImageSkia.cpp: + +2010-09-09 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Joseph Pecoraro. + + WebInspector: Selecting 'inspect element' always shows body in inspector instead of clicked element. + + 1. Open any page + 2. Right-click on any element, select "Inspect Element" + 3. Web Inspector is opened but the <body> element (for HTML) is focused rather than the selected element + 4. Inspect the Web Inspector. An error message is logged in the console. + + The regression was introduced in http://trac.webkit.org/changeset/66012 - focusNode() is invoked in + InspectorController::populateScriptObjects() before the main document is set for the InspectorDOMAgent + instance (which makes focusNode() bail out prematurely). + + https://bugs.webkit.org/show_bug.cgi?id=45374 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::populateScriptObjects): + +2010-09-10 Cris Neckar <cdn@chromium.org> + + Reviewed by Chris Fleizach. + + Null deref in RenderBlock::updateFirstLetter(). Check for null psuedo style. + https://bugs.webkit.org/show_bug.cgi?id=45404 + + Test: fast/dom/firstletter-tablecell-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): + +2010-09-10 Cris Neckar <cdn@chromium.org> + + Reviewed by Chris Fleizach. + + Null deref in RenderBlock::findNextLineBreak(). Check for null style with + first-line style and fixed position. + https://bugs.webkit.org/show_bug.cgi?id=45350 + + Test: fast/dom/firstline-fixed-crash.html + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): + +2010-09-10 Eric Seidel <eric@webkit.org> + + Reviewed by Dimitri Glazkov. + + Remove support for non-lazy attach and fix frames to load from insertedIntoDocument instead of attach + https://bugs.webkit.org/show_bug.cgi?id=45365 + + This change is the last piece of the puzzle which was preventing us from + removing all eager-attach logic and moving WebCore to using an entirely + recalcStyle-driven, on-demand renderer creation system, instead of every + element being synchronously attached during parsing, regardless of whether + it was ever going to be displayed or not. + + This does not change the places we call lazyAttach vs. attach. This only + changes the behavior of frame/plugin elements when lazyAttach is called. + Previously lazyAttach would eager-attach those elements (and their ancestors) + because they were marked as canLazyAttach() { return false; }. + + This is a very tricky change, please review carefully. + + Mostly I'm moving logic which used to be in attach() into + insertedIntoDocument. Once it was there, there was no longer any reason + why frame elements couldn't lazyAttach, thus removing the need + for the non-lazy attach code path entirely. + We've not yet converted all callsites over to using lazyAttach() instead + of attach() however. + + In order to move frame loading logic into insertedIntoDocument + instead of attach, I needed to make sure that any javascript calls + during the load would see an attached element. Thus I needed to mark + the element as needing style resolve so that it would attach itself + if needed. + + I was not able to just call lazyAttach() from insertedIntoDocument directly + due to two conflicting assumptions in the rendering tree: + 1. ContainerNode::attach() assumes its "safe" to call attach on all children + without checking first if the child is already attached. This seems sane + since its strange to think of a subtree as being attached w/o ancestors + already being attached. Although it is a hard rule that subtrees may not + have renderers w/o ancestors also having renderers, I do not believe it's + a hard rule that subtrees may not be attached. Remember, attached() does + not imply renderer()! It's possible ContainerNode::attach()'s assumption is wrong here. + 2. Node::attach() asserts !attached(). This makes sense and I would not + want to remove this assert, however it means that if insertedIntoDocument + were to call lazyAttach() (thus marking the element as attached()) then + all callers would need to check if the element was already attached after + insertedIntoDocument (called by appendChild, parserAppendChild, etc.) + before calling attach or lazyAttach(). The following example: + element.innerHTML = "<span><iframe></span>" is one case where this + ASSERT would be hit if insertedIntoDocument called lazyAttach, since + ContainerNode::attach() (called on the span by in appendChild(DocumentFragment) code) + does not check if iframe is already attached. + + Note: One subtle change here is that synchronous javascript which results + from javascript: or beforeload is now run as part of insertedIntoDocument + (thus any insert/append call *even* parserAddChild) instead of being + run during attach (technically in the post-attach callbacks). + + This is covered by numerous layout tests. + + * dom/ContainerNode.cpp: + (WebCore::willRemoveChild): + (WebCore::willRemoveChildren): + - Since insertedIntoDocument starts a load and yet does not mark the + element as attached, we need to always call willRemove(). + See note above as to why we don't just mark attached() in insertedIntoDocument. + * dom/Node.cpp: + (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): + - Share some code between lazyAttach and setNeedsStyleRecalc. + (WebCore::Node::setNeedsStyleRecalc): + - Use the new markAncestorsWithChildNeedsStyleRecalc + (WebCore::Node::lazyAttach): + - Remove the non-lazy code path, and use markAncestorsWithChildNeedsStyleRecalc. + - Add an option to lazyAttach without marking attached(), used by HTMLFrameElementBase::insertedIntoDocument. + * dom/Node.h: + * html/HTMLFrameElementBase.cpp: + - m_shouldOpenURLAfterAttach is no longer needed, yay! + - m_checkAttachedTimer no longer has anything to do with attached(), so renamed it. + I also documented that the newly named m_checkInDocumentTimer is all about the + "magic iframe" performance quirk. (Which is actually speced in HTML5). + I was initially baffled by this code, so I documented it. + (WebCore::HTMLFrameElementBase::HTMLFrameElementBase) + (WebCore::HTMLFrameElementBase::insertedIntoDocument): + - This is the meat of this change, see discussion above. + (WebCore::HTMLFrameElementBase::attach): + - Code deleted or moved to insertedIntoDocument. + (WebCore::HTMLFrameElementBase::width): + - Fixed a bug in height()/width() which was probably causing crashes + and was causing incorrect behavior after this change. + renderBox() is not necessarily valid unless layout is up to date. + Updating layout, can cause renderBox() to go invalid, thus this + could have been a null-pointer crash. + (WebCore::HTMLFrameElementBase::height): see width() + (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree): Timer rename. + (WebCore::HTMLFrameElementBase::checkInDocumentTimerFired): Timer rename. + * html/HTMLFrameElementBase.h: + * html/HTMLFrameOwnerElement.cpp: + (WebCore::HTMLFrameOwnerElement::willRemove): + - Disconnecting the owner element removes the frame from the frame tree. + frameDetached() calls Page::frameCount which expects that the frame is + already gone at this point and asserts when it's not. It's unclear how + this worked before, except that the frame removal was likely done in the + post-attach callback, so the frameCount was wrong (too high) during + frameDetached(), but was fixed up in the post-detach callback. + * html/parser/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::attachAtSite): + - Simplified this code, and added a check for the case when the node was already removed. + Since the load logic is now run during insertedIntoDocument instead of attach(), + synchronous javascript is now running during insertedIntoDocument and we need to + make sure that the child is still in the tree. + +2010-09-10 Dirk Pranke <dpranke@chromium.org> + + Unreviewed, rolling out r67178. + http://trac.webkit.org/changeset/67178 + https://bugs.webkit.org/show_bug.cgi?id=45524 + + re-roll-out patch to put original changes back in + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parametersForPlugin): + (WebCore::HTMLObjectElement::updateWidget): + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::resourceWillUsePlugin): + * loader/SubframeLoader.h: + 2010-09-10 Dirk Pranke <dpranke@chromium.org> Reviewed by Kent Tamura. |