⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Oct 2, 2012:

11:57 PM Changeset in webkit [130257] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for the GTK port after r130207.
Use proper file separators for new entries.

  • GNUmakefile.list.am:
11:31 PM Changeset in webkit [130256] by tkent@chromium.org
  • 4 edits in trunk/Source/WebCore

Introduce DateComponents::minimumYear and maximumYear
https://bugs.webkit.org/show_bug.cgi?id=98230

Reviewed by Kentaro Hara.

Share same difinitions in DateComponents.cpp and DateTimeFieldElements.cpp.

No new tests. This doesn't change any bahevior.

  • platform/DateComponents.h:

(WebCore::DateComponents::minimumYear): Moved from DateComponents.cpp.
(WebCore::DateComponents::maximumYear): ditto.

  • platform/DateComponents.cpp:

(WebCore): Move out static minimumYear and maximumYear.
(WebCore::DateComponents::parseYear): Use DateCompnents::minimumYear and/or maximumYear.
(WebCore::withinHTMLDateLimits): ditto.
(WebCore::DateComponents::parseWeek): ditto.
(WebCore::DateComponents::setMonthsSinceEpoch): ditto.
(WebCore::DateComponents::setMillisecondsSinceEpochForWeek): ditto.

  • html/shadow/DateTimeFieldElements.cpp:

(WebCore): Remove minimumYear and maximumYear.
(WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement):
Use DateComponents::minimumYear and maximumYear.

11:28 PM Changeset in webkit [130255] by arko@motorola.com
  • 3 edits
    2 adds in trunk

Microdata: itemprop names must not override builtin properties.
https://bugs.webkit.org/show_bug.cgi?id=98025

Reviewed by Kentaro Hara.

Source/WebCore:

We should look in the prototype for functions before assuming it as
an item's name. Return false if the prototype of the object has a
property (function) with propertyName.
Named properties Spec: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties
Named property visibility algorithm:
http://dev.w3.org/2006/webapi/WebIDL/#indexed-and-named-properties
...

  1. If the result of calling the HasProperty internal method on

prototype with property name P is true, then return false.
...
Also [OverrideBuiltins] is not declared for any of the properties,
hence no overriding is allowed in this case.

Test: fast/dom/MicroData/itemprop-names-override-builtin-properties.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):

LayoutTests:

Added test case to verify that itemprop names must not override builtin properties.

  • fast/dom/MicroData/itemprop-names-override-builtin-properties-expected.txt: Added.
  • fast/dom/MicroData/itemprop-names-override-builtin-properties.html: Added.
11:24 PM Changeset in webkit [130254] by keishi@webkit.org
  • 5 edits in trunk

REGRESSION (r129738): Suggestion picker label is placed in the wrong location
https://bugs.webkit.org/show_bug.cgi?id=98094

Reviewed by Kent Tamura.

Source/WebCore:

We needed to reverse padding-left/right when rtl.

No new tests. Covered by date-suggestion-picker-appearance.html.

  • Resources/pagepopups/suggestionPicker.css:

(.suggestion-list-entry .label):
(.rtl .suggestion-list-entry .label):

LayoutTests:

  • platform/chromium-mac/platform/chromium/fast/forms/date/date-suggestion-picker-appearance-expected.png:
  • platform/chromium/TestExpectations:
11:15 PM Changeset in webkit [130253] by yurys@chromium.org
  • 14 edits
    2 copies in trunk/Source

Provide memory instrumentation for HashCountedSet
https://bugs.webkit.org/show_bug.cgi?id=98138

Reviewed by Pavel Feldman.

Source/WebCore:

Replaced addHashCountedSet calls with addMember that now automatically
detects HashCountedSet and calls appropriate routine.

  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):

  • loader/cache/CachedResource.cpp:

Source/WebKit/chromium:

Added unit test for HashCountedSet memory instrumentation.

  • tests/MemoryInstrumentationTest.cpp:

Source/WTF:

Added memory instrumentation for HashCountedSet.

Extracted common routines for collecting memory info for an iterable sequence.

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

(WTF):

  • wtf/MemoryInstrumentationHashCountedSet.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashSet.h.

(WTF):
(WTF::reportMemoryUsage):

  • wtf/MemoryInstrumentationHashMap.h:

(WTF::reportMemoryUsage):

  • wtf/MemoryInstrumentationHashSet.h:
  • wtf/MemoryInstrumentationSequence.h: Copied from Source/WTF/wtf/MemoryInstrumentationHashMap.h.

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

11:04 PM Changeset in webkit [130252] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Buildfix after r130235.

Patch by Nandor Huszka <hnandor@inf.u-szeged.hu> on 2012-10-02
Reviewed by Csaba Osztrogonác.

systemAllowsMultisamplingOnATICards was deleted from GraphicsContext3D,
but function body remained in GraphicsContext3DOpenGLES. Delete method body.

  • platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
11:00 PM Changeset in webkit [130251] by joone.hur@intel.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, GTK+,Efl debug build fix after r130225.

This patch allows to include the static xErrorString variable when LOG_DISABLED is 0.

  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit):

10:52 PM Changeset in webkit [130250] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix assertion failures on Chromium Debug bots for datetime/datetime-local input types.

  • html/shadow/DateTimeFieldElements.cpp:

If a placeholder stirng is empty, use a sequence of "-".
(WebCore::DateTimeDayFieldElement::create):
(WebCore::DateTimeMonthFieldElement::create):
(WebCore::DateTimeYearFieldElement::create):

10:26 PM Changeset in webkit [130249] by morrita@google.com
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=98134
[Refactoring] StyleResolver::matchScopedAuthorRules() could be simpler.

Reviewed by Dimitri Glazkov.

matchScopedAuthorRules() did have some optimization which only
makes sense for heavily nested shadow tree. However, we don't see
such type of usage of Shadow DOM and this looks premature
optimization. This change unified its triple for loop into one,
which makes the code much simpler.

No new tests. Covered by existing tests.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::matchScopedAuthorRules):

10:12 PM Changeset in webkit [130248] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix a typo and add some \n's to make Mark happy.

Rubber-stamped by Mark "logging must be fast" Rowe.

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::load):

9:54 PM Changeset in webkit [130247] by tkent@chromium.org
  • 5 edits in trunk/Source/WebCore

Introduce Localizer::dateTimeFormatWithSecond and dateTimeFormatWithoutSecond
https://bugs.webkit.org/show_bug.cgi?id=98229

Reviewed by Kentaro Hara.

Unify identical code in DateTimeInputType and DateTimeLocalInputType as
Localizer member functions.
They still have some common code. We'll address it later.

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

  • platform/text/Localizer.h:

(Localizer): Add dateTimeFormatWithSecond and dateTimeFormatWithoutSecond.

  • platform/text/Localizer.cpp:

(WebCore::Localizer::dateTimeFormatWithSecond):
Implemented. Just concatenating dateFormat, a space, and timeFormat.
(WebCore::Localizer::dateTimeFormatWithoutSecond):
Implemented. Just concatenating dateFormat, a space, and shortTimeFormat.

  • html/DateTimeInputType.cpp:

(WebCore::DateTimeInputType::setupLayoutParameters):
Use dateTimeFormatWithSecond and dateTimeFormatWithoutSecond.

  • html/DateTimeLocalInputType.cpp:

(WebCore::DateTimeLocalInputType::setupLayoutParameters): ditto.

9:30 PM Changeset in webkit [130246] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

Refactoring: DateTimeEditBuilder had better hold LayoutParameters
https://bugs.webkit.org/show_bug.cgi?id=98228

Reviewed by Kentaro Hara.

Stop copying multiple members of LayoutParameters in DateTimeEditBuilder
constructor. This change improves code size and runtime cost.

No new tests. This doesn't change user-visible behavior.

  • html/shadow/DateTimeEditElement.cpp:

(DateTimeEditBuilder): Add a comment about lifetime of objects.
(WebCore::DateTimeEditBuilder::stepRange):
Added. A helper to access m_parameters.stepRange.
(WebCore::DateTimeEditBuilder::DateTimeEditBuilder):
Remove m_stepRange, m_localizer, m_placeholderFor* members.
Add m_parameters.
(WebCore::DateTimeEditBuilder::needMillisecondField):
Use stepRange() instead of m_stepRange.
(WebCore::DateTimeEditBuilder::visitField):
Use m_parameters.placeholderFor*.
(WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly):
Use stepRange() instead of m_stepRange.
(WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly): ditto.
(WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly): ditto.

9:12 PM Changeset in webkit [130245] by weinig@apple.com
  • 3 edits
    1 move
    4 adds in trunk/Source/WebKit2

Add Objective-C API for the InjectedBundle
https://bugs.webkit.org/show_bug.cgi?id=98222

Reviewed by Anders Carlsson.

Add skeleton of the Objective-C API for the InjectedBundle.

  • WebKit2.xcodeproj/project.pbxproj:

Add new API files.

  • WebProcess/InjectedBundle/API/mac: Added.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Added.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Added.

(-[WKWebProcessPlugIn _initWithPrincipalClassInstance:injectedBundle:]):
Initialization method for the WKWebProcessPlugIn object. This object will act as the WKBundleRef
object does in the C-SPI.
(+[WKWebProcessPlugIn _shared]):
Access the shared instance.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Added.
  • WebProcess/InjectedBundle/InjectedBundle.h:

Store an NSBundle rather than a CFBundleRef as the platform bundle.

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed.
  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: Copied from Source/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp.

(WebKit::InjectedBundle::load):
If a principal class is provided and no WKBundleInitialize function is present in the bundle, use the principal class
as the initialization point. The principal class must conform to the WKWebProcessPlugIn protocol and if a
webProcessPlugInInitialize: method is present, it is called.

6:38 PM Changeset in webkit [130244] by tkent@chromium.org
  • 3 edits in trunk/Source/WebCore

Implement LocaleICU::dateFormat
https://bugs.webkit.org/show_bug.cgi?id=98118

Reviewed by Hajime Morita.

http://trac.webkit.org/changeset/130127 introduced
Localizer::dateFormat, and this is its implementation for LocaleICU
classs. The code is going to be used when
ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled.

No new tests. The function is not used yet.

  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::dateFormat):
Implemented. Note that m_shortDateFormat is a UDateFormat object, which
knows various format information.

  • platform/text/LocaleICU.h:

(LocaleICU): Add m_dateFormat to cache the format string.

6:25 PM Changeset in webkit [130243] by tkent@chromium.org
  • 3 edits in trunk/Source/WebCore

[Mac][Chromium-Mac] Implement LocaleMac::dateFormat
https://bugs.webkit.org/show_bug.cgi?id=98116

Reviewed by Hajime Morita.

http://trac.webkit.org/changeset/130127 introduced
Localizer::dateFormat, and this is its implementation for LocaleICU
classs. The code is going to be used when
ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled.

No new tests. The function is not used yet.

  • platform/text/mac/LocaleMac.h:

(LocaleMac): Declare m_dateFormat.

  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::dateFormat): Implemented.

6:17 PM Changeset in webkit [130242] by tkent@chromium.org
  • 5 edits in trunk/Source

[Chromium-Win] Implement LocaleWin::dateFormat
https://bugs.webkit.org/show_bug.cgi?id=98117

Reviewed by Kentaro Hara.

Source/WebCore:

http://trac.webkit.org/changeset/130127 introduced
Localizer::dateFormat, and this is its implementation for LocaleICU
classs. The code is going to be used when
ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled.

Tests: Added a new test to WebKit/chromium/tests/LocaleWinTest.cpp.

  • platform/text/LocaleWin.cpp:

(WebCore::parseDateFormat):
Fix a continuous apostrophes parsing bug; "abc'def" produced "abcdef"
(WebCore::appendAsLDMLLiteral):
A helper function to make a literal string for LDML.
(WebCore::convertWindowsDateFormatToLDML):
Creates an LDML format from a parsed date format tokens.
(WebCore::LocaleWin::dateFormat):
Implemented. This uses convertWindowsDateFormatToLDML.
(WebCore::LocaleWin::dateFormat):
Added for testing. The source windows format is specified as a function
argument.

  • platform/text/LocaleWin.h:

(LocaleWin): Declare m_dateFormat and dateFormat().

Source/WebKit/chromium:

  • tests/LocaleWinTest.cpp:

(TEST_F): Add tests for LocaleWin::dateFormat.

6:09 PM Changeset in webkit [130241] by ojan@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium] Fix spelling of isNVIDIA override in Extensions3DChromium
https://bugs.webkit.org/show_bug.cgi?id=98219

Patch by Ian Vollick <vollick@chromium.org> on 2012-10-02
Reviewed by Dean Jackson.

The override in Extensions3dChromium should have been spelled isNVIDIA, not isNVidia.

No new tests. No change in functionality.

  • platform/graphics/chromium/Extensions3DChromium.h:

(WebCore::Extensions3DChromium::isNVIDIA):

5:42 PM Changeset in webkit [130240] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Fixed a crash when the localization option is not passed to the web process.

Reviewed by Sam Weinig.

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain): Changed to not call WKSetDefaultLocalization
with the empty string.

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMain): Ditto.

5:34 PM Changeset in webkit [130239] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the Snow Leopard build.

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
5:31 PM Changeset in webkit [130238] by jsbell@chromium.org
  • 10 edits
    1 add in trunk/Source

Add htons/htonl definitions and implementations
https://bugs.webkit.org/show_bug.cgi?id=98054

Reviewed by Darin Adler.

Source/WebCore:

Update users of htons and friends to use new wtf/ByteOrder.h header.

No new tests - just refactoring.

  • platform/graphics/WOFFFileFormat.cpp:
  • platform/graphics/chromium/VDMXParser.cpp:

Source/WTF:

For parsing or serializing binary data, byte order matters. The canonical htons/htonl/
ntohs/ntohl functions are not present everywhere, so implementations are proliferating in
parsers. Expose a new WTF header (wtf/ByteOrder.h) that includes the standard
implementations on UNIX-like OSs and provides basic inlined implementations on Windows.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/ByteOrder.h: Added.

(WTF::wswap32): Inline functions so arguments are only evaluated once.
(WTF::bswap32):
(WTF::bswap16):
(ntohs): Inline functions on OS(WINDOWS) to match macros on OS(UNIX)
(htons):
(ntohl):
(htonl):

  • wtf/CMakeLists.txt:
5:24 PM Changeset in webkit [130237] by Simon Fraser
  • 7 edits
    7 copies in trunk

Source/JavaScriptCore: == Rolled over to ChangeLog-2012-10-02 ==

Source/WebCore: == Rolled over to ChangeLog-2012-10-02 ==

Source/WebKit/chromium: == Rolled over to ChangeLog-2012-10-02 ==

Source/WebKit/mac: == Rolled over to ChangeLog-2012-10-02 ==

Source/WebKit2: == Rolled over to ChangeLog-2012-10-02 ==

Tools: == Rolled over to ChangeLog-2012-10-02 ==

LayoutTests: == Rolled over to ChangeLog-2012-10-02 ==

5:22 PM Changeset in webkit [130236] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Make TiledBacking slightly less aware of scrolling
https://bugs.webkit.org/show_bug.cgi?id=98216

Reviewed by Anders Carlsson.

TiledBacking shouldn't really care about there being scrollbars;
recast this in terms of "tile coverage", described by a bitfield
that has flags for coverage optimized for horizontal and vertical
scrolling. This allows for additional tile coverage behaviors later.

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/mac/TileCache.h:
  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::TileCache): Initialize m_isInWindow to false to
be more conservative. It gets explicitly set by the only caller now, so this is
not a behavior change.
(WebCore::TileCache::setIsInWindow):
(WebCore::TileCache::setTileCoverage):
(WebCore::TileCache::tileCoverageRect):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):

5:01 PM Changeset in webkit [130235] by dino@apple.com
  • 10 edits in trunk/Source/WebCore

Expose some GPU Information
https://bugs.webkit.org/show_bug.cgi?id=97813

Reviewed by Sam Weinig and Ken Russell and Tim Horton.

Currently there are a few places in the WebGL code (and elsewhere, like CSS filters)
where we do some feature detection by examining the GPU vendor and its capabilities.
This patch puts this detection into our shared Extensions3D object.

  • platform/graphics/Extensions3D.h: Adds the new methods for detecting vendor and features.
  • platform/graphics/GraphicsContext3D.h:

(GraphicsContext3D): No longer needs function to detect multisampling on ATI.

  • platform/graphics/chromium/Extensions3DChromium.h: Stub implementations of all

the new methods. Chromium does its detection elsewhere.
(WebCore::Extensions3DChromium::isNVIDIA):
(WebCore::Extensions3DChromium::isAMD):
(WebCore::Extensions3DChromium::isIntel):
(WebCore::Extensions3DChromium::vendor):
(Extensions3DChromium):
(WebCore::Extensions3DChromium::maySupportMultisampling):
(WebCore::Extensions3DChromium::requiresBuiltInFunctionEmulation):

  • platform/graphics/filters/FECustomFilter.cpp:

(WebCore::FECustomFilter::createMultisampleBuffer): Add test for system multisampling to
custom filter code.

  • platform/graphics/gpu/DrawingBuffer.cpp:

(WebCore::DrawingBuffer::create): Add test for system multisampling to drawing buffer's
creation code.

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon): Detects all the features
as the object is created.
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Can now simply ask
itself if it needs to turn on built-in function translation.

  • platform/graphics/opengl/Extensions3DOpenGLCommon.h:

(Extensions3DOpenGLCommon):
(WebCore::Extensions3DOpenGLCommon::isNVIDIA):
(WebCore::Extensions3DOpenGLCommon::isAMD):
(WebCore::Extensions3DOpenGLCommon::isIntel):
(WebCore::Extensions3DOpenGLCommon::vendor):
(WebCore::Extensions3DOpenGLCommon::maySupportMultisampling):
(WebCore::Extensions3DOpenGLCommon::requiresBuiltInFunctionEmulation):

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::validateAttributes): Ask the extension object instead of
testing directly.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::validateDepthStencil): Ask the extension object instead
of testing directly.

4:49 PM Changeset in webkit [130234] by dbates@webkit.org
  • 2 edits in trunk/Tools

Define watch list "webkitperl", "SVNScripts", and "XSS" to watch for changes
to Tools/Scripts/{VCSUtils.pm, webkitdirs.pm, webkitperl}, Tools/Scripts/svn-*
scripts, and files whose name contains the word "XSS", respectively. Subscribe
myself to these lists.

  • Scripts/webkitpy/common/config/watchlist:
4:47 PM Changeset in webkit [130233] by ojan@chromium.org
  • 139 edits in trunk/LayoutTests

Test rebaselines now that the Chromium Lion bot has been upgraded to 10.7.5.
All the differences are anti-aliasing in gradients.

4:40 PM Changeset in webkit [130232] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/12407920> Need to keep track of messages posted to injected bundle before creating a page
https://bugs.webkit.org/show_bug.cgi?id=98210

Reviewed by Anders Carlsson.

Restore the pending message functionality, but only for shared process mode, and
under a different name.

  • UIProcess/WebContext.cpp: (WebKit::WebContext::setProcessModel): (WebKit::WebContext::createNewWebProcess): (WebKit::WebContext::postMessageToInjectedBundle):
  • UIProcess/WebContext.h:
4:40 PM Changeset in webkit [130231] by bashi@chromium.org
  • 8 edits in trunk/Source/WebCore

[Chromium] Introduce caches for HarfBuzzShaper
https://bugs.webkit.org/show_bug.cgi?id=97993

Reviewed by Tony Chang.

  • Implement canRenderCombiningCharacterSequence() for ports which use

HarfBuzzShaper. This function caches the result and will improve the
performance of HarfBuzzShaper::collectHarfBuzzRuns.

  • Add a HashMap to HarfBuzzNGFace. It is used as a cache that holds

glyph indexes of codepoints. It reduces the number of
SkPaint::textToGlyphs() calls.

This patch makes the intl2 page cycler 4.4% faster on my machine.

No new tests. No changes in behavior.

  • platform/graphics/SimpleFontData.h:

(SimpleFontData): Enabled canRenderCombiningCharacterSequence() if USE(HARFBUZZ_NG) is enabled.

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore):
(WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added.

  • platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:

(WebCore):
(FaceCacheEntry): Added.
(WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
Lookup the cache entry in harfBuzzFaceCache. Create the entry if there is no entry in the cache.
Increment the ref count of the entry and set cache entry values to member variables.
(WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
Decrement the ref count of the cache entry. Remove the entry if no one refers the cache.

  • platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:

(HarfBuzzNGFace):

  • platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp:

(HarfBuzzFontData): Added. Used as |userData| of harfbuzz callback functions.
(WebCore):
(WebCore::SkiaGetGlyphWidthAndExtents):
(WebCore::harfbuzzGetGlyph):
Look up the glyphChache first. If the cache entry doesn't exist, call
SkPaint::textToGlyphs() to get glyph index and store it to the cache.
(WebCore::harfbuzzGetGlyphHorizontalAdvance):
(WebCore::harfbuzzGetGlyphExtents):
(WebCore::destroyHarfBuzzFontData): Added.
(WebCore::HarfBuzzNGFace::createFont):
Create HarfBuzzFontData and pass it to harfbuzz.

  • platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult):
Don't initialize m_glyphToCharacterIndexes here.
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
Use SimpleFontData::canRenderCombiningCharacterSequence() instead of
fontDataForCombiningCharacterSequence().
(WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun):
Set glyphToCharacterIndexes of the current HarfBuzzRun.

  • platform/graphics/skia/SimpleFontDataSkia.cpp:

(WebCore):
(WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added.

4:24 PM Changeset in webkit [130230] by abarth@webkit.org
  • 1 delete in branches/chromium/wpotest

This test branch is no longer needed.

4:23 PM Changeset in webkit [130229] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=98182
REGRESSION (r130091): Scroll wheel no longer scrolls within div

Reviewed by Simon Fraser.

Forgot to initialize m_nonFastScrollableRegion in this copy
constructor.

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):

4:22 PM Changeset in webkit [130228] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r128400): ASSERT (crash in release) @ app.asana.com
https://bugs.webkit.org/show_bug.cgi?id=98175

Reviewed by Oliver Hunt.

It's bad karma to create a new structure while stealing another structure's property table
while leaving the m_offset unset. Eventually someone will then steal your property table, and
then you won't know how many properties you have anymore.

  • runtime/Structure.cpp:

(JSC::Structure::nonPropertyTransition):

4:21 PM Changeset in webkit [130227] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Skipping flaky test fast/text/international/float-as-only-child-of-isolate-crash.html is flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=98209

  • platform/win/TestExpectations:
4:14 PM Changeset in webkit [130226] by Nate Chapin
  • 4 edits
    4 adds in trunk

Source/WebCore: iframes with scrolling=no can't scroll to anchors
https://bugs.webkit.org/show_bug.cgi?id=96539

Reviewed by Antonio Gomes.

This appears to have regressed in r106730. This patch matches Firefox's behavior.

Test: fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe.html

  • page/EventHandler.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible): Currently scrolls are always forbidden

if scrollbars are explicitly disabled. This adds an exception for scrolls that
are not user-initiated and are not autoscrolls.

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=96539.

Reviewed by Antonio Gomes.

  • fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe-expected.txt: Added.
  • fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe.html: Added.
  • fast/dom/HTMLAnchorElement/resources: Added.
  • fast/dom/HTMLAnchorElement/resources/iframe-with-anchor.html: Added.
4:13 PM Changeset in webkit [130225] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unix plugin process: xErrorString does not need to be defined in release builds
https://bugs.webkit.org/show_bug.cgi?id=98174

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2012-10-02
Reviewed by Alexey Proskuryakov.

The static xErrorString variable is used only for logging purposes,
so it causes a warning when doing relese builds (or, in general,
when logging is enabled). This disables building in the string
when LOG_DISABLED is defined.

Also, made the more constant by changing the "const char*" type
to "const char[]".

  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit):

4:02 PM Changeset in webkit [130224] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Restore the virtual purity of TileBacking
https://bugs.webkit.org/show_bug.cgi?id=98208

Reviewed by Anders Carlsson.

Remove the data member on TileBacking, make the logging methods
virtual, and move the implememtation to TileCache.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/mac/TileCache.h:
  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::TileCache):

  • platform/graphics/ca/mac/WebTileLayer.mm:

(-[WebTileLayer drawInContext:]): Have to cast to call the public
method on the base class.

3:59 PM Changeset in webkit [130223] by roger_fong@apple.com
  • 2 edits in trunk/Tools

executive_unittest.py fails on Apple Windows bots but not when run locally.
https://bugs.webkit.org/show_bug.cgi?id=98196

Reviewed by Eric Seidel.

Making the test more flexible to check for cygwin and allow different outputs from process.wait().

  • Scripts/webkitpy/common/system/executive_unittest.py:

(ExecutiveTest.serial_test_kill_process):

3:45 PM Changeset in webkit [130222] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix crash in WebGeolocationManager constructor.

Defer adding the location manager until there actually is a connection.

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::WebGeolocationManager):
(WebKit::WebGeolocationManager::registerWebPage):

  • WebProcess/Geolocation/WebGeolocationManager.h:

(WebGeolocationManager):

3:37 PM Changeset in webkit [130221] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Ignore failing line of SpacebarScrolling API test on Windows.
https://bugs.webkit.org/show_bug.cgi?id=84961

Reviewed by Anders Carlsson.

Test is failing because of https://bugs.webkit.org/show_bug.cgi?id=97946.
Ignoring the line that fails on Windows for now until the larger problem at hand is fixed.

  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:

(TestWebKitAPI::TEST):

3:29 PM Changeset in webkit [130220] by tony@chromium.org
  • 4 edits in trunk/Tools

check-webkit-style can't handle qt-arm, qt-win, qt-mac, qt-5.0, qt-5.0-wk1 and qt-5.0-wk2 TestExpecatations
https://bugs.webkit.org/show_bug.cgi?id=98140

Reviewed by Eric Seidel.

Fix a bug where we were always using the host OS rather than using what was passed in as part of the
port name on Qt.

There's also a bug with being able to test for qt-5.0 expectations files when on a system with
Qt 4.8 installed. I'm not sure how to solve that, so for now, stop emitting a style warning about
not checking a file.

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

(QtPort._search_paths): Use passed in OS.

  • Scripts/webkitpy/style/checkers/test_expectations.py:

(TestExpectationsChecker.check): Don't warn if we don't know about the TestExpectations file.

  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:

(TestExpectationsTestCase.test_determine_port_from_expectations_path): Added a test case for the OS fix.
Add a commented out test for the version case.

3:25 PM Changeset in webkit [130219] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::WebGeolocationManager):

3:20 PM Changeset in webkit [130218] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Comment additions after r130109

Rubber stamped by Geoffrey Garen.

Updated comments to how array storage works.

  • runtime/ArrayStorage.h:
  • runtime/JSArray.cpp:
3:11 PM Changeset in webkit [130217] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix infinite recursion inside WebProcess constructor
https://bugs.webkit.org/show_bug.cgi?id=98206

Reviewed by Brian Weinstein.

Don't call WebProcess::shared from the WebGeolocationManager constructor since it is invoked from the WebProcess constructor.

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::WebGeolocationManager):

3:09 PM Changeset in webkit [130216] by Hugo Parente Lima
  • 7 edits in trunk/Source/WebKit2

[WK2] Move some tiled backing store/viewport functions from Qt to generic WebKit2 sources
https://bugs.webkit.org/show_bug.cgi?id=98199

Reviewed by Noam Rosenthal.

Move commitPageTransitionViewport from Qt to WebKit2.

  • UIProcess/WebPageProxy.cpp:

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

  • UIProcess/qt/WebPageProxyQt.cpp:
  • WebProcess/WebPage/WebPage.cpp:

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

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/qt/WebPageQt.cpp:
3:04 PM Changeset in webkit [130215] by andersca@apple.com
  • 7 edits in trunk/Source

Build fixes.

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::didCreateWindow):

  • Plugins/Hosted/NetscapePluginHostProxy.h:

(NetscapePluginHostProxy):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WebKit::NetscapePluginHostProxy::didEnterFullscreen):
(WebKit::NetscapePluginHostProxy::didExitFullscreen):
(WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
(WebKit::NetscapePluginHostProxy::endModal):
(WebKit):
(WebKit::NetscapePluginHostProxy::makeCurrentProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::makePluginHostProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::isPluginHostProcessFrontProcess):

Source/WebKit2:

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::beginModal):

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
(WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
(WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
(WebKit::PluginProcessProxy::exitFullscreen):

2:49 PM Changeset in webkit [130214] by ap@apple.com
  • 7 edits in trunk/Source/WebKit2

<rdar://problem/12407139> WebKit2 should provide API that returns all pages in the same process as a given page
https://bugs.webkit.org/show_bug.cgi?id=98193

Reviewed by Sam Weinig.

  • UIProcess/API/C/WKPage.cpp: (WKPageCopyRelatedPages):
  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::pages):
  • UIProcess/WebProcessProxy.h: Added. This should work once a process has crashed, too.
2:37 PM Changeset in webkit [130213] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Add more flaky tests.

  • platform/chromium/TestExpectations:
2:24 PM Changeset in webkit [130212] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Block freeing thread should sleep indefinitely when there's no work to do
https://bugs.webkit.org/show_bug.cgi?id=98084

Reviewed by Geoffrey Garen.

Currently the block freeing thread wakes up once a second to check if there are any blocks
for it to release back to the OS. This is wasteful. We should change it to sleep when it
realizes there are no more blocks to free. Any thread that returns a block to the BlockAllocator
should then notify the block freeing thread that there is more work to do now.

  • heap/BlockAllocator.cpp:

(JSC::BlockAllocator::BlockAllocator):
(JSC::BlockAllocator::blockFreeingThreadMain):

  • heap/BlockAllocator.h:

(BlockAllocator):
(JSC::BlockAllocator::deallocate):

2:10 PM Changeset in webkit [130211] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip one more failing test.

  • platform/qt/TestExpectations:
2:09 PM Changeset in webkit [130210] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Remove the last bits of MSYS support from webkitperl.
https://bugs.webkit.org/show_bug.cgi?id=98195

Patch by Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> on 2012-10-02
Reviewed by Eric Seidel.

No ports currently need MinGW/MSYS support, so remove the last
hackish bits related to it from our Perl code.

  • Scripts/commit-log-editor:

(createCommitMessage):

  • Scripts/old-run-webkit-tests:
  • Scripts/webkitdirs.pm:

(isAnyWindows):
(isWindows):

2:07 PM Changeset in webkit [130209] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip a failing test.

  • platform/qt/TestExpectations:
2:04 PM Changeset in webkit [130208] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Allow LayerTreeHost subclasses to return a custom GraphicsLayerFactory
https://bugs.webkit.org/show_bug.cgi?id=98179

Reviewed by Andreas Kling.

Implement ChromeClient::graphicsLayerFactory and have it call the DrawingArea's graphicsLayerFactory which
for DrawingAreaImpl then calls down to the layer tree host. Make LayerTreeCoordinator implement GraphicsLayerFactory and
make it create CoordinatedGraphicsLayers.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::graphicsLayerFactory):
(WebKit):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::createGraphicsLayer):
(WebKit):
(WebKit::LayerTreeCoordinator::graphicsLayerFactory):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

  • WebProcess/WebPage/DrawingArea.h:

(WebCore):
(WebKit::DrawingArea::graphicsLayerFactory):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::graphicsLayerFactory):
(WebKit):

  • WebProcess/WebPage/DrawingAreaImpl.h:

(DrawingAreaImpl):

  • WebProcess/WebPage/LayerTreeHost.h:

(WebCore):
(WebKit::LayerTreeHost::graphicsLayerFactory):
(LayerTreeHost):

2:02 PM Changeset in webkit [130207] by andersca@apple.com
  • 14 edits
    3 copies in trunk/Source/WebKit2

Attempt to simplify IPC message dispatching logic in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=98097

Reviewed by Sam Weinig.

Move the Connection::MessageReceiver class to its own header file. Add a MessageReceiverMap helper class
that will be used for dispatching messages based on message class (and eventually destination ID).

Convert AuthenticationManager and WebGeolocationManager over to this new mechanism.

  • CMakeLists.txt:
  • GNUmakefile.list.am:

Add new files.

  • Platform/CoreIPC/Connection.cpp:

(CoreIPC::Connection::dispatchMessage):
Check with the message receiver map first before calling Connection::Client::didReceiveMessage.

  • Platform/CoreIPC/Connection.h:

(CoreIPC::Connection::addMessageReceiver):
Call through to the message receiver map.

  • Platform/CoreIPC/MessageID.h:

(CoreIPC::MessageID::messageClass):
Rename MessageClassReserved to MessageClassInvalid.

(MessageID):

  • Platform/CoreIPC/MessageReceiver.h:

Move MessageReceiver from Connection.h to its own file.

  • Platform/CoreIPC/MessageReceiverMap.cpp:

New helper class.

(CoreIPC::MessageReceiverMap::addMessageReceiver):
Add the receiver to the map of receivers.

(CoreIPC::MessageReceiverMap::dispatchMessage):
Check if we have any registered receivers for this message class.

  • Platform/CoreIPC/MessageReceiverMap.h:

New file.

  • Target.pri:

Add new files.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::AuthenticationManager):

  • WebProcess/Authentication/AuthenticationManager.h:

(AuthenticationManager):
Register the authentication manager as a message receiver.

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::WebGeolocationManager):

  • WebProcess/Geolocation/WebGeolocationManager.h:

(WebGeolocationManager):
Register the geolocation manager as a message receiver.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveMessage):
Remove checks for authentication manager and geolocation manager messages.

  • win/WebKit2.vcproj:

Add new files.

1:49 PM Changeset in webkit [130206] by ojan@chromium.org
  • 2 edits in trunk/Source/WebCore

isMainThread() should only be called by NoEventDispatchAssertion in debug builds
https://bugs.webkit.org/show_bug.cgi?id=98191

This fixes a performance regression and matches the original code from
before the refactor in http://trac.webkit.org/changeset/130077.

  • dom/ContainerNode.h:

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

1:45 PM Changeset in webkit [130205] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Add some more flaky tests.

  • platform/chromium/TestExpectations:
1:42 PM Changeset in webkit [130204] by yoli@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Prevent window.close() from closing pages that are not opened by JS
https://bugs.webkit.org/show_bug.cgi?id=98190

Reviewed by Antonio Gomes.

RIM PR# 217812.
Only pages opened by JS can be closed by JS.

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::closeWindowSoon):

1:35 PM Changeset in webkit [130203] by arv@chromium.org
  • 4 edits
    2 adds in trunk

createHTMLDocument() should not create a title element if the title argument is left out
https://bugs.webkit.org/show_bug.cgi?id=96694

Reviewed by Darin Adler.

In case the argument is not passed to createHTMLDocument we use a null string and check
for that before creating a title element.

Source/WebCore:

Test: fast/dom/DOMImplementation/createHTMLDocument-optional-title.html

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createHTMLDocument):

  • dom/DOMImplementation.idl:

LayoutTests:

  • fast/dom/DOMImplementation/createHTMLDocument-optional-title-expected.txt: Added.
  • fast/dom/DOMImplementation/createHTMLDocument-optional-title.html: Added.
1:28 PM Changeset in webkit [130202] by commit-queue@webkit.org
  • 4 edits
    1 delete in trunk

Remove MSYS-related changes to the http testing infrastructure.
https://bugs.webkit.org/show_bug.cgi?id=98183

Patch by Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> on 2012-10-02
Reviewed by Eric Seidel.

In the process of removing the cruft that has accumulated in our
Apache configuration code, we can basically revert r77161 which
added some MSYS (mingw)-specific code to old-run-webkit-tests,
since it is not being used by any port anymore.

Tools:

  • Scripts/run-webkit-httpd: Remove isMsys()-dependent hacks.
  • Scripts/webkitperl/httpd.pm:

(getHTTPDPath): Remove isMsys() code path.
(getDefaultConfigForTestDirectory): Revert isMsys() hacks.
(getHTTPDConfigPathForTestDirectory): Do not point to the noew
removed apache2-msys-httpd.conf.
(convertMsysPath): Removed.

LayoutTests:

  • http/conf/apache2-msys-httpd.conf: Removed.
1:19 PM Changeset in webkit [130201] by rakuco@webkit.org
  • 3 edits in trunk/LayoutTests

Remove cases of testRunner.disableImageLoading() from the layout tests.
https://bugs.webkit.org/show_bug.cgi?id=98187

Reviewed by Simon Fraser.

According to the discussion started in [1], it does not make much
sense to keep disableLoadingImages() around when
overridePreferences("WebKitDisplayImagesKey", 0) achieves the same
effect.

There were only two cases of disableLoadingImages() in the tests;
one of the tests is disabled and the other is currently skipped by
all ports, so there should be no regressions, such as problems
with ports that may implement testRunner.disableLoadingImages()
but not overridePreferences("WebKitDisplayImagesKey").

[1] http://lists.webkit.org/pipermail/webkit-dev/2012-September/022323.html

  • http/tests/misc/favicon-loads-with-icon-loading-override.html:
  • http/tests/misc/favicon-loads-with-images-disabled.html:
1:11 PM Changeset in webkit [130200] by jochen@chromium.org
  • 5 edits
    12 adds
    2 deletes in trunk/LayoutTests

Split popup-blocking-timers.html into individual tests
https://bugs.webkit.org/show_bug.cgi?id=96480

Reviewed by Daniel Bates.

That should avoid failures from the log messages coming in in the wrong order.

  • fast/events/popup-blocking-timers-expected.txt: Removed.
  • fast/events/popup-blocking-timers.html: Removed.
  • fast/events/popup-blocking-timers1-expected.txt: Added.
  • fast/events/popup-blocking-timers1.html: Added.
  • fast/events/popup-blocking-timers2-expected.txt: Added.
  • fast/events/popup-blocking-timers2.html: Added.
  • fast/events/popup-blocking-timers3-expected.txt: Added.
  • fast/events/popup-blocking-timers3.html: Added.
  • fast/events/popup-blocking-timers4-expected.txt: Added.
  • fast/events/popup-blocking-timers4.html: Added.
  • fast/events/popup-blocking-timers5-expected.txt: Added.
  • fast/events/popup-blocking-timers5.html: Added.
  • fast/events/popup-blocking-timers6-expected.txt: Added.
  • fast/events/popup-blocking-timers6.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/qt-5.0-wk2/TestExpectations:
1:09 PM Changeset in webkit [130199] by dgrogan@chromium.org
  • 3 edits
    3 adds in trunk

IndexedDB: Don't wedge if page reloads with pending upgradeneeded
https://bugs.webkit.org/show_bug.cgi?id=98091

Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/dont-wedge.html

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
This got the same treatment as IDBRequest::onSuccess(Transaction).
Explicitly tell the backend objects that they are going away so that
m_runningVersionChangeTransaction is cleared and connectionCount()
decreases.

LayoutTests:

dont-wedge.js was derived from
transaction-coordination-across-databases.js.

This would have passed in DRT without this patch, but not in
content_shell.

  • storage/indexeddb/dont-wedge-expected.txt: Added.
  • storage/indexeddb/dont-wedge.html: Added.
  • storage/indexeddb/resources/dont-wedge.js: Added.

(test):
(deleteDatabase1.request.onblocked):
(deleteDatabase1):
(deleteDatabase2):
(isAfterReload):
(reload):
(openDatabase1.request.onupgradeneeded):
(openDatabase1.request.onsuccess):
(openDatabase1):

12:49 PM Changeset in webkit [130198] by dgrogan@chromium.org
  • 5 edits in trunk

http/tests/inspector/indexeddb/database-structure.html start to crash after r124675
https://bugs.webkit.org/show_bug.cgi?id=93225

Reviewed by Tony Chang.

Source/WebCore:

Tests - the disabled indexeddb inspector tests are re-enabled.

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::close):
Detect re-entrancy and bail.

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

LayoutTests:

  • platform/chromium/TestExpectations:
12:35 PM Changeset in webkit [130197] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

[chromium] Make sure the touch-points in the touch-events have the correct state.
https://bugs.webkit.org/show_bug.cgi?id=98110

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

Source/WebKit/chromium:

It is necessary for the WebTouchPoints in the reconstructed WebTouchEvent
to have the correct state. Without this change, the states were always
unknown.

  • src/WebInputEventConversion.cpp:

(WebKit::toWebTouchPointState):
(WebKit):
(WebKit::addTouchPoints):
(WebKit::WebTouchEventBuilder::WebTouchEventBuilder):

Tools:

TestWebPlugin can now be configured to print out some details about
events. For now, details for only touch events are printed. This is
used to verify that touch-points in the touch-events are properly
set.

  • DumpRenderTree/chromium/TestWebPlugin.cpp:

(pointState):
(printTouchList):
(printEventDetails):
(TestWebPlugin::TestWebPlugin):
(TestWebPlugin::handleInputEvent):

  • DumpRenderTree/chromium/TestWebPlugin.h:

(TestWebPlugin):

LayoutTests:

  • platform/chromium/plugins/touch-events-details-expected.txt: Added.
  • platform/chromium/plugins/touch-events-details.html: Added.
12:31 PM Changeset in webkit [130196] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Programs/WebKit2APITests/TestCookieManager fails
https://bugs.webkit.org/show_bug.cgi?id=98176

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2012-10-02
Reviewed by Martin Robinson.

The problem is that the soup server has a g_assert_not_reached()
for unknown paths, but know /favicon.icon might be requested.

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

(serverCallback): Ignore unknown paths.

12:28 PM Changeset in webkit [130195] by roger_fong@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Adding Windows specific test results. Accelerated 2D canvas not enabled on Windows.

  • platform/win/fast/canvas/canvas-render-layer-expected.txt: Added.
12:22 PM Changeset in webkit [130194] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening. Skipping broken tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=98169

http/tests/inspector/csp-injected-content-warning-contains-stacktrace.html
and http/tests/inspector/csp-inline-warning-contains-stacktrace.html started
failing on Apple Win 7 Release (Tests) in r130150
<http://trac.webkit.org/changeset/130150>.

http://build.webkit.org/results/Apple%20Win%207%20Release%20(Tests)/r130150%20(28375)/results.html

Will be fixed in webkit.org/b/98169

  • platform/win/TestExpectations:
12:16 PM Changeset in webkit [130193] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Update some expectations to green the tree.

  • platform/chromium/TestExpectations:
11:53 AM Changeset in webkit [130192] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[XvfbDriver] First tests in each worker occasionally crash
https://bugs.webkit.org/show_bug.cgi?id=96203

Reviewed by Dirk Pranke.

Often in debug builds, the first tests in each worker crash because they
can't yet open the Xvfb display assigned to them. This indicates Xvfb hasn't
yet been set up.

To avoid this, the execution should halt for a small amount of time before tests
are run so the Xvfb process has enough time to get ready. At the moment this is
done right after the Xvfb process is spawned and the execution halts for one
second. That value is overriden to zero when testing to not prolong the testing time.

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

(XvfbDriver.init):
(XvfbDriver._start):

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

(XvfbDriverTest.make_driver):

11:51 AM Changeset in webkit [130191] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

WebDocument doesn't export document language to outside users.
https://bugs.webkit.org/show_bug.cgi?id=98066

Patch by Brian White <bcwhite@chromium.org> on 2012-10-02
Reviewed by Adam Barth.

Chromium uses the document language to offer translation. It's been doing
its own detection of this property but it would be better to get it from
existing extraction code.

  • public/WebDocument.h:

(WebDocument):

  • src/WebDocument.cpp:

(WebKit::WebDocument::contentLanguage):
(WebKit):

11:41 AM Changeset in webkit [130190] by msaboff@apple.com
  • 8 edits in trunk/Source

HTMLConstructionSite::insertTextNode isn't optimized for 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=97740

Reviewed by Darin Adler.

Source/WebCore:

Changed parserAppendData to take a string instead of a UChar*. Also added an optional offset
argument to handle string+offset. The actual string append now uses the appropriate string
size.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData):

  • dom/CharacterData.h:

(CharacterData):

  • dom/Text.cpp:

(WebCore::Text::createWithLengthLimit):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertTextNode):

Source/WTF:

Added an append method that takes an LChar source. Made both the UChar and LChar versions optimally handle
the appendee and appendend string bitness.

  • wtf/text/WTFString.cpp:

(WTF::String::append):

  • wtf/text/WTFString.h:

(String):

11:09 AM Changeset in webkit [130189] by ojan@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r130103 and r130125.
http://trac.webkit.org/changeset/130103
http://trac.webkit.org/changeset/130125
https://bugs.webkit.org/show_bug.cgi?id=97974

Causes performance regressions on Dromaeo dom modify tests.

  • bindings/v8/IntrusiveDOMWrapperMap.h:

(WebCore):
(ChunkedTable):
(WebCore::ChunkedTable::ChunkedTable):
(WebCore::ChunkedTable::add):
(WebCore::ChunkedTable::remove):
(WebCore::ChunkedTable::clear):
(WebCore::ChunkedTable::visit):
(WebCore::ChunkedTable::reportMemoryUsage):
(WebCore::ChunkedTable::Chunk::Chunk):
(Chunk):
(WebCore::ChunkedTable::clearEntries):
(WebCore::ChunkedTable::visitEntries):
(WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
(WebCore::IntrusiveDOMWrapperMap::get):
(WebCore::IntrusiveDOMWrapperMap::set):
(WebCore::IntrusiveDOMWrapperMap::contains):
(WebCore::IntrusiveDOMWrapperMap::visit):
(WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
(IntrusiveDOMWrapperMap):
(WebCore::IntrusiveDOMWrapperMap::clear):
(ChunkedTableTraits):
(WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
(WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
(WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):

  • bindings/v8/ScriptWrappable.h:

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

  • bindings/v8/V8DOMWrapper.h:

(WebCore::V8DOMWrapper::getCachedWrapper):

11:03 AM Changeset in webkit [130188] by commit-queue@webkit.org
  • 5 edits in trunk/LayoutTests

[Qt] Missing expected results for rounded dotted borders tests
https://bugs.webkit.org/show_bug.cgi?id=98170

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-10-02
Reviewed by Csaba Osztrogonác.

  • platform/qt/css2.1/t170602-bdr-conflct-w-45-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-46-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-47-d-expected.png:
  • platform/qt/css2.1/t170602-bdr-conflct-w-48-d-expected.png:
10:55 AM Changeset in webkit [130187] by loislo@chromium.org
  • 15 edits
    1 add in trunk/Source

Web Inspector: NMI: switch to non intrusive instrumentation of ParsedURL.
https://bugs.webkit.org/show_bug.cgi?id=98150

Reviewed by Yury Semikhatsky.

Source/WebCore:

Style changes.

  • platform/KURLWTFURLImpl.h:

(WebCore::KURLWTFURLImpl::reportMemoryUsage):

Source/WTF:

Memory instrumentation for ParsedURL was extracted into separate header MemoryInstrumentationParsedURL.h

Drive by fix: unnecessary include was removed from String*.cpp files.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/MemoryInstrumentation.h:

(WTF):

  • wtf/MemoryInstrumentationParsedURL.h: Added.

(WTF):
(WTF::reportMemoryUsage):

  • wtf/text/AtomicString.cpp:
  • wtf/text/StringImpl.cpp:
  • wtf/text/WTFString.cpp:
  • wtf/url/api/ParsedURL.cpp:
  • wtf/url/api/ParsedURL.h:
  • wtf/url/api/URLString.cpp:
  • wtf/url/api/URLString.h:
10:53 AM Changeset in webkit [130186] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[EFL] Use XvfbDriver for layout tests
https://bugs.webkit.org/show_bug.cgi?id=98162

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-02
Reviewed by Kenneth Rohde Christiansen.

Use XvfbDriver for layout tests on EFL port.

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

(EflPort._driver_class):

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

(XvfbDriver._start): Set DUMPRENDERTREE_TEMP and LOCAL_RESOURCE_ROOT
environment variables in XvfbDriver as those are needed for
TestRunner::pathToLocalResource().

10:51 AM Changeset in webkit [130185] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Add new GraphicsLayer::create overload to all ports
https://bugs.webkit.org/show_bug.cgi?id=98082

Reviewed by Andreas Kling.

Add the GraphicsLayer::create variant that takes a factory to all ports.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore):
(WebCore::GraphicsLayer::setGraphicsLayerFactory):

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):
Rename the GraphicsLayerFactory function typedef to GraphicsLayerFactoryCallback to avoid collisions.

  • platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:

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

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

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

  • platform/graphics/clutter/GraphicsLayerClutter.cpp:

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

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

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

10:15 AM DOMInJavaScript edited by abarth@webkit.org
(diff)
10:15 AM DeprecatingFeatures edited by mjs@apple.com
(diff)
10:09 AM Changeset in webkit [130184] by roger_fong@apple.com
  • 3 edits in trunk/LayoutTests

Remove erroneously added svn:executable property from some test files.

  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.png: Removed property svn:executable.
  • platform/win/fast/text/international/float-as-only-child-of-isolate-crash-expected.txt: Removed property svn:executable.
10:00 AM Changeset in webkit [130183] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Gtk] Several tests launch g_object_ref/unref assertion messages
https://bugs.webkit.org/show_bug.cgi?id=95062

Reviewed by Martin Robinson.

Only increase and decrease reference count of the accessibility
UI element if it actually exists.

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::~AccessibilityUIElement):

9:57 AM Changeset in webkit [130182] by rakuco@webkit.org
  • 6 edits in trunk/LayoutTests

Remove comments from the Apache config files to start avoiding useless duplication.
https://bugs.webkit.org/show_bug.cgi?id=98152

Reviewed by Laszlo Gombos.

This is the first step towards getting rid of the multiple, almost
identical Apache httpd.conf files we have in the tree.

Before anything else, remove the default comments from them to
reduce the diff in later commits.

  • http/conf/apache2-debian-httpd.conf:
  • http/conf/apache2-httpd.conf:
  • http/conf/apache2-msys-httpd.conf:
  • http/conf/cygwin-httpd.conf:
  • http/conf/fedora-httpd.conf:
9:52 AM Changeset in webkit [130181] by rniwa@webkit.org
  • 2 edits in trunk/PerformanceTests

Build fix after r130135. Dromaeo tests only report single memory value,
and computeStatistics should report variance as 0 in such cases.

  • resources/runner.js:
9:49 AM Changeset in webkit [130180] by commit-queue@webkit.org
  • 2 edits in trunk/Source/Platform

[chromium] Add field to WebRenderingStats to track if we have impl-thread scrolled
https://bugs.webkit.org/show_bug.cgi?id=97919

Patch by Terry Anderson <tdanderson@chromium.org> on 2012-10-02
Reviewed by James Robinson.

Add two new members |numImplThreadScrolls| and |numMainThreadScrolls| to track
the total number of times we have impl-thread scrolled and main-thread scrolled,
respectively.

  • chromium/public/WebRenderingStats.h:

(WebRenderingStats):
(WebKit::WebRenderingStats::WebRenderingStats):
(WebKit::WebRenderingStats::enumerateFields):

9:49 AM Changeset in webkit [130179] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[chromium] running layout tests on mountainlion should use chromium TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=98119

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-10-02
Reviewed by Adam Barth.

Some basic support for mountainlion has already been committed but it failed to refer
to the chromium TestExpectations.

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

(ChromiumPort):

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

(ChromiumPortTestCase.test_all_test_configurations):

9:45 AM Changeset in webkit [130178] by vangelis@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Remove call to FinishAllRendering when in force-compositing-mode.
https://bugs.webkit.org/show_bug.cgi?id=98111

It's not needed and makes the renderer synchronously wait for a glFinish
to happen in the gpu process.

Reviewed by James Robinson.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit):

9:28 AM Changeset in webkit [130177] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

[Shadow] ShadowRoot should know whether <shadow> in its treescope
https://bugs.webkit.org/show_bug.cgi?id=97184

Patch by Takashi Sakamoto <tasak@google.com> on 2012-10-02
Reviewed by Dimitri Glazkov.

Source/WebCore:

To quickly know whether some shadow dom subtree has any shadow element
or not, added hasShadowRootInsertionPoint, registerShadowElement and
unregisterShadowElement to class ShadowRoot. The register method or
unregister method is used when a shadow element is inserted into
document or removed from document. hasShadowInsertionPoint returns true
if any shadow element is still registered with the given shadow root.
Otherwise returns false. To test hasShadowInsertionPoint, added
hasShadowInsertionPoint to Internals.

Test: fast/dom/shadow/has-shadow-insertion-point.html

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
Initializes number of shadow elements.

  • dom/ShadowRoot.h:

(WebCore::ShadowRoot::registerShadowElement):
Increases number of shadow elements in shadow dom subtree by 1.
(WebCore::ShadowRoot::unregisterShadowElement):
Decreases number of shadow elements in shadow dom subtree by 1.
(WebCore::ShadowRoot::hasShadowInsertionPoint):
If number of shadow elements in shadow dom subtree is not equal to 0,
returns true. Otherwise, returns false.

  • html/shadow/HTMLShadowElement.cpp:

(WebCore::HTMLShadowElement::HTMLShadowElement):
(WebCore::HTMLShadowElement::insertedInto):
If a shadow element is inserted into document, register the shadow
element with its shadow root.
(WebCore::HTMLShadowElement::removedFrom):

If a shadow element is removed from document, unregister the shadow

element with its shadow root.

  • html/shadow/HTMLShadowElement.h:

Added a new member variable which has information about whether
this shadow element has been already registered with its shadow root
or not.

  • testing/Internals.cpp:

(WebCore::Internals::hasShadowInsertionPoint):
Added a new testing method which returns whether the given shadow
root has any shadow element or not.

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

LayoutTests:

  • fast/dom/shadow/has-shadow-insertion-point-expected.txt: Added.
  • fast/dom/shadow/has-shadow-insertion-point.html: Added.
9:22 AM Changeset in webkit [130176] by rakuco@webkit.org
  • 2 edits in trunk/Tools

webkitpy: Stop listening on port 8081 when using Apache.
https://bugs.webkit.org/show_bug.cgi?id=98155

Reviewed by Eric Seidel.

No test currently uses this port, and the lighttpd configuration
does not open it.

This helps the efforts of bringing some consistency to the Apache
configuration at the moment by opening the same ports in the
webkitpy side and in the httpd.conf side (the idea is to remove
the httpd.conf side later), and also makes the behavior consistent
across the two servers we currently support.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):

9:05 AM WebKitEFLLayoutTest edited by Christophe Dumez
(diff)
8:59 AM Changeset in webkit [130175] by commit-queue@webkit.org
  • 9 edits
    2 copies in trunk/Source/WebKit

Source/WebKit: [EFL] Add file EWKTestEnvironment.cpp to build system.
https://bugs.webkit.org/show_bug.cgi?id=94925

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-10-02
Reviewed by Gyuyoung Kim.

Change is related to modifications in wk1 unit tests.

  • PlatformEfl.cmake:

Source/WebKit/efl: [EFL][UT] Refactoring an implementation of testing framework for wk1.
https://bugs.webkit.org/show_bug.cgi?id=94925

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-10-02
Reviewed by Gyuyoung Kim.

The reason of changing, was to adjust current implementation to use gtest features
related to cleaning (SetUp, TearDown), cleaning code in terms of useless methods
and lastly to make framework easier to use.

  • tests/UnitTestUtils/EWKTestBase.cpp:

(EWKUnitTests::EWKTestBase::EWKTestBase):
(EWKUnitTests::EWKTestBase::webView): Returns current webview.
(EWKUnitTests::EWKTestBase::SetUp):
Before test is started, SetUp is called.
Used this to initialize test view.
(EWKUnitTests::EWKTestBase::onLoadFinished):
(EWKUnitTests::EWKTestBase::waitUntilLoadFinished): It waits till test page will be properly loaded.
(EWKUnitTests::EWKTestBase::loadUrl): Starts loading test page.

  • tests/UnitTestUtils/EWKTestBase.h:
  • tests/UnitTestUtils/EWKTestEnvironment.cpp:

Used to have global SetUp and TearDown.
Global SetUp starts initialization of webkit wherease
global TearDown shuts it down. Generally we would like to have
only one initialization of webkit while tests are executed.
(EWKUnitTests):
(EWKUnitTests::EWKTestEnvironment::EWKTestEnvironment):
(EWKUnitTests::EWKTestEnvironment::SetUp): Starts initialization of webkit.
(EWKUnitTests::EWKTestEnvironment::TearDown): Shuts down of webkit.

  • tests/UnitTestUtils/EWKTestEnvironment.h:

(EWKUnitTests):
(EWKTestEnvironment):
(EWKUnitTests::EWKTestEnvironment::useX11Window):

  • tests/UnitTestUtils/EWKTestView.cpp:

(EWKUnitTests::EWKTestView::EWKTestView):
(EWKUnitTests::EWKTestView::init): Starts initialization of test view.

  • tests/UnitTestUtils/EWKTestView.h:

(EWKTestView):

  • tests/test_ewk_view.cpp: adjusted current unit tests to new implementation.

(TEST_F):

  • tests/test_runner.cpp: entry point of all tests.

(parseCustomArguments):
(main):

8:45 AM Changeset in webkit [130174] by vsevik@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed, rolling out r130167 and r130171.
http://trac.webkit.org/changeset/130167
http://trac.webkit.org/changeset/130171
https://bugs.webkit.org/show_bug.cgi?id=98165

Breaks test (Requested by vsevik on #webkit).

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

  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest):

  • platform/qt/TestExpectations:
8:43 AM Changeset in webkit [130173] by michael.bruning@digia.com
  • 2 edits in trunk/LayoutTests

[Qt][WK2] inspector/extensions/extensions-network.html times out
https://bugs.webkit.org/show_bug.cgi?id=98136

Unreviewed gardening.

WebInspectorProxy::platformCreateInspectorPage() is not implemented for
the Qt 5.0 WK2 port.

  • platform/qt-5.0-wk2/TestExpectations:
8:22 AM Changeset in webkit [130172] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Regression] DevToolsExtensionTest.TestContentScriptIsPresent fails
https://bugs.webkit.org/show_bug.cgi?id=98161

Reviewed by Pavel Feldman.

Content scripts should be also added by NetworkUISourceCodeProvider. This patch fixes that.

  • inspector/front-end/NetworkUISourceCodeProvider.js:

(WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):

8:04 AM Changeset in webkit [130171] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip one more failing test.

  • platform/qt/TestExpectations:
7:53 AM Changeset in webkit [130170] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new crashing tests to paint the bots green.

  • platform/qt/TestExpectations:
7:51 AM Changeset in webkit [130169] by Hugo Parente Lima
  • 2 edits in trunk/Source/WebKit2

[WK2] PageViewportControllerClient.h uses WebCore class without declaring them
https://bugs.webkit.org/show_bug.cgi?id=98070

Reviewed by Kenneth Rohde Christiansen.

This patch just add forward declarations for code correctness.

  • UIProcess/PageViewportControllerClient.h:

(WebCore):

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

Fix tst_QQuickWebView::scrollRequest after r130029
https://bugs.webkit.org/show_bug.cgi?id=98045

Reviewed by Simon Hausmann.

The test needs to show the window and wait for the loadVisuallyCommitted()
signal like did in the QML API auto tests.

  • UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:

(tst_QQuickWebView::scrollRequest):

  • UIProcess/API/qt/tests/util.cpp:

(waitForViewportReady):

  • UIProcess/API/qt/tests/util.h:
7:23 AM Changeset in webkit [130167] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed inspector test fix.

  • http/tests/inspector/debugger-test.js:

(initialize_DebuggerTest):

7:05 AM Changeset in webkit [130166] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Use correct gtest macro for testing true/false
https://bugs.webkit.org/show_bug.cgi?id=98142

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-10-02
Reviewed by Laszlo Gombos.

Using EXPECT_EQ(true/false, ...) makes clang trip when it tries to convert
true/false to a pointer. Tests should use EXPECT_TRUE/FALSE instead.

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(showPopupMenu):
(TEST_F):

6:36 AM Changeset in webkit [130165] by Patrick Gansterer
  • 4 edits in trunk/Source/WebCore

[WINCE] Remove FontPlatformData::averageCharWidth()
https://bugs.webkit.org/show_bug.cgi?id=97883

Reviewed by Andreas Kling.

Use SimpleFontData::avgCharWidth() instead to remove duplicated code.

  • platform/graphics/wince/FontPlatformData.cpp:

(WebCore::FixedSizeFontData::create):

  • platform/graphics/wince/FontPlatformData.h:

(FontPlatformData):

  • platform/graphics/wince/GraphicsContextWinCE.cpp:

(WebCore::GraphicsContext::drawText):

6:32 AM Changeset in webkit [130164] by caseq@chromium.org
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed. Removed erroneously added custom expectation.

  • platform/chromium-win/inspector/console/command-line-api-expected.txt: Removed.
6:30 AM Changeset in webkit [130163] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[WK2] REGRESSION(r128623): It made layout tests extremely slow
https://bugs.webkit.org/show_bug.cgi?id=96862

Reviewed by Simon Hausmann.

Disable calling the extremely slow WKBundleSetDatabaseQuota() between tests until proper fix.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

6:21 AM Changeset in webkit [130162] by pfeldman@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed: Rebaselined failing inspector test.

  • inspector/console/command-line-api-expected.txt:
6:14 AM Changeset in webkit [130161] by caseq@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed test rebaseline.

  • platform/chromium-win/inspector/console/command-line-api-expected.txt: Added.
6:03 AM Changeset in webkit [130160] 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.

Re-commit for a rolled-out original, now with Chromium Windows build fix.

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):

5:52 AM Changeset in webkit [130159] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[GTK] Value not returned warning with geolocation disabled
https://bugs.webkit.org/show_bug.cgi?id=98148

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2012-10-02
Reviewed by Xan Lopez.

With geolocation disabled in the build, return a sensible value from
DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests.
This also avoids a compiler warning.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):

5:46 AM Changeset in webkit [130158] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[XMLHttpRequest] overrideMimeType(mime) does not update the response's "Content-Type" header
https://bugs.webkit.org/show_bug.cgi?id=98137

Patch by Christophe Dumez <Christophe Dumez> on 2012-10-02
Reviewed by Kentaro Hara.

Source/WebCore:

According to the XMLHttpRequest specification, overrideMimeType(mime) sets the
"Content-Type" header for the response to mime. However, with the current
implementation, calling overrideMimeType(mime) does not affect the value
returned by client.getResponseHeader("Content-Type"). This patch makes sure
the response's "Content-Type" header is properly updated with the override
MIME type.

Test: http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-content-type-header.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::didReceiveResponse):

LayoutTests:

Add layout test to check that calling overrideMimeType(mime) properly
sets the response's "Content-Type" header to mime.

  • http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-content-type-header-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-content-type-header.html: Added.
5:41 AM Changeset in webkit [130157] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.
Remove entry for bidi-layout-across-linebreak.html, reinstated meter-optimiums.html as flaky on Mac.

  • platform/chromium/TestExpectations:
5:34 AM Changeset in webkit [130156] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed inspector test fix on JSC.
https://bugs.webkit.org/show_bug.cgi?id=98145

  • inspector/debugger/script-snippet-model.html:
5:13 AM Changeset in webkit [130155] by vsevik@chromium.org
  • 19 edits in trunk

Web Inspector: Move UISourceCode creation out from ResourceScriptMapping.
https://bugs.webkit.org/show_bug.cgi?id=97680

Reviewed by Pavel Feldman.

Source/WebCore:

UISourceCodes for scripts having sourceURL are now created by NetworkUISourceCodeProvider.
UISourceCodes for anonymous, dynamic and concatenated scripts are now created on demand only.
All UISourceCodes created by ResourceScriptMapping are now "temporary".
Temporary UISourceCodes are not stored in workspace and removed when a normal UISourceCode with the same url is available.
UISourceCodeReplaced event was replaced with TemporaryUISourceCodeAdded/Removed events.

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved):
(WebInspector.BreakpointManager.Breakpoint.prototype.remove):

  • inspector/front-end/NavigatorView.js:
  • inspector/front-end/NetworkUISourceCodeProvider.js:

(WebInspector.NetworkUISourceCodeProvider):
(WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptMapping):
(WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
(WebInspector.ResourceScriptMapping.prototype.uiLocationToRawLocation):
(WebInspector.ResourceScriptMapping.prototype.addScript):
(WebInspector.ResourceScriptMapping.prototype._deleteTemporaryUISourceCodeForScripts):
(WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
(WebInspector.ResourceScriptMapping.prototype._isDynamicScript):
(WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode):
(WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
(WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
(WebInspector.ResourceScriptMapping.prototype._reset):

  • inspector/front-end/RevisionHistoryView.js:

(WebInspector.RevisionHistoryView):

  • inspector/front-end/ScriptsNavigator.js:
  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel):

  • inspector/front-end/TabbedEditorContainer.js:

(WebInspector.TabbedEditorContainer.prototype.removeUISourceCode.get if):
(WebInspector.TabbedEditorContainer.prototype.removeUISourceCode):

  • inspector/front-end/UISourceCode.js:
  • inspector/front-end/Workspace.js:

(WebInspector.Project.prototype.addTemporaryUISourceCode):
(WebInspector.Project.prototype.removeTemporaryUISourceCode):

LayoutTests:

  • http/tests/inspector/workspace-test.js:

(initialize_WorkspaceTest.InspectorTest.createWorkspace):
(initialize_WorkspaceTest.InspectorTest.waitForWorkspaceTemporaryUISourceCodeAddedEvent.temporaryUISourceCodeAdded):
(initialize_WorkspaceTest.InspectorTest.waitForWorkspaceTemporaryUISourceCodeAddedEvent):
(initialize_WorkspaceTest.InspectorTest.waitForWorkspaceTemporaryUISourceCodeRemovedEvent.temporaryUISourceCodeRemoved):
(initialize_WorkspaceTest.InspectorTest.waitForWorkspaceTemporaryUISourceCodeRemovedEvent):

  • inspector/debugger/breakpoint-manager-expected.txt:
  • inspector/debugger/breakpoint-manager.html:
  • inspector/debugger/dynamic-script-tag-expected.txt:
  • inspector/debugger/resource-script-mapping.html:
  • inspector/debugger/scripts-panel-expected.txt:
  • inspector/debugger/scripts-panel.html:
5:09 AM Changeset in webkit [130154] by pfeldman@chromium.org
  • 10 edits in trunk/Source/WebCore

Web Inspector: fix front-end compilation
https://bugs.webkit.org/show_bug.cgi?id=98135

Reviewed by Vsevolod Vlasov.

Fixing front-end compilation errors.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

  • inspector/InjectedScriptSource.js:

(.):

  • inspector/front-end/DOMExtension.js:

(Element.prototype.pruneEmptyTextNodes):

  • inspector/front-end/DatabaseQueryView.js:
  • inspector/front-end/ExtensionAPI.js:
  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

  • inspector/front-end/RuntimeModel.js:
  • inspector/front-end/StylesSidebarPane.js:
  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):

  • inspector/front-end/treeoutline.js:

(TreeElement.prototype.expandRecursively):

4:44 AM Changeset in webkit [130153] by zandobersek@gmail.com
  • 20 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaselining MathML tests as required after r129695 and r130097.
Adding a missing baseline expectation for accessibility/svg-bounds.html.
The baseline will be added soon-ish.

  • platform/gtk/TestExpectations:
  • platform/gtk/mathml/presentation/attributes-expected.png:
  • platform/gtk/mathml/presentation/attributes-expected.txt:
  • platform/gtk/mathml/presentation/fractions-expected.png:
  • platform/gtk/mathml/presentation/fractions-expected.txt:
  • platform/gtk/mathml/presentation/fractions-vertical-alignment-expected.png:
  • platform/gtk/mathml/presentation/fractions-vertical-alignment-expected.txt:
  • platform/gtk/mathml/presentation/mo-stretch-expected.png:
  • platform/gtk/mathml/presentation/mo-stretch-expected.txt:
  • platform/gtk/mathml/presentation/over-expected.png:
  • platform/gtk/mathml/presentation/over-expected.txt:
  • platform/gtk/mathml/presentation/roots-expected.png:
  • platform/gtk/mathml/presentation/roots-expected.txt:
  • platform/gtk/mathml/presentation/row-alignment-expected.png:
  • platform/gtk/mathml/presentation/row-alignment-expected.txt:
  • platform/gtk/mathml/presentation/subsup-expected.png:
  • platform/gtk/mathml/presentation/subsup-expected.txt:
  • platform/gtk/mathml/presentation/tables-expected.png:
  • platform/gtk/mathml/presentation/tables-expected.txt:
4:41 AM Changeset in webkit [130152] 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):

4:33 AM Changeset in webkit [130151] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Fix JavaScriptSource error found by compiler
https://bugs.webkit.org/show_bug.cgi?id=98143

Reviewed by Pavel Feldman.

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

4:29 AM Changeset in webkit [130150] by mkwst@chromium.org
  • 9 edits
    14 adds
    4 deletes in trunk

Add call stacks to Content Security Policy checks when relevant.
https://bugs.webkit.org/show_bug.cgi?id=94433

Reviewed by Adam Barth.

Source/WebCore:

Previously, we generated stack traces only for eval-related CSP
violations. As it turns out, we can call createScriptCallStack from
practically anywhere. This patch takes advantage of that to generate
stack traces whenever a warning is logged to the console. If we're in
a JavaScript stack, brilliant: we get a detailed warning. If not, the
stack trace is empty, and we don't pass it into the console logging
method.

This has the advantage of giving us good developer-facing logging for
any and all violations that result from script-based injection of
resources. Yay!

Tests: http/tests/inspector/csp-injected-content-warning-contains-stacktrace.html

http/tests/inspector/csp-inline-warning-contains-stacktrace.html
http/tests/inspector/csp-setInterval-warning-contains-stacktrace.html
http/tests/inspector/csp-setTimeout-warning-contains-stacktrace.html

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create):

Replacing the generated stack trace with the current script state,
which will enable us to generate the stack trace inside
ContentSecurityPolicy::reportViolation if it's relevant.

  • bindings/v8/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStackForConsole):
(WebCore):

  • bindings/v8/ScriptCallStackFactory.h:

(WebCore):

Adding a dummy interface to createScriptCallStackForConsole that
allows ScriptState to be passed in, which matches JSC's interface.

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::WindowSetTimeoutImpl):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::SetTimeoutOrInterval):

Dropping stack trace from call to ContentSecurityPolicy::allowEval.

  • page/ContentSecurityPolicy.cpp:

(CSPDirectiveList):
(WebCore::CSPDirectiveList::reportViolation):
(WebCore::CSPDirectiveList::checkEvalAndReportViolation):
(WebCore::CSPDirectiveList::allowEval):

Piping script state through from CSPDirectiveList::allowEval rather
than a full stack trace.

(WebCore):
(WebCore::isAllowedByAll):
(WebCore::isAllowedByAllWithState):
(WebCore::ContentSecurityPolicy::allowEval):
(WebCore::ContentSecurityPolicy::reportViolation):
(WebCore::ContentSecurityPolicy::logToConsole):

Piping script state through from ContentSecurityPolicy::allowEval
rather than a full stack trace. Now, we can simply generate the
stack trace just before logging it, and only pass it into
addConsoleMessage if it's non-empty.

  • page/ContentSecurityPolicy.h:

(JSC):
(WebCore):

Including 'ScriptState.h' to normalize V8 and JSC's JS state objects.

LayoutTests:

  • http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval-expected.txt: Removed.
  • http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval.html: Removed.
  • http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout-expected.txt: Removed.
  • http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout.html: Removed.

Moved these tests to http/test/inspector, and rewrote them for consistency.

  • http/tests/inspector/csp-injected-content-warning-contains-stacktrace-expected.txt: Added.
  • http/tests/inspector/csp-injected-content-warning-contains-stacktrace.html: Added.
  • http/tests/inspector/csp-inline-warning-contains-stacktrace-expected.txt: Added.
  • http/tests/inspector/csp-inline-warning-contains-stacktrace.html: Added.
  • http/tests/inspector/csp-setInterval-contains-stacktrace-expected.txt: Added.
  • http/tests/inspector/csp-setInterval-warning-contains-stacktrace.html: Added.
  • http/tests/inspector/csp-setTimeout-warning-contains-stacktrace-expected.txt: Added.
  • http/tests/inspector/csp-setTimeout-warning-contains-stacktrace.html: Added.
  • http/tests/inspector/resources/csp-inline-test.js: Added.

(thisTest):

  • http/tests/inspector/resources/csp-test.js: Added.

(test.addMessage):
(test):

Two new tests for the functionality.

  • platform/chromium/http/tests/inspector/csp-injected-content-warning-contains-stacktrace-expected.txt: Added.
  • platform/chromium/http/tests/inspector/csp-inline-warning-contains-stacktrace-expected.txt: Added.
  • platform/chromium/http/tests/inspector/csp-setInterval-contains-stacktrace-expected.txt: Added.
  • platform/chromium/http/tests/inspector/csp-setTimeout-warning-contains-stacktrace-expected.txt: Added.

The stacktrace looks slightly different under JSC than V8.

4:02 AM Changeset in webkit [130149] by pfeldman@chromium.org
  • 151 edits in trunk/Source/WebCore

Web Inspector: migrate from WebInspector.Foo.prototype.proto = to proto: syntax
https://bugs.webkit.org/show_bug.cgi?id=98127

Reviewed by Vsevolod Vlasov.

Converted with the regex matcher.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

  • inspector/compile-front-end.py:
  • inspector/front-end/AdvancedSearchController.js:

(WebInspector.SearchView.prototype._onAction):
(WebInspector.FileBasedSearchResultsPane.prototype._createContentSpan):

  • inspector/front-end/ApplicationCacheItemsView.js:
  • inspector/front-end/ApplicationCacheModel.js:

(WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):

  • inspector/front-end/AuditCategories.js:

(WebInspector.AuditCategories.PagePerformance.prototype.initialize):
(WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):

  • inspector/front-end/AuditLauncherView.js:

(WebInspector.AuditLauncherView.prototype._updateButton):

  • inspector/front-end/AuditResultView.js:

(WebInspector.AuditCategoryResultPane.prototype._appendResult):

  • inspector/front-end/AuditRules.js:

(WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
(WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
(WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
(WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
(WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
(WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
(WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
(WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
(WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
(WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
(WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
(WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
(WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
(WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
(WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
(WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):

  • inspector/front-end/AuditsPanel.js:

(WebInspector.AuditsPanel.prototype._clearButtonClicked):
(WebInspector.AuditsSidebarTreeElement.prototype.refresh):
(WebInspector.AuditResultSidebarTreeElement.prototype.get selectable):

  • inspector/front-end/BottomUpProfileDataGridTree.js:

(WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager.prototype._uiLocationRemoved):

  • inspector/front-end/BreakpointsSidebarPane.js:

(WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
(WebInspector.XHRBreakpointsSidebarPane.prototype.set _restoreBreakpoints):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype.set _restoreBreakpoints):

  • inspector/front-end/CPUProfileView.js:

(WebInspector.CPUProfileView.prototype._assignParentsInProfile):
(WebInspector.CPUProfileType.prototype.createProfile):
(WebInspector.CPUProfileHeader.prototype.createView):

  • inspector/front-end/CSSNamedFlowCollectionsView.js:

(WebInspector.CSSNamedFlowCollectionsView.prototype.willHide):
(WebInspector.FlowTreeElement.prototype.setOverset):

  • inspector/front-end/CSSNamedFlowView.js:

(WebInspector.CSSNamedFlowView.prototype._update):

  • inspector/front-end/CSSSelectorProfileView.js:

(WebInspector.CSSSelectorDataGridNode.prototype.createCell):
(WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
(WebInspector.CSSProfileHeader.prototype.createView):

  • inspector/front-end/CSSStyleModel.js:

(WebInspector.CSSStyleModel.prototype._rawLocationToUILocation):

  • inspector/front-end/CallStackSidebarPane.js:

(WebInspector.CallStackSidebarPane.prototype._keyDown):
(WebInspector.CallStackSidebarPane.Placard.prototype._restartFrame):

  • inspector/front-end/CanvasProfileView.js:

(WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
(WebInspector.CanvasProfileType.prototype.createProfile):
(WebInspector.CanvasProfileHeader.prototype.createView):

  • inspector/front-end/CodeMirrorTextEditor.js:

(WebInspector.CodeMirrorTextEditor.prototype._toRange):

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype.clone):

  • inspector/front-end/ConsoleModel.js:

(WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):

  • inspector/front-end/ConsolePanel.js:

(WebInspector.ConsolePanel.prototype._consoleCleared):

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.prototype._dumpMemory):
(WebInspector.ConsoleCommandResult.prototype.toMessageElement):

  • inspector/front-end/ContentProviders.js:

(WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
(WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
(WebInspector.StaticContentProvider.prototype.searchInContent):

  • inspector/front-end/ContextMenu.js:

(WebInspector.ContextSubMenuItem.prototype._buildDescriptor):
(WebInspector.ContextMenu.prototype.appendApplicableItems):

  • inspector/front-end/CookieItemsView.js:

(WebInspector.CookieItemsView.prototype._contextMenu):
(WebInspector.SimpleCookiesTable.prototype.setCookies):

  • inspector/front-end/CookiesTable.js:

(WebInspector.CookiesTable.prototype._onDeleteFromGrid):

  • inspector/front-end/DOMAgent.js:

(WebInspector.DOMAgent.prototype.redo):

  • inspector/front-end/DOMBreakpointsSidebarPane.js:

(WebInspector.DOMBreakpointsSidebarPane.prototype.set restoreBreakpoints):

  • inspector/front-end/DOMStorage.js:

(WebInspector.DOMStorageModel.prototype.storages):

  • inspector/front-end/DOMStorageItemsView.js:

(WebInspector.DOMStorageItemsView.prototype._deleteCallback):

  • inspector/front-end/DataGrid.js:

(WebInspector.DataGridNode.prototype.restorePosition):
(WebInspector.CreationDataGridNode.prototype.makeNormal):

  • inspector/front-end/Database.js:

(WebInspector.DatabaseModel.prototype._addDatabase):

  • inspector/front-end/DatabaseQueryView.js:

(WebInspector.DatabaseQueryView.prototype._appendQueryResult):

  • inspector/front-end/DatabaseTableView.js:

(WebInspector.DatabaseTableView.prototype._refreshButtonClicked):

  • inspector/front-end/DebuggerModel.js:

(WebInspector.DebuggerModel.prototype.callStackModified):

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.DefaultTextEditor.prototype.willHide):
(WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
(WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):

  • inspector/front-end/Dialog.js:

(WebInspector.DialogDelegate.prototype.willHide):

  • inspector/front-end/DirectoryContentView.js:

(WebInspector.DirectoryContentView.prototype._sort):
(WebInspector.DirectoryContentView.Node.prototype._metadataReceived):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.appendApplicableItems):

  • inspector/front-end/ElementsPanelDescriptor.js:

(WebInspector.ElementsPanelDescriptor.prototype.appendApplicableItems):

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeOutline.prototype._selectNodeAfterEdit):
(WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorateAncestor):

  • inspector/front-end/EmptyView.js:
  • inspector/front-end/EventListenersSidebarPane.js:

(WebInspector.EventListenersSidebarPane.prototype):

  • inspector/front-end/ExtensionAPI.js:

(injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
(injectedExtensionAPI.ExtensionPanelImpl.prototype.show):

  • inspector/front-end/ExtensionPanel.js:

(WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
(WebInspector.ExtensionSidebarPane.prototype._setObject):

  • inspector/front-end/ExtensionView.js:

(WebInspector.ExtensionView.prototype._onLoad):
(WebInspector.ExtensionNotifierView.prototype.willHide):

  • inspector/front-end/FileContentView.js:

(WebInspector.FileContentView.prototype.refresh):

  • inspector/front-end/FileManager.js:

(WebInspector.FileManager.prototype.appendedToURL):

  • inspector/front-end/FileSystemModel.js:

(WebInspector.FileSystemModel.prototype._removeFileSystem):
(WebInspector.FileSystemModel.Directory.prototype.requestDirectoryContent):
(WebInspector.FileSystemModel.File.prototype.requestFileContent):

  • inspector/front-end/FileSystemView.js:

(WebInspector.FileSystemView.prototype._delete):
(WebInspector.FileSystemView.EntryTreeElement.prototype._deletionCompleted):

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.FilteredItemSelectionDialog.prototype._itemElementInViewport):
(WebInspector.JavaScriptOutlineDialog.prototype.rewriteQuery):
(WebInspector.OpenResourceDialog.prototype.rewriteQuery):

  • inspector/front-end/FontView.js:

(WebInspector.FontView.prototype.updateFontPreviewSize):

  • inspector/front-end/GoToLineDialog.js:

(WebInspector.GoToLineDialog.prototype.onEnter):

  • inspector/front-end/HandlerRegistry.js:

(WebInspector.HandlerRegistry.prototype._appendHrefItems):

  • inspector/front-end/HeapSnapshot.js:

(WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
(WebInspector.HeapSnapshotNodesProvider.prototype.sort):

  • inspector/front-end/HeapSnapshotDataGrids.js:

(WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
(WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
(WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
(WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
(WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId):

  • inspector/front-end/HeapSnapshotGridNodes.js:

(WebInspector.HeapSnapshotGridNode.prototype.sort):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
(WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
(WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
(WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
(WebInspector.HeapSnapshotDiffNode.prototype.get data):
(WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):

  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotWorkerWrapper.prototype.terminate):
(WebInspector.HeapSnapshotRealWorker.prototype.terminate):
(WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
(WebInspector.HeapSnapshotWorker.prototype._postMessage):
(WebInspector.HeapSnapshotLoaderProxy.prototype.close):
(WebInspector.HeapSnapshotProxy.prototype.get uid):
(WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
(WebInspector.HeapSnapshotProfileType.prototype.createProfile):
(WebInspector.HeapProfileHeader.prototype._createFileReader):

  • inspector/front-end/HelpScreen.js:

(WebInspector.HelpScreen.prototype._onBlur):

  • inspector/front-end/ImageView.js:

(WebInspector.ImageView.prototype._openInNewTab):

  • inspector/front-end/IndexedDBModel.js:

(WebInspector.IndexedDBModel.prototype._requestData):

  • inspector/front-end/IndexedDBViews.js:

(WebInspector.IDBDataView.prototype.clear):
(WebInspector.IDBDataGridNode.prototype._formatValue):

  • inspector/front-end/InspectorFrontendHostStub.js:

(.WebInspector.ClipboardAccessDeniedScreen):

  • inspector/front-end/InspectorView.js:

(WebInspector.InspectorView.prototype.showPanelForAnchorNavigation):

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame.prototype._continueToLine):

  • inspector/front-end/Linkifier.js:

(WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):

  • inspector/front-end/MemoryStatistics.js:

(WebInspector.SwatchCheckbox.prototype._toggleCheckbox):

  • inspector/front-end/MetricsSidebarPane.js:

(WebInspector.MetricsSidebarPane.prototype.editingCommitted):

  • inspector/front-end/NativeBreakpointsSidebarPane.js:

(WebInspector.NativeBreakpointsSidebarPane.prototype._reset):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeMemorySnapshotView.prototype.get profile):
(WebInspector.NativeMemoryProfileType.prototype.createProfile):
(WebInspector.NativeMemoryProfileHeader.prototype.createView):
(WebInspector.NativeMemoryPieChart.prototype._clear):
(WebInspector.NativeMemoryBarChart.prototype._updateView):

  • inspector/front-end/NavigatorView.js:

(WebInspector.NavigatorView.prototype.handleContextMenu):
(WebInspector.NavigatorTreeOutline.prototype.searchFinished):
(WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
(WebInspector.NavigatorFolderTreeElement.prototype.onattach):
(WebInspector.NavigatorSourceTreeElement.prototype._handleContextMenuEvent):

  • inspector/front-end/NetworkItemView.js:

(WebInspector.NetworkItemView.prototype.set request):
(WebInspector.RequestContentView.prototype.highlightLine):

  • inspector/front-end/NetworkManager.js:

(WebInspector.NetworkManager.prototype._userAgentSettingChanged):

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype._highlightNode):
(WebInspector.NetworkPanel.prototype.appendApplicableItems):
(WebInspector.NetworkTimeCalculator.prototype._upperBound):
(WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
(WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
(WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
(WebInspector.NetworkDataGridNode.RequestPropertyComparator):

  • inspector/front-end/NetworkPanelDescriptor.js:

(WebInspector.NetworkPanelDescriptor.prototype.appendApplicableItems):

  • inspector/front-end/NetworkRequest.js:

(WebInspector.NetworkRequest.prototype._pushFrame):

  • inspector/front-end/ObjectPopoverHelper.js:

(WebInspector.ObjectPopoverHelper.prototype._updateHTMLId):

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection.prototype.updateProperties):
(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
(WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
(WebInspector.ScopeTreeElement.prototype.onpopulate):
(WebInspector.ArrayGroupingTreeElement.prototype.onattach):

  • inspector/front-end/Panel.js:

(WebInspector.Panel.prototype.unregisterShortcut):

  • inspector/front-end/PanelEnablerView.js:

(WebInspector.PanelEnablerView.prototype.get alwaysEnabled):

  • inspector/front-end/ProfileDataGridTree.js:

(WebInspector.ProfileDataGridNode.prototype._merge):

  • inspector/front-end/ProfileLauncherView.js:

(WebInspector.ProfileLauncherView.prototype.profileFinished):

  • inspector/front-end/ProfilesPanel.js:

(WebInspector.ProfilesPanel.prototype.appendApplicableItems):
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
(WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
(WebInspector.ProfilesSidebarTreeElement.prototype.get selectable):

  • inspector/front-end/ProgressIndicator.js:

(WebInspector.ProgressIndicator.prototype.worked):

  • inspector/front-end/PropertiesSection.js:
  • inspector/front-end/PropertiesSidebarPane.js:

(WebInspector.PropertiesSidebarPane.prototype.update):

  • inspector/front-end/RequestCookiesView.js:

(WebInspector.RequestCookiesView.prototype._refreshCookies):

  • inspector/front-end/RequestHTMLView.js:

(WebInspector.RequestHTMLView.prototype._createIFrame):

  • inspector/front-end/RequestHeadersView.js:

(WebInspector.RequestHeadersView.prototype._createHeadersToggleButton):

  • inspector/front-end/RequestJSONView.js:

(WebInspector.RequestJSONView.parseJSON.WebInspector.RequestJSONView.prototype._initialize):

  • inspector/front-end/RequestPreviewView.js:

(WebInspector.RequestPreviewView.prototype._createPreviewView):

  • inspector/front-end/RequestResponseView.js:

(WebInspector.RequestResponseView.prototype.contentLoaded):

  • inspector/front-end/RequestTimingView.js:

(WebInspector.RequestTimingView.prototype._refresh):
(WebInspector.RequestTimingView.createTimingTable):

  • inspector/front-end/RequestView.js:

(WebInspector.RequestView.prototype.hasContent):

  • inspector/front-end/Resource.js:

(WebInspector.Resource.prototype.isHidden):

  • inspector/front-end/ResourceTreeModel.js:

(WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):

  • inspector/front-end/ResourceView.js:

(WebInspector.ResourceView.prototype.hasContent):
(WebInspector.ResourceSourceFrame.prototype.populateTextAreaContextMenu):

  • inspector/front-end/ResourceWebSocketFrameView.js:
  • inspector/front-end/ResourcesPanel.js:

(WebInspector.ResourcesPanel.prototype._onmouseout):
(WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
(WebInspector.StorageCategoryTreeElement.prototype.set oncollapse):
(WebInspector.FrameTreeElement.prototype._insertInPresentationOrder):
(WebInspector.FrameResourceTreeElement.prototype.sourceView):
(WebInspector.DatabaseTreeElement.prototype._updateChildren):
(WebInspector.DatabaseTableTreeElement.prototype.onselect):
(WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement):
(WebInspector.FileSystemListTreeElement.prototype._refreshFileSystem):
(WebInspector.IDBDatabaseTreeElement.prototype.clear):
(WebInspector.IDBObjectStoreTreeElement.prototype.clear):
(WebInspector.IDBIndexTreeElement.prototype.clear):
(WebInspector.DOMStorageTreeElement.prototype.onselect):
(WebInspector.CookieTreeElement.prototype.onselect):
(WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
(WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
(WebInspector.FileSystemTreeElement.prototype.clear):
(WebInspector.StorageCategoryView.prototype.setText):

  • inspector/front-end/RevisionHistoryView.js:

(WebInspector.RevisionHistoryView.prototype._reset):
(WebInspector.RevisionHistoryTreeElement.prototype.allowRevert):

  • inspector/front-end/RuntimeModel.js:

(WebInspector.RuntimeModel.prototype._reportCompletions):
(WebInspector.FrameExecutionContextList.prototype.get displayName):

  • inspector/front-end/ScopeChainSidebarPane.js:

(WebInspector.ScopeChainSidebarPane.prototype.update):
(WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):

  • inspector/front-end/Script.js:

(WebInspector.Script.Location.prototype.dispose):

  • inspector/front-end/ScriptFormatterWorker.js:

(HTMLScriptFormatter.prototype.styleSheetEnded):

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel.prototype._projectDidReset):
(WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator.prototype.reset):
(WebInspector.SnippetsNavigatorView.prototype._snippetCreationRequested):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):

  • inspector/front-end/ScriptsPanelDescriptor.js:

(WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems):

  • inspector/front-end/ScriptsSearchScope.js:

(WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):

  • inspector/front-end/SettingsScreen.js:

(WebInspector.SettingsScreen.prototype.willHide):
(WebInspector.SettingsTab.prototype._createCustomSetting):
(WebInspector.GenericSettingsTab.prototype._javaScriptDisabledChanged):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceOrientationOverrideElement):
(WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox):

  • inspector/front-end/ShowMoreDataGridNode.js:

(WebInspector.ShowMoreDataGridNode.prototype.dispose):

  • inspector/front-end/SidebarPane.js:

(WebInspector.SidebarPane.prototype._onTitleKeyDown):

  • inspector/front-end/SidebarTreeElement.js:

(WebInspector.SidebarSectionTreeElement.prototype.onreveal):
(WebInspector.SidebarTreeElement.prototype.onreveal):

  • inspector/front-end/SnippetJavaScriptSourceFrame.js:

(WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):

  • inspector/front-end/SnippetStorage.js:

(WebInspector.Snippet.prototype.serializeToObject):

  • inspector/front-end/SourceCSSTokenizer.js:

(WebInspector.SourceCSSTokenizer.prototype.nextToken):

  • inspector/front-end/SourceCSSTokenizer.re2js:
  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame.prototype._commitEditing):
(WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink):

  • inspector/front-end/SourceHTMLTokenizer.js:

(WebInspector.SourceHTMLTokenizer.prototype.nextToken):

  • inspector/front-end/SourceHTMLTokenizer.re2js:
  • inspector/front-end/SourceJavaScriptTokenizer.js:

(WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):

  • inspector/front-end/SourceJavaScriptTokenizer.re2js:
  • inspector/front-end/Spectrum.js:

(WebInspector.Spectrum.prototype._onKeyDown):

  • inspector/front-end/SplitView.js:

(WebInspector.SplitView.prototype.set elementsToRestoreScrollPositionsFor):

  • inspector/front-end/StatusBarButton.js:

(WebInspector.StatusBarButton.prototype._showOptions):

  • inspector/front-end/StyleSheetOutlineDialog.js:

(WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):

  • inspector/front-end/StyleSource.js:

(WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane.prototype.willHide):
(WebInspector.ComputedStyleSidebarPane.prototype.expand):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
(WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
(WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
(WebInspector.StylePropertyTreeElement.prototype):

  • inspector/front-end/TabbedEditorContainer.js:

(WebInspector.TabbedEditorContainer.prototype.currentFile):
(WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
(WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):

  • inspector/front-end/TabbedPane.js:

(WebInspector.TabbedPane.prototype._insertBefore):

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextEditorModel.endsWithBracketRegex.):

  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):

  • inspector/front-end/TimelineManager.js:

(WebInspector.TimelineManager.prototype._stopped):

  • inspector/front-end/TimelineModel.js:

(WebInspector.TimelineModel.prototype.recordOffsetInSeconds):

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
(WebInspector.TimelineOverviewWindow.prototype._zoom):
(WebInspector.TimelineFrameOverview.prototype.getWindowTimes):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype.performSearch):

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.prototype.isVisible):
(WebInspector.TimelineCategory.prototype.set hidden):

  • inspector/front-end/TopDownProfileDataGridTree.js:

(WebInspector.TopDownProfileDataGridNode.prototype._exclude):

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.setSourceMapping):

  • inspector/front-end/UISourceCodeFrame.js:

(WebInspector.UISourceCodeFrame.prototype.populateTextAreaContextMenu):

  • inspector/front-end/View.js:

(WebInspector.View.prototype.focus):

  • inspector/front-end/WatchExpressionsSidebarPane.js:

(WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
(WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
(WebInspector.WatchExpressionTreeElement.prototype.applyExpression):

  • inspector/front-end/WorkerManager.js:

(WebInspector.WorkerManager.prototype._disconnectedFromWorker):
(WebInspector.WorkerTerminatedScreen.prototype.willHide):

  • inspector/front-end/WorkersSidebarPane.js:

(WebInspector.WorkersSidebarPane.prototype._autoattachToWorkersClicked):

  • inspector/front-end/Workspace.js:

(WebInspector.Workspace.prototype.uiSourceCodes):

3:27 AM Changeset in webkit [130148] by vsevik@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed r130146 follow-up, added method was not called.

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

3:21 AM Changeset in webkit [130147] by yosin@chromium.org
  • 9 edits
    6 adds in trunk

[Forms] Multiple fields datetime/datetime-local input UI
https://bugs.webkit.org/show_bug.cgi?id=97997

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces multiple fields "datetime" and "datetime-local"
input UI in DRT. We'll enable these features once we add tests.

No new tests. To reduce size of this patch, other patches add tests
for multiple fields datetime/datetime-local input UI.

Note: Actual outputs of four tests

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

are different.

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore):

  • css/html.css:

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

  • html/DateTimeInputType.cpp:

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

  • html/DateTimeInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseDateTimeInputType typedef.

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

  • html/DateTimeLocalInputType.cpp:

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

  • html/DateTimeLocalInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseDateTimeLocalInputType typedef.

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

  • html/shadow/DateTimeEditElement.cpp:

(DateTimeEditBuilder): Changed to add member variable m_placeholderForDay.
(WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed to initialize m_placeholderForDay.
(WebCore::DateTimeEditBuilder::visitField): Changed to support week field.

  • html/shadow/DateTimeEditElement.h:

(LayoutParameters): Changed to add placeholderForDay member variable.

LayoutTests:

This patch adds Chromium port specific expectations for "datetime" and
"datetime-local" input type tests for multiple fields datetime input UI.

  • platform/chromium/fast/forms/datetime/datetime-input-visible-string-expected.txt: Added. Multiple fields datetime input UI doesn't have selection.
  • platform/chromium/fast/forms/datetime/datetime-stepup-stepdown-from-renderer-expected.txt: Added. On multiple fields datetime input UI, step down/up decrement/increment a field rather than whole value.
  • platform/chromium/fast/forms/datetimelocal/datetimelocal-input-visible-string-expected.txt: Added. Multiple fields datetime-local input UI doesn't have selection.
  • platform/chromium/fast/forms/datetimelocal/datetimelocal-stepup-stepdown-from-renderer-expected.txt: Added. On multiple fields datetime-local input UI, step down/up decrement/increment a field rather than whole value.
3:18 AM Changeset in webkit [130146] by vsevik@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: [Regression] Breakpoints restored from storage are not set in debugger.
https://bugs.webkit.org/show_bug.cgi?id=98132

Reviewed by Pavel Feldman.

Added hasDivergedFromVM attribute to UISourceCode for breakpoint
manager to know if breakpoints should be set in the debugger.

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager.hasDivergedFromVM):
(WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):

3:12 AM Changeset in webkit [130145] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaselining fast/canvas/canvas-render-layer.html after r130056.
Changing one calendar picker expectation after r130113.
Marking fast/css/sticky/sticky-writing-mode-vertical-rl.html as flaky.

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/canvas/canvas-render-layer-expected.txt:
2:43 AM Changeset in webkit [130144] by loislo@chromium.org
  • 21 edits
    1 add in trunk/Source

Web Inspector: NMI make String* instrumentation non intrusive
https://bugs.webkit.org/show_bug.cgi?id=97964

Reviewed by Yury Semikhatsky.

Source/WebCore:

MemoryInstrumentationString.h include was added.

  • dom/WebCoreMemoryInstrumentation.h:

Source/WebKit/chromium:

The expectations were fixed because old instrumentation had wrong detector for BufferInternal type of storage.

  • tests/MemoryInstrumentationTest.cpp:

(WebCore::TEST):

Source/WTF:

MemoryInstrumentationString.h was added.
Intrusive instrumentation was removed.

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

(WTF):

  • wtf/MemoryInstrumentationString.h: Added.

(WTF):
(WTF::reportMemoryUsage):

  • wtf/text/AtomicString.cpp:

(WTF):

  • wtf/text/AtomicString.h:

(AtomicString):

  • wtf/text/CString.h:

(WTF::CStringBuffer::length):

  • wtf/text/StringImpl.cpp:
  • wtf/text/StringImpl.h:

(WTF::StringImpl::usesInternalBuffer):
(WTF::StringImpl::baseString):
(StringImpl):

2:35 AM Changeset in webkit [130143] by vsevik@chromium.org
  • 4 edits in trunk

Web Inspector: inspector/debugger/script-snippet-model.html fails
https://bugs.webkit.org/show_bug.cgi?id=98129

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel.prototype._runScript):
(WebInspector.ScriptSnippetModel.prototype._printRunScriptResult):

LayoutTests:

  • inspector/debugger/script-snippet-model.html:
2:29 AM Changeset in webkit [130142] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove anonymous namespace from StyleBuilder.cpp for better debugging experience
https://bugs.webkit.org/show_bug.cgi?id=98124

Reviewed by Alexander Pavlov.

  • css/StyleBuilder.cpp: removed anonymous namespace.

(WebCore):

2:29 AM Changeset in webkit [130141] by jochen@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Use correct gtest macros for tests for true/false

Unreviewed build-fix.

Using EXPECT_EQ(true, ...) makes clang trip when it tries to convert
true to a pointer. Tests should use EXPECT_TRUE instead.

  • tests/WebFrameTest.cpp:
1:59 AM Changeset in webkit [130140] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: CSS property names autocomplete: Suggest most used rather than alphabeticaly first
https://bugs.webkit.org/show_bug.cgi?id=96763

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-10-02
Reviewed by Alexander Pavlov.

Implement selection of non-first item in WebInspector.TextPrompt.SuggestBox.

  • inspector/front-end/CSSCompletions.js:

(WebInspector.CSSCompletions.Weight): Collect most used CSS property names. Rarely used properties are not presented.
(WebInspector.CSSCompletions.prototype.firstStartsWith): Remove unused function.
(WebInspector.CSSCompletions.prototype.mostUsedOf):

  • inspector/front-end/StylesSidebarPane.js:
  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.pageDownKeyPressed):
(WebInspector.TextPrompt.SuggestBox): Introduce _length and _selectedIndex to remove unnecessary DOM traversals.

Simplify canShowForSingleItem logic.

(WebInspector.TextPrompt.SuggestBox.prototype._selectClosest): _onPreviousItem and _onNextItem had some logic

duplication so I replaced them with this method.

(WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
(WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
(WebInspector.TextPrompt.SuggestBox.prototype._selectItem):
(WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
(WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
(WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):

1:36 AM Changeset in webkit [130139] 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.
1:28 AM Changeset in webkit [130138] by vsevik@chromium.org
  • 9 edits in trunk

Web Inspector: Provide a way to distinguish scripts having sourceURL from standalone scripts.
https://bugs.webkit.org/show_bug.cgi?id=97231

Reviewed by Pavel Feldman.

Source/WebCore:

DebuggerAgent now scans scripts for sourceURL comment and provides
hasSourceURL flag for each non-inline script with such a comment.

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidParseSource):

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

(WebCore::InspectorDebuggerAgent::didParseSource):

  • inspector/front-end/DebuggerModel.js:

(WebInspector.DebuggerModel.prototype._parsedScriptSource):
(WebInspector.DebuggerDispatcher.prototype.scriptParsed):

  • inspector/front-end/Script.js:

(WebInspector.Script):

LayoutTests:

  • inspector/debugger/source-url-comment-expected.txt:
  • inspector/debugger/source-url-comment.html:
1:25 AM Changeset in webkit [130137] by caseq@chromium.org
  • 21 edits
    1 delete in trunk/Source

Unreviewed, rolling out r130129.
http://trac.webkit.org/changeset/130129
https://bugs.webkit.org/show_bug.cgi?id=98125

broke 4 webkit_unit_tests
(MemoryInstrumentationTest.hashMapWith*) (Requested by caseq
on #webkit).

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

Source/WebCore:

  • dom/WebCoreMemoryInstrumentation.h:
  • platform/KURL.cpp:
  • platform/KURLGoogle.cpp:
  • platform/PlatformMemoryInstrumentation.h:

Source/WebKit/chromium:

  • tests/MemoryInstrumentationTest.cpp:

Source/WTF:

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

(WTF):

  • wtf/MemoryInstrumentationString.h: Removed.
  • wtf/text/AtomicString.cpp:

(WTF::AtomicString::reportMemoryUsage):
(WTF):

  • wtf/text/AtomicString.h:

(AtomicString):

  • wtf/text/CString.h:

(WTF::CStringBuffer::length):
(CStringBuffer):
(WTF::CStringBuffer::reportMemoryUsage):
(CString):
(WTF::CString::reportMemoryUsage):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::reportMemoryUsage):
(WTF):

  • wtf/text/StringImpl.h:

(StringImpl):

  • wtf/text/WTFString.cpp:

(WTF::String::reportMemoryUsage):
(WTF):

  • wtf/text/WTFString.h:

(String):

1:20 AM Changeset in webkit [130136] by pfeldman@chromium.org
  • 9 edits in trunk/Source/WebCore

Web Inspector: move runScript into the snippets model
https://bugs.webkit.org/show_bug.cgi?id=98122

Reviewed by Vsevolod Vlasov.

  • Moves runScript into the SnippetsModel
  • Drive-by: annotates more RuntimeModel methods
  • common, sdk, ui, components, elements, network, resources, network, scripts, console, timeline, workers, tests modules now compile with no errors in dedicated compilation mode.
  • inspector/compile-front-end.py:
  • inspector/front-end/ConsoleView.js:
  • inspector/front-end/DatabaseQueryView.js:
  • inspector/front-end/RuntimeModel.js:

(WebInspector.RuntimeModel.prototype.completionsForTextPrompt):

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
(WebInspector.ScriptSnippetModel.prototype._runScript):

  • inspector/front-end/StylesSidebarPane.js:
  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.prototype.complete):

  • inspector/front-end/externs.js:
1:10 AM Changeset in webkit [130135] by pdr@google.com
  • 9 edits in trunk

Fix PerfTest standard deviation calculation.
https://bugs.webkit.org/show_bug.cgi?id=98115

Reviewed by Ryosuke Niwa.

Previously our standard deviation calculation was incorrect. This patch
updates perftest.py's algorithm to calculate the sample standard deviation
(with Bessel's correction) using Knuth's online algorithm:
http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
An existing test has been modified to prove our new results.

This patch also updates runner.js to use Bessel's correction in
its sample standard deviation calculation, which is more accurate
for small sample sizes.

Additionally, runner.js has been modified to not calculate
the 'sum' statistic, which was not very useful.

PerformanceTests:

  • resources/runner.js:

(PerfTestRunner.computeStatistics):

Tools:

  • Scripts/webkitpy/performance_tests/perftest.py:

The unused variable valueSum has also been removed.

(PageLoadingPerfTest.run):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

This test calculates the stdev of {2000, 3000, ..., 20000} which
was hand-calculated using a spreadsheet.

(TestPageLoadingPerfTest.test_run):

LayoutTests:

  • fast/harness/perftests/perf-runner-compute-statistics-expected.txt:
  • fast/harness/perftests/perf-runner-compute-statistics.html:
  • fast/harness/perftests/runs-per-second-log-expected.txt:
1:10 AM Changeset in webkit [130134] by yosin@chromium.org
  • 3 edits in trunk/Source/WebCore

[Forms] Adding DateTimeDayFieldElement for multiple fields "date", "datetime", "datetime-local" input UI
https://bugs.webkit.org/show_bug.cgi?id=97998

Reviewed by Kent Tamura.

This patch introduces DateTimeDayFieldElement class for implementing
multiple fields "date", "datetime", and "datetime-local" input UI.

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

  • html/shadow/DateTimeFieldElements.cpp:

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

  • html/shadow/DateTimeFieldElements.h:

(DateTimeDayFieldElement): Added.

1:09 AM Changeset in webkit [130133] by caseq@chromium.org
  • 7 edits
    2 copies
    1 move
    15 adds
    4 deletes in trunk/LayoutTests

Unreviewed gardening -- rebaselined canvas-render-layer and 4 week-multiple-fields-appearance tests.

  • platform/chromium-linux/fast/canvas/canvas-render-layer-expected.png: Removed.
  • platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/canvas/canvas-render-layer-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt.
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png: Added.
  • platform/chromium-mac/fast/canvas/canvas-render-layer-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-render-layer-expected.txt:
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png: Added.
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Added.
  • platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png:
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Removed.
  • platform/chromium-win-xp/fast/canvas/canvas-render-layer-expected.txt: Copied from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt.
  • platform/chromium-win/fast/canvas/canvas-render-layer-expected.png:
  • platform/chromium-win/fast/canvas/canvas-render-layer-expected.txt:
  • platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic-expected.png: Added.
  • platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes-expected.png: Added.
  • platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Added.
  • platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-style-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png:
  • platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Removed.
  • platform/chromium/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt.
1:03 AM Changeset in webkit [130132] by yosin@chromium.org
  • 2 edits in trunk/Source/WebCore

LocalzeNone::dateFormat() should have right date format.
https://bugs.webkit.org/show_bug.cgi?id=98123

Reviewed by Kent Tamura.

This patch changes date format in LocaleNone for multiple fields
date/datetime/datetime-local input UI.

No new tests. Other patch for ports which use LocaleNone and multiple
fields date/time input UI will have tests.

  • platform/text/LocaleNone.cpp:

(WebCore::LocaleNone::dateFormat): Changed month specifier to "MM".

1:00 AM Changeset in webkit [130131] by vsevik@chromium.org
  • 1 edit
    2 copies in branches/chromium/1271

Merge 129648 - Web Inspector: [REGRESSION] Revision support problems: revert and apply original content cause exceptions
https://bugs.webkit.org/show_bug.cgi?id=97669

Reviewed by Pavel Feldman.

Source/WebCore:

Added missed callback parameters.

Test: inspector/uisourcecode-revisions.html

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.revertToOriginal):
(WebInspector.UISourceCode.prototype.revertAndClearHistory):

LayoutTests:

  • inspector/uisourcecode-revisions-expected.txt: Added.
  • inspector/uisourcecode-revisions.html: Added.

TBR=vsevik@chromium.org
BUG=152433
Review URL: https://codereview.chromium.org/11039015

12:48 AM Changeset in webkit [130130] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: move cookies model out of the items view (into sdk component).
https://bugs.webkit.org/show_bug.cgi?id=98022

Reviewed by Yury Semikhatsky.

Otherwise Audits require code that belongs to the resources component.

  • inspector/front-end/CookieItemsView.js:
  • inspector/front-end/CookieParser.js:

(WebInspector.Cookies.getCookiesAsync):
(WebInspector.Cookies.buildCookiesFromString):
(WebInspector.Cookies.cookieMatchesResourceURL):
(WebInspector.Cookies.cookieDomainMatchesResourceDomain):

12:44 AM Changeset in webkit [130129] by loislo@chromium.org
  • 21 edits
    1 add in trunk/Source

Web Inspector: NMI make String* instrumentation non intrusive
https://bugs.webkit.org/show_bug.cgi?id=97964

Reviewed by Yury Semikhatsky.

Source/WebCore:

MemoryInstrumentationString.h include was added.

  • dom/WebCoreMemoryInstrumentation.h:

Source/WebKit/chromium:

The expectations were fixed because old instrumentation had wrong detector for BufferInternal type of storage.

  • tests/MemoryInstrumentationTest.cpp:

(WebCore::TEST):

Source/WTF:

MemoryInstrumentationString.h was added.
Intrusive instrumentation was removed.

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

(WTF):

  • wtf/MemoryInstrumentationString.h: Added.

(WTF):
(WTF::reportMemoryUsage):

  • wtf/text/AtomicString.cpp:

(WTF):

  • wtf/text/AtomicString.h:

(AtomicString):

  • wtf/text/CString.h:

(WTF::CStringBuffer::length):

  • wtf/text/StringImpl.cpp:
  • wtf/text/StringImpl.h:

(WTF::StringImpl::usesInternalBuffer):
(WTF::StringImpl::baseString):
(StringImpl):

12:17 AM WebKitGTK/1.10.x edited by Carlos Garcia Campos
(diff)
12:05 AM Changeset in webkit [130128] by beidson@apple.com
  • 30 edits in trunk/Source

Remove the Safari 2 -> Safari 3 icon database import code.
https://bugs.webkit.org/show_bug.cgi?id=98113

Reviewed by Maciej Stachowiak.

Source/WebCore:

Remove notions of "importing an old database format" from the IconDatabase.

No new tests - Feature removed, and no previous tests covered it.

  • loader/icon/IconDatabase.cpp:

(DefaultIconDatabaseClient):
(WebCore::IconDatabase::IconDatabase):
(WebCore):
(WebCore::IconDatabase::iconDatabaseSyncThread):

  • loader/icon/IconDatabase.h:

(IconDatabase):

  • loader/icon/IconDatabaseBase.h:
  • loader/icon/IconDatabaseClient.h:
  • WebCore.exp.in:

Source/WebKit/blackberry:

Nuke the performImport() IconDatabaseClient method.

  • WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
  • WebCoreSupport/IconDatabaseClientBlackBerry.h:

(IconDatabaseClientBlackBerry):

Source/WebKit/efl:

Nuke the performImport() IconDatabaseClient method.

  • WebCoreSupport/IconDatabaseClientEfl.cpp:
  • WebCoreSupport/IconDatabaseClientEfl.h:

Source/WebKit/gtk:

Nuke the performImport() IconDatabaseClient method.

  • webkit/webkitfavicondatabase.cpp:

(IconDatabaseClientGtk):

Source/WebKit/mac:

Nuke the performImport() IconDatabaseClient method, as well as the supporting methods.

  • Misc/WebIconDatabase.mm:
  • Misc/WebIconDatabaseInternal.h:
  • Misc/WebIconDatabasePrivate.h:
  • WebCoreSupport/WebIconDatabaseClient.h:
  • WebCoreSupport/WebIconDatabaseClient.mm:
  • WebKit.exp:

Source/WebKit/qt:

Nuke the performImport() IconDatabaseClient method.

  • WebCoreSupport/IconDatabaseClientQt.cpp:
  • WebCoreSupport/IconDatabaseClientQt.h:

(IconDatabaseClientQt):

Source/WebKit/win:

Nuke the performImport() IconDatabaseClient method.

  • WebIconDatabase.cpp:
  • WebIconDatabase.h:

(WebIconDatabase):

Source/WebKit2:

Nuke the performImport() IconDatabaseClient method.

  • UIProcess/WebIconDatabase.cpp:

(WebKit):

  • UIProcess/WebIconDatabase.h:

(WebIconDatabase):

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:

Sep 29, 2012:

7:29 PM Changeset in webkit [129988] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

AsyncFileSystem::openFileSystem should have FileSystemType as a parameter.
https://bugs.webkit.org/show_bug.cgi?id=97963

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-09-29
Reviewed by Gyuyoung Kim.

FileSystemType is an important information to maintain the file system,
and AsyncFileSystem::openFileSystem need to get the type as a parameter.
And, there are "FIXME" comments about that in WebCore source codes.

No new functionality, no new tests.

  • Modules/filesystem/LocalFileSystem.cpp: Add FileSystemType as a parameter of AsyncFileSystem::openFileSystem.

(WebCore::openFileSystem):
(WebCore::LocalFileSystem::readFileSystem):
(WebCore::LocalFileSystem::requestFileSystem):

  • platform/AsyncFileSystem.cpp: ditto.

(WebCore::AsyncFileSystem::openFileSystem):

  • platform/AsyncFileSystem.h: ditto.

(AsyncFileSystem):

  • platform/blackberry/AsyncFileSystemBlackBerry.cpp: ditto.

(WebCore::AsyncFileSystem::openFileSystem):

  • platform/gtk/AsyncFileSystemGtk.cpp: ditto.

(WebCore::AsyncFileSystem::openFileSystem):

3:20 PM Changeset in webkit [129987] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip test that seems to be passing now.

  • platform/efl/TestExpectations:
3:13 PM Changeset in webkit [129986] by rakuco@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

[EFL] Unskip {horizontal,vertical}-scrollbar-in-rtl.html

The expectations in fast/dom are actually Mac-specific (cf.
r73063), and most other ports use their own platform-specific
results due to the differences in behavior of the Home/End keys.

The results being checked in here are in line with the other
ports, so everything seems to be OK.

  • platform/efl/TestExpectations:
  • platform/efl/fast/dom/horizontal-scrollbar-in-rtl-expected.txt: Added.
  • platform/efl/fast/dom/vertical-scrollbar-in-rtl-expected.txt: Added.
1:55 PM Changeset in webkit [129985] by eae@chromium.org
  • 2 edits in trunk/Source/WTF

Unreviewed, rolling out r129982.
http://trac.webkit.org/changeset/129982
https://bugs.webkit.org/show_bug.cgi?id=97971

hit assert in fast/overflow/overflow-height-float-not-removed-
crash3.html (Requested by eae on #webkit).

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

  • wtf/Platform.h:
1:29 PM Changeset in webkit [129984] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Unreviewed, rolling out r129965.
http://trac.webkit.org/changeset/129965
https://bugs.webkit.org/show_bug.cgi?id=97970

Causes ASSERTs in workers (Requested by abarth on #webkit).

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

  • bindings/v8/DOMData.cpp:

(WebCore::DOMData::getCurrentStore):

  • bindings/v8/ScopedPersistent.h:
  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore::ScriptController::evaluateInIsolatedWorld):
(WebCore::ScriptController::currentWorldContext):

  • bindings/v8/V8Binding.cpp:

(WebCore::perContextDataForCurrentWorld):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::setIsolatedWorldField):
(WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
(WebCore::V8DOMWindowShell::destroyIsolatedShell):
(WebCore):
(WebCore::isolatedContextWeakCallback):
(WebCore::V8DOMWindowShell::disposeContext):
(WebCore::V8DOMWindowShell::initializeIfNeeded):
(WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):

  • bindings/v8/V8DOMWindowShell.h:

(V8DOMWindowShell):
(WebCore::V8DOMWindowShell::getEntered):

  • bindings/v8/V8DOMWrapper.h:

(WebCore::V8DOMWrapper::getCachedWrapper):

  • bindings/v8/WorldContextHandle.cpp:

(WebCore::WorldContextHandle::WorldContextHandle):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8SVGDocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:

(WebCore::V8XMLHttpRequest::constructorCallback):

1:12 PM WebKitGTK/1.10.x edited by Martin Robinson
(diff)
11:37 AM Changeset in webkit [129983] by eae@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for chromium/clank.

  • platform/FractionalLayoutUnit.h:

(WebCore::FractionalLayoutUnit::FractionalLayoutUnit):

10:43 AM Changeset in webkit [129982] by eae@chromium.org
  • 2 edits in trunk/Source/WTF

Enable SATURATED_LAYOUT_ARITHMETIC for chromium
https://bugs.webkit.org/show_bug.cgi?id=95053

Reviewed by Abhishek Arya.

Enable the SATURATED_LAYOUT_ARITHMETIC flag for the chromium port.
This changes the behavior of FractionalLayoutUnit to clamp to the
max or min value instead of overflowing.

This may very well impact performance so the current plan is to enable
it for a couple of hours to a day to collect performance data and then
disable it again until we've had a chance to review the perf data.

  • wtf/Platform.h:
9:03 AM Changeset in webkit [129981] by rakuco@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] Rebaseline test after r129695.

  • platform/efl/TestExpectations:
  • platform/efl/mathml/presentation/tables-expected.png:
  • platform/efl/mathml/presentation/tables-expected.txt:
8:47 AM Changeset in webkit [129980] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Revert r129978.

Skip media/unsupported-rtsp.html again, as it still fails on the
bots. I have created a proper bug for the issue now.

  • platform/efl/TestExpectations:
8:17 AM Changeset in webkit [129979] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip fast/css/device-aspect-ratio.html

This seems to be another test with no bug report that is now
passing.

  • platform/efl/TestExpectations:
7:54 AM Changeset in webkit [129978] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unskip media/unsupported-rtsp.html

The test seems to be consistently passing at least locally, let's
see if the bots agree.

  • platform/efl/TestExpectations:
7:40 AM Changeset in webkit [129977] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix build warning : -Wparentheses.
https://bugs.webkit.org/show_bug.cgi?id=97961

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-29
Reviewed by Kentaro Hara.

Explicit braces are added around the && statement to fix -Wparentheses warning.

  • mathml/MathMLElement.h:

(WebCore::toMathMLElement):

5:51 AM Changeset in webkit [129976] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Fix build error : Link webkit2 library to ewk2UnitTestInjectedBundleSample.
https://bugs.webkit.org/show_bug.cgi?id=97622

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-29
Reviewed by Gyuyoung Kim.

There is no dependency between ewk2UnitTestInjectedBundleSample and
webkit2 library.

Because of this, on the first build, compiler tries to build
injected_bundle_sample.cpp before the forwarding headers are created.
This makes build error that the header file 'WebKit2/WKBaseSoup.h'
cannot be found.

To prevent this, webkit2 library is linked to ewk2UnitTestInjectedBundleSample.

  • PlatformEfl.cmake:
3:22 AM Changeset in webkit [129975] by kenneth@webkit.org
  • 6 edits
    2 adds in trunk

Scroll offset of flex items lost during relayout
https://bugs.webkit.org/show_bug.cgi?id=97706

Reviewed by Tony Chang.

Source/WebCore:

Test: fast/flexbox/overflow-keep-scrollpos.html

Flex box does a second pass layout of the flex children.

We layout the child without scrollbars (to get the size
used for flexing), then we relayout the child at its final size.

We must not apply the scroll position during the first pass,
as it will be clamped to 0 (no scrolling possible).

  • rendering/RenderBlock.h:

(RenderBlock):

Make updateScrollInfoAfterLayout public

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

Delay applying scroll info until we clamp the size of the child
and get scrollbars back again. For this to work we use
RenderBlock::updateScrollInfoAfterLayout instead of the non-guarded
RenderLayer::updateScrollInfoAfterLayout.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateScrollInfoAfterLayout):

Add workaround for now to keep passing css3/flexbox/child-overflow.html

Basically do not postpone applying scroll changes for RenderBlocks
with opposite writing mode, as they need to have their content
overflow in the right direction.

LayoutTests:

Add a new test for testing that flex items scroll offsets are
not lost during relayout.

  • css3/flexbox/overflow-keep-scrollpos-expected.txt: Added.
  • css3/flexbox/overflow-keep-scrollpos.html: Added.
  • css3/flexbox/child-overflow.html: Fix minor errors.
2:21 AM Changeset in webkit [129974] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

Slightly improve clarity of the patch in bug 78595.
https://bugs.webkit.org/show_bug.cgi?id=97944

Reviewed by Andreas Kling.

Since all types of relations, except SubSelector are effectively ignoring the calculated value of pseudoId, make the code reflect that a bit more clearly.

No change in behavior, covered by test in bug 78595.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkSelector): Added ignoreDynamicPseudo value that's given to all callsites that should ignore the result.

1:49 AM Changeset in webkit [129973] by tkent@chromium.org
  • 12 edits
    5 deletes in trunk/Source/WebCore

Remove LocalizedDate*.*
https://bugs.webkit.org/show_bug.cgi?id=97957

Reviewed by Kentaro Hara.

The functions declared in LocalizedDate.h are replaced with member
functions of Localizer. LocalizedDate.h and its implementations
are not needed any more.

No new tests. This should not change any behavior.

  • GNUmakefile.list.am: Remove LocalizedDate.h and LocalizedDateNode.cpp
  • WebCore.vcproj/WebCore.vcproj: ditto.
  • WebCore.xcodeproj/project.pbxproj: ditto.
  • CMakeLists.txt: Remove LocalizedDateNone.cpp
  • Target.pri: ditto.
  • WebCore.gyp/WebCore.gyp: Remove LocalizedDate*.*. Update a comment.
  • WebCore.gypi: Remove LocalizedDate*.*.
  • html/BaseDateAndTimeInputType.cpp: Use Localizer functions.

(WebCore::BaseDateAndTimeInputType::localizeValue):
(WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):

  • html/DateInputType.cpp: ditto.

(WebCore::DateInputType::fixedPlaceholder):

  • platform/text/Localizer.h:

(Localizer): Move comments from LocalziedDate.h.

  • platform/text/mac/LocaleMac.mm:

Remove unnecessary include of LocalizedDate.h.

  • platform/text/LocalizedDate.h: Removed.
  • platform/text/LocalizedDateICU.cpp: Removed.
  • platform/text/LocalizedDateNone.cpp: Removed.
  • platform/text/LocalizedDateWin.cpp: Removed.
  • platform/text/mac/LocalizedDateMac.cpp: Removed.
Note: See TracTimeline for information about the timeline view.