WebKit-https.git
7 years agoREGRESSION(r137726): Spring Loaded Pan Scrolling doesn't stop
yosin@chromium.org [Fri, 18 Jan 2013 08:22:36 +0000 (08:22 +0000)]
REGRESSION(r137726): Spring Loaded Pan Scrolling doesn't stop
https://bugs.webkit.org/show_bug.cgi?id=107205

Reviewed by Hajime Morita.

Source/WebCore:

The bug is caused by forgetting to set true m_panScrollButtonPressed
in AutoscrollController::startPanScroll().

This patch changes state management during pan scroll by replacing
m_panScrollButtonPressed and m_springLoadedPanScrollInProgress by
m_autoscrollType with introducing new AutoscrollController state
AutoscrollForPanCanStop.

Tests: platform/chromium-win/fast/events/panScroll-click.html
       platform/chromium-win/fast/events/panScroll-drag.html

* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::AutoscrollController): Changed to remove initialization of m_panScrollButtonPressed and m_springLoadedPanScrollInProgress.
(WebCore::AutoscrollController::stopAutoscrollTimer): Changed to remove resetting m_panScrollButtonPressed and m_springLoadedPanScrollInProgress.
(WebCore::AutoscrollController::handleMouseReleaseEvent): Changed to handle AutoscrollForPan and AutoscrollForPanCanStop.
(WebCore::AutoscrollController::panScrollInProgress): Changed to check AutoscrollForPanCanStop too.
(WebCore::AutoscrollController::startPanScrolling): Changed to remove setting of m_springLoadedPanScrollInProgress.
(WebCore::AutoscrollController::autoscrollTimerFired): Changed to add case for AutoscrollForPanCanStop.
(WebCore::AutoscrollController::updatePanScrollState): Chagned to use AutoscrollForPan and AutoscrollForPanCanStop.
* page/AutoscrollController.h:
(AutoscrollController): Changed to add AutoscrollForPanCanStop to AutoscrollType.

LayoutTests:

* platform/chromium-win/fast/events/panScroll-click-expected.txt: Added.
* platform/chromium-win/fast/events/panScroll-click.html: Added.
* platform/chromium-win/fast/events/panScroll-drag-expected.txt: Added.
* platform/chromium-win/fast/events/panScroll-drag.html: Added.
* platfrom/chromium/TestExpectations: Skip panScroll-{click,drag}.html for Android, Linux, and Mac.

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

7 years agoHeap-use-after-free in WebCore::LiveNodeListBase::invalidateCache
tasak@google.com [Fri, 18 Jan 2013 07:14:27 +0000 (07:14 +0000)]
Heap-use-after-free in WebCore::LiveNodeListBase::invalidateCache
https://bugs.webkit.org/show_bug.cgi?id=106958

Reviewed by Ryosuke Niwa.

Need to update node lists that nodes in shadow dom trees have
when document is changed.

No new tests; it is difficult to reproduce crash by using
DumpRenderTree. Manually tested by using attached repro.html.

* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::adoptTreeScope):
Added to adopt node lists when tree scope is changed.
(WebCore::NodeListsNodeData::adoptDocument):
Renamed the original adoptTreeScope to adoptDocument.
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
If document scope is not changed, modify to invoke adoptTreeScope.
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):
Modify to invoked adoptDocument.

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

7 years agoSearch for a selected word should trigger _performSearch to populate
commit-queue@webkit.org [Fri, 18 Jan 2013 05:11:17 +0000 (05:11 +0000)]
Search for a selected word should trigger _performSearch to populate
search results
https://bugs.webkit.org/show_bug.cgi?id=106423

Patch by Sankeerth V S <sankeerth.vs@samsung.com> on 2013-01-17
Reviewed by Pavel Feldman.

No new tests as this is a UI related change.

* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype.showSearchField):

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

7 years agoEnsure the parser adopts foster-parented children into the document of their parent.
rafaelw@chromium.org [Fri, 18 Jan 2013 05:07:08 +0000 (05:07 +0000)]
Ensure the parser adopts foster-parented children into the document of their parent.
https://bugs.webkit.org/show_bug.cgi?id=107023

Reviewed by Adam Barth.

Source/WebCore:

Tests: fast/parser/foster-parent-adopted.html
       fast/parser/foster-parent-adopted2.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::fosterParent):

LayoutTests:

This patch adopts the child into the parent's document after foster parenting to prevent a child from ending up in the tree with the wrong document.

* fast/parser/foster-parent-adopted-expected.txt: Added.
* fast/parser/foster-parent-adopted.html: Added.
* fast/parser/foster-parent-adopted2-expected.txt: Added.
* fast/parser/foster-parent-adopted2.html: Added.

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

7 years ago[BlackBerry] DRT - Accept http/file URL when running drt-launcher from command line
commit-queue@webkit.org [Fri, 18 Jan 2013 04:41:36 +0000 (04:41 +0000)]
[BlackBerry] DRT - Accept http/file URL when running drt-launcher from command line
https://bugs.webkit.org/show_bug.cgi?id=107107
PR 282192

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2013-01-17
Reviewed by Rob Buis.

The DRT application will convert relative/absolute file path to
file://<real-file-path> format, so we only check for http/file prefix.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::isFullUrl):
(WebKit):
(BlackBerry::WebKit::DumpRenderTree::runCurrentTest):

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

7 years agoIndexedDB: Conditionalize usage of env_idb.h to fix build for non-Chromium ports
mrobinson@webkit.org [Fri, 18 Jan 2013 04:03:36 +0000 (04:03 +0000)]
IndexedDB: Conditionalize usage of env_idb.h to fix build for non-Chromium ports
https://bugs.webkit.org/show_bug.cgi?id=107182

No new tests. This is a build fix.

* platform/leveldb/LevelDBDatabase.cpp: Use the default environment for non-Chromium
ports instead of the Chromium-specific one provided by env_idb.h.

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

7 years agoUpdate GraphicsContext to support winding rule in clip operator for Chromium
commit-queue@webkit.org [Fri, 18 Jan 2013 04:01:33 +0000 (04:01 +0000)]
Update GraphicsContext to support winding rule in clip operator for Chromium
https://bugs.webkit.org/show_bug.cgi?id=106872

Patch by Rik Cabanier <cabanier@adobe.com> on 2013-01-17
Reviewed by Dirk Schulze.

Added support for winding to clip() and canvasClip() functions.

No new tests, no change in behavior.

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::clip): Call clipPath() instead with winding rule.
(WebCore::GraphicsContext::canvasClip): Honor the winding rule.

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

7 years agoRevert r122824 for a while
shinyak@chromium.org [Fri, 18 Jan 2013 03:57:06 +0000 (03:57 +0000)]
Revert r122824 for a while
https://bugs.webkit.org/show_bug.cgi?id=97867

Reviewed by Hajime Morita.

Source/WebCore:

In r122824, we have introduced ImageInnerElement for making an image element ShadowDOM-available.
However, it turned out that making a replaced-element ShadowDOM-available has a lot of difficulty.
So we would like to postpone it for a while.

Since that patch makes an image element really complicated, we would like to revert it.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/html.css:
* html/HTMLImageElement.cpp:
(WebCore):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::createRenderer):
(WebCore::HTMLImageElement::attach):
* html/HTMLImageElement.h:
(WebCore):
(HTMLImageElement):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::HTMLImageLoader):
(WebCore::HTMLImageLoader::dispatchLoadEvent):
(WebCore::HTMLImageLoader::sourceURI):
(WebCore::HTMLImageLoader::notifyFinished):
* html/HTMLImageLoader.h:
(HTMLImageLoader):
* html/HTMLInputElement.h:
* html/HTMLObjectElement.h:
* html/HTMLPlugInElement.h:
(WebCore):
* html/HTMLPlugInImageElement.h:
* html/HTMLTagNames.in:
* html/HTMLVideoElement.h:
* html/shadow/ImageInnerElement.cpp: Removed.
* html/shadow/ImageInnerElement.h: Removed.
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::ImageLoader):
(WebCore::ImageLoader::~ImageLoader):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::renderImageResource):
(WebCore::ImageLoader::updatedHasPendingEvent):
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
(WebCore::ImageLoader::dispatchPendingLoadEvent):
(WebCore::ImageLoader::dispatchPendingErrorEvent):
* loader/ImageLoader.h:
(WebCore):
(ImageLoader):
(WebCore::ImageLoader::element):
* loader/ImageLoaderClient.h: Removed.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintIntoRect):
(WebCore::RenderImage::imageMap):
(WebCore::RenderImage::updateAltText):
* rendering/RenderImage.h:
(WebCore):
(RenderImage):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::shouldRespectImageOrientation):
* svg/SVGImageElement.h:
(SVGImageElement):
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::SVGImageLoader):
(WebCore::SVGImageLoader::dispatchLoadEvent):
(WebCore::SVGImageLoader::sourceURI):
* svg/SVGImageLoader.h:
(SVGImageLoader):

LayoutTests:

* fast/dom/shadow/select-image-with-shadow-expected.txt: Removed.
* fast/dom/shadow/select-image-with-shadow.html: Removed.
* fast/dom/shadow/shadowdom-for-image-alt-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-alt-update-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-alt-update.html: Removed.
* fast/dom/shadow/shadowdom-for-image-alt.html: Removed.
* fast/dom/shadow/shadowdom-for-image-content-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-content.html: Removed.
* fast/dom/shadow/shadowdom-for-image-dynamic-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-dynamic.html: Removed.
* fast/dom/shadow/shadowdom-for-image-event-click-expected.txt: Removed.
* fast/dom/shadow/shadowdom-for-image-event-click.html: Removed.
* fast/dom/shadow/shadowdom-for-image-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-in-shadowdom-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-in-shadowdom.html: Removed.
* fast/dom/shadow/shadowdom-for-image-map-expected.txt: Removed.
* fast/dom/shadow/shadowdom-for-image-map.html: Removed.
* fast/dom/shadow/shadowdom-for-image-style-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-style.html: Removed.
* fast/dom/shadow/shadowdom-for-image-with-multiple-shadow-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-with-multiple-shadow.html: Removed.
* fast/dom/shadow/shadowdom-for-image-with-pseudo-id-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-with-pseudo-id.html: Removed.
* fast/dom/shadow/shadowdom-for-image-with-width-and-height-expected.html: Removed.
* fast/dom/shadow/shadowdom-for-image-with-width-and-height.html: Removed.
* fast/dom/shadow/shadowdom-for-image.html: Removed.

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

7 years agoRemove non-existant test from Mac's TestExpectations
benjamin@webkit.org [Fri, 18 Jan 2013 03:53:52 +0000 (03:53 +0000)]
Remove non-existant test from Mac's TestExpectations

Unreviewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-01-17

* platform/mac/TestExpectations:
track-cue-rendering-inner-timestamps.html has been removed.
drag-and-drop-autoscroll.html was introduced in a patch that has been reverted.

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

7 years agoREGRESSION (r139444): Crashes in three accessibility tests on GTK
commit-queue@webkit.org [Fri, 18 Jan 2013 03:46:37 +0000 (03:46 +0000)]
REGRESSION (r139444): Crashes in three accessibility tests on GTK
https://bugs.webkit.org/show_bug.cgi?id=106922

Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2013-01-17
Reviewed by Chris Fleizach.

Source/WebCore:

r139444 exposed an infinite loop that was just waiting to happen.
Currently, getting the role value of an ARIA table row involves
getting the parent table via parentObjectUnignored() which in turn
can lead to the role value of the table row being checked. Moving
the roleValue() logic to determineAccessibilityRole() avoids this.

This fix, however, introduced a regression when an accessible row
was examined without having first examined the parent table for
non-ARIA tables. Now that it is safe to call parentObjectUnignored(),
the parentTable() method used for ARIA table rows can also be used
by non-ARIA table rows.

No new tests; instead unskipped the three crashing tests.

* accessibility/AccessibilityTableRow.cpp:
(WebCore::AccessibilityTableRow::determineAccessibilityRole):
* accessibility/AccessibilityTableRow.h:
(AccessibilityTableRow):

LayoutTests:

* platform/gtk/TestExpectations: Unskipped the three failing tests

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

7 years agoUpdate GraphicsContext to support winding rule in clip operator for QT
commit-queue@webkit.org [Fri, 18 Jan 2013 03:44:03 +0000 (03:44 +0000)]
Update GraphicsContext to support winding rule in clip operator for QT
https://bugs.webkit.org/show_bug.cgi?id=106873

Patch by Rik Cabanier <cabanier@adobe.com> on 2013-01-17
Reviewed by Dirk Schulze.

Added support for winding to clip() and canvasClip() functions.

No new tests, no change in behavior.

* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::clip): Use passed in winding rule.
(WebCore::GraphicsContext::canvasClip): Rename variable.

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

7 years agoFlakiness dashboard: Add ChromiumFYI master
commit-queue@webkit.org [Fri, 18 Jan 2013 03:35:53 +0000 (03:35 +0000)]
Flakiness dashboard: Add ChromiumFYI master
https://bugs.webkit.org/show_bug.cgi?id=107180

Patch by Frank Farzan <frankf@chromium.org> on 2013-01-17
Reviewed by Ojan Vafai.

This is needed to enable Chrome Android bots
to upload results for instrumentation tests.

* TestResultServer/generate_builders_json.py:
(main):
* TestResultServer/static-dashboards/builders.jsonp:

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

7 years agoAdd Chrome on Android instrumentation test types to flakiness dashboard
commit-queue@webkit.org [Fri, 18 Jan 2013 03:29:03 +0000 (03:29 +0000)]
Add Chrome on Android instrumentation test types to flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=106964

Patch by Frank Farzan <frankf@chromium.org> on 2013-01-17
Reviewed by Ojan Vafai.

Specifically, add these test types:

 androidwebview_instrumentation_tests
 chromiumtestshell_instrumentation_tests
 contentshell_instrumentation_tests

Also, add ChromiumFYI to the list of masters.

* TestResultServer/static-dashboards/builders.js:
(loadBuildersList):
* TestResultServer/static-dashboards/dashboard_base.js:
(currentBuilderGroupCategory):

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

7 years agoUpdate GraphicsContext to support winding rule in clip operator for Cairo
commit-queue@webkit.org [Fri, 18 Jan 2013 03:23:28 +0000 (03:23 +0000)]
Update GraphicsContext to support winding rule in clip operator for Cairo
https://bugs.webkit.org/show_bug.cgi?id=107065

Patch by Rik Cabanier <cabanier@adobe.com> on 2013-01-17
Reviewed by Dirk Schulze.

Added support for winding to clip() and canvasClip() functions.

No new tests, no change in behavior.

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clip): Use passed in winding rule.
(WebCore::GraphicsContext::canvasClip): Rename variable.

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

7 years agoTrack subframe count to avoid traversing the tree when there's no subframes
esprehn@chromium.org [Fri, 18 Jan 2013 03:22:00 +0000 (03:22 +0000)]
Track subframe count to avoid traversing the tree when there's no subframes
https://bugs.webkit.org/show_bug.cgi?id=101821

Reviewed by Ojan Vafai.

Source/WebCore:

Make removeChild 9-14% faster by not walking the descendants looking for
frames when there's known to be no frames.

This is a more generalized version of the fix in Bug 101619 that only
avoided this walk when the whole document had no frames. This patch extends
it to skip traversing subtrees that have no frames by tracking the number of
frames in subtrees and then only walking those subtrees that are known to
contain frames in removeChild.

Test: fast/frames/parser-append-subframe-count.html

* dom/ContainerNode.cpp:
(WebCore::willRemoveChildren):
(WebCore::parserAppendChild):
(WebCore::parserRemoveChild):
(WebCore::parserInsertBefore):
    The parser may move nodes without doing frame disconnection so we
    must maintain the connected subframe count manually during these
    mutations.
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::ChildFrameDisconnector::collectFrameOwners):
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectFrameOwners):
  Renamed from collectDescendant() to better reflect what it really does.
(WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):
  Renamed from disconnect() to better reflect what it really does.
(WebCore::ChildFrameDisconnector::disconnect):
  New method that does the collection of frame owners on either the root
  or only it's descendants.
* dom/Node.cpp:
(WebCore::Node::connectedSubframeCount):
(WebCore::Node::incrementConnectedSubframeCount):
(WebCore::Node::decrementConnectedSubframeCount):
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::connectedSubframeCount):
(WebCore::NodeRareData::incrementConnectedSubframeCount):
(WebCore::NodeRareData::decrementConnectedSubframeCount):
* html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

LayoutTests:

Add a test that when frames are moved around by the parser and not actually
detached we keep the subframe counters of ancestors consistent.

* fast/frames/parser-append-subframe-count-expected.txt: Added.
* fast/frames/parser-append-subframe-count.html: Added.

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

7 years agoFixing webkitpy's SCM unit tests.
commit-queue@webkit.org [Fri, 18 Jan 2013 03:20:29 +0000 (03:20 +0000)]
Fixing webkitpy's SCM unit tests.
https://bugs.webkit.org/show_bug.cgi?id=106429

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

* Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
(SCMDetectorTest.test_detect_scm_system):
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.in_working_directory):
(Git.read_git_config):
(Git._assert_can_squash):
(Git.remote_branch_ref):
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(GitSVNTest.test_commit_with_message_multiple_local_commits_always_squash):
(GitTestWithMock):
(GitTestWithMock.make_scm):
(GitTestWithMock.test_create_patch):
* Scripts/webkitpy/common/system/outputcapture.py:
(OutputCapture.assert_outputs):
(OutputCaptureTestCaseBase):
* Scripts/webkitpy/test/printer.py:
(Printer.configure):

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

7 years agoUnreviewed, re-land r140051.
dominicc@chromium.org [Fri, 18 Jan 2013 03:00:50 +0000 (03:00 +0000)]
Unreviewed, re-land r140051.

I overzealously rolled this out; the test was intended to be
skipped, but was not skipped because of a typo in Skipped. See
<https://bugs.webkit.org/show_bug.cgi?id=107210>

* Parser/html-parser-srcdoc.html: Added.
* Skipped: Big-P Parser.

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

7 years ago[WK2] Minimum layout width auto-sizing should use FrameView::enableAutoSizeMode so...
timothy_horton@apple.com [Fri, 18 Jan 2013 02:39:05 +0000 (02:39 +0000)]
[WK2] Minimum layout width auto-sizing should use FrameView::enableAutoSizeMode so that it can shrink the viewport
https://bugs.webkit.org/show_bug.cgi?id=107200
<rdar://problem/12849029>

Reviewed by Simon Fraser.

Make use of FrameView's auto-size mode to allow WKView's computed intrinsic content
size to shrink below the current viewport size.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMinimumLayoutWidth): Forward minimumLayoutWidth changes to WebPage.
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry): Remove minimumLayoutWidth argument on updateGeometry.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Enable auto-size mode on the new FrameView if needed.
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::updateGeometry): Remove minimumLayoutWidth argument.
* WebProcess/WebPage/DrawingArea.messages.in: Remove minimumLayoutWidth argument on updateGeometry.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialize m_minimumLayoutWidth to 0.
(WebKit::WebPage::setMinimumLayoutWidth): Keep track of minimumLayoutWidth on WebPage. Update auto-sizing state if needed.
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::minimumLayoutWidth):
* WebProcess/WebPage/WebPage.messages.in: Add SetMinimumLayoutWidth.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea): Remove storage for m_minimumLayoutWidth. We can get it from WebPage instead.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged): Grab minimumLayoutWidth from WebPage.
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Don't setSize() if auto-sizing is enabled; FrameView will do the right thing.

* WebCore.exp.in: Export FrameView::enableAutoSize(...).

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

7 years agoObjective-C API: Clean up JSValue.mm
mhahnenberg@apple.com [Fri, 18 Jan 2013 02:33:44 +0000 (02:33 +0000)]
Objective-C API: Clean up JSValue.mm
https://bugs.webkit.org/show_bug.cgi?id=107163

Reviewed by Darin Adler.

m_context is no longer weak, so there is now a lot of dead code in in JSValue.mm, and a wasted message send
on every API call.  In the head of just about every method in JSValue.mm we're doing:

JSContext *context = [self context];
if (!context)
    return nil;

This is getting a retained copy of the context, which is no longer necessary now m_context is no longer weak.
We can just delete all these lines from all functions doing this, and where they were referring to the local
variable 'context', instead we can just access m_context directly.

Since we're already going to be modifying most of JSValue.mm, we'll also do the following:

1) context @property is no longer weak – the context property is declared as:

    @property(readonly, weak) JSContext *context;

This is really only informative (since we're not presently synthesizing the ivar), but it is now misleading.
We should change it to:

    @property(readonly, retain) JSContext *context;

2) the JSContext ivar and accessor can be automatically generated.  Since we're no longer doing anything
special with m_context, we can just let the compiler handle the ivar for us.  We'll delete:

    JSContext *m_context;

and:

    - (JSContext *)context
    {
        return m_context;

    }

and find&replace "m_context" to "_context" in JSValue.mm.

* API/APIJSValue.h:
* API/JSValue.mm:
(-[JSValue toObject]):
(-[JSValue toBool]):
(-[JSValue toDouble]):
(-[JSValue toNumber]):
(-[JSValue toString]):
(-[JSValue toDate]):
(-[JSValue toArray]):
(-[JSValue toDictionary]):
(-[JSValue valueForProperty:]):
(-[JSValue setValue:forProperty:]):
(-[JSValue deleteProperty:]):
(-[JSValue hasProperty:]):
(-[JSValue defineProperty:descriptor:]):
(-[JSValue valueAtIndex:]):
(-[JSValue setValue:atIndex:]):
(-[JSValue isUndefined]):
(-[JSValue isNull]):
(-[JSValue isBoolean]):
(-[JSValue isNumber]):
(-[JSValue isString]):
(-[JSValue isObject]):
(-[JSValue isEqualToObject:]):
(-[JSValue isEqualWithTypeCoercionToObject:]):
(-[JSValue isInstanceOf:]):
(-[JSValue callWithArguments:]):
(-[JSValue constructWithArguments:]):
(-[JSValue invokeMethod:withArguments:]):
(-[JSValue objectForKeyedSubscript:]):
(-[JSValue setObject:forKeyedSubscript:]):
(-[JSValue initWithValue:inContext:]):
(-[JSValue dealloc]):
(-[JSValue description]):

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

7 years ago[chromium] Unreviewed gardening.
hclam@chromium.org [Fri, 18 Jan 2013 02:22:31 +0000 (02:22 +0000)]
[chromium] Unreviewed gardening.

This test times out on Win7 dbg half of the time:
fast/js/toString-and-valueOf-override.html

Mark it as Timeout.

* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Fri, 18 Jan 2013 02:20:44 +0000 (02:20 +0000)]
[Chromium] Unreviewed gardening.

Roll Chromium to 177561.

* DEPS:

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

7 years agoFlakiness dashboard assumes there must be ToT tests
jparent@chromium.org [Fri, 18 Jan 2013 02:16:48 +0000 (02:16 +0000)]
Flakiness dashboard assumes there must be ToT tests
https://bugs.webkit.org/show_bug.cgi?id=107155

Remove group as a default parameter, since we can't actually know
the name of a group initially.  Instead, introduces
currentBuilderGroupName which returns the current builder group
if it has been explicitly set, or picks the first one available
as a default. Allows us to remove some extra code tracking this
stuff as well.

Reviewed by Ojan Vafai.

* TestResultServer/static-dashboards/dashboard_base.js:
(parseCrossDashboardParameters):
(currentBuilderGroupName):
(currentBuilderGroup):
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(platformAndBuildType):
* TestResultServer/static-dashboards/loader.js:
(.):

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Fri, 18 Jan 2013 02:13:22 +0000 (02:13 +0000)]
[Chromium] Unreviewed gardening.

Broaden the failure expectations of these tests:

scrollingcoordinator/non-fast-scrollable-region-scaled-iframe.html
scrollingcoordinator/non-fast-scrollable-region-transformed-iframe.html

These fail pixel tests by painting the system theme scrollbar; see
<http://bugs.webkit.org/show_bug.cgi?id=106858>

* platform/chromium/TestExpectations:

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

7 years agoDo not track user interaction for plugins that are not snapshotted
jonlee@apple.com [Fri, 18 Jan 2013 02:09:21 +0000 (02:09 +0000)]
Do not track user interaction for plugins that are not snapshotted
https://bugs.webkit.org/show_bug.cgi?id=107211
<rdar://problem/12967277>

Reviewed by Dean Jackson.

When the user interacts with a snapshotted plug-in, we extend that plug-in origin's
expiration date. However, plug-ins may not be snapshotted for other reasons than the
user's initial opt-in. In this case, that plug-in's origin might be not be in the cached
table. This is an edge case that was not initially considered.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::plugInDidReceiveUserInteraction): Convert the assertion to an if
check, and return early if the entry is not found in the cache table.

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

7 years agoUnreviewed, rolling out r139402.
commit-queue@webkit.org [Fri, 18 Jan 2013 02:06:07 +0000 (02:06 +0000)]
Unreviewed, rolling out r139402.
http://trac.webkit.org/changeset/139402
https://bugs.webkit.org/show_bug.cgi?id=107212

Perf regression on DOMDivWalk (Requested by falken_ on
#webkit).

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

Source/WebCore:

* dom/Element.cpp:
(WebCore::Element::removedFrom):
(WebCore::Element::setIsInTopLayer):

LayoutTests:

* fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer-expected.html: Removed.
* fast/dom/HTMLDialogElement/removed-element-is-removed-from-top-layer.html: Removed.
* fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd-expected.html: Removed.
* fast/dom/HTMLDialogElement/top-layer-stacking-correct-order-remove-readd.html: Removed.

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

7 years agoBackgroundHTMLParser should go 18% faster on html-parser-srcdoc benchmark
abarth@webkit.org [Fri, 18 Jan 2013 02:00:52 +0000 (02:00 +0000)]
BackgroundHTMLParser should go 18% faster on html-parser-srcdoc benchmark
https://bugs.webkit.org/show_bug.cgi?id=107201

Reviewed by Tony Gentilcore.

Prior to this patch, we would tokenize all the input before delivering
any tokens to the main thread. Effectively, that prevented the
background parser from running in parallel with the main thread.

This patch causes us to send tokens to the main thread periodically.
The constant in this patch is somewhat arbitrary. We'll need to tune it
later with more realistic workloads.

This patch improves the performance of the html-parser-srcdoc benchmark
by 18%. (This patch is based on Eric's work in
https://github.com/tonygentilcore/webkit/commit/072331194520c7770b5e34baefbbbba948834971.)

* html/parser/BackgroundHTMLParser.cpp:
(WebCore):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):

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

7 years agoUnreviewed, rolling out r140051.
dominicc@chromium.org [Fri, 18 Jan 2013 01:58:12 +0000 (01:58 +0000)]
Unreviewed, rolling out r140051.
http://trac.webkit.org/changeset/140051
https://bugs.webkit.org/show_bug.cgi?id=107210

html-parser-srcdoc.html failing on Chromium Linux Perf and
Chromium Mac Perf with a lot of error spew about blocked
script execution in 'about:srcdoc' (Requested by dominicc on
#webkit).

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

* Parser/html-parser-srcdoc.html: Removed.
* Skipped:

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

7 years ago[chromium] Test expectations update
hclam@chromium.org [Fri, 18 Jan 2013 01:47:51 +0000 (01:47 +0000)]
[chromium] Test expectations update
https://bugs.webkit.org/show_bug.cgi?id=107209

Mark this test as crash on debug builds:
fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html

This crash seems to be caused by r140024.

* platform/chromium/TestExpectations:

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

7 years ago[chromium] Disable a unit test
hclam@chromium.org [Fri, 18 Jan 2013 01:35:24 +0000 (01:35 +0000)]
[chromium] Disable a unit test
https://bugs.webkit.org/show_bug.cgi?id=107206

Unreviewed. Disable a failing test due to 140025.

* tests/WebFrameTest.cpp:

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

7 years agoTop layer fails for inline elements
falken@chromium.org [Fri, 18 Jan 2013 01:34:29 +0000 (01:34 +0000)]
Top layer fails for inline elements
https://bugs.webkit.org/show_bug.cgi?id=106538

Reviewed by Hajime Morita.

Source/WebCore:

This patch makes position 'static' and 'relative' compute to
'absolute' for elements in the top layer, as mandated by the
Fullscreen spec.[1] By doing so, we also fix a crash that occurred in
RenderLayer::rebuildZOrderLists when an inline element wrapped in an
anonymous block was added to the top layer.

[1]: http://fullscreen.spec.whatwg.org/#new-stacking-layer

Tests: fast/dom/HTMLDialogElement/element-removed-from-top-layer-has-original-position.html
       fast/dom/HTMLDialogElement/top-layer-position-relative.html
       fast/dom/HTMLDialogElement/top-layer-position-static.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle): Set position 'absolute'
for an element in the top layer. Typically, absolutely positioned
elements also automatically get display 'block', but it seems we must do
that manually here. We require display 'block' to ensure the renderer is not
considered inline and consequently wrapped in an anonymous block.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::rebuildZOrderLists): Check node() so we don't
crash on, e.g., an anonymous block. We don't expect top layer
renderers to have anonymous blocks anymore, but we nevertheless
shouldn't crash if some other renderer is parented by RenderView.

LayoutTests:

* fast/dom/HTMLDialogElement/element-removed-from-top-layer-has-original-position-expected.html: Added.
* fast/dom/HTMLDialogElement/element-removed-from-top-layer-has-original-position.html: Added.
* fast/dom/HTMLDialogElement/top-layer-position-relative-expected.html: Added.
* fast/dom/HTMLDialogElement/top-layer-position-relative.html: Added.
* fast/dom/HTMLDialogElement/top-layer-position-static-expected.html: Added.
* fast/dom/HTMLDialogElement/top-layer-position-static.html: Added.

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

7 years ago[chromium] Test expectations update
hclam@chromium.org [Fri, 18 Jan 2013 01:29:49 +0000 (01:29 +0000)]
[chromium] Test expectations update
https://bugs.webkit.org/show_bug.cgi?id=107204

Mark this test as flaky:
fast/events/touch/multi-touch-inside-iframes.html

* platform/chromium/TestExpectations:

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

7 years agoFix crash accessing RenderView's layer's backing when not composited
simon.fraser@apple.com [Fri, 18 Jan 2013 01:07:13 +0000 (01:07 +0000)]
Fix crash accessing RenderView's layer's backing when not composited
https://bugs.webkit.org/show_bug.cgi?id=107203

Reviewed by Benjamin Poulain.

The RenderView isn't always layer-backed in WebKit1, so null-check the backing.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged):

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

7 years agoRemove NodeListsNodeData when it's no longer needed
rniwa@webkit.org [Fri, 18 Jan 2013 00:35:57 +0000 (00:35 +0000)]
Remove NodeListsNodeData when it's no longer needed
https://bugs.webkit.org/show_bug.cgi?id=107074

Reviewed by Darin Adler.

PerformanceTests:

Added a micro benchmark to see the benefit of removing NodeListsNodeData.
The test traverses all elements in the html5 specification page and accesses childNodes.

Don't enable this test for now since it's really a micro benchmark specifically
designed to test this patch.

* DOM/TraverseChildNodes.html: Added.
* Skipped: Don't enable newly added test by default.
* resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as
opposed to scaled units such as "K bytes".
* resources/runner.js:
(.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that
it'll be ran for all test types, namely of PerfTestRunner.measureTime.
(.measureRunsPerSecondOnce):

Source/WebCore:

Remove NodeListsNodeData when the last node list is removed from it.

If we detect that we have only one node list left in the data structure,
we'll simply destroy the entire "this" object to free up the memory space.

This reduced the memory usage of the micro benchmark by roughly 3%.

Performance Tests: DOM/TraverseChildNodes.html

* dom/Node.cpp:
(WebCore::Node::clearNodeLists): Added.
* dom/Node.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::removeChildNodeList):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::removeCacheWithQualifiedName):
(WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList): Added.
Removes "this" NodeListsNodeData if there is only one node list left.

Tools:

Generalize the warning a little so that it's also ignored on PerformanceTests/DOM/TraverseChildNodes.html

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):

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

7 years agoHeap-use-after-free in WebCore::RenderBlock::checkFloatsInCleanLine
inferno@chromium.org [Fri, 18 Jan 2013 00:22:41 +0000 (00:22 +0000)]
Heap-use-after-free in WebCore::RenderBlock::checkFloatsInCleanLine
https://bugs.webkit.org/show_bug.cgi?id=90802

Reviewed by Julien Chaffraix.

Source/WebCore:

Test: fast/multicol/float-not-removed-crash.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::moveChildrenTo):
1. When fullRemoveInsert is True, make sure to clear the
floating objects from our list (similar to positioned objects).
Our children are getting moved to another block and we won't
get notified when they are going away.
2. Remove the redundant hasPositionedObjects check since it
is already done inside removePositionedObjects.

LayoutTests:

* fast/multicol/float-not-removed-crash-expected.txt: Added.
* fast/multicol/float-not-removed-crash.html: Added.

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

7 years agoMake it possible for the root background to be painted into its own GraphicsLayer
simon.fraser@apple.com [Fri, 18 Jan 2013 00:10:53 +0000 (00:10 +0000)]
Make it possible for the root background to be painted into its own GraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=107177

Source/WebCore:

Reviewed by Dave Hyatt.

Make it possible to paint the root background into its own GraphicsLayer, and enable
this when the root background has background-images that are all background-attachment: fixed.

This is a step towards optimizing scrolling on pages with fixed root backgrounds.

Tests: platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer.html
       platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html
       platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html
       platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed.html
       platform/mac/tiled-drawing/fixed-background/fixed-body-background.html
       platform/mac/tiled-drawing/fixed-background/fixed-html-background.html
       platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html

* rendering/PaintInfo.h:
(WebCore::PaintInfo::skipRootBackground): Utility function to check the paintBehavior flag.
(WebCore::PaintInfo::paintRootBackgroundOnly): Ditto.
* rendering/PaintPhase.h: New paint behavior flags to indicate that we should skip painting
the root background, and only paint the root background.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint): When we're only painting the root background, avoid painting column
rules, and bail early.
(WebCore::RenderBlock::paintObject): Don't paint children if we're just painting the root background.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange): If this box can paint the root background, tell the compositor
when the fixedness of those backgrounds changes.
(WebCore::RenderBox::paintRootBoxFillLayers): If the paintBehavior flag is set to skip painting the root
background, bail. This will be true for the non-background GraphicsLayers which are painting the root.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents): We can bail early if we're not a root-like renderer and the
flag is set to paint the root background only. This avoids walking the whole layer tree when just painting
into the root background GraphicsLayer.
Migrate layer paint flags into PaintBehavior flags, and use them.
* rendering/RenderLayer.h: Layer painting flags that replicate the paintBehavior flags.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking): Init the m_backgroundLayerPaintsFixedRootBackground bit.
(WebCore::RenderLayerBacking::~RenderLayerBacking): Clear the background layer.
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): No need to handle the transparent background
stuff here. We'll do it later in updateRootLayerConfiguration().
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Actually make a background layer now
if the compositor says we should.
Call updateRootLayerConfiguration() to adjust the background color and opaqueness of the background/primary layers.
(WebCore::RenderLayerBacking::updateInternalHierarchy): Parent the m_backgroundLayer in the containment layer,
not m_graphicsLayer (this is a bug fix).
(WebCore::RenderLayerBacking::updateDrawsContent):
(WebCore::RenderLayerBacking::setBackgroundLayerPaintsFixedRootBackground):
(WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
(WebCore::RenderLayerBacking::updateBackgroundColor): This no longer needs to update the tile cache
background color; updateRootLayerConfiguration() does this now.
(WebCore::RenderLayerBacking::updateRootLayerConfiguration): Update the opaqueness and background color
of the background and/or main graphics layers.
(WebCore::RenderLayerBacking::setContentsNeedDisplay): Invalidate the background layer if we have one.
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Invalidate the background layer if we have one.
This will be optimized to only repaint the background if it was the background that changed.
(WebCore::RenderLayerBacking::paintIntoLayer): Take a GraphicsLayer, not a RenderLayer argument.
Adjust the paintFlags if we're being asked to paint the background layer, or if we have one, but are painting the foreground.
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
(WebCore::RenderLayerBacking::reportMemoryUsage):
* rendering/RenderLayerBacking.h:
(WebCore::RenderLayerBacking::backgroundLayer):
(WebCore::RenderLayerBacking::backgroundLayerPaintsFixedRootBackground):
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged): If we're told that the fixed-ness of
the root background changed and we're using a TileCache, we need to re-evaluate compositing (this could be
optimized to only update the root layer).
(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer): For the root (RenderView's) layer,
check whether the renderer that will paint the root (taking background propagation into account) has
background images that are all fixed.
(WebCore::RenderLayerCompositor::fixedRootBackgroundLayer): Accessor for the GraphicsLayer that paints
the root background (will be used later).
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hasEntirelyFixedBackground): Returns true there are background images
and all are fixed.
* rendering/RenderObject.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations): This function paints a solid color if we know that the root
isn't going to fill the viewport; we want to avoid this painting if we're not painting the root background
in this pass.
* rendering/style/RenderStyle.cpp:
(WebCore::allLayersAreFixed):
(WebCore::RenderStyle::hasEntirelyFixedBackground): New helper function.
* rendering/style/RenderStyle.h:

LayoutTests:

Reviewed by Dave Hyatt.

New tests with results for a fixed root background layer when using tiled drawing.

* platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-body-layer.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-opacity-html.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-transformed-html.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background-zoomed.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-body-background.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-html-background-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-html-background-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-html-background.html: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.png: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt: Added.
* platform/mac/tiled-drawing/fixed-background/fixed-non-propagated-body-background.html: Added.

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

7 years agoRef test images are upside-down in WebKit2
simon.fraser@apple.com [Fri, 18 Jan 2013 00:10:40 +0000 (00:10 +0000)]
Ref test images are upside-down in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=105457

Reviewed by Sam "Speedy" Weinig.

The bitmap context created in TestInvocation::dumpPixelsAndCompareWithExpected()
from the window snapshot contained a flipped copy of the image, causing all ref
and pixel images to be upside-down.

* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

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

7 years agoAllow PaintInfo to carry all PaintBehavior flags
simon.fraser@apple.com [Fri, 18 Jan 2013 00:10:31 +0000 (00:10 +0000)]
Allow PaintInfo to carry all PaintBehavior flags
https://bugs.webkit.org/show_bug.cgi?id=106980

Reviewed by Beth Dakin.

In r139908 I missed one instance of the PaintInfo constructor that should take PaintBehaviorNormal
instead of "false".

* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):

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

7 years ago[chromium] Test expectations update
hclam@chromium.org [Fri, 18 Jan 2013 00:08:58 +0000 (00:08 +0000)]
[chromium] Test expectations update

Unreviewed build fix. Update test expectations to reflect crashing tests:
http/tests/appcache/fail-on-update.html
http/tests/appcache/fail-on-update-2.html

* platform/chromium/TestExpectations:

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

7 years ago[Template] Avoid reading beyond the end of the buffer in preload scanner when check...
rafaelw@chromium.org [Fri, 18 Jan 2013 00:06:54 +0000 (00:06 +0000)]
[Template] Avoid reading beyond the end of the buffer in preload scanner when check for </template>
https://bugs.webkit.org/show_bug.cgi?id=107143

Reviewed by Adam Barth.

This patch corrects to use AtomicString constructor which takes an explicit size. Additionally, the logic
for exiting early is slightly improved.

No new tests.

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::PreloadTask::PreloadTask):
(WebCore::HTMLPreloadScanner::processToken):

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

7 years ago[TexMap] Match initializing members in GraphicsLayerTransform to initializing members...
commit-queue@webkit.org [Fri, 18 Jan 2013 00:04:37 +0000 (00:04 +0000)]
[TexMap] Match initializing members in GraphicsLayerTransform to initializing members in GraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=107090

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-17
Reviewed by Noam Rosenthal.

GraphicsLayer initializes m_anchorPoint to FloatPoint3D(0.5, 0.5, 0) and
m_preserves3D to false, while GraphicsLayerTransform initializes m_anchorPoint
to FloatPoint3D(0, 0, 0) and m_flattening (= !m_preserves3D) to false. It is a
potential bug. This patch corrects initialization of GraphicsLayerTransform.

Covered by existing compositing pixel tests.

* platform/graphics/GraphicsLayerTransform.cpp:
(WebCore::GraphicsLayerTransform::GraphicsLayerTransform):

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

7 years agoScriptDebugServer::didExecuteProgram should not try to pop stack if there is no stack...
fpizlo@apple.com [Thu, 17 Jan 2013 23:52:40 +0000 (23:52 +0000)]
ScriptDebugServer::didExecuteProgram should not try to pop stack if there is no stack to pop
https://bugs.webkit.org/show_bug.cgi?id=107186

Reviewed by Geoffrey Garen.

No new tests, because I'm not sure how to test this. I can repro it on a gnarly web site,
but I don't know how to create a reduced case that triggers it.

* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::didExecuteProgram):

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

7 years agoBuild fix. Bad merge.
timothy@apple.com [Thu, 17 Jan 2013 23:25:59 +0000 (23:25 +0000)]
Build fix. Bad merge.

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

7 years ago[GTK] IndexedDB: Add LevelDB headers to include path if IndexedDB is enabled
commit-queue@webkit.org [Thu, 17 Jan 2013 23:23:09 +0000 (23:23 +0000)]
[GTK] IndexedDB: Add LevelDB headers to include path if IndexedDB is enabled
https://bugs.webkit.org/show_bug.cgi?id=107181

Patch by Michael Pruett <michael@68k.org> on 2013-01-17
Reviewed by Martin Robinson.

No new tests as this is just a build change.

* GNUmakefile.am:

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

7 years agoThe threaded html parser hangs when parsing empty documents (and about:blank)
eric@webkit.org [Thu, 17 Jan 2013 23:21:25 +0000 (23:21 +0000)]
The threaded html parser hangs when parsing empty documents (and about:blank)
https://bugs.webkit.org/show_bug.cgi?id=107160

Reviewed by Tony Gentilcore.

This is covered by many existing tests including the html5lib suite.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::finish):

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

7 years agoimageSmoothingEnabled frequent, unpredictable crashes
commit-queue@webkit.org [Thu, 17 Jan 2013 23:17:24 +0000 (23:17 +0000)]
imageSmoothingEnabled frequent, unpredictable crashes
https://bugs.webkit.org/show_bug.cgi?id=107161

Patch by Alexis Hetu <sugoi@chromium.org> on 2013-01-17
Reviewed by Stephen White.

Source/WebCore:

Added a NULL pointer check to fix a crash.

Test: fast/canvas/canvas-imageSmoothingEnabled-zero-size.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):

LayoutTests:

Added a layout test for setting image smoothing enabled on a 0 sized
canvas.

* fast/canvas/canvas-imageSmoothingEnabled-zero-size-expected.txt: Added.
* fast/canvas/canvas-imageSmoothingEnabled-zero-size.html: Added.

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

7 years agoUnreviewed, rolling out r140049.
commit-queue@webkit.org [Thu, 17 Jan 2013 23:08:43 +0000 (23:08 +0000)]
Unreviewed, rolling out r140049.
http://trac.webkit.org/changeset/140049
https://bugs.webkit.org/show_bug.cgi?id=107187

Breaks lots of stuff (Requested by schenney on #webkit).

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

Source/WebCore:

* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::setPreserveAspectRatioString):
(WebCore):
(WebCore::SVGViewSpec::viewTarget):
(WebCore::SVGViewSpec::transform):
(WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
(WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
(WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
* svg/SVGViewSpec.h:
(SVGViewSpec):
(WebCore::SVGViewSpec::viewBoxAnimated):
(WebCore::SVGViewSpec::preserveAspectRatioAnimated):
* svg/SVGViewSpec.idl:

LayoutTests:

* svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt: Removed.
* svg/dom/SVGViewSpec-invalid-ref-crash.html: Removed.

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

7 years agoThreaded parser hangs when encountering an unmatched </script> tag
eric@webkit.org [Thu, 17 Jan 2013 23:06:00 +0000 (23:06 +0000)]
Threaded parser hangs when encountering an unmatched </script> tag
https://bugs.webkit.org/show_bug.cgi?id=107170

Reviewed by Adam Barth.

The bug was that the BackgroundHTMLParser naively yields to the
main thread every time it encounters a </script>
(as we may have to run script on the main thread).  However, not every
</script> results in script execution, so the main thread needs to know
how to tell the BackgroundHTMLParser to continue in cases where no
script execution is needed.

This whole infrastructure will be replaced when we let the BackgroundHTMLParser
continue speculatively tokenizing after yielding.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::TokenDelivery::TokenDelivery):
(TokenDelivery):
(WebCore::TokenDelivery::execute):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):

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

7 years ago REGRESSION (r139516): NetworkResourceLoadScheduler::receivedRedirect is not...
ap@apple.com [Thu, 17 Jan 2013 23:02:50 +0000 (23:02 +0000)]
    REGRESSION (r139516): NetworkResourceLoadScheduler::receivedRedirect is not called.

        Rubber-stamped by Brady Eidson.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::willSendRequest): Reverted a small part of r139516.

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

7 years agoCoordinated Graphics: Remove redundant behaviors in LayerTreeRenderer.
commit-queue@webkit.org [Thu, 17 Jan 2013 22:55:06 +0000 (22:55 +0000)]
Coordinated Graphics: Remove redundant behaviors in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=107084

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-17
Reviewed by Noam Rosenthal.

There are two changes.
1. It is redundant to call GraphicsLayer::removeFromParent() or
GraphicsLayer::removeAllChildren() before deleting GraphicsLayer, because the
destructor of GraphicsLayerTextureMapper removes a parent and all children.
2. LayerTreeRenderer::setRootLayerID() does not need to remove all children of
rootLayer because this method can be called only once.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::setRootLayerID):
(WebKit::LayerTreeRenderer::purgeGLResources):

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

7 years agoFix build.
timothy@apple.com [Thu, 17 Jan 2013 22:54:57 +0000 (22:54 +0000)]
Fix build.

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

7 years agoAdd a version of the html-parser benchmark which uses srcdoc instead of document...
eric@webkit.org [Thu, 17 Jan 2013 22:53:14 +0000 (22:53 +0000)]
Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
https://bugs.webkit.org/show_bug.cgi?id=107158

Reviewed by Ryosuke Niwa.

Currently this test even opts-in to the threaded parser if available.
We'll remove that line when the threaded parser becomes default or goes away.

* Parser/html-parser-srcdoc.html: Added.

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

7 years agoStop the background parser when canceling parsing to avoid crashing on many layout...
eric@webkit.org [Thu, 17 Jan 2013 22:52:51 +0000 (22:52 +0000)]
Stop the background parser when canceling parsing to avoid crashing on many layout tests
https://bugs.webkit.org/show_bug.cgi?id=107159

Reviewed by Adam Barth.

Covered by many existing tests.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::stopParsing):

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

7 years agoSVGViewSpec fails when corresponding element has been removed
schenney@chromium.org [Thu, 17 Jan 2013 22:51:03 +0000 (22:51 +0000)]
SVGViewSpec fails when corresponding element has been removed
https://bugs.webkit.org/show_bug.cgi?id=106957

Reviewed by Dirk Schulze.

Source/WebCore:

When JS holds an SVGViewSpec object while deleting the object that
defines the spec (an SVGSVGElement, or one of a few others) the
pointer to the target is cleared in the SVGViewSpec but the methods
that serve JS queries do not check and try to access the now null
target. This atch fixes the prooblem, throwing JS exceptions where
possible and returning null where necessary.

Test: svg/dom/SVGViewSpec-invalid-ref-crash.html

* svg/SVGViewSpec.cpp:
(WebCore):
(WebCore::SVGViewSpec::viewTarget): Check for null target and throw an exception.
(WebCore::SVGViewSpec::transform): Check for null target and return
null. It is not possible to throw an exception here because it leads
to an invalid cast in the code generated from IDLs.
(WebCore::SVGViewSpec::viewBoxAnimated): Check for null target and throw an exception.
(WebCore::SVGViewSpec::preserveAspectRatioAnimated): Check for null target and throw an exception.
(WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper): ASSERT non-null target
(WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper): ASSERT non-null target
(WebCore::SVGViewSpec::lookupOrCreateTransformWrapper): ASSERT non-null target
* svg/SVGViewSpec.h:
(SVGViewSpec): Add Exception arguments to getter methods.
* svg/SVGViewSpec.idl: Mark attributes as throwing exceptions.

LayoutTests:

Test for the situation in which the target of an SVGViewSpec is
removed while the view spec lives on in JS.

* svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt: Added.
* svg/dom/SVGViewSpec-invalid-ref-crash.html: Added.

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

7 years agoIndexedDB: Remove unnecessary call to IDBDatabaseBackendInterface::metadata()
alecflett@chromium.org [Thu, 17 Jan 2013 22:46:46 +0000 (22:46 +0000)]
IndexedDB: Remove unnecessary call to IDBDatabaseBackendInterface::metadata()
https://bugs.webkit.org/show_bug.cgi?id=107142

Reviewed by Kentaro Hara.

This call isn't necessary, and probably slipped through an earlier review
because of the mention of 'm_metadata'.

No new tests, as this code has no side effects and all tests sill pass.

* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::count):

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

7 years agoTable layout does not need to explicitly call computePreferredLogicalWidths
ojan@chromium.org [Thu, 17 Jan 2013 22:41:14 +0000 (22:41 +0000)]
Table layout does not need to explicitly call computePreferredLogicalWidths
https://bugs.webkit.org/show_bug.cgi?id=106931

Reviewed by Julien Chaffraix.

Code shouldn't need to explicitly call computePreferredLogicalWidths.
It should only get called as a by-product of calling minPreferredLogicalWidth
or maxPreferredLogicalWidth.

Instead, make it clear that the calling code is just trying to clear
preferred width dirty bits.

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
The computePreferredLogicalWidths call on the table cell is redundant
with the minPreferredLogicalWidth call on the next line.

* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
We only need to clear the dirty bit here. Table cells don't use
their preferred widths in fixed table layout calculations.

* rendering/RenderTableCell.h:
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::clearPreferredLogicalWidthsDirtyBits):
* rendering/RenderTableCol.h:

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

7 years ago[BlackBerry] InRegionScroller should notify client before it deletes all the scrollables
yoli@rim.com [Thu, 17 Jan 2013 22:38:23 +0000 (22:38 +0000)]
[BlackBerry] InRegionScroller should notify client before it deletes all the scrollables
https://bugs.webkit.org/show_bug.cgi?id=107162

Reviewed by Rob Buis.
Internally reviewed by Gen Mak and Mike Fenton.

Move the notification code from notifyInRegionScrollStopped() to reset() as there are
other places where reset() gets called.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::reset):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):

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

7 years ago[CSS Grid Layout] Updating -webkit-grid-rows or -webkit-grid-columns doesn't work...
jchaffraix@webkit.org [Thu, 17 Jan 2013 22:35:24 +0000 (22:35 +0000)]
[CSS Grid Layout] Updating -webkit-grid-rows or -webkit-grid-columns doesn't work as expected
https://bugs.webkit.org/show_bug.cgi?id=107062

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html
       fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html

This change makes -webkit-grid-rows and -webkit-grid-columns dynamic change properly
relayout their children, thus making them work!

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems):
Fixed the logic to force a grid item relayout if the grid area size changes. This is the
safest approach as margins or paddings can also be a percent of the grid area's size.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
Fixed a dumb mistake.

LayoutTests:

* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update-expected.txt: Added.
* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html: Added.
* fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update-expected.txt: Added.
* fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html: Added.

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

7 years agoMake logging console messages to STDOUT work in WebKit2 via a new setting.
timothy@apple.com [Thu, 17 Jan 2013 22:32:22 +0000 (22:32 +0000)]
Make logging console messages to STDOUT work in WebKit2 via a new setting.

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

Reviewed by Joseph Pecoraro.

Source/WebCore:

* page/Console.cpp:
(WebCore::Console::addMessage): Check logsPageMessagesToSystemConsoleEnabled().
(WebCore::internalAddMessage): Ditto. Refactored to return early and drop printExceptions argument.
(WebCore::Console::error): Removed call to shouldPrintExceptions().
(WebCore::Console::log): Ditto.
(WebCore::Console::warn): Ditto.
(WebCore::Console::dir): Ditto.
(WebCore::Console::dirxml): Ditto.
(WebCore::Console::clear): Ditto.
(WebCore::Console::trace): Ditto.
(WebCore::Console::assertCondition): Ditto.
* page/Settings.in: Added logsPageMessagesToSystemConsoleEnabled.

Source/WebKit2:

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled): Added.
(WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled): Added.
* UIProcess/API/C/WKPreferencesPrivate.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::createInspectorPageGroup): Enable logging in debug builds.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Set new setting in WebCore.

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

7 years ago[BlackBerry] Fix selection handle appearance for RTL text.
mifenton@rim.com [Thu, 17 Jan 2013 22:31:42 +0000 (22:31 +0000)]
[BlackBerry] Fix selection handle appearance for RTL text.
https://bugs.webkit.org/show_bug.cgi?id=107043

Reviewed by Rob Buis.

PR 263585.

Invert the reported selection handle position if to match
the visual order instead of the logical order to create the
desired appearance for RTL text and directional selections.

Reviewed Internally by Gen Mak and Nima Ghanavatian.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):

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

7 years ago[chromium] Fix layout test expectations.
hclam@chromium.org [Thu, 17 Jan 2013 22:23:29 +0000 (22:23 +0000)]
[chromium] Fix layout test expectations.

Not reviewed. Update layout test expectations.

http/tests/appcache/fail-on-update.html is crashing, mark it so.

* platform/chromium/TestExpectations:

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

7 years agoTeach Functional.h about WeakPtr
abarth@webkit.org [Thu, 17 Jan 2013 22:17:12 +0000 (22:17 +0000)]
Teach Functional.h about WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=107105

Reviewed by Anders Carlsson.

A common pattern in cross-thread communication is to call member
functions of an object on a remote thread. If the caller's reference to
the object on the remote thread is a WeakPtr, the caller usually wants
to validate that the object still exists when the call actually takes
place.

It's possible to do this manually for every cross-thread call, but that
is tiresome and error prone. Instead, we can teach bind to validate
WeakPtr arguments when passed as the "this" parameter to a member
function.

* wtf/Functional.h:
(WTF::ParamStorageTraits::validate):

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

7 years agoUnreviewed, rolling out r140023.
commit-queue@webkit.org [Thu, 17 Jan 2013 22:06:13 +0000 (22:06 +0000)]
Unreviewed, rolling out r140023.
http://trac.webkit.org/changeset/140023
https://bugs.webkit.org/show_bug.cgi?id=107176

Broke some tests (Requested by anttik on #webkit).

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

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createReplacementRunIn):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
* rendering/RenderDeprecatedFlexibleBox.h:
(RenderDeprecatedFlexibleBox):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
(RenderDetailsMarker):
* rendering/RenderDialog.h:
(WebCore::RenderDialog::RenderDialog):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
(RenderFieldset):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
(RenderFullScreen::RenderFullScreen):
(RenderFullScreen::wrapRenderer):
* rendering/RenderFullScreen.h:
(RenderFullScreen):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
* rendering/RenderGrid.h:
(RenderGrid):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
* rendering/RenderImage.h:
(RenderImage):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::addChildIgnoringContinuation):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):
(WebCore::RenderLayer::createReflection):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderListItem.h:
(RenderListItem):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::RenderListMarker):
* rendering/RenderListMarker.h:
(RenderListMarker):
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
* rendering/RenderMediaControlElements.h:
(RenderMediaVolumeSliderContainer):
(RenderMediaControlTimeDisplay):
(RenderTextTrackContainerElement):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
* rendering/RenderObject.h:
(WebCore::RenderObject::setIsAnonymous):
(RenderObject):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
(RenderRegion):
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::RenderRegionSet):
* rendering/RenderRegionSet.h:
(RenderRegionSet):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::RenderReplica):
* rendering/RenderReplica.h:
(RenderReplica):
* rendering/RenderRuby.cpp:
(WebCore::createAnonymousRubyInlineBlock):
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
(RenderRubyAsInline):
(RenderRubyAsBlock):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
* rendering/RenderRubyBase.h:
(RenderRubyBase):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):
* rendering/RenderRubyRun.h:
(RenderRubyRun):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
(RenderRubyText):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::RenderScrollbarPart):
* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::RenderSearchField):
* rendering/RenderSearchField.h:
(RenderSearchField):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::createAnonymousWithParentRenderer):
* rendering/RenderTable.h:
(RenderTable):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
(RenderTableCaption):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::createAnonymousWithParentRenderer):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
(RenderTableCol):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::createAnonymousWithParentRenderer):
* rendering/RenderTableRow.h:
(RenderTableRow):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::createAnonymousWithParentRenderer):
* rendering/RenderTableSection.h:
(RenderTableSection):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
(RenderTextControl):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
* rendering/RenderTextControlMultiLine.h:
(RenderTextControlMultiLine):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* rendering/RenderWidget.h:
(RenderWidget):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
(RenderMathMLBlock):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createGlyph):
* rendering/mathml/RenderMathMLOperator.h:
(RenderMathMLOperator):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow):
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLRow.h:
(RenderMathMLRow):
* rendering/style/ContentData.cpp:
(WebCore::ImageContentData::createRenderer):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::RenderSVGInline):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGTSpan.cpp:
(WebCore::RenderSVGTSpan::RenderSVGTSpan):
* rendering/svg/RenderSVGTSpan.h:
(RenderSVGTSpan):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:
(RenderSVGTextPath):

Source/WebKit/chromium:

* tests/RenderTableCellTest.cpp:
* tests/RenderTableRowTest.cpp:

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

7 years agoEach NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders
beidson@apple.com [Thu, 17 Jan 2013 21:55:47 +0000 (21:55 +0000)]
Each NetworkConnectionToWebProcess should keep its own map of NetworkResourceLoaders
https://bugs.webkit.org/show_bug.cgi?id=107166

Reviewed by Alexey Proskuryakov.

NetworkConnectionToWebProcess now keeps its own id->loader map so it can directly address them as needed:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
* NetworkProcess/NetworkConnectionToWebProcess.h:

NetworkResourceLoadScheduler no longer keeps an identifier -> loader map:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
* NetworkProcess/NetworkResourceLoadScheduler.h:

There is no longer such a thing as NetworkConnectionToWebProcessObserver:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::connectionToWebProcessDidClose):
* NetworkProcess/NetworkResourceLoader.h:

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

7 years ago Fix a logic error in AuthenticationChallengeMac
ap@apple.com [Thu, 17 Jan 2013 21:50:50 +0000 (21:50 +0000)]
    Fix a logic error in AuthenticationChallengeMac
        https://bugs.webkit.org/show_bug.cgi?id=107164

        Reviewed by Brady Eidson.

        No new tests, as this is not currently observable.

        * platform/network/cf/AuthenticationCF.cpp:
        (WebCore::createCF): Added a FIXME about making this more like Mac counterpart.

        * platform/network/cf/AuthenticationChallenge.h:
        (AuthenticationChallenge): Corrected an slightly misleading explanation.

        * platform/network/mac/AuthenticationMac.mm:
        (WebCore::AuthenticationChallenge::setAuthenticationClient): Don't create a dummy
        m_nsChallenge object in place of a nil one.

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

7 years agoRemove unused finishWasCalled() method
tonyg@chromium.org [Thu, 17 Jan 2013 21:37:18 +0000 (21:37 +0000)]
Remove unused finishWasCalled() method
https://bugs.webkit.org/show_bug.cgi?id=107148

Reviewed by Eric Seidel.

Based on patch by Eric Seidel.

No new tests because no new functionality.

* dom/DocumentParser.h:
(DocumentParser):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::append):
* html/parser/HTMLDocumentParser.cpp:
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
* html/parser/HTMLViewSourceParser.cpp:
* html/parser/HTMLViewSourceParser.h:
(HTMLViewSourceParser):
* xml/parser/NewXMLDocumentParser.cpp:
(WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
(WebCore::NewXMLDocumentParser::finish):
* xml/parser/NewXMLDocumentParser.h:
(NewXMLDocumentParser):
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParser.h:
(XMLDocumentParser):

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

7 years ago[chromium] Double-tap zoom should take into account accessibility fontScaleFactor
commit-queue@webkit.org [Thu, 17 Jan 2013 21:23:29 +0000 (21:23 +0000)]
[chromium] Double-tap zoom should take into account accessibility fontScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=107123

Patch by John Mellor <johnme@chromium.org> on 2013-01-17
Reviewed by Adam Barth.

Platforms which support Text Autosizing (currently just Chrome for
Android) may provide a textAutosizingFontScaleFactor (defaults to 1.0).

This value is intended to be chosen by the user to indicate how large
they want text to appear, for example Chrome for Android has a "Text
scaling" slider in Settings > Accessibility that lets you choose a value
in the range 50% - 200% (defaults to 100%*).

For text in wide columns that typically gets autosized, this value is
applied by multiplying the textAutosizingMultiplier computed for each
cluster by the textAutosizingFontScaleFactor. Double-tap zoom will fit
the column to the screen (ignoring the textAutosizingFontScaleFactor)
since the column is wide. This part already works.

For text in narrow columns that doesn't get autosized, the
textAutosizingFontScaleFactor is not applied through Text Autosizing,
and instead needs to be applied by adjusting the double-tap zoom level.
When double-tapping on narrow columns, instead of fitting the column to
the screen (which would often zoom in excessively far), the existing
logic in computeScaleAndScrollForHitRect applies a maximum zoom level
called the legibleScale. This value needs to be multiplied by the
textAutosizingFontScaleFactor, so that we zoom in proportionately
further on non-autosized narrow columns, hence the effective text size
(taking into account zoom) will have increased in proportion to the
textAutosizingFontScaleFactor as expected.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
    Multiplies legibleScale (the maximum zoom level) by the
    textAutosizingFontScaleFactor.
* tests/WebFrameTest.cpp:
    Added WebFrameTest.DivAutoZoomScaleFontScaleFactorTest based on
    WebFrameTest.DivAutoZoomScaleBoundsTest to test the interaction
    between textAutosizingFontScaleFactor and the double-tap zoom logic.
    Also did minor cleanup to WebFrameTest.DivAutoZoomScaleBoundsTest.

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

7 years ago[chromium] Layout test rebaselines.
hclam@chromium.org [Thu, 17 Jan 2013 21:11:49 +0000 (21:11 +0000)]
[chromium] Layout test rebaselines.

Not reviewed. Rebaselines to fix build.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:

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

7 years agoRemove an incorrect ASSERT() after r140002.
timothy_horton@apple.com [Thu, 17 Jan 2013 21:08:13 +0000 (21:08 +0000)]
Remove an incorrect ASSERT() after r140002.

Reviewed by Simon Fraser.

setRootCompositingLayer(null) is valid now.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):

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

7 years agoMathML padding overrides only need to be on RenderMathMLRoot
ojan@chromium.org [Thu, 17 Jan 2013 20:55:57 +0000 (20:55 +0000)]
MathML padding overrides only need to be on RenderMathMLRoot
https://bugs.webkit.org/show_bug.cgi?id=107151

Reviewed by Tony Chang.

RenderMathMLRoot is the only class that uses these.
No need for them to be on the generic MathML superclass.

* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::RenderMathMLRoot):
(WebCore::RenderMathMLRoot::paddingTop):
(WebCore::RenderMathMLRoot::paddingBottom):
(WebCore::RenderMathMLRoot::paddingLeft):
(WebCore::RenderMathMLRoot::paddingRight):
(WebCore::RenderMathMLRoot::paddingBefore):
(WebCore::RenderMathMLRoot::paddingAfter):
(WebCore::RenderMathMLRoot::paddingStart):
(WebCore::RenderMathMLRoot::paddingEnd):
* rendering/mathml/RenderMathMLRoot.h:

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

7 years agoObjective-C API: Clean up JSValue
mhahnenberg@apple.com [Thu, 17 Jan 2013 20:51:56 +0000 (20:51 +0000)]
Objective-C API: Clean up JSValue
https://bugs.webkit.org/show_bug.cgi?id=107156

Reviewed by Oliver Hunt.

JSContext m_protectCounts, protect, unprotect are all now unnecessary overhead, and should all be removed.
These exist to handle the context going away before the value does; the context needs to be able to unprotect
values early.  Since the value is now keeping the context alive there is no longer any danger of this happening;
instead we should just protect/unprotect the value in JSValue's init/dealloc methods.

* API/JSContext.mm:
(-[JSContext dealloc]):
* API/JSContextInternal.h:
* API/JSValue.mm:
(-[JSValue initWithValue:inContext:]):
(-[JSValue dealloc]):

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

7 years agoDFG Node::ref() and Node::deref() should not return bool, and should have postfixRef...
fpizlo@apple.com [Thu, 17 Jan 2013 20:45:06 +0000 (20:45 +0000)]
DFG Node::ref() and Node::deref() should not return bool, and should have postfixRef variants
https://bugs.webkit.org/show_bug.cgi?id=107147

Reviewed by Mark Hahnenberg.

This small refactoring will enable a world where ref() returns Node*, which is useful for
https://bugs.webkit.org/show_bug.cgi?id=106868.  Also, while this refactoring does lead to
slightly less terse code, it's also slightly more self-explanatory.  I could never quite
remember what the meaning of the bool return from ref() and deref() was.

* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::collectGarbage):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::ref):
(JSC::DFG::Graph::deref):
* dfg/DFGNode.h:
(JSC::DFG::Node::ref):
(Node):
(JSC::DFG::Node::postfixRef):
(JSC::DFG::Node::deref):
(JSC::DFG::Node::postfixDeref):

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

7 years ago32-bit build for Qt5 on Mac OS fails.
commit-queue@webkit.org [Thu, 17 Jan 2013 20:40:39 +0000 (20:40 +0000)]
32-bit build for Qt5 on Mac OS fails.
https://bugs.webkit.org/show_bug.cgi?id=107094

We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS.
Fixed 32-bit build detection for support Qt5.

Source/WebCore:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* Target.pri:

Source/WebKit:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* WebKit1.pro:

Source/WebKit2:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* Target.pri:

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

7 years ago[Chromium] svg/custom/foreign-object-skew-expected.png differs Debug/Release on SnowL...
schenney@chromium.org [Thu, 17 Jan 2013 20:38:12 +0000 (20:38 +0000)]
[Chromium] svg/custom/foreign-object-skew-expected.png differs Debug/Release on SnowLeopard
https://bugs.webkit.org/show_bug.cgi?id=99138

Unreviewed test expectations update.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png: Use the Release result.
* platform/chromium/TestExpectations: Mark the test as failing, and won't fix.

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

7 years agoIndexedDB: Prevent crash dereferencing null if script context has stopped
jsbell@chromium.org [Thu, 17 Jan 2013 20:37:54 +0000 (20:37 +0000)]
IndexedDB: Prevent crash dereferencing null if script context has stopped
https://bugs.webkit.org/show_bug.cgi?id=107146

Reviewed by Tony Chang.

We have crash reports from Chromium users (but no local repro) for a crash coming
from IDBRequest::dispatchEvent() that looks like it's calling toV8Context() after
the script execution context has stopped. The dispatch shouldn't be occurring
and we ASSERT as such, but something weird is going on during Worker tear down.
If this patch prevents the crash it would indicate that stop() is called before
dispatchEvent() which shouldn't be happening, and would let us continue chasing
the issue.

No new tests - this shouldn't be happening.

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):

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

7 years agoReplaced specifiers variable with is_debug in builders.py
commit-queue@webkit.org [Thu, 17 Jan 2013 20:37:14 +0000 (20:37 +0000)]
Replaced specifiers variable with is_debug in builders.py
https://bugs.webkit.org/show_bug.cgi?id=107057

Patch by Timothy Loh <timloh@google.com> on 2013-01-17
Reviewed by Dirk Pranke.

Replaced specifiers variable with is_debug in builders.py to simplify
Bug 106259. The other specifiers are not used elsewhere in the code.
Fixed builder_name_for_port_name to return a debug builder if we don't
have a release builder.

* Scripts/webkitpy/layout_tests/port/builders.py:
(all_port_names):
(builder_name_for_port_name):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineExpectations.test_rebaseline_expectations):

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

7 years ago[chromium] Make new-style page scale work with fixed layout
aelias@chromium.org [Thu, 17 Jan 2013 20:26:25 +0000 (20:26 +0000)]
[chromium] Make new-style page scale work with fixed layout
https://bugs.webkit.org/show_bug.cgi?id=106951

Reviewed by Adam Barth.

This makes non-CSS-transform page scaling work with fixed-layout mode,
including viewport tag support.

- dispatchViewportPropertiesDidChange() now works entirely with DIP
pixels instead of physical pixels, and is made compatible with
separating deviceScaleFactor from pageScaleFactor.

- In this mode, the "layout viewport" size in the pinch-zoom model is
made a first-class concept separate from the device size.  This
is a viewport with the same aspect ratio as the device but with the
layout width of the page.  This viewport is used:
  - As FrameView::visibleContentRect.
  - Returned from WebView::size().
  - Given to the compositor as layoutViewportSize.

- m_deviceScaleInCompositor is deleted as it's clearer to use the
applyDeviceScaleInCompositor setting directly.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::size):
(WebKit):
(WebKit::WebViewImpl::resize):
(WebKit::WebViewImpl::setPageScaleFactor):
(WebKit::WebViewImpl::setDeviceScaleFactor):
(WebKit::WebViewImpl::layoutSize):
(WebKit::WebViewImpl::computePageScaleFactorLimits):
(WebKit::WebViewImpl::dipSize):
(WebKit::WebViewImpl::didChangeContentsSize):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:
(WebViewImpl):

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

7 years agoNested fixed position element not staying with parent
robert@webkit.org [Thu, 17 Jan 2013 20:20:11 +0000 (20:20 +0000)]
Nested fixed position element not staying with parent
https://bugs.webkit.org/show_bug.cgi?id=65477

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/inline/fixed-pos-moves-with-abspos-inline-parent.html
       fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html
       fast/inline/fixed-pos-moves-with-abspos-parent.html
       fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
If an absolute position element inside a relative positioned container moves, and the absolute element has a fixed position
child, neither the container nor the fixed element learn of the movement since posChildNeedsLayout() is only marked as far as the
relative positioned container. So if our positioned objects list can contain fixed position elements perform the
checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list.
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
For a fixed position element in the positioned objects list that has a static x or y position check for an absolute positioned ancestor
and if we find one, see if the static x or y position of the fixed pos element has changed. If it has, mark it for layout.
(WebCore):
(WebCore::RenderBlock::layoutPositionedObjects):
A fixed position element with an absolute position ancestor has no way of learning if the latter has changed position. So perform the
checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list.
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock): Use new helper function canContainFixedPositionObjects().
* rendering/RenderObject.h:
(WebCore::RenderObject::canContainFixedPositionObjects):
(RenderObject):

LayoutTests:

* fast/inline/fixed-pos-moves-with-abspos-inline-parent-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-inline-parent.html: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent.html: Added.
* fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent-expected.txt: Added.
* fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent.html: Added.

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

7 years agoMake renderer constructors take Element where possible
antti@apple.com [Thu, 17 Jan 2013 20:14:07 +0000 (20:14 +0000)]
Make renderer constructors take Element where possible
https://bugs.webkit.org/show_bug.cgi?id=107138

Reviewed by David Hyatt.

Tighter typing prevents bugs and enables optimizations.

The patch changes how anonymous rendererer are constructed. Previously Document* as the node parameter
indicated that the renderer was anonymous. This forced the code to operate on ContainerNodes (Document
is not an Element). Now anonymous renderers are constructed by passing null and the document is set by
separate setDocumentForAnonymous() call. The patch uses RenderFoo::createAnonymous() pattern consistently.

Most constructors are switched to take Element. RenderBlock still takes ContainerNode due to a few subclasses
(RenderView and RenderFlowThread) that pass in a Document.

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymous):
(WebCore):
(WebCore::RenderBlock::createReplacementRunIn):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
(WebCore::RenderDeprecatedFlexibleBox::createAnonymous):
(WebCore):
* rendering/RenderDeprecatedFlexibleBox.h:
(RenderDeprecatedFlexibleBox):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
(RenderDetailsMarker):
* rendering/RenderDialog.h:
(WebCore::RenderDialog::RenderDialog):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
(RenderFieldset):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):
* rendering/RenderFlowThread.cpp:
(WebCore):
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
(RenderFullScreen::RenderFullScreen):
(RenderFullScreen::createAnonymous):
(RenderFullScreen::wrapRenderer):
* rendering/RenderFullScreen.h:
(RenderFullScreen):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
* rendering/RenderGrid.h:
(RenderGrid):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::createAnonymous):
(WebCore):
* rendering/RenderImage.h:
(RenderImage):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::createAnonymous):
(WebCore):
(WebCore::RenderInline::addChildIgnoringContinuation):
* rendering/RenderInline.h:
(RenderInline):
(WebCore::RenderInline::node):

    Add version with covariant Element return type.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):
(WebCore::RenderLayer::createReflection):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderListItem.h:
(RenderListItem):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::RenderListMarker):
(WebCore::RenderListMarker::createAnonymous):
(WebCore):
* rendering/RenderListMarker.h:
(RenderListMarker):
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
* rendering/RenderMediaControlElements.h:
(RenderMediaVolumeSliderContainer):
(RenderMediaControlTimeDisplay):
(RenderTextTrackContainerElement):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::createAnonymous):
(WebCore):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
* rendering/RenderObject.h:

     Passed in null node indicates that the renderer is anonymous. Remove now unnecessary setIsAnonymous() function.

(WebCore::RenderObject::isAnonymous):
(WebCore::RenderObject::setDocumentForAnonymous):
(RenderObject):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
(RenderRegion):
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::RenderRegionSet):
* rendering/RenderRegionSet.h:
(RenderRegionSet):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::RenderReplica):
(WebCore::RenderReplica::createAnonymous):
(WebCore):
* rendering/RenderReplica.h:
(RenderReplica):
* rendering/RenderRuby.cpp:
(WebCore::createAnonymousRubyInlineBlock):
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
(RenderRubyAsInline):
(RenderRubyAsBlock):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
(WebCore::RenderRubyBase::createAnonymous):
(WebCore):
* rendering/RenderRubyBase.h:
(RenderRubyBase):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):
* rendering/RenderRubyRun.h:
(RenderRubyRun):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
(RenderRubyText):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::RenderScrollbarPart):
(WebCore::RenderScrollbarPart::createAnonymous):
(WebCore):
* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::RenderSearchField):
* rendering/RenderSearchField.h:
(RenderSearchField):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::createAnonymousWithParentRenderer):
* rendering/RenderTable.h:
(RenderTable):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
(RenderTableCaption):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::createAnonymousWithParentRenderer):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
(RenderTableCol):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::createAnonymousWithParentRenderer):
* rendering/RenderTableRow.h:
(RenderTableRow):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::createAnonymousWithParentRenderer):
* rendering/RenderTableSection.h:
(RenderTableSection):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
(RenderTextControl):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
* rendering/RenderTextControlMultiLine.h:
(RenderTextControlMultiLine):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* rendering/RenderWidget.h:
(RenderWidget):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
(RenderMathMLBlock):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createGlyph):
* rendering/mathml/RenderMathMLOperator.h:
(RenderMathMLOperator):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow):
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLRow.h:
(RenderMathMLRow):
* rendering/style/ContentData.cpp:
(WebCore::ImageContentData::createRenderer):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::RenderSVGInline):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGTSpan.cpp:
(WebCore::RenderSVGTSpan::RenderSVGTSpan):
* rendering/svg/RenderSVGTSpan.h:
(RenderSVGTSpan):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:
(RenderSVGTextPath):

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

7 years ago[BlackBerry] Update Authentication Type and Scheme implementation
leoyang@rim.com [Thu, 17 Jan 2013 20:05:37 +0000 (20:05 +0000)]
[BlackBerry] Update Authentication Type and Scheme implementation
https://bugs.webkit.org/show_bug.cgi?id=107045
PR #281292

Reviewed by Yong Li.

Reviewed internally by Joe Mason. A typo is also fixed by Joe Mason.

The BlackBerry platform layer has defined both authentication type and authentication scheme.
This patch is adapting the porting layer to the platform layer change.

No functionalities changed no new tests.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::notifyAuthReceived):
* platform/network/blackberry/NetworkJob.h:
(NetworkJob):
* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob):

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

7 years ago[GTK] Build with LevelDB when IndexedDB is enabled
commit-queue@webkit.org [Thu, 17 Jan 2013 20:02:36 +0000 (20:02 +0000)]
[GTK] Build with LevelDB when IndexedDB is enabled
https://bugs.webkit.org/show_bug.cgi?id=103220

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-17
Reviewed by Gustavo Noronha Silva.

.:

* configure.ac: Detect whether the IndexedDatabase feature is enabled. We cannot
use the typical approach for feature detection since we need to adjust the automake
file output based on whether or not IndexedDatabase is enabled.

Source/ThirdParty:

Add the leveldb 1.9.0 source code to the ThirdParty dependencies.
We cannot depend on leveldb provided by the distribution, because
it sometimes breaks API compatibility.

* leveldb: Imported from the 1.9.0 leveldb source tarball.

Source/WebCore:

No new tests. This is just a build change. IndexedDatabase support
is already covered by the suite of storage layout tests.

* GNUmakefile.am: Add the leveldb convenience library.
* GNUmakefile.list.am: Add the list of sources.

Source/WebKit/gtk:

* GNUmakefile.am: When IndexedDatabase is enabled add the leveldb convenience
library to the shared library link phase.

Source/WebKit2:

* GNUmakefile.am: When IndexedDatabase is enabled add the leveldb convenience
library to the shared library link phase.

Tools:

* Scripts/webkitpy/style/checker.py: Do not style check the leveldb source code
as it does not conform to WebKit style.

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

7 years agoWire BackgroundHTMLParser to HTMLDocumentParser
tonyg@chromium.org [Thu, 17 Jan 2013 19:52:07 +0000 (19:52 +0000)]
Wire BackgroundHTMLParser to HTMLDocumentParser
https://bugs.webkit.org/show_bug.cgi?id=107140

Reviewed by Adam Barth.

With this patch, we now pass the majority of html5lib and fast/parser tests with threaded HTML parsing enabled.

No new tests because covered by existing fast/parser tests.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::TokenDelivery::execute):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::~HTMLDocumentParser):
(WebCore::HTMLDocumentParser::processingData):
(WebCore::HTMLDocumentParser::resumeParsingAfterYield):
(WebCore::HTMLDocumentParser::canTakeNextToken):
(WebCore::HTMLDocumentParser::feedTokens):
(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore):
(WebCore::HTMLDocumentParser::startBackgroundParser):
(WebCore::HTMLDocumentParser::stopBackgroundParser):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::end):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
* html/parser/HTMLDocumentParser.h:
(WebCore):
(HTMLDocumentParser):
(WebCore::HTMLDocumentParser::hasPreloadScanner):
(WebCore::HTMLDocumentParser::shouldUseThreading):

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

7 years agoMediaStream API: Move all ExtraDataContainers into anonymous namespaces
tommyw@google.com [Thu, 17 Jan 2013 19:48:14 +0000 (19:48 +0000)]
MediaStream API: Move all ExtraDataContainers into anonymous namespaces
https://bugs.webkit.org/show_bug.cgi?id=107128

Reviewed by Kentaro Hara.

Tests not needed.

* platform/chromium/support/WebMediaStreamDescriptor.cpp:
* platform/chromium/support/WebMediaStreamSource.cpp:
* platform/chromium/support/WebRTCSessionDescriptionRequest.cpp:
* platform/chromium/support/WebRTCVoidRequest.cpp:

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

7 years agoWeb Inspector: InstrumentingAgents should be registered in InspectorInstrumentation...
yurys@chromium.org [Thu, 17 Jan 2013 19:42:17 +0000 (19:42 +0000)]
Web Inspector: InstrumentingAgents should be registered in InspectorInstrumentation only when there is a front-end
https://bugs.webkit.org/show_bug.cgi?id=107127

Reviewed by Vsevolod Vlasov.

InspectorInstrumentation::registerInstrumentingAgents is called when front-end
is connected to corresponding InspectorController. When the front-end disconnects
InspectorInstrumentation::unregisterInstrumentingAgents is called.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::inspectedPageDestroyed):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):

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

7 years ago[CSS Regions] Content flows incorrectly in autoheight regions with min/max-height set
commit-queue@webkit.org [Thu, 17 Jan 2013 19:35:41 +0000 (19:35 +0000)]
[CSS Regions] Content flows incorrectly in autoheight regions with min/max-height set
https://bugs.webkit.org/show_bug.cgi?id=102099

Patch by Andrei Bucur <abucur@adobe.com> on 2013-01-17
Reviewed by David Hyatt.

Source/WebCore:

The current layout algorithm for auto-height regions is gives wrong results when the max-height property is set on them. The reason is we
consider the max-height restriction too late in the layout, when applying a forced break. This is what happens when content is laid out
in an auto-height region.
1. The content flows without a limit until a forced break appears. If there's no forced break in the content, one is forced anyway at the end
of the layout.
2. The region where the forced break is placed is not always the one where content is laid out because of max-height restrictions.
3. All the regions with max-height are iterated and their height accumulated until the break offset is reached and the region at that point is ended.
This gives wrong results because the forced break position in the content was computed assuming there's only one region where the content is laid out.
The regions with max-height could have generated unforced breaks at their height and the forced break actually should have a different position.

This patch changes the algorithm in this way:
1. From the flow thread perspective all the regions start with a height: max-height for auto-height regions (or LayoutSize.max()/2 if not defined)
or the fixed height value when specified.
2. When the content is laid out, if there's no forced break, the height of the content is correctly estimated because the layout sees unforced breaks
at the max-height values.
3. If a forced break appears, the affected region can be obtained only by looking at the break offset in the region chain. If the region has auto-height,
its height is updated by the forced break.
4. At the end of the layout, there's the additional task to clear the height of all the regions that didn't receive content. This can be done optimally
without adding a new iteration through the regions by attaching to the RegionOverset computation loop.

Tests:  fast/regions/autoheight-maxheight-mixed-break.html
        fast/regions/autoheight-maxheight-simple-break.html
        fast/regions/autoheight-maxheight-simple-nobreak.html
        fast/regions/autoheight-minmaxheight-mixed-break-hbt.html
        fast/regions/autoheight-minmaxheight-mixed-break-vlr.html
        fast/regions/autoheight-minmaxheight-mixed-break-vrl.html
        fast/regions/autoheight-minmaxheight-mixed-break.html
        fast/regions/autoheight-minmaxheight-simple-break.html
        fast/regions/autoheight-minmaxheight-simple-nobreak.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::computeLogicalHeight):
(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::pageLogicalHeightForOffset):
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
(WebCore::RenderFlowThread::computeOverflowStateForRegions): Attach to the loop in this function to clear the overrideLogicalHeight on empty regions.
(WebCore):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): Add an ASSERT that a region always has overrideLogicalHeight or a fixed height.
(WebCore::RenderFlowThread::initializeRegionsOverrideLogicalContentHeight): A new function that updates the region chain height to use the max-height value
for auto-height regions.
(WebCore::RenderFlowThread::addForcedRegionBreak):
* rendering/RenderFlowThread.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::pageLogicalHeight): the decorations size is incorrectly considered in the page height.
(WebCore):
(WebCore::RenderRegion::maxPageLogicalHeight): new function that returns the max page size for a region. It shouldn't be called too often
or the returned value can be cached
(WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent): the decorations size is incorrectly considered in the logical height of
the flow thread content.
* rendering/RenderRegion.h:
(RenderRegion):

LayoutTests:

All the tests have a description about how the breaking should happen. They pass if the height of the region chain is
correctly computed by using the max-height, min-height, height and writing mode conditions.

* fast/regions/autoheight-maxheight-mixed-break-expected.txt: Added.
* fast/regions/autoheight-maxheight-mixed-break.html: Added.
* fast/regions/autoheight-maxheight-simple-break-expected.txt: Added.
* fast/regions/autoheight-maxheight-simple-break.html: Added.
* fast/regions/autoheight-maxheight-simple-nobreak-expected.txt: Added.
* fast/regions/autoheight-maxheight-simple-nobreak.html: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-hbt-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-hbt.html: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-vlr-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-vlr.html: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-vrl-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-mixed-break-vrl.html: Added.
* fast/regions/autoheight-minmaxheight-mixed-break.html: Added.
* fast/regions/autoheight-minmaxheight-simple-break-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-simple-break.html: Added.
* fast/regions/autoheight-minmaxheight-simple-nobreak-expected.txt: Added.
* fast/regions/autoheight-minmaxheight-simple-nobreak.html: Added.

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

7 years agoWeb Inspector: Open resource dialog has poor performance.
vsevik@chromium.org [Thu, 17 Jan 2013 19:30:07 +0000 (19:30 +0000)]
Web Inspector: Open resource dialog has poor performance.
https://bugs.webkit.org/show_bug.cgi?id=107122

Reviewed by Pavel Feldman.

Open resource dialog does not make linear number of relayouts on highlight anymore.
Replaced localeCompare with string compare since it is significantly faster.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog.prototype._highlightItems):
(WebInspector.OpenResourceDialog.compareFunction):
(WebInspector.OpenResourceDialog):

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

7 years agoUnreviewed. Rolled Chromium DEPS to r177369. Requested by
commit-queue@webkit.org [Thu, 17 Jan 2013 19:27:09 +0000 (19:27 +0000)]
Unreviewed.  Rolled Chromium DEPS to r177369.  Requested by
ajuma via sheriffbot.

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

* DEPS:

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

7 years agoAdd ontransitionend attribute on HTML elements.
alexis@webkit.org [Thu, 17 Jan 2013 19:26:35 +0000 (19:26 +0000)]
Add ontransitionend attribute on HTML elements.
https://bugs.webkit.org/show_bug.cgi?id=107134

Reviewed by Simon Fraser.

Source/WebCore:

Add ontransitionend attribute on HTML elements to match the prefixed
attribute onwebkittransitionend. As it uses the same plumbing as a
regular event listener, it behaves the same which means that if
ontransitionend only is defined then only the code attached to this
attribute will be called, if only onwebkittransitionend is defined then
only the code attached to this attribute will be called and finally if
both attributes are defined then only the code attached to the
unprefixed attribute will be called.

Tests: transitions/transition-end-event-unprefixed-03.html
       transitions/transition-end-event-unprefixed-04.html

* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseAttribute):
* page/DOMWindow.h:
(DOMWindow):
* page/DOMWindow.idl: only define the property if the unprefixing is
turn on.

LayoutTests:

Add tests to cover the new attribute. It also make sure that event if
we use the old attribute and the new one at the same time only the new
event handler will be called.

* transitions/transition-end-event-unprefixed-03-expected.txt: Added.
* transitions/transition-end-event-unprefixed-03.html: Added.
* transitions/transition-end-event-unprefixed-04-expected.txt: Added.
* transitions/transition-end-event-unprefixed-04.html: Added.

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

7 years agoWidows and orphans test4 fails if isolated
commit-queue@webkit.org [Thu, 17 Jan 2013 19:15:24 +0000 (19:15 +0000)]
Widows and orphans test4 fails if isolated
https://bugs.webkit.org/show_bug.cgi?id=106006

Patch by Andrei Bucur <abucur@adobe.com> on 2013-01-17
Reviewed by Dean Jackson.

Source/WebCore:

To determine if the orphans condition is not respected, every time a fragmentation break is encountered adjustLinePositionForPagination() is called for the current line.
If the index on the line in the block is smaller than the number of orphans specified in the style object, the block is shifted in the next fragmentainer. The index of
the line is obtained by calling RenderBlock::lineCount. However, this only works in a full layout when lineCount() will coincidentally return the index of the line.
In subsequent layouts, during the determineStartPosition() phase, lineCount() returns all the lines in the block so the orphans condition is never triggered.
The patch modifies the lineCount() function to have two optional parameters. The first parameter is the line where lineCount should stop counting lines. The second
is an output boolean parameter indicating if the line was found or not. This change makes the lineCount() more flexible and allows retreiving the index of a
specific line (e.g. the index of the current line inside adjustLinePositionForPagination()).

Tests: fast/multicol/orphans-relayout.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::lineCount): See the detailed description.
(WebCore::RenderBlock::adjustLinePositionForPagination): Make use of the modified lineCount() function.
* rendering/RenderBlock.h:
(RenderBlock):

LayoutTests:

This is the "Basic Orphans" test extracted from fast/multicol/widows-and-orphans.html. It was minimized and modified to include a relayout step.

* fast/multicol/orphans-relayout-expected.txt: Added.
* fast/multicol/orphans-relayout.html: Added.

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

7 years agoREGRESSION (r137487): Crashes in editing/execCommand/indent-paragraphs.html on GTK...
mrobinson@webkit.org [Thu, 17 Jan 2013 19:13:12 +0000 (19:13 +0000)]
REGRESSION (r137487): Crashes in editing/execCommand/indent-paragraphs.html on GTK, EFL
https://bugs.webkit.org/show_bug.cgi?id=105042

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Explicitly handle the situation where the creation of a SoupURI fails. This
can happen if the URI is invalid. In that case the constructor returns null.

No new tests. This patch unskips a failing test.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::createSoupRequestAndMessageForHandle): Handle a null Soup URI.

LayoutTests:

Unskip a test which is now passing.

* platform/gtk/TestExpectations:

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

7 years ago.: Enable reuse of cached main resources
japhet@chromium.org [Thu, 17 Jan 2013 19:09:16 +0000 (19:09 +0000)]
.: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Antti Koivisto.

* Source/autotools/symbols.filter: Expose MemoryCache::resourceForURL().

Source/WebCore: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Antti Koivisto.

Test: http/tests/cache/cached-main-resource.html

* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
* dom/Document.h:
(Document):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
    MainResourceLoader will take care of it.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
(WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
    ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
(WebCore::MainResourceLoader::identifier):
* loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
    to better describe when it is used.
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
(WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
(WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
* loader/cache/CachedRawResource.h:
(CachedRawResource):
(RedirectPair):
(WebCore::CachedRawResource::RedirectPair::RedirectPair):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::addClientToSet):: Don't return cached data for a main resource synchronously
* loader/cache/CachedResource.h:
(WebCore::CachedResource::canReuse):
(CachedResource):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
* testing/Internals.cpp:
(WebCore::Internals::isLoadingFromMemoryCache):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/win: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667

Reviewed by Antti Koivisto.

* WebKit.vcproj/WebKitExports.def.in: Expose some MemoryCache symbols for use in Internals.

LayoutTests: Enable reuse of cached main resources
https://bugs.webkit.org/show_bug.cgi?id=105667.

Reviewed by Antti Koivisto.

* http/tests/cache/cached-main-resource-expected.txt: Added.
* http/tests/cache/cached-main-resource.html: Added.
* http/tests/cache/resources/cacheable-iframe.php: Added.
* http/tests/inspector/resource-har-pages-expected.txt:
* http/tests/loading/redirect-methods-expected.txt:
* http/tests/misc/favicon-loads-with-images-disabled-expected.txt:
* http/tests/misc/link-rel-icon-beforeload-expected.txt:

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

7 years ago[EFL][WK2] Fix misuse of ASSERT on ecore_evas_init()
commit-queue@webkit.org [Thu, 17 Jan 2013 19:06:16 +0000 (19:06 +0000)]
[EFL][WK2] Fix misuse of ASSERT on ecore_evas_init()
https://bugs.webkit.org/show_bug.cgi?id=107119

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-01-17
Reviewed by Laszlo Gombos.

Do not use ASSERT on ecore_evas_init(), since the expression inside
the macro compiles out of release builds.

* TestWebKitAPI/PlatformEfl.cmake: Enable API test UserMessage.
* TestWebKitAPI/efl/PlatformWebView.cpp:
(TestWebKitAPI::initEcoreEvas): Remove ASSERT on ecore_evas_init().

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

7 years agoWeb Inspector: [Network] Remove boilerplate CSS selectors.
commit-queue@webkit.org [Thu, 17 Jan 2013 19:04:49 +0000 (19:04 +0000)]
Web Inspector: [Network] Remove boilerplate CSS selectors.
https://bugs.webkit.org/show_bug.cgi?id=107121

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-17
Reviewed by Vsevolod Vlasov.

There are rules that are used for filtration and styling
whose selectors should be autogenerated.

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkPanel.prototype._injectStyles):
* inspector/front-end/networkLogView.css:

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

7 years ago[WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
timothy_horton@apple.com [Thu, 17 Jan 2013 19:01:08 +0000 (19:01 +0000)]
[WK2] TiledCoreAnimationDrawingArea should unparent its layer tree when requested
https://bugs.webkit.org/show_bug.cgi?id=107108
<rdar://problem/12549879>

Reviewed by Darin Adler and Simon Fraser.

Currently, TiledCoreAnimationDrawingArea returns early if asked to unparent
its layer tree, to prevent flashing when switching tabs. We have new plans
to alleviate the flashing, but first, we should reinstate unparenting the root layer,
to allow underlying libraries to better manage the memory backing all compositing layers.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):

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

7 years agoFix the Mac build sans ENABLE(CSS_FILTERS)
timothy_horton@apple.com [Thu, 17 Jan 2013 18:58:51 +0000 (18:58 +0000)]
Fix the Mac build sans ENABLE(CSS_FILTERS)

Reviewed by Darin Adler.

Include FloatRect in RemoteGraphicsLayer.mm; it's included by chance currently,
via something that must be compiled out without CSS_FILTERS (or SVG, or shaders, or something).

* WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:

Move an export from a USE(ACCELERATED_COMPOSITING) block to a ENABLE(CSS_FILTERS)
block, to match the code that backs it.

* WebCore.exp.in:

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

7 years ago[Mac] svg/custom/text-use-click-crash.xhtml added by r139029 hits assertion in enclos...
shinyak@chromium.org [Thu, 17 Jan 2013 18:52:57 +0000 (18:52 +0000)]
[Mac] svg/custom/text-use-click-crash.xhtml added by r139029 hits assertion in enclosingTextFormControl
https://bugs.webkit.org/show_bug.cgi?id=106361

Reviewed by Darin Adler.

Source/WebCore:

When ASSERT hit in enclosingTextFormControl(Position), position.anchorNode() was /use/shadow-root/text,
and position.anchorType() was PositionIsBeforeAnchor. In this case, position.containerNode() should be
ShadowRoot if SHADOW_DOM flag is enabled. However, SHADOW_DOM flag is not enabled in mac port,
position.containerNode() returns 0. This hits ASSERT.

We have two options to solve this problem. (1) is to allow Position to have ShadowRoot as a container node,
but this will affect a lot of code. (2) is to loosen ASSERT condition.

I've chosen (2) option in this patch.

Test: svg/custom/text-use-click-crash.xhtml should cover this.

* html/HTMLTextFormControlElement.cpp:
(WebCore::enclosingTextFormControl):

LayoutTests:

Removed crash test expectation.

* platform/mac/TestExpectations:

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

7 years agoWeb Inspector: Profiler: split "getProfile" to "getCPUProfile" and "loadHeapSnapshot"
commit-queue@webkit.org [Thu, 17 Jan 2013 18:50:59 +0000 (18:50 +0000)]
Web Inspector: Profiler: split "getProfile" to "getCPUProfile" and "loadHeapSnapshot"
https://bugs.webkit.org/show_bug.cgi?id=104545

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-17
Reviewed by Yury Semikhatsky.

Source/WebCore:

This change will allow stronger typing of profiler output.

* inspector/Inspector.json:
Split "getProfile" to "getCPUProfile" and "getHeapSnapshot".
* inspector/InspectorProfilerAgent.cpp: Ditto.
* inspector/InspectorProfilerAgent.h: Ditto.
* inspector/front-end/CPUProfileView.js: Adopd changes.
* inspector/front-end/HeapSnapshotView.js: Ditto.

Source/WebKit/chromium:

Adopt changes: mimic old behavior.

* src/WebDevToolsAgentImpl.cpp: Adopt signature changes.

Tools:

Adopt signature changes.

* BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/WebInspectorShims.js:
(ProfilerAgent.getCPUProfile): Renamed.
(ProfilerAgent.getHeapSnapshot): Added.

LayoutTests:

Adopted new method signatures.

* inspector/profiler/heap-snapshot-get-profile-crash.html:
Adopted new method signatures.
* inspector/profiler/heap-snapshot-loader.html: Ditto.
* inspector/profiler/heap-snapshot-test.js: Ditto.

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

7 years agoWeb Inspector: [Network] Memory leaks when user walks between requests.
commit-queue@webkit.org [Thu, 17 Jan 2013 18:47:21 +0000 (18:47 +0000)]
Web Inspector: [Network] Memory leaks when user walks between requests.
https://bugs.webkit.org/show_bug.cgi?id=107114

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-17
Reviewed by Vsevolod Vlasov.

Unregister event listeners when view is detached.

* inspector/front-end/RequestCookiesView.js: Fixed memory leak.
* inspector/front-end/RequestHeadersView.js: Ditto.
* inspector/front-end/RequestTimingView.js: Ditto.

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

7 years agoWeb Inspector: [Timeline] REGRESSION: Sidebar shrinks when user switches to memory...
commit-queue@webkit.org [Thu, 17 Jan 2013 18:44:12 +0000 (18:44 +0000)]
Web Inspector: [Timeline] REGRESSION: Sidebar shrinks when user switches to memory statistics mode.
https://bugs.webkit.org/show_bug.cgi?id=105857

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-17
Reviewed by Pavel Feldman.

Fix: do not apply constraints to sidebar width while view is offscreen;
constraint check will be applied when view goes visible.

* inspector/front-end/SidebarView.js:
(WebInspector.SidebarView.prototype.applyConstraints): Check if view is
offscreen.

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

7 years agoUnreviewed EFL gardening.
commit-queue@webkit.org [Thu, 17 Jan 2013 18:43:49 +0000 (18:43 +0000)]
Unreviewed EFL gardening.
https://bugs.webkit.org/show_bug.cgi?id=107113

Skipping test with missing expectation result.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-01-17

* platform/efl-wk2/TestExpectations:

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

7 years agoWeb Inspector: [Spectrum] Color picker in CSS editor does not update textual color...
apavlov@chromium.org [Thu, 17 Jan 2013 18:40:51 +0000 (18:40 +0000)]
Web Inspector: [Spectrum] Color picker in CSS editor does not update textual color value
https://bugs.webkit.org/show_bug.cgi?id=107110

Reviewed by Vsevolod Vlasov.

The Spectrum picker was never told to update the textual color upon user-initiated color changes.

* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.):

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