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.

Sep 28, 2012:

11:31 PM Changeset in webkit [129972] by commit-queue@webkit.org
  • 13 edits
    7 moves
    3 adds in trunk

[WK2][GTK][EFL] Share WebKit2-GTK plugin process implementation with EFL port
https://bugs.webkit.org/show_bug.cgi?id=91844

Patch by Mariusz Grzegorczyk <mariusz.g@samsung.com> on 2012-09-28
Reviewed by Simon Hausmann.

.:

Turn on Netscape Plugin API by default for WebKit2-Efl.

  • Source/cmake/OptionsEfl.cmake:

Source/WebKit2:

Implement windowless plugin and functions needed to launch PluginProcess.

  • GNUmakefile.am: Change files and folders related to plugin process from gtk to unix.
  • GNUmakefile.list.am: Change files and folders related to plugin process from gtk to unix.
  • Platform/Logging.cpp: Add Plugins channel for LOG.

(WebKit):
(WebKit::getChannelFromName):
(WebKit::initializeLogChannelsIfNecessary):

  • Platform/Logging.h:

(WebKit):

  • PlatformEfl.cmake: Add files needed by plugin process.
  • PluginProcess/unix/PluginControllerProxyUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginControllerProxyGtk.cpp.

(WebKit):
(WebKit::PluginControllerProxy::platformInitialize): Add macros for gtk/efl differents.
(WebKit::PluginControllerProxy::platformDestroy):
(WebKit::PluginControllerProxy::platformGeometryDidChange):

  • PluginProcess/unix/PluginProcessMainUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp.

(WebKit):
(WebKit::webkitXError):
(WebKit::PluginProcessMainUnix):

  • PluginProcess/unix/PluginProcessMainUnix.h: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.h.

(WebKit):

  • PluginProcess/unix/PluginProcessUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessGtk.cpp.

(WebKit):
(WebKit::PluginProcess::platformInitialize):

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: Renamed from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.

(WebKit):
(WebKit::PluginProcessProxy::platformInitializePluginProcess):
(WebKit::PluginProcessProxy::scanPlugin):

  • UIProcess/efl/WebPageProxyEfl.cpp: Add stubs.

(WebKit::WebPageProxy::createPluginContainer):
(WebKit):
(WebKit::WebPageProxy::windowedPluginGeometryDidChange):

  • WebProcess/Plugins/Netscape/unix/PluginProxyUnix.cpp: Renamed from Source/WebKit2/WebProcess/Plugins/Netscape/gtk/PluginProxyGtk.cpp.

(WebKit):
(WebKit::PluginProxy::needsBackingStore):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Plugin's windowless implementation.

(WebKit::getPluginDisplay):
(WebKit::x11Screen):
(WebKit::displayDepth):
(WebKit::rootWindowID):
(WebKit::NetscapePlugin::x11HostDisplay):
(WebKit::NetscapePlugin::platformPaint):

  • config.h:
  • unix/PluginMainUnix.cpp: Renamed from Source/WebKit2/gtk/PluginMainGtk.cpp.

(main):

Tools:

Turn on Netscape Plugin API option by default.

  • Scripts/webkitperl/FeatureList.pm:
7:50 PM Changeset in webkit [129971] by abarth@webkit.org
  • 9 edits in trunk/Source/WebCore

[V8] The concept of forceNewObject is unneeded (dom-traverse gets 3% faster)
https://bugs.webkit.org/show_bug.cgi?id=97943

Reviewed by Kentaro Hara.

We don't need the concept of forceNewObject. It doesn't do anything
useful and it makes the bindings slower.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateToV8Converters):
(NativeToJSValue):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8HTMLElementCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8NodeCustom.cpp:

(WebCore::toV8Slow):

  • bindings/v8/custom/V8SVGDocumentCustom.cpp:

(WebCore::toV8):

  • bindings/v8/custom/V8SVGElementCustom.cpp:

(WebCore::toV8):

  • dom/make_names.pl:

(printWrapperFactoryCppFile):
(printWrapperFactoryHeaderFile):

7:30 PM Changeset in webkit [129970] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Allow any kind of v8::Handle in invokeCallback instead of requiring a v8::Persistent.
https://bugs.webkit.org/show_bug.cgi?id=97956

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-09-28
Reviewed by Adam Barth.

Use v8::Handle instead of v8::Persistent for the callback argument on invokeCallback.
There doesn't seem to be any reason for requiring a Persistent, and it makes it harder
to use this API.

This is factored out of http://wkbug.com/93661

No new tests, this is functionally equivalent.

  • bindings/v8/V8Callback.cpp:

(WebCore::invokeCallback):

  • bindings/v8/V8Callback.h:

(WebCore):

7:18 PM Changeset in webkit [129969] by andersca@apple.com
  • 20 edits in trunk/Source

Remove support for method overloading from bridge code
https://bugs.webkit.org/show_bug.cgi?id=97959

Reviewed by Dan Bernstein.

Source/WebCore:

The method overloading handling was only in place for the (now removed) Java bridge.
Replace MethodList everywhere with a single Method pointer.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::methodNamed):

  • bridge/c/c_class.h:

(CClass):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CRuntimeMethod::create):
(JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
(JSC::Bindings::CInstance::getMethod):
(JSC::Bindings::CInstance::invokeMethod):

  • bridge/jsc/BridgeJSC.h:

(Bindings):
(Class):

  • bridge/objc/objc_class.h:

(ObjcClass):

  • bridge/objc/objc_class.mm:

(JSC::Bindings::ObjcClass::methodNamed):

  • bridge/objc/objc_instance.mm:

(ObjCRuntimeMethod::create):
(ObjCRuntimeMethod::ObjCRuntimeMethod):
(ObjcInstance::invokeMethod):

  • bridge/qt/qt_class.cpp:

(JSC::Bindings::QtClass::methodNamed):

  • bridge/qt/qt_class.h:

(QtClass):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtInstance::getMethod):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::RuntimeMethod):
(JSC::RuntimeMethod::lengthGetter):
(JSC::callRuntimeMethod):

  • bridge/runtime_method.h:

(JSC::RuntimeMethod::create):
(JSC::RuntimeMethod::method):
(RuntimeMethod):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::getOwnPropertySlot):
(JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):

Source/WebKit/mac:

Update for WebCore changes; MethodList has been replaced with a single Method* everywhere.

  • Plugins/Hosted/ProxyInstance.h:

(ProxyInstance):

  • Plugins/Hosted/ProxyInstance.mm:

(ProxyClass):
(WebKit::ProxyClass::methodNamed):
(WebKit::ProxyRuntimeMethod::create):
(WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
(WebKit::ProxyInstance::getMethod):
(WebKit::ProxyInstance::invokeMethod):
(WebKit::ProxyInstance::methodNamed):

7:16 PM Changeset in webkit [129968] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix compilation of V8DependentRetained and JSDependentRetained.
https://bugs.webkit.org/show_bug.cgi?id=97955

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-09-28
Reviewed by Kentaro Hara.

Fix bad usage of putDirect and removeDirect from JSDependentRetained and fix
incorrect assumptions about how weak handles work in V8. This is refactored
out of the patch on http://wkbug.com/93661

No tests needed, this just fixes the compile and wrong usage of ScopedPersistent.

  • bindings/js/JSDependentRetained.h:

(WebCore::JSDependentRetained::JSDependentRetained):
(WebCore::JSDependentRetained::retain):
(WebCore::JSDependentRetained::release):
(JSDependentRetained):

  • bindings/v8/V8DependentRetained.h:

(WebCore::V8DependentRetained::V8DependentRetained):
(WebCore::V8DependentRetained::retain):
(WebCore::V8DependentRetained::weakCallback):

7:00 PM Changeset in webkit [129967] by ojan@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix chromium build after http://trac.webkit.org/changeset/129964.

  • WebCore.gypi:
6:35 PM Changeset in webkit [129966] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Crash re-entering Document layout with frame flattening enabled
https://bugs.webkit.org/show_bug.cgi?id=97841

Reviewed by Brady Eidson.

When creating a CachedFrame, clearTimers on the Frame later; it has to
be done after documentWillSuspendForPageCache(), because the style
changes that HTMLPlugInImageElement::documentWillSuspendForPageCache()
do can schedule a layout on the FrameView, and we don't want this layout
timer to fire while the page is in the page cache.

Add an assertion in FrameView::layout() that the document is not in
the page cache. Without the above change, this would assert in
the plugins/frameset-with-plugin-frame.html test.

  • history/CachedFrame.cpp:

(WebCore::CachedFrame::CachedFrame):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

5:45 PM Changeset in webkit [129965] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Remove V8DOMWindowShell::getEntered
https://bugs.webkit.org/show_bug.cgi?id=96637

Patch by Dan Carney <dcarney@google.com> on 2012-09-28
Reviewed by Adam Barth.

V8DOMWindowShell::getEntered was refactored so that the window shell
no longer has to be kept alive by a v8 context but rather a smaller
object.

No new tests. No change in functionality.

  • bindings/v8/DOMData.cpp:

(WebCore::DOMData::getCurrentStore):

  • bindings/v8/ScopedPersistent.h:

(WebCore::ScopedPersistent::leakHandle):
(ScopedPersistent):

  • 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::toIsolatedContextData):
(WebCore::isolatedContextWeakCallback):
(WebCore::V8DOMWindowShell::disposeContext):
(WebCore::V8DOMWindowShell::clearIsolatedShell):
(WebCore):
(WebCore::V8DOMWindowShell::initializeIfNeeded):
(WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):

  • bindings/v8/V8DOMWindowShell.h:

(V8DOMWindowShell):
(IsolatedContextData):
(WebCore::V8DOMWindowShell::IsolatedContextData::create):
(WebCore::V8DOMWindowShell::IsolatedContextData::world):
(WebCore::V8DOMWindowShell::IsolatedContextData::perContextData):
(WebCore::V8DOMWindowShell::IsolatedContextData::setSecurityOrigin):
(WebCore::V8DOMWindowShell::IsolatedContextData::securityOrigin):
(WebCore::V8DOMWindowShell::IsolatedContextData::IsolatedContextData):
(WebCore::V8DOMWindowShell::enteredIsolatedContext):
(WebCore::V8DOMWindowShell::enteredIsolatedContextData):

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

5:36 PM Changeset in webkit [129964] by andersca@apple.com
  • 16 edits
    23 deletes in trunk/Source

Remove Java bridge
https://bugs.webkit.org/show_bug.cgi?id=97954

Reviewed by Sam Weinig.

The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::ScriptController):

  • bindings/js/ScriptController.h:

(ScriptController):

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::createScriptInstanceForWidget):

  • bridge/jni/JNIUtility.cpp: Removed.
  • bridge/jni/JNIUtility.h: Removed.
  • bridge/jni/JavaType.h: Removed.
  • bridge/jni/JobjectWrapper.cpp: Removed.
  • bridge/jni/JobjectWrapper.h: Removed.
  • bridge/jni/jni_jsobject.h: Removed.
  • bridge/jni/jni_jsobject.mm: Removed.
  • bridge/jni/jni_objc.mm: Removed.
  • bridge/jni/jsc/JNIUtilityPrivate.cpp: Removed.
  • bridge/jni/jsc/JNIUtilityPrivate.h: Removed.
  • bridge/jni/jsc/JavaArrayJSC.cpp: Removed.
  • bridge/jni/jsc/JavaArrayJSC.h: Removed.
  • bridge/jni/jsc/JavaClassJSC.cpp: Removed.
  • bridge/jni/jsc/JavaClassJSC.h: Removed.
  • bridge/jni/jsc/JavaFieldJSC.cpp: Removed.
  • bridge/jni/jsc/JavaFieldJSC.h: Removed.
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Removed.
  • bridge/jni/jsc/JavaInstanceJSC.h: Removed.
  • bridge/jni/jsc/JavaMethodJSC.cpp: Removed.
  • bridge/jni/jsc/JavaMethodJSC.h: Removed.
  • bridge/jni/jsc/JavaRuntimeObject.cpp: Removed.
  • bridge/jni/jsc/JavaRuntimeObject.h: Removed.
  • bridge/jni/jsc/JavaStringJSC.h: Removed.
  • bridge/runtime_root.h:
  • loader/FrameLoaderClient.h:

(FrameLoaderClient):

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

Make sure that we try to load the NPAPI Java plug-in.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

Source/WTF:

  • wtf/Platform.h:
5:04 PM Changeset in webkit [129963] by Dimitri Glazkov
  • 3 edits in trunk/Source/WebCore

Remove unused parameter in SelectorChecker::checkScrollbarPseudoClass.
https://bugs.webkit.org/show_bug.cgi?id=97941

Reviewed by Kentaro Hara.

The last parameter in checkScrollbarPseudoClass was unused, so I removed it.

No change in behavior, just refactoring.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector): Changed the callsite to accommodate the change.
(WebCore::SelectorChecker::checkScrollbarPseudoClass): Removed last param.

  • css/SelectorChecker.h: Ditto.
4:58 PM Changeset in webkit [129962] by hclam@chromium.org
  • 6 edits
    1 add in trunk

REGRESSION(r122215) - CachedImage::likelyToBeUsedSoon crashes on accessing a deleted CachedImageClient
https://bugs.webkit.org/show_bug.cgi?id=97749

Reviewed by James Robinson.

.:

Added a manual test to demonstrate drag image and crashing.

  • ManualTests/drag-image-no-crash.html: Added.

Source/WebCore:

All implementations of Clipboard set themselves as clients to CachedImage
through the JS API setDrageImage() but they do not detach during destruction.
This causes memory corruption when CachedImage tries to access a deleted client
when MemoryCache prunes and calls CachedImage::likelyToUsedSoon().

Manual test added: ManualTests/drag-image-no-crash.html

  • platform/chromium/ClipboardChromium.cpp:

(WebCore::ClipboardChromium::~ClipboardChromium):

  • platform/gtk/ClipboardGtk.cpp:

(WebCore::ClipboardGtk::~ClipboardGtk):

  • platform/mac/ClipboardMac.mm:

(WebCore::ClipboardMac::~ClipboardMac):

  • platform/win/ClipboardWin.cpp:

(WebCore::ClipboardWin::~ClipboardWin):

4:41 PM Changeset in webkit [129961] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Remove Instance::setDidExecuteFunction
https://bugs.webkit.org/show_bug.cgi?id=97952

Reviewed by Alexey Proskuryakov.

Instance::setDidExecuteFunction was added over 8 years ago to fix a bug where Objective-C
DOM calls weren't updating the document correctly. Nowadays we correctly invalidate the DOM tree
when these calls are made so we don't need an extra step to do so.

  • bindings/js/ScriptControllerMac.mm:

(WebCore):
(WebCore::ScriptController::initJavaJSBindings):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):

  • bridge/jsc/BridgeJSC.cpp:
  • bridge/jsc/BridgeJSC.h:

(Instance):

4:38 PM Changeset in webkit [129960] by jianli@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Add draggable property to WebDraggableRegion.
https://bugs.webkit.org/show_bug.cgi?id=97950

Reviewed by Adam Barth.

This needs to be done before we can land the patch to use new syntax for
draggable regions. This is because Chromium side code cannot enable
the changes to support new syntax side by side when this property is
not present.

  • public/WebDraggableRegion.h:

(WebDraggableRegion):

4:14 PM Changeset in webkit [129959] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

<rdar://problem/12398537> WebKit2 lacks API for disabling document.cookie like -[WebView _setCookieEnabled:]
https://bugs.webkit.org/show_bug.cgi?id=97939

Reviewed by Sam Weinig.

  • Shared/WebPreferencesStore.h:

(WebKit): Defined CookieEnabled key with a default value of true.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetCookieEnabled): Added this setter.
(WKPreferencesGetCookieEnabled): Added this getter.

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Added a call to Settings::setCookieEnabled to push the
preference into Settings.

4:12 PM Changeset in webkit [129958] by eae@chromium.org
  • 5 edits in trunk

Improve saturation arithmetic support in FractionalLayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=97938

Reviewed by Levi Weintraub.

Source/WebCore:

Fix bug in FractionalLayoutUnit::setValue where greater than or
equals is used instead of greater than to clamp the values.
Add SATURATED_LAYOUT_ARITHMETIC support to round preventing it
from overflowing when adding the fraction.

Test: fast/sub-pixel/large-sizes.html

  • platform/FractionalLayoutUnit.h:

(WebCore::FractionalLayoutUnit::round):
(WebCore::FractionalLayoutUnit::setValue):

LayoutTests:

Update large sizes test to better cover values near limit.

  • fast/sub-pixel/large-sizes-expected.txt:
  • fast/sub-pixel/large-sizes.html:
4:08 PM Changeset in webkit [129957] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix pluralization of Info.plist key.

Rubber-stamped by Anders Carlsson.

  • WebProcessService/Info.plist:
  • WebProcessServiceForWebKitDevelopment/Info.plist:

It's _MultipleInstances, not _MultipleInstance. :(

4:07 PM Changeset in webkit [129956] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

TextureMapperGL destructor crashes
https://bugs.webkit.org/show_bug.cgi?id=97942

Patch by Luiz Agostini <luiz.agostini@nokia.com> on 2012-09-28
Reviewed by Noam Rosenthal.

BitmapTextureGL destructor uses a TextureMapperGL instance. The problem is that
BitmapTextureGL objects are destroyed on TextureMapper destructor and at that
time TextureMapperGL specific methods and data are not available any more.

This patch creates a new protected method TextureMapper::clearTexturePool()
that is called in TextureMapperGL's destructor.

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::TextureMapper::clearTexturePool):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::~TextureMapperGL):

3:42 PM Changeset in webkit [129955] by jchaffraix@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r124168): Null crash in RenderLayer::createScrollbar
https://bugs.webkit.org/show_bug.cgi?id=96863

Reviewed by Abhishek Arya.

Source/WebCore:

After r124168, we synchronously create any overflow:scroll scrollbar on the first style change - we used to wait
until layout was called. The issue is that the logic in RenderLayer assumes that our node is completely attached
when the style change is dispatched. The crash occured because the 'content' image code path in
RenderObject::createObject triggered a style change too early.

Test: scrollbars/scrollbar-content-crash.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::createObject):
We need a style associated with the new RenderImage to call setImageResource but we don't need to trigger a
style change.

LayoutTests:

  • scrollbars/scrollbar-content-crash-expected.txt: Added.
  • scrollbars/scrollbar-content-crash.html: Added.
3:05 PM Changeset in webkit [129954] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

WontFix frame flattening crash test.

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

perf/nested-combined-selectors.html is flaky on Lion as well.

  • platform/chromium/TestExpectations:
2:41 PM Changeset in webkit [129952] by Simon Fraser
  • 1 edit
    2 adds in trunk/LayoutTests

Add two resources needed for the test added in r129944.

  • plugins/resources/plugin-frame.html: Added.
  • plugins/resources/plugin-page.html: Added.
2:32 PM Changeset in webkit [129951] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Mark this test as Missing since it has no png on any platform.

  • platform/chromium/TestExpectations:
2:23 PM Changeset in webkit [129950] by schenney@chromium.org
  • 1 edit
    8 adds in trunk/LayoutTests

Add canvas to set of elements that do not allow style sharing in order
to provoke RenderLayer creation
https://bugs.webkit.org/show_bug.cgi?id=97013

Unreviewed expectations update.

  • platform/chromium-mac/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/chromium-mac/fast/canvas/canvas-render-layer-expected.txt: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Added.
  • platform/chromium-win/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/chromium-win/fast/canvas/canvas-render-layer-expected.txt: Added.
  • platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.png: Added.
  • platform/chromium-win/platform/chromium/virtual/gpu/fast/canvas/canvas-render-layer-expected.txt: Added.
2:15 PM Changeset in webkit [129949] by fmalita@chromium.org
  • 1 edit
    1 move
    3 adds in trunk/LayoutTests

[Chromium] Unreviewed rebaseline for svg/custom/clip-mask-negative-scale.svg

  • platform/chromium-mac-snowleopard/svg/custom/clip-mask-negative-scale-expected.png: Added.
  • platform/chromium-mac/svg/custom/clip-mask-negative-scale-expected.png: Added.
  • platform/chromium-win/svg/custom/clip-mask-negative-scale-expected.png: Added.
  • platform/chromium/svg/custom/clip-mask-negative-scale-expected.txt: Renamed from LayoutTests/platform/chromium-linux/svg/custom/clip-mask-negative-scale-expected.txt.
1:57 PM Changeset in webkit [129948] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk
ASSERTION in m_graph[tailNodeIndex].op() == Flush
m_graph[tailNodeIndex].op() == SetLocal on plus.google.com

https://bugs.webkit.org/show_bug.cgi?id=97656

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

There were two bugs here:

1) In case of multiple GetLocals to the same captured variable, the bytecode parser would linke the first,

rather than the last, of the GetLocals into the vars-at-tail table.


2) The constant folding phase was asserting that any GetLocal it eliminates must be linked into the

vars-at-tail table, when for captured variables only the last of those should be.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getLocal):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

LayoutTests:

  • fast/js/dfg-redundant-load-of-captured-variable-proven-constant-expected.txt: Added.
  • fast/js/dfg-redundant-load-of-captured-variable-proven-constant.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-redundant-load-of-captured-variable-proven-constant.js: Added.

(o.f):

1:57 PM Changeset in webkit [129947] by abarth@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] WebFrameImpl::m_frame is redundant now that WebFrameImpl inherits from FrameDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=97934

Reviewed by James Robinson.

After http://trac.webkit.org/changeset/129910, WebFrameImpl inherits
from FrameDestructionObserver, which means it no longer need to manage
its own weak pointer to WebCore::Frame.

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::frameLoaderDestroyed):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::WebFrameImpl):
(WebKit::WebFrameImpl::setWebCoreFrame):

  • src/WebFrameImpl.h:

(WebKit::WebFrameImpl::frameView):

1:53 PM Changeset in webkit [129946] by ojan@chromium.org
  • 1 edit in branches/chromium/1229/Source/WebKit/chromium/features.gypi

Disable CSS sticky positioning. BUG=152681

1:51 PM Changeset in webkit [129945] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Chromium should respect 'text-rendering:geometricPrecision' by disabling hinting.
https://bugs.webkit.org/show_bug.cgi?id=97932

Patch by Ben Wagner <bungeman@chromium.org> on 2012-09-28
Reviewed by Stephen White.

When text-redering:geometricPrecision css property is present, the specification states that hinting should be disabled. This change does so.

This also provides users a more stable and sane means of achieving the result webkit-font-smoothing:antialiased has been providing by accident.
See http://crbug.com/152304 .

  • platform/graphics/skia/FontSkia.cpp:

(WebCore::setupPaint):

1:44 PM Changeset in webkit [129944] by Simon Fraser
  • 3 edits
    5 adds in trunk

Crash re-entering Document layout with frame flattening enabled
https://bugs.webkit.org/show_bug.cgi?id=97841

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Walking up to parent FrameViews when doing a frame-flattening
layout should walk via the Frame tree, not the Widget hierarchy.
Walking via the Frame tree ensures that we don't walk up to the
root Frame when laying out a subframe that is in the page cache.
That's bad, because the root Frame is reused for the new
page, and laying it out from a frame in the page cache causes
re-entrant layout.

Test: plugins/frameset-with-plugin-frame.html

  • page/FrameView.cpp:

(WebCore::FrameView::parentFrameView):

LayoutTests:

Test that navigates from one frameset to another frameset, where
one of the subframes contains a plugin.

  • plugins/frameset-with-plugin-frame-expected.txt: Added.
  • plugins/frameset-with-plugin-frame.html: Added.
  • plugins/resources/frame-with-plugin-subframe.html: Added.
  • plugins/resources/target-frameset-frame.html: Added.
  • plugins/resources/target-frameset.html: Added.
1:38 PM Changeset in webkit [129943] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFGStructureHoistingPhase SetLocal assumes StructureTransitionWatchpoint has a structure set
https://bugs.webkit.org/show_bug.cgi?id=97810

Reviewed by Mark Hahnenberg.

No tests because this can't happen in ToT: the structure check hoisting phase runs before any
CFA or folding, so the only StructureTransitionWatchpoints it will see are the ones inserted
by the parser. But the parser will only insert StructureTransitinWatchpoints on constants, which
will not be subject to SetLocals.

Still, it would be good to fix this in case things changed.

  • dfg/DFGStructureCheckHoistingPhase.cpp:

(JSC::DFG::StructureCheckHoistingPhase::run):

1:33 PM Changeset in webkit [129942] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Pass the correct path length to _NSGetExecutablePath
https://bugs.webkit.org/show_bug.cgi?id=97935

Reviewed by Sam Weinig.

  • WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm:

(WebProcessServiceForWebKitDevelopmentEventHandler):
Initialize pathLength before passing it to _NSGetExecutablePath.

1:28 PM Changeset in webkit [129941] by dpranke@chromium.org
  • 3 edits in trunk/Tools

webkit-patch rebaseline-expectations is broken
https://bugs.webkit.org/show_bug.cgi?id=97619

Reviewed by Ojan Vafai.

The new expectations format is causing two problems for
webkit-patch rebaseline expectations

1) the transformation into and out of the old syntax (which is
still used internally) is somewhat lossy, e.g., we're not
preserving the case of Bug(x) identifiers. Also, we can't
tell if the input was [ WontFix ] or [ Skip WontFix Pass ]
2) the new syntax is more lenient, allowing for multiple ways to
specify the same result, e.g., "[ Skip ]" may or may not be
missing.

As a result, we end up rewriting a whole bunch of lines for
purely syntactic differences.

Both of these things are bugs that need to be fixed, but
we should also not just rewrite lines that shouldn't be
modified.

This patch fixes the last issue (no rewriting).

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationLine._format_line):
(TestExpectations.remove_rebaselined_tests):

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:

(RebaseliningTest.test_remove):

1:24 PM Changeset in webkit [129940] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r129911.
http://trac.webkit.org/changeset/129911
https://bugs.webkit.org/show_bug.cgi?id=97933

Inspector test crashes on win debug (Requested by jsbell on
#webkit).

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

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::taskTimerFired):

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

Unskip fast/text/descent-clip-in-scaled-page.html
https://bugs.webkit.org/show_bug.cgi?id=91552

The test now passes on Mac.

  • platform/mac/TestExpectations:
1:13 PM Changeset in webkit [129938] by yoli@rim.com
  • 3 edits
    2 adds in trunk

Source/WebCore: [HarfBuzz] harfbuzz expects log_clusters to have same length as other buffers.
https://bugs.webkit.org/show_bug.cgi?id=97725

Reviewed by Tony Chang.

log_clusters should have same length as other buffers, which is number of glyphs.

Test: fast/text/international/harfbuzz-buffer-overrun.html

  • platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:

(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::~ComplexTextController):
(WebCore::ComplexTextController::deleteGlyphArrays):
(WebCore::ComplexTextController::createGlyphArrays):

LayoutTests: [HarfBuzz] harfbuzz expects log_clusters to have same length as other buffers
https://bugs.webkit.org/show_bug.cgi?id=97725

Reviewed by Tony Chang.

Add a test case. A buffer overrun doesn't always cause immediate crash unless it runs with some
memory verification techs like WTF_FASTMALLOC_VALIDATION.

  • fast/text/international/harfbuzz-buffer-overrun-expected.txt: Added.
  • fast/text/international/harfbuzz-buffer-overrun.html: Added.
1:03 PM Changeset in webkit [129937] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

WebKitLoaderClient: add missing initializer.
https://bugs.webkit.org/show_bug.cgi?id=97930

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-09-28
Reviewed by Martin Robinson.

WKPageLoaderClient is missing the initializer for the didLayout
field. Fixes -Wmissing-field-initializers.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(attachLoaderClientToView):

12:57 PM Changeset in webkit [129936] by schenney@chromium.org
  • 3 edits in trunk/LayoutTests

[Chromium] Incorrect resampling of clipped/masked images.
https://bugs.webkit.org/show_bug.cgi?id=97409

Unreviewed expectations update.

Another pass may be required to get the remaining platforms.

  • platform/chromium-linux/svg/custom/clip-mask-negative-scale-expected.png: Updated and added property svn:mime-type.
  • platform/chromium/TestExpectations:
12:50 PM Changeset in webkit [129935] by schenney@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

Unreviewed Chromium Win build fix.

  • src/WebViewImpl.cpp: Added "f" on initializers for floats.

(WebKit):

  • tests/WebFrameTest.cpp: Added "f" on initializers for floats.
12:48 PM Changeset in webkit [129934] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk

Source/WebCore: Add canvas to set of elements that do not allow style sharing in order to provoke RenderLayer creation
https://bugs.webkit.org/show_bug.cgi?id=97013

Patch by Brian Salomon <bsalomon@google.com> on 2012-09-28
Reviewed by James Robinson.

This allows RenderLayers to be created for canvas elements when they are accelerated. Otherwise, we can exit out of RenderObject::setStyle before the layer is created.

Test: fast/canvas/canvas-render-layer.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::adjustStyleDifference):
(WebCore::RenderObject::setStyle):

LayoutTests: Add a test that checks whether accelerated canvases that change compositing status are given render layers.
https://bugs.webkit.org/show_bug.cgi?id=97013

Patch by Brian Salomon <bsalomon@google.com> on 2012-09-28
Reviewed by James Robinson.

The test creates four canvases. One is never rendered to, the second is rendered to immediately, and the third and fourth are rendered to using nested setTimeouts.

  • fast/canvas/canvas-render-layer.html: Added.
  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
12:38 PM Changeset in webkit [129933] by fsamuel@chromium.org
  • 3 edits in trunk/Source/WebCore

[V8] Make v8NPObjectMap per Context
https://bugs.webkit.org/show_bug.cgi?id=97703

Reviewed by Adam Barth.

V8NPObject is a V8Object wrapper for use by the npruntime.

staticV8NPObjectMap is used for keeping record of V8NPObjects as they are created and destroyed
to ensure that an existing V8NPObject wrapper is returned for a V8Object in npCreateV8ScriptObject.

Once a context is gone, the NPObjects for the context are no longer valid and that record keeping
no longer makes sense so we clear the map.

However, because the map was static, it existed for all pages across contexts. Clearing the
map if one context is gone should not impact the V8NPObject map of other contexts.

Thus, this patch makes the V8NPObject map per context.

  • bindings/v8/NPV8Object.cpp:

(WebCore::freeV8NPObject):
(WebCore::npCreateV8ScriptObject):

  • bindings/v8/V8PerContextData.h:

(WebCore):
(WebCore::V8PerContextData::v8NPObjectMap):
(V8PerContextData):

12:37 PM Changeset in webkit [129932] by dpranke@chromium.org
  • 7 edits in trunk

virtual directories should just rename the beginning of the test path
https://bugs.webkit.org/show_bug.cgi?id=97925

Reviewed by Ojan Vafai.

Tools:

We were replacing all occurrences of the base prefix of a
virtual test suite with the virtual name, instead of just the
first. So, where we had softwarecompositing running the
compositing tests, any compositing test that actually had
"compositing" in the test base name would get that expanded
incorrectly.

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

(Port.populated_virtual_test_suites):
(Port.lookup_virtual_test_base):

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

(PortTest.test_tests):

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

LayoutTests:

Delete references to tests that don't exist :).

  • platform/chromium/TestExpectations:
12:30 PM Changeset in webkit [129931] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

TextureMapperGL: fix -Wsign-compare compilation warning.
https://bugs.webkit.org/show_bug.cgi?id=97928

Patch by Alberto Garcia <agarcia@igalia.com> on 2012-09-28
Reviewed by Martin Robinson.

Use size_t rather than int to iterate over FilterOperations.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::BitmapTextureGL::applyFilters):

12:18 PM Changeset in webkit [129930] by ojan@chromium.org
  • 3 edits in trunk/Tools

Garden-o-matic sometimes things buildbot warnings are failures
https://bugs.webkit.org/show_bug.cgi?id=97926

Reviewed by Tony Chang.

It turns out the JSON clearly tells us if it's a failure.
We want to skip all warnings even if they don't have "warning" in the text.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
12:03 PM Changeset in webkit [129929] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • WebCore.xcodeproj/project.pbxproj:
11:54 AM Changeset in webkit [129928] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Source/WebKit/chromium

[Chromium]Add DoubleTap gesture
https://bugs.webkit.org/show_bug.cgi?id=90316

Patch by Yusuf Ozuysal <yusufo@google.com> on 2012-09-28
Reviewed by Adam Barth.

Added doubleTapGesture implementation and hooked it to an already present function computeScaleAndScrollForHitRect. Added 2 new tests and changed one based on the new implementation.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
(WebKit::WebViewImpl::animateZoomAroundPoint):
(WebKit::WebViewImpl::didCommitLoad):
(WebKit::WebViewImpl::applyScrollAndScale):

  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/WebFrameTest.cpp:
  • tests/data/get_multiple_divs_for_auto_zoom_test.html: Added.
  • tests/data/get_scale_bounds_check_for_auto_zoom_test.html: Added.
  • tests/data/get_scale_for_auto_zoom_into_div_test.html:
11:31 AM Changeset in webkit [129927] by abarth@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] WebFrameImpl.cpp could use a style cleanup
https://bugs.webkit.org/show_bug.cgi?id=97924

Reviewed by Dimitri Glazkov.

This file is very old and contains a large number of style errors that
are confusing folks contributing new code to this file. Most of these
styles are Chromium-isms that crept in when the file was forked in the
Chromium repository.

  • src/WebFrameImpl.cpp:

(WebKit):
(WebKit::frameContentAsPlainText):
(ChromePrintContext):
(WebKit::ChromePrintContext::spoolPage):
(WebKit::ChromePrintContext::spoolAllPagesWithBoundaries):
(ChromePluginPrintContext):
(WebKit::ChromePluginPrintContext::spoolPage):
(WebKit::WebFrameImpl::DeferredScopeStringMatches::DeferredScopeStringMatches):
(WebKit::WebFrameImpl::DeferredScopeStringMatches::doTimeout):
(WebKit::WebFrame::fromFrameOwnerElement):
(WebKit::WebFrameImpl::uniqueName):
(WebKit::WebFrameImpl::assignedName):
(WebKit::WebFrameImpl::setName):
(WebKit::WebFrameImpl::iconURLs):
(WebKit::WebFrameImpl::scrollOffset):
(WebKit::WebFrameImpl::minimumScrollOffset):
(WebKit::WebFrameImpl::maximumScrollOffset):
(WebKit::WebFrameImpl::contentsPreferredWidth):
(WebKit::WebFrameImpl::documentElementScrollHeight):
(WebKit::WebFrameImpl::hasHorizontalScrollbar):
(WebKit::WebFrameImpl::hasVerticalScrollbar):
(WebKit::WebFrameImpl::opener):
(WebKit::WebFrameImpl::setOpener):
(WebKit::WebFrameImpl::parent):
(WebKit::WebFrameImpl::top):
(WebKit::WebFrameImpl::firstChild):
(WebKit::WebFrameImpl::lastChild):
(WebKit::WebFrameImpl::nextSibling):
(WebKit::WebFrameImpl::previousSibling):
(WebKit::WebFrameImpl::traverseNext):
(WebKit::WebFrameImpl::traversePrevious):
(WebKit::WebFrameImpl::findChildByName):
(WebKit::WebFrameImpl::findChildByExpression):
(WebKit::WebFrameImpl::document):
(WebKit::WebFrameImpl::performance):
(WebKit::WebFrameImpl::windowObject):
(WebKit::WebFrameImpl::bindToWindowObject):
(WebKit::WebFrameImpl::executeScript):
(WebKit::WebFrameImpl::executeScriptInIsolatedWorld):
(WebKit::WebFrameImpl::setIsolatedWorldSecurityOrigin):
(WebKit::WebFrameImpl::collectGarbage):
(WebKit::WebFrameImpl::checkIfRunInsecureContent):
(WebKit::WebFrameImpl::executeScriptAndReturnValue):
(WebKit::WebFrameImpl::callFunctionEvenIfScriptDisabled):
(WebKit::WebFrameImpl::mainWorldScriptContext):
(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createSerializableFileSystem):
(WebKit::WebFrameImpl::createFileEntry):
(WebKit::WebFrameImpl::reload):
(WebKit::WebFrameImpl::reloadWithOverrideURL):
(WebKit::WebFrameImpl::loadRequest):
(WebKit::WebFrameImpl::loadHistoryItem):
(WebKit::WebFrameImpl::loadData):
(WebKit::WebFrameImpl::loadHTMLString):
(WebKit::WebFrameImpl::isLoading):
(WebKit::WebFrameImpl::stopLoading):
(WebKit::WebFrameImpl::provisionalDataSource):
(WebKit::WebFrameImpl::dataSource):
(WebKit::WebFrameImpl::previousHistoryItem):
(WebKit::WebFrameImpl::currentHistoryItem):
(WebKit::WebFrameImpl::enableViewSourceMode):
(WebKit::WebFrameImpl::isViewSourceModeEnabled):
(WebKit::WebFrameImpl::setReferrerForRequest):
(WebKit::WebFrameImpl::dispatchWillSendRequest):
(WebKit::WebFrameImpl::commitDocumentData):
(WebKit::WebFrameImpl::insertText):
(WebKit::WebFrameImpl::setMarkedText):
(WebKit::WebFrameImpl::firstRectForCharacterRange):
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::requestTextChecking):
(WebKit::WebFrameImpl::selectWordAroundPosition):
(WebKit::WebFrameImpl::selectRange):
(WebKit::WebFrameImpl::visiblePositionForWindowPoint):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::getPrintPageShrink):
(WebKit::WebFrameImpl::printPage):
(WebKit::WebFrameImpl::printEnd):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):
(WebKit::WebFrameImpl::pageSizeAndMarginsInPixels):
(WebKit::WebFrameImpl::pageProperty):
(WebKit::WebFrameImpl::find):
(WebKit::WebFrameImpl::scopeStringMatches):
(WebKit::WebFrameImpl::reportFindInPageSelection):
(WebKit::WebFrameImpl::sendOrientationChangeEvent):
(WebKit::WebFrameImpl::addEventListener):
(WebKit::WebFrameImpl::removeEventListener):
(WebKit::WebFrameImpl::dispatchEvent):
(WebKit::WebFrameImpl::dispatchMessageEventWithOriginCheck):
(WebKit::WebFrameImpl::isActiveMatchFrameValid):
(WebKit::WebFrameImpl::deliverIntent):
(WebKit::WebFrameImpl::contentAsText):
(WebKit::WebFrameImpl::contentAsMarkup):
(WebKit::WebFrameImpl::renderTreeAsText):
(WebKit::WebFrameImpl::printPagesWithBoundaries):
(WebKit::WebFrameImpl::selectionBoundsRect):
(WebKit::WebFrameImpl::selectionStartHasSpellingMarkerFor):
(WebKit::WebFrameImpl::layerTreeAsText):
(WebKit::WebFrameImpl::initializeAsMainFrame):
(WebKit::WebFrameImpl::createChildFrame):
(WebKit::WebFrameImpl::createFrameView):
(WebKit::WebFrameImpl::fromFrame):
(WebKit::WebFrameImpl::fromFrameOwnerElement):
(WebKit::WebFrameImpl::viewImpl):
(WebKit::WebFrameImpl::setCanHaveScrollbars):
(WebKit::WebFrameImpl::setMarkerActive):
(WebKit::WebFrameImpl::ordinalOfFirstMatchForFrame):
(WebKit::WebFrameImpl::scopeStringMatchesSoon):
(WebKit::WebFrameImpl::callScopeStringMatches):
(WebKit::WebFrameImpl::invalidateIfNecessary):
(WebKit::WebFrameImpl::loadJavaScriptURL):

11:29 AM Changeset in webkit [129926] by kareng@chromium.org
  • 6 edits in branches/chromium/1271

Merge 129397 - MediaStream API: Fix the incorrectly spelled RTCPeerConnection::onnegotiationneeded callback
https://bugs.webkit.org/show_bug.cgi?id=97456

Reviewed by Adam Barth.

Renamed onnegotationneeded to onnegotiationneeded.

Source/WebCore:

Existing test updated.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::negotiationNeeded):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-onnegotiationneeded-expected.txt:
  • fast/mediastream/RTCPeerConnection-onnegotiationneeded.html:

TBR=tommyw@google.com
Review URL: https://codereview.chromium.org/10982093

11:19 AM Changeset in webkit [129925] by kpiascik@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Update the value of window.devicePixelRation when it is set programmatically
https://bugs.webkit.org/show_bug.cgi?id=97512

Reviewed by Rob Buis.

RIM PR 213984
Set the deviceScaleFactor of the page explicity when the
devicePixelRatio is changed.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

11:16 AM Changeset in webkit [129924] by commit-queue@webkit.org
  • 17 edits in trunk/Source

Code inside FrameLoaderClient::canShowMIMEType() implementations can be shared among different WK ports
https://bugs.webkit.org/show_bug.cgi?id=97547

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-28
Reviewed by Adam Barth.

Source/WebCore:

Added MIMETypeRegistry::canShowMIMEType() function which should to be used
to detect whether a given MIME type can be shown in a page.

No new tests. No new functionality.

  • WebCore.exp.in: Added MIMETypeRegistry::canShowMIMEType(). Removed MIMETypeRegistry functions that no longer need to be exported.
  • platform/MIMETypeRegistry.cpp:

(WebCore::MIMETypeRegistry::canShowMIMEType):
(WebCore):

  • platform/MIMETypeRegistry.h:

(MIMETypeRegistry):

Source/WebKit/blackberry:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebCore::FrameLoaderClientBlackBerry::canShowMIMEType().

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::canShowMIMEType):

Source/WebKit/efl:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebCore::FrameLoaderClientEfl::canShowMIMEType().

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::canShowMIMEType):

Source/WebKit/gtk:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebKit::FrameLoaderClient::canShowMIMEType().

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::canShowMIMEType):

Source/WebKit/qt:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebCore::FrameLoaderClientQt::canShowMIMEType().

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::canShowMIMEType):

Source/WebKit/wince:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebKit::FrameLoaderClientWinCE::canShowMIMEType().

  • WebCoreSupport/FrameLoaderClientWinCE.cpp:

(WebKit::FrameLoaderClientWinCE::canShowMIMEType):

Source/WebKit2:

Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
inside WebKit::WebPageProxy::canShowMIMEType() and WKBundlePageCanShowMIMEType().

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::canShowMIMEType):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageCanShowMIMEType):

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

The virtual path for this test is incorrect. It appears to be
causing archiving problems on the Chromium Windows bots.
Skip it for now until the run-webkit-tests bug is fixed.

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

[EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy.
https://bugs.webkit.org/show_bug.cgi?id=97839

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

VibrationProvider has WKRetainPtr<WKVibrationRef> m_wkVibrationRef
which has reference for object WebVibrationProxy.
The WebVibrationProxy instance is a member of WebContext who has it
as RefPtr<WebVibrationProxy>.

A member of one class is shared with another class, but there is no
relation between the two classes.

This can become a problem when WebContext is deleted before the
VibrationProvider, WebVibrationProxy will be alive without WebContext,
because VibrationProvider also has the reference for WebVibrationProxy.

This is a problem because WebVibrationProxy should be a member of
WebContext.

To prevent this, I changed the VibrationProvider to have
WKRetainPtr<WKContextRef> instead of WKRetainPtr<WKVibrationRef>.
Same for BatteryProvider and NetworkInfoProvider.

  • UIProcess/API/efl/BatteryProvider.cpp:

(BatteryProvider::create):
(BatteryProvider::BatteryProvider):
(BatteryProvider::didChangeBatteryStatus):

  • UIProcess/API/efl/BatteryProvider.h:

(BatteryProvider):

  • UIProcess/API/efl/NetworkInfoProvider.cpp:

(NetworkInfoProvider::create):
(NetworkInfoProvider::NetworkInfoProvider):

  • UIProcess/API/efl/NetworkInfoProvider.h:

(NetworkInfoProvider):

  • UIProcess/API/efl/VibrationProvider.cpp:

(VibrationProvider::create):
(VibrationProvider::VibrationProvider):

  • UIProcess/API/efl/VibrationProvider.h:

(VibrationProvider):

  • UIProcess/API/efl/ewk_context.cpp:

(_Ewk_Context::_Ewk_Context):

10:55 AM Changeset in webkit [129921] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

[Mac] Removing tests from TestExpectations

Expected failures now pass. Also see these tests have been unskipped on Chromium
(see bugs 84764, 84767, 84768, 84769, 84775, 84776).

  • platform/mac/TestExpectations:
10:53 AM Changeset in webkit [129920] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Hard to tap on x to clear a text field
https://bugs.webkit.org/show_bug.cgi?id=97923

Reviewed by Antonio Gomes.

PR97923

Allow the shadow element for 'X' to be clickable and do not prefer
shadow content-editable div's over the 'X'.

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::isElementClickable):

10:47 AM Changeset in webkit [129919] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

Removing tests from TestExpectations on Mac platform.

Bugs 86137 and 86139 have been fixed. Remove a couple ietestcenter tests from TestExpectations.

  • platform/mac/TestExpectations:
10:42 AM Changeset in webkit [129918] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium expectations update

Adding more files to software compositing exclusions. The end?

  • platform/chromium/TestExpectations:
10:33 AM Changeset in webkit [129917] by eric.carlson@apple.com
  • 4 edits in trunk/WebKitLibraries

Allow ports to override text track rendering style
<rdar://problem/12044964>

Reviewed by Jessie Berlin.

Update WKSI libraries.

  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMountainLion.a:
  • libWebKitSystemInterfaceSnowLeopard.a:
10:22 AM Changeset in webkit [129916] by tonikitoo@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Extend composited in-region scrolling to iframes/frames
https://bugs.webkit.org/show_bug.cgi?id=97922
PR #197093

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>
Internaly reviewed by Arvid Nilsson.

Add support for composited scrolling in a inner frame level:

1) When creating an InRegionScrollableArea, for a inner scrollable frame,
cache and camouflag the appropriated scroll layer (i.e. RenderLayerCompositor::scrollLayer);

2) Differentiate what type of scroll target we are at: BlockElement or
InnerFrame;

3) Change the signature of the public methods to support and newly passed
in ScrollTarget parameter;
As a side note, this parameter is needed in order to know what class to static_cast
the GraphicsLayer::client to: in the case of a composited scrollable inner frame, the client
is a RenderLayerCompositor; in case of a composited scrollable block element, the client
is a RenderLayerBacking.

  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
(BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):

  • Api/InRegionScroller.h:
  • Api/InRegionScroller_p.h:

(InRegionScrollerPrivate):

  • WebCoreSupport/ChromeClientBlackBerry.h:

(WebCore::ChromeClientBlackBerry::allowedCompositingTriggers):

  • WebKitSupport/InRegionScrollableArea.cpp:

(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

10:16 AM Changeset in webkit [129915] by leviw@chromium.org
  • 1 edit in branches/chromium/1271/Source/WebCore/rendering/RenderText.cpp

Merge 129814 - REGRESSION(r129186): Pressing enter at the end of a line deletes the line
https://bugs.webkit.org/show_bug.cgi?id=97763

Reviewed by Ryosuke Niwa.

r129186 exposed incorrect behavior in RenderText whereby RenderText's lines were
dirtied but the renderer wasn't marked for layout. Rich text editing in GMail exposed
this behavior. RenderText::setTextWithOffset is called with a text string identical
to the current text. It still dirties lines, then calls setText, which has a check
for the case when the strings are the same and returns early and doesn't mark us as
needing layout.

This change adds the same early bailing logic in setText to setTextWithOffset, but
forces setText to work its magic whenever we dirty lines there (and avoid double-
checking that the strings are equal).

  • rendering/RenderText.cpp:

(WebCore::RenderText::setTextWithOffset):

TBR=leviw@chromium.org
Review URL: https://codereview.chromium.org/10983086

10:14 AM Changeset in webkit [129914] by tony@chromium.org
  • 4 edits
    2 adds in trunk

flexbox assert fails with auto-sized item with padding
https://bugs.webkit.org/show_bug.cgi?id=97606

Reviewed by Ojan Vafai.

Source/WebCore:

Depending on the denominator of FractionalLayoutUnit, we can lose precision when
converting to a float. This would cause a rounding error in flex-shrink to trigger an ASSERT.
To avoid this problem in the future, switch to using doubles for flex-shrink and flex-grow
at layout time. The CSS values themselves are still floats.

Test: css3/flexbox/negative-flex-rounding-assert.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutFlexItems): Use doubles for local variables.
(WebCore::RenderFlexibleBox::computeNextFlexLine): Pass in doubles.
(WebCore::RenderFlexibleBox::freezeViolations): Pass in doubles.
(WebCore::RenderFlexibleBox::resolveFlexibleLengths): Pass in doubles.

  • rendering/RenderFlexibleBox.h:

LayoutTests:

Add a test that hits an ASSERT when FractionalLayoutUnit denominator is 60.

  • css3/flexbox/negative-flex-rounding-assert-expected.txt: Added.
  • css3/flexbox/negative-flex-rounding-assert.html: Added.
9:51 AM Changeset in webkit [129913] by commit-queue@webkit.org
  • 32 edits in trunk/Source/WebCore

Unreviewed, rolling out r129751.
http://trac.webkit.org/changeset/129751
https://bugs.webkit.org/show_bug.cgi?id=97921

Causes crashes on mac and win (Requested by vsevik on
#webkit).

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

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

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

  • 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::InspectorConsoleAgent::InspectorConsoleAgent):
(WebCore::InspectorConsoleAgent::enable):
(WebCore::InspectorConsoleAgent::disable):
(WebCore::InspectorConsoleAgent::clearMessages):
(WebCore::InspectorConsoleAgent::clearFrontend):
(WebCore::InspectorConsoleAgent::addConsoleMessage):

  • inspector/InspectorConsoleAgent.h:

(InspectorConsoleAgent):

  • inspector/InspectorController.cpp:

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

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::hasFrontendForScriptContext):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::hasFrontendForScriptContext):

  • inspector/InspectorRuntimeAgent.cpp:

(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):

  • inspector/InspectorRuntimeAgent.h:

(InspectorRuntimeAgent):

  • inspector/PageRuntimeAgent.cpp:

(PageRuntimeAgentState):
(WebCore::PageRuntimeAgent::clearFrontend):
(WebCore::PageRuntimeAgent::restore):
(WebCore::PageRuntimeAgent::setReportExecutionContextCreation):
(WebCore::PageRuntimeAgent::didClearWindowObject):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext):

  • inspector/PageRuntimeAgent.h:

(PageRuntimeAgent):

  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::setReportExecutionContextCreation):
(WebCore):

  • inspector/WorkerRuntimeAgent.h:

(WorkerRuntimeAgent):

  • inspector/front-end/RuntimeModel.js:

(WebInspector.RuntimeModel.prototype._didLoadCachedResources):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

9:46 AM Changeset in webkit [129912] by tkent@chromium.org
  • 15 edits in trunk/Source

Add parseDateTime, formatDateTime, and dateFormatText to Localizer
https://bugs.webkit.org/show_bug.cgi?id=97885

Reviewed by Kentaro Hara.

Source/WebCore:

This is a preparation to remove LocalizedData.h.

Add the following pure virtual member functions to Localizer.

parseDateTime
formatDateTime
dateFormatText.

We rename existing parse/format functions for type=date in Locale*
classes, and extend their functionality so that they support other
date/time types. They override the new functions of Localizer.

No new tests. This should not change any behavior.

  • platform/text/Localizer.h:

(Localizer): Add parseDateTime, formatDateTime, and dateFormatText.

  • platform/text/LocaleICU.h:

(LocaleICU):

  • Rename parseLocalizedDate to parseDateTime
  • Add type argument to parseDateTime
  • Rename formatLocalizedDate to formatDateTime
  • Rename localizedDateFormatText to dateFormatText
  • Make parseDateTime/formatDateTime/dateFormatText virtual.
  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::parseDateTime):
Renamed. Reject non-date types.
(WebCore::LocaleICU::formatDateTime): ditto.
(WebCore::LocaleICU::dateFormatText): Renamed.

  • platform/text/LocalizedDateICU.cpp: Moved some code to LocaleICU.cpp.

(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):

  • platform/text/LocaleNone.cpp:

Add empty implementations of parseDateTime, formatDateTime, and
dateFormatText.
(LocaleNone):
(WebCore::LocaleNone::parseDateTime):
(WebCore::LocaleNone::formatDateTime):
(WebCore::LocaleNone::dateFormatText):

  • platform/text/LocaleWin.h:

(LocaleWin):

  • Rename parseDate to parseDateTime
  • Add type argument to parseDateTime
  • Rename formatDate to formatDateTime
  • Make parseDateTime/formatDateTime/dateFormatText virtual.
  • platform/text/LocaleWin.cpp:

(WebCore::LocaleWin::parseDateTime):
Renamed. Reject non-date types.
(WebCore::LocaleWin::formatDateTime): ditto.

  • platform/text/LocalizedDateWin.cpp: Moved some code to LocaleWin.cpp.

(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):

  • platform/text/mac/LocaleMac.h:

(LocaleMac):

  • Rename parseDate to parseDateTime
  • Add type argument to parseDateTime
  • Rename formatDate to formatDateTime
  • Make parseDateTime/formatDateTime/dateFormatText virtual.
  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::parseDateTime):
Renamed. Reject non-date types.
(WebCore::LocaleMac::formatDateTime): ditto.

  • platform/text/mac/LocalizedDateMac.cpp: Moved some code to LocaleMac.mm.

(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):

Source/WebKit/chromium:

  • tests/LocaleMacTest.cpp: Follow renaming of LocaleMac functions.

(LocaleMacTest::formatDate):
(LocaleMacTest::parseDate):

  • tests/LocaleWinTest.cpp: Follow renaming of LocaleWin functions.

(LocaleWinTest::formatDate):
(LocaleWinTest::parseDate):

9:38 AM Changeset in webkit [129911] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Run multiple tasks per transaction tick
https://bugs.webkit.org/show_bug.cgi?id=97738

Reviewed by Tony Chang.

Process multiple tasks from the pending queue(s) when the timer fires. The
task may initiate new tasks that change which queue is active (e.g. indexing
operations) so the loop must re-check each tick which queue to use.

In DumpRenderTree, time to make 20k puts/20k gets dropped from 3.2s to 2.0s (-37%);
in Chromium's content_shell, the time dropped from 8.1s to 4.6s (-42%).

No new tests - just perf improvements, covered by (nearly) all existing IDB tests.

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort): Use takeFirst() to clean up code.
(WebCore::IDBTransactionBackendImpl::taskTimerFired): Process as many tasks as are available.

9:38 AM Changeset in webkit [129910] by leandrogracia@chromium.org
  • 7 edits in trunk/Source/WebKit/chromium

[Chromium] Fix the find-in-page implementation for detaching frames.
https://bugs.webkit.org/show_bug.cgi?id=97807

Reviewed by Adam Barth.

Follow-up of 97688. Introduces proper test coverage for the find-in-page
feature in detaching/detached frame situations, fixing a few crashes and
ensuring that a final reply is always sent.

  • public/WebNode.h:
  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::find):
(WebKit::WebFrameImpl::scopeStringMatches):
(WebKit::WebFrameImpl::flushCurrentScopingEffort):
(WebKit):
(WebKit::WebFrameImpl::finishCurrentScopingEffort):
(WebKit::WebFrameImpl::cancelPendingScopingEffort):
(WebKit::WebFrameImpl::WebFrameImpl):
(WebKit::WebFrameImpl::setWebCoreFrame):
(WebKit::WebFrameImpl::initializeAsMainFrame):
(WebKit::WebFrameImpl::createChildFrame):
(WebKit::WebFrameImpl::shouldScopeMatches):
(WebKit::WebFrameImpl::willDetachPage):

  • src/WebFrameImpl.h:

(WebFrameImpl):

  • src/WebNode.cpp:

(WebKit::WebNode::remove):
(WebKit):

  • tests/WebFrameTest.cpp:
  • tests/data/find_in_page.html:
9:34 AM Changeset in webkit [129909] by tonikitoo@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Exiting fullscreen does not set the correct scroll position
https://bugs.webkit.org/show_bug.cgi?id=97917
PR #212920

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>
Internally reviewed by Jacky Jiang.

Restore the zoom level and scroll position at the time when know
the fullscreen exit routine has ended (i.e. in ::setViewportSize
instead of ::exitFullScreenForElement).

Also patch caches now the scroll position instead of only the
"x scroll position.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
(BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):

  • Api/WebPage_p.h:

(WebPagePrivate):

9:25 AM Changeset in webkit [129908] by commit-queue@webkit.org
  • 17 edits
    2 copies
    16 adds in trunk

Implement the GetStats interface on PeerConnection
https://bugs.webkit.org/show_bug.cgi?id=95193

Source/Platform:

Patch by Harald Tveit Alvestrand <harald@alvestrand.no> on 2012-09-28
Reviewed by Adam Barth.

  • chromium/public/WebRTCPeerConnectionHandler.h:

(WebKit):
(WebRTCPeerConnectionHandler):
(WebKit::WebRTCPeerConnectionHandler::getStats):

  • chromium/public/WebRTCStatsRequest.h: added.

(WebCore):
(WebKit):
(WebRTCStatsRequest):
(WebKit::WebRTCStatsRequest::WebRTCStatsRequest):
(WebKit::WebRTCStatsRequest::~WebRTCStatsRequest):
(WebKit::WebRTCStatsRequest::operator=):

Source/WebCore:

Specification:
http://dev.w3.org/2011/webrtc/editor/webrtc-20120920.html

Patch by Harald Tveit Alvestrand <harald@alvestrand.no> on 2012-09-28
Reviewed by Adam Barth.

The implementation consists of a pure virtual platform object
(RTCStatsRequest) that is implemented in WebCore, and stores
its information in a straightforward data hierarchy.
This patch adds the call path and the storage structures.
It does not add filling in data.

Test: fast/mediastream/RTCPeerConnection-stats.html

  • CMakeLists.txt:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::getStats):
(WebCore):

  • Modules/mediastream/RTCPeerConnection.h:

(WebCore):
(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCStatsCallback.h: Added.

(WebCore):
(RTCStatsCallback):
(WebCore::RTCStatsCallback::~RTCStatsCallback):

  • Modules/mediastream/RTCStatsCallback.idl: Added.
  • Modules/mediastream/RTCStatsElement.cpp: Added.

(WebCore):
(WebCore::RTCStatsElement::create):
(WebCore::RTCStatsElement::RTCStatsElement):
(WebCore::RTCStatsElement::stat):

  • Modules/mediastream/RTCStatsElement.h: Added.

(WebCore):
(RTCStatsElement):

  • Modules/mediastream/RTCStatsElement.idl: Added.
  • Modules/mediastream/RTCStatsReport.cpp: Added.

(WebCore):
(WebCore::RTCStatsReport::create):
(WebCore::RTCStatsReport::RTCStatsReport):

  • Modules/mediastream/RTCStatsReport.h: Added.

(WebCore):
(RTCStatsReport):
(WebCore::RTCStatsReport::local):
(WebCore::RTCStatsReport::remote):

  • Modules/mediastream/RTCStatsReport.idl: Added.
  • Modules/mediastream/RTCStatsRequestImpl.cpp: Added.

(WebCore):
(WebCore::RTCStatsRequestImpl::create):
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
(WebCore::RTCStatsRequestImpl::~RTCStatsRequestImpl):
(WebCore::RTCStatsRequestImpl::requestSucceeded):
(WebCore::RTCStatsRequestImpl::stop):
(WebCore::RTCStatsRequestImpl::clear):

  • Modules/mediastream/RTCStatsRequestImpl.h: Added.

(WebCore):
(RTCStatsRequestImpl):

  • Modules/mediastream/RTCStatsResponse.cpp: Added.

(WebCore):
(WebCore::RTCStatsResponse::create):
(WebCore::RTCStatsResponse::RTCStatsResponse):

  • Modules/mediastream/RTCStatsResponse.h: Added.

(WebCore):
(RTCStatsResponse):
(WebCore::RTCStatsResponse::result):

  • Modules/mediastream/RTCStatsResponse.idl: Added.
  • WebCore.gypi:
  • platform/chromium/support/WebRTCStatsRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.

(WebKit):
(WebKit::WebRTCStatsRequest::WebRTCStatsRequest):
(WebKit::WebRTCStatsRequest::assign):
(WebKit::WebRTCStatsRequest::reset):
(WebKit::WebRTCStatsRequest::requestSucceeded):

  • platform/mediastream/RTCPeerConnectionHandler.h:

(WebCore):
(RTCPeerConnectionHandler):

  • platform/mediastream/RTCStatsRequest.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.

(WebCore):
(RTCStatsRequest):
(WebCore::RTCStatsRequest::~RTCStatsRequest):
(WebCore::RTCStatsRequest::RTCStatsRequest):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::getStats):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Tools:

Patch by Harald Tveit Alvestrand <harald@alvestrand.no> on 2012-09-28
Reviewed by Adam Barth.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(RTCStatsRequestSucceededTask):
(RTCStatsRequestSucceededTask::RTCStatsRequestSucceededTask):
(MockWebRTCPeerConnectionHandler::getStats):

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:

(MockWebRTCPeerConnectionHandler):

LayoutTests:

Patch by Harald Tveit Alvestrand <harald@alvestrand.no> on 2012-09-28
Reviewed by Adam Barth.

  • fast/mediastream/RTCPeerConnection-stats-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-stats.html: Added.
9:15 AM WebKitGTK/1.10.x edited by Carlos Garcia Campos
(diff)
9:14 AM Changeset in webkit [129907] by kling@webkit.org
  • 4 edits in trunk/Source/WebCore

471kB below StyleSheetContents::parserAppendRule() on Membuster3.
<http://webkit.org/b/97916>

Reviewed by Anders Carlsson.

Shrink-to-fit the StyleSheetContents rule vectors at the end of CSSParser::parseSheet().
~100kB progression on Membuster3.

  • css/StyleSheetContents.h:
  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::shrinkToFit):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseSheet):

9:09 AM Changeset in webkit [129906] by mario@webkit.org
  • 12 edits
    4 adds in trunk/Source/WebKit2

[WK2][GTK] Implement new Favicons API
https://bugs.webkit.org/show_bug.cgi?id=96476

Reviewed by Carlos Garcia Campos.

New object wrapping the internal IconDatabase from WebCore,
providing a simple asynchronous API to retrieve the favicon
associated to a page URL, and two more functions to simple query
the internal database for the URI of the icon associated to a
page, if any, and to clear the state of the internal database.

  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Added.

(_WebKitFaviconDatabasePrivate):
(webkit_favicon_database_init):
(webkitFaviconDatabaseFinalize):
(webkit_favicon_database_class_init):
(GetFaviconSurfaceAsyncData): New structure used to pass data
across the asynchronous implementation of get_favicon().
(GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData):
Disconnects the cancellable if needed.
(getIconSurfaceSynchronously): Synchronously returns a pointer to
the cairo_surface with the icon's data, if available.
(deletePendingIconRequests): Removes the full list of
icon requests for a page URL.
(processPendingIconsForURI): Process any icon request that
might be still pending.
(iconDataReadyForPageURLCallback): Called from WebIconDatabase
when new data is ready for a favicon.
(webkitFaviconDatabaseCreate): Create the WebKitFaviconDatabase
object and initializes the API client for WKIconDatabaseClient.
(getOrCreatePendingIconRequests): Returns (if available) or
creates a new icon request, to be appended to the list of requests
for the same page URL.
(getIconSurfaceCancelled): Handle the case of a request being
cancelled. Must happen on the main thread.
(getIconSurfaceCancelledCallback): Callback used with
g_cancellable_connect(), which ensure getIconSurfaceCancelled() is
called from the main thread.
(setErrorForAsyncResult): Helper to set errors in the result.
(webkit_favicon_database_error_quark): New function, providint the
new error domain for errors of type WebKitFaviconDatabaseError.
(webkit_favicon_database_get_favicon): New API function, providing
an asynchronous mechanism to query the favicon for a page URL.
(webkit_favicon_database_get_favicon_finish): New API function to
finish the asyncrhonous request started with get_favicon().
(webkit_favicon_database_get_favicon_uri): New API function
to easily retrieve, if available, the URI of a favicon.
(webkit_favicon_database_clear): New API function to clear the
state of the internal icon database.

  • UIProcess/API/gtk/WebKitFaviconDatabase.h: Added.

(_WebKitFaviconDatabase):
(_WebKitFaviconDatabaseClass):

  • UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h: Added to

internally expose webkitFaviconDatabaseCreate() to WebKitWebContext.

  • UIProcess/API/gtk/WebKitPrivate.h: Import WebKit2/WKIconDatabase.h.
  • GNUmakefile.list.am: Added new files.

Add a new getter in WebIconDatabase for m_urlImportCompleted.

  • UIProcess/WebIconDatabase.cpp:

(WebKit::WebIconDatabase::isUrlImportCompleted): Added this simple
getter to allow knowing from WebKitFaviconDatabase whether the
initial import has finished, needed for making some decisions.
(WebKit):

  • UIProcess/WebIconDatabase.h:

(WebIconDatabase):

New API in WebKitWebContext to allow obtaining a valid instance of
WebKitFaviconDatabase and to set/get the local path to be used.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(_WebKitWebContextPrivate):
(webkit_web_context_set_favicon_database_path): New API to allow
setting a path for the icon database, other than the default one.
(webkit_web_context_get_favicon_database_path): New API to
retrieve the path for the icon database currently in use.
(webkit_web_context_get_favicon_database): New API to get a valid
and properly initialized instance of WebKitFaviconDatabase.

  • UIProcess/API/gtk/WebKitWebContext.h:

Make sure we have a default path set for the icon database.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultIconDatabasePath): Return the
default path to be used for the icon database.

Add unit tests for checking this new API.

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

(serverCallback): Callback for the test server.
(testSetDirectory): New unit test, checks the ability to set and
get a specific directory path for the icon database.
(testClearDatabase): New unit test, checks the ability to clear
the data in the icon database.
(testGetFavicon): New unit test, checks the ability to get a
favicon from the icon database in different situations.
(testGetFaviconURI): New unit test, checks the ability to retrieve
the URI for the favicon, if any, associated to a web page.
(deleteDatabaseFiles): Helper function to remove temporary files.
(beforeAll): Initialize the test server and add the unit tests.
(afterAll): Delete the test server and clean up.

9:04 AM Changeset in webkit [129905] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium expectations update

Adding more files to software compositing exclusions. Sometimes they
do not crash but instead generater incorrect images.

  • platform/chromium/TestExpectations:
8:56 AM Changeset in webkit [129904] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] Update EFL baselines after r129874
https://bugs.webkit.org/show_bug.cgi?id=97914

Unreviewed EFL gardening.

Update baselines for failing tests after r129874.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-09-28

  • platform/efl/fast/overflow/overflow_hidden-expected.txt:
  • platform/efl/svg/hixie/cascade/002-expected.png:
  • platform/efl/svg/hixie/cascade/002-expected.txt:
8:51 AM Changeset in webkit [129903] by tkent@chromium.org
  • 17 edits in trunk/Source

Clean up Localizer-related functions
https://bugs.webkit.org/show_bug.cgi?id=97899

Reviewed by Kentaro Hara.

Source/WebCore:

  • Rename Document::getLocalizer to getCachedLocalizer
  • Add default argument to getCachedLocalizer
  • Add Element::localizer to reduce code size
  • Rename DateTimeNumericFieldElement::localizer to localizerForOwner to avoid conflict with Element::localizer
  • Add Localizer::createDefault to improve code readability

No new tests. This shouldn't make any behavior change.

  • dom/Document.h:

(Document): Rename getLocalizer to getCachedLocalizer, and add default
argument.

  • dom/Document.cpp:

(WebCore::Document::getCachedLocalizer): ditto.

  • dom/Element.h:

(Element): Add localizer function.

  • dom/Element.cpp:

(WebCore::Element::localizer): Added

  • html/shadow/DateTimeNumericFieldElement.h:

(DateTimeNumericFieldElement): Rename localizer to localizerForOwner.

  • html/shadow/DateTimeNumericFieldElement.cpp: ditto.

(WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
(WebCore::DateTimeNumericFieldElement::localizerForOwner):
(WebCore::DateTimeNumericFieldElement::value):

  • platform/text/Localizer.h:

(Localizer): Add createDefault
(WebCore::Localizer::createDefault): Implemented.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
Use Element::localizer.

  • html/NumberInputType.cpp:

(WebCore::NumberInputType::localizeValue): ditto.
(WebCore::NumberInputType::convertFromVisibleValue): ditto.

Source/WebKit/blackberry:

  • WebCoreSupport/ColorPickerClient.cpp:

(WebCore::ColorPickerClient::localizer): Follow Document::getLocalizer renaming.

  • WebCoreSupport/DatePickerClient.cpp:

(WebCore::SelectPopupClient::localizer): ditto.

  • WebCoreSupport/SelectPopupClient.cpp:

(WebCore::SelectPopupClient::localizer): ditto.

Source/WebKit/chromium:

  • src/ColorChooserUIController.cpp:

(WebKit::ColorChooserUIController::ColorChooserUIController):
Use Localizer::createDefault

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::DateTimeChooserImpl): ditto.

8:51 AM Changeset in webkit [129902] by mark.lam@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

Adding regression test to ensure that cached call uninitialized arguments
correctly defaults to undefined.
https://bugs.webkit.org/show_bug.cgi?id=97836.

Reviewed by Geoffrey Garen.

  • fast/js/cached-call-uninitialized-arguments-expected.txt: Added.
  • fast/js/cached-call-uninitialized-arguments.html: Added.
  • fast/js/script-tests/cached-call-uninitialized-arguments.js: Added.

(doForEach.callback.shouldBeUndefined):
(doForEach.callback):
(doForEach):
(callAfterRecursingForDepth):

8:45 AM Changeset in webkit [129901] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BLACKBERRY] Add isVisible method to WebTapHighlight
https://bugs.webkit.org/show_bug.cgi?id=97915

Patch by Genevieve Mak <gmak@rim.com> on 2012-09-28
Reviewed by Rob Buis.

Reviewed Internally By Andrew Lo
The isVisible() method lets us avoid dispatching to the webkit thread
if the tap highlight isn't visible.
Always clear tap highlight on Touch up when converting Touch Events
to Mouse Events.

  • Api/WebTapHighlight.h:
  • WebKitSupport/DefaultTapHighlight.h:

(BlackBerry::WebKit::DefaultTapHighlight::isVisible):

  • WebKitSupport/TouchEventHandler.cpp:

(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

8:40 AM Changeset in webkit [129900] by rakuco@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL] Unreviewed test fixes after r129892.

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

(TEST_F): Fix a copy&paste error that changed the test
expectations.

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

(TEST_F): Revert the change here since it was already in the right
format before.

8:31 AM Changeset in webkit [129899] by Csaba Osztrogonác
  • 4 edits
    4 deletes in trunk/LayoutTests

[Qt] Gardening. Cleanup some Qt specific expectation.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-09-28
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0-wk2/TestExpectations: Skip not supported Qt plugin test.
  • platform/qt-5.0-wk2/platform/qt/plugins/application-plugin-plugins-disabled-expected.png: Removed.
  • platform/qt-5.0-wk2/platform/qt/plugins/application-plugin-plugins-disabled-expected.txt: Removed.
  • platform/qt/TestExpectations: Skip failing test, ENABLE(MUTATION_OBSERVERS) is disabled.
  • platform/qt/platform/qt/plugins/application-plugin-plugins-disabled-expected.txt: Rebase after r129844.
  • platform/qt/plugins/application-plugin-plugins-disabled-expected.txt: Removed.
  • platform/qt/plugins/qt-qwidget-plugin-expected.txt: Removed.
8:30 AM Changeset in webkit [129898] by pfeldman@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: define ChunkedReader interface for compilation
https://bugs.webkit.org/show_bug.cgi?id=97904

Reviewed by Alexander Pavlov.

Otherwise, it is unclear what "source" is in the OutputStreamDelegate.

  • inspector/front-end/FileUtils.js:

(WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
(WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
(WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
(WebInspector.OutputStreamDelegate.prototype.onError):
(WebInspector.ChunkedReader):
(WebInspector.ChunkedReader.prototype.fileSize):
(WebInspector.ChunkedReader.prototype.loadedSize):
(WebInspector.ChunkedReader.prototype.fileName):
(WebInspector.ChunkedReader.prototype.cancel):
(WebInspector.ChunkedFileReader.prototype.start):
(WebInspector.ChunkedFileReader.prototype._onChunkLoaded):
(WebInspector.ChunkedXHRReader.prototype.start):
(WebInspector.ChunkedXHRReader.prototype._onLoad):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onTransferStarted):
(WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onChunkTransferred):
(WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onTransferFinished):
(WebInspector.HeapSnapshotLoadFromFileDelegate.prototype.onError):

  • inspector/front-end/TimelineModel.js:

(WebInspector.TimelineModelLoadFromFileDelegate.prototype.onTransferStarted):

8:24 AM Changeset in webkit [129897] by fmalita@chromium.org
  • 8 edits
    3 adds in trunk

[Chromium] Incorrect resampling of clipped/masked images.
https://bugs.webkit.org/show_bug.cgi?id=97409

Reviewed by Stephen White.

Source/WebCore:

Currently, high-quality resampling is used for translate/scale-only transforms, but when
the scale is negative the resampling subset ends up positioned incorrectly.
ImageSkia.cpp:drawResampledBitmap needs to account for negative scaling factors, and apply
only absolute values when calculating the resampling subregion in bitmap coordinates.

Thanks pdr@google.com for isolating the regression.

Test: svg/custom/clip-mask-negative-scale.svg

  • platform/graphics/skia/ImageSkia.cpp:

(WebCore::drawResampledBitmap):

LayoutTests:

  • platform/chromium-linux/svg/custom/clip-mask-negative-scale-expected.png: Added.
  • platform/chromium-linux/svg/custom/clip-mask-negative-scale-expected.txt: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • svg/custom/clip-mask-negative-scale.svg: Added.
7:55 AM Changeset in webkit [129896] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Unreviewed, rolling out r129882.
http://trac.webkit.org/changeset/129882
https://bugs.webkit.org/show_bug.cgi?id=97913

Repaint is incorrect on many tests (Requested by schenney on
#webkit).

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

Source/WebCore:

  • inspector/InspectorController.cpp:
  • inspector/InspectorController.h:

(WebCore):
(InspectorController):

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::update):
(WebCore::buildObjectForPoint):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::InspectorOverlay::reset):

  • inspector/InspectorOverlay.h:

(InspectorOverlay):

  • inspector/InspectorOverlayPage.html:

Source/WebKit/chromium:

  • src/WebDevToolsAgentImpl.cpp:

(OverlayZOrders):
(WebKit::DeviceMetricsSupport::DeviceMetricsSupport):
(WebKit::DeviceMetricsSupport::~DeviceMetricsSupport):
(WebKit::DeviceMetricsSupport::restore):
(WebKit::DeviceMetricsSupport::paintPageOverlay):
(DeviceMetricsSupport):
(WebKit::WebDevToolsAgentImpl::attach):
(WebKit::WebDevToolsAgentImpl::webViewResized):
(WebKit::WebDevToolsAgentImpl::overrideDeviceMetrics):

  • src/WebDevToolsAgentImpl.h:

(WebDevToolsAgentImpl):

  • src/WebDevToolsAgentPrivate.h:

(WebDevToolsAgentPrivate):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::resize):

7:32 AM Changeset in webkit [129895] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium TestExpectation addition

Various software composituing tests are failing on Mac and Win.

  • platform/chromium/TestExpectations:
7:18 AM DOMInJavaScript edited by haraken@chromium.org
(diff)
7:16 AM DOMInJavaScript edited by haraken@chromium.org
(diff)
7:16 AM Changeset in webkit [129894] by haraken@chromium.org
  • 12 edits
    2 deletes in trunk/Source

Unreviewed, rolling out r129825.
http://trac.webkit.org/changeset/129825
https://bugs.webkit.org/show_bug.cgi?id=97474

DOMWindow.resizeTo() is broken. Asked by Mark Pilgrim.

Source/Platform:

  • Platform.gypi:
  • chromium/public/WebScreenInfo.h: Removed.

Source/WebCore:

  • WebCore.gypi:
  • platform/Widget.h:
  • platform/chromium/PageClientChromium.h: Removed.
  • platform/chromium/PlatformScreenChromium.cpp:

(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::screenRect):
(WebCore::screenAvailableRect):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

Source/WebKit/chromium:

  • public/WebScreenInfo.h:

(WebKit):
(WebScreenInfo):
(WebKit::WebScreenInfo::WebScreenInfo):

  • src/ChromeClientImpl.cpp:
  • src/ChromeClientImpl.h:

(WebKit):
(WebKit::ChromeClientImpl::platformPageClient):
(ChromeClientImpl):

  • src/PlatformSupport.cpp:

(WebCore::toWebWidgetClient):
(WebCore):
(WebCore::PlatformSupport::screenHorizontalDPI):
(WebCore::PlatformSupport::screenVerticalDPI):
(WebCore::PlatformSupport::screenDepth):
(WebCore::PlatformSupport::screenDepthPerComponent):
(WebCore::PlatformSupport::screenIsMonochrome):
(WebCore::PlatformSupport::screenRect):
(WebCore::PlatformSupport::screenAvailableRect):

7:12 AM Changeset in webkit [129893] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Disable YARR_JIT for Windows 64 bit
https://bugs.webkit.org/show_bug.cgi?id=97772

Patch by Kai Koehne <kai.koehne@digia.com> on 2012-09-28
Reviewed by Simon Hausmann.

Using YARR_JIT requires ASSEMBLER, which in turn enables the
executable fixed allocator, which is mmap based (not available on
Windows).

  • wtf/Platform.h:
7:05 AM DOMInJavaScript edited by haraken@chromium.org
(diff)
7:00 AM Changeset in webkit [129892] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[EFL][WK2] Some expected and actual parameters in unit tests are reversed
https://bugs.webkit.org/show_bug.cgi?id=97624

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

According to the gtest guide, ASSERT_XXX, EXPECT_XXX(expected, actual) are recommended
but some unit tests do not follow this.(http://code.google.com/p/googletest/wiki/Primer)
Google Test's failure messages are optimized for this convention.

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

(TEST_F):

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

(schemeRequestCallback):
(TEST_F):

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

(TEST_F):

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

(on_download_requested):
(on_download_finished):

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

(onIntentServiceRegistration):
(onIntentReceived):
(TEST_F):

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

(TEST_F):

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

(TEST_F):
(onFormAboutToBeSubmitted):
(checkBasicPopupMenuItem):
(showPopupMenu):
(showColorPicker):

6:57 AM Changeset in webkit [129891] by kkristof@inf.u-szeged.hu
  • 3 edits in trunk/Tools

[NRWT] XvfbDriver should choose the next free display
https://bugs.webkit.org/show_bug.cgi?id=88414

Reviewed by Dirk Pranke.

This change how the XvfbDriver choose the next display. Before
this the choosing are based on the worker number but it caused
errors when several nrwt run on the same time. This add process
based free diplay search.

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

(XvfbDriver.init):
(XvfbDriver._next_free_display):
(XvfbDriver._start):
(XvfbDriver.stop):

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

(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_start_no_pixel_tests):
(XvfbDriverTest.test_start_pixel_tests):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_next_free_display):
(XvfbDriverTest):
(XvfbDriverTest.test_start_next_worker):

6:55 AM Changeset in webkit [129890] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt] QRawWebView tests are broke after r129545
https://bugs.webkit.org/show_bug.cgi?id=97907

Reviewed by Noam Rosenthal.

The issue here is that we set up the page loader client before initializing the page
so the message we send in WebPageProxy::initializeLoaderClient will be lost since the
page does not exists at the web process side yet. The trivial fix would be to reorder
initialization. In this patch I also moved to the new model of observing layout changes
via WKPageDidLayoutCallback since the old one will be deprecated at some time.

  • UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:

(WebView::WebView):
(WebView::didLayout):

6:52 AM Changeset in webkit [129889] by vollick@chromium.org
  • 2 edits in branches/chromium/1229/Source/WebCore

LayerChromium::addAnimation should return false if there's no layer tree host

6:49 AM Changeset in webkit [129888] by commit-queue@webkit.org
  • 6 edits in trunk

[GTK] Enable CSS Shaders layout LayoutTests on GTK+
https://bugs.webkit.org/show_bug.cgi?id=97821

Patch by Huang Dongsung <luxtella@company100.net> on 2012-09-28
Reviewed by Martin Robinson.

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::setCSSCustomFilterEnabled): Pass through to Settings object.

  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Tools:

This feature is disabled via Settings by default, but for testing,
we enable it using layoutTestController.overridePreferences. Add the
necessary plumbing for DRT.

WTR already works because support was added for Apple Mac earlier.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Feature is off by default.

  • DumpRenderTree/gtk/TestRunnerGtk.cpp:

(TestRunner::overridePreference): Add handling of WebKitCSSCustomFilterEnabled.

6:47 AM Changeset in webkit [129887] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[Qt] Make NRWT use wk2/TestExpectations file
https://bugs.webkit.org/show_bug.cgi?id=97894

Reviewed by Simon Hausmann.

  • Scripts/webkitpy/layout_tests/port/qt.py: Remove unnecessary _skipped_file_search_paths function.

(QtPort.expectations_files): Add wk2 if --webkit-test-runner option added.

  • Scripts/webkitpy/layout_tests/port/qt_unittest.py: Remove unnecessary testskipped_file_search_paths function.

(QtPortTest._assert_search_path): Removed.
(QtPortTest.test_expectations_files): Add wk2 if --webkit-test-runner option added, and code cleanup.

6:44 AM Changeset in webkit [129886] by commit-queue@webkit.org
  • 9 edits in trunk

[WebDatabase] Error code should be CONSTRAINT_ERR if a statement fails due to a constraint failure
https://bugs.webkit.org/show_bug.cgi?id=97897

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Use CONSTRAINT_ERR error code instead of the generic DATABASE_ERR
when a statement fails due to a constraint failure. This is documented
in the W3C specification:
http://dev.w3.org/html5/webdatabase/#dom-sqlexception-code-constraint

Tests: storage/websql/sql-error-codes.html

  • Modules/webdatabase/SQLStatement.cpp:

(WebCore::SQLStatement::execute):

  • Modules/webdatabase/SQLStatementSync.cpp:

(WebCore::SQLStatementSync::execute):

  • platform/sql/SQLiteDatabase.cpp:

(WebCore):

  • platform/sql/SQLiteDatabase.h:

(WebCore):

LayoutTests:

Update storage/websql/sql-error-codes.html test case to check
that the CONSTRAINT_ERR error code is used when a statement
fails due to a constraint failure.

  • platform/chromium/storage/websql/sql-error-codes-expected.txt:
  • storage/websql/sql-error-codes-expected.txt:
  • storage/websql/sql-error-codes.js:

(testConstraintFailure):
(runTest):

6:38 AM Changeset in webkit [129885] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][DRT] EFL's layoutTestController.keepWebHistory should enable visited links tracking
https://bugs.webkit.org/show_bug.cgi?id=97901

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

EFL's DRT testRunner.keepWebHistory should enable visited links tracking in order
to be consistent with WTR implementation and also several tests rely on that (fast/history).

  • DumpRenderTree/efl/TestRunnerEfl.cpp:

(TestRunner::keepWebHistory):

6:29 AM Changeset in webkit [129884] by pfeldman@chromium.org
  • 8 edits
    1 move
    1 add in trunk/Source/WebCore

Web Inspector: split ProgressBar.js into Progress.js and ProgressIndicator.js
https://bugs.webkit.org/show_bug.cgi?id=97902

Reviewed by Alexander Pavlov.

One is model, the other is UI component.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/Progress.js: Copied from Source/WebCore/inspector/front-end/ProgressBar.js.
  • inspector/front-end/ProgressIndicator.js: Renamed from Source/WebCore/inspector/front-end/ProgressBar.js.
  • inspector/front-end/UserAgentSupport.js:
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/externs.js:
  • inspector/front-end/inspector.html:
6:20 AM Changeset in webkit [129883] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Should suspend page's scripted animations when WebPage is invisible
https://bugs.webkit.org/show_bug.cgi?id=97856

Patch by Andrew Lo <anlo@rim.com> on 2012-09-28
Reviewed by Antonio Gomes.

Suspend page animations when setting WebPage invisible, resume when visible.
Internal PR212788.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setVisible):

6:08 AM Changeset in webkit [129882] 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:

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

5:56 AM Changeset in webkit [129881] by commit-queue@webkit.org
  • 4 edits in trunk

editing/pasteboard/paste-removing-iframe.html crashes on EFL bots
https://bugs.webkit.org/show_bug.cgi?id=97892

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Added missing null check to avoid a crash if the document inside
iframe is removed during the editing operation.

Test: editing/pasteboard/paste-removing-iframe.html

  • editing/Editor.cpp:

(WebCore::Editor::changeSelectionAfterCommand):

LayoutTests:

Unskip editing/pasteboard/paste-removing-iframe.html

  • platform/efl/TestExpectations:
5:48 AM Changeset in webkit [129880] by pfeldman@chromium.org
  • 2 edits
    1 delete in trunk/Source/WebKit/chromium

Web Inspector: [chromium] remove devtools_frontend.zip
https://bugs.webkit.org/show_bug.cgi?id=97650

Reviewed by Yury Semikhatsky.

This change removes the devtools_frontend zip generation and migrates to proper resource bundle for debug mode creation.

  • WebKit.gyp:
  • scripts/generate_devtools_zip.py: Removed.
5:37 AM Changeset in webkit [129879] by anilsson@rim.com
  • 4 edits in trunk/Source

[BlackBerry] Destroy thread-specific data for Platform::Graphics::Buffer on the right thread
https://bugs.webkit.org/show_bug.cgi?id=97674

Reviewed by Rob Buis.

A new API was added to BlackBerry::Platform::Graphics for destroying
thread-specific data generated on the compositing thread when we blit
buffers. The buffers are otherwise created and destroyed on the WebKit
thread, which doesn't give platform any opportunity to destroy the
thread-specific data.

This patch adds calls to the new API to avoid leaking resources.

Reviewed internally by Jakob Petsovits and Filip Spacek.

PR 214644

Source/WebCore:

Verified using manual testing.

  • plugins/blackberry/PluginViewPrivateBlackBerry.cpp:

(WebCore::PluginViewPrivate::createBuffers):
(WebCore::PluginViewPrivate::destroyBuffers):

Source/WebKit/blackberry:

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::initialize):
(BlackBerry::WebKit::SurfacePool::createPlatformGraphicsContext):
(BlackBerry::WebKit::SurfacePool::lockTileRenderingSurface):
(BlackBerry::WebKit::SurfacePool::releaseTileRenderingSurface):
(BlackBerry::WebKit::SurfacePool::initializeVisibleTileBuffer):
(BlackBerry::WebKit::SurfacePool::createBuffers):
(BlackBerry::WebKit::SurfacePool::releaseBuffers):

5:36 AM Changeset in webkit [129878] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium TestExpectation addition

Adding media/audio-repaint.html

  • platform/chromium/TestExpectations:
5:09 AM Changeset in webkit [129877] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: [Canvas] log property setters too along with function calls
https://bugs.webkit.org/show_bug.cgi?id=97776

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-28
Reviewed by Pavel Feldman.

Trace logs should also contain property setter calls.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

  • inspector/Inspector.json:
  • inspector/front-end/CanvasProfileView.js:

(WebInspector.CanvasProfileView.prototype._showTraceLog):

5:02 AM Changeset in webkit [129876] by tkent@chromium.org
  • 10 edits
    5 deletes in trunk/Source/WebCore

Remove LocalizedNumber*.*
https://bugs.webkit.org/show_bug.cgi?id=97876

Reviewed by Yuta Kitamura.

LocalizedNumber.h functions are replaced with Localizer class.

  • CMakeLists.txt: Remove LocalizedNumberNone.*.
  • GNUmakefile.list.am: ditto.
  • Target.pri: ditto.
  • WebCore.vcpproj/WebCore.vcproj: ditto.
  • WebCore.gyp/WebCore.gyp: Remove LocalizedNumber*.*.
  • WebCore.gypi: ditto.
  • WebCore.xcodeproj/project.pbxproj: ditto.
  • html/NumberInputType.cpp: Use Localizer for the element locale.

(WebCore::NumberInputType::localizeValue):
(WebCore::NumberInputType::convertFromVisibleValue):

  • platform/text/Localizer.h: Move some comments from LocalizedNumber.h
  • platform/text/LocalizedNumber.h: Removed.
  • platform/text/LocalizedNumberICU.cpp: Removed.
  • platform/text/LocalizedNumberNone.cpp: Removed.
  • platform/text/mac/LocalizedNumberMac.mm: Removed.
  • platform/text/win/LocalizedNumberWin.cpp: Removed.
4:21 AM Changeset in webkit [129875] by yurys@chromium.org
  • 12 edits
    1 delete in trunk/Source

Web Inspector: make HashSet memory instrumentation non-intrusive
https://bugs.webkit.org/show_bug.cgi?id=97879

Reviewed by Vsevolod Vlasov.

Source/WebKit/chromium:

Update the test for HashSet memory instrumentation. We don't add
HashSet's private objects into the set of visited objects any more
and should update the expectation accordingly.

  • tests/MemoryInstrumentationTest.cpp:

(WebCore::TEST):

Source/WTF:

Removed reportMemoryUsage declarations as a friend of HashSet and HashTable. Also
removed MemoryInstrumentationHashTable which is not needed if we don't have
access to HashSet's guts.

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

(WTF):
(HashSet):

  • wtf/HashTable.h:

(HashTable):

  • wtf/MemoryInstrumentation.h:

(WTF::MemoryClassInfo::addPrivateBuffer):

  • wtf/MemoryInstrumentationHashSet.h:

(WTF::reportMemoryUsage):

  • wtf/MemoryInstrumentationHashTable.h: Removed.
4:15 AM Changeset in webkit [129874] by commit-queue@webkit.org
  • 9 edits in trunk

[EFL][DRT] EFL DRT should disable visited links tracking by default
https://bugs.webkit.org/show_bug.cgi?id=97881

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit/efl:

Added aux DumpRenderTreeSupportEfl::setShouldTrackVisitedLinks() function.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setShouldTrackVisitedLinks):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Visited links tracking is disabled by default for each test.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

LayoutTests:

Rebased fast/block/float/float-in-float-hit-testing.html and unskipped it for EFL WK2.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/block/float/float-in-float-hit-testing-expected.png:
  • platform/efl/fast/block/float/float-in-float-hit-testing-expected.txt:
3:59 AM Changeset in webkit [129873] by yosin@chromium.org
  • 2 edits in trunk/Source/Platform

[Forms] Add localized strings for multiple fields date/time input UI
https://bugs.webkit.org/show_bug.cgi?id=97878

Reviewed by Kent Tamura.

This patch introduces following localized string identifier for
month, time and week pickers:

  • OtherMonthLabel - appeared at the last entry in suggestion list.
  • OtherTimeLabel - ditto
  • OtherWeekLabel - ditto
  • ThisMonthButtonLabel - used in month picker
  • ThisWeekButtonLabel - used in week picker
  • chromium/public/WebLocalizedString.h: Added OtherMonthLabel, OtherTimeLabel, OtherWeekLabel, ThiMonthkButtonLabel, and ThisWeekButtonLabel.
3:49 AM Changeset in webkit [129872] by gyuyoung.kim@samsung.com
  • 13 edits
    1 add
    1 delete in trunk

Unreviewed, rolling out r129863.
http://trac.webkit.org/changeset/129863
https://bugs.webkit.org/show_bug.cgi?id=97173

Source/WebCore:

WK2 layout test on debug is broken by this patch.

  • platform/efl/RunLoopEfl.cpp:

(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::~RunLoop):

Source/WebKit2:

Broken debug WK2 layout test

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EWebKit2.h:
  • UIProcess/API/efl/ewk_context.cpp:

(_Ewk_Context::_Ewk_Context):
(_Ewk_Context::~_Ewk_Context):

  • UIProcess/API/efl/ewk_main.cpp:

(ewk_init):
(ewk_shutdown):

  • UIProcess/API/efl/ewk_main.h: Added.
  • UIProcess/API/efl/ewk_main_private.h: Removed.
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::SetUp):
(EWK2UnitTest::EWK2UnitTestBase::TearDown):

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

Tools:

Broken debug WK2 layout test

  • MiniBrowser/efl/main.c:

(quit):
(main):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::initEcoreEvas):
(WTR::PlatformWebView::~PlatformWebView):

  • WebKitTestRunner/efl/main.cpp:

(main):

3:39 AM Changeset in webkit [129871] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] exceededDatabaseQuota event is not handled
https://bugs.webkit.org/show_bug.cgi?id=97882

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Handle exceededDatabaseQuota callback from WKPageUIClient so
that we let the browser a chance to decide what to do when
the database quota is reached. If the browser does not handle
this, then we return a realistic default quota (5MB as
recommended by the spec).

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_database_quota_exceeded):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/ewk_view_private.h:
  • UIProcess/API/efl/ewk_view_ui_client.cpp:

(exceededDatabaseQuota):
(ewk_view_ui_client_attach):

3:35 AM Changeset in webkit [129870] by commit-queue@webkit.org
  • 7 edits in trunk

Source/WebKit2: [Qt] Use qInstallMessageHandler()
https://bugs.webkit.org/show_bug.cgi?id=96648

Patch by Kai Koehne <kai.koehne@digia.com> on 2012-09-28
Reviewed by Jocelyn Turcotte.

qInstallMsgHandler() got deprecated in Qt 5.

  • PluginProcess/qt/PluginProcessMainQt.cpp:

(WebKit::messageHandler):
(WebKit::PluginProcessMain):

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

(messageHandler):
(suppressDebugOutput):

  • qt/MainQt.cpp:

(messageHandler):
(main):

Tools: [Qt] Use qInstallMessageHandler()
https://bugs.webkit.org/show_bug.cgi?id=96648

Patch by Kai Koehne <kai.koehne@digia.com> on 2012-09-28
Reviewed by Jocelyn Turcotte.

qInstallMsgHandler() got deprecated in Qt 5.

  • DumpRenderTree/qt/DumpRenderTreeMain.cpp:

(messageHandler):
(main):

  • WebKitTestRunner/qt/main.cpp:

(messageHandler):
(main):

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

Web Inspector: Formatting on load is broken
https://bugs.webkit.org/show_bug.cgi?id=97880

Reviewed by Alexander Pavlov.

Bound formatted callback on UISourceCode and fixed callback call.

  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype._fireContentAvailable.formattedCallback):
(WebInspector.UISourceCode.prototype._fireContentAvailable):

3:17 AM Changeset in webkit [129868] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Removing failure expectations for two perftests' harness tests, the
regression was swiftly fixed in r129858.

  • platform/gtk/TestExpectations:
2:40 AM Changeset in webkit [129867] by yosin@chromium.org
  • 7 edits
    3 adds in trunk

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

Reviewed by Kent Tamura.

Source/WebCore:

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

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

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

Note: Actual outputs of two tests

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

are different.

  • css/html.css:

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

  • html/MonthInputType.cpp:

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

  • html/MonthInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseMonthInputType typedef.

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

  • html/shadow/DateTimeEditElement.cpp:

(DateTimeEditBuilder): Changed to have copy of object in m_stepRange and m_dateValue member variables for being robust.
(WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed to add initialize m_placeholderForMonth and m_placeholderForYear.
(WebCore::DateTimeEditBuilder::visitField): Changed to support month field and year field.

  • html/shadow/DateTimeEditElement.h:

(LayoutParameters): Changed to add member variables, placeholderForMonth and placeholderForYear. Changed to have copy of object in stepRange member variable for being robust.

LayoutTests:

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

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

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

[EFL][WK2] Clear provider on destructor of {Vibration,Battery,NetworkInfo}Provider.
https://bugs.webkit.org/show_bug.cgi?id=97528

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Constructor of {Vibration,Battery,NetworkInfo}Provider set provider
but the destructor of the classes doesn't clear provider.
This can make a problem about accessing dangling pointer.

For preventing this problem, clear provider on destructor.

  • UIProcess/API/efl/BatteryProvider.cpp:

(BatteryProvider::~BatteryProvider):

  • UIProcess/API/efl/NetworkInfoProvider.cpp:

(NetworkInfoProvider::~NetworkInfoProvider):

  • UIProcess/API/efl/VibrationProvider.cpp:

(VibrationProvider::~VibrationProvider):

2:26 AM Changeset in webkit [129865] by vsevik@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed test fix.

  • inspector/debugger/ui-source-code-display-name.html:
2:24 AM Changeset in webkit [129864] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] NetworkInfo provider is not initialized in Ewk_Context
https://bugs.webkit.org/show_bug.cgi?id=97865

Patch by Christophe Dumez <Christophe Dumez> on 2012-09-28
Reviewed by Kenneth Rohde Christiansen.

Initialize NetworkInfo provider for EFL port in Ewk_Context
with the other providers.

  • UIProcess/API/efl/ewk_context.cpp:

(_Ewk_Context):
(_Ewk_Context::_Ewk_Context):

1:56 AM Changeset in webkit [129863] by commit-queue@webkit.org
  • 13 edits
    1 add
    1 delete in trunk

[EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
https://bugs.webkit.org/show_bug.cgi?id=97173

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2012-09-28
Reviewed by Gyuyoung Kim.

Source/WebCore:

Remove codes to initialize and shutdown the EFL libraries from
RunLoopEfl.cpp. Initialization and shutdown will be done in the
ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
process.

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

  • platform/efl/RunLoopEfl.cpp:

(WebCore::RunLoop::RunLoop):
(WebCore::RunLoop::~RunLoop):

Source/WebKit2:

Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui
process and WebProcessMainEfl.cpp for web process.
Additionally, initialization and shutdown are done when ewk_context is
created and deleted, so ewk_{init,shutdown} APIs are changed to
internal function and applications don't have to call them.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EWebKit2.h:
  • UIProcess/API/efl/ewk_context.cpp:

(_Ewk_Context::_Ewk_Context):
(_Ewk_Context::~_Ewk_Context):

  • UIProcess/API/efl/ewk_main.cpp:

(ewk_init):
(ewk_shutdown):

  • UIProcess/API/efl/ewk_main.h: Removed.
  • UIProcess/API/efl/ewk_main_private.h: Added.
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

(EWK2UnitTest::EWK2UnitTestBase::SetUp):
(EWK2UnitTest::EWK2UnitTestBase::TearDown):

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

Tools:

The initialization and shutdown are done inside the webkit, so we don't
have to call them out of the webkit.

  • MiniBrowser/efl/main.c:

(quit):
(main):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::initEcoreEvas):
(WTR::PlatformWebView::~PlatformWebView):

  • WebKitTestRunner/efl/main.cpp:

(main):

1:44 AM Changeset in webkit [129862] by vsevik@chromium.org
  • 14 edits in trunk

Web Inspector: Prepare UISourceCode to transformation into File.
https://bugs.webkit.org/show_bug.cgi?id=97113

Reviewed by Pavel Feldman.

Source/WebCore:

This patch moves methods and fields from UISourceCode descendants except for the modification bindings.

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager.breakpointStorageId):
(WebInspector.BreakpointManager.isDivergedFromVM):
(WebInspector.BreakpointManager.prototype.restoreBreakpoints):
(WebInspector.BreakpointManager.Breakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
(WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
(WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
(set WebInspector.BreakpointManager.Storage.Item):

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource):
(WebInspector.JavaScriptSource.prototype.workingCopyCommitted):

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
(WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
(WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
(WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointsBeforeEditing):
(WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
(WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
(WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick):

  • inspector/front-end/SASSSourceMapping.js:
  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.ScriptSnippetModel):
(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
(WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.get var):
(WebInspector.ScriptSnippetModel.prototype._projectWillReset):
(WebInspector.SnippetJavaScriptSource):
(WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._addUISourceCode):
(WebInspector.ScriptsPanel.prototype._uiSourceCodeFormatted):
(WebInspector.ScriptsPanel.prototype._toggleFormatSource):

  • inspector/front-end/SnippetJavaScriptSourceFrame.js:

(WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):

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

(WebInspector.UISourceCode.prototype.searchInContent):
(WebInspector.UISourceCode.prototype._fireContentAvailable.formattedCallback):
(WebInspector.UISourceCode.prototype._fireContentAvailable):
(WebInspector.UISourceCode.prototype.setFormatted.if):
(WebInspector.UISourceCode.prototype.setFormatted.didGetContent.formattedChanged):
(WebInspector.UISourceCode.prototype.setFormatted.didGetContent):
(WebInspector.UISourceCode.prototype.setFormatted):
(WebInspector.UISourceCode.prototype.setSourceMapping):

LayoutTests:

  • http/tests/inspector/workspace-test.js:
  • inspector/debugger/dynamic-script-tag-expected.txt:
  • inspector/debugger/network-uisourcecode-provider-expected.txt:
  • inspector/debugger/resource-script-mapping-expected.txt:
  • inspector/debugger/script-snippet-model.html:
1:41 AM Changeset in webkit [129861] by morrita@google.com
  • 5 edits in trunk/Source/WebCore

Move Shadow DOM inspection feature out from experiments
https://bugs.webkit.org/show_bug.cgi?id=94274

Reviewed by Pavel Feldman.

This chagne turns the showShadowDOM experiments into a settings,
adding aSettingsScreen entry for that.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/DOMAgent.js:
  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

  • inspector/front-end/SettingsScreen.js:

(WebInspector.GenericSettingsTab):

1:29 AM Changeset in webkit [129860] by tkent@chromium.org
  • 15 edits in trunk/Source

Use Localizer in PagePopupController
https://bugs.webkit.org/show_bug.cgi?id=97862

Reviewed by Hajime Morita.

Source/WebCore:

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

  • page/PagePopupClient.h:

(WebCore):
(PagePopupClient): Add "localizer" member function.

  • page/PagePopupController.cpp:

(WebCore::PagePopupController::localizeNumberString):
Use a Localizer object provided by PagePopupClient.

Source/WebKit/blackberry:

We need to implement PagePopupClient::localizer. These clients know the
host elements. Localizer implementations get Localizer objects from the
owner documents of the elements for the browser locale.

  • WebCoreSupport/ColorPickerClient.cpp:

(WebCore::ColorPickerClient::localizer): Added.

  • WebCoreSupport/ColorPickerClient.h:

(ColorPickerClient): Declare "localizer."

  • WebCoreSupport/DatePickerClient.cpp:

(WebCore::SelectPopupClient::localizer): Added.

  • WebCoreSupport/DatePickerClient.h:

(DatePickerClient): Declare "localizer."

  • WebCoreSupport/SelectPopupClient.cpp:

(WebCore::SelectPopupClient::localizer): Added.

  • WebCoreSupport/SelectPopupClient.h:

(SelectPopupClient): Declare "localizer."

Source/WebKit/chromium:

We need to implement PagePopupClient::localizer. The current
implementations of localizer functions always return Localizer objects
for the browser locale. It's ok because other locale-dependent stuff in
PagePopup uses the browser locale, not element locale. We might want to
update this behavior later for testing i18n behavior in PagePopup.

  • src/ColorChooserUIController.cpp:

(WebKit::ColorChooserUIController::ColorChooserUIController):
Initialize m_localizer with the browser default locale.
(WebKit::ColorChooserUIController::localizer):
Returns m_localizer.

  • src/ColorChooserUIController.h:

(ColorChooserUIController): Declare localizer function and m_localizer.

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
Initialize m_localizer with the browser default locale.
(WebKit::DateTimeChooserImpl::localizer):
Returns m_localizer.

  • src/DateTimeChooserImpl.h:

(DateTimeChooserImpl): Declare localizer function and m_localizer.

1:09 AM Changeset in webkit [129859] by tkent@chromium.org
  • 12 edits in trunk/Source

Switch monthLabels, weekDayShortLabels, and firstDayOfWeek to Localizer
https://bugs.webkit.org/show_bug.cgi?id=97874

Reviewed by Kentaro Hara.

Source/WebCore:

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

  • platform/text/Localizer.h:

(Localizer): Add monthLabels, weekDayShortLabels, and firstDayOfWeek.

  • platform/text/LocalizedDate.h:

(WebCore): Remove them.

  • platform/text/LocalizedDateICU.cpp:

(WebCore::localizedDateFormatText): ditto.

  • platform/text/LocalizedDateWin.cpp:

(WebCore::localizedDateFormatText): ditto.

  • platform/text/mac/LocalizedDateMac.cpp:

(WebCore::localizedDateFormatText): ditto.

  • platform/text/LocaleICU.h:

(LocaleICU): Add virtual and OVERRIDE.

  • platform/text/LocaleWin.h:

(LocaleWin):

  • Add virtual and OVERRIDE.
  • Move the content of firstDayOfWeek to LocaleWin.cpp because inline

definition of a virtual function is not efficient.

  • platform/text/LocaleWin.cpp:

(WebCore::LocaleWin::firstDayOfWeek): See above.

  • platform/text/mac/LocaleMac.h:

(LocaleMac): Add virtual and OVERRIDE.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::writeDocument):
Use Localizer for the browser locale.

12:36 AM Changeset in webkit [129858] by rniwa@webkit.org
  • 2 edits in trunk/PerformanceTests

Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.

  • resources/runner.js:

(PerfTestRunner.runPerSecond):

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

Unreviewed GTK gardening.

Adding a pass expectation for a subpixel test.
Removing two failure expectations for middle-click-related tests that
started passing after r129750.
Removing failure expectation for a Shadow DOM test that started passing
after experimental CSS features have been enabled in r129604.
Removing failure expectation for http/tests/security/xss-eval.html after
the fix was relanded in r129712.
Adding failure expectations for two perftests harness tests that started
failing after r129824.

  • platform/gtk/TestExpectations:
12:05 AM Changeset in webkit [129856] by commit-queue@webkit.org
  • 5 edits in trunk

Web Inspector: Elements: Show entities in edit as HTML.
https://bugs.webkit.org/show_bug.cgi?id=97798

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-09-28
Reviewed by Alexander Pavlov.

Source/WebCore:

In elements tree entities like "&emsp;", "&ensp;" are shown.
But in "Edit as HTML" mode they are replaced by Unicode chars.

For better consistency, these chars should be rendered the same
way both in tree and edit field.

  • inspector/front-end/ElementsTreeOutline.js:

Replaced invisible chars with entities.

LayoutTests:

Added test case for invisible chars in "Edit as HTML" mode.

  • inspector/elements/edit-dom-actions-expected.txt:
  • inspector/elements/edit-dom-actions.html:
12:03 AM Changeset in webkit [129855] by yosin@chromium.org
  • 5 edits in trunk/Source/WebCore

[Forms] Adding DateTimeMonthFieldElement and DateTimeYearFieldElement
https://bugs.webkit.org/show_bug.cgi?id=97864

Reviewed by Kent Tamura.

This patch is a part of preparation of implementing multiple fields
date/time input UI.

This patch introduces DateTimeMonthFieldElement and DateTimeYearFieldElement
classes for implementing multiple fields "month" input type.

Multiple fields "month" input type uses two fields for month and year
in locale dependent order. Month field display month as two digit.
Year field display year as four digits in usual case and can display
up to 6 digits to support maximum year 275760, defined in HTML5
specification.

This patch also changes default value for step down and up on empty
field to better UI in year field. Year field displays current year
when step down and up on empty field rather than minimum year 1, or
maximum year 275760.

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

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

  • html/shadow/DateTimeFieldElements.cpp:

(WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Added.
(WebCore::DateTimeMonthFieldElement::create): Added.
(WebCore::DateTimeMonthFieldElement::populateDateTimeFieldsState): Added.
(WebCore::DateTimeMonthFieldElement::setValueAsDate): Added.
(WebCore::DateTimeMonthFieldElement::setValueAsDateTimeFieldsState): Added.
(WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement): Added.
(WebCore::DateTimeYearFieldElement::create): Added.
(WebCore::DateTimeYearFieldElement::defaultValueForStepDown): Added.
(WebCore::DateTimeYearFieldElement::defaultValueForStepUp): Added.
(WebCore::DateTimeYearFieldElement::populateDateTimeFieldsState): Added.
(WebCore::DateTimeYearFieldElement::setValueAsDate): Added.
(WebCore::DateTimeYearFieldElement::setValueAsDateTimeFieldsState): Added.

  • html/shadow/DateTimeFieldElements.h:

(DateTimeMonthFieldElement): Added.
(DateTimeYearFieldElement): Added.

  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::Range::isInRange): Added for ease of checking value is in range.
(WebCore::DateTimeNumericFieldElement::defaultValueForStepDown): Added for default behavior.
(WebCore::DateTimeNumericFieldElement::defaultValueForStepUp): ditto.
(WebCore::DateTimeNumericFieldElement::stepDown): Changed to use defaultValueForStepDown instead of maximum field value.
(WebCore::DateTimeNumericFieldElement::stepUp): Changed to use defaultValueForStepUp minium field value.
(WebCore::DateTimeNumericFieldElement::value): Changed to use "%04d" when maximum field value is greater than 999 for year field.

  • html/shadow/DateTimeNumericFieldElement.h:

(DateTimeNumericFieldElement): Changed to add declarations of defaultValueForStepDown() and defaultValueForStepUp().

Note: See TracTimeline for information about the timeline view.