Timeline



Jan 4, 2013:

11:36 PM Changeset in webkit [138887] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding failure expectations for two CSS Regions tests added in r138854.
Modifying a failure expectation for a CSS Image Set test that now times out after r138857.

  • platform/gtk/TestExpectations:
7:58 PM Changeset in webkit [138886] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Remove a duplicate test expectation since the bug 106153 has been merged into the bug 106165.

  • platform/chromium/TestExpectations:
7:55 PM Changeset in webkit [138885] by rniwa@webkit.org
  • 5 edits in trunk/LayoutTests

Add a flaky failure expectation to a test added by r138834.
The failure is tracked by the bug 106165.

  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
7:53 PM Changeset in webkit [138884] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. fast/ruby/base-shorter-than-text.html is failing on
Lion and MountainLion.

  • platform/chromium/TestExpectations:
7:50 PM Changeset in webkit [138883] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix failing API test.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::initializeWebProcess):
The WebConnectionToUIProcess needs to be initialized before the injected bundle is,
so that if the user tries to use it, its there.

7:20 PM Changeset in webkit [138882] by rniwa@webkit.org
  • 2 edits in trunk/Tools

[GTK] Fix build error on GTK due to r138836
https://bugs.webkit.org/show_bug.cgi?id=106154

Patch by Michael Pruett <michael@68k.org> on 2013-01-04
Reviewed by Kentaro Hara.

  • GNUmakefile.am:
6:51 PM Changeset in webkit [138881] by weinig@apple.com
  • 11 edits
    2 copies in trunk/Source/WebKit2

Consolidate all the one time initialization functions into a single InitializeWebKit2() super function
https://bugs.webkit.org/show_bug.cgi?id=106161

Reviewed by Simon Fraser.

Adds InitializeWebKit2 and uses it.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessInitialization.mm:

(WebKit::initializeNetworkProcess):

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • Shared/WebKit2Initialize.cpp: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.

(WebKit::InitializeWebKit2):

  • Shared/WebKit2Initialize.h: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.

(WebKit):

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain):

  • Target.pri:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/mac/WebProcessInitialization.mm:

(WebKit::initializeWebProcess):

6:08 PM Changeset in webkit [138880] by Lucas Forschler
  • 2 edits in tags/Safari-537.24.1/Source/WebCore

Merged r138877.

6:05 PM Changeset in webkit [138879] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Chromium windows compile fails because of the assertion in NodeRareData
https://bugs.webkit.org/show_bug.cgi?id=106149

Reviewed by Andreas Kling.

MSVC adds padding between bitfields of different types for better alignment.
Since we care more about the memory usage, use unsigned for all bitfields to work around this behavior.

  • dom/NodeRareData.cpp:

(SameSizeAsNodeRareData):
(WebCore):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::isWebVTTNode):
(WebCore::NodeRareData::isWebVTTFutureNode):
(NodeRareData):

5:59 PM Changeset in webkit [138878] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Updated the exports file.

Rubber-stamped by Andy Estes.

  • WebCore.exp.in: Moved the DOMHTMLTableCellElement export out of the !PLATFORM(IOS) section.
5:54 PM Changeset in webkit [138877] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Update margin for label to 0
https://bugs.webkit.org/show_bug.cgi?id=106152
<rdar://problem/12961387>

Reviewed by Brian Weinstein.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore): Change the margin constant from 10 to 0.

5:53 PM Changeset in webkit [138876] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Test is flaky on Linux and Mac.

  • platform/chromium/TestExpectations:
5:47 PM Changeset in webkit [138875] by weinig@apple.com
  • 6 edits in trunk/Source/WebKit2

Follow up to https://bugs.webkit.org/show_bug.cgi?id=106144, fixing some
of Alexey's review comments.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::createWebProcessConnection):
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):

  • Shared/ChildProcess.h:

(WebKit::ChildProcess::parentProcessConnection):

  • SharedWorkerProcess/SharedWorkerProcess.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::addVisitedLink):
(WebKit::WebProcess::removeWebFrame):
(WebKit::WebProcess::getSitesWithPluginData):
(WebKit::WebProcess::clearPluginSiteData):
(WebKit::WebProcess::addPlugInAutoStartOrigin):
(WebKit::WebProcess::plugInDidReceiveUserInteraction):
(WebKit::WebProcess::getWebCoreStatistics):

5:38 PM Changeset in webkit [138874] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add a Mac test expectation for the test that has been intermittently failing on Mac Lion WebKit1.
The failure is tracked by the bug 106151.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
5:31 PM Changeset in webkit [138873] by Lucas Forschler
  • 4 edits in tags/Safari-537.24.1/Source

Versioning.

5:29 PM Changeset in webkit [138872] by Lucas Forschler
  • 1 copy in tags/Safari-537.24.1

New Tag.

5:28 PM Changeset in webkit [138871] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Rationalize exit site profiling for calls
https://bugs.webkit.org/show_bug.cgi?id=106150

Reviewed by Sam Weinig.

This adds two new exit kinds for calls: BadFunction and BadExecutable. The latter is not used
yet, but is already integrated with profiling. CheckFunction uses a BadFunction speculation
instead of BadCache, now. This allows CallLinkStatus to turn itself into a closure call status
if we had a BadFunction exit site but the CallLinkInfo told us to use a non-closure call. This
might happen if we had call unlinking that led to information loss along the way.

No performance impact. This is meant as another step towards inlining closure calls.

  • bytecode/CallLinkStatus.cpp:
  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::setIsProved):
(JSC::CallLinkStatus::setHasBadFunctionExitSite):
(CallLinkStatus):
(JSC::CallLinkStatus::setHasBadCacheExitSite):
(JSC::CallLinkStatus::setHasBadExecutableExitSite):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

5:26 PM Changeset in webkit [138870] by rniwa@webkit.org
  • 1 edit
    1 move
    4 deletes in trunk/LayoutTests

Remove superfluous chromium test baselines for the test added by r138862 after r138869.

  • platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium-linux/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium-mac-lion/fast/js: Removed.
  • platform/chromium-mac-lion/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium-mac/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
  • platform/chromium/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Copied from LayoutTests/platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt.
5:21 PM Changeset in webkit [138869] by tdanderson@chromium.org
  • 1 edit
    6 adds in trunk/LayoutTests

Unreviewed gardening. Adding new baselines for chromium.

  • platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • platform/chromium-linux/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • platform/chromium-mac-lion/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • platform/chromium-mac-snowleopard/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • platform/chromium-mac/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
5:19 PM Changeset in webkit [138868] by weinig@apple.com
  • 31 edits in trunk/Source/WebKit2

Consolidate process initialization in ChildProcess
https://bugs.webkit.org/show_bug.cgi?id=106144

Reviewed by Alexey Proskuryakov.

Consolidate more functionality down into ChildProcess.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::initializeSandbox):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/mac/NetworkProcessInitialization.h:
  • NetworkProcess/mac/NetworkProcessInitialization.mm:

(WebKit::initializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessMainMac.mm:

(WebKit::NetworkProcessMain):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::initializePluginProcess):
(WebKit::PluginProcess::createWebProcessConnection):
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):

  • PluginProcess/PluginProcess.h:

(PluginProcess):

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::initializeShim):
(WebKit::initializeCocoaOverrides):
(WebKit::PluginProcess::platformInitialize):
(WebKit::PluginProcess::platformInitializePluginProcess):

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • PluginProcess/qt/PluginProcessMainQt.cpp:

(WebKit::PluginProcessMain):

  • PluginProcess/qt/PluginProcessQt.cpp:

(WebKit::PluginProcess::platformInitializePluginProcess):

  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit::PluginProcessMainUnix):

  • PluginProcess/unix/PluginProcessUnix.cpp:

(WebKit::PluginProcess::platformInitializePluginProcess):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::ChildProcess):
(WebKit::watchdogCallback):
(WebKit::didCloseOnConnectionWorkQueue):
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeConnection):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::terminate):

  • Shared/ChildProcess.h:

(ChildProcessInitializationParameters):
(ChildProcess):
(WebKit::ChildProcess::connection):
(WebKit::ChildProcess::destinationID):
(WebKit::ChildProcess::messageReceiverMap):

  • SharedWorkerProcess/SharedWorkerProcess.cpp:

(WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):

  • SharedWorkerProcess/SharedWorkerProcess.h:

(SharedWorkerProcess):

  • SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:

(WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess):

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::removeWebFrame):
(WebKit::WebProcess::initializeSandbox):

  • WebProcess/WebProcess.h:
  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainGtk):

  • WebProcess/mac/WebProcessInitialization.h:
  • WebProcess/mac/WebProcessInitialization.mm:

(WebKit::initializeWebProcess):

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitialize):

  • WebProcess/mac/WebProcessMainMac.mm:

(WebKit::WebProcessMain):

  • WebProcess/mac/WebProcessServiceEntryPoints.mm:

(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):

  • WebProcess/qt/WebProcessMainQt.cpp:

(WebKit::WebProcessMainQt):

4:55 PM Changeset in webkit [138867] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed cleanup. Remove media/track/ from Mac TestExpectations because
https://bugs.webkit.org/show_bug.cgi?id=105606 was fixed.

  • platform/mac/TestExpectations:
4:34 PM Changeset in webkit [138866] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Optimize TransformationMatrix::multiply() for x86_64
https://bugs.webkit.org/show_bug.cgi?id=105719

Reviewed by Sam Weinig.

On x86_64, we have access to 16 XMM registers. This can hold 32 double values.
We can use that in two ways to optimize matrix multiplications:
-Keep the source matrix completely in registers. Write the result directly in

the source matrix's memory. This avoids the memcpy at the end of the multiplication
and various memory operations.

-Use SIMD with SSE to perform 2 operations at a time.

The parameter from the second matrix are loaded one by one in XMM registers.
Loading them with SSE then shuffling the values perform worse than loading
one by one.

This is only enabled on 64bits as x86 only has access to 8 XMM registers and
the function should be written differently.

On a i5, TransformationMatrix::multiply() perform about 3 times faster with the change.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::multiply):

  • platform/graphics/transforms/TransformationMatrix.h:

(TransformationMatrix): Fix an incorrect comment. Unify the comment with the cpp file.

4:18 PM Changeset in webkit [138865] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit/win

Make private browsing work on Windows.
https://bugs.webkit.org/show_bug.cgi?id=106032.

Reviewed by Alexey Proskuryakov.

Code path never called ensurePrivateBrowsingSession which is what starts up the private browsing session.
This was causing many tests to involving private browsing to fail.

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

3:57 PM Changeset in webkit [138864] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix Apple Win build following http://trac.webkit.org/changeset/138838
https://bugs.webkit.org/show_bug.cgi?id=105927

  • WebCore.vcproj/WebCoreTestSupport.vcproj:
3:47 PM Changeset in webkit [138863] by inferno@chromium.org
  • 5 edits in trunk/Source/WebCore

Heap-use-after-free in WebCore::XMLDocumentParser::doEnd
https://bugs.webkit.org/show_bug.cgi?id=100152

Reviewed by Adam Barth.

XMLDocumentParser can be blown away inside document()->styleResolverChanged()
call. Protect it with a local RefPtr in Document::explitClose.

No new tests. The site specific dependencies are hard to minimize.

  • dom/Document.cpp:

(WebCore::Document::explicitClose): RefPtr m_parser into a local, since
it can be detached and nulled out in DocumentWriter::end().

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::end): Bail out when we are detached.

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::doEnd): Bail out when we are detached.

  • xml/parser/XMLDocumentParserQt.cpp:

(WebCore::XMLDocumentParser::doEnd): Bail out when we are detached.

3:40 PM Changeset in webkit [138862] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

DFG should not elide CheckStructure if it's needed to perform a cell check
https://bugs.webkit.org/show_bug.cgi?id=106074

Source/JavaScriptCore:

Reviewed by Ryosuke Niwa.

The problem here was that the constant folding phase was misinterpreting the meaning of the sets
in DFG::AbstractValue. AbstractValue describes a constraint on the values that a variable (i.e.
a DFG Node, or a virtual register, i.e. local or argument) may have. It does so by containing
four sets: the set of JSValues (either empty, the singleton set containing one JSValue, or the
set of all JSValues); the set of "current known" structures, i.e. the set of structures that you
already know that this value may have right now (also either empty, the singleton set, or the set
of all structures); the set of "future possible" structures, i.e. the set of structures that this
value could have in the future if none of the structure transition watchpoints for those
structures had fired (also empty, singleton, or all); and the set of types, which is a
SpeculatedType bitmask. The correct way to interpret the sets is to think of the AbstractValue as
the intersection of these three sets of values:

  • The set of JSValues that have a type that belongs to the m_type set.
  • If m_value is not the empty value then: the set of all JSValues that are == m_value;

else: the set of all JSValues.

where '==' is as defined by JSValue::operator==.

  • Union of { the set of all cells that have a structure that belongs to m_currentKnownStructure }

and { the set of all JSValues that are not cells }.


You can then further intersect this set with the following set, if you guard the code with
watchpoints on all structures in the m_futurePossibleStructure:

  • Union of { the set of all cells that have a structure that belongs to m_futurePossibleStructure }

and { the set of all JSValues that are not cells }.


One way to think of this is that m_currentKnownStructure is filtered by m_futurePossibleStructure
(i.e. is set to the intersection of m_currentKnownStructure and m_futurePossibleStructure), if the
code for which you're doing this is always preceded by watchpoints on all structures in
m_futurePossibleStructure, and is always before any side-effects that could change the structures
of objects.

The incorrect optimization related to CheckStructure. CheckStructure checks that the value is a
cell, and that it has a particular structure. It was incorrectly assuming that you could eliminate
the CheckStructure, if m_currentKnownStructure contained the structure that CheckStructure was
checking. But this is not the case, since m_currentKnownStructure does not prove that the value is
a cell with a particular structure; it only proves that if the value was a cell then it would have
a particular structure. Hence, to eliminate CheckStructure, it is also necessary to check that
AbstractValue::m_type contains only cells (i.e. isCellSpeculation(m_type) == true).

It wasn't doing that, and this changes makes sure that it does do that.

  • dfg/DFGConstantFoldingPhase.cpp:

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

LayoutTests:

Reviewed by Ryosuke Niwa.

  • fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
  • fast/js/dfg-check-structure-elimination-for-non-cell.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-check-structure-elimination-for-non-cell.js: Added.

(foo):
(bar):
(baz):

3:39 PM Changeset in webkit [138861] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Temporarily skipping three tests
in webaudio/codec-tests/vorbis because they need a
special rebaseline.

  • platform/chromium/TestExpectations:
3:36 PM Changeset in webkit [138860] by rniwa@webkit.org
  • 5 edits in trunk

REGRESSION(r138394): platform/mac/accessibility/file-upload-button-subrole.html is failing
https://bugs.webkit.org/show_bug.cgi?id=105778

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Rename "file upload" to "file upload button".

  • English.lproj/Localizable.strings:
  • platform/LocalizedStrings.cpp:

LayoutTests:

Removed the old test expectations.

  • platform/mac/TestExpectations:
3:21 PM Changeset in webkit [138859] by jamesr@google.com
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Remove WebWidget::layerTreeView(), ownership is the other way around
https://bugs.webkit.org/show_bug.cgi?id=106139

Reviewed by Adrienne Walker.

This was added with the thought that it would be useful for transitioning code for a world where the
WebLayerTreeView for a given widget was owned by the WebWidgetClient instead of the WebWidget, but as it turns
out we've transitioned without every adding any callers to this.

  • public/WebWidget.h:

(WebWidget):

  • src/WebViewImpl.cpp:
3:15 PM Changeset in webkit [138858] by timothy_horton@apple.com
  • 13 edits in trunk/Source

[wk2] Remove non-visible tiles from the layer tree
https://bugs.webkit.org/show_bug.cgi?id=106061
<rdar://problem/12761821>

Reviewed by Simon Fraser.

Unparenting tiles which aren't currently on-screen can allow underlying
frameworks to manage the layer's backing stores more effectively than we can.

In addition, add a setting (AggressiveTileRetentionEnabled) which keeps more
tiles around (we don't remove tiles in cohorts, nor when the TileCache moves
out of the window), which is off by default.

  • WebCore.exp.in: Export Settings::setAggressiveTileRetentionEnabled.
  • page/Settings.cpp:

(WebCore::Settings::Settings): Initialize m_aggressiveTileRetentionEnabled to false.
(WebCore::Settings::setAggressiveTileRetentionEnabled): Added.

  • page/Settings.h:

(WebCore::Settings::aggressiveTileRetentionEnabled): Added.

  • platform/graphics/TiledBacking.h: Add setter/getter to hand aggressivelyRetainsTiles through to TiledBackings.
  • platform/graphics/ca/mac/TileCache.h:

(TileCache): Turn TileValidationPolicy into TileValidationPolicyFlags, and add
a flag for unparenting all tiles.
Implement aggressivelyRetainsTiles setter/getter.

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

(WebCore::TileCache::TileCache): Initialize m_aggressivelyRetainsTiles to false.
(WebCore::TileCache::setIsInWindow): Revalidate tiles immediately if the TileCache has just entered the window.
(WebCore::TileCache::tileRevalidationTimerFired):
This is called if coverage rect, tile cache layer bounds, or visibility changes. We will revalidate tiles:

  • Removing all tiles from the layer tree for background tile caches.
  • Not pruning old tiles if the aggressiveTileRetentionEnabled setting is on.

(WebCore::TileCache::revalidateTiles):
Adopt TileValidationPolicyFlags instead of the old enum, and use separate flags for foreground/background caches.
Unparent tiles when they move out of the tile coverage rect.
Only schedule the tile cohort removal timer if we're not aggressively keeping tiles around.
Ensure that tiles are re-added to the TileCache layer tree if they already exist.
Unparent all tiles if TileValidationPolicyFlags says to (from tileRevalidationTimerFired's background flags).
Only add new tiles to the TileCache's layer tree if we're currently in the window.
Don't prune secondary tiles if the visible rect changes; this will already occur because when the visibleRect
changes, we arrive via tileRevalidationTimerFired, which asks for PruneSecondaryTiles anyway (except if we're
aggressively retaining tiles). This prevents tiles from being deleted unexpectedly during rubber-banding or when zoomed (this part of the patch is thanks to Simon).
(WebCore::TileCache::ensureTilesForRect):
Don't ensure any tiles if the TileCache is offscreen.
Ensure that tiles are re-added to the TileCache layer tree if they already exist.
(WebCore::TileCache::drawTileMapContents):
Draw a thick purple border around tiles that have been unparented.

Add a setting to enable aggressive retention of TileCache tiles. If enabled,
TileCache will generally try to keep around all tiles. This setting is off by default.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAggressiveTileRetentionEnabled):
(WKPreferencesGetAggressiveTileRetentionEnabled):

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

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Forward the setting to the TiledBacking.

2:45 PM Changeset in webkit [138857] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/LayoutTests

URL duplication in mouse cursor tests mean minor typos can cause flakiness
https://bugs.webkit.org/show_bug.cgi?id=104952

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Eric Seidel.

Replace the explicit list of images to preload with code that extracts
URLs from style definitions. Also move all this image preload code to
a common helper file so that it can easily be used by other tests.

  • fast/events/mouse-cursor-image-set.html:
  • fast/events/mouse-cursor-multiframecur.html:
  • fast/events/mouse-cursor.html:
  • fast/js/resources/image-preload-helper.js: Added.

(preloadImagesFromStyle):
(onComplete):
(imagesToLoad):

2:27 PM Changeset in webkit [138856] by wangxianzhu@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewd. Fix break caused by using old internals.settings.setEnableCompositingForFixedPosition
(has been renamed to setAcceleratedCompositingForFixedPositionEnabled).

  • compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html:
2:18 PM Changeset in webkit [138855] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

HTMLTreeBuilder should ASSERT that it is on the main thread before touching elements
https://bugs.webkit.org/show_bug.cgi?id=106128

Reviewed by Eric Seidel.

Even if we move the HTML parser onto a background thread, we're likely
to keep fragment parsing on the main thread. These code paths touch
elements (which only exist on the main thread) but are only used during
fragment parsing. This patch adds ASSERTs to document that invariant.

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::closestFormAncestor):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

2:01 PM Changeset in webkit [138854] by zoltan@webkit.org
  • 4 edits
    4 adds in trunk

[CSS Regions] @region rules inside media queries are ignored
https://bugs.webkit.org/show_bug.cgi?id=102388

Reviewed by David Hyatt.

Using @region rules in media queries was ignored, but we should accept and apply it.

Source/WebCore:

Tests: fast/regions/region-rule-nested-region-rule.html

fast/regions/region-styling-mediaquery.html

  • css/CSSGrammar.y.in: Add new ruleList for region rule to handle the media query case

and avoid using nested region rules.

  • css/RuleSet.cpp:

(WebCore::RuleSet::addRulesFromSheet): Add case for region rules inside media queries.

LayoutTests:

  • fast/regions/region-rule-nested-region-rule-expected.html: Added.
  • fast/regions/region-rule-nested-region-rule.html: Added.
  • fast/regions/region-styling-mediaquery-expected.html: Added.
  • fast/regions/region-styling-mediaquery.html: Added.
1:48 PM Changeset in webkit [138853] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Last text input caret left visible when WebView entirely loses focus.
https://bugs.webkit.org/show_bug.cgi?id=106124

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2013-01-04
Reviewed by George Staikos.

Internal PR 248834

There are numerous code paths that lead to repainting of the focus node
when the focus moves to another node, but none seem to cover the case
of focus leaving the document when there are no DocumentMarkers present.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setElementUnfocused):

1:48 PM Changeset in webkit [138852] by Lucas Forschler
  • 3 edits
    1 add in branches/safari-536.28-branch/LayoutTests/platform/mac

Rebase svg tests.

1:39 PM Changeset in webkit [138851] by mitz@apple.com
  • 5 edits
    2 adds in trunk

[mac] WebKit1 has no equivalent of WKBundleNodeHandleCopyHTMLTableCellElementCellAbove
https://bugs.webkit.org/show_bug.cgi?id=106121

Reviewed by Adele Peterson.

Source/WebCore:

Test: TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm.

  • bindings/objc/DOM.mm:

(-[DOMHTMLTableCellElement _cellAbove]): Added. Calls HTMLTableCellElement::cellAbove().

  • bindings/objc/DOMPrivate.h: Added declaration of the above.

Tools:

Added test for -[DOMTHMLTableCellElement _cellAbove].

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm: Added.

(-[HTMLTableCellElementCellAboveTest webView:didFinishLoadForFrame:]):
(TestWebKitAPI):
(TestWebKitAPI::expectCellAboveCell):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/DOMHTMLTableCellElementCellAbove.html: Added.
1:37 PM Changeset in webkit [138850] by inferno@chromium.org
  • 7 edits
    2 adds in trunk

Crash in WebCore::RenderBlock::willBeDestroyed
https://bugs.webkit.org/show_bug.cgi?id=103455

Reviewed by Eric Seidel.

Source/WebCore:

It is not required to set beforeChild to :after child since DOM is
now pseudo element aware. See trac.webkit.org/changeset/137336. We
were incorrectly placing the inline continuation before the :after
content.

Test: fast/multicol/continuation-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): remove beforeChild
setting to afterPseudoElementRenderer.

  • rendering/RenderRuby.cpp:

(WebCore::RenderRubyAsInline::addChild): add missing beforeChild argument.
setting to afterPseudoElementRenderer.
(WebCore::RenderRubyAsBlock::addChild): add missing beforeChild argument.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild): remove beforeChild
setting to afterPseudoElementRenderer.

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::addChild): remove beforeChild
setting to afterPseudoElementRenderer.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild): remove beforeChild
setting to afterPseudoElementRenderer.

LayoutTests:

  • fast/multicol/continuation-crash-expected.txt: Added.
  • fast/multicol/continuation-crash.html: Added.
1:33 PM Changeset in webkit [138849] by crogers@google.com
  • 21 edits
    3 copies
    3 adds
    2 deletes in trunk

Implement WebIDL-style string constants in WebAudio (part 2)
https://bugs.webkit.org/show_bug.cgi?id=105977

Reviewed by Kentaro Hara.

Source/WebCore:

See Deprecation Notes for more detail:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes

PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
Legacy support in the setters for the old integer values should be supported.
This patch handles the changes for BiquadFilterNode and PannerNode.

Test: webaudio/pannernode-basic.html

  • GNUmakefile.list.am:
  • Modules/webaudio/BiquadFilterNode.cpp:

(WebCore::BiquadFilterNode::type):
(WebCore):
(WebCore::BiquadFilterNode::setType):

  • Modules/webaudio/BiquadFilterNode.h:

(BiquadFilterNode):

  • Modules/webaudio/BiquadFilterNode.idl:
  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::panningModel):
(WebCore):
(WebCore::PannerNode::setPanningModel):
(WebCore::PannerNode::distanceModel):
(WebCore::PannerNode::setDistanceModel):

  • Modules/webaudio/PannerNode.h:

(PannerNode):

  • Modules/webaudio/PannerNode.idl:
  • Target.pri:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.

(WebCore):
(WebCore::JSBiquadFilterNode::setType):

  • bindings/js/JSPannerNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.

(WebCore):
(WebCore::JSPannerNode::setPanningModel):
(WebCore::JSPannerNode::setDistanceModel):

  • bindings/v8/custom/V8BiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.

(WebCore):
(WebCore::V8BiquadFilterNode::typeAccessorSetter):

  • bindings/v8/custom/V8PannerNodeCustom.cpp: Added.

(WebCore):
(WebCore::V8PannerNode::panningModelAccessorSetter):
(WebCore::V8PannerNode::distanceModelAccessorSetter):

LayoutTests:

  • webaudio/audiopannernode-basic-expected.txt: Removed.
  • webaudio/audiopannernode-basic.html: Removed.
  • webaudio/biquad-getFrequencyResponse-expected.txt:
  • webaudio/biquad-getFrequencyResponse.html:
  • webaudio/biquadfilternode-basic-expected.txt:
  • webaudio/biquadfilternode-basic.html:
  • webaudio/pannernode-basic-expected.txt: Added.
  • webaudio/pannernode-basic.html: Added.
  • webaudio/resources/biquad-testing.js:
  • webaudio/resources/distance-model-testing.js:

(createGraph):
(.return.renderedBuffer):
(checkDistanceResult):

  • webaudio/resources/panner-model-testing.js:

(createGraph):

1:25 PM Changeset in webkit [138848] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] FCC will show up as you type if you tap on the same input bar twice before typing
https://bugs.webkit.org/show_bug.cgi?id=106116

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-01-04
Reviewed by Yong Li.
Internal reviewed by Gen Mak.
PR 267177

FCC is being invoked because the fatfinger result is no longer a reliable source
to tell whether the caret change is caused by user touch input. Instead, we recognize all
notifyCaretChange calls with userTouchInput as true except when caretPositionChanged is invoked
by SelectionHandler:inputHandlerDidFinishProcessingChange.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
(BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

  • WebKitSupport/SelectionHandler.h:

(SelectionHandler):

1:25 PM Changeset in webkit [138847] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/LayoutTests

Update tests to use layoutTestController instead of testRunner.

1:23 PM Changeset in webkit [138846] by yoli@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Cached frame shouldn't access the page when being destroyed
https://bugs.webkit.org/show_bug.cgi?id=105942

Reviewed by George Staikos.

Fix regression of previous patch. dispatchDidHandleOnloadEvents() can be called
after Frame has been detached.

RIM PR# 271237.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):

1:15 PM Changeset in webkit [138845] by weinig@apple.com
  • 12 edits in trunk/Source/WebKit2

Make process initialization more uniform by renaming initialization methods and removing extraneous parameters
https://bugs.webkit.org/show_bug.cgi?id=106120

Reviewed by Brady Eidson.

Rename FooProcess::initialize() -> FooProcess::initializeConnection() and removes
the RunLoop parameter since it is always the same the as RunLoop::main().

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeConnection):

  • NetworkProcess/NetworkProcess.h:

(NetworkProcess):

  • NetworkProcess/mac/NetworkProcessInitialization.mm:

(WebKit::initializeNetworkProcess):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::initializeConnection):

  • PluginProcess/PluginProcess.h:
  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain):

  • PluginProcess/qt/PluginProcessMainQt.cpp:

(WebKit::PluginProcessMain):

  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit::PluginProcessMainUnix):

  • SharedWorkerProcess/SharedWorkerProcess.cpp:

(WebKit::SharedWorkerProcess::initializeConnection):

  • SharedWorkerProcess/SharedWorkerProcess.h:

(SharedWorkerProcess):

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain):

1:15 PM Changeset in webkit [138844] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. The following two tests are flaky on XP:
svg/custom/feComponentTransfer-Table.svg
svg/custom/embedding-external-svgs.xhtml

  • platform/chromium/TestExpectations:
1:12 PM Changeset in webkit [138843] by commit-queue@webkit.org
  • 11 edits in trunk

window.Touch and TouchList should exist when touch events are enabled
https://bugs.webkit.org/show_bug.cgi?id=96295

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Kentaro Hara.

Source/WebCore:

Add missing window.Touch and window.TouchList constructors under
ENABLE(TOUCH_EVENTS).

Make window.Touch, window.TouchList and window.TouchEvent enabled at runtime
under V8, to be consistent with all the other touch-related APIs.

Tests: fast/events/touch/document-create-touch-list.html

fast/js/global-constructors.html

  • bindings/generic/RuntimeEnabledFeatures.h:
  • dom/Document.idl:
  • dom/Element.idl:
  • page/DOMWindow.idl:

LayoutTests:

Add new expected constructors and instanceof checks.

  • fast/events/touch/document-create-touch-list-expected.txt:
  • fast/events/touch/script-tests/document-create-touch-list.js:
  • platform/efl/fast/js/global-constructors-expected.txt:
  • platform/qt-5.0/fast/js/global-constructors-expected.txt:
  • platform/qt/fast/js/global-constructors-expected.txt:
1:04 PM Changeset in webkit [138842] by wangxianzhu@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Test compositing and slow scrolling behavior of fixed position elements under transformed elements
https://bugs.webkit.org/show_bug.cgi?id=103470

Reviewed by Simon Fraser.

Add test case for the behavior change about fixed position elements under transformed elements in bug 102543 by the way.

  • compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: Added.
  • compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html: Added.
1:03 PM Changeset in webkit [138841] by adamk@chromium.org
  • 6 edits
    1 move
    1 add in trunk/Source/WebCore

[v8] Stop using an IDL to generate V8MutationCallback
https://bugs.webkit.org/show_bug.cgi?id=106122

Reviewed by Adam Barth.

The only real code in the generated V8MutationCallback.{h,cpp} files
were specifically written in CodeGeneratorV8 for its use. By instead
Using completely-hand-written versions of these files, the
CodeGenerator can be simplified (as can all generated Callbacks).
All the actually shared code is still shared via subclassing of
ActiveDOMCallback.

This introduces additional flexibility into the implementation of
MutationCallback which will be used when fixing the MutationObserver
memory leak (http://webkit.org/b/90661) for JSC.

No changes to JSC for now, just a FIXME in the IDL file.

No new tests, refactoringonly.

  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallbackHeader):
(GenerateCallbackImplementation):

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

(WebCore::V8TestCallback::V8TestCallback):

  • bindings/scripts/test/V8/V8TestCallback.h:

(WebCore::V8TestCallback::create):
(V8TestCallback):

  • bindings/v8/V8MutationCallback.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MutationCallbackCustom.cpp.

(WebCore::V8MutationCallback::V8MutationCallback):
(WebCore::V8MutationCallback::handleEvent):

  • bindings/v8/V8MutationCallback.h: Added.

(V8MutationCallback):
(WebCore::V8MutationCallback::create):
(WebCore::V8MutationCallback::weakCallback):

  • dom/MutationCallback.idl:
12:51 PM Changeset in webkit [138840] by tony@chromium.org
  • 28 edits in trunk

Remove some autogenerated settings from InternalSettings.idl
https://bugs.webkit.org/show_bug.cgi?id=106114

Reviewed by Ojan Vafai.

Source/WebCore:

Remove 6 methods that are now autogenerated.
setAcceleratedFiltersEnabled was never called.
AcceleratedCompositingForOverflowScrollEnabled was never backed up/restored.
setEnableCompositingForFixedPosition and setEnableCompositingForScrollableFrames
are renamed to match the name in Settings.in.

No new tests, there should be no change in behavior. This is covered by
existing tests in compositing and platform/chromium/compositing.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup): Remove code.
(WebCore::InternalSettings::Backup::restoreTo): Remove code.

  • testing/InternalSettings.h:

(Backup): Remove member variables.
(InternalSettings):

  • testing/InternalSettings.idl: Remove methods that are no longer used.

LayoutTests:

Rename setters to match the name in Settings.in
setEnableCompositingForFixedPosition -> setAcceleratedCompositingForFixedPositionEnabled
setEnableCompositingForScrollableFrames -> setAcceleratedCompositingForScrollableFramesEnabled

  • compositing/absolute-inside-out-of-view-fixed.html:
  • compositing/geometry/fixed-position-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-composited-page-scale-scroll.html:
  • compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html:
  • compositing/geometry/fixed-position-composited-page-scale.html:
  • compositing/geometry/fixed-position-composited-switch.html:
  • compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-iframe-composited-page-scale.html:
  • compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-transform-composited-page-scale.html:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-scroll.html:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-iframe.html:
  • compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html:
  • compositing/layer-creation/fixed-position-out-of-view-scaled.html:
  • compositing/layer-creation/fixed-position-out-of-view-scroll-reason.html:
  • compositing/layer-creation/fixed-position-out-of-view.html:
  • compositing/overflow/automatically-opt-into-composited-scrolling.html:
  • platform/chromium/compositing/force-compositing-mode/force-composite-empty.html:
  • platform/chromium/compositing/force-compositing-mode/no-overflow-iframe-layer.html:
  • platform/chromium/compositing/force-compositing-mode/overflow-hidden-iframe-layer.html:
  • platform/chromium/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html:
  • platform/chromium/compositing/force-compositing-mode/overflow-iframe-layer.html:
  • platform/chromium/compositing/force-compositing-mode/overflow-iframe-leave-compositing.html:
12:51 PM Changeset in webkit [138839] by nghanavatian@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Allow defaultTabEventHandler to trigger on tab
https://bugs.webkit.org/show_bug.cgi?id=106118

Reviewed by Yong Li.

In order to support tabbing through input elements, amongst
other things, we need to bipass the processing of the tab key as
'\t'. This will simply insert 4 spaces in the field. Remove tab
support from the key down map so that we don't translate it to
an editor command.

Internally reviewed by Mike Fenton.

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore):

12:45 PM Changeset in webkit [138838] by ojan@chromium.org
  • 23 edits
    2 adds in trunk

Vertical writing mode can overflow fixed size grandparent container
https://bugs.webkit.org/show_bug.cgi?id=93655

Reviewed by David Hyatt.

Source/WebCore:

Add a hook to RenderBox::availableHeight to exclude the containing block's
margin, border and padding. This is for auto-sizing perpendicular writing modes
to restrict to the minimum of the fill-available height and the viewport height.

This will be used in a future patch to implement "height: fill-available".

This behavior was recently specced in http://dev.w3.org/csswg/css3-sizing/#extrinsic-sizing.

Test: fast/writing-mode/auto-sizing-orthogonal-flows.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):

  • rendering/RenderBox.h:

(RenderBox):
(WebCore::RenderBox::availableWidth):
(WebCore::RenderBox::availableHeight):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation):

  • rendering/RenderView.cpp:

(WebCore::RenderView::availableLogicalHeight):

  • rendering/RenderView.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

LayoutTests:

  • fast/writing-mode/auto-sizing-orthogonal-flows-expected.txt: Added.
  • fast/writing-mode/auto-sizing-orthogonal-flows.html: Added.
  • fast/writing-mode/percentage-height-orthogonal-writing-modes-expected.txt:
  • fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks-expected.txt:
  • fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html:
  • fast/writing-mode/percentage-height-orthogonal-writing-modes.html:
  • fast/writing-mode/table-percent-width-quirk-expected.png:
  • fast/writing-mode/table-percent-width-quirk-expected.txt:

This test now correctly uses the containing blocks's availableHeight instead of the
initial containing block's height to size the perpendicular child.

  • platform/chromium-linux/fast/ruby/base-shorter-than-text-expected.txt:
  • platform/chromium-linux/fast/table/038-vertical-expected.png:
  • platform/chromium-linux/fast/table/border-collapsing/004-vertical-expected.png:

The extra wrapping in this test is just because we subtract the body's margin when
computing the available height. If you force the table's container 16px smaller,
you get the same rendering at tip of tree WebKit.

  • platform/chromium-win/fast/table/038-vertical-expected.txt:
  • platform/chromium-win/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:

Add tests that will need rebaseline once this patch lands.

12:43 PM Changeset in webkit [138837] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Enable Input Focus when handling touch events for JS
https://bugs.webkit.org/show_bug.cgi?id=106109

Reviewed by Yong Li.

PR 273325.

Toggle input mode active when a touch event is
received for JS processing to ensure state
is updated even when event is consumed.

Reviewed Internally by Gen Mak.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::touchEvent):

12:42 PM Changeset in webkit [138836] by jsbell@chromium.org
  • 14 edits
    4 adds in trunk

Add tests for WebIDL type conversions
https://bugs.webkit.org/show_bug.cgi?id=105927

Reviewed by Adam Barth.

Source/WebCore:

Expose attributes of various WebIDL types for testing ECMAScript value conversion,
including edge cases such as NaNs, Infinities, etc. These attributes hang off
a TypeConversions object created via window.internals.typeConversions().

Test: fast/js/webidl-type-mapping.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.vcproj/WebCoreTestSupport.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • testing/Internals.cpp:

(WebCore::Internals::typeConversions):
(WebCore):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:
  • testing/TypeConversions.h: Added.

(WebCore):
(TypeConversions):
(WebCore::TypeConversions::create):
(WebCore::TypeConversions::testLong):
(WebCore::TypeConversions::setTestLong):
(WebCore::TypeConversions::testUnsignedLong):
(WebCore::TypeConversions::setTestUnsignedLong):
(WebCore::TypeConversions::testLongLong):
(WebCore::TypeConversions::setTestLongLong):
(WebCore::TypeConversions::testUnsignedLongLong):
(WebCore::TypeConversions::setTestUnsignedLongLong):
(WebCore::TypeConversions::TypeConversions):

  • testing/TypeConversions.idl: Added.

LayoutTests:

This currently fails long long conversions of non-finites (which should map to 0). Patch
in progress at: http://wkbug.com/96798

  • fast/js/webidl-type-mapping-expected.txt: Added.
  • fast/js/webidl-type-mapping.html: Added.
12:40 PM Changeset in webkit [138835] by senorblanco@chromium.org
  • 5 edits
    2 adds in trunk

Invalidation of some SVG filter attributes on HTML content doesn't work
https://bugs.webkit.org/show_bug.cgi?id=105635

Reviewed by Dirk Schulze.

Source/WebCore:

Since HTML elements with filters are only added to m_clientLayers, not
m_clients, and do not use the FilterInfo used by SVG filters on SVG
elements, they must be invalidated separately. Some filter attribute
invalidations call markAllClientsForInvalidation(), but some call
markClientForInvalidation() directly. These invaldations must also
invalidate m_clientLayers.

Test: css3/filters/reference-filter-update-on-attribute-change.html

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):

  • rendering/svg/RenderSVGResourceContainer.h:

Refactor client layer invalidation out into its own function.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
Mark all client layers for invalidation when a filter primitve attribute is
changed.

LayoutTests:

New reftest to verify filter attribute change invalidations.

  • css3/filters/reference-filter-update-on-attribute-change-expected.html: Added.
  • css3/filters/reference-filter-update-on-attribute-change.html: Added.
12:38 PM Changeset in webkit [138834] by mkwst@chromium.org
  • 3 edits
    4 adds in trunk

CSP 1.1: Experiment with adding line numbers to violation reports.
https://bugs.webkit.org/show_bug.cgi?id=105374

Reviewed by Adam Barth.

Source/WebCore:

Line numbers and URLs were added to the CSP 1.1 spec in
https://dvcs.w3.org/hg/content-security-policy/rev/e0270baace3d, and
already exist (and have for quite some time) in Firefox's
implementation. Based on developer feedback, it seems reasonable to
experiment a bit with adding them to WebKit's violation reports.
This patch generates a stack trace when constructing the violation
report object (iff a violation report object ought to be generated)
and adds a line number and URL to the object if possible.

Tests: http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.html

http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation):

Generate a stack trace when building the violation report: if it
has relevant detail, add the line number and URL to the report
object.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.html: Added.
  • http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html: Added.
12:32 PM Changeset in webkit [138833] by mikelawther@chromium.org
  • 3 edits
    4 adds in trunk

CSS3 calc: working with translate and scale transforms
https://bugs.webkit.org/show_bug.cgi?id=105985

Reviewed by Ojan Vafai.

Source/WebCore:

Allow convertTo[Float|Int]Length functions to process calculated values.

Tests: css3/calc/transforms-scale.html

css3/calc/transforms-translate.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::convertToIntLength):
(WebCore::StyleResolver::convertToFloatLength):

LayoutTests:

  • css3/calc/transforms-scale-expected.html: Added.
  • css3/calc/transforms-scale.html: Added.
  • css3/calc/transforms-translate-expected.html: Added.
  • css3/calc/transforms-translate.html: Added.
12:30 PM Changeset in webkit [138832] by esprehn@chromium.org
  • 3 edits
    2 adds in trunk

PseudoElement should never dispatch events
https://bugs.webkit.org/show_bug.cgi?id=106048

Reviewed by Ojan Vafai.

Source/WebCore:

The new DOM based generated content can sometimes dispatch events
as a result of animations or transitions which is incorrect as it
exposes the PseudoElement to script. All event dispatch from a
PseudoElement should be ignored.

Per discussions with Tab Atkins in the future we might add support
by making events dispatched from a pseudo element fire with the
target as the parent element and add a new pseudo property to
events that has the value "before" or "after".

Test: fast/css-generated-content/pseudo-element-events.html

  • dom/PseudoElement.h:

LayoutTests:

Add a test that events don't get dispatched from pseudo elements. The
only way right now to cause this is with transitions or animations.

  • fast/css-generated-content/pseudo-element-events-expected.txt: Added.
  • fast/css-generated-content/pseudo-element-events.html: Added.
12:25 PM Changeset in webkit [138831] by commit-queue@webkit.org
  • 13 edits in trunk/Source/Platform

[chromium] Remove static create functions from types WebCompositorSupport can construct
https://bugs.webkit.org/show_bug.cgi?id=99877

Patch by James Robinson <jamesr@chromium.org> on 2013-01-04
Reviewed by Adrienne Walker.

  • chromium/public/WebAnimation.h:
  • chromium/public/WebContentLayer.h:
  • chromium/public/WebExternalTextureLayer.h:
  • chromium/public/WebFloatAnimationCurve.h:
  • chromium/public/WebIOSurfaceLayer.h:
  • chromium/public/WebImageLayer.h:
  • chromium/public/WebLayer.h:
  • chromium/public/WebLayerTreeView.h:
  • chromium/public/WebScrollbarLayer.h:
  • chromium/public/WebSolidColorLayer.h:
  • chromium/public/WebTransformAnimationCurve.h:
  • chromium/public/WebVideoLayer.h:
12:25 PM Changeset in webkit [138830] by tdanderson@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed gardening. Adding Lion image baseline for
fast/regions/full-screen-video-from-region.html

  • platform/chromium-mac-lion/fast/regions/full-screen-video-from-region-expected.png: Added.
12:23 PM Changeset in webkit [138829] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

WebKitCSSTransformValue::customCssText() should always allocate once
https://bugs.webkit.org/show_bug.cgi?id=105445

Reviewed by Alexis Menard.

When converting a WebKitCSSTransformValue to a String representation,
it was typically done with 2 memory allocations due to the string size in StringBuilder.

This patch changes the code to use the String Concatenate operations in order
to create the string at once.

The opening parenthesis is also moved in the prefix name in order to maximize
the range copied with memcopy.

  • css/WebKitCSSTransformValue.cpp:

(WebCore::transformValueToCssString): New generic function for boxing values.
(WebCore::WebKitCSSTransformValue::customCssText):
(WebCore::WebKitCSSTransformValue::customSerializeResolvingVariables):

12:13 PM Changeset in webkit [138828] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add a crash test expectation for the crashing test on Mac WebKit1 after r138782,
which attempted to fix the crash but appears to did so only on WebKit2.

The failure is tracked by the bug 106123.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:06 PM Changeset in webkit [138827] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

The following two tests are starting to fail while on the verge of
timing out. Adding Failure to their modifiers.

fast/canvas/webgl/context-creation-and-destruction.html
platform/chromium/virtual/gpu/fast/canvas/webgl/context-creation-and-destruction.html

  • platform/chromium/TestExpectations:
12:05 PM Changeset in webkit [138826] by eric@webkit.org
  • 11 edits in trunk/Tools

FlakyTestReporter should be re-enabled and taught how to post patches
https://bugs.webkit.org/show_bug.cgi?id=103839

Reviewed by Adam Barth.

This moves LayoutTestResultsReader off of the DeprecatedPort object.
It also adds a real Port object to the EWS and CommitQueue objects
using a new PatchProcessingQueue superclass.
PatchProcessingQueue doesn't seem to be the cleanest insertion point
but works for this purpose.
I also moved _upload_results_archive_for_patch into PatchProcessingQueue
to resolve a FIXME.

This required some hacks/shiming between the non-specific "old"
port names which the EWS system is currently using, and the new
port objects. This shimming is done in PatchProcessingQueue._new_port_name_from_old.

Hopefully this will fix the flaky test reporter and results uploading.
Certainly it's another small step towards getting rid of the old ports.py
infrastructure and making the NRWT Port class common webkitpy infrastructure.

Now that DeprecatedPort is no longer used for the results directory
I removed all the explicit results-dir code which webkit-patch was using
in --non-interactive mode to tell NRWT to use a results-dir it understood. :)

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.run_perl_unittests_command):

  • Scripts/webkitpy/common/config/ports_mock.py:

(MockPort.name):

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

(OutputCapture.assert_outputs):

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

(ApplePort.determine_full_port_name):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader.py:

(LayoutTestResultsReader.init):
(LayoutTestResultsReader):
(LayoutTestResultsReader._read_file_contents):
(LayoutTestResultsReader._create_layout_test_results):
(LayoutTestResultsReader._create_unit_test_results):
(LayoutTestResultsReader.results):
(LayoutTestResultsReader.archive):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(LayoutTestResultsReaderTest.test_missing_layout_test_results):
(LayoutTestResultsReaderTest.test_create_unit_test_results):
(test_missing_unit_test_results_path):
(test_layout_test_results):
(test_archive_last_layout_test_results):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(AbstractEarlyWarningSystem):
(AbstractEarlyWarningSystem.init):
(AbstractEarlyWarningSystem.begin_work_queue):
(AbstractEarlyWarningSystem.run_command):

  • Scripts/webkitpy/tool/commands/queues.py:

(AbstractPatchQueue.work_item_log_path):
(PatchProcessingQueue):
(PatchProcessingQueue._new_port_name_from_old):
(PatchProcessingQueue.begin_work_queue):
(PatchProcessingQueue._upload_results_archive_for_patch):
(CommitQueue):
(CommitQueue.begin_work_queue):
(CommitQueue.run_command):
(AbstractReviewQueue):
(AbstractReviewQueue.init):
(AbstractReviewQueue.begin_work_queue):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(AbstractPatchQueueTest.test_next_patch):
(PatchProcessingQueueTest):
(PatchProcessingQueueTest.test_upload_results_archive_for_patch):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run):

  • Scripts/webkitpy/tool/steps/runtests_unittest.py:
12:02 PM Changeset in webkit [138825] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] WebTransformationMatrix shouldn't alias memory for TransformationMatrix
https://bugs.webkit.org/show_bug.cgi?id=106025

Patch by James Robinson <jamesr@chromium.org> on 2013-01-04
Reviewed by Adrienne Walker.

Source/Platform:

  • chromium/public/WebTransformationMatrix.h:

(WebCore):
(WebKit::WebTransformationMatrix::~WebTransformationMatrix):
(WebTransformationMatrix):

Source/WebCore:

  • platform/chromium/support/WebTransformationMatrix.cpp:

(WebKit::WebTransformationMatrix::WebTransformationMatrix):
(WebKit::WebTransformationMatrix::reset):
(WebKit):
(WebKit::WebTransformationMatrix::operator=):
(WebKit::WebTransformationMatrix::operator==):
(WebKit::WebTransformationMatrix::inverse):
(WebKit::WebTransformationMatrix::to2dTransform):
(WebKit::WebTransformationMatrix::multiply):
(WebKit::WebTransformationMatrix::makeIdentity):
(WebKit::WebTransformationMatrix::translate):
(WebKit::WebTransformationMatrix::translate3d):
(WebKit::WebTransformationMatrix::translateRight3d):
(WebKit::WebTransformationMatrix::scale):
(WebKit::WebTransformationMatrix::scaleNonUniform):
(WebKit::WebTransformationMatrix::scale3d):
(WebKit::WebTransformationMatrix::rotate):
(WebKit::WebTransformationMatrix::rotate3d):
(WebKit::WebTransformationMatrix::skewX):
(WebKit::WebTransformationMatrix::skewY):
(WebKit::WebTransformationMatrix::applyPerspective):
(WebKit::WebTransformationMatrix::blend):
(WebKit::WebTransformationMatrix::hasPerspective):
(WebKit::WebTransformationMatrix::isInvertible):
(WebKit::WebTransformationMatrix::isBackFaceVisible):
(WebKit::WebTransformationMatrix::isIdentity):
(WebKit::WebTransformationMatrix::isIdentityOrTranslation):
(WebKit::WebTransformationMatrix::isIntegerTranslation):
(WebKit::WebTransformationMatrix::m11):
(WebKit::WebTransformationMatrix::setM11):
(WebKit::WebTransformationMatrix::m12):
(WebKit::WebTransformationMatrix::setM12):
(WebKit::WebTransformationMatrix::m13):
(WebKit::WebTransformationMatrix::setM13):
(WebKit::WebTransformationMatrix::m14):
(WebKit::WebTransformationMatrix::setM14):
(WebKit::WebTransformationMatrix::m21):
(WebKit::WebTransformationMatrix::setM21):
(WebKit::WebTransformationMatrix::m22):
(WebKit::WebTransformationMatrix::setM22):
(WebKit::WebTransformationMatrix::m23):
(WebKit::WebTransformationMatrix::setM23):
(WebKit::WebTransformationMatrix::m24):
(WebKit::WebTransformationMatrix::setM24):
(WebKit::WebTransformationMatrix::m31):
(WebKit::WebTransformationMatrix::setM31):
(WebKit::WebTransformationMatrix::m32):
(WebKit::WebTransformationMatrix::setM32):
(WebKit::WebTransformationMatrix::m33):
(WebKit::WebTransformationMatrix::setM33):
(WebKit::WebTransformationMatrix::m34):
(WebKit::WebTransformationMatrix::setM34):
(WebKit::WebTransformationMatrix::m41):
(WebKit::WebTransformationMatrix::setM41):
(WebKit::WebTransformationMatrix::m42):
(WebKit::WebTransformationMatrix::setM42):
(WebKit::WebTransformationMatrix::m43):
(WebKit::WebTransformationMatrix::setM43):
(WebKit::WebTransformationMatrix::m44):
(WebKit::WebTransformationMatrix::setM44):
(WebKit::WebTransformationMatrix::a):
(WebKit::WebTransformationMatrix::setA):
(WebKit::WebTransformationMatrix::b):
(WebKit::WebTransformationMatrix::setB):
(WebKit::WebTransformationMatrix::c):
(WebKit::WebTransformationMatrix::setC):
(WebKit::WebTransformationMatrix::d):
(WebKit::WebTransformationMatrix::setD):
(WebKit::WebTransformationMatrix::e):
(WebKit::WebTransformationMatrix::setE):
(WebKit::WebTransformationMatrix::f):
(WebKit::WebTransformationMatrix::setF):
(WebKit::WebTransformationMatrix::toWebCoreTransform):

11:55 AM Changeset in webkit [138824] by rniwa@webkit.org
  • 1 edit
    7 adds in trunk/LayoutTests

Add Mac baselines for subpixel tests added in r125794, r137945, and r138200.
https://bugs.webkit.org/show_bug.cgi?id=106070

Reviewed by Emil A Eklund.

Added baselines.

  • platform/mac/fast/sub-pixel: Added.
  • platform/mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.png: Added.
  • platform/mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.txt: Added.
  • platform/mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Added.
  • platform/mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Added.
  • platform/mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
  • platform/mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Added.
11:48 AM Changeset in webkit [138823] by senorblanco@chromium.org
  • 18 edits
    16 adds in trunk

CSS url() filters with forward references don't work
https://bugs.webkit.org/show_bug.cgi?id=90405

Based on a patch by Keyar Hood.

Reviewed by Dirk Schulze.

Source/WebCore:

In order for CSS to reference SVG filters that will occur later in
the document, or will be added at a future time, we need a way to
notify the target element (the one the filter style is applied to)
when the correct SVG filter is added to the DOM.
There is already code for SVG elements that handles this problem, in
SVGResourcesCache. This patch allows any element to have a reference to
an SVG element in SVGResourceCache.

Tests: css3/filters/effect-reference-after.html

css3/filters/effect-reference-delete-crash.html
css3/filters/effect-reference-delete.html
css3/filters/effect-reference-removed-while-pending-resources.html
css3/filters/effect-reference-rename.html
css3/filters/effect-reference-reset-style-delete-crash.html
svg/filters/filter-cycle.html

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::removedFrom):
When an Element is deleted or removed from its container, and it
has pending resources, remove it from the SVGResourceCache resources
on deletion or when removed from its container.
(WebCore::Element::hasPendingResources):
(WebCore::Element::setHasPendingResources):
(WebCore::Element::clearHasPendingResources):
Accessors for ElementRareData's new bit flag.

  • dom/Element.h:

(WebCore::Element::buildPendingResource):
Virtual function to override for referenced elements (moved from SVGElement).

  • dom/ElementRareData.h:

(WebCore::ElementRareData::hasPendingResources):
(WebCore::ElementRareData::setHasPendingResources):
(WebCore::ElementRareData::ElementRareData):
Add a new bit flag to indicate whether the element depends on pending resources or not, and accessors.

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
The actual flag bit lives in NodeRareData, so it compacts better with
other flags.

  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::applyFilters):
Changed to the new function signature for FilterEffectRenderer::build().

  • rendering/FilterEffectRenderer.cpp:

(WebCore::createCustomFilterEffect):
(WebCore::FilterEffectRenderer::buildReferenceFilter):
Changed signature to accept a RenderObject rather than a Document, so we know which node to notify when the SVG filter arrives. If the referenced filter cannot be found, add its id as a pending reference.
(WebCore::FilterEffectRenderer::build):

  • rendering/FilterEffectRenderer.h:

Change to signatures of build() and buildReferenceFilter() to pass

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
Use the new semantics for FilterEffectRenderer::build().

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::registerResource):
Call clearHasPendingResourceIfPossible on the SVGDocumentExtensions, not
on the element, since we want to support generic Elements.

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::addResourcesFromRenderObject):
(WebCore::SVGResourcesCache::clientStyleChanged):
For non-SVG elements, set a synthetic style change when parent resources
are invalidated.
(WebCore::SVGResourcesCache::resourceDestroyed):
Add support for non-SVG Elements.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::isElementPendingResources):
(WebCore::SVGDocumentExtensions::isElementPendingResource):
Changed to allow use of Element instead of SVGElement.
(WebCore::SVGDocumentExtensions::clearHasPendingResourcesIfPossible):
Moved from SVGElement, and made to work on any Element. This way,
we avoid adding this function to Element itself.
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
Changed to allow use of Element instead of SVGElement.

  • svg/SVGDocumentExtensions.h:

SVGElement -> Element.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::removedFrom):
Don't handle pending resource notifications (Element will do it).

  • svg/SVGElement.h:

All functions moved to Element, except for clearHasPendingResourcesIfPossible() moved to SVGDocumentExtensions.

  • svg/SVGElementRareData.h:

(WebCore::SVGElementRareData::SVGElementRareData):
m_hasPendingResources and accessors moved to ElementRareData.

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
SVGElement -> Element, and call SVGDocumentExtensions for
clearHasPendingResourcesIfPossible().

LayoutTests:

  • css3/filters/effect-reference-after-expected.html: Added.
  • css3/filters/effect-reference-after.html: Added.
  • css3/filters/effect-reference-delete-crash.html: Added.
  • css3/filters/effect-reference-delete-expected.html: Added.
  • css3/filters/effect-reference-delete.html: Added.
  • css3/filters/effect-reference-removed-while-pending-resources-expected.html: Added.
  • css3/filters/effect-reference-removed-while-pending-resources.html: Added.
  • css3/filters/effect-reference-rename-expected.html: Added.
  • css3/filters/effect-reference-rename.html: Added.
  • css3/filters/effect-reference-reset-style-delete-crash-expected.txt: Added.
  • css3/filters/effect-reference-reset-style-delete-crash.html: Added.
  • css3/filters/script-tests/effect-reference-delete-crash.js: Added.
  • css3/filters/script-tests/effect-reference-reset-style-delete-crash.js: Added.
  • svg/filters/filter-cycle-expected.html: Added.
  • svg/filters/filter-cycle.html: Added.
11:36 AM Changeset in webkit [138822] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk/Source/Platform

[chromium] Remove unneeded WebDelegatedRendererLayer and WebCompositorTransferableResourceList headers
https://bugs.webkit.org/show_bug.cgi?id=105263

Patch by James Robinson <jamesr@chromium.org> on 2013-01-04
Reviewed by Darin Fisher.

These aren't needed any more since the delegation will be set up on the chromium side.

  • Platform.gypi:
  • chromium/public/WebCompositorSupport.h:

(WebKit):

  • chromium/public/WebCompositorTransferableResourceList.h: Removed.
  • chromium/public/WebDelegatedRendererLayer.h: Removed.
11:34 AM Changeset in webkit [138821] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Clamp font sizes to valid range in RenderStyle::setFontSize
https://bugs.webkit.org/show_bug.cgi?id=106014

Patch by John Mellor <johnme@chromium.org> on 2013-01-04
Reviewed by Emil A Eklund.

There is a test-case attached to http://crbug.com/167443, but I can't
think of a good way of automatically testing this. Functionality
shouldn't change on normal pages.

  • rendering/style/RenderStyleConstants.h:

Add constant for maximum allowed font size.

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyFontSize::applyValue):

Use constant from RenderStyleConstants.h instead of hardcoding.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::getComputedSizeFromSpecifiedSize):

Use constant from RenderStyleConstants.h instead of hardcoding.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setFontSize):

Clamp non-finite and out of range font sizes.

11:32 AM Changeset in webkit [138820] by mkwst@chromium.org
  • 3 edits
    3 adds in trunk

CSP: Blocked 'track' sources should only log once to the console.
https://bugs.webkit.org/show_bug.cgi?id=106091

Reviewed by Eric Carlson.

Source/WebCore:

HTMLTrackElement posts a message to the console when track data is
blocked by Content Security Policy. Now that we're logging inside the
ContentSecurityPolicy object itself, there's no need for the
duplication. This patch drops the extra log message (and, as a
side-effect, adds a test that ensures that 'track' content is governed
by the 'media-src' directive).

Test: http/tests/security/contentSecurityPolicy/media-src-track-block.html

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::canLoadUrl):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/media-src-track-block-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/media-src-track-block.html: Added.
  • http/tests/security/contentSecurityPolicy/resources/track.srt: Added.
11:26 AM BuildingQtOnWindows edited by pierre.rossi@gmail.com
Unindent Ruby from GnuWin32 tools (diff)
11:18 AM Changeset in webkit [138819] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in media/unsupported-rtsp.html.
https://bugs.webkit.org/show_bug.cgi?id=106038

Reviewed by Eric Carlson.

Fixes media/unsupported-rtsp.html on Mac platforms which support AVAssetResourceLoadingRequest.

Check that the CachedResource passed in the notifyFinished method didn't fail or error before
passing its (possibly nil) contents to the AVAssetResourceLoadingRequest.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::notifyFinished):
(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

11:13 AM Changeset in webkit [138818] by mkwst@chromium.org
  • 4 edits
    2 adds in trunk

CSP: 'frame-src' should block redirects to invalid sources.
https://bugs.webkit.org/show_bug.cgi?id=106084

Reviewed by Adam Barth.

Source/WebCore:

The 'frame-src' CSP directive whitelists valid iframe targets, but
currently fails to correctly deal with redirection. As long as the
initial target is valid, any redirection goes through without
question. This patch moves the CSP check out of
SubframeLoader::loadSubframe, and into
PolicyChecker::checkNavigationPolicy. In the new location, the check
is well-positioned to check each URL in a redirect chain, as opposed
to checking only the initial target.

Test: http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked.html

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

LayoutTests:

  • http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked.html: Added.
11:09 AM Changeset in webkit [138817] by mkwst@chromium.org
  • 11 edits
    2 adds in trunk

CSP: XHR from an isolated world should bypass a page's policy.
https://bugs.webkit.org/show_bug.cgi?id=104480

Reviewed by Adam Barth.

Source/WebCore:

Connections of various types are governed by the page's Content Security
Policy 'connect-src' directive. In the special case of connections
generated from an isolated world, we'd like to bypass these restrictions
in order to allow things like extensions to enjoy their uniquely high-
privilege lifestyle. This patch does just that.

We'll lock them down to their own policy in webkit.org/b/104520, but
that's a bit far away at the moment. Soon!

Test: http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

  • page/EventSource.cpp:

(WebCore::EventSource::create):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open):

Check whether or not code is running in an isolated world that has
its own Content Security Policy. If so, bypass the main world's CSP
checks. Isolated worlds gotta be free, man.

LayoutTests:

  • http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr-expected.txt: Added.
  • http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html: Added.

A new test! How wonderful!

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:

Skipping the new test on ports that don't support it.

11:02 AM Changeset in webkit [138816] by mikelawther@chromium.org
  • 4 edits
    1 move in trunk

CSS3 calc: mixed percent/absolute for border-radius
https://bugs.webkit.org/show_bug.cgi?id=106046

Reviewed by Ojan Vafai.

Source/WebCore:

Add the calculation evaluation to the border radius code.

Test: css3/calc/border-radius.html

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyBorderRadius::applyValue):

LayoutTests:

  • css3/calc/border-radius-expected.html: Renamed from LayoutTests/css3/calc/border-radius-expected-mismatch.html.
  • css3/calc/border-radius.html:
10:44 AM Changeset in webkit [138815] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Again updating baseline for editing/deleting/delete-to-select-table.html.

  • platform/gtk/editing/deleting/delete-to-select-table-expected.txt:
10:39 AM Changeset in webkit [138814] by danakj@chromium.org
  • 10 edits
    27 deletes in trunk

[chromium] Remove lost-compositor-context layout tests
https://bugs.webkit.org/show_bug.cgi?id=106089

Reviewed by James Robinson.

Source/Platform:

Mark the loseCompositorContext() test function for removal.

  • chromium/public/WebLayerTreeView.h:

(WebLayerTreeView):

Source/WebKit/chromium:

Remove the loseCompositorContext() test function.

  • public/WebView.h:

(WebView):

  • src/WebViewImpl.cpp:
  • src/WebViewImpl.h:

(WebViewImpl):

Tools:

Remove the loseCompositorContext() test function.

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

LayoutTests:

Better test coverage for these issues is now provided by the unit tests
in the compositor's cc/layer_tree_host_unittest_context.cc file.

  • platform/chromium-linux-x86/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium-linux/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-permanently-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-twice-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.png: Removed.
  • platform/chromium-mac-snowleopard/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium-mac/platform/chromium/compositing/lost-compositor-context-with-video-expected.png: Removed.
  • platform/chromium-win-xp/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-permanently-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-permanently-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-permanently.html: Removed.
  • platform/chromium/compositing/lost-compositor-context-twice-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-twice-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-twice.html: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-rendersurface.html: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-video-expected.png: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-video-expected.txt: Removed.
  • platform/chromium/compositing/lost-compositor-context-with-video.html: Removed.
  • platform/chromium/compositing/lost-compositor-context.html: Removed.
  • platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
  • platform/chromium/compositing/webgl-loses-compositor-context-expected.txt: Removed.
  • platform/chromium/compositing/webgl-loses-compositor-context.html: Removed.
10:34 AM Changeset in webkit [138813] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. fast/repaint/japanese-rl-selection-repaint-in-regions.html
has image-only failures on SnowLeopard and Lion.

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

Early out from FontCache::releaseFontData if cached font data not found.
https://bugs.webkit.org/show_bug.cgi?id=106104

Patch by John Mellor <johnme@chromium.org> on 2013-01-04
Reviewed by Abhishek Arya.

No tests, as no change in behavior.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::releaseFontData):

Early out in release builds if cached font data not found.

10:24 AM Changeset in webkit [138811] by adamk@chromium.org
  • 74 edits in trunk

Remove ENABLE_MUTATION_OBSERVERS #define
https://bugs.webkit.org/show_bug.cgi?id=105459

Reviewed by Ryosuke Niwa.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

The flag has been on by default for quite awhile now (nearly a year)
and the feature is a standardized part of DOM4.

The only place it was disabled was under "unstable" features for the
gtk port, but the fact that it's shipping in several major WebKit
browsers as well as Firefox suggests that it's not too unstable.

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.am: Removed ENABLE_MUTATION_OBSERVERS from the "unstable features" list.
  • GNUmakefile.features.am.in:
  • bindings/js/JSDictionary.cpp:

(WebCore):
(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDictionary.h:
  • bindings/js/JSMainThreadExecState.cpp:

(WebCore::JSMainThreadExecState::didLeaveScriptContext):

  • bindings/js/JSMutationCallbackCustom.cpp:
  • bindings/js/JSMutationObserverCustom.cpp:
  • bindings/v8/V8GCController.cpp:
  • bindings/v8/V8RecursionScope.cpp:

(WebCore::V8RecursionScope::didLeaveScriptContext):

  • bindings/v8/custom/V8MutationCallbackCustom.cpp:
  • bindings/v8/custom/V8MutationObserverCustom.cpp:
  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

  • dom/ChildListMutationScope.cpp:
  • dom/ChildListMutationScope.h:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChild):
(WebCore::willRemoveChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::updateTreeAfterInsertion):

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(Document):

  • dom/Element.cpp:

(WebCore::Element::willModifyAttribute):

  • dom/MutationCallback.h:
  • dom/MutationCallback.idl:
  • dom/MutationObserver.cpp:
  • dom/MutationObserver.h:
  • dom/MutationObserver.idl:
  • dom/MutationObserverInterestGroup.cpp:
  • dom/MutationObserverInterestGroup.h:
  • dom/MutationObserverRegistration.cpp:
  • dom/MutationObserverRegistration.h:
  • dom/MutationRecord.cpp:
  • dom/MutationRecord.h:
  • dom/MutationRecord.idl:
  • dom/Node.cpp:

(WebCore::Node::clearRareData):
(WebCore::Node::setTextContent):
(WebCore::Node::didMoveToNewDocument):
(WebCore::Node::notifyMutationObserversNodeWillDetach):

  • dom/Node.h:

(Node):

  • dom/NodeRareData.cpp:

(SameSizeAsNodeRareData):
(WebCore::NodeRareData::reportMemoryUsage):

  • dom/NodeRareData.h:

(NodeRareData):
(WebCore::NodeRareData::ensureTransientMutationObserverRegistry):

  • editing/markup.cpp:

(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):

  • page/DOMWindow.idl:

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/chromium:

  • features.gypi:
  • src/WebKit.cpp:

(WebKit::initialize):
(WebKit::shutdown):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::deliverAllMutationsIfNecessary):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::deliverAllMutationsIfNecessary):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

Remove references to ENABLE(MUTATION_OBSERVERS) from tests.

  • fast/dom/MutationObserver/cross-document.html:
  • fast/dom/MutationObserver/database-callback-delivery.html:
  • fast/dom/MutationObserver/disconnect-cancel-pending.html:
  • fast/dom/MutationObserver/filesystem-callback-delivery.html:
  • fast/dom/MutationObserver/mutation-observer-constructor.html:
  • fast/dom/MutationObserver/observe-attributes.html:
  • fast/dom/MutationObserver/observe-characterdata.html:
  • fast/dom/MutationObserver/observe-childList.html:
  • fast/dom/MutationObserver/observe-exceptions.html:
  • fast/dom/MutationObserver/observe-subtree.html:
  • fast/dom/MutationObserver/takeRecords.html:
10:20 AM Changeset in webkit [138810] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Statistics used in perftest_unittest.py and perftest_integrationtest.py are bogus
https://bugs.webkit.org/show_bug.cgi?id=106078

Reviewed by Tony Chang.

This patch updates values for individual iterations in dummy performance tests used in
perftest_unittest.py and perftest_integrationtest.py so that they match up with
statistics such as stdev and median reported in those tests. This change is required
to resolve the bug 97510.

This patch also refactors integration tests by extracting *TestData classes that
centralizes the definitions of each dummy performance test's text (DRT output),
runner output, and parsed results (JSON) so that we may share more data between
python tests.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(MainTest._assert_results_are_correct): Extracted from test_parse_output.
Use self.assertAlmostEqual when comparing the standard deviation.
(MainTest.test_parse_output):
(test_parse_output_with_failing_line):
(test_parse_output_with_description): Use _assert_results_are_correct.
(test_parse_output_with_subtests): Ditto.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(InspectorPassTestData): Extracted from tests below.
(EventTargetWrapperTestData): Ditto.
(SomeParserTestData): Ditto.
(MemoryTestData): Ditto.
(TestDriver.run_test): Moved test definitions out of the method.
(MainTest._normalize_output): Truncate standard deviations at 5th decimal point.
(MainTest._load_output_json): Extracted from create_runner.
(MainTest.create_runner):
(MainTest.test_run_test_set_for_parser_tests):
(MainTest.test_run_memory_test):
(MainTest._test_run_with_json_output):
(MainTest.test_run_with_json_output):
(MainTest.test_run_with_description):
(MainTest.test_run_generates_json_by_default):
(MainTest.test_run_merges_output_by_default):
(MainTest.test_run_respects_reset_results):
(MainTest.test_run_generates_and_show_results_page):
(MainTest.test_run_with_slave_config_json):
(MainTest.test_run_with_multiple_repositories):

9:59 AM Changeset in webkit [138809] by wangxianzhu@chromium.org
  • 6 edits in trunk/Source/WebCore

Change RenderLayerBacking::nameForLayer() to RenderLayer::name()
https://bugs.webkit.org/show_bug.cgi?id=105648

Reviewed by Simon Fraser.

No new tests. For debugging only.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::name):
(WebCore):

  • rendering/RenderLayer.h:

(RenderLayer):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateForegroundLayer):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::logLayerInfo):

9:58 AM Changeset in webkit [138808] by commit-queue@webkit.org
  • 8 edits in trunk

Existence of window.Touch can break websites mobile device detection
https://bugs.webkit.org/show_bug.cgi?id=106071

Source/WebCore:

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Ojan Vafai.

Revert http://trac.webkit.org/changeset/135562 for now while I work
on a slightly safer version.

  • page/DOMWindow.idl:

LayoutTests:

Revert http://trac.webkit.org/changeset/135562 for now while I work
on a slightly safer version.

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Ojan Vafai.

  • fast/events/touch/document-create-touch-list-expected.txt:
  • fast/events/touch/script-tests/document-create-touch-list.js:
  • platform/efl/fast/js/global-constructors-expected.txt:
  • platform/qt-5.0/fast/js/global-constructors-expected.txt:
  • platform/qt/fast/js/global-constructors-expected.txt:
9:47 AM Changeset in webkit [138807] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] Unreviewed gardening, unskip a now passing test.

  • platform/qt-5.0-wk2/TestExpectations:
9:41 AM Changeset in webkit [138806] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] [WebKit2] Clicking on a word that is selected in an editable area deletes it
https://bugs.webkit.org/show_bug.cgi?id=106045

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-04
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Be more selective about when to confirm WebKit compositions. If there is no current
preedit, reseting the GTK+ context shouldn't also do an empty confirmation in WebKit,
as this will trash the current selection. The second part of this patch also makes the
m_composingTextCurrently member more accurately reflect whether or not we are composing
text.

  • platform/gtk/GtkInputMethodFilter.cpp:

(WebCore::GtkInputMethodFilter::notifyMouseButtonPress): Only confirm the current WebKit composition
if we have a preedit.
(WebCore::GtkInputMethodFilter::notifyFocusedOut): Ditto.
(WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Don't clear the m_composingTextCurrently
member if we are not sending a confirmed composition.

Tools:

Update test results to confirm that compositions without preedits do not trigger
a composition confirmation.

  • TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp:

(TestWebKitAPI::verifyCanceledComposition):

9:30 AM Changeset in webkit [138805] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Handle re-entrant destruction of MediaPlayerPrivate while a dialog is up
https://bugs.webkit.org/show_bug.cgi?id=105906

Patch by Max Feil <mfeil@rim.com> on 2013-01-04
Reviewed by George Staikos.

Now that dialogs are not truly modal anymore, we need to
handle the case where MediaPlayerPrivate gets destroyed by
re-entrant calls while a dialog is up. We do this by deferring
the destruction of MMRPlayer until the user dismisses the dialog.

No new tests because user dialog input is not yet part of the
layouttest framework.

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
(WebCore::MediaPlayerPrivate::onShowErrorDialog):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:

(MediaPlayerPrivate):

9:16 AM Changeset in webkit [138804] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Blackberry] Static code analysis warning fixes
https://bugs.webkit.org/show_bug.cgi?id=105679

Patch by Anthony Scian <ascian@rim.com> on 2013-01-04
Reviewed by Rob Buis.

Source/WebCore:

klocwork 1855: fixed by caching page, check against NULL and use cached value

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::determineFullScreenMultiplier):

Source/WebKit/blackberry:

Klocwork issue 959: check layer against NULL since it is used in both cases
of the subsequent if-stmt

  • Api/InRegionScroller.cpp:

(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):

9:14 AM Changeset in webkit [138803] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[WK2] [Gtk] crash when web inspector is attached, and window height is reduced.
https://bugs.webkit.org/show_bug.cgi?id=106052

Reviewed by Martin Robinson.

Do not allocate more size for the inspector view than its parent
size. Also make sure that the view size is always at least 1.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(resizeWebKitWebViewBaseFromAllocation):

8:58 AM Changeset in webkit [138802] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[CSS Exclusions] The ExclusionPolygon classes should allow more than one type of "Edge" class
https://bugs.webkit.org/show_bug.cgi?id=106026

Patch by Hans Muller <hmuller@adobe.com> on 2013-01-04
Reviewed by Dirk Schulze.

Refactored the ExclusionPolygonEdge class to pave the way for a similar
OffsetEdge class. The new VertexPair abstract base class provides the common
state and operations. ExclusionPolygonEdge now extends VertexPair and defines
ExclusionPolygon as a friend, since the ExclusionPolygon constructor initializes
its private state.

  • rendering/ExclusionPolygon.cpp:

(WebCore::ExclusionPolygon::ExclusionPolygon): Use ExclusionPolygonEdge accessors instead of direct field access.
(WebCore::getVertexIntersectionVertices): Ditto.

  • rendering/ExclusionPolygon.h:

(VertexPair): New abstract base class.
(WebCore::VertexPair::~VertexPair):
(WebCore::VertexPair::minX): This method was defined in ExclusionPolygonEdge.
(WebCore::VertexPair::minY): Ditto.
(WebCore::VertexPair::maxX): Ditto.
(WebCore::VertexPair::maxY): Ditto.
(ExclusionPolygonEdge): Now extends VertexPair.
(WebCore::ExclusionPolygonEdge::previousEdge): Refer to m_ private class fields, instead of public struct fields.
(WebCore::ExclusionPolygonEdge::nextEdge): Ditto.
(WebCore::ExclusionPolygonEdge::polygon): Ditto.
(WebCore::ExclusionPolygonEdge::vertexIndex1): Ditto.
(WebCore::ExclusionPolygonEdge::vertexIndex2): Ditto.
(WebCore::ExclusionPolygonEdge::edgeIndex): Ditto.

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

[Qt] Unreviewed gardening, skip a new failing test.

  • platform/qt/TestExpectations:
8:14 AM Changeset in webkit [138800] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Add 'float FloatPoint::slopeAngleRadians()'
https://bugs.webkit.org/show_bug.cgi?id=105997

Patch by Steve Block <steveblock@chromium.org> on 2013-01-04
Reviewed by Stephen White.

Refactoring only, no functional change.

  • platform/graphics/FloatPoint.cpp:

(WebCore::FloatPoint::slopeAngleRadians):
(WebCore):

  • platform/graphics/FloatPoint.h:

Add 'float FloatPoint::slopeAngleRadians() const'

  • platform/graphics/PathTraversalState.cpp:

(WebCore::PathTraversalState::processSegment):

  • rendering/svg/SVGMarkerData.h:

(WebCore::SVGMarkerData::currentAngle):

  • svg/SVGPathParser.cpp:

(WebCore::SVGPathParser::decomposeArcToCubic):

7:55 AM Changeset in webkit [138799] by tdanderson@chromium.org
  • 2 edits
    3 adds in trunk/LayoutTests

Unreviewed gardening. New image baselines for test
fast/regions/full-screen-video-from-region.html

  • platform/chromium-mac-snowleopard/fast/regions/full-screen-video-from-region-expected.png: Added.
  • platform/chromium-mac/fast/regions/full-screen-video-from-region-expected.png:
  • platform/chromium-win-xp/fast/regions/full-screen-video-from-region-expected.png: Added.
7:37 AM Changeset in webkit [138798] by pilgrim@chromium.org
  • 29 edits in trunk/Source/WebKit/chromium

[Chromium] Update some #includes to use headers in the new Platform directory
https://bugs.webkit.org/show_bug.cgi?id=106092

Reviewed by Kentaro Hara.

Working towards getting rid of legacy header files in
WebKit/chromium/public/ and WebKit/chromium/public/platform/

  • src/AsyncFileSystemChromium.cpp:
  • src/StorageAreaProxy.cpp:
  • src/StorageNamespaceProxy.cpp:
  • src/WebFileSystemCallbacksImpl.cpp:
  • src/WebGraphicsContext3D.cpp:
  • src/WebIDBCursorImpl.h:
  • src/WebIDBDatabaseCallbacksImpl.cpp:
  • src/WebIDBDatabaseCallbacksImpl.h:
  • src/WebIDBDatabaseError.cpp:
  • src/WebIDBDatabaseImpl.h:
  • src/WebIDBIndexImpl.h:
  • src/WebIDBKeyPath.cpp:
  • src/WebIDBMetadata.cpp:
  • src/WebIDBObjectStoreImpl.h:
  • src/WebWorkerClientImpl.cpp:
  • src/WebWorkerRunLoop.cpp:
  • src/WorkerFileSystemCallbacksBridge.cpp:
  • tests/AssociatedURLLoaderTest.cpp:
  • tests/FrameTestHelpers.cpp:
  • tests/PopupMenuTest.cpp:
  • tests/URLTestHelpers.cpp:
  • tests/WebFrameTest.cpp:
  • tests/WebPageNewSerializerTest.cpp:
  • tests/WebPageSerializerTest.cpp:
  • tests/WebURLRequestTest.cpp:
  • tests/WebURLResponseTest.cpp:
  • tests/WebUnitTests.h:
  • tests/WebViewTest.cpp:
7:25 AM Changeset in webkit [138797] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaselining an editing test after r138654.

Adding failure expectations for two tests added in r138632.
Add a temporary failure expectation for transitions/transitions-parsing.html,
the test is fixed but just requires a clean build. It shouldn't paint the bots
red until then.

  • platform/gtk/TestExpectations:
  • platform/gtk/editing/deleting/delete-to-select-table-expected.txt: Added.
6:43 AM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
Add color chooser API (diff)
6:37 AM Changeset in webkit [138796] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
6:15 AM Changeset in webkit [138795] by zandobersek@gmail.com
  • 6 edits in trunk

REGRESSION (r138184): transitions/transitions-parsing.html is failing on GTK
https://bugs.webkit.org/show_bug.cgi?id=105522

Reviewed by Xan Lopez.

.:

Remove the configuration flag covering unprefixed CSS transition property names.
It does not introduce any dependency. The unprefixed property names should be
available by default.

  • configure.ac:

Source/WebCore:

Remove the feature define overriding for the unprefixed CSS transition property names
define as it is not required.

No new tests - no new functionality.

  • GNUmakefile.am:

LayoutTests:

Remove a failure expectation for a test that's now passing.

  • platform/gtk/TestExpectations:
6:13 AM Changeset in webkit [138794] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip new failing tests introduced in r138632 and r138756.

  • platform/efl/TestExpectations:
6:13 AM Changeset in webkit [138793] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[GObject bindings] Wrap event target interface code in feature define guards if necessary
https://bugs.webkit.org/show_bug.cgi?id=105743

Reviewed by Xan Lopez.

Wrap the event target interface implementation code in feature define guards if the interface
is guarded by a conditional. A warning is reported if these methods get called with the specific
feature being disabled.

This was spotted when building with the video track feature disabled was causing build failures.

No new tests - no new functionality. The bindings tests don't test event targets under conditionals.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateEventTargetIface):

6:03 AM Changeset in webkit [138792] by sudarsana.nagineni@linux.intel.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline editing/deleting/delete-to-select-table.html.

  • platform/efl/editing/deleting/delete-to-select-table-expected.png:
  • platform/efl/editing/deleting/delete-to-select-table-expected.txt: Added.
5:24 AM Changeset in webkit [138791] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[GTK][Qt] Make compositing messages async again
https://bugs.webkit.org/show_bug.cgi?id=106082

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-01-04
Reviewed by Simon Hausmann.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::cancelComposition):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::cancelComposition):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
4:50 AM Changeset in webkit [138790] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Regression(r138728): Causes crashes on the build bots
https://bugs.webkit.org/show_bug.cgi?id=106083

Reviewed by Simon Hausmann.

Update encodeTimingFunction() to encode the x/y members only
if the bezierPreset is set to custom. This is needed because
decodeTimingFunction() only decodes x/y members if the
bezierPreset is set to custom.

This fixes assertion hits on the debug build bots.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::encodeTimingFunction):

4:09 AM Changeset in webkit [138789] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark test webaudio/codec-tests/mp3/128kbps-44khz.html as Missing.

  • platform/efl/TestExpectations:
3:38 AM Changeset in webkit [138788] by sudarsana.nagineni@linux.intel.com
  • 5 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline 2 media/track test cases after r138784.

  • platform/efl/media/track/track-cue-rendering-horizontal-expected.png:
  • platform/efl/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/efl/media/track/track-cue-rendering-vertical-expected.png:
  • platform/efl/media/track/track-cue-rendering-vertical-expected.txt:
2:19 AM Changeset in webkit [138787] by commit-queue@webkit.org
  • 4 edits in trunk

[Mac] [WK2] platform/mac/fast/events/numpad-keycode-mapping.html fails
https://bugs.webkit.org/show_bug.cgi?id=105958

Patch by Sailesh Agrawal <sail@chromium.org> on 2013-01-04
Reviewed by Alexey Proskuryakov.

Tools:

Ported code from DumpRenderTree to WebKitTestRunner to map all numpad keys.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(KeyMappingEntry):
(WTR):
(WTR::EventSenderProxy::keyDown): Added all numpad keys.

LayoutTests:

Fixed numpad-keycode-mapping.html failure in WebKitTestRunner.

  • platform/mac-wk2/TestExpectations:
2:14 AM Changeset in webkit [138786] by Philippe Normand
  • 9 edits in trunk/Source/WebCore

[GStreamer] Port WebAudio backend to 1.0 APIs
https://bugs.webkit.org/show_bug.cgi?id=105293

Reviewed by Martin Robinson.

Port the AudioFileReader and AudioDestination to GStreamer 1.0
APIs. It would be preferable to rely on at least GStreamer 1.0.4
for this to work properly as that release contains two bug fixes
for the deinterleave and interleave elements.

  • platform/audio/FFTFrame.cpp:

(WebCore::FFTFrame::reportMemoryUsage): Don't report GstFFTF32
structures anymore because they're opaque in GStreamer 1.0.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore):
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
The wavparse element in 1.0 has no sometimes-pads anymore.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(AudioFileReader): The decodebin2 element has been renamed to
decodebin in GStreamer 1.0.
(WebCore::getGStreamerAudioCaps): Audio caps description changed a
lot in GStreamer 1.0, the function now handles both APIs.
(WebCore::copyGstreamerBuffersToAudioChannel): Adapted to
GstBufferList and GstBuffer API changes.
(WebCore::onAppsinkPullRequiredCallback): Pull a sample or buffer,
depending on which API we use.
(WebCore::AudioFileReader::~AudioFileReader): Protect
GstBufferListIterators in 0.10-only code path.
(WebCore):
(WebCore::AudioFileReader::handleSample): Pull an audio sample
from appsink and insert it in the appropriate buffer list.
(WebCore::AudioFileReader::handleNewDeinterleavePad): Handle
appsink API changes from GStreamer 0.10 to 1.0.
(WebCore::AudioFileReader::decodeAudioForBusCreation): Create the
correct decodebin element.
(WebCore::AudioFileReader::createBus): Protect GstBufferListIterators
in 0.10-only code path.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(_WebKitWebAudioSourcePrivate): GstTask in GStreamer 1.0 uses a
GRecMutex instead of a (deprecated) GStaticRecMutex.
(getGStreamerMonoAudioCaps): Handle caps description changes
between GStreamer 0.10 and 1.0.
(webKitWebAudioGStreamerChannelPosition): POSITION_LFE in
GStreamer 1.0 is now POSITION_LFE1. Also map ChannelCenter to its
GStreamer equivalent.
(webkit_web_audio_src_class_init): Use generic setGstElementClassMetadata.
(webkit_web_audio_src_init): Handle GRecMutex initialisation.
(webKitWebAudioSrcConstructed): Set channel position on
capsfilter. This is done for GStreamer 1.0 code path only because
in 0.10 the caps have no way to store this information.
(webKitWebAudioSrcFinalize): Clear GRecMutex.
(webKitWebAudioSrcLoop): Handle GstBuffer API changes and add an
error check if buffers can't be chained to queue's source pad.
(webKitWebAudioSrcChangeState): As advised in the GStreamer docs,
fixup the state changes for this live source element: NO_PREROLL
in READY->PAUSED and start/stop the GstTask when going/coming
to/from PLAYING.

2:13 AM Changeset in webkit [138785] by mihnea@adobe.com
  • 4 edits
    8 adds in trunk

[CSS Regions]Content overflowing last region displayed wrong
https://bugs.webkit.org/show_bug.cgi?id=105893

Reviewed by David Hyatt.

Source/WebCore:

For the last region in the region chain and flipped writing modes (horizontal-bt, vertical-rl),
the clipping rect should take overflow into account in the writing mode direction, which is
different in these cases than the direction for non-flipped writing modes.

Tests: fast/regions/overflow-last-region-horiz-bt.html

fast/regions/overflow-last-region-vert-lr.html
fast/regions/overflow-last-region-vert-rl.html
fast/regions/overflow-last-region.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::computeRegionClippingRect): Helper function used to compute region clipping rect
for paint and hitTest.
(WebCore):
(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):

  • rendering/RenderFlowThread.h:

LayoutTests:

Add tests for all writing modes with content overflowing the last region in chain.
Hit testing for content overflowing the last region is not yet supported, therefore tests
for that will be added in the future.

  • fast/regions/overflow-last-region-expected.html: Added.
  • fast/regions/overflow-last-region-horiz-bt-expected.html: Added.
  • fast/regions/overflow-last-region-horiz-bt.html: Added.
  • fast/regions/overflow-last-region-vert-lr-expected.html: Added.
  • fast/regions/overflow-last-region-vert-lr.html: Added.
  • fast/regions/overflow-last-region-vert-rl-expected.html: Added.
  • fast/regions/overflow-last-region-vert-rl.html: Added.
  • fast/regions/overflow-last-region.html: Added.
1:15 AM Changeset in webkit [138784] by commit-queue@webkit.org
  • 21 edits
    3 deletes in trunk

Implement :future pseudo class for the WebVTT ::cue pseudo element
https://bugs.webkit.org/show_bug.cgi?id=105473

Patch by Dima Gorbik <dgorbik@apple.com> on 2013-01-04
Reviewed by Antti Koivisto.

Source/WebCore:

This patch changes the approach of showing past/future node objects.
Before upper-level containers were used to put past and future nodes inside. Styles were applied
to containers. Now styles could be applied directly to nodes by using ::cue(:future).
That allows to style future/past WebVTT nodes even if they are nested.

Existing test was modified to cover new cases.

  • css/CSSSelector.cpp: added :future pseudo class support.

(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp: ditto.

(WebCore::SelectorChecker::checkOneSelector):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement): define style sharing rules for WebVTT objects.

  • css/mediaControls.css:

(video::-webkit-media-text-track-all-nodes):
(video::cue(:future)): added standard user-agent styles for the future nodes.

  • dom/Element.cpp: setter functions don't have an argument now because WebVTT type enum was introduced and the right type is set

when the setter is being called.
(WebCore::Element::setIsWebVTTNode):
(WebCore):
(WebCore::Element::isWebVTTFutureNode):
(WebCore::Element::setIsWebVTTFutureNode):

  • dom/Element.h:

(Element):

  • dom/ElementRareData.h:

(ElementRareData):

  • dom/NodeRareData.cpp:

(SameSizeAsNodeRareData): added a dummy enum value. Enum is integer type and is aligned in Windows when placed in the bitfield,
so it takes more space.

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::isWebVTTNode):
(WebCore::NodeRareData::setIsWebVTTNode):
(WebCore::NodeRareData::isWebVTTFutureNode):
(WebCore::NodeRareData::setIsWebVTTFutureNode):
(NodeRareData):

  • html/shadow/MediaControlElements.cpp:

(WebCore):

  • html/track/TextTrack.h: add a WebVTT node object type enum.

(TextTrack):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::allNodesShadowPseudoId):
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::getCueAsHTML):
(WebCore):
(WebCore::TextTrackCue::setNodeObjectFlags): determine if the node is future or past and mark as WebVTT node.
This combines the functionality related to marking nodes implemented before in updateDisplayTree and
markNodesAsWebVTTNodes.
(WebCore::TextTrackCue::updateDisplayTree):
(WebCore::TextTrackCue::getDisplayTree):

  • html/track/TextTrackCue.h:

(TextTrackCue):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::constructTreeFromToken): no need to mark nodes as WebVTT nodes when parsing. This is done at the
rendering stage later.

  • page/CaptionUserPreferencesMac.mm:

(WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): the container name has changed.

LayoutTests:

Modified the track css matching test to cover :future pseudo-class case.

  • media/track/captions-webvtt/captions-inner-timestamps.vtt: Removed.
  • media/track/captions-webvtt/styling.vtt:
  • media/track/track-css-matching-expected.txt:
  • media/track/track-css-matching.html:
  • media/track/track-cue-rendering-inner-timestamps-expected.txt: Removed.
  • media/track/track-cue-rendering-inner-timestamps.html: The test was removed because it was based on the old

future/past nodes rendering logic.

1:07 AM Changeset in webkit [138783] by Carlos Garcia Campos
  • 10 edits in trunk/Source/WebKit2

[SOUP] Convert WebSoupRequestManagerProxy to be WebContextSupplement
https://bugs.webkit.org/show_bug.cgi?id=106012

Reviewed by Martin Robinson.

  • UIProcess/API/C/soup/WKContextSoup.cpp:

(WKContextGetSoupRequestManager):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::disconnectProcess):

  • UIProcess/WebContext.h:

(WebKit):
(WebContext):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveURIRequest):

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/soup/WebSoupRequestManagerProxy.cpp:

(WebKit::WebSoupRequestManagerProxy::supplementName):
(WebKit):
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::initializeClient):
(WebKit::WebSoupRequestManagerProxy::contextDestroyed):
(WebKit::WebSoupRequestManagerProxy::processDidClose):
(WebKit::WebSoupRequestManagerProxy::refWebContextSupplement):
(WebKit::WebSoupRequestManagerProxy::derefWebContextSupplement):
(WebKit::WebSoupRequestManagerProxy::registerURIScheme):
(WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):

  • UIProcess/soup/WebSoupRequestManagerProxy.h:

(WebSoupRequestManagerProxy):

1:03 AM Changeset in webkit [138782] by Carlos Garcia Campos
  • 5 edits in trunk

REGRESSION (r138222?): Assertion failure on appcache/main-resource-redirect.html
https://bugs.webkit.org/show_bug.cgi?id=105591

Reviewed by Brady Eidson.

Source/WebCore:

Fixes crash in test http/tests/appcache/main-resource-redirect.html.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::willSendRequest): In case of loading
substitute data from application cache host due to a redirect,
make sure the substitute data identifier is initialized.

LayoutTests:

Unskip http/tests/appcache/main-resource-redirect.html.

  • platform/efl-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:29 AM Changeset in webkit [138781] by Chris Fleizach
  • 3 edits in trunk/Tools

REGRESSION: [Mac] Intermittent crash in WTR::AccessibilityUIElement::isEqual
https://bugs.webkit.org/show_bug.cgi?id=106073

Reviewed by Ryosuke Niwa.

Check that the element being compared to is not nil.
This crash is happening because one of the accessibility tests does an isEqual comparison within a callback function.
It looks like occasionally, one of the elements passed in to the isEqual is nil because the notification handler is on the accessibility
controller, and the notification is being delivered after the document objects are cleared. This shouldn't happen but I've seen it
sometimes before on parallel WebKitTestRunner runs.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(AccessibilityUIElement::isEqual):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::isEqual):

12:04 AM Changeset in webkit [138780] by mikhail.pozdnyakov@intel.com
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Remove unneeded EwkViewImpl::informLoadCommitted()
https://bugs.webkit.org/show_bug.cgi?id=106010

Reviewed by Gyuyoung Kim.

Removed EwkViewImpl::informLoadCommitted() method to simplify the code.

  • UIProcess/API/efl/EwkViewImpl.cpp:
  • UIProcess/API/efl/EwkViewImpl.h:
  • UIProcess/efl/PageClientBase.h:

(PageClientBase):

  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::didCommitLoadForFrame):

Jan 3, 2013:

9:48 PM Changeset in webkit [138779] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

9:48 PM Changeset in webkit [138778] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add one more Mac test expectation for the bug 105986.

  • platform/mac/TestExpectations:
9:46 PM Changeset in webkit [138777] by Lucas Forschler
  • 1 copy in tags/Safari-537.24

New Tag.

8:21 PM Changeset in webkit [138776] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Downloads can be flaky, so try downloading multiple times.
https://bugs.webkit.org/show_bug.cgi?id=105976

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-03
Reviewed by Eric Seidel.

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

(AutoInstaller._download_to_stream):

7:56 PM Changeset in webkit [138775] by eric@webkit.org
  • 17 edits in trunk/Tools

Rename Tool.port to deprecated_port in preparation for removing more callers
https://bugs.webkit.org/show_bug.cgi?id=106076

Reviewed by Ryosuke Niwa.

This resolves a long-standing FIXME to rename this method. :)

  • Scripts/webkitpy/tool/bot/botinfo.py:

(BotInfo.summary_text):

  • Scripts/webkitpy/tool/bot/irc_command.py:

(Rollout._update_working_copy):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader.py:

(LayoutTestResultsReader._create_layout_test_results):
(LayoutTestResultsReader._create_unit_test_results):
(LayoutTestResultsReader._results_directory):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(test_missing_unit_test_results_path):

  • Scripts/webkitpy/tool/main.py:

(WebKitPatch.deprecated_port):

  • Scripts/webkitpy/tool/mocktool.py:

(MockTool.deprecated_port):

  • Scripts/webkitpy/tool/steps/build.py:

(Build.build):

  • Scripts/webkitpy/tool/steps/checkstyle.py:

(CheckStyle.run):

  • Scripts/webkitpy/tool/steps/commit.py:

(Commit._check_test_expectations):

  • Scripts/webkitpy/tool/steps/preparechangelog.py:

(PrepareChangeLog.run):

  • Scripts/webkitpy/tool/steps/preparechangelogfordepsroll.py:

(PrepareChangeLogForDEPSRoll.run):

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:

(PrepareChangeLogForRevert.run):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run):

  • Scripts/webkitpy/tool/steps/steps_unittest.py:

(StepsTest.test_runtests_args):

  • Scripts/webkitpy/tool/steps/update.py:

(Update._update_command):

7:46 PM Changeset in webkit [138774] by rniwa@webkit.org
  • 4 edits
    1 copy in trunk/Tools

Cleanup perftest* tests and add a test for computing statistics
https://bugs.webkit.org/show_bug.cgi?id=105685

Reviewed by Eric Seidel.

Add a test for PerfTest.compute_statistics (moved and renamed from PageLoadingPerfTest.calculate_statistics) and
extracted perftestsrunner_itegrationtests.py from perftestsrunner_unittests.py.

Also fixed a bug in compute_statistics that the mean ('avg') value can have a large rounding errors in some cases.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.compute_statistics): Moved from PageLoadingPerfTest to prepare for the bug 97510. Also compute the mean
directly from sorted_values instead of using the one from Knuth's online algorithm. This approach gives more
accurate result for the mean.
(PageLoadingPerfTest.run_single):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(MainTest.test_compute_statistics):
(MainTest.test_compute_statistics.compute_statistics): Added.
(TestPageLoadingPerfTest.test_run): floatify values.
(TestPageLoadingPerfTest.test_run_with_memory_output): Ditto. Also got rid of ".0" from mean values now that Python
correctly recognizes them as integers.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Copied from

Tools/Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py.
(TestDriver): Moved out of MainTest.
(MainTest): Got rid of assertWritten and all unit tests.
(MainTest._normalize_output): Renamed from normalizeFinishedTime to match the PEP8 naming convention.
(MainTest.test_run_test_set_kills_drt_per_run.TestDriverWithStopCount):
(MainTest.test_run_test_set_for_parser_tests):
(MainTest.test_run_memory_test):
(MainTest._test_run_with_json_output):
(MainTest.test_run_generates_json_by_default):
(MainTest.test_run_merges_output_by_default):
(MainTest.test_run_respects_reset_results):
(MainTest.test_run_generates_and_show_results_page): Use runner.load_output_json() instead of manually loading and
parsing output JSON files. Just verify that the output path is correct instead.

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest): Removed all integration tests.
(MainTest.create_runner): Simplified.

7:26 PM Changeset in webkit [138773] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add Mac test expectations for the bugs 105986 and 105988.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
7:20 PM Changeset in webkit [138772] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a crashing test expectation for the test added by r138755 on Mac.
The test failure is tracked by the bug 138755.

  • platform/mac/TestExpectations:
6:11 PM Changeset in webkit [138771] by roger_fong@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Gardening Apple Windows port.

  • platform/win/fast/css/image-set-value-not-removed-crash-expected.txt: Added.
5:21 PM Changeset in webkit [138770] by tony@chromium.org
  • 5 edits
    2 adds in trunk

incorrect flexbox relayout with overflow, padding and absolute positioning
https://bugs.webkit.org/show_bug.cgi?id=106022

Reviewed by Ojan Vafai.

Source/WebCore:

The problem was we were entering simplified layout, which doesn't apply the stretch
behavior for flex children. That should be fine if we had kept the override size from
the previous layout. So clear the override size during layout rather than after layout.

Not clearing the override size re-triggers bug 98611. Fix this by always forcing a
layout of an image if it has an override size set. The presence of an override size means
we did some special layout that may not be covered by re-computing the logical width and
height.

Test: css3/flexbox/stretch-simplified-layout.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock): Don't clear the override size after layout.
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Clear the override size right before layout.

  • rendering/RenderFlexibleBox.h:

(RenderFlexibleBox): Remove clearChildOverrideSizes() since it's not called anymore.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageDimensionsChanged): If an override size is present, force a relayout.
Also cleaned up the code a bit to avoid computing the width and height unless we need to.

LayoutTests:

  • css3/flexbox/stretch-simplified-layout-expected.txt: Added.
  • css3/flexbox/stretch-simplified-layout.html: Added.
5:18 PM Changeset in webkit [138769] by adamk@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed rebaseline of binding tests after r138754

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallbackHeader): Remove unnecessary whitespace

  • bindings/scripts/test/JS/JSTestCallback.h:

(WebCore::JSTestCallback::scriptExecutionContext):
(JSTestCallback):

  • bindings/scripts/test/V8/V8TestCallback.h:

(WebCore::V8TestCallback::scriptExecutionContext):
(V8TestCallback):

5:06 PM Changeset in webkit [138768] by commit-queue@webkit.org
  • 3 edits in trunk/Websites/bugs.webkit.org

Avoid mixed content when expanding context in code review tool
https://bugs.webkit.org/show_bug.cgi?id=106060

Patch by James Robinson <jamesr@chromium.org> on 2013-01-03
Reviewed by Tony Chang.

Example failure: "The page at https://bugs.webkit.org/attachment.cgi?id=181222&action=review displayed insecure
content from http://svn.webkit.org/repository/webkit/trunk/Source/WebCore/page/EventHandler.cpp?p=138617." This
loads from "svn.webkit.org/..." so the protocol matches.

  • code-review.js:
4:46 PM Changeset in webkit [138767] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Marking fast/events/5056619.html as flaky
on XP and Win7.

  • platform/chromium/TestExpectations:
4:33 PM Changeset in webkit [138766] by rniwa@webkit.org
  • 18 edits
    2 adds in trunk

onload callback for <track> element attached to <video> does not fire
https://bugs.webkit.org/show_bug.cgi?id=103258

Patch by Antoine Quint <Antoine Quint> on 2013-01-03
Reviewed by Eric Carlson.

Source/WebCore:

We now correctly implement the track processing model per the latest spec at
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#start-the-track-processing-model.

For a <track> to load, three conditions must be met:

  1. it must have a non-empty src
  2. it must have a mode other than "disabled" (the default)
  3. it must have a parent media element


We used to only check if we were able to load upon setting the track's src,
whereas a change of any of those conditions should have done this, which this
patch now correctly implements.

We also correctly implement the load model asynchronously after step 4, per
the spec, hence the split of the code previously entirely contained in
HTMLTrackElement::scheduleLoad() in another method fired on a timer.

Test: media/track/track-element-load-event.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::textTrackModeChanged):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::HTMLTrackElement):
(WebCore::HTMLTrackElement::insertedInto):
(WebCore::HTMLTrackElement::parseAttribute):
(WebCore::HTMLTrackElement::scheduleLoad):
(WebCore):
(WebCore::HTMLTrackElement::loadTimerFired):
(WebCore::HTMLTrackElement::textTrackModeChanged):

  • html/HTMLTrackElement.h:
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::removeAllCues):
(WebCore):

  • html/track/TextTrack.h:

(TextTrack):

LayoutTests:

As a result of fixing this bug, a few new failures were uncovered and TestExpectations
needed to be updated to take this into account. Additionally, some existing tests were
incorrect or outdated and were fixed as well. Finally, a new test was added to thoroughly
test the various conditions required for a <track> element to successfully load.

  • fast/events/constructors/track-event-constructor.html: Update the test to correctly set

a non-disabled mode on the text track such that it may load per the rules enforced with this patch.

  • http/tests/security/text-track-crossorigin.html: Update the test to correctly set a non-disabled

mode on the text track such that it may load per the rules enforced with this patch.

  • media/track/track-add-track-expected.txt: Update the output to match changes made to test.
  • media/track/track-add-track.html: Update the test to correctly set a non-disabled mode on

the text track such that it may load per the rules enforced with this patch. Also, ensure
the .readyState of the text track is correctly assumed to be NONE vs. LOADING as it would
have to wait until the next run loop to be changed to anything but NONE.

  • media/track/track-element-load-event-expected.txt: Added.
  • media/track/track-element-load-event.html: Added.
  • media/track/track-load-from-src-readyState.html: Update the test to correctly set a

non-disabled mode on the text track such that it may load per the rules enforced with
this patch.

  • platform/chromium/TestExpectations: Skip tests that now fail instead of timing out.
  • platform/efl/TestExpectations: Skip tests that now fail instead of timing out.
  • platform/gtk/TestExpectations: Skip tests that now fail instead of timing out.
  • platform/mac/TestExpectations: Skip tests that now fail instead of timing out.
  • platform/qt/TestExpectations: Skip tests that now fail instead of timing out.
  • platform/win/TestExpectations: Skip tests that now fail instead of timing out.
4:32 PM Changeset in webkit [138765] by commit-queue@webkit.org
  • 7 edits in trunk/Source

[chromium] Rename low latency rendering mode setting to vsync notification
https://bugs.webkit.org/show_bug.cgi?id=106020

Patch by Sami Kyostila <skyostil@chromium.org> on 2013-01-03
Reviewed by James Robinson.

Source/Platform:

Rename low latency rendering mode setting to vsync notification because
the old name was ambiguous and bad. This setting is meant to control
whether the renderer uses a vsync signal provided by the browser to
schedule rendering.

Source/WebKit/chromium:

Rename low latency rendering mode setting to vsync notification because
the old name was ambiguous and bad. This setting is meant to control
whether the renderer uses a vsync signal provided by the browser to
schedule rendering.

4:31 PM Changeset in webkit [138764] by jonlee@apple.com
  • 5 edits in trunk

REGRESSION(r138729): crash and assertion failures in WebKit::WebProcess::plugInDidReceiveUserInteraction
https://bugs.webkit.org/show_bug.cgi?id=106042
<rdar://problem/12953469>

Reviewed by Brady Eidson.

Source/WebKit2:

The assertion is hit if plugin snapshotting is disabled, and the user interacts with a plug-in that
comes from an origin not found in the cached dictionary. The proper fix is to check for whether the
setting is enabled. Otherwise, that origin should be in the dictionary since the plugin is running.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginDidReceiveUserInteraction): Check for the setting, and avoid the whole code
path if snapshotting is disabled.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Unskip the crashing tests.
4:28 PM Changeset in webkit [138763] by fpizlo@apple.com
  • 6 edits
    1 delete in trunk/Source/JavaScriptCore

DFG::ByteCodeCache serves little or no purpose ever since we decided to keep bytecode around permanently
https://bugs.webkit.org/show_bug.cgi?id=106058

Reviewed by Michael Saboff.

All baseline code blocks now always have bytecode, so the bytecode cache's ability to minimize the
number of times that the DFG produces bytecode sequences for code blocks is superfluous.

  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGByteCodeCache.h: Removed.
  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleInlining):

  • runtime/Executable.cpp:

(JSC):

  • runtime/Executable.h:

(FunctionExecutable):

4:26 PM Changeset in webkit [138762] by jparent@chromium.org
  • 6 edits in trunk/Tools

Dashboard cleanup: remove usage of global g_defaultBuilderName
https://bugs.webkit.org/show_bug.cgi?id=106043

Use now public defaultBuilder() from the BuilderGroup, rather
than global variable.

Also eliminates the setup() and initBuilders() functions since we
no longer need to track the global.

Reviewed by Adam Barth.

  • TestResultServer/static-dashboards/builders.js:

(BuilderGroup.prototype.defaultBuilder):
(BuilderGroup.prototype.master):

  • TestResultServer/static-dashboards/dashboard_base.js:

(parseParameters):

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(updateDefaultBuilderState):

  • TestResultServer/static-dashboards/loader.js:

(.):

  • TestResultServer/static-dashboards/loader_unittests.js:
4:20 PM ExportingSymbols edited by roger_fong@apple.com
(diff)
4:17 PM Changeset in webkit [138761] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add a failing test expectation for fast/inline/continuation-outlines-with-layers.html on Mac
and associate it with the bug 106064.

Also update Chromium test expectations to associate the failure with the bug 106064.
They were erroneously associated with resolved bugs.

  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
4:07 PM Changeset in webkit [138760] by tdanderson@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed gardening. Adding cr-linux image baseline for
http://trac.webkit.org/changeset/138755

  • platform/chromium-linux/fast/regions/full-screen-video-from-region-expected.png: Added.
3:59 PM Changeset in webkit [138759] by roger_fong@apple.com
  • 5 edits
    13 adds
    1 delete in trunk/Source

Remove all traces of Windows from WebKit2 folder.
https://bugs.webkit.org/show_bug.cgi?id=105585.

Reviewed by Sam Weinig.

WebKitExportGenerator project needs to be moved out of the WebKit2/win folder and into WebKit/win.

  • WebKit.vcproj/WebKit.def.in: Added.
  • WebKit.vcproj/WebKit.sln:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKitCFLite.vsprops: Added.
  • WebKit.vcproj/WebKitExportGenerator.vcproj: Added.
  • WebKit.vcproj/WebKitExportGeneratorBuildCmd.cmd: Added.
  • WebKit.vcproj/WebKitExportGeneratorCommon.vsprops: Added.
  • WebKit.vcproj/WebKitExportGeneratorDebug.vsprops: Added.
  • WebKit.vcproj/WebKitExportGeneratorDebugAll.vsprops: Added.
  • WebKit.vcproj/WebKitExportGeneratorDebugCairoCFLite.vsprops: Added.
  • WebKit.vcproj/WebKitExportGeneratorPostBuild.cmd: Added.
  • WebKit.vcproj/WebKitExportGeneratorPreBuild.cmd: Added.
  • WebKit.vcproj/WebKitExportGeneratorProduction.vsprops: Added.
  • WebKit.vcproj/WebKitExportGeneratorRelease.vsprops: Added.
  • WebKit.vcproj/WebKitExportGeneratorReleaseCairoCFLite.vsprops: Added.
  • WebKit.vcproj/WebKitLibCommon.vsprops:
  • win: Removed.
  • win/MainWin.cpp: Removed.
  • win/WebKit2.def.in: Removed.
  • win/WebKit2.make: Removed.
  • win/WebKit2.rc: Removed.
  • win/WebKit2.submit.sln: Removed.
  • win/WebKit2.vcproj: Removed.
  • win/WebKit2Apple.vsprops: Removed.
  • win/WebKit2CFLite.vsprops: Removed.
  • win/WebKit2Common.vsprops: Removed.
  • win/WebKit2Debug.vsprops: Removed.
  • win/WebKit2DebugAll.vsprops: Removed.
  • win/WebKit2DebugCairoCFLite.vsprops: Removed.
  • win/WebKit2DirectX.vsprops: Removed.
  • win/WebKit2ExportGenerator.vcproj: Removed.
  • win/WebKit2ExportGeneratorBuildCmd.cmd: Removed.
  • win/WebKit2ExportGeneratorCommon.vsprops: Removed.
  • win/WebKit2ExportGeneratorDebug.vsprops: Removed.
  • win/WebKit2ExportGeneratorDebugAll.vsprops: Removed.
  • win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Removed.
  • win/WebKit2ExportGeneratorPostBuild.cmd: Removed.
  • win/WebKit2ExportGeneratorPreBuild.cmd: Removed.
  • win/WebKit2ExportGeneratorProduction.vsprops: Removed.
  • win/WebKit2ExportGeneratorRelease.vsprops: Removed.
  • win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Removed.
  • win/WebKit2Generated.make: Removed.
  • win/WebKit2Generated.vcproj: Removed.
  • win/WebKit2GeneratedCommon.vsprops: Removed.
  • win/WebKit2Production.vsprops: Removed.
  • win/WebKit2Release.vsprops: Removed.
  • win/WebKit2ReleaseCairoCFLite.vsprops: Removed.
  • win/WebKit2WebProcess.resources: Removed.
  • win/WebKit2WebProcess.resources/Info.plist: Removed.
  • win/WebKit2WebProcess.vcproj: Removed.
  • win/WebKit2WebProcessCommon.vsprops: Removed.
  • win/WebKit2WebProcessDebug.vsprops: Removed.
  • win/WebKit2WebProcessDebugAll.vsprops: Removed.
  • win/WebKit2WebProcessDebugCairoCFLite.vsprops: Removed.
  • win/WebKit2WebProcessPostBuild.cmd: Removed.
  • win/WebKit2WebProcessPreBuild.cmd: Removed.
  • win/WebKit2WebProcessProduction.vsprops: Removed.
  • win/WebKit2WebProcessRelease.vsprops: Removed.
  • win/WebKit2WebProcessReleaseCairoCFLite.vsprops: Removed.
  • win/WebKitPostBuild.cmd: Removed.
  • win/WebKitPreBuild.cmd: Removed.
  • win/WebKitPreLink.cmd: Removed.
  • win/build-generated-files.sh: Removed.
  • win/deleteButton.png: Removed.
  • win/deleteButtonPressed.png: Removed.
  • win/fsVideoAudioVolumeHigh.png: Removed.
  • win/fsVideoAudioVolumeLow.png: Removed.
  • win/fsVideoExitFullscreen.png: Removed.
  • win/fsVideoPause.png: Removed.
  • win/fsVideoPlay.png: Removed.
  • win/missingImage.png: Removed.
  • win/nullplugin.png: Removed.
  • win/panEastCursor.png: Removed.
  • win/panIcon.png: Removed.
  • win/panNorthCursor.png: Removed.
  • win/panNorthEastCursor.png: Removed.
  • win/panNorthWestCursor.png: Removed.
  • win/panSouthCursor.png: Removed.
  • win/panSouthEastCursor.png: Removed.
  • win/panSouthWestCursor.png: Removed.
  • win/panWestCursor.png: Removed.
  • win/resource.h: Removed.
  • win/searchCancel.png: Removed.
  • win/searchCancelPressed.png: Removed.
  • win/searchMagnifier.png: Removed.
  • win/searchMagnifierResults.png: Removed.
  • win/textAreaResizeCorner.png: Removed.
  • win/verticalTextCursor.png: Removed.
  • win/xcopy.excludes: Removed.
  • win/zoomInCursor.png: Removed.
  • win/zoomOutCursor.png: Removed.
3:55 PM Changeset in webkit [138758] by Beth Dakin
  • 15 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=105475
Nested fixed position elements incorrectly repositioned on scrolling

Reviewed by Simon Fraser.

Source/WebCore:

The fix here is to ensure that the ScrollingTree reflects the same hierarchy as
the GraphicsLayer tree. And from there, we can correctly calculate the offset for
nested objects by keeping track of a cumulative delta that parents have been moved
by.

We already had to fix this same bug in ScrollingStateNode::removeChild(). The
index can be notFound when you are removing a grandchild.

  • page/scrolling/ScrollingTreeNode.cpp:

(WebCore::ScrollingTreeNode::removeChild):

parentScrollPositionDidChange() now takes a second parameter that represents the
delta that parent graphicsLayers have been moved by.

  • page/scrolling/ScrollingTreeNode.h:

(ScrollingTreeNode):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeFixedNode.h:

(ScrollingTreeFixedNode):

attachToStateTree() now handles re-parenting.

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::attachToStateTree):

Properly adjust by and compute the new parameter cumulativeDelta. Adjusting by
this will prevent fixed children of fixed objects from moving when they are not
supposed to.

  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):

Give parentScrollPositionDidChange() an initial delta of (0,0).

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

Properly adjust by and compute the new parameter cumulativeDelta. This math is
actually not quite right for sticky yet as the FIXME indicates.

  • page/scrolling/mac/ScrollingTreeStickyNode.h:

(ScrollingTreeStickyNode):

  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):

Re-named attachToScrollingCoordinator() to attachToScrollingCoordinatorWithParent
to make it clear that the node may already be attached, but it may need to be re-
parented.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::attachToScrollingCoordinatorWithParent):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

Always call attachToScrollingCoordinatorWithParent() in case the fixed node has
been re-parented.
(WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):

LayoutTests:

Unfortunately, the children were not really accurate before, and they are not
really accurate now. It seems like the state tree is not fully up-to-date when the
test is printing it.

  • platform/mac/tiled-drawing/fixed/nested-fixed-expected.txt:
3:46 PM Changeset in webkit [138757] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Body background with background-attachment:fixed stays in place during rubber-banding
https://bugs.webkit.org/show_bug.cgi?id=67894

Reviewed by Beth Dakin.

Use FrameView::scrollOffsetForFixedPosition() to compute the location of the rect
used to position fixed backgrounds, since it takes rubber-banding into account.

No test because rubber-banding isn't testtable in layout tests.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

3:41 PM Changeset in webkit [138756] by adamk@chromium.org
  • 4 edits
    2 adds in trunk

[HTMLTemplateElement] When adopting a template element, also adopt its content into the appropriate document
https://bugs.webkit.org/show_bug.cgi?id=106039

Reviewed by Eric Seidel.

Source/WebCore:

Implements the approach discussed in the spec bug:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=20129

Test: fast/dom/HTMLTemplateElement/ownerDocument-adoptNode.html

  • html/HTMLTemplateElement.cpp:

(WebCore::HTMLTemplateElement::didMoveToNewDocument):

  • html/HTMLTemplateElement.h:

(HTMLTemplateElement):

LayoutTests:

  • fast/dom/HTMLTemplateElement/ownerDocument-adoptNode-expected.txt: Added.
  • fast/dom/HTMLTemplateElement/ownerDocument-adoptNode.html: Added.
3:28 PM Changeset in webkit [138755] by zoltan@webkit.org
  • 3 edits
    3 adds in trunk

[CSS Regions] Don't apply region flow to fullscreen video playing
https://bugs.webkit.org/show_bug.cgi?id=102388

Reviewed by David Hyatt.

In case of full screen video playing we want to watch the video full screen without applying the region flow.

Source/WebCore:

Test: fast/regions/full-screen-video-from-region.html

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded): Don't move full screen video playing to FlowThread.

LayoutTests:

  • fast/regions/full-screen-video-from-region-expected.txt: Added.
  • fast/regions/full-screen-video-from-region.html: Added.
  • platform/chromium-mac/fast/regions/full-screen-video-from-region-expected.png: Added.
3:22 PM Changeset in webkit [138754] by rafaelw@chromium.org
  • 7 edits
    2 adds in trunk

[Mutation Observers] prevent delivery while recipient context is suspended
https://bugs.webkit.org/show_bug.cgi?id=105810

Reviewed by Adam Barth.

Source/WebCore:

Test: inspector/debugger/mutation-observer-suspend-while-paused.html

  • dom/MutationObserver.cpp:

(WebCore::suspendedMutationObservers):
(WebCore):
(WebCore::MutationObserver::canDeliver):
(WebCore::MutationObserver::deliver):
(WebCore::MutationObserver::deliverAllMutations):

  • dom/MutationObserver.h:

LayoutTests:

  • inspector/debugger/mutation-observer-suspend-while-paused-expected.txt: Added.
  • inspector/debugger/mutation-observer-suspend-while-paused.html: Added.
3:22 PM Changeset in webkit [138753] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Disable an intermittently failing unit test for now.
The failure is tracked by the bug 106051.

  • TestWebKitAPI/Tests/mac/MemoryCachePruneWithinResourceLoadDelegate.mm:

(TestWebKitAPI::TEST):

3:19 PM Changeset in webkit [138752] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Ensure autorelease pool exists when calling WKNSProcessInfoProcessAssertionWithTypes on Mac
https://bugs.webkit.org/show_bug.cgi?id=105674

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-03
Reviewed by Sam Weinig.

The function WKNSProcessInfoProcessAssertionWithTypes returns a autoreleased object and since,
it is called during process initialization prior to the runloop being started in PluginProcess
and SharedWorkerProcess, an autorelease pool must be explictly created.

  • PluginProcess/mac/PluginProcessMainMac.mm:

(WebKit::PluginProcessMain): Enclose process initialization code in an @autoreleasepool block.

  • SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:

(WebKit::SharedWorkerProcessMain): Ditto.

3:17 PM Changeset in webkit [138751] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] Unreviewed gardening, skip a new crashing test to paint the bots green.

  • platform/qt-5.0-wk2/TestExpectations:
3:15 PM Changeset in webkit [138750] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Setting webaudio/automatic-pull-node.html to
[ Timeout Pass ] for XP.

  • platform/chromium/TestExpectations:
3:04 PM Changeset in webkit [138749] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[Qt] Unreviewed debug buildfix after r138723.

  • WebProcess/qt/QtBuiltinBundle.cpp:
3:02 PM Changeset in webkit [138748] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

css3/filters/effect-invert.html is flaky/has incorrect image output on Win

Unreviewed gardening. Marked this as [ Failure Pass ] for Win7 and
as [ Failure ] for XP.

  • platform/chromium/TestExpectations:
3:01 PM Changeset in webkit [138747] by mitz@apple.com
  • 5 edits
    1 add in trunk

No way to obtain a DOMNode given a JS wrapper for a Node
https://bugs.webkit.org/show_bug.cgi?id=106033

Source/WebCore:

Reviewed by Sam Weinig.

Test: TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm.

  • bindings/objc/DOM.mm:

(+[DOMNode _nodeFromJSWrapper:]): Added. If the given JSObjectRef is a wrapper for a Node,
returns the Objective-C wrapper for that node. Note that Objective-C wrappers are always
for the main world, regardless of which world the given JS wrapper comes from.

  • bindings/objc/DOMPrivate.h: Added declaration of the above.

Tools:

Added a test for +[DOMNode _nodeFromJSWrapper:].

Reviewed by Sam Weinig.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm: Added.

(TestWebKitAPI):
(TestWebKitAPI::TEST):

2:44 PM Changeset in webkit [138746] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

webkit fails IETC column-width-negative-001.htm
https://bugs.webkit.org/show_bug.cgi?id=84778

Patch by Uday Kiran <udaykiran@motorola.com> on 2013-01-03
Reviewed by Tony Chang.

Source/WebCore:

CSS3 multicolumn 'column-width' property value must be greater than zero.
http://dev.w3.org/csswg/css3-multicol/#column-width

Test: fast/multicol/column-width-zero.html
Negative value test covered by ietestcenter/css3/multicolumn/column-width-negative-001.htm

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Check for value greater than zero while parsing.

LayoutTests:

New test for multicolumn 'column-width' property with zero value.
Enable IETC column-width-negative test.

  • fast/multicol/column-width-zero-expected.txt: Added.
  • fast/multicol/column-width-zero.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
2:37 PM Changeset in webkit [138745] by Lucas Forschler
  • 1 copy in tags/Safari-534.58.2

New Tag.

2:30 PM Changeset in webkit [138744] by Lucas Forschler
  • 5 edits in branches/safari-534.58-branch/Source

Versioning.

2:29 PM Changeset in webkit [138743] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add crash test expectations for tests regressed by r138729
The failure is tracked by the bug 106042.

  • platform/mac-wk2/TestExpectations:
2:26 PM Changeset in webkit [138742] by pilgrim@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Remove all references to sharedWorkerRepository()
https://bugs.webkit.org/show_bug.cgi?id=104704

Reviewed by Adam Barth.

Now that Chromium calls setSharedWorkerRepository upon
initializing WebKit (
https://codereview.chromium.org/10990121/ and
https://codereview.chromium.org/11576028/ ) and no longer
tries to override sharedWorkerRepository, it is safe to remove
all references to this function.

  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKit::WebKitPlatformSupport::idbFactory):

  • src/SharedWorkerRepository.cpp:

(WebKit::sharedWorkerRepository):
(WebCore::SharedWorkerRepository::isAvailable):

2:23 PM Changeset in webkit [138741] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build for DFG JIT disabled.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):

  • runtime/Executable.cpp:

(JSC):
(JSC::ExecutableBase::intrinsic):

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

Unreviewed. Add Windows specific result for passing test.

  • platform/win/loader: Added.
  • platform/win/loader/image-loader-adoptNode-assert-expected.txt: Added.
2:06 PM Changeset in webkit [138739] by leviw@chromium.org
  • 4 edits in branches/chromium/1364

Merge 138717

Fix incorrect assumption about in-flow descendants of inlines in touch event rect tracking
https://bugs.webkit.org/show_bug.cgi?id=105970

Reviewed by Simon Fraser.

Source/WebCore:

Correcting the touch event target rect accumulation code to no longer incorrectly assume that
non-block renderers held only normal-flow children. The updated code will always walk the
complete renderer sub-tree, but only do the work of calculating the absolute rect when the
child won't necessarily fall inside its parent (floating, positioned, or transformed).

Tests: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html updated to catch bug.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::accumulateRendererTouchEventTargetRects): Walk all renderer sub-trees. Also keeping
track of the last added parent container rect to avoid adding redundant rectangles.
(WebCore::accumulateDocumentEventTargetRects): Avoiding adding empty rects.

LayoutTests:

  • platform/chromium-linux/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Updating expectations
  • platform/chromium/fast/events/touch/compositor-touch-hit-rects.html: Updating test to check previously failing case where

an inline with a touch handler contains a non-normal-flow child. Also, fixing the test since it was incorrectly duplicated.

  • platform/chromium/TestExpectations:

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

2:05 PM Changeset in webkit [138738] by tommyw@google.com
  • 7 edits in trunk/Source

MediaStream API: Add a missing state to RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=106017

Reviewed by Adam Barth.

Adding the missing ReadyStateHaveRemoteOffer which will show up in the spec soon.

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

Source/WebCore:

Not testable, just another state.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::readyState):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:
2:04 PM Changeset in webkit [138737] by fpizlo@apple.com
  • 7 edits
    1 add in trunk/Source

CallLinkStatus should be aware of closure calls, and the DFG bytecode parser should use that as its sole internal notion of how to optimize calls
https://bugs.webkit.org/show_bug.cgi?id=106027

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Previously, the DFG bytecode parser had its own internal notion of exactly what CallLinkStatus was
meant to do, in the form of a CallType, expectedFunction, intrinsic, etc. This change makes CallLinkStatus
smart enough to do all of that, and also gives it the ability to understand closure calls.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC):
(JSC::CallLinkStatus::function):
(JSC::CallLinkStatus::internalFunction):
(JSC::CallLinkStatus::intrinsicFor):
(JSC::CallLinkStatus::setIsProved):
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::dump):

  • bytecode/CallLinkStatus.h:

(JSC):
(JSC::CallLinkStatus::CallLinkStatus):
(CallLinkStatus):
(JSC::CallLinkStatus::takesSlowPath):
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::isClosureCall):
(JSC::CallLinkStatus::callTarget):
(JSC::CallLinkStatus::executable):
(JSC::CallLinkStatus::structure):
(JSC::CallLinkStatus::isProved):
(JSC::CallLinkStatus::canOptimize):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::valueOfFunctionConstant):

Source/WTF:

Reviewed by Mark Hahnenberg.

I got tired of the various idioms for printing a list of things with comma in between, so I wrote a helper.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CommaPrinter.h: Added.

(WTF):
(CommaPrinter):
(WTF::CommaPrinter::CommaPrinter):
(WTF::CommaPrinter::dump):

1:51 PM Changeset in webkit [138736] by eae@chromium.org
  • 4 edits in trunk

Fix overflow in LayoutUnit::ceil and floor for SATURATED_LAYOUT_ARITHMETIC
https://bugs.webkit.org/show_bug.cgi?id=105961

Source/WebCore:

Reviewed by Levi Weintraub.

The LayoutUnit::ceil and floor methods overflows if given the
intMaxForLayoutUnit and intMinForLayoutUnit values respectively.
Check for the max/min value to avoid this.

Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::ceil):
(WebCore::LayoutUnit::floor):
Check for the max/min value and return early to avoid overflow.
Use the UNLIKELY macro to avoid the cost of branch misprediction
for the common case.

Tools:

Reviewed by Levi Weintraub.

Add tests for LayoutUnit::ceil and floor.

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:

(TestWebKitAPI::TEST):
(TestWebKitAPI):

1:39 PM Changeset in webkit [138735] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

[Refactoring] Replace Node's Document pointer with a TreeScope pointer
https://bugs.webkit.org/show_bug.cgi?id=59816

Patch by Elliott Sprehn <Elliott Sprehn> on 2013-01-03
Reviewed by Ryosuke Niwa.

Instead of giving every node in a shadow a rare data, which can be quite
large, we replace the Document pointer in Node with a TreeScope pointer
and we give TreeScope a pointer to it's document scope.

This introduces no branches in document() because in the common
case document() becomes equivalent to m_treeScope->m_documentScope where
the documentScope is actually m_treeScope so this shouldn't introduce a
perf regression.

Note also that TreeScope can never be null after r136328, and the document
pointer is only null for DocumentType nodes so we can use a special
no-document TreeScope for this case that always returns null from
documentScope().

My original patch in r137524 for this did not correctly handle the case
where the Document is being destroyed and we would then call guardDeref on
ourself in the middle of the Document destructor causing asserts. To fix
this we need to go back to the original model where Document passes
null to it's super constructor for the Document pointer and assigns
it's tree scope later, and we also need to clear the tree scope pointer
in Document's destructor.

No new tests, no change in behavior.

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::suggestedMIMEType):

  • dom/Document.h:

(WebCore::Node::isDocumentNode):
(WebCore::Node::Node):

  • dom/Element.cpp:

(WebCore::Element::createRareData):

  • dom/ElementRareData.h:

(ElementRareData):
(WebCore::ElementRareData::ElementRareData):

  • dom/Node.cpp:

(WebCore::Node::~Node):
(WebCore::Node::createRareData):
(WebCore::Node::attach):
(WebCore::Node::reportMemoryUsage):

  • dom/Node.h:

(WebCore::NodeRareDataBase::NodeRareDataBase):
(NodeRareDataBase):
(WebCore::Node::treeScope):
(WebCore::Node::inDocument):
(WebCore::Node::documentInternal):
(WebCore::Node::setTreeScope):
(Node):

  • dom/NodeRareData.cpp:

(SameSizeAsNodeRareData):
(WebCore::NodeRareData::reportMemoryUsage):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):

  • dom/TreeScope.cpp:

(SameSizeAsTreeScope):
(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::clearDocumentScope):

Needed to clear the document scope during Document destruction
so the Node destructor does not guardDeref the document that is
already being destroyed.

(WebCore::TreeScope::setParentTreeScope):

  • dom/TreeScope.h:

(TreeScope):
(WebCore::TreeScope::documentScope):
(WebCore::TreeScope::noDocumentInstance):

Special shared tree scope that has a document scope that is always
null. This is needed for DocType nodes, and also for Documents
during construction.

(WebCore::TreeScope::setDocumentScope):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

1:32 PM Changeset in webkit [138734] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Remove failing or flaky test expectations from tests that have been passing on Mac.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
1:30 PM Changeset in webkit [138733] by jparent@chromium.org
  • 2 edits in trunk/Tools

Add unit test for default builder for the dashboards.
https://bugs.webkit.org/show_bug.cgi?id=105972

Reviewed by Dirk Pranke.

  • TestResultServer/static-dashboards/loader_unittests.js:
1:26 PM Changeset in webkit [138732] by roger_fong@apple.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed gardening of Apple Windows port.

  • platform/win/TestExpectations:
  • platform/win/fast/inline/justify-emphasis-inline-box-expected.txt: Added.
1:22 PM Changeset in webkit [138731] by adamk@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • dom/ContainerNode.cpp:

(WebCore::isInTemplateContent): s/UNUSED/UNUSED_PARAM/

1:16 PM Changeset in webkit [138730] by adamk@chromium.org
  • 14 edits
    7 adds in trunk

[HTMLTemplateElement] Disallow cycles within template content
https://bugs.webkit.org/show_bug.cgi?id=105066

Reviewed by Ojan Vafai.

Source/WebCore:

Cycles in <template> content aren't quite as bad as cycles in normal
DOM trees, but they can easily cause crashes, e.g. in cloneNode and
innerHTML.

Shadow DOM has an analagous issue, and this patch tackles that problem
at the same time by creating a new method, Node::containsIncludingHostElements.

In order to disallow cycles, the HTMLTemplateElement.content
DocumentFragment needs a pointer to its host. The approach here
creates a new subclass with a host pointer and a new virtual method
to DocumentFragment to identify the subclass.

To avoid unnecessary virtual function calls, also changed how
Document::templateContentsOwnerDocument works to allow fast inlined
access and avoid lazy creation when not needed.

Tests: fast/dom/HTMLTemplateElement/cycles-in-shadow.html

fast/dom/HTMLTemplateElement/cycles.html
fast/dom/shadow/shadow-hierarchy-exception.html

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ContainerNode.cpp:

(WebCore::isInTemplateContent):
(WebCore::containsConsideringHostElements):
(WebCore::checkAcceptChild):

  • dom/Document.cpp:

(WebCore::Document::ensureTemplateContentsOwnerDocument): Renamed to make clear that it lazily creates the Document. Updated all existing callers to call this method.

  • dom/Document.h:

(Document):
(WebCore::Document::templateContentsOwnerDocument): Fast, inlined accessor for use in checkAcceptChild().

  • dom/DocumentFragment.h:

(WebCore::DocumentFragment::isTemplateContent):

  • dom/Node.cpp:

(WebCore::Node::containsIncludingShadowDOM): made const, simplified
(WebCore::Node::containsIncludingHostElements): Specialized version of Node::contains that knows how to jump over template content boundaries.

  • dom/Node.h:

(Node):

  • dom/TemplateContentDocumentFragment.h: Added.

(TemplateContentDocumentFragment): Subclass of DocumentFragment which stores its host template element.
(WebCore::TemplateContentDocumentFragment::create):
(WebCore::TemplateContentDocumentFragment::host):
(WebCore::TemplateContentDocumentFragment::TemplateContentDocumentFragment):

  • editing/markup.cpp:

(WebCore::createFragmentForInnerOuterHTML):

  • html/HTMLTemplateElement.cpp:

(WebCore::HTMLTemplateElement::content): Construct the new subclass.

LayoutTests:

  • fast/dom/HTMLTemplateElement/cycles-expected.txt: Added.
  • fast/dom/HTMLTemplateElement/cycles-in-shadow-expected.txt: Added.
  • fast/dom/HTMLTemplateElement/cycles-in-shadow.html: Added.
  • fast/dom/HTMLTemplateElement/cycles.html: Added.
  • fast/dom/shadow/shadow-hierarchy-exception-expected.txt: Added.
  • fast/dom/shadow/shadow-hierarchy-exception.html: Added.
1:00 PM Changeset in webkit [138729] by jonlee@apple.com
  • 15 edits in trunk/Source

Revert auto-start plugins to snapshotted plugins after a period of inactivity
https://bugs.webkit.org/show_bug.cgi?id=105973
<rdar://problem/12947865>

Reviewed by Brady Eidson.

Source/WebCore:

  • html/HTMLPlugInElement.h:

(WebCore::HTMLPlugInElement::plugInOriginHash): Expose publicly for WebKit2.
Reorganize the protected members of the class.

  • html/HTMLPlugInImageElement.h: Move the member to HTMLPlugInElement.

Source/WebKit2:

Change the set of origin hashes maintained by the web process to a hash map that associates
a timestamp for each hash. If the plug-in's origin is marked for auto-start, we also check
it against the timestamp. If the time is later, then we consider the entry stale, and snapshot
the plug-in instead.

But, if the user interacts with the plug-in, we delay that expiration timestamp out, so that
it expires a month from first interaction. To avoid too much chatter between the web processes
and UI process, we only update the timestamp if a day a passed since the last change to the
timestamp.

  • WebProcess/Plugins/PluginView.h:

(PluginView): Add a member variable to flag whether the user had interacted with the plug-in.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::PluginView): Initialize the flag to false.
(WebKit::PluginView::handleEvent): We consider mouse down, up, wheel, context menu, and keyboard
events as user interaction. Do not consider mouse enter, leave, and move events as user
interaction. Also, remove unneeded comments.
(WebKit::PluginView::pluginDidReceiveUserInteraction): If this is the first time the function is
called, tell the web process, so that the expiration timestamp can be updated.

  • WebProcess/WebProcess.messages.in: Update the messages to include the expiration time.
  • WebProcess/WebProcess.h:

(WebProcess): Update the cached copy of the auto-start origins to include their expiration
timestamps. Update the message signatures. Add a function to update the expiration timestamp
for a specific origin. Rename plugInAutoStartOriginsChanged to resetPlugInAutoStartOrigins.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Instead of individually adding the origins in the
provided vector, just call resetPlugInAutoStartOrigins().
(WebKit::WebProcess::isPlugInAutoStartOrigin): Check to see if the origin is in the table, and if
so, check the current time against the expiration time.
(WebKit::WebProcess::didAddPlugInAutoStartOrigin): Update the cached table.
(WebKit::WebProcess::resetPlugInAutoStartOrigins): Swap the tables between the provided parameter
and the member variable. We can safely do this because the function is called in two cases where
the parameter is afterwards thrown away: when a new web process is created, and when it is called
through an IPC message.
(WebKit::WebProcess::plugInDidReceiveUserInteraction): When invoked, we tell the UI process to
update the expiration time for the given origin if the time difference between the expiration
time and the current time is less than the threshold plugInAutoStartExpirationTimeUpdateThreshold.

  • UIProcess/WebContext.messages.in: Add message that is called when the web process wants to

update the expiration timestamp for the plug-in origin.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::plugInDidReceiveUserInteraction): Forward to the provider.

  • UIProcess/WebContext.h:
  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:

(WebKit::expirationTimeFromNow): Returns a new time based on the current time + 1 month.
(WebKit::PlugInAutoStartProvider::addAutoStartOrigin): Refactor. Set the expiration time for the
added origin.
(WebKit::PlugInAutoStartProvider::autoStartOriginsCopy): Refactor.
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): Refactor to include the expiration
times. Also, check the current time against the expiration time. If we are past the time, remove
the entry from the copy.
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Refactor to extract and duplicate
the provided map of origins and expiration timestamps.
(WebKit::PlugInAutoStartProvider::didReceiveUserInteraction): Look for the origin hash. If found,
update the expiration time. Update all existing web processes with the new expiration time, and
tell the context client that the hashes have changed.

  • UIProcess/Plugins/PlugInAutoStartProvider.h:

(PlugInAutoStartProvider): Change the m_autoStartHashes variable to a map of a hash to its domain
entry in the auto-start table. It is used to cross-reference the auto-start table and update
the origin's expiration time.

  • Shared/WebProcessCreationParameters.h:

(WebProcessCreationParameters): Switch the creation parameter to seed the origin table to a map.

12:22 PM Changeset in webkit [138728] by alexis@webkit.org
  • 20 edits in trunk

Querying transition-timing-function value on the computed style does not return keywords when it should.
https://bugs.webkit.org/show_bug.cgi?id=105442

Reviewed by Simon Fraser.

Source/WebCore:

http://www.w3.org/TR/css3-transitions/#transition-timing-function-property
contains a set of predefined timing functions which under the hood are
implemented using cubic-bezier but it's an implementation detail that
should not be exposed. It seems to be more clear to return a CSS
keyword rather than the cubic-bezier form when querying the value of
the property on the computed style. In fact the spec even say that for
example the initial value is "ease" and not cubic-bezier(0.25, 0.1,
0.25, 1.0). We could also imagine that in the future these predefined
values could contain other values not represented by a cubic-bezier
form. This behavior also align with the "linear" keyword which return
"linear" rather than cubic-bezier(0.0, 0.0, 1.0, 1.0).

Test: transitions/transitions-parsing.html has been updated to cover
the new behavior as well as making sure that an explicitly set value of
cubic-bezier(0.25, 0.1, 0.25, 1.0) does not return "ease" but the
cubic-bezier() form.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::createAnimationValue):
(WebCore):
(WebCore::getTimingFunctionValue):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapAnimationTimingFunction):

  • platform/animation/TimingFunction.h:

(WebCore::CubicBezierTimingFunction::create):
(CubicBezierTimingFunction):
(WebCore::CubicBezierTimingFunction::operator==):
(WebCore::CubicBezierTimingFunction::timingFunctionPreset): Store the
preset value of the timing function if it is one when creating it
so we can use it later from the computed style.
(WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):

Source/WebKit2:

Update the code to pass the animations from one process to another as
the constructor of TimingFunction changed to take an extra parameter
holding the type of the cubic-bezier form.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::encodeTimingFunction):
(CoreIPC::decodeTimingFunction):

LayoutTests:

Update the tests to match the correct behavior of returning a keyword
rather than a cubic-bezier() form when using predefined values for the
transition-timing-function property.

  • animations/animation-shorthand-name-order-expected.txt:
  • animations/animation-shorthand-name-order.html:
  • animations/animation-shorthand-removed.html:
  • animations/animation-shorthand.html:
  • animations/computed-style-expected.txt:
  • animations/computed-style.html:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
  • transitions/inherit-other-props-expected.txt:
  • transitions/inherit-other-props.html:
  • transitions/transitions-parsing-expected.txt:
  • transitions/transitions-parsing.html:
12:07 PM Changeset in webkit [138727] by tony@chromium.org
  • 23 edits in trunk

Generate internal.settings from Settings.in
https://bugs.webkit.org/show_bug.cgi?id=104740

Reviewed by Adam Barth.

.:

  • Source/cmake/WebKitMacros.cmake: Specify additional output files from make_settings.pl.

Source/WebCore:

If the setting is declared in Settings.in and is a basic type, generate a
setter function at internals.settings.

InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
inherits from InternalSettingsGenerated.idl so we can override generated functions if
needed or add additional custom setters.

This patch removes 2 password echo methods from InternalSettings.idl since they are
auto generated. There are other methods we could remove, but I'll do that in a followup.

No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.

  • CMakeLists.txt: Add generated cpp file to the testing lib.
  • DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
  • DerivedSources.pri: Generate idl file before generating bindings and include generated idl

for bindings generation.

  • GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to

list of files to be processed and resulting output to be compiled.

  • UseJSC.cmake: Add generated idl file to list of idl files to process.
  • UseV8.cmake: Same as UseJSC.cmake.
  • WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the

bindings generator.

  • WebCore.gypi: Add new files.
  • WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • bindings/scripts/CodeGenerator.pm:

(IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
find the generated idl file.

  • page/make_settings.pl:

(generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
(generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
(setterFunctionName): Helper function for naming a setter.
(printGetterAndSetter): Use setterFunctionName.
(enumerateParsedItems): Helper function that visits each parsed item.
(generateInternalSettingsIdlFile): Generate idl file.
(generateInternalSettingsHeaderFile): Generate header file.
(generateInternalSettingsCppFile): Generate C++ file.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup): Remove password echo members.
(WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
(InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
which uses an OwnPtr.
(WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
(WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
(WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
(WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
(WebCore::InternalSettings::InternalSettings): Call base class constructor.
(WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).

  • testing/InternalSettings.h:

(Backup): Remove password echo members.
(WebCore::InternalSettings::create): Create an instance instead of using new.
(WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
RefCountedSupplemental has.

  • testing/InternalSettings.idl: Extends InternalSettingsGenerated.
  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.

  • testing/v8/WebCoreTestSupport.cpp:

(WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
Remove an unused header.

Tools:

  • GNUmakefile.am: Compile new generated files on GTK+.
  • qmake/mkspecs/features/default_post.prf: Qt: Make it so an action

with both extra_sources and add_output_to_sources=false will still
compile the files in extra_sources. This makes it possible to compile
InternalSettingsGenerated.cpp and not be confused by
InternalSettingsGenerated.idl.

12:04 PM Changeset in webkit [138726] by commit-queue@webkit.org
  • 7 edits in trunk

Canvas blending tests fail on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=105943

Patch by Rik Cabanier <cabanier@adobe.com> on 2013-01-03
Reviewed by Simon Fraser.

Source/WebCore:

Tests that now pass:

LayoutTests/fast/canvas/canvas-blend-solid.html
LayoutTests/fast/canvas/canvas-blend-image.html

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):

  • testing/InternalSettings.h:

(Backup):

Source/WebKit2:

CanvasUsesAcceleratedDrawing preference was not passed to the WebProcess.

  • WebProcess/InjectedBundle/InjectedBundle.cpp: Adds support for CanvasUsesAcceleratedDrawing to WK2

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

LayoutTests:

  • platform/mac-wk2/TestExpectations: updated expectations as the test now passes
11:59 AM Changeset in webkit [138725] by arko@motorola.com
  • 3 edits in trunk/Source/WebCore

Microdata: Fix build failure after r137003
https://bugs.webkit.org/show_bug.cgi?id=106023

Reviewed by Ryosuke Niwa.

Set HTMLCollection::namedPropertyGetter as named property getter for
HTMLPropertiesCollection in GenerateImplementationNamedPropertyGetter.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateImplementationNamedPropertyGetter):

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp:

(WebCore::V8HTMLCollection::namedPropertyGetter):

11:52 AM Changeset in webkit [138724] by adamk@chromium.org
  • 4 edits
    2 adds in trunk

Clear failed image loads when an <img> is adopted into a different document
https://bugs.webkit.org/show_bug.cgi?id=104409

Reviewed by Nate Chapin.

Source/WebCore:

This avoids an assertion failure setImageWithoutConsideringPendingLoadEvent().

Test: loader/image-loader-adoptNode-assert.html

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement): Use new helper.
(WebCore::ImageLoader::updateFromElementIgnoringPreviousError): ditto
(WebCore::ImageLoader::elementDidMoveToNewDocument): ditto
(WebCore::ImageLoader::clearFailedLoadURL): Added a helper method to self-document the code.
(WebCore):

  • loader/ImageLoader.h:

(ImageLoader):

LayoutTests:

  • loader/image-loader-adoptNode-assert-expected.txt: Added.
  • loader/image-loader-adoptNode-assert.html: Added.
11:24 AM Changeset in webkit [138723] by caio.oliveira@openbossa.org
  • 6 edits in trunk/Source/WebKit2

[Qt] Use WebPageProxy::postMessageToInjectedBundle when passing messages to a specific page in the builtin bundle
https://bugs.webkit.org/show_bug.cgi?id=105928

Reviewed by Simon Hausmann.

Simplify the code since we now can send the contents as is, instead of packaging it inside
an array that also contained the reference for the page. This was made possible after
r126311.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
(QQuickWebViewExperimental::postMessage):
Built the messages and used WebPageProxy::postMessageToInjectedBundle() directly.

  • UIProcess/qt/QtWebContext.cpp: Removed functions that now are simpler and were inlined in

qquickwebview.cpp.

  • UIProcess/qt/QtWebContext.h: Ditto.
  • WebProcess/qt/QtBuiltinBundle.cpp:

(WebKit::QtBuiltinBundle::initialize): Used the callback that gets messages for specific
pages. Also changed the way we create the bundle client: now we fill the struct with zeros,
and then set the fields we care about. This way if another field is added to that client,
this code doesn't need to be changed.
(WebKit::QtBuiltinBundle::didReceiveMessageToPage):
(WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject): Changed to not read the page
reference from the message, since we get it in the callback already.
(WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled): Ditto.

  • WebProcess/qt/QtBuiltinBundle.h:

(QtBuiltinBundle):

11:07 AM Changeset in webkit [138722] by scheib@chromium.org
  • 5 edits in trunk

Sandbox-blocked pointer lock should log to the console.
https://bugs.webkit.org/show_bug.cgi?id=105794

Reviewed by Adrienne Walker.

Source/WebCore:

When pointer lock is requested and is denied due to sandbox restrictions
a helpful message to web developers is sent to the developer console.

Existing test expectations updated.

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::requestPointerLock):

LayoutTests:

  • http/tests/pointer-lock/iframe-sandboxed-expected.txt:
  • http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock-expected.txt:
11:05 AM Changeset in webkit [138721] by alexis@webkit.org
  • 3 edits in trunk/LayoutTests

Add tests to cover what transition-timing-function accepts for cubic-bezier values.
https://bugs.webkit.org/show_bug.cgi?id=105426

Reviewed by Simon Fraser.

http://www.w3.org/TR/css3-transitions/#transition-timing-function-property
has not yet been updated following the discussions
http://lists.w3.org/Archives/Public/www-style/2010Apr/0489.html and
http://lists.w3.org/Archives/Public/www-style/2010Jun/0254.html where
the range restriction of Y values for cubic-bezier type has been
removed. This patch add tests to cover that behavior to avoid breakage
in the future and test also various other different cubic-bezier use
cases.

  • transitions/transitions-parsing-expected.txt:
  • transitions/transitions-parsing.html:
10:48 AM Changeset in webkit [138720] by tsepez@chromium.org
  • 2 edits in trunk/Source/WebCore

PingLoader.h missing virtual and OVERRIDE keywords on its inherited methods.
https://bugs.webkit.org/show_bug.cgi?id=105975

Reviewed by Nate Chapin.

Change adds compile-time checks only, so no new tests.

  • loader/PingLoader.h:

(PingLoader):
(WebCore::PingLoader::timeout):

10:42 AM Changeset in webkit [138719] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[style] WebIDL-reflecting uppercase enums reported as style violation
https://bugs.webkit.org/show_bug.cgi?id=105832

Reviewed by Tony Chang.

Recognize the enum as WebIDL-reflecting one if there's a comment present that
indicates this. In enums spanning over multiple lines, the comment is expected
on the first line. In enums placed in one line, the comment is expected at the
end of that line.

WebIDL-reflecting enum values are required to be written in uppercase and as such
violate the common rule of these values being written in InterCaps. Annotating
enums this way makes it possible to avoid false style violation reports.

The comment is of form ' Web(?:Kit)?IDL enum'.

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

(_EnumState.init):
(_EnumState.process_clean_line):
(check_enum_casing):

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

(NoNonVirtualDestructorsTest.test_enum_casing):

10:38 AM Changeset in webkit [138718] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Update Mac test expectations after merging the bug 105987 into the bug 105986.

Also add one more test expectation for the bug.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:32 AM Changeset in webkit [138717] by leviw@chromium.org
  • 6 edits in trunk

Fix incorrect assumption about in-flow descendants of inlines in touch event rect tracking
https://bugs.webkit.org/show_bug.cgi?id=105970

Reviewed by Simon Fraser.

Source/WebCore:

Correcting the touch event target rect accumulation code to no longer incorrectly assume that
non-block renderers held only normal-flow children. The updated code will always walk the
complete renderer sub-tree, but only do the work of calculating the absolute rect when the
child won't necessarily fall inside its parent (floating, positioned, or transformed).

Tests: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html updated to catch bug.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::accumulateRendererTouchEventTargetRects): Walk all renderer sub-trees. Also keeping
track of the last added parent container rect to avoid adding redundant rectangles.
(WebCore::accumulateDocumentEventTargetRects): Avoiding adding empty rects.

LayoutTests:

  • platform/chromium-linux/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Updating expectations
  • platform/chromium/fast/events/touch/compositor-touch-hit-rects.html: Updating test to check previously failing case where

an inline with a touch handler contains a non-normal-flow child. Also, fixing the test since it was incorrectly duplicated.

  • platform/chromium/TestExpectations:
10:23 AM Changeset in webkit [138716] by jsbell@chromium.org
  • 9 edits in trunk/Source

IndexedDB: Simplify IDBTransactionBackendImpl::scheduleTask usage
https://bugs.webkit.org/show_bug.cgi?id=103536

Reviewed by Tony Chang.

Source/WebCore:

Move responsibility for firing abort errors from requests that arrive on the
back-end after an asynchronous transaction abort out of WebCore, since the
front-end takes care of this as far as script is concerned.

No new tests - no behavior changes.

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::advance):
(WebCore::IDBCursorBackendImpl::prefetchContinue):

  • Modules/indexeddb/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::count):

Source/WebKit/chromium:

Track whether IDBCallbacks has fired before being destructed. If not it probably
came in after a transaction had asynchronously aborted; fire an abort error which
will be ignored on the front-end but will clean up lingering IPC tracking.

  • public/WebIDBDatabaseException.h:
  • src/AssertMatchingEnums.cpp:
  • src/IDBCallbacksProxy.cpp:

(WebKit::IDBCallbacksProxy::IDBCallbacksProxy):
(WebKit::IDBCallbacksProxy::~IDBCallbacksProxy):
(WebKit::IDBCallbacksProxy::onError):
(WebKit::IDBCallbacksProxy::onSuccess):

  • src/IDBCallbacksProxy.h:

(IDBCallbacksProxy):

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

[Qt] Fix a crash when the QQuickWebPage is destroyed between the scene graph sync and render.
https://bugs.webkit.org/show_bug.cgi?id=106018

Reviewed by Simon Hausmann.

The main and rendering threads are only guaranteed to be synchronised in
the updatePaintNode call. In every other cases, QQuickItems cannot be
safely accessed from the rendering thread.

Do as the first patch version in
https://bugs.webkit.org/show_bug.cgi?id=104574 was doing and copy the
ratio value directly to fix the issue.

Also add a note about the threading issue in QQuickWebPage::updatePaintNode.

  • UIProcess/API/qt/qquickwebpage.cpp:

(QQuickWebPage::updatePaintNode):

  • UIProcess/qt/QtWebPageSGNode.cpp:

(WebKit::QtWebPageSGNode::QtWebPageSGNode):

  • UIProcess/qt/QtWebPageSGNode.h:

(QtWebPageSGNode):
(WebKit::QtWebPageSGNode::devicePixelRatio):
(WebKit::QtWebPageSGNode::setDevicePixelRatio):

10:17 AM Changeset in webkit [138714] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Marking webaudio/automatic-pull-node.html as
[ Pass Slow ] instead of [ Pass Timeout ] for XP.

  • platform/chromium/TestExpectations:
10:05 AM Changeset in webkit [138713] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools

Adding favicon.ico to the garden-o-matic.
https://bugs.webkit.org/show_bug.cgi?id=105982

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-03
Reviewed by Adam Barth.

  • Scripts/webkitpy/tool/servers/gardeningserver.py:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/favicon.ico:
9:32 AM Changeset in webkit [138712] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Update BB10 media render theme.
https://bugs.webkit.org/show_bug.cgi?id=105728

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-01-03
Reviewed by Yong Li.

Internally Reviewed by John Griggs.

Update GL friendly render method for audio volume.
Change the background color for embedded media player to semi-transparent.
Change remaining time font color to grey to match full screen video.
Change media slider thumb color to blue when pressed.

  • css/mediaControlsBlackBerry.css:

(audio):
(audio::-webkit-media-controls-embedded-panel, video::-webkit-media-controls-embedded-panel):
(video::-webkit-media-controls-time-display-container, audio::-webkit-media-controls-time-display-container):
(video::-webkit-media-controls-timeline-container, audio::-webkit-media-controls-timeline-container):
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
(video::-webkit-media-controls-time-remaining-display, audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-volume-slider-container):

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
(WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):

9:12 AM BadContent edited by zandobersek@gmail.com
Adding a spamming account. (diff)
9:05 AM Changeset in webkit [138711] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r138640.
http://trac.webkit.org/changeset/138640
https://bugs.webkit.org/show_bug.cgi?id=106019

Causing crashes in multiply() (Requested by danakj on
#webkit).

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

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore):
(WebCore::TransformationMatrix::multiply):

  • platform/graphics/transforms/TransformationMatrix.h:

(TransformationMatrix):

9:02 AM WebKit Team edited by cshu@webkit.org
(diff)
6:37 AM Changeset in webkit [138710] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip a new failing test.

  • platform/qt/TestExpectations:
6:30 AM Changeset in webkit [138709] by mkwst@chromium.org
  • 11 edits
    2 adds in trunk

The 'body' of seamless IFrames should default to 'margin: 0'
https://bugs.webkit.org/show_bug.cgi?id=90834

Reviewed by Antti Koivisto.

Source/WebCore:

Documents displayed in seamless iframes should override the 'body'
element's normal 8px default margins with 0px, in order to ensure that
contents are displayed flush with the boundries of the seamless box.[1]

This patch does so by adding a new pseudoclass to allow the user agent
stylesheet to specify a different margin for seamless documents.

[1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html

Test: fast/frames/seamless/seamless-body-margin.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector):

  • css/html.css:

(body:-webkit-seamless-document):

  • rendering/style/RenderStyleConstants.h:

Define a new pseudoclass: '-webkit-seamless-document', which
matches for any element in a document that's rendered in a
seamless IFrame.

LayoutTests:

  • fast/frames/seamless/seamless-body-margin-expected.txt: Added.
  • fast/frames/seamless/seamless-body-margin.html: Added.

New test to explicitly check 'body' margins.

  • fast/frames/seamless/resources/nested-seamless.html:
  • fast/frames/seamless/resources/quirks-square.html:
  • fast/frames/seamless/resources/two-inline-blocks.html:
  • fast/frames/seamless/seamless-inherited-origin-expected.txt:
  • fast/frames/seamless/seamless-inherited-origin.html:

Updated these tests to remove the assumption that the body had an
8px margin.

6:28 AM Changeset in webkit [138708] by Csaba Osztrogonác
  • 6 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/TestExpectations: Skip new failing tests.
  • platform/qt/editing/deleting/delete-to-select-table-expected.txt: Updated after r138654.
  • platform/qt/editing/execCommand/print-expected.txt: Updated after r138654.
  • platform/qt/editing/execCommand/selectAll-expected.txt: Updated after r138654.
  • platform/qt/editing/inserting/editable-html-element-expected.txt: Updated after r138654.
6:13 AM Changeset in webkit [138707] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt] Fix library linking order
https://bugs.webkit.org/show_bug.cgi?id=105818

Some Qt libraries are linked before the private static libraries
that depend on them which results in QtWebKit failing to link.

Copy Qt module dependencies from QT to QT_PRIVATE when creating
module to ensure the Qt libraries are linked after the private
static libraries that depend on them.

Patch by Jonathan Liu <net147@gmail.com> on 2013-01-03
Reviewed by Tor Arne Vestbø.

  • qmake/mkspecs/features/default_post.prf:
5:43 AM Changeset in webkit [138706] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit/win

Unreviewed fix after r138656 to make GIT-SVN repositories happy.

1:54 AM Changeset in webkit [138705] by Simon Hausmann
  • 4 edits in trunk/Source

[MinGW-w64] Centralize workaround for pow() implementation
https://bugs.webkit.org/show_bug.cgi?id=105925

Reviewed by Sam Weinig.

As suggested by Sam, move the MinGW-w64 workaround into MathExtras.h
away from the JSC usage.

Source/JavaScriptCore:

  • runtime/MathObject.cpp:

(JSC::mathPow):

Source/WTF:

  • wtf/MathExtras.h:

(wtf_pow):

1:13 AM Changeset in webkit [138704] by mkwst@chromium.org
  • 4 edits
    3 adds in trunk

seamless iframes don't inherit styles when srcdoc is used
https://bugs.webkit.org/show_bug.cgi?id=103539

Reviewed by Antti Koivisto.

Source/WebCore:

Seamless iframes populated via a 'srcdoc' attribute should always
inherit styles from their parent documents. At the moment, this is
only the case when they contain a stylesheet or some other markup
that forces a style recalculation on the document. Simple 'srcdoc'
attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
recalculating style early, resulting in unstyled appearance.

This patch instructs WebCore to treat seamless documents as having an
updated StyleResolver regardless of what actions the parser takes,
which in turn ensures that the document's style is recalculated
correctly.

Test: fast/frames/seamless/seamless-srcdoc.html

  • dom/Document.cpp:

(WebCore::Document::implicitOpen):

If it's a seamless document, notify it that its StyleResolver isn't
what it might have expected.

LayoutTests:

  • fast/frames/seamless/resources/span.html: Added.
  • fast/frames/seamless/seamless-contenteditable-not-inherited-expected.txt:

Updating the previously failing expectation.

  • fast/frames/seamless/seamless-srcdoc-expected.txt: Added.
  • fast/frames/seamless/seamless-srcdoc.html: Added.

Exciting new test to ensure that this doesn't regress, neither
for totally simple srcdoc attriubtes, nor for slightly more
complex variations.

12:42 AM Changeset in webkit [138703] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Implement SimpleFontData::platformBoundsForGlyph
https://bugs.webkit.org/show_bug.cgi?id=104127

Reviewed by Jocelyn Turcotte.

Implements platformBoundsForGlyph which is necessary for working MathML and Ruby.

  • platform/graphics/qt/SimpleFontDataQt.cpp:

(WebCore::SimpleFontData::platformBoundsForGlyph):

Jan 2, 2013:

11:11 PM Changeset in webkit [138702] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add failing test expectations for two canvas tests on Mac Lion
since they have been failing as far as we could tell on the flakiness dashboard.

The failure is tracked by the bug 105999.

  • platform/mac/TestExpectations:
11:09 PM Changeset in webkit [138701] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Remove superfluous 'IntPoint toPoint(const IntSize&)'
https://bugs.webkit.org/show_bug.cgi?id=105993

Patch by Steve Block <steveblock@chromium.org> on 2013-01-02
Reviewed by Eric Seidel.

Refactoring only, no change in behavior.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::elementAccessibilityHitTest):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::remoteSVGElementHitTest):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleDrag):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

  • platform/graphics/IntPoint.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollToOffset):
(WebCore::RenderLayer::offsetFromResizeCorner):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):

11:05 PM Changeset in webkit [138700] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a Mac test expectation for the bug 105998.

  • platform/mac-wk2/TestExpectations:
10:11 PM Changeset in webkit [138699] by zhajiang@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] file:/// pages don't get correct scales after several rotations and history navigations
https://bugs.webkit.org/show_bug.cgi?id=105996

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by George Staikos.

PR: 273541
When navigating back to the previous page on portrait mode, we were
trying to set virtual viewport after recalculation. However, we didn't
change the fixed layout size so that we still layouted the contents at
the old virtual viewport size. In this case, the old virtual viewport
was 570 * 293 which was set in landscape mode unfortunately. There
would be no chance for such kind of contents size to fit the portrait
mode screen size nicely.
This was a regression of webkit/cc31d9bad where setViewMode() was
removed as a noop. So just get setViewMode() back to apply the fixed
layout size with a little bit change as SVG document path was proved
invalid in that patch. Thanks to George for the float comparison change.
Put a FIXME as we don't have a way to save the scale precisely before
the rotation and history navigation currently.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):

9:36 PM Changeset in webkit [138698] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

More Mac test expectation updates per bugs 105988 and 105987.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
8:47 PM Changeset in webkit [138697] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Fix tooltip bugs in MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=102209

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2013-01-02
Reviewed by Gyuyoung Kim.

Set tooltip on the elm_window instead of ewk_view, and add delay to
show the tooltip window.

Setting tooltip on the ewk_view makes elementary error message because
ewk_view is not an elementary widget. To remove the error message,
tooltip should be set on the elm_window.

Most browsers show the tooltip after a mouse pointer stays on an
element object that has tooltip text.
But elm_tooltip widget itself doesn't have delay or handle mouse
events to show/hide.

So additional codes are added to show/hide tooltip widget along with
mouse events.

1) When a mouse pointer stays for a second on an element which has

tooltip text, then tooltip widget is displayed.

2) When a mouse pointer is moved or out of ewk_view, hide the tooltip

widget.

  • MiniBrowser/efl/main.c:

(_Tooltip_Information):
(_Browser_Window):
(on_tooltip_show):
(window_tooltip_hide):
(window_tooltip_update):
(on_mouse_in):
(on_mouse_move):
(on_mouse_out):
(window_free):
(on_tooltip_text_set):
(on_tooltip_text_unset):
(window_create):

8:44 PM Changeset in webkit [138696] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Do not determine db quota limit using db file size
https://bugs.webkit.org/show_bug.cgi?id=105991

PR 267191

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-01-02
Reviewed by George Staikos.

Passing the current quota to WebPageClientImpl::databaseQuota so we can determine a better
quota limit without using the db file size.

  • Api/WebPageClient.h:
  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):

8:39 PM Changeset in webkit [138695] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[TexMap] Remove m_size in TextureMapperLayer.
https://bugs.webkit.org/show_bug.cgi?id=105781

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-02
Reviewed by Noam Rosenthal.

m_size is duplicated by State::size, so this patch removes it.

No new tests. Refactoring only.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computeTransformsRecursive):
(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::isVisible):
(WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):

  • platform/graphics/texmap/TextureMapperLayer.h:

(WebCore::TextureMapperLayer::layerRect):
(TextureMapperLayer):

7:24 PM Changeset in webkit [138694] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add flaky crash expectations for multiple tests on Mac WebKit2.

  • platform/mac-wk2/TestExpectations:
7:22 PM Changeset in webkit [138693] by kbr@google.com
  • 15 edits
    4 adds in trunk

[chromium] Creation of dedicated workers (isolates) leaks reference to HTMLDocument
https://bugs.webkit.org/show_bug.cgi?id=105367

Reviewed by Dmitry Titov.

Source/WebCore:

Eliminated a Chromium-specific object wrapping WorkerMessagingProxy in order to fix a
lifetime management bug, which leaked every Document which started a dedicated worker.

Test: fast/workers/worker-document-leak.html

  • workers/WorkerLoaderProxy.h:

(WorkerLoaderProxy):

Added Chromium-specific casting method to bridge two now-distinct class hierarchies.

  • workers/WorkerMessagingProxy.h:

(WorkerMessagingProxy):

Made destructor protected instead of private to allow subclassing.

Source/WebKit/chromium:

Made WebWorkerClientImpl a subclass of WorkerMessagingProxy rather than an object wrapping
WorkerMessagingProxy. WorkerMessagingProxy manages its own lifetime and it is impossible to
properly synchronize the lifetime of WebWorkerClientImpl separately.

This allowed most of WebWorkerClientImpl to be deleted, but forced a divergence in the class
hierarchies of WebWorkerClientImpl and WebSharedWorkerImpl. Conversion methods were added to
WorkerLoaderProxy and WebWorkerBase to bridge the hierarchies of in-process and
out-of-process workers.

  • src/DatabaseObserver.cpp:

(WebCore::DatabaseObserver::canEstablishDatabase):

Adjusted how WebWorkerBase is obtained from WorkerLoaderProxy.

  • src/IDBFactoryBackendProxy.cpp:

(WebKit::AllowIndexedDBMainThreadBridge::signalCompleted):

Adjusted how WorkerLoaderProxy's methods are called.

(WebKit::IDBFactoryBackendProxy::allowIndexedDB):

Adjusted how WebWorkerBase is obtained from WorkerLoaderProxy.

  • src/LocalFileSystemChromium.cpp:

(WebCore::openFileSystemHelper):

Adjusted how WebWorkerBase is obtained from WorkerLoaderProxy.

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::toWebWorkerBase):

Implemented new conversion method.

  • src/WebSharedWorkerImpl.h:

(WebSharedWorkerImpl):

Explicitly derive from WorkerLoaderProxy now that WebWorkerBase no longer does.

(WebKit::WebSharedWorkerImpl::workerLoaderProxy):

Added new conversion method.

  • src/WebWorkerBase.h:

(WebWorkerBase):

Removed derivation from WorkerLoaderProxy. Added method to convert to WorkerLoaderProxy.

  • src/WebWorkerClientImpl.cpp:

(WebKit):

Adjusted comment.

(WebKit::WebWorkerClientImpl::createWorkerContextProxy):

Adjusted whitespace.

(WebKit::WebWorkerClientImpl::terminateWorkerContext):

Eliminated delegation to separate object.

(WebKit::WebWorkerClientImpl::toWebWorkerBase):

Implemented new conversion method.

(WebKit::WebWorkerClientImpl::view):
(WebKit::WebWorkerClientImpl::allowDatabase):
(WebKit::WebWorkerClientImpl::allowFileSystem):
(WebKit::WebWorkerClientImpl::openFileSystem):
(WebKit::WebWorkerClientImpl::allowIndexedDB):

Eliminated delegation to separate object.

(WebKit::WebWorkerClientImpl::WebWorkerClientImpl):

  • src/WebWorkerClientImpl.h:

(WebKit):

Changed to inherit from WorkerMessagingProxy directly.

(WebWorkerClientImpl):

Deleted most methods previously overridden from WorkerContextProxy, etc.

  • src/WorkerAsyncFileSystemChromium.cpp:

(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):
(WebCore::WorkerAsyncFileSystemChromium::createWorkerFileSystemCallbacksBridge):

Hold on to, and use, WorkerLoaderProxy rather than WebWorkerBase.

  • src/WorkerAsyncFileSystemChromium.h:

(WebKit):
(WebCore):
(WorkerAsyncFileSystemChromium):

Hold on to WorkerLoaderProxy rather than WebWorkerBase.

LayoutTests:

  • fast/workers/resources/empty-worker.js: Added.
  • fast/workers/resources/worker-document-leak-iframe.html: Added.
  • fast/workers/worker-document-leak-expected.txt: Added.
  • fast/workers/worker-document-leak.html: Added.
7:09 PM Changeset in webkit [138692] by rniwa@webkit.org
  • 3 edits
    2 deletes in trunk/LayoutTests

One more Mac rebaseline attempt for r138654. Also remove an entry for the bug 105514
which has been dup'ed with the bug 103663 for which we have more specific expectations.

  • platform/mac-lion/editing/deleting: Removed.
  • platform/mac-lion/editing/deleting/delete-to-select-table-expected.txt: Removed.
  • platform/mac-wk2/editing/deleting: Removed.
  • platform/mac-wk2/editing/deleting/delete-to-select-table-expected.txt: Removed.
  • platform/mac/TestExpectations:
  • platform/mac/editing/deleting/delete-to-select-table-expected.txt:
6:59 PM Changeset in webkit [138691] by esprehn@chromium.org
  • 6 edits in trunk/Source/WebCore

Make ClassList::reset's purpose obvious and don't keep quirks string when not needed
https://bugs.webkit.org/show_bug.cgi?id=105963

Reviewed by Ojan Vafai.

ClassList::reset only exists to handle updating the special SpaceSplitString
for quirks mode documents. This adds a new method that makes this obvious and
instead of updating the string immediately clear the value and lazily
update it. We also clear the value whenever we're inserted into the
document so that when moving from a quirks mode document to a non-quirks
mode document we don't keep the SpaceSplitString around if it's not needed.

No new tests, I'm not sure how to write a test that we don't keep the
SpaceSplitString when moving between quirks and non-quirks mode documents.

  • dom/Element.cpp:

(WebCore::Element::classAttributeChanged):
(WebCore::Element::insertedInto):

  • dom/Element.h:

(Element):

  • dom/ElementRareData.h:

(WebCore::ElementRareData::clearClassListValueForQuirksMode):

  • html/ClassList.cpp:
  • html/ClassList.h:

(WebCore::ClassList::clearValueForQuirksMode):

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

[chromium] Remove unused transitional #defines from WebKit Client API
https://bugs.webkit.org/show_bug.cgi?id=105974

Patch by James Robinson <jamesr@chromium.org> on 2013-01-02
Reviewed by Adam Barth.

The transitions these #defines helped with have completed.

  • public/WebFileSystemCallbacks.h:

(WebKit):

  • public/WebKit.h:
  • public/WebRuntimeFeatures.h:
  • public/WebSettings.h:
  • public/WebWidget.h:
6:03 PM Changeset in webkit [138689] by barraclough@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Objective-C API for JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=105889

Reviewed by Geoff Garen.

Fixes for more issues raised by Darin.

  • API/JSBlockAdaptor.mm:

(BlockArgument):
(BlockArgumentStruct::BlockArgumentStruct):
(BlockArgumentTypeDelegate::typeStruct):
(BlockResult):
(BlockResultStruct::BlockResultStruct):
(buildBlockSignature):
(-[JSBlockAdaptor initWithBlockSignatureFromProtocol:]):
(-[JSBlockAdaptor blockFromValue:inContext:withException:]):

  • fix * position for Objective-C types
  • API/JSContext.h:
    • fix * position for Objective-C types
  • API/JSContext.mm:

(-[JSContext initWithVirtualMachine:]):
(-[JSContext virtualMachine]):
(contextInternalContext):

  • fix * position for Objective-C types

(-[JSContext dealloc]):
(-[JSContext protect:]):
(-[JSContext unprotect:]):

  • HashMap<JSValueRef, size_t> -> HashCountedSet<JSValueRef>
  • API/JSContextInternal.h:

(WeakContextRef):

  • fix * position for Objective-C types
  • API/JSValue.mm:

(valueToString):

  • fix * position for Objective-C types

(isNSBoolean):

  • Added helper to check for booleans.

(objectToValueWithoutCopy):

  • Added contextRef
  • fix * position for Objective-C types
  • Remove @YES, @NO literal usage, use isNSBoolean instead

(objectToValue):

  • Added contextRef

(+[JSValue valueWithValue:inContext:]):
(-[JSValue initWithValue:inContext:]):

  • fix * position for Objective-C types

(createStructHandlerMap):
(handerForStructTag):

  • getStructTagHandler -> handerForStructTag
  • Split out createStructHandlerMap
  • strncmp -> memcmp
  • String(type).impl() -> StringImpl::create(type)

(+[JSValue selectorForStructToValue:]):
(+[JSValue selectorForValueToStruct:]):

  • getStructTagHandler -> handerForStructTag

(typeToValueInvocationFor):
(valueToTypeInvocationFor):

  • fix * position for Objective-C types
  • API/JSValueInternal.h:
    • fix * position for Objective-C types
  • API/JSVirtualMachineInternal.h:
    • fix * position for Objective-C types
  • API/JSWrapperMap.h:
    • fix * position for Objective-C types
  • API/JSWrapperMap.mm:

(selectorToPropertyName):
(createObjectWithCustomBrand):
(createRenameMap):
(putNonEnumerable):
(copyMethodsToObject):
(copyPrototypeProperties):
(-[JSObjCClassInfo initWithContext:forClass:superClassInfo:]):
(-[JSWrapperMap initWithContext:]):
(-[JSWrapperMap wrapperForObject:]):
(getJSExportProtocol):

  • fix * position for Objective-C types
  • API/ObjCCallbackFunction.h:
    • fix * position for Objective-C types
  • API/ObjCCallbackFunction.mm:

(CallbackArgument):
(CallbackArgumentStruct::CallbackArgumentStruct):

  • fix * position for Objective-C types

(CallbackArgumentBlockCallback::createAdoptingJSBlockAdaptor):

  • Added to make adopt explicit

(CallbackArgumentBlockCallback):
(CallbackArgumentBlockCallback::CallbackArgumentBlockCallback):
(ArgumentTypeDelegate::typeBlock):

  • Call createAdoptingJSBlockAdaptor

(ArgumentTypeDelegate::typeStruct):
(CallbackResult):
(CallbackResultStruct::CallbackResultStruct):
(ResultTypeDelegate::typeStruct):
(ObjCCallbackFunction::ObjCCallbackFunction):
(ObjCCallbackFunction::context):
(objCCallbackFunctionForInvocation):
(objCCallbackFunctionForMethod):
(objCCallbackFunctionForBlock):

  • fix * position for Objective-C types
  • API/ObjcRuntimeExtras.h:

(protocolImplementsProtocol):
(forEachProtocolImplementingProtocol):
(forEachMethodInProtocol):
(forEachPropertyInProtocol):

  • fix * position for Objective-C types
  • API/tests/testapi.m:

(-[TestObject testArgumentTypesWithInt:double:boolean:string:number:array:dictionary:]):
(testObjectiveCAPI):

  • fix * position for Objective-C types
5:29 PM Changeset in webkit [138688] by Lucas Forschler
  • 48 edits
    20 adds in branches/safari-536.28-branch/LayoutTests

Rebaseline Chopin SVG results.
<rdar://problem/12947584> SVG test failures caused by missing merge

Reviewed by Tim Horton.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
  • platform/mac/svg/carto.net/tabgroup-expected.txt:
  • platform/mac/svg/css/shadow-changes-expected.txt:
  • platform/mac/svg/custom/SVGPoint-matrixTransform-expected.txt:
  • platform/mac/svg/custom/animate-path-morphing-expected.txt:
  • platform/mac/svg/custom/circle-move-invalidation-expected.txt:
  • platform/mac/svg/custom/clip-path-child-changes-expected.txt: Added.
  • platform/mac/svg/custom/clip-path-href-changes-expected.txt: Added.
  • platform/mac/svg/custom/clip-path-id-changes-expected.txt: Added.
  • platform/mac/svg/custom/clip-path-units-changes-expected.txt: Added.
  • platform/mac/svg/custom/getscreenctm-in-scrollable-div-area-expected.txt:
  • platform/mac/svg/custom/getscreenctm-in-scrollable-div-area-nested-expected.txt:
  • platform/mac/svg/custom/getscreenctm-in-scrollable-svg-area-expected.txt:
  • platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
  • platform/mac/svg/custom/js-late-clipPath-creation-expected.txt:
  • platform/mac/svg/custom/js-late-gradient-creation-expected.txt:
  • platform/mac/svg/custom/js-late-pattern-creation-expected.txt:
  • platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt: Added.
  • platform/mac/svg/custom/js-update-bounce-expected.txt: Added.
  • platform/mac/svg/custom/js-update-container-expected.txt: Added.
  • platform/mac/svg/custom/js-update-polygon-changes-expected.txt: Added.
  • platform/mac/svg/custom/js-update-polygon-removal-expected.txt: Added.
  • platform/mac/svg/custom/js-update-style-expected.txt: Added.
  • platform/mac/svg/custom/js-update-transform-addition-expected.txt: Added.
  • platform/mac/svg/custom/js-update-transform-changes-expected.txt: Added.
  • platform/mac/svg/custom/marker-viewBox-changes-expected.txt: Added.
  • platform/mac/svg/custom/mask-invalidation-expected.txt: Added.
  • platform/mac/svg/custom/mouse-move-on-svg-container-expected.txt:
  • platform/mac/svg/custom/mouse-move-on-svg-container-standalone-expected.txt:
  • platform/mac/svg/custom/mouse-move-on-svg-root-expected.txt:
  • platform/mac/svg/custom/mouse-move-on-svg-root-standalone-expected.txt:
  • platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
  • platform/mac/svg/custom/relative-sized-content-with-resources-expected.txt:
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
  • platform/mac/svg/custom/relative-sized-inner-svg-expected.txt:
  • platform/mac/svg/custom/relative-sized-use-on-symbol-expected.txt:
  • platform/mac/svg/custom/relative-sized-use-without-attributes-on-symbol-expected.txt:
  • platform/mac/svg/custom/repaint-stroke-width-changes-expected.txt: Added.
  • platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt: Added.
  • platform/mac/svg/custom/text-hit-test-expected.txt:
  • platform/mac/svg/custom/text-repaint-including-stroke-expected.txt:
  • platform/mac/svg/custom/text-xy-updates-SVGList-expected.txt:
  • platform/mac/svg/custom/use-modify-container-in-target-expected.txt:
  • platform/mac/svg/custom/use-move-to-offset-expected.txt: Added.
  • platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.txt:
  • platform/mac/svg/custom/viewbox-syntax-expected.txt:
  • platform/mac/svg/filters/invalidate-on-child-layout-expected.txt: Added.
  • platform/mac/svg/hixie/text/003b-expected.txt:
  • platform/mac/svg/repaint/repaint-webkit-svg-shadow-expected.txt: Added.
  • platform/mac/svg/repaint/repainting-after-animation-element-removal-expected.txt:
  • platform/mac/svg/text/remove-text-node-from-tspan-expected.txt:
  • platform/mac/svg/text/select-x-list-1-expected.txt:
  • platform/mac/svg/text/select-x-list-2-expected.txt:
  • platform/mac/svg/text/select-x-list-3-expected.txt:
  • platform/mac/svg/text/select-x-list-4-expected.txt:
  • platform/mac/svg/text/select-x-list-with-tspans-1-expected.txt:
  • platform/mac/svg/text/select-x-list-with-tspans-2-expected.txt:
  • platform/mac/svg/text/select-x-list-with-tspans-3-expected.txt:
  • platform/mac/svg/text/select-x-list-with-tspans-4-expected.txt:
  • platform/mac/svg/text/text-rescale-expected.txt:
  • platform/mac/svg/text/text-text-01-b-expected.txt:
  • platform/mac/svg/text/tspan-dynamic-positioning-expected.txt:
  • platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
  • platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.txt: Added.
5:21 PM Changeset in webkit [138687] by commit-queue@webkit.org
  • 5 edits in trunk/Source/Platform

[chromium] Remove unused transitional #defines from Platform API
https://bugs.webkit.org/show_bug.cgi?id=105971

Patch by James Robinson <jamesr@chromium.org> on 2013-01-02
Reviewed by Adrienne Walker.

These are leftovers from multi-sided patches that landed months ago.

  • chromium/public/WebContentLayerClient.h:

(WebContentLayerClient):

  • chromium/public/WebLayer.h:
  • chromium/public/WebLayerTreeView.h:
  • chromium/public/WebThread.h:
5:20 PM Changeset in webkit [138686] by rniwa@webkit.org
  • 1 edit
    5 adds
    3 deletes in trunk/LayoutTests

Mac and Chromium rebaselines after r138654.

  • editing/deleting/delete-to-select-table-expected.txt: Added.
  • platform/chromium-mac/editing/deleting/delete-to-select-table-expected.txt: Added.
  • platform/chromium/editing/deleting/delete-to-select-table-expected.txt: Removed.
  • platform/efl/editing/deleting/delete-to-select-table-expected.txt: Removed.
  • platform/gtk/editing/deleting/delete-to-select-table-expected.txt: Removed.
  • platform/mac-lion/editing/deleting/delete-to-select-table-expected.txt: Added.
  • platform/mac-wk2/editing/deleting: Added.
  • platform/mac-wk2/editing/deleting/delete-to-select-table-expected.txt: Added.
5:11 PM Changeset in webkit [138685] by macpherson@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed Chromium gardening.

Rebaseline win-xp image for svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.html.

  • platform/chromium-win-xp/svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr-expected.png: Added.
5:10 PM Changeset in webkit [138684] by cdn@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Initialize WebInputEvent to prevent sending uninitialized bytes with IPC messages.
https://bugs.webkit.org/show_bug.cgi?id=105934

Reviewed by James Robinson.

  • public/WebInputEvent.h:

(WebKit::WebInputEvent::WebInputEvent):

5:06 PM Changeset in webkit [138683] by weinig@apple.com
  • 14 edits in trunk/Source/WebKit2

Stop pretending its possible to run the WebProcess in threaded mode
https://bugs.webkit.org/show_bug.cgi?id=105969

Reviewed by Alexey Proskuryakov.

  • Removes WebProcess::isSeparateProcess()
  • Stop storing a RunLoop on the WebProcess and just use RunLoop::main().
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::NetworkProcessConnection):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):

  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::PluginProcessConnection):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::DrawingAreaImpl):

  • WebProcess/WebPage/PageOverlay.cpp:

(WebKit::PageOverlay::PageOverlay):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::close):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):

  • WebProcess/WebProcess.h:

(WebProcess):

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl):

  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainGtk):

  • WebProcess/mac/WebProcessInitialization.mm:

(WebKit::initializeWebProcess):

  • WebProcess/qt/WebProcessMainQt.cpp:

(WebKit::WebProcessMainQt):

  • WebProcess/win/WebProcessMainWin.cpp:

(WebKit::WebProcessMain):

5:04 PM Changeset in webkit [138682] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] V8DOMWrapper.cpp has many more includes than necessary
https://bugs.webkit.org/show_bug.cgi?id=105968

Reviewed by Kentaro Hara.

Now that this file isn't in charge of doing everything under the sun,
it can have a more focused set of include directives.

  • bindings/v8/V8DOMWrapper.cpp:
5:00 PM Changeset in webkit [138681] by gyuyoung.kim@samsung.com
  • 4 edits in trunk

[EFL][CMAKE] Remove duplicated conditionals
https://bugs.webkit.org/show_bug.cgi?id=105905

Reviewed by Laszlo Gombos.

.:

  • Source/cmake/OptionsEfl.cmake: Remove set(WTF_USE_GLX 1).

Source/WebCore:

Remove conditionals from CMake build system, where the files being built are already wrapped with
the conditionals. It just messes cmake file up.

  • PlatformEfl.cmake:
4:55 PM Changeset in webkit [138680] by commit-queue@webkit.org
  • 4 edits in trunk/Source

AX: Chromium needs platform localized strings for media controls.
https://bugs.webkit.org/show_bug.cgi?id=105940

Patch by David Tseng <dtseng@google.com> on 2013-01-02
Reviewed by Tony Chang.

Source/Platform:

  • chromium/public/WebLocalizedString.h:

Source/WebKit/chromium:

  • src/LocalizedStrings.cpp:

(WebCore::localizedMediaControlElementString):
(WebCore):
(WebCore::localizedMediaControlElementHelpText):

4:53 PM Changeset in webkit [138679] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Release build fix.

  • platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::formFinalize): Use ASSERT_UNUSED for an otherwise unused variable.
4:43 PM Changeset in webkit [138678] by tony@chromium.org
  • 23 edits in trunk

Unreviewed, rolling out r138661.
http://trac.webkit.org/changeset/138661
https://bugs.webkit.org/show_bug.cgi?id=104740

Compile problems on EFL

.:

  • Source/cmake/WebKitMacros.cmake:

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.vcproj/WebCoreTestSupport.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGenerator.pm:

(IDLFileForInterface):

  • page/make_settings.pl:

(generateCode):
(generateHeader):
(printGetterAndSetter):
(printInitializer):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::from):
(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::reset):
(WebCore::InternalSettings::setPasswordEchoEnabled):
(WebCore):
(WebCore::InternalSettings::setPasswordEchoDurationInSeconds):

  • testing/InternalSettings.h:

(Backup):
(InternalSettings):

  • testing/InternalSettings.idl:
  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::resetInternalsObject):

  • testing/v8/WebCoreTestSupport.cpp:

(WebCoreTestSupport::resetInternalsObject):

Tools:

  • GNUmakefile.am:
  • qmake/mkspecs/features/default_post.prf:
4:30 PM Changeset in webkit [138677] by abarth@webkit.org
  • 23 edits in trunk/Source/WebCore

[V8] There are some extra blank lines after removing INC_STATS
https://bugs.webkit.org/show_bug.cgi?id=105964

Reviewed by Ojan Vafai.

This patch is a followup to http://trac.webkit.org/changeset/138665
that removes some extra blank lines that sed wasn't smart enough to
delete for us.

  • bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:

(WebCore::V8CSSStyleDeclaration::namedPropertyQuery):

  • bindings/v8/custom/V8DOMFormDataCustom.cpp:

(WebCore::V8DOMFormData::appendCallback):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::V8DOMWindow::addEventListenerCallback):
(WebCore::V8DOMWindow::removeEventListenerCallback):
(WebCore::V8DOMWindow::postMessageCallback):

  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:

(WebCore::V8DedicatedWorkerContext::postMessageCallback):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::V8Document::evaluateCallback):

  • bindings/v8/custom/V8GeolocationCustom.cpp:

(WebCore::V8Geolocation::getCurrentPositionCallback):
(WebCore::V8Geolocation::watchPositionCallback):

  • bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:

(WebCore::V8HTMLAllCollection::namedPropertyGetter):

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp:

(WebCore::V8HTMLCollection::namedPropertyGetter):

  • bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:

(WebCore::V8HTMLFormControlsCollection::namedPropertyGetter):

  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp:

(WebCore::v8HTMLImageElementConstructorCallback):

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::V8HTMLOptionsCollection::namedPropertyGetter):

  • bindings/v8/custom/V8MessagePortCustom.cpp:

(WebCore::V8MessagePort::postMessageCallback):

  • bindings/v8/custom/V8NamedNodeMapCustom.cpp:

(WebCore::V8NamedNodeMap::namedPropertyGetter):

  • bindings/v8/custom/V8NotificationCustom.cpp:

(WebCore::V8Notification::requestPermissionCallback):

  • bindings/v8/custom/V8PopStateEventCustom.cpp:

(WebCore::V8PopStateEvent::stateAccessorGetter):

  • bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:

(WebCore::V8SQLResultSetRowList::itemCallback):

  • bindings/v8/custom/V8SQLTransactionCustom.cpp:

(WebCore::V8SQLTransaction::executeSqlCallback):

  • bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:

(WebCore::V8SQLTransactionSync::executeSqlCallback):

  • bindings/v8/custom/V8StorageCustom.cpp:

(WebCore::V8Storage::namedPropertyQuery):

  • bindings/v8/custom/V8StyleSheetListCustom.cpp:

(WebCore::V8StyleSheetList::namedPropertyGetter):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
(WebCore::V8WebGLRenderingContext::getParameterCallback):
(WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
(WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
(WebCore::V8WebGLRenderingContext::getUniformCallback):

  • bindings/v8/custom/V8WorkerCustom.cpp:

(WebCore::V8Worker::postMessageCallback):

4:26 PM Changeset in webkit [138676] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

[WK2 NetworkProcess] Uploading fails if a client modified the request
https://bugs.webkit.org/show_bug.cgi?id=105965

Reviewed by Brady Eidson.

Associating streams with additional information via a side HashMap does not work,
because the stream we can see is an internal one, with address and other information
not matching a stream that we created.

It's surprising that this design issue was not causing major trouble without NetworkProcess.

  • platform/network/cf/FormDataStreamCFNet.cpp: (WebCore): Renamed FormContext to FormCreationContext, because this type only used for creation. Later, we use FormStreamFields as context. (WebCore::closeCurrentStream): Moved a star. (WebCore::formCreate): We no longer have a side map to keep updated. (WebCore::formFinalize): Ditto. (WebCore::formCopyProperty): Added an accessor to get FormData pointer from a stream. (WebCore::setHTTPBody): Ditto. (WebCore::httpBodyFromStream): Use the new property to get FormData pointer.
4:25 PM Changeset in webkit [138675] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Some renaming in the CodeCache
https://bugs.webkit.org/show_bug.cgi?id=105966

Reviewed by Gavin Barraclough.

CodeBlockKey => SourceCodeKey because the key is not a CodeBlock.

m_recentlyUsedFunctionCode => m_recentlyUsedFunctions to match other names.

GlobalFunctionKey => FunctionKey because the key is not unique to globalness.

m_cachedGlobalFunctions => m_globalFunctions because "cached" is redundant
for data members in an object called "CodeCache".

kMaxRootCodeBlockEntries => kMaxRootEntries because there are no non-CodeBlock
entries in a CodeBlock cache.

kMaxFunctionCodeBlocks => kMaxChildFunctionEntries to clarify that this
number models a parent-child relationship.

Also removed the initial "k" from enum constants. That's an interesting
style for calling out constants, but it's not the WebKit style.

Finally, a behavior change: Use MaxRootEntries for the limit on global
functions, and not MaxChildFunctionEntries. Previously, there was an
unused constant that seemed to have been intended for this purpose.

  • runtime/CodeCache.cpp:

(JSC::CodeCache::makeSourceCodeKey):
(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::generateFunctionCodeBlock):
(JSC::CodeCache::makeFunctionKey):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
(JSC::CodeCache::usedFunctionCode):

  • runtime/CodeCache.h:

(JSC::CodeCache::clear):

4:21 PM Changeset in webkit [138674] by esprehn@chromium.org
  • 17 edits in trunk/Source/WebCore

Clean up dispatchEvent overrides and overloads
https://bugs.webkit.org/show_bug.cgi?id=105959

Reviewed by Adam Barth.

Add OVERRIDE to all dispatchEvent overrides and use "using" instead of
reimplementing EventTarget::dispatchEvent in subclasses where having the
virtual override of dispatchEvent hides the overloads in
the superclass.

No new tests, just refactoring.

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBOpenDBRequest.h:

(IDBOpenDBRequest):

  • Modules/indexeddb/IDBRequest.h:

(IDBRequest):

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

  • dom/EventDispatchMediator.h:

(FocusEventDispatchMediator):
(BlurEventDispatchMediator):

  • dom/GestureEvent.h:

(GestureEventDispatchMediator):

  • dom/KeyboardEvent.h:

(KeyboardEventDispatchMediator):

  • dom/MouseEvent.h:
  • dom/Node.h:

(Node):

  • dom/UIEvent.h:

(FocusInEventDispatchMediator):
(FocusOutEventDispatchMediator):

  • dom/WheelEvent.h:

(WheelEventDispatchMediator):

  • html/HTMLMediaElement.h:
  • html/track/TextTrackCue.cpp:
  • html/track/TextTrackCue.h:

(TextTrackCue):

  • page/DOMWindow.h:

(DOMWindow):

  • svg/SVGElementInstance.h:

(SVGElementInstance):

4:08 PM Changeset in webkit [138673] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Add Platform/chromium to include_dirs
https://bugs.webkit.org/show_bug.cgi?id=105955

Reviewed by James Robinson.

Currently the headers in WebKit/chromium/public/Web*.h can not
include headers from the new Platform/chromium/ directory with the
"#include <public/WebFoo.h>" syntax, because the include_dirs for
dependent builds (like Chromium-within-WebKit) do not include the
new Platform/chromium/ directory. This patch adds that capability
without managing to break anything else.

  • WebKit.gyp:
3:56 PM Changeset in webkit [138672] by simonjam@chromium.org
  • 2 edits
    1 delete in branches/chromium/1364

Revert 129070

[Chromium] Disable resource load scheduling
https://bugs.webkit.org/show_bug.cgi?id=97131

Reviewed by Nate Chapin.

Source/WebCore:

We'll use Chrome's network stack for scheduling instead.

No new tests.

  • loader/ResourceLoadScheduler.cpp:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::preload):

LayoutTests:

The preload scanner loads resources sooner and these tests are affected.

  • platform/chromium/http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error-expected.txt: Added.
  • platform/chromium/http/tests/inspector/network/network-initiator-expected.txt: Added.

TBR=simonjam@chromium.org
Review URL: https://codereview.chromium.org/11759004

3:56 PM Changeset in webkit [138671] by kbr@google.com
  • 4 edits in branches/chromium/1364

Merge 138393

Expose ArrayBufferView constructor on DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=105605

Reviewed by Sam Weinig.

Source/WebCore:

Update IDL to track recent spec change exposing ArrayBufferView
constructor on DOMWindow for instanceof checks. There are no
constructors exposed in the Web IDL, however, so calling it via
operator new throws TypeError.

Test (updated): fast/canvas/webgl/array-unit-tests.html

  • html/canvas/ArrayBufferView.idl:

Removed OmitConstructor attribute.

  • page/DOMWindow.idl:

Exposed ArrayBufferView constructor function attribute.

LayoutTests:

Updated test from Khronos repository.

  • fast/canvas/webgl/array-unit-tests-expected.txt:
  • fast/canvas/webgl/array-unit-tests.html:

TBR=kbr@google.com
Review URL: https://codereview.chromium.org/11747006

3:55 PM Changeset in webkit [138670] by dgrogan@chromium.org
  • 5 edits in trunk/Source

IndexedDB: Surface a few more leveldb errors.
https://bugs.webkit.org/show_bug.cgi?id=105670

Reviewed by Tony Chang.

Two calls to old LevelDBTransaction::get slipped through the cracks.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IndexKeyCursorImpl::loadCurrentRow):
(WebCore::IndexCursorImpl::loadCurrentRow):

Make these two functions use safeGet instead of get.

  • platform/leveldb/LevelDBTransaction.cpp:
  • platform/leveldb/LevelDBTransaction.h: Remove get now that it is unused.
3:54 PM Changeset in webkit [138669] by fpizlo@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

DFG inlining machinery should be robust against the inline callee varying while the executable stays the same
https://bugs.webkit.org/show_bug.cgi?id=105953

Reviewed by Mark Hahnenberg.

This institutes the policy that if InlineCallFrame::callee is null, then the callee and scope have already
been stored into the true call frame (i.e. the place where the call frame of the inlined call would have
been) and so any attempt to access the callee or scope should do a load instead of assuming that the value
is constant. This wires the changes through the bytecode parser, the stack scanning logic, and the compiler
optimization phases and backends.

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::dump):

  • bytecode/CodeOrigin.h:

(CodeOrigin):
(InlineCallFrame):
(JSC::InlineCallFrame::isClosureCall):
(JSC::CodeOrigin::stackOffset):
(JSC):

  • dfg/DFGAssemblyHelpers.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::get):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::getScope):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCSEPhase.cpp:

(CSEPhase):
(JSC::DFG::CSEPhase::genericPureCSE):
(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::pureCSERequiringSameInlineCallFrame):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::trueCallFrame):

3:54 PM Changeset in webkit [138668] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

When a block's height is determined by min-height/max-height, children with percentage heights are sized incorrectly
https://bugs.webkit.org/show_bug.cgi?id=26559

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-01-02
Reviewed by Tony Chang.

Source/WebCore:

Percentage logical height computation now takes into account the min and max height of the container.

Test: fast/block/min-max-height-percent-height-child.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax): Added. Like constrainLogicalHeightByMinMax,

but constrains the content box instead of the border box.

(WebCore):
(WebCore::RenderBox::computeContentLogicalHeight): Make const so it can be called from the const method

constrainContentBoxLogicalHeightByMinMax.

(WebCore::RenderBox::computePercentageLogicalHeight): Use constrainContentBoxLogicalHeightByMinMax to properly

respect min and max height on the containing box when computing the percentage height.

  • rendering/RenderBox.h:

(RenderBox):

LayoutTests:

Add tests to ensure percent heights are correctly determined.

  • fast/block/min-max-height-percent-height-child-expected.txt: Added.
  • fast/block/min-max-height-percent-height-child.html: Added.
3:51 PM Changeset in webkit [138667] by tony@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, force InternalSettings.cpp to rebuild to try and fix the Apple Win build.

  • testing/InternalSettings.cpp:
3:48 PM Changeset in webkit [138666] by alecflett@chromium.org
  • 11 edits in trunk/Source

IndexedDB: Use non-const buffers in put() to avoid copies
https://bugs.webkit.org/show_bug.cgi?id=105572

Reviewed by Adam Barth.

Source/WebCore:

Change the new put() method to allow the implementation to consume
or adopt the vector, to avoid copying.

No new tests as this is an interface change that will be implemented later.

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::put):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

Source/WebKit/chromium:

Pass on non-const Vectors to allow buffer adoption rather than copies.

  • public/WebIDBDatabase.h:

(WebIDBDatabase):
(WebKit::WebIDBDatabase::put):

  • src/IDBDatabaseBackendProxy.cpp:

(WebKit::IDBDatabaseBackendProxy::put):

  • src/IDBDatabaseBackendProxy.h:

(IDBDatabaseBackendProxy):

  • src/WebIDBDatabaseImpl.cpp:

(WebKit::WebIDBDatabaseImpl::put):

  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

  • tests/IDBDatabaseBackendTest.cpp:
3:41 PM Changeset in webkit [138665] by abarth@webkit.org
  • 73 edits in trunk/Source/WebCore

[V8] Remove INC_STATS because it is unused
https://bugs.webkit.org/show_bug.cgi?id=105957

Reviewed by Ojan Vafai.

We haven't been able to compile with INC_STATS turned on in a long
time. This patch just removes this ancient cruft. I generated this
patch using

find . -type f | xargs sed -i '/INC_STATS/d'

and then fixing up V8BindingMacros.h.

3:34 PM Changeset in webkit [138664] by barraclough@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

Objective-C API for JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=105889

Reviewed by Geoff Garen.

Fixes for a number of issues raised by Darin.

  • API/APIJSValue.h:
    • Fix typos in comment
    • Add newline before NS_CLASS_AVAILABLE(10_9, NA)
    • cls -> expectedClass
    • key type for -setObject:forKeyedSubscript: is now NSObject <NSCopying> *
  • API/JSBase.h:
    • JS_OBJC_API_ENABLED no longer implies OBJC
  • API/JSBlockAdaptor.mm:

(BlockArgumentStruct::BlockArgumentStruct):
(BlockArgumentStruct):

  • mark virtual functions as virtual, override, and private
  • refactor out buffer allocation for struct types

(BlockArgumentTypeDelegate::typeVoid):
(BlockArgumentTypeDelegate::typeBlock):
(BlockArgumentTypeDelegate::typeStruct):

  • return nil -> return 0

(BlockResultStruct::BlockResultStruct):
(BlockResultStruct):

  • mark virtual functions as virtual, override, and private
  • refactor out buffer allocation for struct types

(buildBlockSignature):

  • %lu is not an appropriate format specifier for NSInteger

(-[JSBlockAdaptor initWithBlockSignatureFromProtocol:]):

  • nil check [super init]

(-[JSBlockAdaptor blockMatchesSignature:]):
(-[JSBlockAdaptor blockFromValue:inContext:withException:]):

  • ctx -> contextRef
  • API/JSContext.h:
    • Fix typos in comment
    • Add newline before NS_CLASS_AVAILABLE(10_9, NA)
    • key type for -setObject:forKeyedSubscript: is now NSObject <NSCopying> *
  • API/JSContext.mm:

(-[JSContext initWithVirtualMachine:]):

  • nil check [super init]

(+[JSContext currentArguments]):

  • args -> argumentArray

(-[JSContext setObject:forKeyedSubscript:]):

  • key type for -setObject:forKeyedSubscript: is now NSObject <NSCopying> *

(-[JSContext dealloc]):
(-[JSContext protect:]):
(-[JSContext unprotect:]):

  • m_protected -> m_protectCounts
  • API/JSValue.mm:

(-[JSValue toObjectOfClass:]):

  • cls -> expectedClass

(-[JSValue toBool]):
(-[JSValue deleteProperty:]):
(-[JSValue hasProperty:]):
(-[JSValue isUndefined]):
(-[JSValue isNull]):
(-[JSValue isBoolean]):
(-[JSValue isNumber]):
(-[JSValue isString]):
(-[JSValue isObject]):
(-[JSValue isEqualToObject:]):
(-[JSValue isEqualWithTypeCoercionToObject:]):
(-[JSValue isInstanceOf:]):

  • removed ? YES : NO

(-[JSValue callWithArguments:]):
(-[JSValue constructWithArguments:]):
(-[JSValue invokeMethod:withArguments:]):

  • args -> argumentArray

(+[JSValue valueWithPoint:inContext:]):
(+[JSValue valueWithRange:inContext:]):
(+[JSValue valueWithRect:inContext:]):
(+[JSValue valueWithSize:inContext:]):

  • [NSNumber numberWithFloat:] -> @()

(-[JSValue objectForKeyedSubscript:]):
(-[JSValue setObject:forKeyedSubscript:]):

  • key type for -setObject:forKeyedSubscript: is now NSObject <NSCopying> *

(JSContainerConvertor):
(JSContainerConvertor::isWorkListEmpty):
(JSContainerConvertor::convert):
(ObjcContainerConvertor):
(ObjcContainerConvertor::isWorkListEmpty):

  • remove WTF::
  • isWorkListEmpty is const

(objectToValue):

  • use fast enumeration

(-[JSValue initWithValue:inContext:]):

  • nil check [super init]

(getStructTagHandler):

  • m_structHandlers -> structHandlers
  • API/JSVirtualMachine.h:
    • Add newline before NS_CLASS_AVAILABLE(10_9, NA)
  • API/JSVirtualMachine.mm:

(-[JSVirtualMachine init]):

  • nil check [super init]
  • API/JSWrapperMap.mm:

(selectorToPropertyName):
(copyPrototypeProperties):

  • remove WTF::
  • use static_cast

(-[JSObjCClassInfo initWithContext:forClass:superClassInfo:]):
(-[JSWrapperMap initWithContext:]):

  • nil check [super init]

(-[JSWrapperMap wrapperForObject:]):
(tryUnwrapObjcObject):

  • enable ASSERT

(getJSExportProtocol):
(getNSBlockClass):

  • remove if check on initializing static
  • API/JavaScriptCore.h:
    • JS_OBJC_API_ENABLED no longer implies OBJC
  • API/ObjCCallbackFunction.mm:

(CallbackArgumentOfClass):
(CallbackArgumentOfClass::~CallbackArgumentOfClass):
(CallbackArgumentStruct::CallbackArgumentStruct):
(CallbackArgumentStruct):
(CallbackArgumentBlockCallback):

  • mark virtual functions as virtual, override, and private
  • refactor out buffer allocation for struct types

(ArgumentTypeDelegate::typeVoid):
(ArgumentTypeDelegate::typeOfClass):
(ArgumentTypeDelegate::typeStruct):

  • return nil -> return 0

(CallbackResultStruct::CallbackResultStruct):
(CallbackResultStruct):

  • mark virtual functions as virtual, override, and private
  • refactor out buffer allocation for struct types

(ResultTypeDelegate::typeStruct):

  • return nil -> return 0

(ObjCCallbackFunction):

  • remove WTF::

(objCCallbackFunctionFinalize):

  • use static_cast

(objCCallbackFunctionCallAsFunction):

  • Fix typos in comment

(createObjCCallbackFunctionClass):
(objCCallbackFunctionClass):

  • Split out createObjCCallbackFunctionClass from objCCallbackFunctionClass

(ObjCCallbackFunction::call):

  • ctx -> contextRef

(blockSignatureContainsClass):

  • Remove tri-state enum.

(skipNumber):

  • isdigit -> isASCIIDigit

(objCCallbackFunctionForInvocation):

  • clean up & comment blockSignatureContainsClass() usage

(tryUnwrapBlock):

  • use static_cast
  • API/ObjcRuntimeExtras.h:

(forEachProtocolImplementingProtocol):
(forEachMethodInClass):
(forEachMethodInProtocol):
(forEachPropertyInProtocol):

  • Remove WTF::
  • Remove if (count) checks

(skipPair):

  • NSUInteger -> size_t

(StringRange):
(StringRange::operator const char*):
(StringRange::get):
(StructBuffer):
(StructBuffer::StructBuffer):
(StructBuffer::~StructBuffer):
(StructBuffer::operator void*):

  • Added helper for creating an aligned buffer, used by struct conversion invocations.

(parseObjCType):

  • *(position++) -> *position++
  • API/tests/testapi.c:
    • PLATFORM(MAC) -> JS_OBJC_API_ENABLED
  • API/tests/testapi.m:

(blockSignatureContainsClass):

  • Remove tri-state enum.

(testObjectiveCAPI):

  • Added more result type checks.
3:32 PM Changeset in webkit [138663] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a failing test expectation to a test added by r136697.
The failure is tracked by the bug 105960.

  • platform/mac-wk2/TestExpectations:
3:23 PM Changeset in webkit [138662] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a failing test expectations to a test added by r132411.
The patch updated DumpRenderTree but didn't update WebKitTestRunner.
The failure is tracked by the bug 105958.

  • platform/mac-wk2/TestExpectations:
3:15 PM Changeset in webkit [138661] by tony@chromium.org
  • 23 edits in trunk

Generate internal.settings from Settings.in
https://bugs.webkit.org/show_bug.cgi?id=104740

Reviewed by Adam Barth.

.:

  • Source/cmake/WebKitMacros.cmake: Specify additional output files from make_settings.pl.

Source/WebCore:

If the setting is declared in Settings.in and is a basic type, generate a
setter function at internals.settings.

InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
inherits from InternalSettingsGenerated.idl so we can override generated functions if
needed or add additional custom setters.

This patch removes 2 password echo methods from InternalSettings.idl since they are
auto generated. There are other methods we could remove, but I'll do that in a followup.

No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.

  • CMakeLists.txt: Add generated cpp file to the testing lib.
  • DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
  • DerivedSources.pri: Generate idl file before generating bindings and include generated idl

for bindings generation.

  • GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to

list of files to be processed and resulting output to be compiled.

  • UseJSC.cmake: Add generated idl file to list of idl files to process.
  • UseV8.cmake: Same as UseJSC.cmake.
  • WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the

bindings generator.

  • WebCore.gypi: Add new files.
  • WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • bindings/scripts/CodeGenerator.pm:

(IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
find the generated idl file.

  • page/make_settings.pl:

(generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
(generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
(setterFunctionName): Helper function for naming a setter.
(printGetterAndSetter): Use setterFunctionName.
(enumerateParsedItems): Helper function that visits each parsed item.
(generateInternalSettingsIdlFile): Generate idl file.
(generateInternalSettingsHeaderFile): Generate header file.
(generateInternalSettingsCppFile): Generate C++ file.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup): Remove password echo members.
(WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
(InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
which uses an OwnPtr.
(WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
(WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
(WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
(WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
(WebCore::InternalSettings::InternalSettings): Call base class constructor.
(WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).

  • testing/InternalSettings.h:

(Backup): Remove password echo members.
(WebCore::InternalSettings::create): Create an instance instead of using new.
(WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
RefCountedSupplemental has.

  • testing/InternalSettings.idl: Extends InternalSettingsGenerated.
  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.

  • testing/v8/WebCoreTestSupport.cpp:

(WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
Remove an unused header.

Tools:

  • GNUmakefile.am: Compile new generated files on GTK+.
  • qmake/mkspecs/features/default_post.prf: Qt: Make it so an action

with both extra_sources and add_output_to_sources=false will still
compile the files in extra_sources. This makes it possible to compile
InternalSettingsGenerated.cpp and not be confused by
InternalSettingsGenerated.idl.

3:15 PM Changeset in webkit [138660] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a Mac WebKit2 test expectation for the bug 105954.

  • platform/mac-wk2/TestExpectations:
3:06 PM Changeset in webkit [138659] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a failing test expectation for the bug 105954.

  • platform/mac-wk2/TestExpectations:
3:06 PM Changeset in webkit [138658] by abarth@webkit.org
  • 7 edits in trunk/Source/WebCore

HTML preload scanner doesn't need to remember whether we're scanning the body
https://bugs.webkit.org/show_bug.cgi?id=105945

Reviewed by Eric Seidel.

As far as I can tell, no one uses this state.

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::CSSPreloadScanner):
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::emitRule):

  • html/parser/CSSPreloadScanner.h:

(CSSPreloadScanner):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::PreloadTask::preload):
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
(WebCore::HTMLPreloadScanner::processToken):

  • html/parser/HTMLPreloadScanner.h:

(HTMLPreloadScanner):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::preload):

  • loader/cache/CachedResourceLoader.h:

(CachedResourceLoader):

3:03 PM Changeset in webkit [138657] by inferno@chromium.org
  • 3 edits in trunk/Source/WebCore

Crash in WebCore::Element::cloneElementWithoutChildren.
https://bugs.webkit.org/show_bug.cgi?id=105949

Reviewed by Ryosuke Niwa.

RefPtr |ancestors| vector since its elements can be destroyed from mutation events
fired in CompositeEditCommand::appendNode.

No new tests. The testcase relies on recursive DOM mutations and does not minimize.

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
(WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
(WebCore::InsertParagraphSeparatorCommand::doApply):

  • editing/InsertParagraphSeparatorCommand.h:

(InsertParagraphSeparatorCommand):

3:00 PM Changeset in webkit [138656] by roger_fong@apple.com
  • 1 edit
    2 adds in trunk/Source/WebKit/win

Unreviewed. Build fix after reintroducing r138331.

Attempted to remove WebKit2 from Apple Windows port in r138331 but two vsprops files were missing.

  • WebKit.vcproj/WebKitApple.vsprops: Added.
  • WebKit.vcproj/WebKitDirectX.vsprops: Added.
3:00 PM Changeset in webkit [138655] by weinig@apple.com
  • 5 edits
    2 adds in trunk/Source/WebKit2

Factor out NetworkProcess initialization into its own function in preparation of adding a NetworkProcess service
https://bugs.webkit.org/show_bug.cgi?id=105946

Reviewed by Brady Eidson.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/mac/NetworkProcessInitialization.h: Added.

(NetworkProcessInitializationParameters):

  • NetworkProcess/mac/NetworkProcessInitialization.mm: Added.

(WebKit::initializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::initializeSandbox):
(WebKit::NetworkProcess::platformInitialize):

  • NetworkProcess/mac/NetworkProcessMainMac.mm:

(WebKit::NetworkProcessMain):

  • WebKit2.xcodeproj/project.pbxproj:
2:52 PM Changeset in webkit [138654] by commit-queue@webkit.org
  • 8 edits
    1 move
    14 adds
    3 deletes in trunk

Crash in WebCore::InlineBox::deleteLine
https://bugs.webkit.org/show_bug.cgi?id=93448

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2013-01-02
Reviewed by Eric Seidel.

Source/WebCore:

When we ran off the end of the line while looking for line breaks in an
inline with white-space:nowrap nested in a block with white-space:pre
it was possible for the line break to be set at or before the current
position -- this could result in duplications in the render tree or
infinite looping.

This patch changes the "fixup" logic that runs after we have finished
iterating through elements and text and have potentially found a break
point. In the case of a block setting white-space:pre we would back up
a character in some cases. Not doing so could leave whitespace that
should have been collapsed at the end of an inline.

For example in '<span style="white-space:nowrap">x_</span>_y' if a
break was inserted before 'y' the space after 'x' would still be
rendered (rather than be collapsed with the break).

To avoid this problem we will not take the opportunity to break until
we have finished collapsing whitespace.

Tests: fast/text/whitespace/inline-whitespace-wrapping-1.html

fast/text/whitespace/inline-whitespace-wrapping-2.html
fast/text/whitespace/inline-whitespace-wrapping-3.html
fast/text/whitespace/inline-whitespace-wrapping-4.html
fast/text/whitespace/nowrap-white-space-collapse.html
fast/text/whitespace/pre-block-normal-inline-crash-1.html
fast/text/whitespace/pre-block-normal-inline-crash-2.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::nextLineBreak): Collapse
whitespace before breaking. Avoid setting the break before the current
position.

LayoutTests:

  • editing/deleting/delete-block-table-expected.txt:
  • editing/execCommand/selectAll-expected.txt: Renamed from LayoutTests/platform/chromium/editing/execCommand/selectAll-expected.txt.
  • fast/text/whitespace/inline-whitespace-wrapping-1-expected.html: Added.
  • fast/text/whitespace/inline-whitespace-wrapping-1.html: Added.
  • fast/text/whitespace/inline-whitespace-wrapping-2-expected.html: Added.
  • fast/text/whitespace/inline-whitespace-wrapping-2.html: Added.
  • fast/text/whitespace/inline-whitespace-wrapping-3-expected.html: Added.
  • fast/text/whitespace/inline-whitespace-wrapping-3.html: Added.
  • fast/text/whitespace/inline-whitespace-wrapping-4-expected.html: Added.
  • fast/text/whitespace/inline-whitespace-wrapping-4.html: Added.
  • fast/text/whitespace/nowrap-white-space-collapse-expected.html: Added.
  • fast/text/whitespace/nowrap-white-space-collapse.html: Added.
  • fast/text/whitespace/pre-block-normal-inline-crash-1-expected.txt: Added.
  • fast/text/whitespace/pre-block-normal-inline-crash-1.html: Added.
  • fast/text/whitespace/pre-block-normal-inline-crash-2-expected.txt: Added.
  • fast/text/whitespace/pre-block-normal-inline-crash-2.html: Added.
  • platform/chromium-win/editing/deleting/delete-to-select-table-expected.txt:
  • platform/chromium-win/editing/execCommand/print-expected.txt:
  • platform/chromium-win/editing/execCommand/selectAll-expected.txt:
  • platform/chromium-win/editing/inserting/editable-html-element-expected.txt:
  • platform/efl/editing/execCommand/selectAll-expected.txt: Removed.
  • platform/gtk/editing/execCommand/selectAll-expected.txt: Removed.
  • platform/mac/editing/execCommand/selectAll-expected.txt: Removed.
2:45 PM Changeset in webkit [138653] by ojan@chromium.org
  • 4 edits in trunk/Websites/bugs.webkit.org

REGRESSION: Review tool sometimes doesn't include some comments in preview & posts
https://bugs.webkit.org/show_bug.cgi?id=105252

Reviewed by Tony Chang.

When adding context, the LineContainer for the context line can get removed.
In that case, forEachLine needs to know to keep looping past that line number.

Also, make it so that you can't leave comments on context lines.

  • code-review-test.html:
  • code-review.js:
2:41 PM Changeset in webkit [138652] by yoli@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Cached frame shouldn't access the page when being destroyed
https://bugs.webkit.org/show_bug.cgi?id=105942

Reviewed by George Staikos.

In order to prevent our FrameLoaderClient from dangling WebPagePrivate object in any case,
this patches clear the m_webPagePrivate pointer when the frame is detached or cached.

RIM PR# 272137.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::isMainFrame):
(WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
(WebCore::FrameLoaderClientBlackBerry::didSaveToPageCache):
(WebCore::FrameLoaderClientBlackBerry::didRestoreFromPageCache):

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

DFG should not use the InlineCallFrame's callee when it could have used the executable istead
https://bugs.webkit.org/show_bug.cgi?id=105947

Reviewed by Mark Hahnenberg.

We shouldn't use the callee to get the executable when we have the executable already. Not only
does this make the logic more clear, but it also allows for a world where the executable is known
but the callee isn't.

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::strictModeFor):

2:34 PM Changeset in webkit [138650] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a test expectation for the bug 105952.

  • platform/wk2/TestExpectations:
2:27 PM Changeset in webkit [138649] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Unreviewed, rolling out r138403.
http://trac.webkit.org/changeset/138403
https://bugs.webkit.org/show_bug.cgi?id=105950

Fixing e138331 which was rolled out in r138403 (Requested by
rfong on #webkit).

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

Source/WebKit/win:

  • WebKit.vcproj/WebKit.sln:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKitLibCommon.vsprops:
  • WebKit.vcproj/WebKitLibDebug.vsprops:
  • WebKit.vcproj/WebKitLibDebugAll.vsprops:
  • WebKit.vcproj/WebKitLibProduction.vsprops:
  • WebKit.vcproj/WebKitLibRelease.vsprops:

Source/WebKit2:

  • win/WebKit2.def.in:
2:23 PM Changeset in webkit [138648] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add a failing test expectation to a test added by r138380 on Mac WK2.
The failure is tracked by the bug 105948.

  • platform/mac-wk2/TestExpectations:
2:14 PM Changeset in webkit [138647] by scherkus@chromium.org
  • 1 edit in branches/chromium/1364/LayoutTests/platform/chromium/TestExpectations

Merge 138289

[Chromium] Restore WebM EME canPlayType() expectations.
https://bugs.webkit.org/show_bug.cgi?id=105070

Unreviewed TestExpectations revert of r137225.

Patch by David Dorwin <ddorwin@chromium.org> on 2012-12-20

  • platform/chromium/TestExpectations:

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11748009

2:14 PM Changeset in webkit [138646] by abarth@webkit.org
  • 13 edits in trunk/Source/WebCore

Remove webkitPostMessage
https://bugs.webkit.org/show_bug.cgi?id=105910

Reviewed by Kentaro Hara.

The vendor-prefixed version of postMessage was never widely used.
We've been compiling it out of the Chromium port for a while now and
haven't received any reports of compatibility problems. I've done a
number of web searches for uses of the API and personally contacted a
handful of authors I found using the API, all of whom have now moved to
the identical unprefixed API. We've publicied the prefix removal in a
blog post:

http://blog.chromium.org/2012/11/a-web-developers-guide-to-latest-chrome.html

and discussed it on webkit-dev:

http://lists.macosforge.org/pipermail/webkit-dev/2012-September/022189.html

We've done our diligence, and now we should remove the API from the
remainder of the ports.

  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/js/JSDedicatedWorkerContextCustom.cpp:
  • bindings/js/JSMessagePortCustom.cpp:
  • bindings/js/JSWorkerCustom.cpp:
  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::V8DOMWindow::postMessageCallback):

  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:

(WebCore::V8DedicatedWorkerContext::postMessageCallback):

  • bindings/v8/custom/V8MessagePortCustom.cpp:

(WebCore::V8MessagePort::postMessageCallback):

  • bindings/v8/custom/V8WorkerCustom.cpp:

(WebCore::V8Worker::postMessageCallback):

  • dom/MessagePort.idl:
  • page/DOMWindow.idl:
  • workers/DedicatedWorkerContext.idl:
  • workers/Worker.idl:
2:11 PM Changeset in webkit [138645] by tsepez@chromium.org
  • 2 edits
    2 adds in trunk/LayoutTests

X-XSS-Protection report-uri doesn't work with mode=block
https://bugs.webkit.org/show_bug.cgi?id=105907

Reviewed by Adam Barth.

Appears to work as-is, but the test was missing for this case. Checking
for completion is complicated by the frame navigating to about:blank, rather
than the echo-report page, so check it from the parent frame.

  • http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt: Added.
  • http/tests/security/xssAuditor/report-script-tag-full-block.html: Added.
  • http/tests/security/xssAuditor/resources/echo-intertag.pl:
2:06 PM Changeset in webkit [138644] by tdanderson@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Mark webaudio/automatic-pull-node.html as Timeout for XP
https://bugs.webkit.org/show_bug.cgi?id=105941

Unreviewed gardening.

  • platform/chromium/TestExpectations:
2:03 PM Changeset in webkit [138643] by rniwa@webkit.org
  • 4 edits in trunk/LayoutTests

Rebaseline tests after r137798 and update test expectations per bug 105943.

  • platform/mac-wk2/TestExpectations:
  • platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
  • platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
1:33 PM Changeset in webkit [138642] by adamk@chromium.org
  • 1 edit in branches/chromium/1364/Source/WebKit/chromium/features.gypi

Turn off ENABLE_TEMPLATE_ELEMENT
Review URL: https://codereview.chromium.org/11635022

1:28 PM Changeset in webkit [138641] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG inliner should not use the callee's bytecode variable for resolving references to the callee in inlined code
https://bugs.webkit.org/show_bug.cgi?id=105938

Reviewed by Mark Hahnenberg.

This simplifies a bunch of code for referring to the callee. It also ought to simplify how we do
closure call inlining: for inlined closure call frames we will simply require that the callee is
already stashed on the stack in the Callee slot in the inline call frame header.

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getDirect):
(JSC::DFG::ByteCodeParser::get):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):

1:19 PM Changeset in webkit [138640] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Optimize TransformationMatrix::multiply() for x86_64
https://bugs.webkit.org/show_bug.cgi?id=105719

Reviewed by Sam Weinig.

On x86_64, we have access to 16 XMM registers. This can hold 32 double values.
We can use that in two ways to optimize matrix multiplications:
-Keep the source matrix completely in registers. Write the result directly in

the source matrix's memory. This avoids the memcpy at the end of the multiplication
and various memory operations.

-Use SIMD with SSE to perform 2 operations at a time.

The parameter from the second matrix are loaded one by one in XMM registers.
Loading them with SSE then shuffling the values perform worse than loading
one by one.

This is only enabled on 64bits as x86 only has access to 8 XMM registers and
the function should be written differently.

On a i5, TransformationMatrix::multiply() perform about 3 times faster with the change.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::multiply):

  • platform/graphics/transforms/TransformationMatrix.h:

(TransformationMatrix): Fix an incorrect comment. Unify the comment with the cpp file.

1:13 PM Changeset in webkit [138639] by mkwst@chromium.org
  • 2 edits in trunk/Source/WebCore

Clean up the loadXXXStyle() idiom in StyleResolver.
https://bugs.webkit.org/show_bug.cgi?id=105903

Reviewed by Darin Adler.

This patch refactors 'loadViewSourceStyle' in order to avoid the
necessity of each call site checking whether the relevant data has
been loaded. The new 'viewSourceStyle' will load the data if required,
and return a pointer which can be used directly.

No new tests, as this refactoring should exhibit no visible change in
behavior.

  • css/StyleResolver.cpp:

(WebCore::viewSourceStyle):

Lazily populate the static 'defaultViewSourceStyle' with data. I
haven't removed the outer variable, as it's used directly in
StyleResolver::reportMemoryUsage.

(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectFeatures):

Use the new hotness rather than the old, lame method.

12:49 PM Changeset in webkit [138638] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

Yet another Windows build fix attempt. Try exporting more symbols.

  • win/WebKit2.def.in:
12:48 PM Changeset in webkit [138637] by esprehn@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

View source mode is missing the processing instruction line.
https://bugs.webkit.org/show_bug.cgi?id=15961

Reviewed by Adam Barth.

Add a test for XML documents shown in viewsource mode. The bug
with the missing processing instruction line was fixed long
ago with the HTML5 parser rewrite so this just adds a test.

  • fast/frames/viewsource-xml-expected.txt: Added.
  • fast/frames/viewsource-xml.html: Added.
12:40 PM Changeset in webkit [138636] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Another Windows port build fix attempt. Try not exporting this symbol from JSC
since it's also compiled in WebCore.

12:39 PM Changeset in webkit [138635] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r138464): Safari hangs when opening Privacy preferences
https://bugs.webkit.org/show_bug.cgi?id=105933

Reviewed by Sam Weinig.

Quick and dirty fix - added a special case for main thread. But I'm not sure if
dispatch_sync on main queue is really the best idiom here.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::getPluginInfoFromCarbonResources):

12:37 PM Changeset in webkit [138634] by abarth@webkit.org
  • 8 edits in trunk/Tools

Remove old-run-webkit-tests support from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=105619

Reviewed by Eric Seidel.

This patch removes support for webkitpy parsing the
old-run-webkit-tests results format. There doesn't seem to be any
reason to keep this code around anymore now that most bots have
switched to new-run-webkit-tests.

  • Scripts/webkitpy/common/net/buildbot/buildbot.py:

(Builder.fetch_layout_test_results):

  • Scripts/webkitpy/common/net/layouttestresults.py:

(path_for_layout_test):
(LayoutTestResults.results_from_string):
(LayoutTestResults):

  • Scripts/webkitpy/common/net/layouttestresults_unittest.py:

(LayoutTestResultsTest.test_results_from_string):

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

(test_flaky_test_failure):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(LayoutTestResultsReaderTest.test_missing_layout_test_results):

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

(PatchAnalysisTask._test_patch):

  • Scripts/webkitpy/tool/commands/queuestest.py:

(QueuesTest.assert_queue_outputs):

12:33 PM Changeset in webkit [138633] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r138627.
http://trac.webkit.org/changeset/138627
https://bugs.webkit.org/show_bug.cgi?id=105935

This patch doesn't fix Windows port build failure (Requested
by rniwa on #webkit).

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

  • WebCore.vcproj/WebCore.vcproj:
12:31 PM Changeset in webkit [138632] by esprehn@chromium.org
  • 9 edits
    4 adds in trunk

Transitions and animations do not apply to CSS ::before and ::after pseudo-elements
https://bugs.webkit.org/show_bug.cgi?id=92591

Reviewed by Eric Seidel.

.:

Expose Element::pseudoElement for Internals.

  • Source/autotools/symbols.filter:

Source/WebCore:

The new DOM based :before and :after pseudo elements support animations
and transitions already, but I had disabled support so we could turn them
on in a separate step. This patch just removes the checks and adds tests.

This also adds two methods to internals to allow pausing animations and
transitions on pseudo elements at predictable locations so the tests
are not flaky.

Tests: fast/css-generated-content/pseudo-animation.html

fast/css-generated-content/pseudo-transition.html

  • WebCore.exp.in:
  • page/animation/AnimationController.cpp:

(WebCore::AnimationController::updateAnimations):

  • testing/Internals.cpp:

(WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
(WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

LayoutTests:

Add tests that check if animations and transitions play for pseudo
:before and :after pseudo elements.

  • fast/css-generated-content/pseudo-animation-expected.txt: Added.
  • fast/css-generated-content/pseudo-animation.html: Added.
  • fast/css-generated-content/pseudo-transition-expected.txt: Added.
  • fast/css-generated-content/pseudo-transition.html: Added.
12:27 PM Changeset in webkit [138631] by crogers@google.com
  • 14 edits
    2 copies in trunk

Implement WebIDL-style string constants in WebAudio
https://bugs.webkit.org/show_bug.cgi?id=105058

Reviewed by Kentaro Hara.

Source/WebCore:

See Deprecation Notes for more detail:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes

PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
Legacy support in the setters for the old integer values should be supported.

This patch handles the changes for OscillatorNode.

  • GNUmakefile.list.am:
  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::OscillatorNode):
(WebCore::OscillatorNode::type):
(WebCore):
(WebCore::OscillatorNode::setType):

  • Modules/webaudio/OscillatorNode.h:
  • Modules/webaudio/OscillatorNode.idl:
  • Target.pri:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSOscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.

(WebCore):
(WebCore::JSOscillatorNode::setType):

  • bindings/v8/custom/V8OscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.

(WebCore):
(WebCore::V8OscillatorNode::typeAccessorSetter):

LayoutTests:

  • webaudio/oscillator-basic-expected.txt:
  • webaudio/oscillator-basic.html:
  • webaudio/resources/audio-testing.js:
12:18 PM Changeset in webkit [138630] by robert@webkit.org
  • 3 edits
    2 adds in trunk

Regression (r132935): WebKit breaks between <nobr> tags
https://bugs.webkit.org/show_bug.cgi?id=11857

Reviewed by David Hyatt.

Source/WebCore:

The fix for bug 29648 in http://trac.webkit.org/changeset/132935 was too broad - it caused us
to find linebreaks in autowrap containers between non-wrapping elements where there was no
whitespace to allow the break. This reverts the code change in r132935 and ensures we attempt
to move below floats when inside an autowrap container but leaves the treatment of non-wrapping
elements in an autowrap container unaffected.

Test: fast/inline/break-between-nobr.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

LayoutTests:

  • fast/inline/break-between-nobr-expected.html: Added.
  • fast/inline/break-between-nobr.html: Added.
12:16 PM Changeset in webkit [138629] by rjkroege@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Use top level field for gesture event source
https://bugs.webkit.org/show_bug.cgi?id=105664

Reviewed by Adam Barth.

Previously, only GestureFlingStart subtypes of WebGestureEvent
had a deviceSource flag. A previous CL added a top-level
deviceSource field for all WebGestureEvent. Now that this field
is populated in Chromium, use it as necessary in the Chromium
WebKit layer.

No new tests: covered by existing tests.

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

  • tests/WebCompositorInputHandlerImplTest.cpp:

(WebKit::TEST_F):

12:00 PM Changeset in webkit [138628] by abarth@webkit.org
  • 2 edits in trunk/Source/WTF

WTF.gypi lists Platform.h twice
https://bugs.webkit.org/show_bug.cgi?id=105731

Reviewed by Tony Chang.

Once ought to be enough for everybody.

  • WTF.gypi:
11:48 AM Changeset in webkit [138627] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Another Windows port build fix attempt. Don't try to build WTF files in WebCore.

Rubber-stamped by Sam Weinig.

  • WebCore.vcproj/WebCore.vcproj:
11:28 AM Changeset in webkit [138626] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

Don't include a header that has been removed in r138413.

  • WebProcess/win/WebProcessWin.cpp:
11:27 AM Changeset in webkit [138625] by mkwst@chromium.org
  • 4 edits
    29 adds
    2 deletes in trunk/LayoutTests

sandboxed iframe attribute parsing layout tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=104848

Reviewed by Adam Barth.

This patch breaks the monolithic sandboxed-iframe-attribute-parsing.html
test into separate tests for each case. The flaky failures were due to
one of the 14 frames loading out of order, which shifted console message
positions around. Breaking them into separate tests should both speed up
the tests, as more can run in parallel, and solve the flake.

  • fast/frames/resources/sandboxed-iframe-attribute-test.js: Added.

(fail):
(setStatus):
(allowedCallFromSandbox):
(disallowedCallFromSandbox):
(disallowedFormSubmitted):
(window.onload):

  • fast/frames/sandboxed-iframe-attribute-parsing-01-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-01.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-02-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-02.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-03-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-03.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-04-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-04.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-05-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-05.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-06-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-06.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-07-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-07.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-08-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-08.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-09-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-09.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-10-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-10.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-11-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-11.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-12-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-12.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-13-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-13.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-14-expected.txt: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-14.html: Added.
  • fast/frames/sandboxed-iframe-attribute-parsing-expected.txt: Removed.
  • fast/frames/sandboxed-iframe-attribute-parsing.html: Removed.
  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt-arm/TestExpectations:
11:15 AM Changeset in webkit [138624] by mkwst@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

Sandboxed iframes should not be granted notification permission of the parent frame unless allow-same-origin is specified
https://bugs.webkit.org/show_bug.cgi?id=36732

Reviewed by Adam Barth.

The behavior was fixed in wkbug.com/79704, but there aren't currently
any tests ensuring that it doesn't regress for sandboxed frames. This
patch adds one.

  • fast/notifications/notifications-sandbox-permission-expected.txt: Added.
  • fast/notifications/notifications-sandbox-permission.html: Added.
  • fast/notifications/resources/notifications-iframe.html: Added.
11:10 AM Changeset in webkit [138623] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update Mac test expectation per bug 105932.

  • platform/mac/TestExpectations:
9:42 AM Changeset in webkit [138622] by Carlos Garcia Campos
  • 9 edits in trunk/Source/WebKit2

[WK2] Rename SetFrameInViewSourceMode to SetMainFrameInViewSourceMode
https://bugs.webkit.org/show_bug.cgi?id=105885

Reviewed by Martin Robinson.

This way we don't depend on a WebFrameProxy and
webkit_web_view_set_view_mode() works even if the main frame proxy
hasn't been created yet.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_set_view_mode): Call
WebPageProxy::setMainFrameInViewSourceMode() directly.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::WebFrameProxy): Remove
setInViewSourceMode().

  • UIProcess/WebFrameProxy.h:

(WebFrameProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setMainFrameInViewSourceMode):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setMainFrameInViewSourceMode):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
9:10 AM Changeset in webkit [138621] by caio.oliveira@openbossa.org
  • 6 edits in trunk/Source/WebKit2

[Qt] Use WebPageGroup to create user scripts instead of Qt-specific function in WebPage
https://bugs.webkit.org/show_bug.cgi?id=105921

Reviewed by Simon Hausmann.

After r131281 the WebPageGroup.h (in UIProcess) exposes a way to add user scripts, so we can
use this directly to implement the user script functionality in Qt. The previous solution was
a Qt-port specific function in WebPage that can be removed now.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::updateUserScripts): Use WebPageGroup functions to manipulate user scripts directly.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Remove now unused function.

  • UIProcess/qt/WebPageProxyQt.cpp: Ditto.
  • WebProcess/WebPage/WebPage.messages.in: Ditto.
  • WebProcess/WebPage/qt/WebPageQt.cpp: Remove now unused function and headers.
8:46 AM Changeset in webkit [138620] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[EFL] [WebGL] Minor cleanup in PlatformContext.
https://bugs.webkit.org/show_bug.cgi?id=105872

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-02
Reviewed by Kenneth Rohde Christiansen.

The logic to check for supported extensions is scattered in different classes i.e PlatformContext, eglcontext etc.
This patch cleans up any duplicate code and adds new api in GLPlatformContext to query for supported GL, EGL and GLX extensions.

  • PlatformEfl.cmake:
  • platform/graphics/opengl/GLPlatformContext.cpp:

(WebCore):
(WebCore::GLPlatformContext::createContext):
(WebCore::GLPlatformContext::supportsGLExtension):
(WebCore::GLPlatformContext::supportsEGLExtension):
(WebCore::GLPlatformContext::supportsGLXExtension):
(WebCore::GLPlatformContext::makeCurrent):
(WebCore::GLPlatformContext::initializeResetStatusExtension):

  • platform/graphics/opengl/GLPlatformContext.h:
  • platform/graphics/surfaces/egl/EGLContext.cpp:

(WebCore::isRobustnessExtSupported):
(WebCore::EGLOffScreenContext::initialize):

  • platform/graphics/surfaces/glx/GLXContext.cpp:

(WebCore::initializeARBExtensions):
(WebCore::GLXOffScreenContext::initialize):

8:42 AM Changeset in webkit [138619] by nghanavatian@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use fatfingers result when checking for misspelled words
https://bugs.webkit.org/show_bug.cgi?id=105923

Reviewed by Yong Li.

PR270866
Currently we are using the raw touch point when checking to see if spell check
is required on a word. When tapping close to a boundary, the raw point can be
placed off but fatfingers moves the point onto the word. This causes the caret
to be placed on a word but no spell check request triggered.

Internally reviewed by Mike Fenton and Tiancheng Jiang

  • WebKitSupport/TouchEventHandler.cpp:

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

7:05 AM Changeset in webkit [138618] by commit-queue@webkit.org
  • 11 edits
    4 adds in trunk

Source/WebKit2: [Qt][WK2] Add experimental API to find text from page
https://bugs.webkit.org/show_bug.cgi?id=96481

Patch by Heikki Paajanen <heikki.paajanen@palm.com> on 2013-01-02
Reviewed by Jocelyn Turcotte.

Expose findString and PageFindClient provided functionality to QtQuick
applications.

  • Target.pri:
  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initialize):
(QQuickWebViewExperimental::findText):
(QQuickWebViewPrivate::didFindString):

  • UIProcess/API/qt/qquickwebview_p.h:

(WebKit):

  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate):

  • UIProcess/API/qt/tests/qmltests/WebView/tst_findText.qml: Added.
  • UIProcess/qt/QtWebPageFindClient.cpp: Added.

(WebKit):
(WebKit::QtWebPageFindClient::QtWebPageFindClient):
(WebKit::QtWebPageFindClient::didFindString):
(WebKit::toQtWebPageFindClient):
(WebKit::QtWebPageFindClient::didFailToFindString):

  • UIProcess/qt/QtWebPageFindClient.h: Added.

(WebKit):
(QtWebPageFindClient):

Tools: [Qt][WK2] Add simple UI to find text from page
https://bugs.webkit.org/show_bug.cgi?id=96481

Patch by Heikki Paajanen <heikki.paajanen@palm.com> on 2013-01-02
Reviewed by Jocelyn Turcotte.

Find bar that slides between navigation bar and WebView.

  • MiniBrowser/qt/BrowserWindow.cpp:

(BrowserWindow::toggleFind):

  • MiniBrowser/qt/BrowserWindow.h:

(BrowserWindow):

  • MiniBrowser/qt/MiniBrowser.qrc:
  • MiniBrowser/qt/MiniBrowserApplication.cpp:

(MiniBrowserApplication::notify):

  • MiniBrowser/qt/icons/find.png: Added.
  • MiniBrowser/qt/qml/BrowserWindow.qml:
6:16 AM Changeset in webkit [138617] by Christophe Dumez
  • 3 edits in trunk/Tools

Regression(r138603): Caused 2 webkitpy tests to fail
https://bugs.webkit.org/show_bug.cgi?id=105913

Reviewed by Kentaro Hara.

Fix 2 webkitpy tests that started to fail after
r138603.

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest._sheriff_test_data_url): Make sure the
returned test file URL is valid no matter what the
current working directory is.

  • Scripts/webkitpy/tool/bot/ircbot_unittest.py:

(IRCBotTest.test_help): Add "sheriffs" command to the
list of available commands.

4:19 AM Changeset in webkit [138616] by commit-queue@webkit.org
  • 4 edits
    3 deletes in trunk

Unreviewed, rolling out r138601.
http://trac.webkit.org/changeset/138601
https://bugs.webkit.org/show_bug.cgi?id=105917

Also not an optimal solution, needs more discussion.
(Requested by mkwst_ on #webkit).

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

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::finishedParsing):

LayoutTests:

  • fast/frames/seamless/resources/span.html: Removed.
  • fast/frames/seamless/seamless-contenteditable-not-inherited-expected.txt:
  • fast/frames/seamless/seamless-srcdoc-expected.txt: Removed.
  • fast/frames/seamless/seamless-srcdoc.html: Removed.
4:07 AM Changeset in webkit [138615] by commit-queue@webkit.org
  • 14 edits
    3 deletes in trunk

Unreviewed, rolling out r138611.
http://trac.webkit.org/changeset/138611
https://bugs.webkit.org/show_bug.cgi?id=105916

Not an optimal solution, needs more discussion. (Requested by
mkwst_ on #webkit).

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

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.vcproj/WebCore.vcproj:
  • css/StyleResolver.cpp:

(WebCore):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectFeatures):
(WebCore::StyleResolver::reportMemoryUsage):

  • css/seamless.css: Removed.

LayoutTests:

  • fast/frames/seamless/resources/nested-seamless.html:
  • fast/frames/seamless/resources/quirks-square.html:
  • fast/frames/seamless/resources/two-inline-blocks.html:
  • fast/frames/seamless/seamless-body-margin-expected.txt: Removed.
  • fast/frames/seamless/seamless-body-margin.html: Removed.
  • fast/frames/seamless/seamless-inherited-origin-expected.txt:
  • fast/frames/seamless/seamless-inherited-origin.html:
3:24 AM Changeset in webkit [138614] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[AC] Memory leak in GraphicsSurfacePrivate::findFBConfigWithAlpha()
https://bugs.webkit.org/show_bug.cgi?id=105770

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-01-02
Reviewed by Noam Rosenthal.

Free the memory returned by glXGetVisualFromFBConfig() using
XFree to avoid a memory leak.

No new tests. No change in behavior.

  • platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:

(WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):

2:09 AM Changeset in webkit [138613] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Regression(r138607): Causes crashes related to WebIconDatabase
https://bugs.webkit.org/show_bug.cgi?id=105909

Reviewed by Gyuyoung Kim.

Add back WebIconDatabase initialization statement
in WebContext constructor. It was removed in
r138607 and causing a lot of crashes on WebKit2.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):

1:43 AM Changeset in webkit [138612] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

One more unreviewed buildfix after r138609.

  • jit/JITCall.cpp: Add a missing include.
1:17 AM Changeset in webkit [138611] by mkwst@chromium.org
  • 14 edits
    3 adds in trunk

The 'body' of seamless IFrames should default to 'margin: 0'
https://bugs.webkit.org/show_bug.cgi?id=90834

Reviewed by Eric Seidel.

Source/WebCore:

Documents displayed in seamless iframes should override the 'body'
element's normal 8px default margins with 0px, in order to ensure that
contents are displayed flush with the boundries of the seamless box.[1]

This patch does so by adding a new user agent stylesheet for seamless
documents, and teaching the StyleResolver how and when to apply it.

[1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html

Test: fast/frames/seamless/seamless-body-margin.html

  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.vcproj/WebCore.vcproj:
  • CMakeLists.txt:

Added a new CSS file! Let's tell everyone!

  • css/StyleResolver.cpp:

(WebCore):
(WebCore::loadSeamlessStyle):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectFeatures):
(WebCore::StyleResolver::reportMemoryUsage):

Load the new stylesheet, and apply it to the document in
matchUARules iff the document should be displayed seamlessly.

  • css/seamless.css: Added.

(body):

Stylesheet containing defaults for seamless documents.

LayoutTests:

  • fast/frames/seamless/seamless-body-margin-expected.txt: Added.
  • fast/frames/seamless/seamless-body-margin.html: Added.

New test to explicitly check 'body' margins.

  • fast/frames/seamless/resources/nested-seamless.html:
  • fast/frames/seamless/resources/quirks-square.html:
  • fast/frames/seamless/resources/two-inline-blocks.html:
  • fast/frames/seamless/seamless-inherited-origin-expected.txt:
  • fast/frames/seamless/seamless-inherited-origin.html:

Updated these tests to remove the assumption that the body had an
8px margin.

1:07 AM Changeset in webkit [138610] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed buildfix after r138609.

  • jit/JITCall32_64.cpp: Add a missing include.
12:48 AM Changeset in webkit [138609] by fpizlo@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

Baseline JIT should have closure call caching
https://bugs.webkit.org/show_bug.cgi?id=105900

Reviewed by Gavin Barraclough.

This is not a speed-up by itself, but is meant to allow the DFG inliner to
accurately discern between closure calls and non-closure calls, so that it can
do closure call inlining in the future.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isClosureCall):
(CallLinkStatus):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):

  • jit/JIT.cpp:

(JSC::JIT::linkFor):
(JSC::JIT::linkSlowCall):

  • jit/JIT.h:

(JSC::JIT::compileClosureCall):

  • jit/JITCall.cpp:

(JSC::JIT::privateCompileClosureCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::privateCompileClosureCall):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h:
  • jit/ThunkGenerators.cpp:

(JSC::linkClosureCallGenerator):

  • jit/ThunkGenerators.h:

Jan 1, 2013:

10:53 PM Changeset in webkit [138608] by Christophe Dumez
  • 6 edits in trunk

[WK2] plugins/clicking-missing-plugin-fires-delegate.html is failing
https://bugs.webkit.org/show_bug.cgi?id=105897

Reviewed by Alexey Proskuryakov.

Tools:

Dump in WebKitTestRunner the message that is expected by layout tests
when the missing plugin button is clicked.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::unavailablePluginButtonClicked):
(WTR):

  • WebKitTestRunner/TestController.h:

(TestController):

LayoutTests:

Unskip plugins/clicking-missing-plugin-fires-delegate.html for
WK2 now that WebKitTestRunner is dumping the expected text when
the missing plugin button is clicked.

  • platform/efl-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
8:19 PM Changeset in webkit [138607] by weinig@apple.com
  • 28 edits in trunk/Source/WebKit2

Convert more classes to be WebContextSupplements
https://bugs.webkit.org/show_bug.cgi?id=105890

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetCookieManager):
(WKContextGetDatabaseManager):
(WKContextGetGeolocationManager):
(WKContextGetKeyValueStorageManager):
(WKContextGetMediaCacheManager):
(WKContextGetNotificationManager):
(WKContextGetResourceCacheManager):

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::cookieManager):
(EwkContext::clearResourceCache):

  • UIProcess/API/efl/ewk_database_manager_private.h:

(EwkDatabaseManager::create):

  • UIProcess/API/efl/ewk_storage_manager_private.h:

(EwkStorageManager::create):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):
(webkit_web_context_clear_cache):
(webkit_web_context_get_cookie_manager):

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::supplementName):
(WebKit):
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
(WebKit::WebNotificationManagerProxy::initializeProvider):
(WebKit::WebNotificationManagerProxy::contextDestroyed):
(WebKit::WebNotificationManagerProxy::processDidClose):
(WebKit::WebNotificationManagerProxy::refWebContextSupplement):
(WebKit::WebNotificationManagerProxy::derefWebContextSupplement):
(WebKit::WebNotificationManagerProxy::didReceiveMessage):
(WebKit::WebNotificationManagerProxy::providerDidShowNotification):
(WebKit::WebNotificationManagerProxy::providerDidClickNotification):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
(WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):

  • UIProcess/Notifications/WebNotificationManagerProxy.h:

(WebNotificationManagerProxy):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::removeNetworkProcessProxy):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):

  • UIProcess/WebContext.h:

(WebKit):
(WebContext):
(WebKit::WebContext::iconDatabase):

  • UIProcess/WebContextSupplement.h:

(WebKit):
(WebKit::WebContextSupplement::contextDestroyed):
(WebKit::WebContextSupplement::processDidClose):
(WebContextSupplement):
(WebKit::WebContextSupplement::shouldTerminate):
(WebKit::WebContextSupplement::ref):
(WebKit::WebContextSupplement::deref):

  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::supplementName):
(WebKit):
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
(WebKit::WebCookieManagerProxy::initializeClient):
(WebKit::WebCookieManagerProxy::contextDestroyed):
(WebKit::WebCookieManagerProxy::processDidClose):
(WebKit::WebCookieManagerProxy::shouldTerminate):
(WebKit::WebCookieManagerProxy::refWebContextSupplement):
(WebKit::WebCookieManagerProxy::derefWebContextSupplement):
(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
(WebKit::WebCookieManagerProxy::deleteAllCookies):
(WebKit::WebCookieManagerProxy::startObservingCookieChanges):
(WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):

  • UIProcess/WebCookieManagerProxy.h:

(WebCookieManagerProxy):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::supplementName):
(WebKit):
(WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
(WebKit::WebDatabaseManagerProxy::initializeClient):
(WebKit::WebDatabaseManagerProxy::contextDestroyed):
(WebKit::WebDatabaseManagerProxy::processDidClose):
(WebKit::WebDatabaseManagerProxy::refWebContextSupplement):
(WebKit::WebDatabaseManagerProxy::derefWebContextSupplement):
(WebKit::WebDatabaseManagerProxy::didReceiveMessage):
(WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):

  • UIProcess/WebDatabaseManagerProxy.h:

(WebDatabaseManagerProxy):

  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::supplementName):
(WebKit):
(WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
(WebKit::WebGeolocationManagerProxy::initializeProvider):
(WebKit::WebGeolocationManagerProxy::contextDestroyed):
(WebKit::WebGeolocationManagerProxy::processDidClose):
(WebKit::WebGeolocationManagerProxy::refWebContextSupplement):
(WebKit::WebGeolocationManagerProxy::derefWebContextSupplement):
(WebKit::WebGeolocationManagerProxy::didReceiveMessage):
(WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
(WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):

  • UIProcess/WebGeolocationManagerProxy.h:

(WebGeolocationManagerProxy):

  • UIProcess/WebKeyValueStorageManagerProxy.cpp:

(WebKit::WebKeyValueStorageManagerProxy::supplementName):
(WebKit):
(WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
(WebKit::WebKeyValueStorageManagerProxy::contextDestroyed):
(WebKit::WebKeyValueStorageManagerProxy::processDidClose):
(WebKit::WebKeyValueStorageManagerProxy::refWebContextSupplement):
(WebKit::WebKeyValueStorageManagerProxy::derefWebContextSupplement):
(WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):

  • UIProcess/WebKeyValueStorageManagerProxy.h:

(WebKeyValueStorageManagerProxy):

  • UIProcess/WebMediaCacheManagerProxy.cpp:

(WebKit::WebMediaCacheManagerProxy::supplementName):
(WebKit):
(WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
(WebKit::WebMediaCacheManagerProxy::contextDestroyed):
(WebKit::WebMediaCacheManagerProxy::processDidClose):
(WebKit::WebMediaCacheManagerProxy::refWebContextSupplement):
(WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement):
(WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
(WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
(WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):

  • UIProcess/WebMediaCacheManagerProxy.h:

(WebMediaCacheManagerProxy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showNotification):

  • UIProcess/WebResourceCacheManagerProxy.cpp:

(WebKit::WebResourceCacheManagerProxy::supplementName):
(WebKit):
(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
(WebKit::WebResourceCacheManagerProxy::contextDestroyed):
(WebKit::WebResourceCacheManagerProxy::processDidClose):
(WebKit::WebResourceCacheManagerProxy::refWebContextSupplement):
(WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement):
(WebKit::WebResourceCacheManagerProxy::didReceiveMessage):
(WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
(WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
(WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):

  • UIProcess/WebResourceCacheManagerProxy.h:

(WebResourceCacheManagerProxy):

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

  • UIProcess/qt/WebContextQt.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

8:18 PM Changeset in webkit [138606] by mitz@apple.com
  • 16 edits in trunk

<rdar://problem/12942239> Update copyright strings

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Info.plist:

Source/WebCore:

  • Info.plist:

Source/WebKit/mac:

  • Info.plist:

Source/WebKit2:

  • Info.plist:
  • NetworkProcess/Info.plist:
  • PluginProcess/Info.plist:
  • SharedWorkerProcess/Info.plist:
  • WebProcess/Info.plist:
  • WebProcessService/Info.plist:
  • WebProcessServiceForWebKitDevelopment/Info.plist:

WebKitLibraries:

  • win/tools/scripts/COPYRIGHT-END-YEAR:
8:14 PM Changeset in webkit [138605] by commit-queue@webkit.org
  • 9 edits in trunk

[EFL] Enable MHTML feature
https://bugs.webkit.org/show_bug.cgi?id=105815

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-01-01
Reviewed by Laszlo Gombos.

.:

ENABLE_MHTML is now ON for EFL.

  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:

Add application/x-mimearchive type to archive mime types.
Add mht and mhtml to extension map.

No new tests. Existing layout tests pass.

  • loader/archive/ArchiveFactory.cpp:

(WebCore::archiveMIMETypes):

  • platform/efl/MIMETypeRegistryEfl.cpp:

(WebCore):

Source/WebKit2:

Add missing include directory for ENABLE_MHTML.

  • CMakeLists.txt:

Tools:

Enable MHTML feature for EFL port by default.

  • Scripts/webkitperl/FeatureList.pm:
7:51 PM Changeset in webkit [138604] by barraclough@apple.com
  • 13 edits
    18 adds in trunk/Source

Objective-C API for JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=105889

Reviewed by Filip Pizlo.

../JavaScriptCore:

For a detailed description of the API implemented here, see:

JSContext.h
APIJSValue.h
JSVirtualMachine.h
JSExport.h

Still to do -

(1) Shoud rename APIJSValue.h -> JSValue.h (but we'll have to rename JSValue.h first).
(2) Numerous FIXMEs, all with separate bugs filed.

  • API/APIJSValue.h: Added.
    • this Objective-C class is used to reference a JavaScript object.
  • API/JSBase.h:
    • added JS_OBJC_API_ENABLED macro to control ObjC API support.
  • API/JSBlockAdaptor.h: Added.
    • this Objective-C class is used in creating a special NSBlock proxying a JavaScript function.
  • API/JSBlockAdaptor.mm: Added.

(BlockArgument):
(BlockArgument::~BlockArgument):
(BlockArgumentBoolean):
(BlockArgumentBoolean::get):
(BlockArgumentNumeric):
(BlockArgumentNumeric::get):
(BlockArgumentId):
(BlockArgumentId::get):
(BlockArgumentStruct):
(BlockArgumentStruct::BlockArgumentStruct):
(BlockArgumentStruct::~BlockArgumentStruct):
(BlockArgumentStruct::get):

  • decoded arguent type information of a JSBlockAdaptor.

(BlockArgumentTypeDelegate):
(BlockArgumentTypeDelegate::typeInteger):
(BlockArgumentTypeDelegate::typeDouble):
(BlockArgumentTypeDelegate::typeBool):
(BlockArgumentTypeDelegate::typeVoid):
(BlockArgumentTypeDelegate::typeId):
(BlockArgumentTypeDelegate::typeOfClass):
(BlockArgumentTypeDelegate::typeBlock):
(BlockArgumentTypeDelegate::typeStruct):

  • delegate for use in conjunction with parseObjCType.

(BlockResult):
(BlockResult::~BlockResult):
(BlockResultVoid):
(BlockResultVoid::set):
(BlockResultInteger):
(BlockResultInteger::set):
(BlockResultDouble):
(BlockResultDouble::set):
(BlockResultBoolean):
(BlockResultBoolean::set):
(BlockResultStruct):
(BlockResultStruct::BlockResultStruct):
(BlockResultStruct::~BlockResultStruct):
(BlockResultStruct::set):

  • decoded result type information of a JSBlockAdaptor.

(buildBlockSignature):

  • partial step in constructing a signature with stack offset information from one without.

(-[JSBlockAdaptor initWithBlockSignatureFromProtocol:]):

  • constructor.

(-[JSBlockAdaptor blockMatchesSignature:]):

  • check whether signature strings match, where only one contains stack frame offsets.

(-[JSBlockAdaptor blockFromValue:inContext:withException:]):

  • use the adaptor to create a special forwarding block.
  • API/JSCallbackObjectFunctions.h:

(JSC::::inherits):

  • add missing braces to multiline for statement.
  • API/JSContext.h: Added.
    • this Objective-C class is used to reference a JavaScript context.
  • API/JSContext.mm: Added.

(-[JSContext init]):

  • constructor.

(-[JSContext initWithVirtualMachine:]):

  • construct in a given VM (JSGlobalData).

(-[JSContext evaluateScript:]):
(-[JSContext globalObject]):

  • evaluate a script, global object accessor.

(+[JSContext currentContext]):
(+[JSContext currentThis]):
(+[JSContext currentArguments]):

  • These methods obtain context, this, arguments from within a callback.

(-[JSContext virtualMachine]):

  • implementation for .virtualMachine property.

(-[JSContext objectForKeyedSubscript:]):
(-[JSContext setObject:forKeyedSubscript:]):

  • support for subscript property access.

(contextInternalContext):

  • internal accessor to m_context.

(-[JSContext dealloc]):

  • desctructor.

(-[JSContext notifyException:]):
(-[JSContext valueFromNotifyException:]):
(-[JSContext boolFromNotifyException:]):

  • internal method to record an exception was thrown.

(-[JSContext beginCallbackWithData:thisValue:argumentCount:arguments:]):
(-[JSContext endCallbackWithData:]):

  • internal methods to push/pop a callback record.

(-[JSContext protect:]):
(-[JSContext unprotect:]):

  • internal methods to add a value to a protect set (used to protect the internal property of JSValue).

(-[JSContext wrapperForObject:]):

  • internal method to create a wrapper object.

(WeakContextRef::WeakContextRef):
(WeakContextRef::~WeakContextRef):
(WeakContextRef::get):
(WeakContextRef::set):

  • Helper class to implement a weak reference to a JSContext.
  • API/JSContextInternal.h: Added.

(CallbackData):
(WeakContextRef):

  • see API/JSContext.mm for description of internal methods.
  • API/JSExport.h: Added.
    • Provides JSExport protocol & JSExportAs macro.
  • API/JSValue.mm: Added.

(+[JSValue valueWithObject:inContext:]):
(+[JSValue valueWithBool:inContext:]):
(+[JSValue valueWithDouble:inContext:]):
(+[JSValue valueWithInt32:inContext:]):
(+[JSValue valueWithUInt32:inContext:]):
(+[JSValue valueWithNewObjectInContext:]):
(+[JSValue valueWithNewArrayInContext:]):
(+[JSValue valueWithNewRegularExpressionFromPattern:flags:inContext:]):
(+[JSValue valueWithNewErrorFromMessage:inContext:]):
(+[JSValue valueWithNullInContext:]):
(+[JSValue valueWithUndefinedInContext:]):

  • Constructors.

(-[JSValue toObject]):
(-[JSValue toObjectOfClass:]):
(-[JSValue toBool]):
(-[JSValue toDouble]):
(-[JSValue toInt32]):
(-[JSValue toUInt32]):
(-[JSValue toNumber]):
(-[JSValue toString]):
(-[JSValue toDate]):
(-[JSValue toArray]):
(-[JSValue toDictionary]):

  • Conversion to Objective-C types.

(-[JSValue valueForProperty:]):
(-[JSValue setValue:forProperty:]):
(-[JSValue deleteProperty:]):
(-[JSValue hasProperty:]):
(-[JSValue defineProperty:descriptor:]):

  • Property access by property name.

(-[JSValue valueAtIndex:]):
(-[JSValue setValue:atIndex:]):

  • Property access by index.

(-[JSValue isUndefined]):
(-[JSValue isNull]):
(-[JSValue isBoolean]):
(-[JSValue isNumber]):
(-[JSValue isString]):
(-[JSValue isObject]):

  • Test JavaScript type.

(-[JSValue isEqualToObject:]):
(-[JSValue isEqualWithTypeCoercionToObject:]):
(-[JSValue isInstanceOf:]):

  • ===, ==, instanceof operators.

(-[JSValue callWithArguments:]):
(-[JSValue constructWithArguments:]):
(-[JSValue invokeMethod:withArguments:]):

  • Call & construct.

(-[JSValue context]):

  • implementation for .context property.

(-[JSValue toPoint]):
(-[JSValue toRange]):
(-[JSValue toRect]):
(-[JSValue toSize]):
(+[JSValue valueWithPoint:inContext:]):
(+[JSValue valueWithRange:inContext:]):
(+[JSValue valueWithRect:inContext:]):
(+[JSValue valueWithSize:inContext:]):

  • Support for NS struct types.

(-[JSValue objectForKeyedSubscript:]):
(-[JSValue objectAtIndexedSubscript:]):
(-[JSValue setObject:forKeyedSubscript:]):
(-[JSValue setObject:atIndexedSubscript:]):

  • support for subscript property access.

(isDate):
(isArray):

  • internal helper functions to check for instances of JS Date, Array types.

(JSContainerConvertor):
(Task):
(JSContainerConvertor::JSContainerConvertor):
(JSContainerConvertor::isWorkListEmpty):
(JSContainerConvertor::convert):
(JSContainerConvertor::add):
(JSContainerConvertor::take):

  • helper class for tracking state while converting to Array/Dictionary objects.

(valueToObjectWithoutCopy):
(containerValueToObject):
(valueToObject):
(valueToNumber):
(valueToString):
(valueToDate):
(valueToArray):
(valueToDictionary):

  • function for converting JavaScript values to Objective-C objects.

(ObjcContainerConvertor):
(ObjcContainerConvertor::ObjcContainerConvertor):
(ObjcContainerConvertor::isWorkListEmpty):
(ObjcContainerConvertor::convert):
(ObjcContainerConvertor::add):
(ObjcContainerConvertor::take):

  • helper class for tracking state while converting to Array/Dictionary values.

(objectToValueWithoutCopy):
(objectToValue):
(valueInternalValue):

  • function for converting Objective-C objects to JavaScript values.

(+[JSValue valueWithValue:inContext:]):
(-[JSValue initWithValue:inContext:]):

  • internal constructors.

(StructTagHandler):
(getStructTagHandler):
(+[JSValue selectorForStructToValue:]):
(+[JSValue selectorForValueToStruct:]):

  • methods to tracking struct types that support conversion to/from JSValue.

(-[JSValue dealloc]):

  • destructor.

(-[JSValue description]):

  • Objective-C to-NSString conversion.

(typeToValueInvocationFor):
(valueToTypeInvocationFor):

  • create invocation objects for conversion to/from JSValue.
  • API/JSValueInternal.h: Added.
    • see API/JSValue.mm for description of internal methods.
  • API/JSVirtualMachine.h: Added.
    • this Objective-C class is used to reference a JavaScript virtual machine (JSGlobalData).
  • API/JSVirtualMachine.mm: Added.

(-[JSVirtualMachine init]):
(-[JSVirtualMachine dealloc]):

  • constructor & destructor.

(getGroupFromVirtualMachine):

  • internal accessor for m_group property.
  • API/JSVirtualMachineInternal.h: Added.
    • see API/JSVirtualMachine.mm for description of internal methods.
  • API/JSWrapperMap.h: Added.
  • API/JSWrapperMap.mm: Added.

(wrapperClass):

  • singleton root for detction (& unwrapping) of wrapper objects.

(selectorToPropertyName):

  • default selector to property name conversion.

(createObjectWithCustomBrand):

  • creates a JSObject with a custom NativeBrand (class name).

(createRenameMap):

  • parse @optional properties of a JSExport protocol.

(putNonEnumerable):

  • property put with enumerable=false.

(copyMethodsToObject):

  • iterate methods in a protocol; add functions to a JSObject.

(parsePropertyAttributes):

  • examine protocol property metadata.

(makeSetterName):

  • "foo" -> "setFoo"

(copyPrototypeProperties):

  • create properties on a Protocol object reflecting the instance methods & properties of a protocol.

(-[JSObjCClassInfo initWithContext:forClass:superClassInfo:]):
(-[JSObjCClassInfo dealloc]):
(-[JSObjCClassInfo wrapperForObject:]):
(-[JSObjCClassInfo constructor]):

  • cache the Protocol/Constructor objects for an Objective-C type.

(-[JSWrapperMap initWithContext:]):
(-[JSWrapperMap dealloc]):

  • constructor & desctructor.

(-[JSWrapperMap classInfoForClass:]):

  • maps Class -> JSObjCClassInfo.

(-[JSWrapperMap wrapperForObject:]):

  • cretae or retrieve a cached wrapper value for an object.

(tryUnwrapObjcObject):

  • check whether a value is a wrapper object; unwrap if so.
  • API/JavaScriptCore.h:
    • Added includes for new API headers.
  • API/ObjCCallbackFunction.h: Added.
    • this class is used to wrap Objective-C instance methods, class methods & blocks as JSFunction objects.
  • API/ObjCCallbackFunction.mm: Added.

(CallbackArgument):
(CallbackArgument::~CallbackArgument):
(CallbackArgumentBoolean):
(CallbackArgumentBoolean::set):
(CallbackArgumentInteger):
(CallbackArgumentInteger::set):
(CallbackArgumentDouble):
(CallbackArgumentDouble::set):
(CallbackArgumentJSValue):
(CallbackArgumentJSValue::set):
(CallbackArgumentId):
(CallbackArgumentId::set):
(CallbackArgumentOfClass):
(CallbackArgumentOfClass::CallbackArgumentOfClass):
(CallbackArgumentOfClass::~CallbackArgumentOfClass):
(CallbackArgumentOfClass::set):
(CallbackArgumentNSNumber):
(CallbackArgumentNSNumber::set):
(CallbackArgumentNSString):
(CallbackArgumentNSString::set):
(CallbackArgumentNSDate):
(CallbackArgumentNSDate::set):
(CallbackArgumentNSArray):
(CallbackArgumentNSArray::set):
(CallbackArgumentNSDictionary):
(CallbackArgumentNSDictionary::set):
(CallbackArgumentStruct):
(CallbackArgumentStruct::CallbackArgumentStruct):
(CallbackArgumentStruct::~CallbackArgumentStruct):
(CallbackArgumentStruct::set):
(CallbackArgumentBlockCallback):
(CallbackArgumentBlockCallback::CallbackArgumentBlockCallback):
(CallbackArgumentBlockCallback::~CallbackArgumentBlockCallback):
(CallbackArgumentBlockCallback::set):

  • decoded arguent type information of a ObjCCallbackFunction.

(ArgumentTypeDelegate):
(ArgumentTypeDelegate::typeInteger):
(ArgumentTypeDelegate::typeDouble):
(ArgumentTypeDelegate::typeBool):
(ArgumentTypeDelegate::typeVoid):
(ArgumentTypeDelegate::typeId):
(ArgumentTypeDelegate::typeOfClass):
(ArgumentTypeDelegate::typeBlock):
(ArgumentTypeDelegate::typeStruct):

  • delegate for use in conjunction with parseObjCType.

(CallbackResult):
(CallbackResult::~CallbackResult):
(CallbackResultVoid):
(CallbackResultVoid::get):
(CallbackResultId):
(CallbackResultId::get):
(CallbackResultNumeric):
(CallbackResultNumeric::get):
(CallbackResultBoolean):
(CallbackResultBoolean::get):
(CallbackResultStruct):
(CallbackResultStruct::CallbackResultStruct):
(CallbackResultStruct::~CallbackResultStruct):
(CallbackResultStruct::get):

  • decoded result type information of a ObjCCallbackFunction.

(ResultTypeDelegate):
(ResultTypeDelegate::typeInteger):
(ResultTypeDelegate::typeDouble):
(ResultTypeDelegate::typeBool):
(ResultTypeDelegate::typeVoid):
(ResultTypeDelegate::typeId):
(ResultTypeDelegate::typeOfClass):
(ResultTypeDelegate::typeBlock):
(ResultTypeDelegate::typeStruct):

  • delegate for use in conjunction with parseObjCType.

(ObjCCallbackFunction):
(ObjCCallbackFunction::ObjCCallbackFunction):
(ObjCCallbackFunction::~ObjCCallbackFunction):

  • constructor & destructor.

(ObjCCallbackFunction::context):

  • accessor.

(ObjCCallbackFunction::wrappedBlock):

  • attemmpt to unwrap a block object.

(objCCallbackFunctionFinalize):
(objCCallbackFunctionCallAsFunction):
(objCCallbackFunctionClass):

  • JSClassRef used to represent ObjCCallbackFunction objects.

(ObjCCallbackFunction::call):
(blockSignatureContainsClass):

  • helper function to determine if we're running on a recent Clang.

(skipNumber):

  • helper used in parsing signature strings.

(objCCallbackFunctionForInvocation):
(objCCallbackFunctionForMethod):
(objCCallbackFunctionForBlock):

  • functions to try to create ObjCCallbackFunction instances for methods/blocks.

(tryUnwrapBlock):

  • attemmpt to unwrap a block object.
  • API/ObjcRuntimeExtras.h: Added.

(protocolImplementsProtocol):
(forEachProtocolImplementingProtocol):
(forEachMethodInClass):
(forEachMethodInProtocol):
(forEachPropertyInProtocol):

  • functions used in reflecting on Objective-C types.

(skipPair):

  • parsing helper used by parseObjCType, scans for matching parentheses.

(StringRange):
(StringRange::StringRange):
(StringRange::~StringRange):
(StringRange::operator const char*):
(StringRange::get):

  • Helper class - create a c string copy of a range of an existing string.

(parseObjCType):

  • function to parse Objective-C type strings, makes callbacks to a deleagte.
  • API/tests/testapi.c:

(main):

  • added call to testObjectiveCAPI (in testapi.m).
  • API/tests/testapi.m: Added.

(+[ParentObject parentTest]):
(+[TestObject testObject]):
(+[TestObject classTest]):
(-[TestObject getString]):
(-[TestObject testArgumentTypesWithInt:double:boolean:string:number:array:dictionary:]):
(-[TestObject callback:]):
(-[TextXYZ test:]):

  • test object, used in various test vases.

(checkResult):

  • helper function.

(blockSignatureContainsClass):

  • helper function to determine if we're running on a recent Clang.

(testObjectiveCAPI):

  • new test cases.
  • JavaScriptCore.xcodeproj/project.pbxproj:
    • added new files.
  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):

  • runtime/JSGlobalData.h:

(JSGlobalData):

  • added m_apiData - provide convenient storage for use by the API.
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/JSGlobalObject.h:

(JSGlobalObject):

  • added m_apiData - provide convenient storage for use by the API.

../WTF:

  • wtf/WTFThreadData.cpp:

(WTF::WTFThreadData::WTFThreadData):

  • wtf/WTFThreadData.h:

(WTFThreadData):

  • Added m_apiData - provide convenient storage for use by the API.
6:54 PM Changeset in webkit [138603] by commit-queue@webkit.org
  • 4 edits
    6 adds in trunk/Tools

sheriff-bot should know who the gardeners/sheriffs are
https://bugs.webkit.org/show_bug.cgi?id=105698

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-01
Reviewed by Eric Seidel.

Added a "sheriffs" command to sheriffbot to fetch the current Chromium Webkit sheriffs.

  • Scripts/webkitpy/tool/bot/irc_command.py:

(Current):
(Current._retrieve_webkit_sheriffs):
(Current.execute):

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_current):

  • Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_0.js: Added.
  • Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_1.js: Added.
  • Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_2.js: Added.
  • Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_malformed.js: Added.
  • Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_zero.js: Added.
4:23 PM Changeset in webkit [138602] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK1] Skip some webaudio test cases due to lack of implementation
https://bugs.webkit.org/show_bug.cgi?id=105882

Unreviewed, EFL gardening.

Bunch of webaudio test cases need setAudioData implementation and DRT has not it.
So, skips those cases.

Patch by Kangil Han <kangil.han@samsung.com> on 2013-01-01

  • platform/efl-wk1/TestExpectations:
9:20 AM Changeset in webkit [138601] by mkwst@chromium.org
  • 4 edits
    3 adds in trunk

seamless iframes don't inherit styles when srcdoc is used
https://bugs.webkit.org/show_bug.cgi?id=103539

Reviewed by Eric Seidel.

Source/WebCore:

Seamless iframes populated via a 'srcdoc' attribute should always
inherit styles from their parent documents. At the moment, this is
only the case when they contain a stylesheet or some other markup
that forces a style recalculation on the document. Simple 'srcdoc'
attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
recalculating style early, resulting in unstyled appearance.

This patch instructs WebCore to treat seamless documents as having an
updated StyleResolver regardless of what actions the parser takes,
which in turn ensures that the document's style is recalculated
correctly.

Test: fast/frames/seamless/seamless-srcdoc.html

  • dom/Document.cpp:

(WebCore::Document::finishedParsing):

If it's a seamless document, notify it that its StyleResolver isn't
what it might have expected.

LayoutTests:

  • fast/frames/seamless/resources/span.html: Added.
  • fast/frames/seamless/seamless-contenteditable-not-inherited-expected.txt:

Updating the previously FAILing expectation.

  • fast/frames/seamless/seamless-srcdoc-expected.txt: Added.
  • fast/frames/seamless/seamless-srcdoc.html: Added.

Exciting new test to ensure that this doesn't regress, neither
for totally simple srcdoc attriubtes, nor for slightly more
complex variations.

3:47 AM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
Added web extensions, and updated target versions (diff)

Dec 31, 2012:

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

[BlackBerry] Fullscreen Media Time Indicators Background Incorrect
https://bugs.webkit.org/show_bug.cgi?id=105888

Patch by Jeff Rogers <jrogers@rim.com> on 2012-12-31
Reviewed by George Staikos.

Internal PR 272699.
Update fullscreen media controls CSS to fix time container background
color. Also fix transparency to be 80% opaque to and the time
remaining text color to match the system player.

No new tests as there is no functionality change.

  • css/mediaControlsBlackBerryFullscreen.css:

(video:-webkit-full-screen::-webkit-media-controls-panel):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-display-container):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline-container):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-current-time-display):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-remaining-display):
(video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container, video:-webkit-full-screen::-webkit-media-controls-play-button-container):
(video:-webkit-full-screen::-webkit-media-controls-placeholder):

11:53 AM Changeset in webkit [138599] by weinig@apple.com
  • 7 edits
    1 add in trunk/Source/WebKit2

Add supplementability for WebContext
https://bugs.webkit.org/show_bug.cgi?id=105878

Reviewed by Dan Bernstein.

Add WebContextSupplement and convert WebApplicationCacheManagerProxy to it.

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetApplicationCacheManager):

  • UIProcess/WebApplicationCacheManagerProxy.cpp:

(WebKit::WebApplicationCacheManagerProxy::supplementName):
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
(WebKit::WebApplicationCacheManagerProxy::contextDestroyed):
(WebKit::WebApplicationCacheManagerProxy::processDidClose):
(WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement):
(WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement):
(WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
(WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
(WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):

  • UIProcess/WebApplicationCacheManagerProxy.h:

(WebApplicationCacheManagerProxy):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::shouldTerminate):
(WebKit::WebContext::disconnectProcess):

  • UIProcess/WebContext.h:

(WebKit::WebContext::supplement):
(WebKit::WebContext::addSupplement):

  • UIProcess/WebContextSupplement.h: Added.

(WebKit::WebContextSupplement::WebContextSupplement):
(WebKit::WebContextSupplement::~WebContextSupplement):
(WebKit::WebContextSupplement::ref):
(WebKit::WebContextSupplement::deref):
(WebKit::WebContextSupplement::context):
(WebKit::WebContextSupplement::clearContext):

  • WebKit2.xcodeproj/project.pbxproj:
8:56 AM Changeset in webkit [138598] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL][WebGL] Add compile time support for GLES2.
https://bugs.webkit.org/show_bug.cgi?id=105816

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-12-31
Reviewed by Kenneth Rohde Christiansen.

.:

This patch adds build support for GLES2.
GLES2 support can be enabled during compile time by passing -DENABLE_GLES2=ON as
cmake config parameter. GLES2 options is not enabled by default. This patch doesn't
address all the build issues related to GLES2 but only adds the needed support in
OptionsEfl.cmake.

  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:

This patch adds build support for GLES2.
GLES2 support can be enabled during compile time by passing -DENABLE_GLES2=ON as
cmake config parameter. GLES2 options is not enabled by default. This patch doesn't
address all the build issues related to GLES2 but only adds the needed support in
PlatformEfl.cmake.

  • PlatformEfl.cmake:
8:31 AM Changeset in webkit [138597] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

[EFL[WK2] Regression(r138574): Should not allocate memory in the fork
https://bugs.webkit.org/show_bug.cgi?id=105868

Reviewed by Kenneth Rohde Christiansen.

Store prefixed executable path in a CString before the fork to
avoid allocating memory in the fork by calling String::utf8().
Allocating memory in the fork may lead to deadlocks due to
FastMalloc and the fork not inheriting the threads.

  • UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:

(WebKit::ProcessLauncher::launchProcess):

8:05 AM Changeset in webkit [138596] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] The HTML5 video fullscreen time indicator on the right cuts clipped when the video is longer than 1 hour
https://bugs.webkit.org/show_bug.cgi?id=105887

Patch by Andy Chen <andchen@rim.com> on 2012-12-31
Reviewed by George Staikos.

The width of the time part was fixed. Remove it.

No new test is required because no functionality change.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):

5:54 AM Changeset in webkit [138595] by commit-queue@webkit.org
  • 4 edits
    1 move
    1 add
    1 delete in trunk

[GTK] Move ImageDiff to the Tools directory root
https://bugs.webkit.org/show_bug.cgi?id=105421

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2012-12-31
Reviewed by Kenneth Rohde Christiansen.

.:

  • GNUmakefile.am: Remove the old ImageDiff makefile include.

Tools:

  • DumpRenderTree/gtk/GNUmakefile.ImageDiff.am: Removed.
  • GNUmakefile.am:
  • ImageDiff/gtk/ImageDiff.cpp: Renamed from Tools/DumpRenderTree/gtk/ImageDiff.cpp.
5:25 AM Changeset in webkit [138594] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] css3/masking/clip-path-circle-relative-overflow.html needs expected results update after 97217
https://bugs.webkit.org/show_bug.cgi?id=105883

Unreviewed, EFL gardening.

Rebaseline css3/masking/clip-path-circle-relative-overflow.html because BUG 97217 has been resolved.

Patch by Kangil Han <kangil.han@samsung.com> on 2012-12-31

  • platform/efl/TestExpectations:
  • platform/efl/css3/masking/clip-path-circle-relative-overflow-expected.png:
4:50 AM Changeset in webkit [138593] by Carlos Garcia Campos
  • 12 edits in trunk/Source/WebKit2

[GTK] Add API to set a WebKitWebView in view source mode to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=99315

Reviewed by Martin Robinson.

Add a generic API to set/get a view mode. For now there are only
two modes, Web and Source, but the API can be extended if we
eventually support other view modes like Printing for example.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewSetProperty): Implement setter for view-mode
property.
(webkitWebViewGetProperty): Implement getter for view-mode
property.
(webkit_web_view_class_init): Add view-source property.
(webkit_web_view_set_view_mode): Public method to set the view
mode.
(webkit_web_view_get_view_mode): Public method to get the view
mode.

  • UIProcess/API/gtk/WebKitWebView.h: Add WebKitViewMode enum.
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(testWebViewMode):
(beforeAll):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::WebFrameProxy): Initialize
m_inViewSourceMode.
(WebKit::WebFrameProxy::setInViewSourceMode): Set
m_inViewSourceMode if it has changed and call
WebPageProxy::setFrameInViewSourceMode() to notify the WebProcess.

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::inViewSourceMode): Return whether the
frame is currently in view source mode.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setFrameInViewSourceMode): Send a message
to the WebProcess to set the given frame in view source mode or not.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Add setFrameInViewSourceMode().

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setFrameInViewSourceMode): Call
setInViewSourceMode for the main frame.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Add setFrameInViewSourceMode().

  • WebProcess/WebPage/WebPage.messages.in: Add new message

SetFrameInViewSourceMode.

12:57 AM Changeset in webkit [138592] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark editing/spelling/spelling-insert-html.html as flaky
since it sometimes hits an assertion in RenderObject
destructor.

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