[Qt][TestWebKitAPI] The activeBuildConfig() function has been replaced with targetSubDir()

Rubber-stamped by Csaba Osztrogonác.

Besides suppressing a warning about the non-existing function this
fixes the build if there is a subdirectory (eg. debug-and-release).

* TestWebKitAPI/InjectedBundle.pri:
* TestWebKitAPI/TestWebKitAPI.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Enable CANVAS_PATH flag
https://bugs.webkit.org/show_bug.cgi?id=108508

Reviewed by Simon Hausmann.

Tools:

Also enable CANVAS_PATH flag for Qt.

* qmake/mkspecs/features/features.pri:

LayoutTests:

Unskip CANVAS_PATH tests.

* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, quick test breakage fix for android
https://bugs.webkit.org/show_bug.cgi?id=110740

Patch by Seigo Nonaka <nona@chromium.org> on 2013-02-27

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::textInputInfo): Reconstruct condition check order

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening, update expectation

* platform/chromium/TestExpectations: Add ImageOnlyFailure for compositing/rtl/rtl-iframe-fixed-overflow.html


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderTableCellDeathTest unit test fails on mac
https://bugs.webkit.org/show_bug.cgi?id=110992

Unreviewed revert of all changes. The problem seems to have resolved.

* tests/RenderTableCellTest.cpp: Remove Mac disable code.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Move profiler tools into separate panels
https://bugs.webkit.org/show_bug.cgi?id=109832

Patch by Alexei Filippov <alph@chromium.org> on 2013-02-28
Reviewed by Yury Semikhatsky.

This is a first part of the fix that puts each profiler tool into a separate panel.
The fix introduces separate panels for each profiler type.
There are now six panel (including experimental):
  1. JS CPU profiler
  2. CSS Selector profiler
  3. JS Heap profiler
  4. Canvas profier
  5. Native memory snapshots
  6. Native memory distribution
The new functionality is put behind experimental flag.

* inspector/front-end/ProfileLauncherView.js:
(WebInspector.ProfileLauncherView):
(WebInspector.ProfileLauncherView.prototype.addProfileType):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfileHeader.prototype.view):
(WebInspector.ProfileHeader.prototype.createView):
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
(WebInspector.ProfilesPanel.prototype._addProfileHeader):
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):
(WebInspector.ProfilesPanel.prototype._showProfile):
(WebInspector.ProfilesPanel.prototype._searchableViews):
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
(WebInspector.ProfileGroupSidebarTreeElement):
(WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
(WebInspector.CPUProfilerPanel):
(WebInspector.CSSSelectorProfilerPanel):
(WebInspector.HeapProfilerPanel):
(WebInspector.CanvasProfilerPanel):
(WebInspector.MemoryChartProfilerPanel):
(WebInspector.NativeMemoryProfilerPanel):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/inspector.css:
(.toolbar-item.cpu-profiler .toolbar-icon):
(.toolbar-item.css-profiler .toolbar-icon):
(.toolbar-item.heap-profiler .toolbar-icon):
(.toolbar-item.canvas-profiler .toolbar-icon):
(.toolbar-item.memory-chart-profiler .toolbar-icon):
(.toolbar-item.memory-snapshot-profiler .toolbar-icon):
* inspector/front-end/inspector.js:
(WebInspector._panelDescriptors):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: "loadScript" function to load scripts via xhr
https://bugs.webkit.org/show_bug.cgi?id=110879

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-28
Reviewed by Pavel Feldman.

Create an alias for "importScript" function and use it in those cases
which assume lazy script loading.

No new tests.

* inspector/front-end/Panel.js:
(WebInspector.PanelDescriptor.prototype.panel):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
* inspector/front-end/utilities.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Enable thin archives before parsing the project files

Rubber-stamped by Simon Hausmann.

The targetSubDir() function can be called before default_post.prf has been
parsed therefore the gnu_thin_archives option has to be set in default_pre.prf
which is parsed before the main project file.
This issue was revealed by r144299 and fixes the clean build.

* qmake/mkspecs/features/default_post.prf:
* qmake/mkspecs/features/default_pre.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] User credentials are not correctly handled for non-browser usage
https://bugs.webkit.org/show_bug.cgi?id=111032

Internal PR: 295181
Internal reviewed by Joe Mason.

Reviewed by Yong Li.

Use encrypted password as binary data when calling SQLiteStatement::bindBlob(), in
stead of using it as a normal WTF::String.

No new tests as this causes no expected behaviour change.

* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::CredentialBackingStore::addLogin):
(WebCore::CredentialBackingStore::updateLogin):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Disable auto-filling password in forms when auto-form-filling is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=111006

Internal PR: 295181
Internal reviewed by Joe Mason.

Reviewed by Yong Li.

Check WebSettings::isFormAutofillEnabled() before doing user credential form fill stuff.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=111058.

* platform/qt/TestExpectations: Skipped failing test after r144236.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] User credentials is not correctly handled
https://bugs.webkit.org/show_bug.cgi?id=110994

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-02-28
Reviewed by Yong Li.

WTF::String::utf8 no longer receives a bool, see r134173.

* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::CredentialBackingStore::encryptedString):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Adding existing key in DOMStorageItemsView leaves it inconsistent state
https://bugs.webkit.org/show_bug.cgi?id=111061

Reviewed by Alexander Pavlov.

The view must be checked for all the rows with the matching keys. Only the first one would be updated
with the new value while the others must be removed from the grid. Also in case there are various key/value
pairs, the changed node should be selected and revealed in the grid.

No new tests as UI related minor change.

* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[New Multicolumn] Rewrite the painting/stacking model to be spec compliant.
https://bugs.webkit.org/show_bug.cgi?id=110624.

Reviewed by Simon Fraser.

Source/WebCore: 

This patch implements a new painting and hit testing model for columns that is
spec-compliant with Section 3.5 of the multicolumn specification, which states:
        
"All column boxes in a multi-column element are in the same stacking context and
the drawing order of their contents is as specified in CSS 2.1. Column boxes do
not establish new stacking contexts."
        
What this statement means is that you cannot paint a layer and all its stacking
context descendants in a strip in each column, since some of those descendants
might actually "break out" of the pagination (like fixed positioned descendants)
and overlap multiple columns. In addition clips may apply across pagination
boundaries, and any overlap caused by opacity has to do the right thing and
treat the paginated and unpaginated components together as a single unit.
        
The solution to this problem is to introduce the concept of a LayerFragment. Now
all layers when painting or hit testing compute a fragment list, and that list
is then walked in order to do painting and hit testing of layers. In the simple
unpaginated case, a layer has one LayerFragment, but in the case of columns the
layer may be broken up into multiple fragments representing boxes in separate
columns.
        
Much of this patch consists of refactoring all of the painting and hit testing
code to operate on these fragments.

Test: fast/multicol/mixed-positioning-stacking-order.html.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::collectLayerFragments):
This method is called by the RenderLayer code to fetch the layer fragments from
the regions of a flow thread. The flow thread just turns around and calls into
each of its regions one by one to get the fragments from each region.

(WebCore::RenderFlowThread::fragmentsBoundingBox):
A new function that collects LayerFragments and then determines the bounding
box that encloses all of the fragments.

* rendering/RenderFlowThread.h:
Declarations of the new methods for obtaining layer fragments and bounding
box information for fragments.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updatePagination):
RenderLayers now track an enclosing pagination layer. If this is set, then the layer knows it
needs to check with the enclosing pagination layer's flow thread renderer to
obtain layer fragments.
        
(WebCore::transparencyClipBox):
Modified to obtain a fragments bounding box so that opacity can operate correctly on
column boxes.

(WebCore::accumulateOffsetTowardsAncestor):
This method has been patched to allow for fixed positioned objects to escape
in-flow RenderFlowThreads. Our in-flow RenderFlowThreads behave differently from
CSS Regions flow threads in that they aren't necesssarily acting as the containing
block for all of their descendants. Content is allowed to "escape" from the flow
thread.

(WebCore::RenderLayer::collectFragments):
A new method that collects fragments from the flow thread and sets up the appropriate
clips and translations on each fragment.

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
Refactoring of painting to break all individual painting steps out into methods that walk over
fragment boxes. This actually had the side effect of making the main painting function,
paintLayerContents, much cleaner and easier to read. :)
        
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::createLocalTransformState):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestContentsForFragments):
(WebCore::RenderLayer::hitTestResizerInFragments):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::hitTestContents):
(WebCore::RenderLayer::hitTestList):
Refactoring of hit testing to break all individual hit testing steps out into methods that walk over
fragment boxes.
        
(WebCore::RenderLayer::backgroundClipRect):
Modified to avoid using the clip rects cache when crossing into different pagination contexts,
e.g., from unpaginated to paginated.
        
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::boundingBox):
Modified boundingBox to work with fragments. A new flag is used to indicate whether or not
the bounds of fragments or the original unsplit box are being computed.
        
(WebCore::RenderLayer::collectLayers):
Fix layer collection so that in-flow RenderFlowThreads can still be collected, since in-flow
RenderFlowThreads do not establish stacking contexts.

* rendering/RenderLayer.h:
(WebCore::ClipRect::moveBy):
Added a moveBy method that just wrap the corresponding LayoutRect method.

(LayerFragment):
(WebCore::LayerFragment::LayerFragment):
(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):
(WebCore::RenderLayer::enclosingPaginationLayer):
The new LayerFragment struct. Holds clips and translation information for each fragment box.

(WebCore::RenderLayer::isOutOfFlowRenderFlowThread):
Helper method for determining if the renderer is an out-of-flow RenderFlowThread.

* rendering/RenderMultiColumnBlock.cpp:
(WebCore::createMultiColumnFlowThreadStyle):
Change the flow thread style to no longer establish a stacking context.
        
(WebCore::RenderMultiColumnBlock::layoutBlock):
Patched to move the flow thread to a position that allows it to be untranslated in the
initial column.

(WebCore):
* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
layoutBlock is subclassed to tweak the flow thread's position.

* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
The flow thread for multi-column blocks implements collectLayerFragments to hand back LayerFragment
information based off its RenderMultiColumnSets.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintObject):
Changed to no longer paint column contents, since the layer code is just doing that now.

(WebCore::RenderMultiColumnSet::collectLayerFragments):
The method that figures out what columns are intersected by a layer and hands back
initial fragment information.

* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
Declaration of collectLayerFragments.
        
* rendering/RenderObject.cpp:
(WebCore::RenderObject::container):
Patch container() to allow fixed positioned objects to escape in-flow RenderFlowThreads.
        
* rendering/RenderObject.h:
(WebCore::RenderObject::isInFlowRenderFlowThread):
(WebCore::RenderObject::isOutOfFlowRenderFlowThread):
Methods for distinguishing between in-flow and out-of-flow RenderFlowThreads.

(WebCore::RenderObject::canContainFixedPositionObjects):
Patch canContainFixedPositionObjects() to allow fixed positioned objects to escape
in-flow RenderFlowThreads.
        
* rendering/RenderRegion.h:
(WebCore::RenderRegion::collectLayerFragments):
(RenderRegion):
The virtual functions on Region for fragment collection.

LayoutTests: 

* fast/multicol/mixed-positioning-stacking-order-expected.html: Added.
* fast/multicol/mixed-positioning-stacking-order.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)

* WebProcess/WebPage/WebPage.messages.in: Move
SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Marking one more html5 test as timeout

Unreviewed expectations, removing a Debug modifier.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r144157.
http://trac.webkit.org/changeset/144157
https://bugs.webkit.org/show_bug.cgi?id=110794

It broke chromium windows build

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNamedConstructor):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::v8HTMLImageElementConstructorMethodCustom):
(WebCore::V8HTMLImageElementConstructor::GetTemplate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: IO error when checking schema should destroy LevelDB directory
https://bugs.webkit.org/show_bug.cgi?id=110675

Reviewed by Adam Barth.

Source/WebCore:

Also some refactoring to remove IDBBackingStore's dependence on
static LevelDBDatabase methods. This facilitated the unit test.

New unit test - IDBIOErrorTest.CleanUpTest

* Modules/indexeddb/IDBBackingStore.cpp:
(DefaultLevelDBFactory):
Wraps the previous behavior.
(WebCore::IDBBackingStore::open):
The default parameter provides the previous behavior, which is what
non-tests want.
* Modules/indexeddb/IDBBackingStore.h:
* platform/leveldb/LevelDBDatabase.h:

Source/WebKit/chromium:

* WebKit.gyp:
This was cargo-culted. The component build wouldn't run otherwise.

* WebKit.gypi:
* tests/IDBCleanupOnIOErrorTest.cpp: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Don't install unused XPCServices on Lion
<rdar://problem/13264712>

Rubber-stamped by Anders Carlsson

* Configurations/BaseXPCService.xcconfig:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Versioning.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144325 268f45cc-cd09-0410-ab3c-d52691b4dbfc