Timeline



Oct 1, 2012:

11:48 PM Changeset in webkit [130127] by yosin@chromium.org
  • 9 edits in trunk/Source/WebCore

Adding Localizer::dateFormat() for multiple fields date/datetime input UI
https://bugs.webkit.org/show_bug.cgi?id=98109

Reviewed by Kent Tamura.

This patch introduces Localizer::dateFormat() function for multiple
fields date/datetime/datetime-local input UI inside ENABLE_INPUT_MULTIPLE_FIELDS_UI.

We'll have platform specific implementations in LocaleICU, LocaleMac,
and LocaleWin.

No new tests. Other patches will add tests for this change.

  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::dateFormat): Added a stub.

  • platform/text/LocaleICU.h:

(LocaleICU): Changed to add a declaration of dateFormat().

  • platform/text/LocaleNone.cpp:

(LocaleNone): Changed to add a declaration of dateFormat().
(WebCore::LocaleNone::dateFormat): Added.

  • platform/text/LocaleWin.cpp:

(WebCore::LocaleWin::dateFormat): Added.

  • platform/text/LocaleWin.h:

(LocaleWin): Changed to add a declaration of dateFormat().

  • platform/text/Localizer.h: Updates Unicode TR35 URI in a comment.

(Localizer): Changed to add a declaration of dateFormat().

  • platform/text/mac/LocaleMac.h:

(LocaleMac): Changed to add a declaration of dateFormat().

  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::dateFormat): Added a stub.

11:42 PM Changeset in webkit [130126] by yosin@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

REGRESSION(r130116): Need to update DateTimeFormatTest
https://bugs.webkit.org/show_bug.cgi?id=98120

Reviewed by Kent Tamura.

This patch updates test cases for week of month and week of year type
specifiers in DateTimeFormat class. This tests should be updated
within r130116.

  • tests/DateTimeFormatTest.cpp:

(TEST_F): Changed test cases for changes of enum field value changes.

11:32 PM Changeset in webkit [130125] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix ASSERT introduced in
http://trac.webkit.org/changeset/130103. It turns out this case can
occur. This patch causes us to handle it the same way we did
previously.

  • bindings/v8/IntrusiveDOMWrapperMap.h:

(WebCore::IntrusiveDOMWrapperMap::removeIfPresent):

11:22 PM Changeset in webkit [130124] by shinyak@chromium.org
  • 2 edits in trunk/Source/WebCore

[Refactoring] DOMSelection should not use shadowAncestorNode
https://bugs.webkit.org/show_bug.cgi?id=97872

Reviewed by Ryosuke Niwa.

Since Node::shadowAncestorNode is deprecated, it should not be used.
Here, we should use TreeScope::ancestorInThisScope instead.

No new tests, covered by existing test.

  • page/DOMSelection.cpp:

(WebCore::selectionShadowAncestor):

11:20 PM Changeset in webkit [130123] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

ScrollView::setScrollPosition is overridden by FrameView, but is not virtual
https://bugs.webkit.org/show_bug.cgi?id=98064

Reviewed by Simon Fraser.

Virtualize ScrollView::setScrollPosition, and override it in FrameView.

No new tests, this causes subtle behavior differences in currently-untestable code.

  • page/FrameView.h:

(FrameView):

  • platform/ScrollView.h:

(ScrollView):

11:17 PM Changeset in webkit [130122] by Dave Barton
  • 1 edit in trunk/Source/WebCore/ChangeLog

Restore WebCore/ChangeLog lines deleted in r130097
https://bugs.webkit.org/show_bug.cgi?id=98112

Reviewed by Eric Seidel.

11:15 PM Changeset in webkit [130121] by shinyak@chromium.org
  • 2 edits in trunk/Source/WebCore

TreeScope should not use node->shadowAncetorNode()
https://bugs.webkit.org/show_bug.cgi?id=97869

Reviewed by Ryosuke Niwa.

TreeScope uses shadowAncestorNode(), but we should use shadowHost() here. shadowAncestorNode() is deprecated.

No new tests, simple refactoring.

  • dom/TreeScope.cpp:

(WebCore::TreeScope::ancestorInThisScope):

11:10 PM Changeset in webkit [130120] by aestes@apple.com
  • 2 edits in branches/safari-534.58-branch/Source/WebCore

Update Localizable.strings by running update-webkit-localizable-strings.

  • English.lproj/Localizable.strings:
11:10 PM Changeset in webkit [130119] by pfeldman@chromium.org
  • 11 edits in trunk

Web Inspector: move completions calculation into RuntimeModel (part 1)
https://bugs.webkit.org/show_bug.cgi?id=98053

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • moves current execution context state into runtime model
  • moves completionsForTextPrompt and its private helpers into runtime model
  • makes text prompt use generic expression stop characters by default
  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.prototype._frameChanged):
(WebInspector.ConsoleView.prototype._appendContextOption):
(WebInspector.ConsoleView.prototype._contextChanged):

  • inspector/front-end/DatabaseQueryView.js:

(WebInspector.DatabaseQueryView):

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyPrompt):

  • inspector/front-end/RuntimeModel.js:

(WebInspector.RuntimeModel.prototype.setCurrentExecutionContext):
(WebInspector.RuntimeModel.prototype.currentExecutionContext):
(WebInspector.RuntimeModel.prototype._executionContextCreated):
(WebInspector.RuntimeModel.prototype.evaluate.evalCallback):
(WebInspector.RuntimeModel.prototype.evaluate):
(WebInspector.RuntimeModel.prototype.completionsForTextPrompt):
(WebInspector.RuntimeModel.prototype._completionsForExpression.evaluated.getCompletions):
(WebInspector.RuntimeModel.prototype._completionsForExpression.evaluated):
(WebInspector.RuntimeModel.prototype._completionsForExpression.receivedPropertyNamesFromEval):
(WebInspector.RuntimeModel.prototype._completionsForExpression.receivedPropertyNames):
(WebInspector.RuntimeModel.prototype._completionsForExpression):
(WebInspector.RuntimeModel.prototype._reportCompletions):

  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt):

  • inspector/front-end/WatchExpressionsSidebarPane.js:

(WebInspector.WatchExpressionsSection.prototype.update):

LayoutTests:

  • http/tests/inspector/console-cd-completions.html:
  • http/tests/inspector/network/network-initiator-from-console.html:
  • inspector/debugger/debugger-completions-on-call-frame.html:
9:57 PM Changeset in webkit [130118] by rniwa@webkit.org
  • 2 edits in trunk/PerformanceTests

PerfTestRunner: Move all functions into the closure and always use double quotation for string literals
https://bugs.webkit.org/show_bug.cgi?id=98093

Reviewed by Ojan Vafai.

Move all methods of PerfTestRunner into the closure that defines it.
Also always use double quotations for string literals for consistency.

  • resources/runner.js:
9:42 PM Changeset in webkit [130117] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

The static function 'deleteFileSystem' in the LocalFileSystem.cpp should have another name.
https://bugs.webkit.org/show_bug.cgi?id=98106

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-01
Reviewed by Yuta Kitamura.

A build error occurs because there are two functions which have same name in the LocalFileSystem.cpp file.
One is member function of the class, and the other is a static function which is called by the member function.
So, I've tried to change the name of the static function from 'deleteFileSystem' to 'performDeleteFileSystem'.

No new functionality, no new test.

  • Modules/filesystem/LocalFileSystem.cpp:

(WebCore::performDeleteFileSystem): The name of function is changed from 'deleteFileSystem'.
(WebCore::LocalFileSystem::requestFileSystem):
(WebCore::LocalFileSystem::deleteFileSystem):

9:22 PM Changeset in webkit [130116] by yosin@chromium.org
  • 4 edits in trunk/Source/WebCore

Week specifiers defined in DateTimeFormat class are wrong.
https://bugs.webkit.org/show_bug.cgi?id=98104

Reviewed by Kent Tamura.

This patch changes week of year and week of month format specifiers
defined in DateTimeFormat class to match with Unicode technical
standard 35, LDML, Locale Data Markup Language, (http://www.unicode.org/reports/tr35/).

No new tests. Following existing tests cover this change:

  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic.html
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes.html
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements.html
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-style.html
  • html/WeekInputType.cpp:

(WebCore::WeekInputType::setupLayoutParameters): Changed to use 'w' instead of 'W'.

  • platform/text/DateTimeFormat.cpp: Changed elements in lowerCaseToFieldTypeMap and upperCaseToFieldTypeMap.
  • platform/text/DateTimeFormat.h: Changed FieldTypeWeekOfMonth to 'W' and FieldTypeWeekOfYear to 'w'.
8:47 PM Changeset in webkit [130115] by jpetsovits@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove unused hasPendingScrollOrZoomEvent() interface.
https://bugs.webkit.org/show_bug.cgi?id=98107
RIM PR 173292

Reviewed by George Staikos.

This method is not referenced anywhere anymore,
so we should stop requiring it from WebPageClient
implementations.

  • Api/WebPageClient.h:
8:11 PM Changeset in webkit [130114] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Add other <string> typed tokens to YYDEBUG token output
https://bugs.webkit.org/show_bug.cgi?id=98102

Patch by Glenn Adams <glenn@skynav.com> on 2012-10-01
Reviewed by Simon Fraser.

Add other <string> typed tokens to YYPRINT macro expansion. Minor cleanup of cast.

No new tests. For CSS lexer/parser debug usage only.

  • css/CSSGrammar.y:

Add other <string> typed tokens to YYPRINT macro expansion.
Change C-type cast to function-call style cast (per darin).

7:37 PM Changeset in webkit [130113] by keishi@webkit.org
  • 9 edits
    2 moves in trunk

Calendar picker should use zero as default step base
https://bugs.webkit.org/show_bug.cgi?id=97976

Reviewed by Kent Tamura.

.:

  • ManualTests/forms/calendar-picker.html: Added stepBase parameters.

Source/WebCore:

Calendar picker should be using zero as default step base for input type=date.
The spec says to use zero unless specified otherwise.
Since input type=week has another default step base, I am adding step base
to DateTimeChooserParameters.

Test: fast/forms/date/calendar-picker-with-step.html

  • Resources/pagepopups/calendarPicker.js:

(handleArgumentsTimeout):
(CalendarPicker):
(CalendarPicker.prototype.stepMismatch): Use the new this.stepBase.

  • html/shadow/PickerIndicatorElement.cpp:

(WebCore::PickerIndicatorElement::openPopup): Gets step base from step range.

  • platform/DateTimeChooser.h:

(DateTimeChooserParameters): Added stepBase.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::writeDocument): stepBase needs 11 digits of precision when setting maximum possible date.

LayoutTests:

  • fast/forms/date/calendar-picker-with-step-expected.txt: Renamed from LayoutTests/fast/forms/date/calendar-picker-appearance-with-step-expected.txt.
  • fast/forms/date/calendar-picker-with-step.html: Renamed from LayoutTests/fast/forms/date/calendar-picker-appearance-with-step.html. Renamed because this does not test apeparance.
7:07 PM Changeset in webkit [130112] by roger_fong@apple.com
  • 1 edit
    1 add
    1 delete in trunk/LayoutTests

Unreviewed. Fix expected result name.

  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt: Added.
  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt.txt: Removed.
6:55 PM Changeset in webkit [130111] by keishi@webkit.org
  • 6 edits
    3 adds in trunk/LayoutTests

Add more tests for calendar picker
https://bugs.webkit.org/show_bug.cgi?id=98034

Reviewed by Kent Tamura.

This adds basic tests for all key bindings and simple mouse operations.

  • fast/forms/date/calendar-picker-common.js: Added.

(currentMonth): Returns month that the picker is currently showing.
(selectedDate):
(openPicker): Opens the calendar picker and updates popupWindow.
(sendKey):

  • fast/forms/date/calendar-picker-key-operations-expected.txt:
  • fast/forms/date/calendar-picker-key-operations.html:
  • fast/forms/date/calendar-picker-mouse-operations-expected.txt: Added.
  • fast/forms/date/calendar-picker-mouse-operations.html: Added.
  • fast/forms/resources/common.js:

(cumulativeOffset):
(hoverOverElement):
(clickElement):

  • platform/chromium/fast/forms/date/date-suggestion-picker-mouse-operations.html:
  • platform/gtk/TestExpectations: Added calendar-picker-mouse-operations.html.
6:51 PM Changeset in webkit [130110] by tony@chromium.org
  • 7 edits
    2 adds in trunk

flexbox does wrong baseline item alignment in columns
https://bugs.webkit.org/show_bug.cgi?id=97948

Reviewed by Ojan Vafai.

Source/WebCore:

For columns, baseline alignment should just be flex-start. We were previously
moving the logical left edge by the ascent.

Test: css3/flexbox/align-baseline.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::alignmentForChild): Map baseline to flex-start for orthogonal children.
(WebCore::RenderFlexibleBox::alignChildren): Add FIXME for bug in baseline alignment.

  • rendering/RenderFlexibleBox.h:

LayoutTests:

Update test cases with new baseline alignment for column.

  • css3/flexbox/align-baseline-expected.html: Added.
  • css3/flexbox/align-baseline.html: Added.
  • css3/flexbox/flex-align-baseline-expected.txt:
  • css3/flexbox/flex-align-baseline.html:
  • css3/flexbox/multiline-align-self.html:
6:21 PM Changeset in webkit [130109] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSArray::unshiftCountSlowCase needs to clear array slots when adding space to end of array
https://bugs.webkit.org/show_bug.cgi?id=98101

Reviewed by Filip Pizlo.

Cleared new array entries when adding to end due to shifting contents to lower memory. Also
checnaged the order of moving array contents and metadata in the shift left case to avoid
clobbering the metadata with array contents. Optimized the to only make a memmove if the
count is non-zero.

  • runtime/JSArray.cpp:

(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::unshiftCount):

6:14 PM Changeset in webkit [130108] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[Gtk] crash when accelerated composition is turned off
https://bugs.webkit.org/show_bug.cgi?id=98099

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-10-01
Reviewed by Martin Robinson.

frame->view()->updateLayoutAndStyleIfNeededRecursive() may reset root
compositing layer in flushAndRenderLayers. So, we check if compositing
is enabled afterwards, and return if it is not.

This bug is handled by LayoutTests/compositing/toggle-compositing.html

  • WebCoreSupport/AcceleratedCompositingContextGL.cpp:

(WebKit::AcceleratedCompositingContext::flushAndRenderLayers):

6:03 PM Changeset in webkit [130107] by yosin@chromium.org
  • 8 edits
    14 adds in trunk/LayoutTests

Adding appearance tests for multiple fields week input UI
https://bugs.webkit.org/show_bug.cgi?id=98006

Reviewed by Kent Tamura.

This patch adds tests for multiple fields week input UI and disables
these tests on ports which don't enable both ENABLE_INPUT_TYPE_WEEK
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

Note: We need to do rebaseline tests to update images for Chromium-Mac
and Chromium-Win.

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_WEEK
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

  • fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.txt: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic.html: Added for checking basic appearance.
  • fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.txt: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes.html: Added for checking appearance of applying CSS pseudo classes, e.g. :enabled, :invalid, and so on.
  • fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.txt: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements.html: Added for checking appearance of applying CSS pseudo elements, e.g. :after, :before, and so on.
  • fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.txt: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-appearance-style.html: Added for checking appearance of applying CSS styles
  • platform/chromium-android/TestExpectations: Changed to disable tests for multiple fields week input UI.
  • platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png: Added.
  • platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Added.
  • platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png: Added.
  • platform/chromium/TestExpectations: Changed to disable tests for multiple fields week input UI of Mac and Win for rebaseline.
  • platform/efl/TestExpectations: Changed to disable tests for multiple fields week input UI.
  • platform/gtk/TestExpectations: ditto
  • platform/mac/TestExpectations: ditto
  • platform/qt/TestExpectations: ditto
  • platform/win/TestExpectations: ditto
5:55 PM Changeset in webkit [130106] by keishi@webkit.org
  • 5 edits
    2 moves in trunk/Source/WebCore

Rename CalendarPickerElement to PickerIndicatorElement
https://bugs.webkit.org/show_bug.cgi?id=98096

Reviewed by Kent Tamura.

Renaming CalendarPickerElement to PickerIndicatorElement because we want to use it for other input types like time, week, month, datetime.

No new tests. Just a rename.

  • GNUmakefile.list.am:
  • WebCore.gypi:
  • html/DateInputType.cpp:

(WebCore::DateInputType::createShadowSubtree):

  • html/DateInputType.h:

(WebCore):
(DateInputType):

  • html/shadow/PickerIndicatorElement.cpp: Renamed from Source/WebCore/html/shadow/CalendarPickerElement.cpp.

(WebCore):
(WebCore::PickerIndicatorElement::PickerIndicatorElement):
(WebCore::PickerIndicatorElement::create):
(WebCore::PickerIndicatorElement::~PickerIndicatorElement):
(WebCore::PickerIndicatorElement::createRenderer):
(WebCore::PickerIndicatorElement::hostInput):
(WebCore::PickerIndicatorElement::defaultEventHandler):
(WebCore::PickerIndicatorElement::willRespondToMouseClickEvents):
(WebCore::PickerIndicatorElement::didChooseValue):
(WebCore::PickerIndicatorElement::didEndChooser):
(WebCore::PickerIndicatorElement::openPopup):
(WebCore::PickerIndicatorElement::closePopup):
(WebCore::PickerIndicatorElement::detach):

  • html/shadow/PickerIndicatorElement.h: Renamed from Source/WebCore/html/shadow/CalendarPickerElement.h.

(WebCore):
(PickerIndicatorElement):

5:36 PM WebKitGTK/1.10.x edited by Martin Robinson
(diff)
5:28 PM Changeset in webkit [130105] by ojan@chromium.org
  • 45 edits in trunk/Source/WebCore

Unreviewed, rolling out r130079.
http://trac.webkit.org/changeset/130079
https://bugs.webkit.org/show_bug.cgi?id=95866

Broke the chomium windows compile.

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::getFontData):

  • css/CSSFontFace.h:

(CSSFontFace):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):

  • css/CSSFontFaceSource.h:

(CSSFontFaceSource):

  • css/CSSFontSelector.cpp:

(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFontData):

  • css/CSSFontSelector.h:
  • css/CSSSegmentedFontFace.cpp:

(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
(WebCore::CSSSegmentedFontFace::getFontData):

  • css/CSSSegmentedFontFace.h:

(CSSSegmentedFontFace):

  • dom/Document.cpp:

(WebCore::Document::registerCustomFont):

  • dom/Document.h:

(Document):

  • platform/graphics/Font.h:

(WebCore):

  • platform/graphics/FontCache.cpp:

(WebCore):
(WebCore::FontCache::getCachedFontData):
(WebCore::FontCache::getNonRetainedLastResortFallbackFont):
(WebCore::FontCache::releaseFontData):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::getFontData):

  • platform/graphics/FontCache.h:

(FontCache):

  • platform/graphics/FontData.h:
  • platform/graphics/FontFallbackList.cpp:

(WebCore::FontFallbackList::releaseFontData):
(WebCore::FontFallbackList::fontDataAt):
(WebCore::FontFallbackList::setPlatformFont):

  • platform/graphics/FontFallbackList.h:

(FontFallbackList):

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::glyphDataAndPageForCharacter):

  • platform/graphics/FontSelector.h:

(FontSelector):

  • platform/graphics/GlyphPageTreeNode.cpp:

(WebCore::GlyphPageTreeNode::initializePage):

  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::fontDataForCharacter):

  • platform/graphics/SegmentedFontData.h:

(WebCore::FontDataRange::FontDataRange):
(WebCore::FontDataRange::fontData):
(FontDataRange):
(SegmentedFontData):

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::verticalRightOrientationFontData):
(WebCore::SimpleFontData::uprightOrientationFontData):
(WebCore::SimpleFontData::brokenIdeographFontData):

  • platform/graphics/SimpleFontData.h:

(SimpleFontData):
(WebCore::SimpleFontData::variantFontData):
(DerivedFontData):

  • platform/graphics/chromium/FontCacheAndroid.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/chromium/FontCacheChromiumWin.cpp:

(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(GetLastResortFallbackFontProcData):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::fontDataForCombiningCharacterSequence):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/pango/FontCachePango.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/pango/SimpleFontDataPango.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/qt/FontCacheQt.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/qt/SimpleFontDataQt.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/skia/FontCacheSkia.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/skia/SimpleFontDataSkia.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/wince/FontCacheWinCE.cpp:
  • platform/graphics/wince/SimpleFontDataWinCE.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/wx/FontCacheWx.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/wx/SimpleFontDataWx.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

5:26 PM Changeset in webkit [130104] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative GTK build fix after http://trac.webkit.org/changeset/130091

  • GNUmakefile.list.am:
5:16 PM Changeset in webkit [130103] by abarth@webkit.org
  • 4 edits in trunk/Source/WebCore

[V8] ScriptWrappable should hold the wrapper handle directly (Dromaeo/dom-traverse gets 4% faster)
https://bugs.webkit.org/show_bug.cgi?id=97974

Reviewed by Kentaro Hara.

Previously, we stored a pointer to a handle to a wrapper in Node. That
is an extra layer of indirection that slows down finding the wrapper
for the node. A handle is just a pointer, so we might as we just store
the handle in the Node directly. That speeds up dom-traverse by about 4%.

We were using the extra layer of indirection in IntrusiveDOMWrapperMap
to make removal more efficient. Rather than using a chunked table, we
now use a HashSet, which also lets us remove elements quickly.

  • bindings/v8/IntrusiveDOMWrapperMap.h:

(WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
(WebCore::IntrusiveDOMWrapperMap::get):
(WebCore::IntrusiveDOMWrapperMap::set):
(WebCore::IntrusiveDOMWrapperMap::contains):
(WebCore::IntrusiveDOMWrapperMap::visit):
(WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
(WebCore::IntrusiveDOMWrapperMap::clear):

  • bindings/v8/ScriptWrappable.h:

(WebCore::ScriptWrappable::ScriptWrappable):
(WebCore::ScriptWrappable::wrapper):
(WebCore::ScriptWrappable::setWrapper):
(WebCore::ScriptWrappable::disposeWrapper):
(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):

  • bindings/v8/V8DOMWrapper.h:

(WebCore::V8DOMWrapper::getCachedWrapper):

5:14 PM Changeset in webkit [130102] by fpizlo@apple.com
  • 7 edits
    3 adds in trunk

Address a FIXME in JSArray::sort
https://bugs.webkit.org/show_bug.cgi?id=98080
<rdar://problem/12407844>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Get rid of fast sorting of sparse maps. I don't know that it's broken but I do know that we don't
have coverage for it. Then also address the FIXME in JSArray::sort regarding side-effecting
compare functions.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncSort):

  • runtime/JSArray.cpp:

(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):

  • runtime/JSArray.h:

(JSArray):

  • runtime/JSObject.h:

(JSC::JSObject::hasSparseMap):
(JSObject):

LayoutTests:

  • fast/js/jsc-test-list:
  • fast/js/script-tests/sort-with-side-effecting-comparisons.js: Added.
  • fast/js/sort-with-side-effecting-comparisons-expected.txt: Added.
  • fast/js/sort-with-side-effecting-comparisons.html: Added.
5:14 PM Changeset in webkit [130101] by ojan@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r130062.
http://trac.webkit.org/changeset/130062
https://bugs.webkit.org/show_bug.cgi?id=98001

Causes a ton of gtest failures on the chromium bots.

  • platform/chromium/LanguageChromium.cpp:

(WebCore::platformLanguage):

5:12 PM Changeset in webkit [130100] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skipping flaky test on Windows: inspector/debugger/dynamic-script-tag.html.
https://bugs.webkit.org/show_bug.cgi?id=98095

  • platform/win/TestExpectations:
4:48 PM Changeset in webkit [130099] by rniwa@webkit.org
  • 7 edits in trunk

Encapsulate private properties in PerfTestRunner better
https://bugs.webkit.org/show_bug.cgi?id=97833

Reviewed by Ojan Vafai.

PerformanceTests:

This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
waiting for 10 minutes per each broken test on bots.

  • resources/runner.js:

(PerfTestRunner.gc):
(logInDocument): Extracted from PerfTestRunner.log.
(PerfTestRunner.log): Moved.
(logFatalError): Added.
(start): Renamed from PerfTestRunner._start.
(scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
such cases, which in turn ensures notifyDone() is called.
(ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
(finish): Extracted from PerfTestRunner._runLoop.
(PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
(measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
(PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
(measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
(callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.

LayoutTests:

Override PerfTestRunner.now instead of PerfTestRunner._perSecondRunnerIterator since the latter
is no longer exposed.

  • fast/harness/perftests/runs-per-second-iterations-expected.txt:
  • fast/harness/perftests/runs-per-second-iterations.html: Increase the runtime of the last 4 runs

since test.timeToRun is no longer supported by PerfTestRunner.

  • fast/harness/perftests/runs-per-second-log-expected.txt:
  • fast/harness/perftests/runs-per-second-log.html: Avoid use numbers that contain primes other

than 2 and 5 as runs because they cause rouding errors in PerfTestRunner.measureRunsPerSecondOnce
and make the output dependent on the underlying floating number implementation.

4:43 PM Changeset in webkit [130098] by roger_fong@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed. Rolling out changes from http://trac.webkit.org/changeset/119130.
Tests match older results.

  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.png: Added.
  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt.txt: Added.
4:20 PM Changeset in webkit [130097] by Dave Barton
  • 24 edits in trunk

[MathML] Baseline wrong for fractions or munder/mover with padding
https://bugs.webkit.org/show_bug.cgi?id=97990

Reviewed by Eric Seidel.

Source/WebCore:

We include any border or padding in our baseline computation. We also take this opportunity
to quit adding extra left & right padding to numerators and denominators, making our output
tighter and also more compatible with Firefox and TeX, since we are rebaselining some
fraction pixel tests now anyway.

Tests added to LayoutTests/mathml/presentation/{over,row-alignment}.xhtml

  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::fixChildStyle):
(WebCore::RenderMathMLFraction::paint):
(WebCore::RenderMathMLFraction::firstLineBoxBaseline):

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):

LayoutTests:

We handle any border and padding correctly, and quit adding extra left and right padding
to numerators and denominators.

  • mathml/presentation/over.xhtml:
  • mathml/presentation/row-alignment.xhtml:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/mathml/presentation/attributes-expected.png:
  • platform/mac/mathml/presentation/attributes-expected.txt:
  • platform/mac/mathml/presentation/fractions-expected.png:
  • platform/mac/mathml/presentation/fractions-expected.txt:
  • platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png:
  • platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
  • platform/mac/mathml/presentation/mo-stretch-expected.png:
  • platform/mac/mathml/presentation/mo-stretch-expected.txt:
  • platform/mac/mathml/presentation/over-expected.png:
  • platform/mac/mathml/presentation/over-expected.txt:
  • platform/mac/mathml/presentation/roots-expected.png:
  • platform/mac/mathml/presentation/roots-expected.txt:
  • platform/mac/mathml/presentation/row-alignment-expected.png:
  • platform/mac/mathml/presentation/row-alignment-expected.txt:
  • platform/mac/mathml/presentation/subsup-expected.png:
  • platform/mac/mathml/presentation/subsup-expected.txt:
4:18 PM Changeset in webkit [130096] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skipped on other platforms in http://trac.webkit.org/changeset/129897.
Skipping on Windows as well.

  • platform/win/TestExpectations:
4:14 PM Changeset in webkit [130095] by jsbell@chromium.org
  • 13 edits in trunk/Source

Source/WebCore: IndexedDB: Fire error rather than raising on request creation if transaction aborts asynchronously.
https://bugs.webkit.org/show_bug.cgi?id=93054

Reviewed by Tony Chang.

All IDB data operations are asynchronous, producing IDBRequest objects. This was implemented
by passing all data from the front-end to the back-end synchronously, and synchronously
returning an exception code back if the request was invalid. Previous changes have moved
request validation to the front-end except for the case of the back-end transaction having
asynchronously aborted in the mean time.

To eliminate that case (which would allow front-end to back-end communication to be
asynchronous in multi-process ports), change from returning an exception code to relying on
the front-end to abort the request when the abort event finally arrives.

The difference would be noticeable in scripts - in a multi-process environment:

var request1 = store.get(0);
request1.onerror = errorHandler; (A)
(B)
var request2 = store.get(0); (C)
request2.onerror = errorHandler;
(D)

If the transaction back-end were to asynchronously abort at exactly point (B), then prior to
this patch an exception would be thrown at (C). With this patch, no exception but (D) would
fire, same as (A).

The back-end explicitly fires an error callback as well, as intermediate layers may rely on
this to stop tracking the pending callback.

No new layout tests - change is not observable in single-process ports.
Added webkit_unit_test IDBRequestTest.AbortErrorAfterAbort to verify that IDBRequest
is resilient to this pattern, but it was previous.

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::advance): Back end should never fail a request.
(WebCore::IDBCursor::continueFunction): Ditto.
(WebCore::IDBCursor::deleteFunction): Ditto, and also move "is key cursor" test
here from back-end.

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::continueFunction): Change from EC to firing error.
(WebCore::IDBCursorBackendImpl::advance): Ditto.
(WebCore::IDBCursorBackendImpl::deleteFunction): Ditto, and remove test moved to FE.
(WebCore::IDBCursorBackendImpl::prefetchContinue): Ditto.

  • Modules/indexeddb/IDBDatabaseError.cpp:

(WebCore::IDBDatabaseError::create): Add overload that looks up message via code.
(WebCore::IDBDatabaseError::IDBDatabaseError): Look up message via exception table.

  • Modules/indexeddb/IDBDatabaseException.h: Add getErrorDescription.
  • Modules/indexeddb/IDBDatabaseException.cpp: Implementation of getErrorDescription.
  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor): Back end should never fail a request.
(WebCore::IDBIndex::count): Ditto.
(WebCore::IDBIndex::openKeyCursor): Ditto.
(WebCore::IDBIndex::get): Ditto.
(WebCore::IDBIndex::getKey): Ditto.

  • Modules/indexeddb/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::openCursor): Change from EC to firing error.
(WebCore::IDBIndexBackendImpl::openKeyCursor): Ditto.
(WebCore::IDBIndexBackendImpl::count): Ditto.
(WebCore::IDBIndexBackendImpl::get): Ditto.
(WebCore::IDBIndexBackendImpl::getKey): Ditto.

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::get): Back end should never fail a request.
(WebCore::IDBObjectStore::put): Ditto.
(WebCore::IDBObjectStore::deleteFunction): Ditto.
(WebCore::IDBObjectStore::clear): Ditto.
(WebCore): Ditto.
(WebCore::IDBObjectStore::openCursor): Ditto.
(WebCore::IDBObjectStore::count): Ditto.

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::get): Change from EC to firing error.
(WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys): Ditto.
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction): Ditto.
(WebCore::IDBObjectStoreBackendImpl::clear): Ditto.
(WebCore::IDBObjectStoreBackendImpl::openCursor): Ditto.
(WebCore::IDBObjectStoreBackendImpl::count): Ditto.

Source/WebKit/chromium: IndexedDB: Move onSuccess(IDBDatabaseBackendInterface) to IDBOpenDBRequest
https://bugs.webkit.org/show_bug.cgi?id=94757

Reviewed by Tony Chang.

  • tests/IDBRequestTest.cpp: Ensure IDBRequest can handle Error after abort.

(WebCore::TEST): Added AbortAfter

4:14 PM Changeset in webkit [130094] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Add some flaky tests to match what's happening on the bots.

  • platform/chromium/TestExpectations:
4:12 PM Changeset in webkit [130093] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix. Clearly, these objects could be instantiated in worker threads.
Not sure why my patch asserted that we're in the main thread.

  • dom/ContainerNode.h:

(WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
(WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):

4:08 PM Changeset in webkit [130092] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Update results again after r130080.

  • platform/efl/fast/canvas/canvas-render-layer-expected.txt:
4:05 PM Changeset in webkit [130091] by Beth Dakin
  • 11 edits
    3 moves
    4 adds in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=97365
ScrollingTreeState needs to be a tree of nodes

Reviewed by Simon Fraser.

This patch should not change any behavior.

Prior to this patch, ScrollingTreeState attempted to contain all of
the state information needed for the whole scrolling tree in one
object. But in the future when there are multiple nodes in the
scrolling tree, a single state object will not be sufficient.
ScrollingState should also be represented by a tree. This patch makes
scrolling state into a tree. The old ScrollingTreeState class has
become the ScrollingStateScrollingNode class since the majority of
the class represents scroll state that is specific to ScrollableAreas
and will not be applicable to fixed or sticky layers.

Some new files and some moved files.

  • WebCore.xcodeproj/project.pbxproj:

Everything that used to refer to the ScrollingTreeState should now
refer to the ScrollingStateTree instead. Right now, all of this code
continues to deal with only the root node of the tree. In the future,
it will have to deal with all of the nodes.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::ScrollingCoordinator):
(WebCore::ScrollingCoordinator::pageDestroyed):
(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
(WebCore::ScrollingCoordinator::scrollingStateTreeCommitterTimerFired):
(WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
(WebCore::ScrollingCoordinator::commitTreeState):

  • page/scrolling/ScrollingCoordinator.h:

(WebCore):
(ScrollingCoordinator):

This is a new abstract base class for the nodes in the
ScrollingStateTree.

  • page/scrolling/ScrollingStateNode.cpp: Added.

(WebCore):
(WebCore::ScrollingStateNode::ScrollingStateNode):
(WebCore::ScrollingStateNode::~ScrollingStateNode):
(WebCore::ScrollingStateNode::appendChild):
(WebCore::ScrollingStateNode::cloneChildNodes):
(WebCore::ScrollingStateNode::traverseNext):

  • page/scrolling/ScrollingStateNode.h: Added.

(WebCore):
(ScrollingStateNode):
(WebCore::ScrollingStateNode::scrollLayerDidChange):
(WebCore::ScrollingStateNode::setScrollLayerDidChange):
(WebCore::ScrollingStateNode::scrollingStateTree):
(WebCore::ScrollingStateNode::parent):
(WebCore::ScrollingStateNode::firstChild):
(WebCore::ScrollingStateNode::nextSibling):
(WebCore::ScrollingStateNode::setParent):
(WebCore::ScrollingStateNode::setFirstChild):
(WebCore::ScrollingStateNode::setNextSibling):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:
  • page/scrolling/mac/ScrollingStateNodeMac.mm: Copied from page/scrolling/mac/ScrollingTreeStateMac.mm.

(WebCore::ScrollingStateNode::platformScrollLayer):
(WebCore::ScrollingStateNode::setScrollLayer):
(WebCore):

Right now, the ScrollingStateScrollingNode is the only type of
ScrollingStateNode. In the future there will be, for example,
ScrollingStateFixedNodes that will have a different set of state
information to keep track of.

  • page/scrolling/ScrollingStateScrollingNode.cpp: Copied from page/scrolling/ScrollingTreeState.cpp.

(WebCore::ScrollingStateScrollingNode::create):
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore):
(WebCore::ScrollingStateScrollingNode::~ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::cloneNode):
(WebCore::ScrollingStateScrollingNode::setViewportRect):
(WebCore::ScrollingStateScrollingNode::setContentsSize):
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateScrollingNode::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollElasticity):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollElasticity):
(WebCore::ScrollingStateScrollingNode::setHasEnabledHorizontalScrollbar):
(WebCore::ScrollingStateScrollingNode::setHasEnabledVerticalScrollbar):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarMode):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollbarMode):
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
(WebCore::ScrollingStateScrollingNode::setScrollOrigin):

  • page/scrolling/ScrollingStateScrollingNode.h: Copied from page/scrolling/ScrollingTreeState.h.

(ScrollingStateScrollingNode):

  • page/scrolling/ScrollingStateTree.cpp: Added.

(WebCore):
(WebCore::ScrollingStateTree::create):
(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::~ScrollingStateTree):
(WebCore::ScrollingStateTree::commit):

The ScrollingStateTree manages the nodes in the tree via the root
node. It is responsible for cloning the tree and sending it over to
the scrolling thread.

  • page/scrolling/ScrollingStateTree.h: Added.

(WebCore):
(ScrollingStateTree):
(WebCore::ScrollingStateTree::rootStateNode):
(WebCore::ScrollingStateTree::setHasChangedProperties):
(WebCore::ScrollingStateTree::hasChangedProperties):
(WebCore::ScrollingStateTree::setRootStateNode):

Everything that used to refer to the ScrollingTreeState should now
refer to the ScrollingStateTree instead. Right now, all of this code
continues to deal with only the root node of the tree. In the future,
it will have to deal with all of the nodes.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::commitNewTreeState):

  • page/scrolling/ScrollingTree.h:

(WebCore):

  • page/scrolling/ScrollingTreeNode.cpp:

(WebCore::ScrollingTreeNode::update):

  • page/scrolling/ScrollingTreeNode.h:

(WebCore):
(ScrollingTreeNode):

  • page/scrolling/mac/ScrollingTreeNodeMac.h:

(ScrollingTreeNodeMac):

  • page/scrolling/mac/ScrollingTreeNodeMac.mm:

(WebCore::ScrollingTreeNodeMac::update):

ScrollingTreeState.cpp --> ScrollingStateScrollingNode.cpp

  • page/scrolling/ScrollingTreeState.cpp: Removed.

ScrollingTreeState.h --> ScrollingStateScrollingNode.h

  • page/scrolling/ScrollingTreeState.h: Removed.

ScrollingTreeStateMac.mm --> ScrollingStateNodeMac.mm

  • page/scrolling/mac/ScrollingTreeStateMac.mm: Removed.
3:55 PM Changeset in webkit [130090] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skipping http/tests/security/cross-origin-local-storage-wk1.html since support for the feature on Windows has not been added yet.
https://bugs.webkit.org/show_bug.cgi?id=98079

  • platform/win/Skipped:
3:54 PM Changeset in webkit [130089] by Dimitri Glazkov
  • 3 edits in trunk/Source/WebCore

Kill transitive effects of SelectorChecker::checkOneSelector.
https://bugs.webkit.org/show_bug.cgi?id=97953

Reviewed by Eric Seidel.

The dynamicPseudo/hasUnknownPseudoelements by-ref parameters that are passed into checkOneSelector make the logic harder to understand and aren't needed. Refactor the code to rid of them, replacing them instead with two flags in SelectorCheckingContext.

No change in behavior, covered by existing tests.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkSelector): Rolled pseudo-element-checking code out of checkOneSelector into here, since that is where t
(WebCore::SelectorChecker::checkOneSelector): Changed to use SelectorCheckingContext rather than transitive params.

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added two new flags.
(SelectorCheckingContext): Ditto.

3:41 PM Changeset in webkit [130088] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

349kB below SelectorDataList::initialize() on Membuster3.
<http://webkit.org/b/98072>
<rdar://problem/12408605>

Reviewed by Anders Carlsson.

Make a separate pass over the CSSSelectorList to figure out the capacity needed for SelectorDataList::m_selectors.
Reduces memory consumption by 322kB on Membuster3.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::initialize):

3:38 PM Changeset in webkit [130087] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

Re-baseline after r130080 for Mac.

  • platform/mac/fast/canvas/canvas-render-layer-expected.txt:
3:36 PM Changeset in webkit [130086] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

Add failing geolocation test to Mac WK2 TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=98081

  • platform/mac-wk2/TestExpectations:
3:31 PM Changeset in webkit [130085] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Add a GraphicsLayerFactory getter to ChromeClient
https://bugs.webkit.org/show_bug.cgi?id=98069

Reviewed by Andreas Kling.

  • page/ChromeClient.h:

(WebCore::ChromeClient::graphicsLayerFactory):
New function that can be overridden by ports to customize the layer type created for a page.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::graphicsLayerFactory):

  • rendering/RenderLayerCompositor.h:

Add helper getter that's unused for now but will be called by RenderLayerBacking when creating graphics layers.

3:24 PM Changeset in webkit [130084] by rniwa@webkit.org
  • 10 edits in trunk/Source/WebCore

Rename AssertNoEventDispatch to NoEventDispatchAssertion
https://bugs.webkit.org/show_bug.cgi?id=98075

Reviewed by Abhishek Arya.

Renamed the class.

  • dom/ContainerNode.cpp:

(WebCore):
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAppendChild):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):

  • dom/ContainerNode.h:

(WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
(WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
(WebCore::ChildNodeInsertionNotifier::notify):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):

  • dom/Document.cpp:

(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • dom/Node.cpp:

(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchFocusInEvent):
(WebCore::Node::dispatchFocusOutEvent):
(WebCore::Node::dispatchDOMActivateEvent):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadInternal):

3:22 PM Changeset in webkit [130083] by rakuco@webkit.org
  • 3 edits in trunk/Tools

webkitpy should accept a different httpd.conf specified by the user
https://bugs.webkit.org/show_bug.cgi?id=98071

Reviewed by Dirk Pranke.

The existing httpd.conf variants (or lighttpd.conf, for that
matter) we have do not always suit the user's system. This is
particularly true on Linux/Unix, where Apache can be installed in
a plethora of ways and the LoadModule calls can fail to specify
the proper module paths.

For now, we start accepting the WEBKIT_HTTP_SERVER_CONF_PATH
environment variable, which allows the user to specify the
absolute path to another http server configuration file that might
work on the user's system.

In the long term, we should try to generate our configuration file
and stop requiring all the different httpd.conf files we have as
well as this hack.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port._path_to_apache_config_file):

  • Scripts/webkitpy/layout_tests/port/port_testcase.py:

(test_path_to_apache_config_file):

3:18 PM Changeset in webkit [130082] by schenney@chromium.org
  • 4 edits in trunk/Source/WebCore

Rename Font::m_fontList to avoid confusion
https://bugs.webkit.org/show_bug.cgi?id=95867

Reviewed by Eric Seidel.

Renames Font::m_fontList to Font::m_fontFallbackList to avoid confusion
with FontFallbackList::m_fontList.

No new tests as behavior is absolutely not different.

  • platform/graphics/Font.cpp:

(WebCore::Font::Font):
(WebCore::Font::operator=):
(WebCore::Font::operator==):
(WebCore::Font::update):

  • platform/graphics/Font.h:

(WebCore::Font::fontList):
(WebCore::Font::loadingCustomFonts):
(Font):
(WebCore::Font::primaryFont):
(WebCore::Font::fontDataAt):
(WebCore::Font::isFixedPitch):
(WebCore::Font::fontSelector):

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::glyphDataAndPageForCharacter):

3:04 PM Changeset in webkit [130081] by fmalita@chromium.org
  • 60 edits
    2 adds in trunk/Source/WebCore

Refactor layer-related logic out of RenderBoxModelObject
https://bugs.webkit.org/show_bug.cgi?id=86022

Reviewed by David Hyatt.

This patch extracts layer-related logic into a dedicated class
(RenderLayerModelObject) and refactors dependent code to make use
of the new type instead of RenderBoxModelObject. This is in preparation
of adding non-RenderBoxModelObject layer supprt.

All methods that were using RenderBoxModelObject for layer-related
functionality are updated to work with RenderLayerModelObject
instead (a RenderLayer's renderer() can no longer be assumed to be
a RenderBoxModelObject).

No new tests: refactoring with no behavior changes.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.order:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/LayoutRepainter.h:

(WebCore):
(LayoutRepainter):

  • rendering/RenderBR.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::rectWithOutlineForRepaint):

  • rendering/RenderBlock.h:

(RenderBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::outlineBoundsForRepaint):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::pushMappingToContainer):
(WebCore::RenderBox::clippedOverflowRectForRepaint):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::enclosingFloatPaintingLayer):

  • rendering/RenderBox.h:

(RenderBox):

  • rendering/RenderBoxModelObject.cpp:

(WebCore):
(WebCore::RenderBoxModelObject::RenderBoxModelObject):
(WebCore::RenderBoxModelObject::~RenderBoxModelObject):
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::updateFromStyle):

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::pushMappingsToAncestor):
(WebCore::RenderGeometryMap::popMappingsToAncestor):

  • rendering/RenderGeometryMap.h:

(RenderGeometryMap):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::updateFromStyle):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::rectWithOutlineForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::pushMappingToContainer):

  • rendering/RenderInline.h:

(RenderInline):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::computeRepaintRects):
(WebCore::checkContainingBlockChainForPagination):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::isPositionedContainer):
(WebCore::RenderLayer::hasAncestorWithFilterOutsets):
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):

  • rendering/RenderLayer.h:

(RenderLayer):
(WebCore::RenderLayer::renderer):

  • rendering/RenderLayerBacking.h:

(WebCore::RenderLayerBacking::renderer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::repaintOnCompositingChange):
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::reasonForCompositing):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::selectionRectForRepaint):

  • rendering/RenderListMarker.h:

(RenderListMarker):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::addChild):
(WebCore::addLayers):
(WebCore::RenderObject::removeLayers):
(WebCore::RenderObject::moveLayers):
(WebCore::RenderObject::findNextLayer):
(WebCore::RenderObject::enclosingLayer):
(WebCore::RenderObject::setLayerNeedsFullRepaint):
(WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
(WebCore::RenderObject::containerForRepaint):
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
(WebCore::RenderObject::rectWithOutlineForRepaint):
(WebCore::RenderObject::clippedOverflowRectForRepaint):
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::computeFloatRectForRepaint):
(WebCore::RenderObject::adjustStyleDifference):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::shouldUseTransformFromContainer):
(WebCore::RenderObject::getTransformFromContainer):
(WebCore::RenderObject::localToContainerQuad):
(WebCore::RenderObject::localToContainerPoint):
(WebCore::RenderObject::container):
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::isComposited):

  • rendering/RenderObject.h:

(WebCore):
(WebCore::RenderObject::isLayerModelObject):
(RenderObject):
(WebCore::RenderObject::selectionRectForRepaint):
(WebCore::RenderObject::outlineBoundsForRepaint):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::selectionRectForRepaint):
(WebCore::RenderReplaced::clippedOverflowRectForRepaint):

  • rendering/RenderReplaced.h:

(RenderReplaced):

  • rendering/RenderSelectionInfo.h:

(WebCore::RenderSelectionInfoBase::repaintContainer):
(RenderSelectionInfoBase):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
(WebCore::RenderTableCell::computeRectForRepaint):

  • rendering/RenderTableCell.h:

(RenderTableCell):

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::clippedOverflowRectForRepaint):

  • rendering/RenderTableCol.h:

(RenderTableCol):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::clippedOverflowRectForRepaint):

  • rendering/RenderTableRow.h:

(RenderTableRow):

  • rendering/RenderText.cpp:

(WebCore::RenderText::clippedOverflowRectForRepaint):
(WebCore::RenderText::selectionRectForRepaint):

  • rendering/RenderText.h:

(RenderText):

  • rendering/RenderLayerModelObject.cpp: Added.

(WebCore):
(WebCore::RenderLayerModelObject::RenderLayerModelObject):
(WebCore::RenderLayerModelObject::~RenderLayerModelObject):
(WebCore::RenderLayerModelObject::destroyLayer):
(WebCore::RenderLayerModelObject::ensureLayer):
(WebCore::RenderLayerModelObject::hasSelfPaintingLayer):
(WebCore::RenderLayerModelObject::willBeDestroyed):
(WebCore::RenderLayerModelObject::styleWillChange):
(WebCore::RenderLayerModelObject::styleDidChange):

  • rendering/RenderLayerModelObject.h: Added.

(WebCore):
(RenderLayerModelObject):
(WebCore::RenderLayerModelObject::layer):
(WebCore::RenderLayerModelObject::updateFromStyle):
(WebCore::toRenderLayerModelObject):

  • rendering/RenderView.cpp:

(WebCore::RenderView::mapLocalToContainer):
(WebCore::RenderView::pushMappingToContainer):
(WebCore::isComposited):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::absoluteRects):
(WebCore::RenderView::absoluteQuads):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::clearSelection):

  • rendering/RenderView.h:

(RenderView):

  • rendering/RenderingAllInOne.cpp:
  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::updateFromStyle):

  • rendering/svg/RenderSVGBlock.h:

(RenderSVGBlock):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
(WebCore::RenderSVGForeignObject::computeFloatRectForRepaint):
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
(WebCore::RenderSVGForeignObject::pushMappingToContainer):

  • rendering/svg/RenderSVGForeignObject.h:

(RenderSVGForeignObject):

  • rendering/svg/RenderSVGGradientStop.h:
  • rendering/svg/RenderSVGHiddenContainer.h:
  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
(WebCore::RenderSVGInline::computeFloatRectForRepaint):
(WebCore::RenderSVGInline::mapLocalToContainer):
(WebCore::RenderSVGInline::pushMappingToContainer):

  • rendering/svg/RenderSVGInline.h:

(RenderSVGInline):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
(WebCore::RenderSVGModelObject::computeFloatRectForRepaint):
(WebCore::RenderSVGModelObject::mapLocalToContainer):
(WebCore::RenderSVGModelObject::pushMappingToContainer):
(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):

  • rendering/svg/RenderSVGModelObject.h:

(RenderSVGModelObject):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
(WebCore::RenderSVGRoot::computeFloatRectForRepaint):
(WebCore::RenderSVGRoot::mapLocalToContainer):
(WebCore::RenderSVGRoot::pushMappingToContainer):

  • rendering/svg/RenderSVGRoot.h:

(RenderSVGRoot):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::clippedOverflowRectForRepaint):
(WebCore::RenderSVGText::computeRectForRepaint):
(WebCore::RenderSVGText::computeFloatRectForRepaint):
(WebCore::RenderSVGText::mapLocalToContainer):
(WebCore::RenderSVGText::pushMappingToContainer):

  • rendering/svg/RenderSVGText.h:

(RenderSVGText):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
(WebCore::SVGRenderSupport::computeFloatRectForRepaint):
(WebCore::SVGRenderSupport::mapLocalToContainer):
(WebCore::SVGRenderSupport::pushMappingToContainer):

  • rendering/svg/SVGRenderSupport.h:

(WebCore):
(SVGRenderSupport):

2:58 PM Changeset in webkit [130080] by ojan@chromium.org
  • 4 edits in trunk/LayoutTests

Set the line-height of the body to 0 to make this test not be text rendering dependent.

  • fast/canvas/canvas-render-layer.html:
  • platform/chromium-linux/fast/canvas/canvas-render-layer-expected.txt:
  • platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt:
2:33 PM WebKit Team edited by eae@chromium.org
(diff)
2:31 PM Changeset in webkit [130079] by schenney@chromium.org
  • 45 edits in trunk/Source/WebCore

Refactor WebCore::FontData handling to clarify pointer ownership
https://bugs.webkit.org/show_bug.cgi?id=95866

Reviewed by Eric Seidel.

This patch makes all FontData and derived classes ref-counted in all
code paths that lead to caching or other retention of a
pointer. The goal is to avert crashes and memory leaks, and to bring
the code more in line with current WebKit practices.

Specifically, this patch allows us to use ref pointers for all the
FontData stored in FontFallbackList objects. The FontFallbackList can
then own custom font data and manage its lifetime (forthcoming patch).
Currently Document owns custom font data and does an end run around
FontFallbackList in deleting glyph pages and custom font data, leaving
FontFallbackList with invalid pointers.

All FontData derived classes have been switched to use static create
methods with private constructors.

All caches that hold FontData now use RefPtrs.

All methods that construct new font data now return PassRefPtr, with the
exception of code only used to generate temporary data for text run layout.

All methods that handle FontData in a call stack that passes through
FontFallbackList::fontDataAt return PassRefPtr.

Performance tested with both WebKit Perf-o-matic, which showed
performance changes in the noise, and Chrome's page cycling tests with
the acid3 benchmark set, which showed no performance difference at all.

No new tests as this is refactoring code only and has no impact on functionality.

  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::getFontData):

  • css/CSSFontFace.h:

(CSSFontFace):

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):

  • css/CSSFontFaceSource.h:

(CSSFontFaceSource):

  • css/CSSFontSelector.cpp:

(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFontData):

  • css/CSSFontSelector.h:
  • css/CSSSegmentedFontFace.cpp:

(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
(WebCore::CSSSegmentedFontFace::getFontData):

  • css/CSSSegmentedFontFace.h:

(CSSSegmentedFontFace):

  • dom/Document.cpp:

(WebCore::Document::registerCustomFont):

  • dom/Document.h:

(Document):

  • platform/graphics/Font.h:

(WebCore):

  • platform/graphics/FontCache.cpp:

(WebCore):
(WebCore::FontCache::getCachedFontData):
(WebCore::FontCache::getNonRetainedLastResortFallbackFont):
(WebCore::FontCache::releaseFontData):
(WebCore::FontCache::purgeInactiveFontData):
(WebCore::FontCache::getFontData):

  • platform/graphics/FontCache.h:

(FontCache):

  • platform/graphics/FontData.h:
  • platform/graphics/FontFallbackList.cpp:

(WebCore::FontFallbackList::releaseFontData):
(WebCore::FontFallbackList::fontDataAt):
(WebCore::FontFallbackList::setPlatformFont):

  • platform/graphics/FontFallbackList.h:

(FontFallbackList):

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::glyphDataAndPageForCharacter):

  • platform/graphics/FontSelector.h:

(FontSelector):

  • platform/graphics/GlyphPageTreeNode.cpp:

(WebCore::GlyphPageTreeNode::initializePage):

  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::fontDataForCharacter):

  • platform/graphics/SegmentedFontData.h:

(WebCore::FontDataRange::FontDataRange):
(WebCore::FontDataRange::fontData):
(FontDataRange):
(WebCore::SegmentedFontData::create):
(SegmentedFontData):
(WebCore::SegmentedFontData::SegmentedFontData):

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::verticalRightOrientationFontData):
(WebCore::SimpleFontData::uprightOrientationFontData):
(WebCore::SimpleFontData::brokenIdeographFontData):

  • platform/graphics/SimpleFontData.h:

(WebCore::SimpleFontData::create):
(SimpleFontData):
(WebCore::SimpleFontData::variantFontData):
(DerivedFontData):

  • platform/graphics/chromium/FontCacheAndroid.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/chromium/FontCacheChromiumWin.cpp:

(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(GetLastResortFallbackFontProcData):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::fontDataForCombiningCharacterSequence):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/pango/FontCachePango.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/pango/SimpleFontDataPango.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/qt/FontCacheQt.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/qt/SimpleFontDataQt.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/skia/FontCacheSkia.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/skia/SimpleFontDataSkia.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::fontDataFromDescriptionAndLogFont):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/wince/FontCacheWinCE.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/wince/SimpleFontDataWinCE.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

  • platform/graphics/wx/FontCacheWx.cpp:

(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):

  • platform/graphics/wx/SimpleFontDataWx.cpp:

(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):

2:30 PM Changeset in webkit [130078] by eae@chromium.org
  • 2 edits in trunk/Tools

Unreviewed, upgrade eae to reviewer.
http://lists.webkit.org/mailman/private/webkit-committers/2012-October/000191.html

  • Scripts/webkitpy/common/config/committers.py:
2:20 PM Changeset in webkit [130077] by rniwa@webkit.org
  • 11 edits in trunk/Source/WebCore

Turn forbidEventDispatch and allowEventDispatch into a RAII object
https://bugs.webkit.org/show_bug.cgi?id=96717

Reviewed by Abhishek Arya.

Replaced forbidEventDispatch and allowEventDispatch by AssertNoEventDispatch.

  • dom/ContainerNode.cpp:

(WebCore):
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):

  • dom/ContainerNode.h:

(AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::~AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::isEventDispatchForbidden):
(WebCore):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
(WebCore::ChildNodeInsertionNotifier::notify):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):

  • dom/Document.cpp:

(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

  • dom/EventTarget.cpp:

(WebCore):
(WebCore::EventTarget::fireEventListeners):

  • dom/EventTarget.h:

(WebCore):

  • dom/Node.cpp:

(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchFocusInEvent):
(WebCore::Node::dispatchFocusOutEvent):
(WebCore::Node::dispatchDOMActivateEvent):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadInternal):

2:00 PM Changeset in webkit [130076] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Another SIGILL in JavaScriptCore on a Geode processor
https://bugs.webkit.org/show_bug.cgi?id=96286

Patch by Daniel Drake <dsd@laptop.org> on 2012-10-01
Reviewed by Filip Pizlo.

Disable LLint for the GTK build where the build target does not
support SSE2 instructions. Restores support for non-SSE2 processors
such as the AMD Geode.

  • wtf/Platform.h:
2:00 PM Changeset in webkit [130075] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Actually restrict to Windows debug this time.

  • platform/chromium/TestExpectations:
1:57 PM Changeset in webkit [130074] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Mark platform/chromium/virtual/gpu/fast/canvas/canvas-composite-alpha.html as slow
on Windows debug.

  • platform/chromium/TestExpectations:
1:53 PM Changeset in webkit [130073] by fmalita@chromium.org
  • 1 edit
    1 add in trunk/PerformanceTests

Add a performance test for nested <use> elements
https://bugs.webkit.org/show_bug.cgi?id=98047

Reviewed by Ryosuke Niwa.

Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.

  • SVG/SvgNestedUse.html: Added.
1:44 PM Changeset in webkit [130072] by andersca@apple.com
  • 4 edits
    1 add in trunk/Source/WebCore

Would like a way to customize the type of GraphicsLayers created on a per page basis
https://bugs.webkit.org/show_bug.cgi?id=98051

Reviewed by Simon Fraser.

Add a GraphicsLayerFactory abstract class and a new GraphicsLayer::create overload that takes
a factory object. Eventually, all calls to the old GraphicsLayer::create will be replaced with
the new version that takes an optional factory.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/GraphicsLayer.h:

(WebCore):
(GraphicsLayer):

  • platform/graphics/GraphicsLayerFactory.h: Added.

(WebCore):
(GraphicsLayerFactory):
(WebCore::GraphicsLayerFactory::~GraphicsLayerFactory):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayer::create):
(WebCore):

1:23 PM Changeset in webkit [130071] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

Remove passing fast/event/dispatch-message-string-data.html from WK2 TestExpectations.
https://bugs.webkit.org/show_bug.cgi?id=96552

Appears to pass on Mountain Lion and Lion.

  • platform/mac-wk2/TestExpectations:
1:13 PM Changeset in webkit [130070] by rakuco@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Update expectations after r129934 and r130056.

  • platform/efl/fast/canvas/canvas-render-layer-expected.png:
  • platform/efl/fast/canvas/canvas-render-layer-expected.txt:
1:12 PM Changeset in webkit [130069] by adamk@chromium.org
  • 6 edits in trunk/Source/WebCore

Consolidate more MutationObserverRegistration logic in Node
https://bugs.webkit.org/show_bug.cgi?id=98058

Reviewed by Ryosuke Niwa.

One remaining oddity of Node's MutationObserver-related interface was
that registerMutationObserver returned the resulting MutationObserverRegistration
object.

Instead, Node now internally handles resetting the observation
if the registration already exists, and updating the Document's list of
mutation observer types.

No change in behavior, refactoring only.

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::observe): Simplified to just call
Node::registerMutationObserver; nothing else is needed.

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::create): Take options and attributeFilter,
avoiding an unnecessary call to resetObservation().
(WebCore::MutationObserverRegistration::MutationObserverRegistration): ditto

  • dom/MutationObserverRegistration.h:

(MutationObserverRegistration):

  • dom/Node.cpp:

(WebCore::Node::registerMutationObserver): Handle observation
resetting if that observer's already registered, and update the list
of active MutationObserver types in the Document.

  • dom/Node.h:

(Node):

12:53 PM Changeset in webkit [130068] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

Unskip the test in TestExpectations.

  • platform/mac/TestExpectations: Unskip canvas/canvas-render-layer.html.
12:51 PM Changeset in webkit [130067] by jonlee@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add expected test results for r129934.
https://bugs.webkit.org/show_bug.cgi?id=97940

  • platform/mac/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/mac/fast/canvas/canvas-render-layer-expected.txt: Added.
12:23 PM Changeset in webkit [130066] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[BlackBerry] Add a early return in buildCMakeProjectOrExit()
https://bugs.webkit.org/show_bug.cgi?id=98052

Patch by Ming Xie <mxie@rim.com> on 2012-10-01
Reviewed by Rob Buis.

This option allows our build to only run the CMake build configuration
step when environment variable GENERATE_CMAKE_PROJECT_ONLY is specified.

  • Scripts/webkitdirs.pm:

(buildCMakeProjectOrExit):

12:21 PM Changeset in webkit [130065] by rakuco@webkit.org
  • 4 edits in trunk/Tools

[webkitpy] Detect the multiple names of the wdiff binary in the Port class.
https://bugs.webkit.org/show_bug.cgi?id=98039

Reviewed by Dirk Pranke.

Unify the duplicate checks for the wdiff binary present in
different ports into the base Port class.

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port):
(Port._path_to_wdiff):

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort._path_to_wdiff): Removed.

  • Scripts/webkitpy/layout_tests/port/gtk.py:

(GtkPort._path_to_wdiff): Removed.

12:11 PM Changeset in webkit [130064] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[chromium] Remove custom implementation of _path_to_apache_config_file in chromium_linux.
https://bugs.webkit.org/show_bug.cgi?id=98042

Reviewed by Dirk Pranke.

The Chromium-based ports inherit from Port these days, so get rid
of the custom implementation of _path_to_apache_config_file() in
favor of the more portable one in the Port class.

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort._path_to_apache_config_file):

12:09 PM Changeset in webkit [130063] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

YYDEBUG doesn't print token values
https://bugs.webkit.org/show_bug.cgi?id=97896

Patch by Glenn Adams <glenn@skynav.com> on 2012-10-01
Reviewed by Simon Fraser.

Define YYPRINT macro to print token values when YYDEBUG is set.

No new tests. For CSS lexer/parser debug usage only.

  • css/CSSGrammar.y:

Define YYPRINT macro to output IDENT and STRING typed tokens. Others can be added
in the future.

12:07 PM Changeset in webkit [130062] by jochen@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium] ASSERT that the embedder has set a default locale
https://bugs.webkit.org/show_bug.cgi?id=98001

Reviewed by Adam Barth.

The callsites assume that the default language is always defined, e.g.
Document::getCachedLocalizer. Add an ASSERT() statement so an embedder
doesn't have to guess what they did wrong.

  • platform/chromium/LanguageChromium.cpp:

(WebCore::platformLanguage):

12:05 PM Changeset in webkit [130061] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Fix compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=98020

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-01
Reviewed by Gyuyoung Kim.

Source/WebCore:

Fix compilation warnings in PluginView code.

No new tests, no behavior change.

  • plugins/PluginView.cpp:

(WebCore::PluginView::newStream):
(WebCore::PluginView::write):
(WebCore::PluginView::getAuthenticationInfo):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::setNPWindowRect):
(WebCore::PluginView::invalidateRegion):

Source/WebKit2:

Fix compilation warnings related to ewk_view.

  • UIProcess/API/efl/ewk_view.cpp:

(_ewk_view_feed_touch_event_using_touch_point_list_of_evas):
(_ewk_view_on_touch_down):
(_ewk_view_on_touch_up):
(_ewk_view_on_touch_move):

  • UIProcess/API/efl/ewk_view_ui_client.cpp:

(exceededDatabaseQuota):

12:03 PM Changeset in webkit [130060] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[chromium] Remove duplicated _is_redhat_based() implementation from chromium_linux.py.
https://bugs.webkit.org/show_bug.cgi?id=98035

Reviewed by Dirk Pranke.

Since the Chromium port classes inherit from Port these days, it
can rely on the same implementation of _is_redhat_based() present
there instead of duplicating it.

  • Scripts/webkitpy/layout_tests/port/chromium_linux.py:

(ChromiumLinuxPort._is_redhat_based): Removed.

11:59 AM Changeset in webkit [130059] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Update some chromium expectations to match what's happening on the bots.
Notably, mark storage/indexeddb as [ Pass Slow ].

  • platform/chromium/TestExpectations:
11:49 AM Changeset in webkit [130058] by aestes@apple.com
  • 2 edits in branches/safari-534.58-branch/Source/WebKit2

Merge r124259.

2012-07-31 Anders Carlsson <andersca@apple.com>

Prefer the Oracle Java plug-in over the Apple Java plug-in
https://bugs.webkit.org/show_bug.cgi?id=92780

Reviewed by Oliver Hunt.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::findPluginWithBundleIdentifier):
Add a new helper for finding a plug-in with the given bundle identifier.

(WebKit::checkForPreferredPlugin):
Helper function for making sure that an old plug-in is never loaded if a new plug-in is found, and that the old plug-in
is removed from the list of loaded plug-ins if the new plug-in is found.

(WebKit::PluginInfoStore::shouldUsePlugin):
Prefer the Oracle Java plug-in over the Apple Java plug-in.

11:16 AM Changeset in webkit [130057] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

RenderBlock incorrectly calculates pref width when a replaced object follows a RenderInline with width
https://bugs.webkit.org/show_bug.cgi?id=84624

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-10-01
Reviewed by Levi Weintraub.

Source/WebCore:

For the specific scenario, wherein an inline replaced element (image)
follows an inline flow object within a render block, we should allow
for that block to grow to accomodate the replaced element so as to
avoid it's overflow.

This quirk is handled well by other browsers.

Test: fast/block/block-with-inline-replaced-child.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
We should not cause our line to break for the scenario wherein an inline
replaced element follows an inline flow object.

For handling the same have introduced a flag: isPrevChildInlineFlow which
shall be set for an inline flow element.
Based on this, while handling the inline replaced elements, we either
terminate the line (for minWidth calculation) or not depending upon
this flag.

LayoutTests:

  • fast/block/block-with-inline-replaced-child-expected.html: Added.
  • fast/block/block-with-inline-replaced-child.html: Added.
  • fast/block/resources: Added.
  • fast/block/resources/50x50.gif: Added.

Added a ref test for verifying that the containing block grows to accomodate the
replaced element (image) when it follows an inline flow object.
Added a new directory under fast/block for resources.

10:44 AM Changeset in webkit [130056] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk/LayoutTests

Improvments to recently added test, fast/canvas/canvas-render-layer.html
https://bugs.webkit.org/show_bug.cgi?id=97940

Patch by Brian Salomon <bsalomon@google.com> on 2012-10-01
Reviewed by Ojan Vafai.

The test previously had whitespace between the canvases. This made the expectations dependent upon platform-specific text rendering. The spaces have been removed in the revised test.

  • fast/canvas/canvas-render-layer.html:
  • platform/chromium-linux/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/chromium-linux/fast/canvas/canvas-render-layer-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Added.
10:12 AM Changeset in webkit [130055] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening -- clean up expectations for passing tests.

  • platform/chromium/TestExpectations:
10:11 AM Changeset in webkit [130054] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK][WK2] Save the download uri as file metadata
https://bugs.webkit.org/show_bug.cgi?id=98043

Patch by Claudio Saavedra <Claudio Saavedra> on 2012-10-01
Reviewed by Carlos Garcia Campos.

gio/gvfs can store file metadata, let's use this to
store the download uri.

  • WebProcess/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse): Save
the download uri as metadata.

9:36 AM Changeset in webkit [130053] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove hixie76 websocket test from Qt 5.0 WK2 TestExpectations skipped list.
https://bugs.webkit.org/show_bug.cgi?id=98037

Unreviewed gardening.

Hixie76 websocket tests were moved to Hybi as Hixie76 was removed.
Also, the test that is removed from the skipped list is passing in
the Hybi version.

Patch by Michael Brüning <michael.bruning@digia.com> on 2012-10-01

  • platform/qt-5.0-wk2/TestExpectations:
9:27 AM Changeset in webkit [130052] by loislo@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed single line compilation fix for Canary Debug Mac.

  • tests/MemoryInstrumentationTest.cpp:
8:56 AM Changeset in webkit [130051] by zandobersek@gmail.com
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Adding platform-specific baselines for fast/canvas/canvas-render-layer.html
as required after r129934.
Skipping a calendar picker test that times out, the feature is not yet supported
on the GTK port.
Adding a flaky failure expectation for fast/dom/inline-event-attributes-release.html
that started occurring after r130000.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/gtk/fast/canvas/canvas-render-layer-expected.txt: Added.
8:26 AM Changeset in webkit [130050] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[GTK] Rely on the general implementation for detecting the Apache server path.
https://bugs.webkit.org/show_bug.cgi?id=98033

Reviewed by Martin Robinson.

The implemenentation of _path_to_apache() in base.py already
checks for the same paths gtk.py tries; the only difference is
that all of the are tried regardless of the current distro.

Doing so is more portable, and lets us remove some distro-checking
from the code.

  • Scripts/webkitpy/layout_tests/port/gtk.py:

(GtkPort._path_to_apache): Remove.

8:26 AM Changeset in webkit [130049] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Chromium build fix.

  • bindings/v8/V8DOMMap.h: included Node.h as reportMemoryUsage now uses Node definition.
7:46 AM Changeset in webkit [130048] by yurys@chromium.org
  • 25 edits
    1 add in trunk/Source

Web Inspector: provide memory instrumentation for HashMap
https://bugs.webkit.org/show_bug.cgi?id=98005

Reviewed by Pavel Feldman.

Source/WebCore:

Updated all call sites of MemoryInstrumentation::addHashMap to use generic
method of reporting memory footprint instead.

  • bindings/v8/ScopedDOMDataStore.cpp:
  • bindings/v8/V8Binding.cpp:

(WebCore::StringCache::reportMemoryUsage):

  • bindings/v8/V8DOMMap.h:
  • bindings/v8/V8PerIsolateData.cpp:

(WebCore::V8PerIsolateData::reportMemoryUsage):

  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::reportMemoryUsage):

  • dom/Document.cpp:

(WebCore::Document::reportMemoryUsage):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::reportMemoryUsage):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::reportMemoryUsage):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::reportMemoryUsage):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::reportMemoryUsage):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::reportMemoryUsage):

  • rendering/style/StyleRareNonInheritedData.cpp:

Source/WebKit/chromium:

Added unit tests for HashMap memory instrumentation.

  • tests/MemoryInstrumentationTest.cpp:

(WTF):

Source/WTF:

Extracted HashMap memory instrumentation into its own file. The map's content
elements will be automatically traversed if their types are supported
by the memory instrumentation. No need to call special method for hash map
fields any more.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • wtf/MemoryInstrumentation.h:

(MemoryInstrumentation):
(WTF):

  • wtf/MemoryInstrumentationHashMap.h: Added.

(WTF):
(WTF::SequenceMemoryInstrumentationTraits::reportMemoryUsage):
(WTF::reportMemoryUsage):

7:25 AM Changeset in webkit [130047] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Put implementation details of StyleBuilder.cpp into anonymous namespace
https://bugs.webkit.org/show_bug.cgi?id=98028

Reviewed by Pavel Feldman.

All types that are declared and used only inside StyleBuilder were moved
into anonymous namespace to avoid name conflicts with the rest of WebCore.

  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder): renamed BorderImageType::Image into BorderImageType::BorderImage
as otherwise there is an ambiguity at placess where setPropertyHandler is called.

7:18 AM Changeset in webkit [130046] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[GTK] Save original uri for downloaded files
https://bugs.webkit.org/show_bug.cgi?id=95188

Patch by Claudio Saavedra <Claudio Saavedra> on 2012-10-01
Reviewed by Carlos Garcia Campos.

gvfs stores metadata locally, and this information can later be
used by file management applications. Based on a patch by
Alexander Larsson <alexl@redhat.com>.

  • webkit/webkitdownload.cpp:

(webkit_download_open_stream_for_uri): Save the download-uri as
file metadata.

7:12 AM Changeset in webkit [130045] by abecsi@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt][WK2] Device pixel ratio lost upon relaunch of the web process
https://bugs.webkit.org/show_bug.cgi?id=97908

Reviewed by Jocelyn Turcotte.

Use setIntrinsicDeviceScaleFactor instead of setCustomDeviceScaleFactor
when setting the device pixel ratio to make the setting permanent.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewExperimental::setDevicePixelRatio):

7:07 AM Changeset in webkit [130044] by dominik.rottsches@intel.com
  • 1 edit
    21 deletes in trunk/LayoutTests

[EFL] Remove EFL-specific expectations for fast/regions/webkit-named-flow-*
https://bugs.webkit.org/show_bug.cgi?id=98029

Unreviewed, EFL gardening.

Removing redundant platform-specific test results for webkit-named-flow-* cases.
Fixes bot redness after API rename in r130041.

  • platform/efl/fast/regions/webkit-named-flow-collection-crash-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-collection-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-event-add-to-flow-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-event-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-event-no-regions-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-event-remove-from-dom-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-event-remove-from-flow-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-event-target-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-event-to-null-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-existing-flow-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-first-empty-region-index-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-flow-added-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-get-content-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-get-regions-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-invalid-name-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-modified-flow-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-name-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-non-existing-flow-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-overset-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-removed-flow-expected.txt: Removed.
  • platform/efl/fast/regions/webkit-named-flow-same-object-expected.txt: Removed.
7:04 AM Changeset in webkit [130043] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove suppressing of VKB hiding when processing changes.
https://bugs.webkit.org/show_bug.cgi?id=98023

Reviewed by Rob Buis.

PR 215881.

Allow JS to blur the input field while processing key handling.

Reviewed Internally by Chris Hutten-Czapski

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):

5:52 AM Changeset in webkit [130042] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening -- clean up expectations for passing tests.

  • platform/chromium/TestExpectations:
5:46 AM Changeset in webkit [130041] by commit-queue@webkit.org
  • 33 edits in trunk

[CSS Regions] Remove the deprecated API Document.webkitGetFlowByName
https://bugs.webkit.org/show_bug.cgi?id=97657

Patch by Andrei Bucur <abucur@adobe.com> on 2012-10-01
Reviewed by Andreas Kling.

Source/WebCore:

The Document.getFlowByName() API has been deprecated in favor of the NamedFlowCollection.namedItem(DOMString).
Link to spec: http://www.w3.org/TR/css3-regions/#the-namedflow-interface

Tests: The old tests have been adapted to use the new API.

  • dom/Document.cpp:

(WebCore):

  • dom/Document.h:

(Document):

  • dom/Document.idl:

LayoutTests:

To minimize the code change impact, I've created a new method in helper.js getFlowByName() that emulates the
behaviour of Document.webkitGetFlowByName(). All the occurrences of Document.webkitGetFlowByName in the tests/expected results
have been replaced with getFlowByName.

  • fast/regions/get-regions-by-content-horiz-bt.html:
  • fast/regions/get-regions-by-content-horiz-tb.html:
  • fast/regions/get-regions-by-content-vert-lr.html:
  • fast/regions/get-regions-by-content-vert-rl.html:
  • fast/regions/get-regions-by-content.html:
  • fast/regions/get-regions-by-content2.html:
  • fast/regions/resources/helper.js:

(getFlowByName):

  • fast/regions/webkit-named-flow-event-add-to-flow.html:
  • fast/regions/webkit-named-flow-event-no-regions.html:
  • fast/regions/webkit-named-flow-event-remove-from-dom.html:
  • fast/regions/webkit-named-flow-event-remove-from-flow.html:
  • fast/regions/webkit-named-flow-event-target-expected.txt:
  • fast/regions/webkit-named-flow-event-target.html:
  • fast/regions/webkit-named-flow-event-to-null.html:
  • fast/regions/webkit-named-flow-event.html:
  • fast/regions/webkit-named-flow-existing-flow.html:
  • fast/regions/webkit-named-flow-first-empty-region-index.html:
  • fast/regions/webkit-named-flow-flow-added.html:
  • fast/regions/webkit-named-flow-get-content-expected.txt:
  • fast/regions/webkit-named-flow-get-content.html:
  • fast/regions/webkit-named-flow-get-regions.html:
  • fast/regions/webkit-named-flow-invalid-name.html:
  • fast/regions/webkit-named-flow-modified-flow.html:
  • fast/regions/webkit-named-flow-name.html:
  • fast/regions/webkit-named-flow-non-existing-flow.html:
  • fast/regions/webkit-named-flow-overset.html:
  • fast/regions/webkit-named-flow-removed-flow.html:
  • fast/regions/webkit-named-flow-same-object.html:
5:40 AM Changeset in webkit [130040] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] fast/history/multiple-classes-visited.html should be skipped
https://bugs.webkit.org/show_bug.cgi?id=98017

Unreviewed EFL gardening.

fast/history/multiple-classes-visited.html is globally skipped for WK2
but marked as explicit PASS for EFL port. Unfortunately, this test is
failing for EFL port as well so we need to remove the explicit PASS
expectation.

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-01

  • platform/efl-wk2/TestExpectations:
5:28 AM Changeset in webkit [130039] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Check that cplusplus is defined before comparing its value
https://bugs.webkit.org/show_bug.cgi?id=98015

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-10-01
Reviewed by Xan Lopez.

If cplusplus is not defined is interpreted as having the value
0, but it produces a compilation warning with -Wundef.

This is the case with some API tests that are written in C
(JSNode.c, JSNodeList.c, minidom.c).

  • wtf/Compiler.h:
5:24 AM Changeset in webkit [130038] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[EFL] Generate baseline for fast/canvas/canvas-render-layer.html
https://bugs.webkit.org/show_bug.cgi?id=98018

Unreviewed EFL gardening.

Generate EFL baseline for fast/canvas/canvas-render-layer.html
test.

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-01

  • platform/efl/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/efl/fast/canvas/canvas-render-layer-expected.txt: Added.
4:56 AM Changeset in webkit [130037] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] fast/replaced/no-focus-ring-* tests should be skipped
https://bugs.webkit.org/show_bug.cgi?id=98012

Unreviewed EFL gardening.

Skip again fast/replaced/no-focus-ring-* tests as they are
failing on the build bots due to X not running.

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-01

  • platform/efl-wk2/TestExpectations:
4:30 AM Changeset in webkit [130036] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[GTK] WebKitDownload: use more of GOwnPtr/GRefPtr
https://bugs.webkit.org/show_bug.cgi?id=98009

Patch by Claudio Saavedra <Claudio Saavedra> on 2012-10-01
Reviewed by Carlos Garcia Campos.

Use more GOwnPtr/GRefPtr in WebKitDownload

  • webkit/webkitdownload.cpp:

(webkit_download_open_stream_for_uri): Use GRefPtr
for a GFile and GOwnPtr for GError.
(webkit_download_set_destination_uri): Ditto.
(webkit_download_received_data): Use GOwnPtr for GError.

4:20 AM Changeset in webkit [130035] by jocelyn.turcotte@digia.com
  • 5 edits in trunk/Source/WebKit2

[Qt] Fix viewport QML auto tests after the viewport changes
https://bugs.webkit.org/show_bug.cgi?id=97781

Reviewed by Simon Hausmann.

Since the viewport controller has to hold any QML-side viewport updates
while it applies and render the new requested position, this has the
effect of blocking all those tests if the view is not visible (thus
disabling the tile rendering completely in the web process).
The viewport should be unlocked after the first rendered frame for
static contents.

Fix those tests by forcing the QQuickView to be visible and by making
them wait for the first frame rather than the earlier end of provisional load.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
  • UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
  • UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml:
  • UIProcess/API/qt/tests/qmltests/common/TestWebView.qml:
4:19 AM Changeset in webkit [130034] by jocelyn.turcotte@digia.com
  • 4 edits in trunk/Source/WebKit2

[Qt] Add a loadVisuallyCommitted() signal
https://bugs.webkit.org/show_bug.cgi?id=97780

Reviewed by Kenneth Rohde Christiansen.

This signal is emitted when the first DidRenderFrame message is received from
the web process after loadCommitted.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::loadDidCommit):
(QQuickWebViewPrivate::setNeedsDisplay):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate):

4:19 AM Changeset in webkit [130033] by jocelyn.turcotte@digia.com
  • 3 edits in trunk/Source/WebKit2

[Qt] Move Qt-only related methods from WebPageProxy.cpp to WebPageProxyQt.cpp

Reviewed by Simon Hausmann.

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/qt/WebPageProxyQt.cpp:

(WebKit::WebPageProxy::didFindZoomableArea):
(WebKit):
(WebKit::WebPageProxy::findZoomableAreaForPoint):
(WebKit::WebPageProxy::didReceiveMessageFromNavigatorQtObject):
(WebKit::WebPageProxy::authenticationRequiredRequest):
(WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
(WebKit::WebPageProxy::certificateVerificationRequest):

4:19 AM Changeset in webkit [130032] by jocelyn.turcotte@digia.com
  • 2 edits in trunk/Source/WebCore

Make sure that the history position is applied correctly when using delegatesScrolling
https://bugs.webkit.org/show_bug.cgi?id=97778

Reviewed by Kenneth Rohde Christiansen.

The position is applied asynchronously and the UI process is the one holding the current
state. For this reason we can't rely in WebCore on ScrollView::scrollPosition holding
the current position in that case.

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

4:19 AM Changeset in webkit [130031] by jocelyn.turcotte@digia.com
  • 17 edits in trunk/Source

[Qt] Decide when to apply a scrolled position to the viewport based on the rect covered by the tiles
https://bugs.webkit.org/show_bug.cgi?id=97777

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::createTiles):

  • platform/graphics/TiledBackingStore.h:

(WebCore::TiledBackingStore::coverRect):
(WebCore::TiledBackingStore::setCoverRect):
(TiledBackingStore):

Source/WebKit2:

This patch achieves two things:

  • Apply a short scroll position request directly if we already have rendered tiles at this position.
  • Since our visible rect request is asynchronous, the next frame might not always be the one covering this position. This will wait for a frame that does to apply it.
  • UIProcess/API/qt/raw/qrawwebview_p_p.h:

(QRawWebViewPrivate::didRenderFrame):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::didRenderFrame):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/PageClient.h:

(PageClient):

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::didCommitLoad):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageDidRequestScroll):

  • UIProcess/PageViewportController.h:

(PageViewportController):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/qt/QtPageClient.cpp:

(WebKit::QtPageClient::didRenderFrame):

  • UIProcess/qt/QtPageClient.h:

(QtPageClient):

  • UIProcess/qt/WebPageProxyQt.cpp:

(WebKit::WebPageProxy::didRenderFrame):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(WebCore::CoordinatedGraphicsLayer::coverRect):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):

4:18 AM Changeset in webkit [130030] by jocelyn.turcotte@digia.com
  • 19 edits in trunk/Source/WebKit2

[Qt] Delay viewport position, scale and contents size updates until tiles are rendered
https://bugs.webkit.org/show_bug.cgi?id=97775

Reviewed by Kenneth Rohde Christiansen.

A few events from the web process can cause the viewport position or scale to be
adjusted in the UI process:

  • Scroll position request
  • Viewport attributes (initialScale, minimumScale)
  • Contents size change

We previously applied those updates directly to the viewport, which would then in turn
produce a corresponding visible rect request to the web process to render the contents
at the new position/scale. This could leave the viewport showing the old content, either
by scaling the tiles, or by showing checkerboard if no contents was rendered at this
position yet. When the web process was done rendering new tiles, the proper tiles
were then shown to the user.
Since many of these updates happen during page load, all producing an itterative adjustment
to the viewport, this could show sharpness and position jitter until the final rendering
was done.

This patch makes those updates go through the PageViewportController first and then to the
QQuickWebView rather than the other way around, and keep them pending until the
LayerTreeHostProxy reports that the new tiles are ready to be shown. Since the rendering
is blocked until the page first layout is done, this apply the modifications to
the viewport only once when the first frame is ready to be shown.

  • UIProcess/API/qt/qquickwebview.cpp:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewFlickablePrivate):

  • UIProcess/API/qt/raw/qrawwebview_p_p.h:

(QRawWebViewPrivate::didRenderFrame):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::didRenderFrame):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/PageClient.h:

(PageClient):

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::didCommitLoad):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::initialViewportReady):
(WebKit::PageViewportController::pageDidRequestScroll):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::resumeContent):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):
(WebKit::PageViewportController::updateMinimumScaleToFit):

  • UIProcess/PageViewportController.h:

(PageViewportController):

  • UIProcess/PageViewportControllerClient.h:

(PageViewportControllerClient):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/qt/PageViewportControllerClientQt.cpp:

(WebKit::PageViewportControllerClientQt::didChangeContentsSize):

  • UIProcess/qt/PageViewportControllerClientQt.h:

(PageViewportControllerClientQt):

  • UIProcess/qt/QtPageClient.cpp:

(WebKit::QtPageClient::didRenderFrame):
(WebKit):
(WebKit::QtPageClient::didChangeContentsSize):

  • UIProcess/qt/QtPageClient.h:

(QtPageClient):

  • UIProcess/qt/QtWebPageLoadClient.cpp:

(WebKit::QtWebPageLoadClient::didCommitLoad):

  • UIProcess/qt/WebPageProxyQt.cpp:

(WebKit::WebPageProxy::didRenderFrame):
(WebKit):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):

4:17 AM Changeset in webkit [130029] by jocelyn.turcotte@digia.com
  • 17 edits in trunk/Source/WebKit2

[Qt] Wait for the UI process before re-enabling rendering during page load
https://bugs.webkit.org/show_bug.cgi?id=97773

Reviewed by Kenneth Rohde Christiansen.

During page navigation, WebCore might ask asynchronously the UI process to
scroll to an anchor or restored history position and the UI process will
return the corresponding visible rect to be rendered by the web process.

To avoid rendering tiles for the invalidated area by the new page layout at
the wrong position, we should do an extra message round-trip to the UI
process before resuming the rendering.
Assuming that all messages are handled in order by both the web and UI process,
sending the round-trip request in the web process once we sent all scroll
requests, contents size and viewport attributes updates and then handling
the round-trip response, we make sure that final visible rect request have
been handled already.

  • UIProcess/API/qt/raw/qrawwebview.cpp:

(QRawWebViewPrivate::pageTransitionViewportReady):

  • UIProcess/API/qt/raw/qrawwebview_p_p.h:

(QRawWebViewPrivate):

  • UIProcess/PageClient.h:

(PageClient):

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit):

  • UIProcess/PageViewportController.h:

(PageViewportController):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/qt/QtPageClient.cpp:

(WebKit::QtPageClient::pageTransitionViewportReady):
(WebKit):

  • UIProcess/qt/QtPageClient.h:

(QtPageClient):

  • UIProcess/qt/WebPageProxyQt.cpp:

(WebKit::WebPageProxy::commitPageTransitionViewport):
(WebKit):
(WebKit::WebPageProxy::pageTransitionViewportReady):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
(WebKit::WebFrameLoaderClient::dispatchDidLayout):
(WebKit::WebFrameLoaderClient::frameLoadCompleted):
(WebKit::WebFrameLoaderClient::provisionalLoadStarted):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didStartPageTransition):
(WebKit):
(WebKit::WebPage::didCompletePageTransition):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/qt/WebPageQt.cpp:

(WebKit::WebPage::commitPageTransitionViewport):
(WebKit):

4:12 AM Changeset in webkit [130028] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

WebPrintOperationGtk destructor should be virtual
https://bugs.webkit.org/show_bug.cgi?id=98002

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-10-01
Reviewed by Carlos Garcia Campos.

WebPrintOperationGtk is an abstract class which can be deleted
using a pointer to itself, yet its destructor is not virtual.
Fixes -Wdelete-non-virtual-dtor.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.h:

(WebPrintOperationGtk):

4:00 AM Changeset in webkit [130027] by Carlos Garcia Campos
  • 4 edits in trunk/Source

Unreviewed. Fix make distcheck.

Source/WebCore:

  • GNUmakefile.list.am: ClipPathOperation.h was moved.

Source/WTF:

  • GNUmakefile.list.am: Add missing header files to compilation.
3:45 AM Changeset in webkit [130026] by arko@motorola.com
  • 3 edits
    2 adds in trunk

Microdata: names.item() must return null for out of range indexes.
https://bugs.webkit.org/show_bug.cgi?id=97898

Reviewed by Kentaro Hara.

Source/WebCore:

DOMStringList.item() must return null for an invalid index.
Spec: http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList
Removed [IsIndex] extended IDL attribute from item() method's index
parameter in DOMStringList interface.
Firefox and Opera's behavior is consistent with the spec. Both
returns null for invalid index.

Test: fast/dom/MicroData/names-item-out-of-range-index.html

  • dom/DOMStringList.idl:

LayoutTests:

Added test case to ensure names.item() behavior for out of range indexes.

  • fast/dom/MicroData/names-item-out-of-range-index-expected.txt: Added.
  • fast/dom/MicroData/names-item-out-of-range-index.html: Added.
3:36 AM Changeset in webkit [130025] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Unreviewed, update the URL of the Szeged SVN mirror.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
3:23 AM Changeset in webkit [130024] by yosin@chromium.org
  • 6 edits
    3 adds in trunk

[Forms] Multiple fields week input UI
https://bugs.webkit.org/show_bug.cgi?id=97877

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces multiple fields "week" input UI in DRT. We'll
enable this feature once we add tests.

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_WEEK
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

No new tests. To reduce size of this patch, other patches add tests
for multiple fields week input UI.

Note: Actual outputs of two tests

  • fast/forms/week/week-input-visible-string.html
  • fast/forms/week/week-stepup-stepdown-from-renderer.html

are different.

  • css/thml.css:

(input::-webkit-datetime-edit-week-field): Added for field appearance.
(input::-webkit-datetime-edit-week-field:focus): Added to remove focus ring.

  • html/WeekInputType.cpp:

(WebCore::WeekInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
(WebCore::WeekInputType::setupLayoutParameters): Added to set layout of multiple fields.

  • html/WeekInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseWeekInputType typedef.

(WebCore::WeekInputType::WeekInputType): Changed base class name to BaseWeekInputType.
(WeekInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditBuilder::visitField): Changed to support week field.

LayoutTests:

This patch adds Chromium port specific expectations for "week" input
type tests for multiple fields week input UI.

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_WEEK
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

  • platform/chromium/fast/forms/week/week-input-visible-string-expected.txt: Added. Multiple fields week input UI doesn't have selection.
  • platform/chromium/fast/forms/week/week-stepup-stepdown-from-renderer-expected.txt: Added. On multiple fields week input UI, step down/up decrement/increment a field rather than whole value.
2:52 AM Changeset in webkit [130023] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening -- removed TestExpectation entries for passing tests.

  • platform/chromium/TestExpectations:
2:43 AM Changeset in webkit [130022] by caseq@chromium.org
  • 6 edits
    1 move
    1 delete in trunk/LayoutTests

Unreviewed gardening -- rebaselined meter element tests on chromium-mac.

  • fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.png: Renamed from LayoutTests/platform/efl/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.png.
  • platform/chromium-mac-snowleopard/fast/dom/HTMLMeterElement/meter-styles-expected.png:
  • platform/chromium-mac/fast/dom/HTMLMeterElement/meter-element-expected.png:
  • platform/chromium-mac/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.png:
  • platform/chromium-mac/fast/dom/HTMLMeterElement/meter-styles-expected.png:
  • platform/chromium/TestExpectations:
  • platform/gtk/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.png: Removed.
2:41 AM Changeset in webkit [130021] by pfeldman@chromium.org
  • 32 edits in trunk/Source/WebCore

Web Inspector: do not use InspectorInstrumentation::hasFrontends() check when collecting stacks
https://bugs.webkit.org/show_bug.cgi?id=96730

Reviewed by Vsevolod Vlasov.

  • Introduced InspectorInstrumentation::console|timeline|runtime|canvasAgentEnabled
  • Using it all over the place instead of the hasFrontend (the latter is now only used once to guard hot path)
  • Introduced explicit "enabled" state of the console and runtime agents
  • bindings/js/JSHTMLCanvasElementCustom.cpp:

(WebCore::JSHTMLCanvasElement::getContext):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::instrumentFunctionCall):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create):

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStackForConsole):

  • bindings/js/ScriptCallStackFactory.h:

(WebCore):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallWith):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallWith):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):

  • bindings/v8/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStackForConsole):

  • bindings/v8/ScriptCallStackFactory.h:

(WebCore):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::callFunctionWithInstrumentation):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):

  • bindings/v8/V8WorkerContextEventListener.cpp:

(WebCore::V8WorkerContextEventListener::callListenerFunction):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::WindowSetTimeoutImpl):

  • bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:

(WebCore::V8HTMLCanvasElement::getContextCallback):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::SetTimeoutOrInterval):

  • inspector/Inspector.json:
  • inspector/InspectorConsoleAgent.cpp:

(WebCore):
(WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::disable):
(WebCore::InspectorConsoleAgent::clearMessages):
(WebCore::InspectorConsoleAgent::clearFrontend):
(WebCore::InspectorConsoleAgent::addConsoleMessage):

  • inspector/InspectorConsoleAgent.h:

(WebCore::InspectorConsoleAgent::enabled):
(InspectorConsoleAgent):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::canvasAgentEnabled):
(WebCore::InspectorInstrumentation::consoleAgentEnabled):
(WebCore::InspectorInstrumentation::runtimeAgentEnabled):
(WebCore::InspectorInstrumentation::timelineAgentEnabled):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::canvasAgentEnabled):
(WebCore::InspectorInstrumentation::consoleAgentEnabled):
(WebCore::InspectorInstrumentation::runtimeAgentEnabled):
(WebCore::InspectorInstrumentation::timelineAgentEnabled):

  • inspector/InspectorRuntimeAgent.cpp:

(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):

  • inspector/InspectorRuntimeAgent.h:

(WebCore::InspectorRuntimeAgent::enabled):
(WebCore::InspectorRuntimeAgent::enable):
(WebCore::InspectorRuntimeAgent::disable):
(InspectorRuntimeAgent):

  • inspector/PageRuntimeAgent.cpp:

(PageRuntimeAgentState):
(WebCore::PageRuntimeAgent::clearFrontend):
(WebCore::PageRuntimeAgent::restore):
(WebCore):
(WebCore::PageRuntimeAgent::enable):
(WebCore::PageRuntimeAgent::disable):
(WebCore::PageRuntimeAgent::didClearWindowObject):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext):
(WebCore::PageRuntimeAgent::reportExecutionContextCreation):

  • inspector/PageRuntimeAgent.h:

(PageRuntimeAgent):

  • inspector/WorkerRuntimeAgent.cpp:
  • inspector/WorkerRuntimeAgent.h:
  • inspector/front-end/RuntimeModel.js:

(WebInspector.RuntimeModel.prototype._didLoadCachedResources):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

2:37 AM Changeset in webkit [130020] by yutak@chromium.org
  • 2 edits in trunk/Tools

Unreviewed. Create WebSocket watch list, and add myself to that list.

  • Scripts/webkitpy/common/config/watchlist:
2:29 AM Changeset in webkit [130019] by bashi@chromium.org
  • 7 edits in trunk

[WebSocket] Setting wrong value to binaryType should not raise exception
https://bugs.webkit.org/show_bug.cgi?id=97999

Reviewed by Yuta Kitamura.

Source/WebCore:

Don't raise exception when binaryType is the wrong value.
Instead, show an error message to console.

No new tests. Updated existing test.

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::setBinaryType): See the description.

  • Modules/websockets/WebSocket.h:

(WebSocket): Removed ExceptionCode argument of setBinaryType().

  • Modules/websockets/WebSocket.idl:

Removed "setter raises(DOMException)" and "[TreatReturnedNullStringAs=Undefined]".
They are no longer needed.

LayoutTests:

Update binary-type.html.

  • http/tests/websocket/tests/hybi/binary-type-expected.txt:
  • http/tests/websocket/tests/hybi/binary-type.html:
2:22 AM QtWebKitBuildBots edited by Csaba Osztrogonác
(diff)
2:18 AM Changeset in webkit [130018] by yosin@chromium.org
  • 5 edits in trunk/Source/WebCore

[Forms] Adding DateTimeWeekFieldElement for multiple fields "week" input UI
https://bugs.webkit.org/show_bug.cgi?id=97992

Reviewed by Kent Tamura.

This patch introduces DateTimeWeekFieldElement class for implementing
multiple fields "week" input UI.

No new tests. This patch doesn't change behavior.

  • html/shadow/DateTimeFieldElements.cpp:

(WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement): Added.
(WebCore::DateTimeWeekFieldElement::create): Added.
(WebCore::DateTimeWeekFieldElement::populateDateTimeFieldsState): Added.
(WebCore::DateTimeWeekFieldElement::setValueAsDate): Added.
(WebCore::DateTimeWeekFieldElement::setValueAsDateTimeFieldsState): Added.

  • html/shadow/DateTimeFieldElements.h:

(DateTimeWeekFieldElement): Added.

  • platform/DateComponents.h:

(WebCore::DateComponents): Added declarations of static const member variables, DateComponents::maximumWeekNumber and minimumWeekNumber.

  • platform/DateComponents.cpp: Added definitions of DateComponents::maximumWeekNumber and minimumWeekNumber.

(WebCore::DateComponents::maxWeekNumberInYear): Changed to use maximumWeekNumber.
(WebCore::DateComponents::parseWeek): Changed to use minimumWeekNumber.

2:05 AM Changeset in webkit [130017] by caseq@chromium.org
  • 2 edits
    15 adds in trunk/LayoutTests

Unreviewed gardening. Added expectations for 4 month-multiple-fields tests for chromium mac & win.
https://bugs.webkit.org/show_bug.cgi?id=97888

  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.png: Added.
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png: Added.
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png: Added.
  • platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.png: Added.
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png: Added.
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png: Added.
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.png: Added.
  • platform/chromium/TestExpectations:
1:46 AM Changeset in webkit [130016] by vsevik@chromium.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Separate CSSStyleModelResourceBinding into resource and content binding.
https://bugs.webkit.org/show_bug.cgi?id=97994

Reviewed by Pavel Feldman.

Extracted StyleContentBinding from CSSStyleModelResourceBinding.
Now CSSStyleModelResourceBinding is responsible for mapping between stylesheets and resources.
StyleContentBinding is now responsible for synchronization between stylesheet content and uiSourceCode content.

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModelResourceBinding):
(WebInspector.CSSStyleModelResourceBinding.prototype.requestStyleSheetIdForResource):
(WebInspector.CSSStyleModelResourceBinding.prototype.requestResourceURLForStyleSheetId):

  • inspector/front-end/StyleSource.js:

(WebInspector.StyleSource.prototype._commitIncrementalEdit):

  • inspector/front-end/StylesSourceMapping.js:

(WebInspector.StyleContentBinding):
(WebInspector.StyleContentBinding.prototype.setStyleContent.callback):
(WebInspector.StyleContentBinding.prototype.setStyleContent):
(WebInspector.StyleContentBinding.prototype._innerSetContent.callback):
(WebInspector.StyleContentBinding.prototype._innerSetContent):
(WebInspector.StyleContentBinding.prototype._styleSheetChanged.callback):
(WebInspector.StyleContentBinding.prototype._styleSheetChanged):
(WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):

  • inspector/front-end/inspector.js:
1:38 AM Changeset in webkit [130015] by apavlov@chromium.org
  • 11 edits in trunk/Source

Web Inspector: [Device Metrics] Remove the gutter overlay moving its functionality into the InspectorOverlay
https://bugs.webkit.org/show_bug.cgi?id=97799

Reviewed by Pavel Feldman.

Source/WebCore:

Re-applying r129746 with test flakiness fixed.

In order to reduce the amount of port-specific code, the gutter overlay painted in the device metrics emulation mode
has been replaced by the respective functionality in the HTML-based InspectorOverlay in WebCore. The InspectorOverlay
now covers the entire WebView rather than the FrameView only.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::webViewResized):
(WebCore):

  • inspector/InspectorController.h:

(WebCore):
(InspectorController):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::resize):
(WebCore):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::drawGutter):
(WebCore::InspectorOverlay::reset):

  • inspector/InspectorOverlay.h:

(InspectorOverlay):

  • inspector/InspectorOverlayPage.html: Introduce the gutter painting functionality previously found in the Chromium's

DeviceMetricsSupport class, which used to implement WebPageOverlay.

Source/WebKit/chromium:

  • Dispatch the webViewResized() event on InspectorController, which is necessary to update the InspectorOverlay.
  • Remove the gutter overlay painting code.
  • src/WebDevToolsAgentImpl.cpp:

(WebKit::DeviceMetricsSupport::DeviceMetricsSupport):
(WebKit::DeviceMetricsSupport::~DeviceMetricsSupport):
(WebKit::WebDevToolsAgentImpl::attach):
(WebKit::WebDevToolsAgentImpl::webViewResized):
(WebKit::WebDevToolsAgentImpl::overrideDeviceMetrics):

  • src/WebDevToolsAgentImpl.h:

(WebDevToolsAgentImpl):

  • src/WebDevToolsAgentPrivate.h:

(WebDevToolsAgentPrivate):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::resize):

1:35 AM Changeset in webkit [130014] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove unused sys/mman.h include
https://bugs.webkit.org/show_bug.cgi?id=97995

Patch by Jonathan Liu <net147@gmail.com> on 2012-10-01
Reviewed by Kentaro Hara.

The sys/mman.h is not used and removing it improves portability as not
all systems have sys/mman.h.

  • jit/ExecutableAllocatorFixedVMPool.cpp:
1:33 AM Changeset in webkit [130013] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GTK+ build after r129908.

  • GNUmakefile.list.am: Add new files to compilation.
1:26 AM Changeset in webkit [130012] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip fast/innerHTML/innerHTML-iframe.html after r130003.

  • platform/efl/TestExpectations:
1:01 AM Changeset in webkit [130011] by pdr@google.com
  • 2 edits in trunk/Source/WebCore

Remove overzealous assert in SVGElement::localAttributeToPropertyMap
https://bugs.webkit.org/show_bug.cgi?id=97291

Reviewed by Nikolas Zimmermann.

This patch removes an assert where we did not expect
SVGElement::localAttributeToPropertyMap where we did not to be called. This
function turns out to be useful and this patch removes that assert.

If we encounter a non-SVG tag during SVG parsing (e.g. <svg><price></svg>) we return a
vanilla SVGElement instance from SVGElementFactory::createSVGElement. Previously,
trying to animate this would ASSERT because it was not possible to determine the
animated type. After this patch, an empty localAttributeToPropertyMap is used so
that the animated type returned from SVGAnimateElement::determineAnimatedPropertyType
is AnimatedUnknown.

This patch simply removes an ASSERT so no test is provided.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::localAttributeToPropertyMap):

12:58 AM Changeset in webkit [130010] by yosin@chromium.org
  • 8 edits
    14 adds in trunk/LayoutTests

Add appearance tests for multiple fields month input UI
https://bugs.webkit.org/show_bug.cgi?id=97888

Reviewed by Kent Tamura.

This patch adds tests for multiple fields month input UI and disables
these tests on ports which don't enable both ENABLE_INPUT_TYPE_MONTH
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

Note: We need to do rebaseline tests to update images for Chromium-Mac
and Chromium-Win.

Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_MONTH
and ENABLE_INPUT_MULTIPLE_FIELDS_UI.

  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic.html: Added for checking basic appearance.
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes.html: Added for checking appearance of applying CSS pseudo classes, e.g. :enabled, :invalid, and so on.
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements.html: Added for checking appearance of applying CSS pseudo elements, e.g. :after, :before, and so on.
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-appearance-style.html: Added for checking appearance of applying CSS styles
  • platform/chromium-android/TestExpectations: Changed to disable tests for multiple fields month input UI.
  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic-expected.png: Added.
  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png: Added.
  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-style-expected.png: Added.
  • platform/chromium/TestExpectations: Changed to disable tests for multiple fields month input UI of Mac and Win for rebaseline.
  • platform/efl/TestExpectations: Changed to disable tests for multiple fields month input UI.
  • platform/gtk/TestExpectations: ditto
  • platform/mac/TestExpectations: ditto
  • platform/qt/TestExpectations: ditto
  • platform/win/TestExpectations: ditto
12:20 AM Changeset in webkit [130009] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r130004.
http://trac.webkit.org/changeset/130004
https://bugs.webkit.org/show_bug.cgi?id=97996

Test shadow-dom-modify-chardata.html is failing (Requested by
keishi on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-10-01

Source/WebCore:

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

LayoutTests:

  • inspector/elements/shadow-dom-modify-chardata-expected.txt: Removed.
  • inspector/elements/shadow-dom-modify-chardata.html: Removed.
12:15 AM Changeset in webkit [130008] by keishi@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION(r127727): Calendar picker is ignoring step
https://bugs.webkit.org/show_bug.cgi?id=97893

Reviewed by Kent Tamura.

Source/WebCore:

There were two mistakes:

  • An if-statement to check step attribute validity was wrong, and
  • DateTiemChooserParameters.step was milleseconds when it should be number of days.

This will be changing the DateTimeChooserParameters.step to milliseconds so we can handle steps for other input types in the future.

Test: fast/forms/date/calendar-picker-appearance-with-step.html

  • Resources/pagepopups/calendarPicker.js:

(CalendarPicker):

  • html/shadow/CalendarPickerElement.cpp:

(WebCore::CalendarPickerElement::openPopup): If statement was wrong.

LayoutTests:

  • fast/forms/date/calendar-picker-appearance-with-step-expected.txt: Added.
  • fast/forms/date/calendar-picker-appearance-with-step.html: Added.

Sep 30, 2012:

11:13 PM Changeset in webkit [130007] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Sign in front of keyframe selector causes stylesheet parsing to abort
https://bugs.webkit.org/show_bug.cgi?id=96844

Patch by Glenn Adams <glenn@skynav.com> on 2012-09-30
Reviewed by Simon Fraser.

Source/WebCore:

Allow optional unary operator (+) on PERCENTAGE in keyframe selector.

Test: animations/keyframe-selector-negative-percentage.html

  • css/CSSGrammar.y:

Add maybe_unary_operator to PERCENTAGE on keyframe selector. Negative keyframe
selector value is already ignored in StyleKeyframe::parseKeyString.

LayoutTests:

Add test case for correct handling of negative percentage in keyframe selector.

  • animations/keyframe-selector-negative-percentage-expected.txt: Added.
  • animations/keyframe-selector-negative-percentage.html: Added.
10:56 PM Changeset in webkit [130006] by morrita@google.com
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=97988
Crash on FrameTree::scopedChildCount()

Reviewed by Kent Tamura.

The series of crash reports says that there are some null pointer
access in scopedChildCount(). This change added a null guard
against Frame::document(), that can return null.

No new tests. This is tied to some specific timing and is hard to reproduce.

  • page/FrameTree.cpp:

(WebCore::FrameTree::scopedChildCount):
(WebCore::FrameTree::scopedChild):
(WebCore):

10:50 PM Changeset in webkit [130005] by yosin@chromium.org
  • 8 edits in trunk/Source/WebCore

Make multiple fields date/time input UI related files to available all ports
https://bugs.webkit.org/show_bug.cgi?id=97989

Reviewed by Kent Tamura.

This patch adds multiple fields date/time input UI related files for
ports not using WebCore.gyp and simplifies include directive in
MonthInputType.h and TimeInputType.h.

Added files are:

  • html/BaseMultipleFieldsDateAndTimeInputType.{cpp,h}
  • html/shadow/DateTimeEditElement.{cpp,h}
  • html/shadow/DateTimeFieldElement.{cpp,h}
  • html/shadow/DateTimeFieldElements.{cpp,h}
  • html/shadow/DateTimeNumericFieldElement.{cpp,h}
  • html/shadow/DateTimeSymbolicFieldElement.{cpp,h}

No new tests. This patch doesn't change behavior.

  • CMakeLists.txt: Changed to add multiple fields date/time input UI related files.
  • GNUmakefile.list.am: ditto
  • Target.pri: ditto
  • WebCore.vcproj/WebCore.vcproj: ditto
  • WebCore.xcodeproj/project.pbxproj: ditto
  • html/MonthInputType.h: Changed to simplify include directive for base class.
  • html/TimeInputType.h: ditto
9:32 PM FeatureFlags edited by tkent@chromium.org
Add SATURATED_LAYOUT_ARITHMETIC (diff)
8:57 PM Changeset in webkit [130004] by keishi@webkit.org
  • 3 edits
    2 adds in trunk

Web Inspector: Modifications in a shadow tree don't update the Elements panel.
https://bugs.webkit.org/show_bug.cgi?id=97056

Reviewed by Pavel Feldman.

Source/WebCore:

Send characterDataModified event for shadow dom nodes too so they update the elements panel.

Test: inspector/elements/shadow-dom-modify-chardata.html

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

LayoutTests:

  • inspector/elements/shadow-dom-modify-chardata-expected.txt: Added.
  • inspector/elements/shadow-dom-modify-chardata.html: Added.
7:45 PM Changeset in webkit [130003] by commit-queue@webkit.org
  • 5 edits in trunk/LayoutTests

Trivial test fix after r127534.
https://bugs.webkit.org/show_bug.cgi?id=95813

Patch by Sergey Glazunov <serg.glazunov@gmail.com> on 2012-09-30
Reviewed by Kentaro Hara.

  • fast/innerHTML/innerHTML-iframe-expected.txt:
  • fast/innerHTML/innerHTML-iframe.html:
  • platform/chromium/TestExpectations:
  • platform/qt/TestExpectations:
7:44 PM Changeset in webkit [130002] by tzik@chromium.org
  • 2 edits in trunk/Tools

Unreviewed. Adding myself as a committer.

  • Scripts/webkitpy/common/config/committers.py:
7:34 PM WebKit Team edited by tzik@chromium.org
(diff)
6:57 PM Changeset in webkit [130001] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[chromium] Add a test to verify that a plugin does not receive touch-events unless it explicitly requests for them
https://bugs.webkit.org/show_bug.cgi?id=97975

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-09-30
Reviewed by Adam Barth.

Tools:

TestWebPlugin can now be configured to accept touch events or not. Use this
configurability to verify that a plugin does not receive touch events unless
it explicitly requests for them.

  • DumpRenderTree/chromium/TestWebPlugin.cpp:

(TestWebPlugin::TestWebPlugin):
(TestWebPlugin::initialize):
(TestWebPlugin::parseBoolean):

  • DumpRenderTree/chromium/TestWebPlugin.h:

(TestWebPlugin):

LayoutTests:

  • platform/chromium/plugins/touch-events-expected.txt: Added.
  • platform/chromium/plugins/touch-events.html: Added.
6:30 PM Changeset in webkit [130000] by kling@webkit.org
  • 4 edits in trunk/Source/WebCore

Split EventTargetData out of NodeRareData to reduce memory use.
<http://webkit.org/b/97987>
<rdar://problem/12403258>

Reviewed by Anders Carlsson.

Move EventTargetData to its own Node-flag/hashmap instead of piggybacking on NodeRareData.
This reduces memory consumption by 1.06MB on Membuster3. Note that NodeRareData shrinks by
one pointer as well.

  • dom/Node.cpp:

(WebCore::Node::~Node):
(WebCore::eventTargetDataMap):
(WebCore::Node::eventTargetData):
(WebCore::Node::ensureEventTargetData):
(WebCore::Node::clearEventTargetData):
(WebCore::Node::handleLocalEvents):

  • dom/Node.h:

(WebCore::Node::hasEventTargetData):
(WebCore::Node::setHasEventTargetData):

  • dom/NodeRareData.h:

(NodeRareData):

5:28 PM Changeset in webkit [129999] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

Clean up HasTrivialConstructor/Destructor
https://bugs.webkit.org/show_bug.cgi?id=97754

Reviewed by Sam Weinig.

Mixed up the HasTrivialDestructor/Constructor case for VS2010 and later in the previous patch.

  • wtf/TypeTraits.h:
4:31 PM Changeset in webkit [129998] by aestes@apple.com
  • 9 edits in branches/safari-534.58-branch/Source

Merge r123907.

2012-07-27 Anders Carlsson <andersca@apple.com>

Show the unavailable plug-in indicator for Java applets as well
https://bugs.webkit.org/show_bug.cgi?id=92521

Reviewed by Sam Weinig.

Source/WebCore:

Now that <applet> behaves more like <embed> and <object>, make sure that we show the unavailable plug-in indicator
and call the correct error callbacks if we fail to instantiate the plug-in.

  • WebCore.exp.in:

Export a symbol needed by WebKit2.

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::HTMLAppletElement):
Set the correct service type.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::createJavaAppletWidget):
Enable the unavailable plug-in indicator if we fail to create the java applet widget.

Source/WebKit/mac:

Check if the Java plug-in is blocked before trying to instantiate it.

  • WebCoreSupport/WebFrameLoaderClient.mm:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::unavailablePluginButtonClicked):
This can now be called on applet elements as well.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createJavaAppletWidget):
Get the MIME type from the applet element.

3:51 PM Changeset in webkit [129997] by aestes@apple.com
  • 15 edits in branches/safari-534.58-branch/Source/WebCore

Merge r123811.

2012-07-26 Anders Carlsson <andersca@apple.com>

HTMLAppletElement should inherit from HTMLPlugInImageElement
https://bugs.webkit.org/show_bug.cgi?id=92320

Reviewed by Eric Seidel.

In order to simplify the class hierarchy and eventually merge HTMLPlugInImageElement and HMTLPlugInElement,
make HTMLAppletElement inherit from HTMLPlugInImageElement. While this does mean that HTMLAppletElement will grow by
a couple of words, in practice it won't matter.

Also, make RenderApplet inherit from RenderEmbeddedObject and move the plug-in instantiation to HTMLAppletElement which matches
both HTMLEmbedElement and HTMLObjectElement.

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::HTMLAppletElement):
(WebCore::HTMLAppletElement::create):
(WebCore::HTMLAppletElement::parseAttribute):
(WebCore::HTMLAppletElement::rendererIsNeeded):
(WebCore::HTMLAppletElement::createRenderer):
(WebCore):
(WebCore::HTMLAppletElement::renderWidgetForJSBindings):
(WebCore::HTMLAppletElement::updateWidget):

  • html/HTMLAppletElement.h:

(HTMLAppletElement):

  • html/HTMLTagNames.in:
  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::createJavaAppletWidget):

  • loader/SubframeLoader.h:

(SubframeLoader):

  • page/FrameView.cpp:

(WebCore::FrameView::updateWidget):

  • rendering/RenderApplet.cpp:

(WebCore::RenderApplet::RenderApplet):

  • rendering/RenderApplet.h:

(RenderApplet):

  • rendering/RenderEmbeddedObject.h:

(WebCore::toRenderEmbeddedObject):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::shouldBeNormalFlowOnly):
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPlugin):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::setStyle):

  • rendering/RenderObject.h:
2:06 PM Changeset in webkit [129996] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

444kB below CSSParser::parseDeprecatedGradient() on Membuster3.
<http://webkit.org/b/97981>
<rdar://problem/12403058>

Reviewed by Anders Carlsson.

Slap an inline capacity of 2 on the Vector<CSSGradientColorStop> in CSSGradientValue.
This covers the majority of gradient values, and reduces memory consumption by ~250kB on Membuster3.

  • css/CSSGradientValue.h:

(WebCore::CSSGradientValue::stopCount):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseGradientColorStops):

12:35 PM Changeset in webkit [129995] by mkwst@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove FIXME comments refering to non-existent code in JSDOMBinding.cpp
https://bugs.webkit.org/show_bug.cgi?id=97977

Reviewed by Adam Barth.

I did a quick grep through the code to determine where these FIXME
comments were suggesting that code should be merged. So far as I can
tell, 'immediatelyReportUnsafeAccessTo' only exists in these comments.

Just cleanup, no functional change.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::shouldAllowAccessToFrame):
(WebCore::shouldAllowAccessToDOMWindow):

11:40 AM WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
11:38 AM Changeset in webkit [129994] by mario@webkit.org
  • 7 edits in trunk/Source/WebKit2

[WK2][GTK] Add API to get the favicon for a WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=96477

Reviewed by Carlos Garcia Campos.

Provide a new simple API to synchronously try to get the favicon
associated with a WebView, if any, and to keep track of changes on
it, through a new GObject property.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(_WebKitWebViewPrivate):
(webkitWebViewIconReadyCallback): Callback to handle the
'icon-ready' signal coming from WebKitFaviconDatabase.
(webkitWebViewWatchForChangesInFavicon): Connects to the
'icon-ready' signal from WebKitFaviconDatabase, to keep track of
changes in favicons, that must be related to the current view.
(webkitWebViewDisconnectFaviconDatabaseSignalHandlers):
Disconnects the handler for 'icon-ready' if needed.
(webkitWebViewGetProperty): Updated for the new "favicon" property .
(webkitWebViewFinalize): Disconnect the new signal handler.
(webkit_web_view_class_init): Definition of the new property.
(webkitWebViewEmitLoadChanged): Make sure we will be watching for
changes in the favicon from WEBKIT_LOAD_STARTED on.
(webkit_web_view_get_favicon): New API funtcion, returning the
current favicon for the WebView, if any, or NULL otherwise.

  • UIProcess/API/gtk/WebKitWebView.h:

Internally expose a way to try to get the favicon associated to a
page URL synchronously, through WebKitFaviconDatabase.

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

(webkitFaviconDatabaseGetFaviconSync): New internal function, it
will return either 0 or a valid pointer to a cairo_surface_t.

  • UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:

Add unit tests for checking this new API.

  • UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:

(testWebViewFavicon): New unit test.
(beforeAll): Add the test to the test suite.

10:08 AM WebKitGTK/1.10.x edited by Martin Robinson
(diff)
9:46 AM EFLSettingsApiTutorial edited by kubaczkam@gmail.com
(diff)
9:40 AM EFLWebKit edited by kubaczkam@gmail.com
(diff)
9:28 AM Changeset in webkit [129993] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[TextureMapper] [WebKit2] Crash in WebCore::BitmapTextureGL::updateContents
https://bugs.webkit.org/show_bug.cgi?id=97394

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-09-30
Reviewed by Noam Rosenthal.

When a TextureMapper is destroyed, layers can still contain references
to textures obtained from that TextureMapper's texture pool. Trying to
access an unreffed TextureMapper in the BitmapTexture's destructor
causes a crash.

Instead of storing a raw pointer to a TextureMapper, we can simply store
a reference to the underlying GraphicsContext3D. All TextureMapper
implementations use the current GL context at this moment, so one GC3D
referencing the current context is the same as any other.

  • platform/graphics/texmap/TextureMapper.h: Remove the clearTexturePool

method. It's no longer used.
(WebCore::BitmapTexture::applyFilters): Add a TextureMapper* argument.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::BitmapTextureGL::BitmapTextureGL): Keep a reference to the
GraphicsContext3D instead of the TextureMapper.
(WebCore::BitmapTextureGL::didReset): Use the GC3D reference.
(WebCore::BitmapTextureGL::updateContents): Ditto.
(WebCore::BitmapTextureGL::applyFilters): Accept the TextureMapper as an argument.
(WebCore::BitmapTextureGL::initializeStencil): Use the GC3D reference.
(WebCore::BitmapTextureGL::clearIfNeeded): Ditto.
(WebCore::BitmapTextureGL::createFboIfNeeded): Ditto.
(WebCore::BitmapTextureGL::bind): Accept the TextureMapper as an argument.
(WebCore::BitmapTextureGL::~BitmapTextureGL): Use the GC3D reference.
(WebCore::TextureMapperGL::~TextureMapperGL): Remove the call to clearTexturePool
as it's no longer necessary.
(WebCore::TextureMapperGL::bindSurface): Ditto.

  • platform/graphics/texmap/TextureMapperGL.h:

(BitmapTextureGL): Keep a GC3D reference instead of a TextureMapper pointer.

  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::applyFilters): Add a TextureMapper argument.

  • platform/graphics/texmap/TextureMapperImageBuffer.h:

(BitmapTextureImageBuffer):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::applyFilters): Ditto.

9:03 AM WebKitGTK/1.10.x edited by Martin Robinson
(diff)
7:56 AM Changeset in webkit [129992] by mario@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2][GTK] Fix issues with WebKitFaviconDatabase in debug builds
https://bugs.webkit.org/show_bug.cgi?id=97966

Reviewed by Carlos Garcia Campos.

Fix failing ASSERTs detected when running the unit tests from
TestWebKitFaviconDatabase in debug builds.

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:

(webkitFaviconDatabaseDispose): Close IconDatabase here, which is
the right place to do it according to GObject documentation.
(webkitFaviconDatabaseFinalize): Just destroy the private data
structure and chain up to parent class's finalize method.
(webkit_favicon_database_class_init): Override dispose method.

  • UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:

(webkitFaviconDatabaseFinalizedCallback): Delete files when the
WebKitFaviconDatabase is being finalized, since by that time the
IconDatabase from WebCore will be already closed.
(afterAll): Add a weak reference to WebKitFaviconDatabase and
provide a GWeakNotify callback (webkitFaviconDatabaseFinalizedCallback).

6:59 AM FeatureFlags edited by tkent@chromium.org
Remove JAVA_BRIDGE (diff)
6:46 AM Changeset in webkit [129991] by tkent@chromium.org
  • 4 edits in trunk/LayoutTests

[Chromium] Rebaseline for DateTimeNumericFieldElement should use Localizer functions.
https://bugs.webkit.org/show_bug.cgi?id=97318

  • platform/chromium/TestExpectation:
  • platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-localization-expected.txt:
  • platform/chromium-win/fast/forms/time-multiple-fields/time-multiple-fields-localization-expected.txt:
4:47 AM Changeset in webkit [129990] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Add proper bug links to the protocol handler crashes in efl-wk2.

  • platform/efl-wk2/TestExpectations:
4:37 AM EFLSettingsApiTutorial edited by kubaczkam@gmail.com
(diff)
4:32 AM EFLSettingsApiTutorial created by kubaczkam@gmail.com
4:19 AM Changeset in webkit [129989] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip a few seemingly passing tests with no associated bug.

  • platform/efl-wk2/TestExpectations:
Note: See TracTimeline for information about the timeline view.