WebKit-https.git
8 years agoUse Skia's implementation of Gaussian blur when accelerated filters
senorblanco@chromium.org [Thu, 8 Dec 2011 22:29:39 +0000 (22:29 +0000)]
Use Skia's implementation of Gaussian blur when accelerated filters
are enabled.
https://bugs.webkit.org/show_bug.cgi?id=73949

Reviewed by Zoltan Herczeg.

In the future, this will be covered by the SVG tests run in GPU mode.

* WebCore.gypi:
Add FEGaussianBlurSkia.cpp to the build.
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::platformApplySoftware):
Call out to platformApplySkia() when USE_SKIA is enabled.
* platform/graphics/filters/FEGaussianBlur.h:
platformApplySkia() declaration.
* platform/graphics/filters/skia: Added.
* platform/graphics/filters/skia/FEGaussianBlurSkia.cpp: Added.
(WebCore::FEGaussianBlur::platformApplySkia):
On the Skia port, use SkBlurImageFilter for drawing
Gaussian blurs in accelerated mode.
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::copyImage):
Implement ImageBuffer::copyImage() with DontCopyBackingStore semantics.

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

8 years agoTools: AX: platform/mac/accessibility/search-with-frames.html crashes
cfleizach@apple.com [Thu, 8 Dec 2011 22:11:50 +0000 (22:11 +0000)]
Tools: AX: platform/mac/accessibility/search-with-frames.html crashes
https://bugs.webkit.org/show_bug.cgi?id=74093

Reviewed by Darin Adler.

Take care of the case when an incoming element is null.

* DumpRenderTree/AccessibilityUIElement.cpp:
(uiElementForSearchPredicateCallback):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::uiElementForSearchPredicate):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

LayoutTests: platform/mac/accessibility/search-with-frames.html crashes
https://bugs.webkit.org/show_bug.cgi?id=74093

Reviewed by Darin Adler.

Unskip the crashing test.

* platform/mac/Skipped:

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

8 years ago[Qt] Visualize mock point ID's in the MiniBrowser
commit-queue@webkit.org [Thu, 8 Dec 2011 22:08:51 +0000 (22:08 +0000)]
[Qt] Visualize mock point ID's in the MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=74098

Patch by Alexander Færøy <ahf@0x90.dk> on 2011-12-08
Reviewed by Tor Arne Vestbø.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::updateVisualMockTouchPoints):
* MiniBrowser/qt/qml/MockTouchPoint.qml:

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

8 years agoAdd 8 bit paths for StringTypeAdapter classes
msaboff@apple.com [Thu, 8 Dec 2011 21:47:42 +0000 (21:47 +0000)]
Add 8 bit paths for StringTypeAdapter classes
https://bugs.webkit.org/show_bug.cgi?id=73882

Reviewed by Darin Adler.

Added is8Bit() method and writeTo(LChar*) methods
to StringTypeAdapter<> classes.  The writeTo(LChar*)
method can be used if is8Bit() returns true.  The
non-native 8 bit classes contain ASSERT(is8Bit())
in their writeTo(LChar*).

Updated all of the various versions of tryMakeString() to
use 8 bit processing in the updated StringTypeAdapter<>
classes.

This has slight if any performance improvement on kraken.

* runtime/UStringConcatenate.h:
* wtf/text/StringConcatenate.h:
(WTF::tryMakeString):
* wtf/text/StringOperators.h:
(WTF::StringAppend::is8Bit):
(WTF::StringAppend::writeTo):

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

8 years agoCodeGeneratorV8: Fix issue with overloaded static conditional methods
arv@chromium.org [Thu, 8 Dec 2011 21:29:31 +0000 (21:29 +0000)]
CodeGeneratorV8: Fix issue with overloaded static conditional methods
https://bugs.webkit.org/show_bug.cgi?id=74114

Reviewed by Adam Barth.

The code generator was missing checks for Conditional for overloaded methods.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateOverloadedFunctionCallback): Generate needed #ifdefs.
(GenerateFunctionCallback): Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Wrap conditional methods with #ifdefs.
(WebCore::ConfigureV8TestObjTemplate):

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

8 years agoSource/WebCore: AccessibilityController should support listening to notifications...
dmazzoni@google.com [Thu, 8 Dec 2011 21:27:16 +0000 (21:27 +0000)]
Source/WebCore: AccessibilityController should support listening to notifications on all elements.
https://bugs.webkit.org/show_bug.cgi?id=72866

Changes accessibilitySetShouldRepostNotifications from an instance method
into a class method so that it can be used for global notification listeners,
not just for listeners on a particular object.

Reviewed by Chris Fleizach.

Test: accessibility/notification-listeners.html

* accessibility/mac/WebAccessibilityObjectWrapper.h:
* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(+[WebAccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
(-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):

Tools: Accessibility: AccessibilityController should support listening to notifications on all elements.
https://bugs.webkit.org/show_bug.cgi?id=72866

Adds addNotificationListener and removeNotificationListener methods
to AccessibilityController, to listen to notifications on any element
rather than a specific element. Mac (DRT and WKTR) and Chromium (DRT)
implementations are all contained in this change.

On Mac, refactors AccessibilityNotificationHandler into its own
source file that can be used by both AccessibilityController and
AccessibilityUIElement. (Both DRT and WKTR.)

Reviewed by Chris Fleizach.

* DumpRenderTree/AccessibilityController.cpp:
(addNotificationListenerCallback):
(removeNotificationListenerCallback):
(AccessibilityController::getJSClass):
* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/chromium/AccessibilityController.cpp:
(AccessibilityController::AccessibilityController):
(AccessibilityController::notificationReceived):
(AccessibilityController::addNotificationListenerCallback):
(AccessibilityController::removeNotificationListenerCallback):
* DumpRenderTree/chromium/AccessibilityController.h:
* DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
(AccessibilityController::addNotificationListener):
(AccessibilityController::removeNotificationListener):
* DumpRenderTree/mac/AccessibilityControllerMac.mm:
(AccessibilityController::~AccessibilityController):
(AccessibilityController::addNotificationListener):
(AccessibilityController::removeNotificationListener):
* DumpRenderTree/mac/AccessibilityNotificationHandler.h: Added.
* DumpRenderTree/mac/AccessibilityNotificationHandler.mm: Added.
(-[NSString createJSStringRef]):
(-[AccessibilityNotificationHandler init]):
(-[AccessibilityNotificationHandler setPlatformElement:]):
(-[AccessibilityNotificationHandler dealloc]):
(-[AccessibilityNotificationHandler setCallback:]):
(-[AccessibilityNotificationHandler startObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::addNotificationListener):
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(notificationListenerProc):
(AccessibilityController::addNotificationListener):
(AccessibilityController::removeNotificationListener):
(AccessibilityController::winNotificationReceived):
(AccessibilityController::winAddNotificationListener):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::addNotificationListener):
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::removeNotificationListener):
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
(WTR::AccessibilityController::logAccessibilityEvents):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp:
(WTR::AccessibilityTextMarker::AccessibilityTextMarker):
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp:
(WTR::AccessibilityTextMarkerRange::AccessibilityTextMarkerRange):
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm: Added.
(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::removeNotificationListener):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.h: Added.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm: Added.
(-[NSString createJSStringRef]):
(-[AccessibilityNotificationHandler init]):
(-[AccessibilityNotificationHandler setPlatformElement:]):
(-[AccessibilityNotificationHandler dealloc]):
(-[AccessibilityNotificationHandler setCallback:]):
(-[AccessibilityNotificationHandler startObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::verticalScrollbar):
(WTR::AccessibilityUIElement::addNotificationListener):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

LayoutTests: Accessibility: AccessibilityController should support listening to notifications on all elements.
https://bugs.webkit.org/show_bug.cgi?id=72866

Previously, the Mac implementation of AccessibilityUIElement.addNotificationListener
incorrectly triggered on notifications from all elements. Now it only triggers on
notifications from the correct element, and a new addNotificationListener method
in AccessibilityController can be used to trigger on notifications from all elements.

Updates 2 tests that depended on the old incorrect behavior.

Reviewed by Chris Fleizach.

* accessibility/notification-listeners.html: Added.
* platform/chromium/accessibility/notification-listeners-expected.txt: Added.
* platform/gtk/Skipped:
* platform/mac/accessibility/aria-expanded-notifications.html:
* platform/mac/accessibility/aria-listbox-selectedchildren-change.html:
* platform/mac/accessibility/notification-listeners-expected.txt: Added.
* platform/win/Skipped:

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

8 years agoHiDPI: Switching a video element to full screen in HiDPI mode doesn't fit the screen...
jer.noble@apple.com [Thu, 8 Dec 2011 21:23:16 +0000 (21:23 +0000)]
HiDPI: Switching a video element to full screen in HiDPI mode doesn't fit the screen correctly
https://bugs.webkit.org/show_bug.cgi?id=74119
rdar://problem/10356869

Reviewed by Darin Adler.

Use the Lion-only -[NSWindow convertRectToScreen:] function to convert between window
coordinates and screen coordinates.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController enterFullScreen:]):

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

8 years agoWeb Inspector: Rename createScriptCallStack() without parameters to createScriptCallS...
vsevik@chromium.org [Thu, 8 Dec 2011 21:15:29 +0000 (21:15 +0000)]
Web Inspector: Rename createScriptCallStack() without parameters to createScriptCallStackForInspector().
https://bugs.webkit.org/show_bug.cgi?id=74120

Reviewed by Pavel Feldman.

* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStackForInspector):
* bindings/js/ScriptCallStackFactory.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateFunctionCallback):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjInternal::customArgsAndExceptionCallback):
* bindings/v8/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStackForInspector):
* bindings/v8/ScriptCallStackFactory.h:

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

8 years ago[chromium] Remove dead code in compositor
enne@google.com [Thu, 8 Dec 2011 21:07:57 +0000 (21:07 +0000)]
[chromium] Remove dead code in compositor
https://bugs.webkit.org/show_bug.cgi?id=74103

Reviewed by James Robinson.

Tested via the compiler.

* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
* platform/graphics/chromium/LayerRendererChromium.h:

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

8 years ago[chromium] Need to adjust memory limit and viewport multipliers.
commit-queue@webkit.org [Thu, 8 Dec 2011 21:05:38 +0000 (21:05 +0000)]
[chromium] Need to adjust memory limit and viewport multipliers.
https://bugs.webkit.org/show_bug.cgi?id=74022

Patch by Eric Penner <epenner@google.com> on 2011-12-08
Reviewed by James Robinson.

* platform/graphics/chromium/TextureManager.cpp:
(WebCore::TextureManager::highLimitBytes): Changing constants
(WebCore::TextureManager::reclaimLimitBytes): ditto

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

8 years agoChromium DEPS roll 112974 -> 113603
abarth@webkit.org [Thu, 8 Dec 2011 20:59:19 +0000 (20:59 +0000)]
Chromium DEPS roll 112974 -> 113603
https://bugs.webkit.org/show_bug.cgi?id=74105

Patch by Elliot Poger <epoger@google.com> on 2011-12-08
Reviewed by Adam Barth.

* DEPS:

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

8 years agoAdd a platform EventLoop for iOS
benjamin@webkit.org [Thu, 8 Dec 2011 20:53:05 +0000 (20:53 +0000)]
Add a platform EventLoop for iOS
https://bugs.webkit.org/show_bug.cgi?id=74043

Patch by Benjamin Poulain <bpoulain@apple.com> on 2011-12-08
Reviewed by David Kilzer.

* WebCore.xcodeproj/project.pbxproj:
* platform/ios/EventLoopIOS.mm: Added.
(WebCore::EventLoop::cycle):

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

8 years agoWeb Inspector: return node counts on the document / detached root basis
pfeldman@chromium.org [Thu, 8 Dec 2011 20:41:30 +0000 (20:41 +0000)]
Web Inspector: return node counts on the document / detached root basis
https://bugs.webkit.org/show_bug.cgi?id=74104

Reviewed by Yury Semikhatsky.

* bindings/js/ScriptProfiler.h:
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::domNodeCount):
* bindings/v8/ScriptProfiler.h:
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getDOMNodeCount):
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
* inspector/InspectorMemoryAgent.h:
(WebCore::InspectorMemoryAgent::create):

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

8 years ago[chromium] remove headers from WebKit.gyp that moved into WebKit/chromium/public...
tony@chromium.org [Thu, 8 Dec 2011 20:34:05 +0000 (20:34 +0000)]
[chromium] remove headers from WebKit.gyp that moved into WebKit/chromium/public/platform
https://bugs.webkit.org/show_bug.cgi?id=74106

Reviewed by Darin Fisher.

* WebKit.gyp:

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

8 years agoRenderObject: Rename styleSlowCase() to styleInRegion().
kling@webkit.org [Thu, 8 Dec 2011 20:29:52 +0000 (20:29 +0000)]
RenderObject: Rename styleSlowCase() to styleInRegion().

Rubber-stamped by David Hyatt.

* WebCore.exp.in:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleInRegion):
* rendering/RenderObject.h:
(WebCore::RenderObject::style):

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

8 years ago[Qt][WK2] Unreviewed buildfix after r102352.
ossy@webkit.org [Thu, 8 Dec 2011 20:21:18 +0000 (20:21 +0000)]
[Qt][WK2] Unreviewed buildfix after r102352.

Source/WebKit2:

* DerivedSources.pri:

Tools:

* qmake/mkspecs/features/webkit2.prf:

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

8 years ago[Chromium] Exclude the four RenderTableCellDeathTest death tests for Android
peter@chromium.org [Thu, 8 Dec 2011 20:16:29 +0000 (20:16 +0000)]
[Chromium] Exclude the four RenderTableCellDeathTest death tests for Android
https://bugs.webkit.org/show_bug.cgi?id=73997

The ASSERT_DEATH macro is not yet available in Google Test when
building for Android, which causes compilation errors. This code
will be removed once support lands in the GTest version Chromium
uses. See https://bugs.webkit.org/show_bug.cgi?id=74089.

Reviewed by Julien Chaffraix.

* tests/RenderTableCellTest.cpp:

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

8 years agoIndexedDB: WebKit API addition of IDBObjectStore.count() and IDBIndex.count()
commit-queue@webkit.org [Thu, 8 Dec 2011 20:11:57 +0000 (20:11 +0000)]
IndexedDB: WebKit API addition of IDBObjectStore.count() and IDBIndex.count()
https://bugs.webkit.org/show_bug.cgi?id=73685

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-08
Reviewed by Darin Fisher.

Implementation to follow - this just extends the WebKit API.

* public/WebIDBIndex.h:
(WebKit::WebIDBIndex::count):
* public/WebIDBObjectStore.h:
(WebKit::WebIDBObjectStore::count):

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

8 years agoOptimize RenderObject::containingBlock().
kling@webkit.org [Thu, 8 Dec 2011 20:01:12 +0000 (20:01 +0000)]
Optimize RenderObject::containingBlock().
<http://webkit.org/b/74109>

Reviewed by David Hyatt.

When climbing the parent chain to locate the containing block-level element,
use !isRenderBlock() to reject renderers rather than checking against an arbitrary
list of non-block renderers and then rejecting anything that isn't a block anyway.

RenderObject::containingBlock() was very hot (2.0%) when scrolling on youtube.com.
This change takes it down to 1.0% (60% of which is RenderObject::isRenderBlock().)

* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):

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

8 years agoDefine DEBUG_GL_COMMANDS only in debug builds.
nayankk@motorola.com [Thu, 8 Dec 2011 19:39:57 +0000 (19:39 +0000)]
Define DEBUG_GL_COMMANDS only in debug builds.
https://bugs.webkit.org/show_bug.cgi?id=74083

Reviewed by Noam Rosenthal.

No tests added as this change does not affect functionality.

* platform/graphics/opengl/TextureMapperGL.cpp:

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

8 years agoUnreviewed. Removed suppressions for inspector extensions tests following a fix in...
caseq@chromium.org [Thu, 8 Dec 2011 19:35:29 +0000 (19:35 +0000)]
Unreviewed. Removed suppressions for inspector extensions tests following a fix in r10231.

* platform/chromium/test_expectations.txt:

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

8 years agoCompositeEditCommand should not be kept alive for undo and redo
rniwa@webkit.org [Thu, 8 Dec 2011 19:32:17 +0000 (19:32 +0000)]
CompositeEditCommand should not be kept alive for undo and redo
https://bugs.webkit.org/show_bug.cgi?id=64414

Reviewed by Enrica Casucci.

This patch introduces EditCommandComposition that replaces CompositeEditCommand for
undo and redo purposes. Furthermore, we now keep a list of commands instead of a tree of commands
to unapply and reapply edit commands that composes an undoable action.

Each top-level CompositeEditCommand holds a ref-pointer to EditCommandComposition,
and applyCommandToComposite adds new SimpleEditCommands to the list.

* editing/CompositeEditCommand.cpp:
(WebCore::EditCommandComposition::create):
(WebCore::EditCommandComposition::doApply): Never used.
(WebCore::EditCommandComposition::doUnapply):
(WebCore::EditCommandComposition::doReapply):
(WebCore::EditCommandComposition::append):
(WebCore::CompositeEditCommand::~CompositeEditCommand): Add an assertion to ensure we didn't create
a composition for CompositeEditCommands that have parents.
(WebCore::CompositeEditCommand::doUnapply): Never used.
(WebCore::CompositeEditCommand::doReapply): Never used.
(WebCore::CompositeEditCommand::ensureComposition): Creates and attaches a EditCommandComposition.
(WebCore::CompositeEditCommand::applyCommandToComposite): Append a SimpleEditCommand to the composition.

* editing/CompositeEditCommand.h:
(WebCore::EditCommandComposition::EditCommandComposition):
(WebCore::CompositeEditCommand::composition):
(WebCore::toEditCommandComposition):
(WebCore::toCompositeEditCommand):

* editing/DeleteButtonController.cpp: Wrap RemoveNodeCommand in RemoveTargetCommand since top level
commands are now required to be a CompositeEditCommand.
(WebCore::RemoveTargetCommand::create):
(WebCore::RemoveTargetCommand::RemoveTargetCommand):
(WebCore::RemoveTargetCommand::doApply):
(WebCore::DeleteButtonController::deleteTarget):

* editing/EditCommand.cpp:
(WebCore::EditCommand::EditCommand): New constructor; used by EditCommandComposition.
(WebCore::EditCommand::apply): Create a composition for a top-level command.
(WebCore::EditCommand::unapply): Since we clear m_parent of SimpleEditCommand as soon as they are
added to EditCommandComposition, we can't use isTopLevelCommand() to differentiate EditCommandComposition
from SimpleEditCommand. Use isEditCommandComposition() instead.
(WebCore::EditCommand::reapply): Ditto.
(WebCore::compositionIfPossible):
(WebCore::EditCommand::setStartingSelection): Update the starting selection of EditCommandComposition.
(WebCore::EditCommand::setEndingSelection): Ditto.
(WebCore::EditCommand::setParent): Accepts a null pointer in order to avoid keeping a stale pointer in
m_parent inside SimpleEditCommand when CompositeEditCommand goes away.

* editing/EditCommand.h:
(WebCore::EditCommand::isSimpleEditCommand):
(WebCore::EditCommand::isCompositeEditCommand):
(WebCore::EditCommand::isEditCommandComposition):
(WebCore::EditCommand::parent):
(WebCore::toSimpleEditCommand):

* editing/Editor.cpp:
(WebCore::Editor::appliedEditing): Register a EditCommandComposition, instead of a CompositeEditCommand
to the undo stack.
(WebCore::Editor::unappliedEditing): Unapplied or reapplied commands are now always EditCommandComposition.
(WebCore::Editor::reappliedEditing):
* editing/Editor.h:

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

8 years agoAdd missing V8 bindings to get CSS_FILTERS to compile in Chromium.
senorblanco@chromium.org [Thu, 8 Dec 2011 19:25:47 +0000 (19:25 +0000)]
Add missing V8 bindings to get CSS_FILTERS to compile in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=74091

Reviewed by Kenneth Russell.

Will be covered by tests in css3/filters (when enabled).

* bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Added.
(WebCore::V8WebKitCSSFilterValue::indexedPropertyGetter):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=73348
bdakin@apple.com [Thu, 8 Dec 2011 19:19:05 +0000 (19:19 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=73348
REGRESSION: Assertion when loading a page with a scrollable RenderLayer
-and corresponding-
<rdar://problem/10518918>

Reviewed by Darin Adler.

The main problem here is that certain delegate calls into AppKit for overlay
scrollbars can cause AppKit to call back into WebKit looking for more information.
The assertion happens when WebKit tells AppKit that the scroll position has
changed during a layout, and AppKit immediately asks WebKit to convert some
coordinates, and WebKit asserts that you shouldn't do that while a layout is still
happening. It's still possible for AppKit to call this delegate method while a
layout is happening, and we should guard against that. This patch, however, does
not do that.

This change instead addresses the reason this assertion started happening much
more frequently recently, which is that it recently became true that
notifyPositionChanged() can be called when the position has not changed. To fix
the assertion AND the bug that that change was intended to fix, we can just make
sure that either the position OR the scroll origin has changed before calling
notifyPositionChanged().

* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::immediateScrollToPoint):

Call resetScrollOriginChanged() after the scroll instead of before so that we know
whether or not to call notifyPositionChanged().
* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):

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

8 years agoMake finding crash logs by PID work on Snow Leopard
aroben@apple.com [Thu, 8 Dec 2011 19:16:14 +0000 (19:16 +0000)]
Make finding crash logs by PID work on Snow Leopard

Crash Reporter on Snow Leopard doesn't set the "app_description" extended attribute that we
were using to check the PID of the crashed process. (Crash Reporter on Lion does.) Now we
read the first line of the crash log and pull the PID out of there.

Fixes <http://webkit.org/b/74094> "webkit-patch crash-log <process> <PID>" doesn't work on
Snow Leopard

Reviewed by Darin Adler.

* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._find_newest_log_darwin): Read the first line of the crash log to get the process
name and PID for the log, rather than checking the Lion-only app_description extended
attribute. We now also reject the log if the process name doesn't match what we expect.

* Scripts/webkitpy/common/system/crashlogs_unittest.py:
(make_mock_crash_report_darwin): Added. Returns a mock crash report given a process name and
PID.
(CrashLogsTest.assertLinesEqual): Added. This is a compatibility shim around
unittest.TestCase.assertMultiLineEqual, which didn't exist before Python 2.7.
(CrashLogsTest.test_find_log_darwin): Made the mock crash reports more believable by using
the new make_mock_crash_report_darwin function. Also added tests for files that can't be
read, files that actually contain a crash log for some other process, and files that are
misformatted.

* Scripts/webkitpy/common/system/filesystem.py: Removed FileSystem.getxattr, which is now
unused.

* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.__init__): Removed xattr support, which is now unused.
(MockFileSystem.open_text_file_for_reading): Changed to actually pass the file's data to
ReadableTextFileObject. This function was completely broken before!
(ReadableBinaryFileObject.__init__): Made the data parameter non-optional to try to prevent
bugs like the above.
(ReadableTextFileObject.__init__): Added. Wraps the data in a StringIO object so we can do
things like readline() and seek().

(ReadableTextFileObject.close):
(ReadableTextFileObject.read):
Added. We override the superclass implementation to account for using a StringIO object.

(ReadableTextFileObject.readline):
(ReadableTextFileObject.seek):
Added. These just call through to StringIO.

* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_crash_log):
(MainTest.test_web_process_crash_log):
Changed to use make_mock_crash_report_darwin.

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

8 years agoConvert some fast/regions pixel tests to reftests
commit-queue@webkit.org [Thu, 8 Dec 2011 19:12:34 +0000 (19:12 +0000)]
Convert some fast/regions pixel tests to reftests
https://bugs.webkit.org/show_bug.cgi?id=73866

Patch by Jacob Goldstein <jacobg@adobe.com> on 2011-12-08
Reviewed by Darin Adler.

* fast/regions/positioned-objects-block-static-in-regions-expected.html: Added.
* fast/regions/positioned-objects-block-static-in-rtl-regions-expected.html: Added.
* fast/regions/positioned-objects-block-static-spanning-regions-expected.html: Added.
* fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.html: Added.
* platform/efl/fast/regions/positioned-objects-block-static-in-regions-expected.png: Removed.
* platform/efl/fast/regions/positioned-objects-block-static-in-regions-expected.txt: Removed.
* platform/efl/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.png: Removed.
* platform/efl/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.txt: Removed.
* platform/efl/fast/regions/positioned-objects-block-static-spanning-regions-expected.png: Removed.
* platform/efl/fast/regions/positioned-objects-block-static-spanning-regions-expected.txt: Removed.
* platform/efl/fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.png: Removed.
* platform/efl/fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.txt: Removed.
* platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.png: Removed.
* platform/mac/fast/regions/positioned-objects-block-static-in-regions-expected.txt: Removed.
* platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.png: Removed.
* platform/mac/fast/regions/positioned-objects-block-static-in-rtl-regions-expected.txt: Removed.
* platform/mac/fast/regions/positioned-objects-block-static-spanning-regions-expected.png: Removed.
* platform/mac/fast/regions/positioned-objects-block-static-spanning-regions-expected.txt: Removed.
* platform/mac/fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.png: Removed.
* platform/mac/fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.txt: Removed.

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

8 years ago[WK2] Add permissions support (73960)
jonlee@apple.com [Thu, 8 Dec 2011 19:06:59 +0000 (19:06 +0000)]
[WK2] Add permissions support (73960)
https://bugs.webkit.org/show_bug.cgi?id=73960
<rdar://problem/10357008>

Reviewed by Darin Adler.

Source/WebKit2:

* DerivedSources.make: Moved notification files to its own directory. Need to add that path.
* WebKit2.xcodeproj/project.pbxproj: New header and impl files.
* Target.pri: Ditto.
* GNUmakefile.am: Ditto.
* win/WebKit2.vcproj: Ditto.
* win/WebKit2Common.vsprops: Add path to Notifications directory.

Implement permission functions, which go through permission request manager.

* WebProcess/WebCoreSupport/WebNotificationClient.cpp:
(WebKit::WebNotificationClient::requestPermission):
(WebKit::WebNotificationClient::cancelRequestsForPermission):
(WebKit::WebNotificationClient::checkPermission):

New NotificationPermissionRequestManager to make and cancel permission requests, and to retrieve current
policy.

* WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Added.
(WebKit::generateRequestID):
(WebKit::NotificationPermissionRequestManager::create):
(WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
(WebKit::NotificationPermissionRequestManager::startRequest): Keep track of the provided callback once
policy decision is made.
(WebKit::NotificationPermissionRequestManager::cancelRequest):
(WebKit::NotificationPermissionRequestManager::permissionLevel): Retrieve level through a synchronous
message to the proxy.
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): Invoke the callback.
* WebProcess/Notifications/NotificationPermissionRequestManager.h: Added.
(WebKit::isRequestIDValid): Make sure any provided request IDs are valid.

Added new NotificationPermissionRequest class.

* UIProcess/Notifications/NotificationPermissionRequest.cpp: Added.
(WebKit::NotificationPermissionRequest::create):
(WebKit::NotificationPermissionRequest::NotificationPermissionRequest):
(WebKit::NotificationPermissionRequest::allow): Notify manager of decision.
(WebKit::NotificationPermissionRequest::deny): Ditto.
(WebKit::NotificationPermissionRequest::invalidate): Disassociate with manager.
(WebKit::NotificationPermissionRequest::type):
* UIProcess/Notifications/NotificationPermissionRequest.h: Added.

WKAPI support for NotificationPermissionRequest:

* Shared/API/c/WKBase.h:
* Shared/APIObject.h:
* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKNotificationPermissionRequest.cpp: Added.
(WKNotificationPermissionRequestGetTypeID):
(WKNotificationPermissionRequestAllow):
(WKNotificationPermissionRequestDeny):
* UIProcess/API/C/WKNotificationPermissionRequest.h: Added.

Other additions to WK API:

* UIProcess/API/C/WKNotificationProvider.h: Added new callback for WKNotificationProviders, to return policy
for a given security origin.
* UIProcess/API/C/WKPage.h: Added new callback to WKPageUIClient to ask user to decide on policy.

New NotificationPermissionRequestManagerProxy to create requests.

* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: Added.
(WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy):
(WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
(WebKit::NotificationPermissionRequestManagerProxy::createRequest):
(WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision):
* UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: Added.

Added new message to notification manager: NotificationPermissionLevel, to retrieve policy. The current
JS API retrieves the permission synchronously, so the message needs to be sent synchronously also.

* UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.messages.in.
* UIProcess/Notifications/WebNotificationProvider.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.cpp.
(WebKit::WebNotificationProvider::policyForNotificationPermissionAtOrigin): Added.
* UIProcess/Notifications/WebNotificationProvider.h: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.h.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveSyncMessage): Boilerplate to forward messages to notification manager.

* UIProcess/Notifications/WebNotificationManagerProxy.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.cpp.
(WebKit::WebNotificationManagerProxy::create):
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
(WebKit::WebNotificationManagerProxy::invalidate):
(WebKit::WebNotificationManagerProxy::initializeProvider):
(WebKit::WebNotificationManagerProxy::didReceiveMessage):
(WebKit::WebNotificationManagerProxy::didReceiveSyncMessage):
(WebKit::WebNotificationManagerProxy::show):
(WebKit::WebNotificationManagerProxy::cancel):
(WebKit::WebNotificationManagerProxy::didDestroyNotification):
(WebKit::WebNotificationManagerProxy::notificationPermissionLevel): Retrieve the policy from the provider.
(WebKit::WebNotificationManagerProxy::providerDidShowNotification):
(WebKit::WebNotificationManagerProxy::providerDidClickNotification):
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
* UIProcess/Notifications/WebNotificationManagerProxy.h: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.h.
(WebKit::WebNotificationManagerProxy::clearContext):
(WebKit::WebNotificationManagerProxy::type):

Added NotificationPermissionRequestManagerProxy to WebPageProxy, to allow a request for permission to
go through to the UI client. Added new message to WebPageProxy, RequestNotificationPermission.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close): Invalidate pending requests.
(WebKit::WebPageProxy::processDidCrash): Ditto.
(WebKit::WebPageProxy::requestNotificationPermission): Forward request to UI client.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
* UIProcess/WebUIClient.h:

Added new message DidReceiveNotificationPermissionDecision. The WebPage forwards the message to the
permission request manager.

* WebProcess/WebPage/WebPage.messages.in: Added new message DidReceiveNotificationPermissionDecision
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::notificationPermissionRequestManager): Create manager on request.
(WebKit::WebPage::didReceiveNotificationPermissionDecision):
* WebProcess/WebPage/WebPage.h:

Moving files to Notifications/ subdirectory.

* UIProcess/Notifications/WebNotification.cpp: Moved from Source/WebKit2/UIProcess/WebNotification.cpp.
* UIProcess/Notifications/WebNotification.h: Moved from Source/WebKit2/UIProcess/WebNotification.h.

Tools:

Add null function item to comply with added callback to WKPageUIClient.

* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::initialize):

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

8 years agoFixing support for static conditional overloaded functions.
commit-queue@webkit.org [Thu, 8 Dec 2011 18:55:05 +0000 (18:55 +0000)]
Fixing support for static conditional overloaded functions.
https://bugs.webkit.org/show_bug.cgi?id=74068

Patch by Kaustubh Atrawalkar <kaustubh@motorola.com> on 2011-12-08
Reviewed by Adam Barth.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Pushing "static" keyword after condition "#if".
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::overloadedMethod1): Added newly generated bindings.
* bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
(webkit_dom_test_obj_overloaded_method1):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
* bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
* bindings/scripts/test/JS/JSTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
(-[DOMTestObj overloadedMethod1:]):
* bindings/scripts/test/TestObj.idl: Ditto.
* bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
(WebCore::TestObjInternal::overloadedMethod11Callback):
(WebCore::TestObjInternal::overloadedMethod12Callback):
(WebCore::TestObjInternal::overloadedMethod1Callback):
(WebCore::ConfigureV8TestObjTemplate):

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

8 years agoAdded a test for css number types problem.
commit-queue@webkit.org [Thu, 8 Dec 2011 18:53:11 +0000 (18:53 +0000)]
Added a test for css number types problem.
It's testing the css number types parser, where 'px' defined like escape sequences (\70\78) or uppercase / lowercase.
https://bugs.webkit.org/show_bug.cgi?id=72007

Patch by Szilard Ledan <Ledan-Muntean.Szilard@stud.u-szeged.hu> on 2011-12-08
Reviewed by Darin Adler.

* fast/css/parsing-css-number-types-expected.txt: Added.
* fast/css/parsing-css-number-types.html: Added.

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

8 years agoRemove EventListenerMap destructor.
kling@webkit.org [Thu, 8 Dec 2011 18:50:41 +0000 (18:50 +0000)]
Remove EventListenerMap destructor.
<http://webkit.org/b/74096>

Reviewed by Darin Adler.

Let the compiler generate ~EventListenerMap(). We only needed it when the hash map
was managing raw pointers.

We're losing the no-iterators assertion from clear() by doing this, but that was
superfluous to begin with - we were just using it to avoid duplicating code.

* dom/EventListenerMap.cpp:
* dom/EventListenerMap.h:

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

8 years ago[Qt] Visualize mock points in the Qt MiniBrowser
commit-queue@webkit.org [Thu, 8 Dec 2011 18:38:53 +0000 (18:38 +0000)]
[Qt] Visualize mock points in the Qt MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=74074

Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2011-12-08
Reviewed by Tor Arne Vestbø.

* MiniBrowser/qt/BrowserWindow.cpp:
(BrowserWindow::updateVisualMockTouchPoints):
* MiniBrowser/qt/BrowserWindow.h:
* MiniBrowser/qt/MiniBrowser.qrc:
* MiniBrowser/qt/MiniBrowserApplication.cpp:
(MiniBrowserApplication::notify):
(MiniBrowserApplication::sendTouchEvent):
* MiniBrowser/qt/MiniBrowserApplication.h:
* MiniBrowser/qt/icons/touchpoint.png: Added.
* MiniBrowser/qt/qml/MockTouchPoint.qml: Added.

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

8 years ago[chromium] Rebaseline printing/width-overflow.html on Chromium Mac Leopard.
tony@chromium.org [Thu, 8 Dec 2011 18:23:08 +0000 (18:23 +0000)]
[chromium] Rebaseline printing/width-overflow.html on Chromium Mac Leopard.

* platform/chromium-cg-mac-snowleopard/printing/width-overflow-expected.png: Renamed from LayoutTests/platform/chromium-cg-mac/printing/width-overflow-expected.png.
* platform/chromium-linux/printing/width-overflow-expected.txt: Removed.
* platform/chromium-mac-leopard/printing/width-overflow-expected.png: Added.
* platform/chromium-mac-snowleopard/printing/width-overflow-expected.txt: Removed.
* platform/chromium/printing/width-overflow-expected.txt: Renamed from LayoutTests/platform/chromium-cg-mac/printing/width-overflow-expected.txt.

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

8 years ago[WebKit2] Initialize threading in UI process.
nayankk@motorola.com [Thu, 8 Dec 2011 17:57:30 +0000 (17:57 +0000)]
[WebKit2] Initialize threading in UI process.
https://bugs.webkit.org/show_bug.cgi?id=70127

Reviewed by Anders Carlsson.

* CMakeLists.txt:
* GNUmakefile.am:
* Shared/APIObject.cpp: Added.
(WebKit::APIObject::APIObject):
* Shared/APIObject.h:
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* win/WebKit2.vcproj:

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

8 years agoUnreviewed, skipping failing test platform/mac/accessibility/search-with-frames.html
dmazzoni@google.com [Thu, 8 Dec 2011 16:36:39 +0000 (16:36 +0000)]
Unreviewed, skipping failing test platform/mac/accessibility/search-with-frames.html

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

8 years ago[Qt] [WK2] Directly composited images doesn't render
commit-queue@webkit.org [Thu, 8 Dec 2011 16:16:55 +0000 (16:16 +0000)]
[Qt] [WK2] Directly composited images doesn't render
https://bugs.webkit.org/show_bug.cgi?id=74058

Patch by Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> on 2011-12-08
Reviewed by Noam Rosenthal.

Attach image to WebGraphicsLayer even if layerTreeTileClient is not set
and create/assign remote image tiles later during sync.

* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
(WebCore::WebGraphicsLayer::setContentsToImage):
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):

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

8 years agoREGRESSION(r102334): Various Qt WK2 layout tests crash
hausmann@webkit.org [Thu, 8 Dec 2011 16:06:52 +0000 (16:06 +0000)]
REGRESSION(r102334): Various Qt WK2 layout tests crash

Reviewed by Tor Arne Vestbø.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState): Add missing null pointer check for the editable
element (scope) before calling innerText.

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

8 years ago[Qt] WebKitTestRunner crashes with debug builds https://bugs.webkit.org/show_bug...
hausmann@webkit.org [Thu, 8 Dec 2011 15:46:47 +0000 (15:46 +0000)]
[Qt] WebKitTestRunner crashes with debug builds https://bugs.webkit.org/show_bug.cgi?id=74090

Reviewed by Tor Arne Vestbø.

Source/WebKit2:

Export private C++ API style platformInitialize function needed
by low-level WTR.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::platformInitialize):
* UIProcess/API/qt/qquickwebview_p.h:

Tools:

* WebKitTestRunner/qt/TestControllerQt.cpp:
(WTR::TestController::platformInitialize): Call QQuickWebView::platformInitialize
to ensure WTF/JSC threading is initialized.

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

8 years agoProvide more specific error description for SocketStreamError.
commit-queue@webkit.org [Thu, 8 Dec 2011 15:45:39 +0000 (15:45 +0000)]
Provide more specific error description for SocketStreamError.
https://bugs.webkit.org/show_bug.cgi?id=74066

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2011-12-08
Reviewed by Martin Robinson.

No new tests because this change just improve error messages for unexpected failures.

* platform/network/soup/SocketStreamError.h: Add an argument for passing error description.
(WebCore::SocketStreamError::SocketStreamError):
* platform/network/soup/SocketStreamHandleSoup.cpp: Add error description for SocketStreamError.
(WebCore::SocketStreamHandle::connected):
(WebCore::SocketStreamHandle::readBytes):
(WebCore::SocketStreamHandle::platformSend):
(WebCore::SocketStreamHandle::platformClose):

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

8 years ago[Qt] Fix non-animated pinch-zoom scale commit.
jocelyn.turcotte@nokia.com [Thu, 8 Dec 2011 15:32:37 +0000 (15:32 +0000)]
[Qt] Fix non-animated pinch-zoom scale commit.
https://bugs.webkit.org/show_bug.cgi?id=74007

Reviewed by Kenneth Rohde Christiansen.

The update deferrer object was only destroyed at the end of the animation
and wouldn't be if the pinch-zoom was ended within legal bounds.
This patch also makes sure that the deferrer isn't destroyed and re-created
once the animation is started if it was already there.

* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::animateItemRectVisible):
(WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
(WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
(WebKit::QtViewportInteractionEngine::pinchGestureEnded):
* UIProcess/qt/QtViewportInteractionEngine.h:

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

8 years agoREGRESSION(r101683): QQuickWebView doesn't work with OpenGL/ES 2.0
hausmann@webkit.org [Thu, 8 Dec 2011 15:30:29 +0000 (15:30 +0000)]
REGRESSION(r101683): QQuickWebView doesn't work with OpenGL/ES 2.0
https://bugs.webkit.org/show_bug.cgi?id=74077

Reviewed by Kenneth Rohde Christiansen.

Replace Desktop OpenGL idiom of using gl_Vertex with a simple vertex attribute
that's tied to the same register 0 (by being the first in the array).

* UIProcess/API/qt/qquickwebpage.cpp:
(PageProxyMaterialShader::attributeNames): Define "vertex" attribute, which is
bound to register 0, which is the current vertex.
(PageProxyMaterialShader::vertexShader): Use the vertex attribute instead of the
built-in gl_Vertex, which is only present in Desktop GL.

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

8 years ago[Qt] Fix the memory leak of AC layer update message contents on the UI process.
jocelyn.turcotte@nokia.com [Thu, 8 Dec 2011 15:29:13 +0000 (15:29 +0000)]
[Qt] Fix the memory leak of AC layer update message contents on the UI process.
https://bugs.webkit.org/show_bug.cgi?id=74012

Reviewed by Noam Rosenthal.

Since the messages didn't have a virtual destructor, the destructor
of child class members wouldn't be called and would cause the all tile
update buffers, contained in a QImage, to be leaked as well.

* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeMessageToRenderer::~LayerTreeMessageToRenderer):

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

8 years agofix build-webkit --chromium after breakage in r102201
dpranke@chromium.org [Thu, 8 Dec 2011 14:50:55 +0000 (14:50 +0000)]
fix build-webkit --chromium after breakage in r102201
https://bugs.webkit.org/show_bug.cgi?id=74031

Reviewed by Tony Chang.

* Scripts/webkitdirs.pm:
(buildChromium):

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

8 years agoUpsteam the Qt changes to the EditorState https://bugs.webkit.org/show_bug.cgi?id...
kenneth@webkit.org [Thu, 8 Dec 2011 14:27:14 +0000 (14:27 +0000)]
Upsteam the Qt changes to the EditorState https://bugs.webkit.org/show_bug.cgi?id=74080

Reviewed by Simon Hausmann.

We are not doing the serialization manually due to it not being a POD
structure anymore in the case of Qt.

* GNUmakefile.am:
* Shared/EditorState.h:
(WebKit::EditorState::EditorState):
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::respondToChangedSelection):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
* win/WebKit2.vcproj:

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

8 years ago[CSSRegions][CSSOM] Implement NamedFlow interface
mihnea@adobe.com [Thu, 8 Dec 2011 14:23:10 +0000 (14:23 +0000)]
[CSSRegions][CSSOM] Implement NamedFlow interface
https://bugs.webkit.org/show_bug.cgi?id=66642

Reviewed by David Hyatt.

Add WebKitNamedFlow to support the NamedFlow interface. No methods are
yet implemented on this interface. The NamedFlow object is a live object.
The first time user asks for it, it gets a valid JS object whose properties
will reflect the changes to the flow thread.

Source/WebCore:

Tests: fast/regions/webkit-named-flow-existing-flow.html
       fast/regions/webkit-named-flow-flow-added.html
       fast/regions/webkit-named-flow-modified-flow.html
       fast/regions/webkit-named-flow-non-existing-flow.html
       fast/regions/webkit-named-flow-removed-flow.html
       fast/regions/webkit-named-flow-same-object.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/GNUmakefile.am:
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::webkitGetFlowByName):
* dom/Document.h:
* dom/Document.idl:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
* dom/WebKitNamedFlow.cpp: Added.
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
(WebCore::WebKitNamedFlow::~WebKitNamedFlow):
* dom/WebKitNamedFlow.h: Added.
(WebCore::WebKitNamedFlow::create):
* dom/WebKitNamedFlow.idl: Added.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::ensureNamedFlow):
* rendering/RenderFlowThread.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
* rendering/RenderView.cpp:
(WebCore::RenderView::ensureRenderFlowThreadWithName):
* rendering/RenderView.h:

LayoutTests:

* fast/dom/Window/window-properties-expected.txt:
* fast/regions/webkit-named-flow-existing-flow-expected.txt: Added.
* fast/regions/webkit-named-flow-existing-flow.html: Added.
* fast/regions/webkit-named-flow-flow-added-expected.txt: Added.
* fast/regions/webkit-named-flow-flow-added.html: Added.
* fast/regions/webkit-named-flow-modified-flow-expected.txt: Added.
* fast/regions/webkit-named-flow-modified-flow.html: Added.
* fast/regions/webkit-named-flow-non-existing-flow-expected.txt: Added.
* fast/regions/webkit-named-flow-non-existing-flow.html: Added.
* fast/regions/webkit-named-flow-removed-flow-expected.txt: Added.
* fast/regions/webkit-named-flow-removed-flow.html: Added.
* fast/regions/webkit-named-flow-same-object-expected.txt: Added.
* fast/regions/webkit-named-flow-same-object.html: Added.
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* platform/qt-wk2/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/win/fast/dom/Window/window-properties-expected.txt:

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

8 years agoUnreviewed, rolling out r102280.
haraken@chromium.org [Thu, 8 Dec 2011 13:04:41 +0000 (13:04 +0000)]
Unreviewed, rolling out r102280.
http://trac.webkit.org/changeset/102280
https://bugs.webkit.org/show_bug.cgi?id=74031

Chromium/Windows build is broken

* Scripts/webkitdirs.pm:
(buildChromium):

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

8 years ago2011-12-08 Gopal Raghavan <gopal.1.raghavan@nokia.com>
hausmann@webkit.org [Thu, 8 Dec 2011 11:52:47 +0000 (11:52 +0000)]
2011-12-08  Gopal Raghavan  <gopal.1.raghavan@nokia.com>

        [Qt] cleanup qmlplugin
        https://bugs.webkit.org/show_bug.cgi?id=73834

        Reviewed by Tor Arne Vestbø.

        Removed empty folder qmlplugin.

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

8 years agoUnreviewed, rolling out r102321.
commit-queue@webkit.org [Thu, 8 Dec 2011 11:24:31 +0000 (11:24 +0000)]
Unreviewed, rolling out r102321.
http://trac.webkit.org/changeset/102321
https://bugs.webkit.org/show_bug.cgi?id=74072

"Breaks all Chromium clobbered builds" (Requested by apavlov_
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-08

* WebCore.gyp/WebCore.gyp:
* WebCore.gyp/scripts/action_derivedsourcesallinone.py:
(main):
* WebCore.gypi:
* bindings/scripts/generate-bindings.pl:
* page/DOMWindow.idl:
* webaudio/DOMWindowWebAudio.idl: Removed.

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

8 years agoAdding myself to committers list.
nayankk@motorola.com [Thu, 8 Dec 2011 11:09:24 +0000 (11:09 +0000)]
Adding myself to committers list.

Unreviewed.

* Scripts/webkitpy/common/config/committers.py:

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

8 years agoRefactoring: Editor::requestCheckingFor should take SpellCheckRequest object.
commit-queue@webkit.org [Thu, 8 Dec 2011 10:46:32 +0000 (10:46 +0000)]
Refactoring: Editor::requestCheckingFor should take SpellCheckRequest object.
https://bugs.webkit.org/show_bug.cgi?id=74033

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-12-08
Reviewed by Hajime Morita.

SpellChecker::requestCheckingFor takes SpellCheckRequest object in order to make it easy to
pass necessary information to requestCheckingFor.

No new tests. Covered by existing tests.

* editing/Editor.cpp:
(WebCore::Editor::replaceSelectionWithFragment):
  Uses the new interface.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
* editing/SpellChecker.cpp:
(WebCore::SpellCheckRequest::SpellCheckRequest):
(WebCore::SpellCheckRequest::~SpellCheckRequest):
(WebCore::SpellCheckRequest::create):
  Creates a new SpellCheckRequest object.
(WebCore::SpellChecker::requestCheckingFor):
  Uses the new interface.
(WebCore::SpellChecker::didCheck):
* editing/SpellChecker.h:
(WebCore::SpellCheckRequest::setSequence):
(WebCore::SpellCheckRequest::sequence):
(WebCore::SpellCheckRequest::checkingRange):
(WebCore::SpellCheckRequest::paragraphRange):
(WebCore::SpellCheckRequest::text):
(WebCore::SpellCheckRequest::mask):
(WebCore::SpellCheckRequest::rootEditableElement):

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

8 years agoFix failed layout test, bufferedAmount-after-close-in-busy.html
commit-queue@webkit.org [Thu, 8 Dec 2011 10:44:51 +0000 (10:44 +0000)]
Fix failed layout test, bufferedAmount-after-close-in-busy.html
https://bugs.webkit.org/show_bug.cgi?id=73666

Originally the failed layout test use simple_wsh server side WebSocket
handler. But this handler starts closing handshake after a while and
it bring flakiness on the test.
Now the test use echo_wsh instead of simple_wsh. It never perform
server initiated closing handshake.

Patch by Takashi Toyoshima <toyoshim@chromium.org> on 2011-12-08
Reviewed by Kent Tamura.

* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
* platform/gtk/Skipped:

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

8 years agoUnreviewed gardening.
kbalazs@webkit.org [Thu, 8 Dec 2011 10:37:07 +0000 (10:37 +0000)]
Unreviewed gardening.

Remove duplicated entries from skipped list.

* platform/qt-5.0/Skipped:

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

8 years ago[WK2] Unreviewed gardening.
ossy@webkit.org [Thu, 8 Dec 2011 10:26:37 +0000 (10:26 +0000)]
[WK2] Unreviewed gardening.

WebKitTestRunner needs layoutTestController.setEditingBehavior
https://bugs.webkit.org/show_bug.cgi?id=42689

* platform/wk2/Skipped: Skip new failing tests.

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

8 years agoUnreviewed, rolling out r102323.
commit-queue@webkit.org [Thu, 8 Dec 2011 10:12:22 +0000 (10:12 +0000)]
Unreviewed, rolling out r102323.
http://trac.webkit.org/changeset/102323
https://bugs.webkit.org/show_bug.cgi?id=74069

Caused Chromium and GTK build failure (Requested by bashi on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-08

.:

* Source/autotools/symbols.filter:

Source/WebCore:

* testing/Internals.cpp:
(WebCore::Internals::getPageScaleFactor):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit2:

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

* compositing/geometry/fixed-position-composited-page-scale-down.html:
* compositing/geometry/fixed-position-composited-page-scale.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale.html:
* compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
* compositing/geometry/fixed-position-transform-composited-page-scale.html:
* compositing/scaling/tiled-layer-recursion.html:
* fast/dom/Element/scale-page-bounding-client-rect.html:
* fast/dom/Element/scale-page-client-rects.html:
* fast/dom/Range/scale-page-bounding-client-rect.html:
* fast/dom/Range/scale-page-client-rects.html:
* fast/events/scale-and-scroll-body.html:
* fast/events/scale-and-scroll-iframe-body.html:
* fast/events/scale-and-scroll-iframe-window.html:
* fast/events/scale-and-scroll-window.html:
* fast/events/script-tests/page-scaled-mouse-click-iframe.js:
(iframeLoaded):
* fast/events/script-tests/page-scaled-mouse-click.js:
* fast/events/scroll-in-scaled-page-with-overflow-hidden.html:
* fast/events/touch/page-scaled-touch-gesture-click.html:
* fast/frames/frame-set-rotation-hit.html:
* fast/frames/frame-set-scaling-hit.html:
* fast/frames/iframe-double-scale-contents.html:
* fast/repaint/background-scaling.html:
* fast/repaint/scale-page-shrink.html:
* fast/transforms/selection-bounds-in-transformed-view.html:

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

8 years agoMove scalePageBy from eventSender to window.internals
fsamuel@chromium.org [Thu, 8 Dec 2011 09:18:01 +0000 (09:18 +0000)]
Move scalePageBy from eventSender to window.internals
https://bugs.webkit.org/show_bug.cgi?id=64512

Reviewed by Simon Fraser.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

Added setPageScaleFactor to window.internals.
Renamed window.internals.getPageScaleFactor to window.internals.pageScaleFactor
to match the webkit style.

* testing/Internals.cpp:
(WebCore::Internals::pageScaleFactor):
(WebCore::Internals::setPageScaleFactor):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit2:

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

Updated layout tests to use window.internals.setPageScaleFactor.

* compositing/geometry/fixed-position-composited-page-scale-down.html:
* compositing/geometry/fixed-position-composited-page-scale.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale.html:
* compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
* compositing/geometry/fixed-position-transform-composited-page-scale.html:
* compositing/scaling/tiled-layer-recursion.html:
* fast/dom/Element/scale-page-bounding-client-rect.html:
* fast/dom/Element/scale-page-client-rects.html:
* fast/dom/Range/scale-page-bounding-client-rect.html:
* fast/dom/Range/scale-page-client-rects.html:
* fast/events/scale-and-scroll-body.html:
* fast/events/scale-and-scroll-iframe-body.html:
* fast/events/scale-and-scroll-iframe-window.html:
* fast/events/scale-and-scroll-window.html:
* fast/events/script-tests/page-scaled-mouse-click-iframe.js:
(iframeLoaded):
* fast/events/script-tests/page-scaled-mouse-click.js:
* fast/events/scroll-in-scaled-page-with-overflow-hidden.html:
* fast/events/touch/page-scaled-touch-gesture-click.html:
* fast/frames/frame-set-rotation-hit.html:
* fast/frames/frame-set-scaling-hit.html:
* fast/frames/iframe-double-scale-contents.html:
* fast/repaint/background-scaling.html:
* fast/repaint/scale-page-shrink.html:
* fast/transforms/selection-bounds-in-transformed-view.html:

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

8 years agoUnreviewed, remove duplicate test expectations.
bashi@chromium.org [Thu, 8 Dec 2011 08:48:36 +0000 (08:48 +0000)]
Unreviewed, remove duplicate test expectations.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-12-08

* platform/chromium/test_expectations.txt:

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

8 years agoUse the [Supplemental] IDL for webaudio attributes in Chromium
haraken@chromium.org [Thu, 8 Dec 2011 08:20:25 +0000 (08:20 +0000)]
Use the [Supplemental] IDL for webaudio attributes in Chromium
https://bugs.webkit.org/show_bug.cgi?id=73394

Reviewed by Adam Barth.

- Overview: Using the [Supplemental] IDL, this patch moves the attribute
declarations of webaudio from DOMWindow.idl into a new IDL file
webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
feature (aka a module).

- This patch changes the build flow of WebCore.gyp as follows:

    Previous build flow:
        foreach $idl (all IDL files) {
            generate-bindings.pl depends on $idl;
            generate-bindings.pl reads $idl;
            generate-bindings.pl generates .h and .cpp files for $idl;
        }

    New build flow (See the discussions in bug 72138 for more details):
        resolve-supplemental.pl depends on all IDL files;
        resolve-supplemental.pl reads all IDL files;
        resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
        resolve-supplemental.pl outputs supplemental_dependency.tmp;
        foreach $idl (all IDL files) {
            generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
            generate-bindings.pl reads $idl;
            generate-bindings.pl reads supplemental_dependency.tmp;
            generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
        }

- This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
will be removed after build scripts for all platforms support the [Supplemental] IDL.
The motivation for the [Supplemented] IDL is as follows:

In order to support the [Supplemental] IDL, we need to
(1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
(2) and run generate-bindings.pl with the supplemental_dependency.tmp.

This build flow requires a change on the following build scripts,
but changing all the build scripts all at once without any regression is too difficult:

    - DerivedSources.make
    - DerivedSources.pri
    - GNUmakefile.am
    - PlatformBlackBerry.cmake
    - UseJSC.cmake
    - UseV8.cmake
    - WebCore.vcproj/MigrateScripts
    - WebCore.vcproj/WebCore.vcproj
    - bindings/gobject/GNUmakefile.am
    - WebCore.gyp/WebCore.gyp

Thus, we are planning to change the build scripts one by one, which implies that
we need to allow the temporary state in which some build scripts support [Supplemental] IDL
but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
in another IDL file somewhere, like this:

    DOMWindowWebAudio.idl:
        interface [
            Supplemental=DOMWindow
        ] DOMWindowWebAudio {
            attribute attr1;
            attribute attr2;
        };

    DOMWindow.idl:
        interface [
        ] DOMWindow {
            attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
            attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
            attribute attr3;
            attribute attr4;
        };

Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:

    - If a given build script supports the [Supplemental] IDL,
    generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
    - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
    as normal attributes and instead ignores all attributes with the [Supplemental] IDL
    (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).

Tests: webaudio/*

* WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
* WebCore.gyp/scripts/action_derivedsourcesallinone.py:
(main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
* WebCore.gypi: Added DOMWindowWebAudio.idl.
* bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
* page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
* webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.

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

8 years agoCSS color gets adjusted for disabled input elements
commit-queue@webkit.org [Thu, 8 Dec 2011 07:53:01 +0000 (07:53 +0000)]
CSS color gets adjusted for disabled input elements
https://bugs.webkit.org/show_bug.cgi?id=54643

Patch by Yosifumi Inoue <yosin@chromium.org> on 2011-12-07
Reviewed by Kent Tamura.

Source/WebCore:

No new tests. covered by existing tests. Need rebasing some existing tests for Chromimum.

Remove automatic color adjustment for disabled text control for Chromimum.

* css/themeChromium.css: Add CSS entries for default style for disabled input and textarea elements.
* WebCore/rendering/RenderTextControl.cpp:
(disabledTextColor): Removed for PLATFORM(CHROMIUM)
(RenderTextControl::adjustInnerTextStyle): Don't call disabledTextColor for Chromium.

LayoutTests:

* platform/chromium/test_expectations.txt: Add files need to be updated.

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

8 years agoFix the 32-bit build.
mrowe@apple.com [Thu, 8 Dec 2011 07:33:51 +0000 (07:33 +0000)]
Fix the 32-bit build.

Ignore some warnings that only occur in 32-bit.

Source/WebKit/mac:

* Plugins/WebNetscapePluginPackage.mm:

Source/WebKit2:

* PluginProcess/mac/PluginProcessShim.mm:
* Shared/Plugins/Netscape/NetscapePluginModule.cpp:
(WebKit::NetscapePluginModule::tryLoad):

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

8 years ago[Qt] Unreviewed buildfix after r102262.
ossy@webkit.org [Thu, 8 Dec 2011 07:31:08 +0000 (07:31 +0000)]
[Qt] Unreviewed buildfix after r102262.

* Api/qwebelement.cpp:
(QWebElement::setStyleProperty):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=74038
dslomov@google.com [Thu, 8 Dec 2011 06:59:10 +0000 (06:59 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74038
[V8][Chromium] Support legacy argument order in window.postMessage/window.webkitPostMessage.

Reviewed by David Levin.

Source/WebCore:

* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::isLegacyTargetOriginDesignation):
(WebCore::handlePostMessageCallback):

LayoutTests:

* fast/dom/Window/window-postmessage-args-expected.txt:
* fast/dom/Window/window-postmessage-args.html: New tests for legacy argument order.
* platform/chromium/fast/dom/Window/window-postmessage-args-expected.txt:

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

8 years agoUnreviewed, rebaseline media/controls-layout-direction.html
bashi@chromium.org [Thu, 8 Dec 2011 06:50:01 +0000 (06:50 +0000)]
Unreviewed, rebaseline media/controls-layout-direction.html

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-12-07

* platform/chromium-cg-mac-snowleopard/media/controls-layout-direction-expected.png: Added.
* platform/chromium-mac-snowleopard/media/controls-layout-direction-expected.png: Added.
* platform/chromium-win/media/controls-layout-direction-expected.png: Added.

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

8 years agoUnreviewed chromium test expectation update.
bashi@chromium.org [Thu, 8 Dec 2011 06:29:05 +0000 (06:29 +0000)]
Unreviewed chromium test expectation update.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-12-07

* platform/chromium/test_expectations.txt:

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

8 years agoUpstream 4 files into WebCore/platform/blackberry
commit-queue@webkit.org [Thu, 8 Dec 2011 06:01:08 +0000 (06:01 +0000)]
Upstream 4 files into WebCore/platform/blackberry
https://bugs.webkit.org/show_bug.cgi?id=73541

Patch by Mary Wu <mary.wu@torchmobile.com.cn> on 2011-12-07
Reviewed by Antonio Gomes.

Initial upstream of BlackBerry porting of PlatformScreen/
SSLKeyGenerator/Sound/Widget, no new tests.

* PlatformBlackBerry.cmake: Modified to remove empty file "WheelEventBlackBerry.cpp"
* platform/blackberry/PlatformScreenBlackBerry.cpp: Added.
(WebCore::screenIsMonochrome):
(WebCore::screenDepthPerComponent):
(WebCore::screenDepth):
(WebCore::screenAvailableRect):
(WebCore::screenRect):
* platform/blackberry/SSLKeyGeneratorBlackBerry.cpp: Added.
(WebCore::getSupportedKeySizes):
(WebCore::signedPublicKeyAndChallengeString):
* platform/blackberry/SoundBlackBerry.cpp: Added.
(WebCore::systemBeep):
* platform/blackberry/WidgetBlackBerry.cpp: Added.
(WebCore::Widget::Widget):
(WebCore::Widget::~Widget):
(WebCore::Widget::hide):
(WebCore::Widget::paint):
(WebCore::Widget::setCursor):
(WebCore::Widget::setFocus):
(WebCore::Widget::setFrameRect):
(WebCore::Widget::setIsSelected):
(WebCore::Widget::show):
(WebCore::Widget::frameRect):

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

8 years agoRefactor CSSParser::parseFontFaceSrc()
bashi@chromium.org [Thu, 8 Dec 2011 05:38:26 +0000 (05:38 +0000)]
Refactor CSSParser::parseFontFaceSrc()
https://bugs.webkit.org/show_bug.cgi?id=73989

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/css/font-face-src-parsing.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceSrcURI): Added.
(WebCore::CSSParser::parseFontFaceSrcLocal): Added.
(WebCore::CSSParser::parseFontFaceSrc): Rewrote.
* css/CSSParser.h:

LayoutTests:

Added a test that checks parsing result of the src descriptor of @font-face.

* fast/css/font-face-src-parsing-expected.txt: Added.
* fast/css/font-face-src-parsing.html: Added.

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

8 years agoImplement the SSE optimization in SincResampler::process()
commit-queue@webkit.org [Thu, 8 Dec 2011 05:23:42 +0000 (05:23 +0000)]
Implement the SSE optimization in SincResampler::process()
https://bugs.webkit.org/show_bug.cgi?id=73789

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2011-12-07
Reviewed by Benjamin Poulain.

Here is about 70% performance improvement on the hot spot of sample convolving.

* platform/audio/SincResampler.cpp:

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

8 years agoImplement border image source properties in CSSStyleApplyProperty.
macpherson@chromium.org [Thu, 8 Dec 2011 05:08:32 +0000 (05:08 +0000)]
Implement border image source properties in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=73981

Reviewed by Andreas Kling.

No new tests / refactoring only.

* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyBorderImageSource::applyValue):
(WebCore::ApplyPropertyBorderImageSource::createHandler):
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):

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

8 years agoWebPImageDecoder should not do a full image decode if progressive decoding is active
noel.gordon@gmail.com [Thu, 8 Dec 2011 04:58:00 +0000 (04:58 +0000)]
WebPImageDecoder should not do a full image decode if progressive decoding is active
https://bugs.webkit.org/show_bug.cgi?id=74041

Reviewed by Adam Barth.

If the decoder input data state reaches allDataReceived during a progressive image
decode, the decoder performs a full image decode.

On allDataReceived, check if we already have a decoder, and if so, continue to run
the progressive decoder.

No new tests. No change in behavior.

* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decode):

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

8 years agoUnreviewed chromium expectations update.
bashi@chromium.org [Thu, 8 Dec 2011 04:42:10 +0000 (04:42 +0000)]
Unreviewed chromium expectations update.

Patch by Kenichi Ishibashi <bashi@chromium.org> on 2011-12-07

* platform/chromium/test_expectations.txt:

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

8 years ago[chromium] Add page-scale animation support to Impl thread
commit-queue@webkit.org [Thu, 8 Dec 2011 04:35:33 +0000 (04:35 +0000)]
[chromium] Add page-scale animation support to Impl thread
https://bugs.webkit.org/show_bug.cgi?id=72996

Patch by Alexandre Elias <aelias@google.com> on 2011-12-07
Reviewed by James Robinson.

This adds a new math helper class to compute the progress of the
animation, and code in the CCLayerTreeHostImpl to apply the animation
frame by frame.

No new tests. (https://bugs.webkit.org/show_bug.cgi?id=71529 filed.)

Source/WebCore:

* WebCore.gypi:
* platform/graphics/chromium/cc/CCInputHandler.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::animate):
(WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
(WebCore::CCLayerTreeHostImpl::processScrollDeltas):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
* platform/graphics/chromium/cc/CCPageScaleAnimation.cpp: Added.
(WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
(WebCore::CCPageScaleAnimation::initialize):
(WebCore::CCPageScaleAnimation::zoomTo):
(WebCore::CCPageScaleAnimation::zoomWithAnchor):
(WebCore::CCPageScaleAnimation::zoomElsewhere):
(WebCore::CCPageScaleAnimation::scrollOffsetAtTime):
(WebCore::CCPageScaleAnimation::pageScaleAtTime):
(WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime):
(WebCore::CCPageScaleAnimation::progressRatioForTime):
(WebCore::CCPageScaleAnimation::scrollOffsetAtRatio):
(WebCore::CCPageScaleAnimation::pageScaleAtRatio):
* platform/graphics/chromium/cc/CCPageScaleAnimation.h: Added.
(WebCore::CCPageScaleAnimation::startTime):
(WebCore::CCPageScaleAnimation::duration):
(WebCore::CCPageScaleAnimation::endTime):
(WebCore::CCPageScaleAnimation::finalScrollOffset):
(WebCore::CCPageScaleAnimation::finalPageScale):

Source/WebKit/chromium:

* public/WebCompositor.h:
* public/WebInputEvent.h:
(WebKit::WebPageScaleAnimationEvent::WebPageScaleAnimationEvent):
* public/android/WebInputEventFactory.h:
* src/WebCompositorImpl.cpp:
(WebKit::WebCompositorImpl::handlePageScaleAnimationEvent):
* src/WebCompositorImpl.h:
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::handleInputEvent):
* src/android/WebInputEventFactory.cpp:
(WebKit::WebInputEventFactory::pageScaleAnimationEvent):

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

8 years agoEditor::markAndReplaceFor should take Range instead of TextCheckingParagraph.
commit-queue@webkit.org [Thu, 8 Dec 2011 04:25:47 +0000 (04:25 +0000)]
Editor::markAndReplaceFor should take Range instead of TextCheckingParagraph.
https://bugs.webkit.org/show_bug.cgi?id=74035

Patch by Shinya Kawanaka <shinyak@google.com> on 2011-12-07
Reviewed by Hajime Morita.

Editor::markAndReplaceFor takes chekcing range and paragraph range instead of
spelling paragraph and grammar paragraph.

No new tests. Covered by existing tests.

* editing/Editor.cpp:
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::Editor::markAndReplaceFor):
* editing/Editor.h:
* editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingParagraph::TextCheckingParagraph):
* editing/TextCheckingHelper.h:

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

8 years agoForce LTR layout for media controls even in RTL documents.
commit-queue@webkit.org [Thu, 8 Dec 2011 04:13:57 +0000 (04:13 +0000)]
Force LTR layout for media controls even in RTL documents.
https://bugs.webkit.org/show_bug.cgi?id=74024

Patch by Ami Fischman <fischman@chromium.org> on 2011-12-07
Reviewed by Darin Adler.

Source/WebCore:

Test: media/controls-layout-direction.html

* css/mediaControls.css:
(::-webkit-media-controls):

LayoutTests:

* media/controls-layout-direction-expected.txt: Added.
* media/controls-layout-direction.html: Added.
* platform/chromium-linux/media/controls-layout-direction-expected.png: Added.

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

8 years ago[FileSystem API] requestFileSystem successCallback is required
commit-queue@webkit.org [Thu, 8 Dec 2011 03:55:33 +0000 (03:55 +0000)]
[FileSystem API] requestFileSystem successCallback is required
https://bugs.webkit.org/show_bug.cgi?id=69637

Patch by Mark Pilgrim <pilgrim@chromium.org> on 2011-12-07
Reviewed by Darin Adler.

Source/WebCore:

* page/DOMWindow.idl: remove [Optional] flag from successCallback parameter

LayoutTests:

* fast/filesystem/filesystem-no-callback-null-ptr-crash.html: fix now-broken logic testing for unrelated bug
* fast/filesystem/not-enough-arguments-expected.txt:
* fast/filesystem/not-enough-arguments.html: add checks for webkitRequestFileSystem with not enough parameters

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

8 years ago[Chromium] Unreviewed, rebaseline width-overflow.html and fix test_expectations.txt
simonjam@chromium.org [Thu, 8 Dec 2011 03:43:46 +0000 (03:43 +0000)]
[Chromium] Unreviewed, rebaseline width-overflow.html and fix test_expectations.txt

* platform/chromium-cg-mac/printing/width-overflow-expected.png: Added.
* platform/chromium-cg-mac/printing/width-overflow-expected.txt: Added.
* platform/chromium-mac-snowleopard/printing/width-overflow-expected.png: Added.
* platform/chromium-mac-snowleopard/printing/width-overflow-expected.txt: Added.
* platform/chromium-win/printing/width-overflow-expected.png: Added.
* platform/chromium-win/printing/width-overflow-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

8 years agoUpstream the BlackBerry porting of network Resource
leo.yang@torchmobile.com.cn [Thu, 8 Dec 2011 03:38:23 +0000 (03:38 +0000)]
Upstream the BlackBerry porting of network Resource
https://bugs.webkit.org/show_bug.cgi?id=73388

Reviewed by Rob Buis.

Other main contributors:
Joe Mason <jmason@rim.com>
Yong Li  <yoli@rim.com>
Gary Simmons  <gsimmons@rim.com>
Genevieve Mak <gmak@rim.com>
Chris Guan <chris.guan@torchmobile.com.cn>
Mike Lattanzio <mlattanzio@rim.com>

Initial upstream, can't be built yet, no new tests.

* platform/network/blackberry/ResourceError.h: Added.
* platform/network/blackberry/ResourceErrorBlackBerry.cpp: Added.
* platform/network/blackberry/ResourceHandleBlackBerry.cpp: Added.
* platform/network/blackberry/ResourceRequest.h: Added.
* platform/network/blackberry/ResourceRequestBlackBerry.cpp: Added.
* platform/network/blackberry/ResourceResponse.h: Added.
* platform/network/blackberry/ResourceResponseBlackBerry.cpp: Added.

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

8 years agoDFG CSE should know that CheckFunction is pure
fpizlo@apple.com [Thu, 8 Dec 2011 03:11:13 +0000 (03:11 +0000)]
DFG CSE should know that CheckFunction is pure
https://bugs.webkit.org/show_bug.cgi?id=74044

Reviewed by Oliver Hunt.

Possible slight win on V8, no regressions.

* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::checkFunctionElimination):

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

8 years ago[Chromium] Plumb DPI info into PlatformScreen
fsamuel@chromium.org [Thu, 8 Dec 2011 03:03:47 +0000 (03:03 +0000)]
[Chromium] Plumb DPI info into PlatformScreen
https://bugs.webkit.org/show_bug.cgi?id=70556

Source/WebCore:

Reviewed by Darin Fisher.

Make DPI information accessible from WebKit through
PlatformScreen. This is useful when making scaling
computations on various devices (e.g. Viewport meta tag).

This patch adds DPI plumbing on Chromium Win/Mac/Linux
platforms.

* page/Screen.cpp:
(WebCore::Screen::horizontalDPI):
(WebCore::Screen::verticalDPI):
* page/Screen.h:
* platform/PlatformScreen.h:
* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
* platform/chromium/PlatformSupport.h:
* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
* platform/qt/PlatformScreenQt.cpp:
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):
* platform/win/PlatformScreenWin.cpp:
(WebCore::screenHorizontalDPI):
(WebCore::screenVerticalDPI):

Source/WebKit/chromium:

Reviewed by Darin Fisher.

Make DPI information accessible from WebKit through
PlatformScreen. This is useful when making scaling
computations on various devices (e.g. Viewport meta tag).

This patch adds DPI plumbing on Chromium Win/Mac/Linux
platforms.

* public/WebScreenInfo.h:
(WebKit::WebScreenInfo::WebScreenInfo):
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::screenHorizontalDPI):
(WebCore::PlatformSupport::screenVerticalDPI):
* src/mac/WebScreenInfoFactory.mm:
(WebKit::WebScreenInfoFactory::screenInfo):
* src/win/WebScreenInfoFactory.cpp:
(WebKit::WebScreenInfoFactory::screenInfo):
* src/x11/WebScreenInfoFactory.cpp:
(WebKit::WebScreenInfoFactory::screenInfo):

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

8 years agoRevert mixed content handling for video fix and follow-up test expectations & Skipped...
commit-queue@webkit.org [Thu, 8 Dec 2011 02:45:00 +0000 (02:45 +0000)]
Revert mixed content handling for video fix and follow-up test expectations & Skipped changes.
(r101883, r101918, r101927, r101981, r101986, r101997)
https://bugs.webkit.org/show_bug.cgi?id=72178

Patch by Aaron Colwell <acolwell@chromium.org> on 2011-12-07
Reviewed by Adam Barth.

Source/WebCore:

* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequest):
* loader/cache/CachedRawResource.cpp:
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.cpp:
(WebCore::defaultPriorityForResourceType):
(WebCore::cachedResourceTypeToTargetType):
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::checkInsecureContent):
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::requestResource):

LayoutTests:

* http/tests/security/mixedContent/insecure-video-in-iframe-expected.txt: Removed.
* http/tests/security/mixedContent/insecure-video-in-iframe.html: Removed.
* http/tests/security/mixedContent/insecure-video-in-main-frame-expected.txt: Removed.
* http/tests/security/mixedContent/insecure-video-in-main-frame.html: Removed.
* http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame-expected.txt: Removed.
* http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame.html: Removed.
* http/tests/security/mixedContent/redirect-https-to-http-video-in-main-frame-expected.txt: Removed.
* http/tests/security/mixedContent/redirect-https-to-http-video-in-main-frame.html: Removed.
* http/tests/security/mixedContent/resources/frame-with-insecure-video.html: Removed.
* http/tests/security/mixedContent/resources/frame-with-redirect-http-to-https-video.html: Removed.
* http/tests/security/mixedContent/resources/frame-with-redirect-https-to-http-video.html: Removed.
* platform/chromium-cg-mac-snowleopard/http/tests/security/mixedContent/insecure-video-in-main-frame-expected.txt: Removed.
* platform/chromium-cg-mac-snowleopard/http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame-expected.txt: Removed.
* platform/chromium-mac-snowleopard/http/tests/security/mixedContent/insecure-video-in-main-frame-expected.txt: Removed.
* platform/chromium-mac-snowleopard/http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame-expected.txt: Removed.
* platform/gtk/Skipped:
* platform/qt/Skipped:

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

8 years ago[Qt] Follow up of r102226.
tkent@chromium.org [Thu, 8 Dec 2011 02:27:22 +0000 (02:27 +0000)]
[Qt] Follow up of r102226.
https://bugs.webkit.org/show_bug.cgi?id=73987

* platform/qt-5.0/Skipped: Renamed three number tests.

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

8 years agoStringBuilderTest.Append and StringBuilderTest.ToStringPreserveCapacity are failing.
msaboff@apple.com [Thu, 8 Dec 2011 02:19:59 +0000 (02:19 +0000)]
StringBuilderTest.Append and StringBuilderTest.ToStringPreserveCapacity are failing.
https://bugs.webkit.org/show_bug.cgi?id=73995

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Problem was that a call to characters on an StringImpl associated
with a StringBuilder that is being appended to gets stale.
Added a new m_valid16BitShadowlen that keeps the length of
the 16 bit shadow that has been upconverted or will be up converted
with the first getCharacters().  When StringBuilder::characters or
::reifyString is called, further characters are upconverted if
we have a shadow16bit copy and the m_valid16BitShadowlen is updated.

* JavaScriptCore.exp:
* wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::reifyString):
* wtf/text/StringBuilder.h:
(WTF::StringBuilder::StringBuilder):
(WTF::StringBuilder::characters):
(WTF::StringBuilder::clear): Cleaned up as part of the change.
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::getData16SlowCase):
(WTF::StringImpl::upconvertCharacters):
* wtf/text/StringImpl.h:

Tools:

Reenabled failing tests that the code part of the patch fixes.

Reviewed by Geoffrey Garen.

* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::TEST):

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

8 years ago[EFL] Introduce AssertMatchingEnums.cpp.
ryuan.choi@samsung.com [Thu, 8 Dec 2011 02:11:09 +0000 (02:11 +0000)]
[EFL] Introduce AssertMatchingEnums.cpp.
https://bugs.webkit.org/show_bug.cgi?id=65238

Reviewed by Filip Pizlo.

Source/WebCore:

Remove switch statement which convert EWK_TOUCH_PointType enum values to
WebCore::PlatformTouchPoint::State enum values.
Newly added AssertMatchingEnums.cpp assure that they are equal.

No new tests, no new functionality.

* platform/efl/PlatformTouchEventEfl.cpp:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):

Source/WebKit/efl:

Add AssertMatchingEnums.cpp to assert that various WebKit API enum values
match to WebCore defined enum values.

* CMakeListsEfl.txt: add AssertMatchingEnums.cpp.
* WebCoreSupport/AssertMatchingEnums.cpp: Added.
* ewk/ewk_frame.cpp:
(ewk_frame_feed_touch_event): remove switch statement wichi convert WebKit API enum value to WebCore defined enum values.
(ewk_frame_text_selection_type_get): Ditto.
* ewk/ewk_view.cpp:
(ewk_view_mode_set): Ditto.
(ewk_view_mode_get): Ditto.
(ewk_view_visibility_state_set): Ditto.
(ewk_view_visibility_state_get): Ditto.
* ewk/ewk_frame.h: fix order of enum values.
* ewk/ewk_view.h: add missing enum value.

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

8 years ago[filter-build-webkit] should not emit reset color when --no-color is given
morrita@google.com [Thu, 8 Dec 2011 02:09:22 +0000 (02:09 +0000)]
[filter-build-webkit] should not emit reset color when --no-color is given
https://bugs.webkit.org/show_bug.cgi?id=73992

Reviewed by Daniel Bates.

Stop printing control sequences when --no-color is given.
After this change, the filter runs nicely even on environments
like Emacs compilation-mode which cannot understand the control sequence.

* Scripts/filter-build-webkit:
(printLine):

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

8 years agoCompare and Swap should be enabled on ARMv7
fpizlo@apple.com [Thu, 8 Dec 2011 02:09:14 +0000 (02:09 +0000)]
Compare and Swap should be enabled on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=74023

Reviewed by Geoff Garen.

Implemented weakCompareAndSwap in terms of LDREX/STREX and enabled PARALLEL_GC.
It gives the expected speed-up on multi-core ARMv7 devices.

* wtf/Atomics.h:
(WTF::weakCompareAndSwap):
* wtf/Platform.h:

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

8 years ago[chromium] Clearing root surface should happen after damage tracking
commit-queue@webkit.org [Thu, 8 Dec 2011 02:02:13 +0000 (02:02 +0000)]
[chromium] Clearing root surface should happen after damage tracking
https://bugs.webkit.org/show_bug.cgi?id=73958

Patch by Shawn Singh <shawnsingh@chromium.org> on 2011-12-07
Reviewed by James Robinson.

No new semantics, covered by existing layout tests.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::clearSurfaceForDebug):
(WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
(WebCore::LayerRendererChromium::drawLayersInternal):
* platform/graphics/chromium/LayerRendererChromium.h:

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

8 years agoDFG CSE is overzealous with GetByVal
fpizlo@apple.com [Thu, 8 Dec 2011 02:01:56 +0000 (02:01 +0000)]
DFG CSE is overzealous with GetByVal
https://bugs.webkit.org/show_bug.cgi?id=74042

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

Made sure that the purity of GetByVal and the limited-clobber-itude of PutByVal
is tested in all places that matter.

* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::byValIsPure):
(JSC::DFG::Propagator::clobbersWorld):
(JSC::DFG::Propagator::getByValLoadElimination):
(JSC::DFG::Propagator::checkStructureLoadElimination):
(JSC::DFG::Propagator::getByOffsetLoadElimination):
(JSC::DFG::Propagator::getPropertyStorageLoadElimination):
(JSC::DFG::Propagator::performNodeCSE):

LayoutTests:

Reviewed by Oliver Hunt.

* fast/js/dfg-get-by-val-getter-cse-expected.txt: Added.
* fast/js/dfg-get-by-val-getter-cse.html: Added.
* fast/js/script-tests/dfg-get-by-val-getter-cse.js: Added.
():

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

8 years ago[chromium] Preserve original pageScale limits in WebViewImpl
commit-queue@webkit.org [Thu, 8 Dec 2011 01:53:42 +0000 (01:53 +0000)]
[chromium] Preserve original pageScale limits in WebViewImpl
https://bugs.webkit.org/show_bug.cgi?id=72983

Patch by Alexandre Elias <aelias@google.com> on 2011-12-07
Reviewed by Darin Fisher.

Preserve the originally viewport-tag specified page scale limits, and
compute the final ones in a new private method
computePageScaleFactorLimits().  This is then called when contents
size change (which can affect the minimum).

Also clean up several minor bugs, namely clamping issues (reorder
clampNegativeToZero to avoid negative scroll offsets, and force max to
be greater than min), and incorrect behavior in the presence of
"solid" scrollbars.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::contentsSizeChanged):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::clampPageScaleFactorToLimits):
(WebKit::WebViewImpl::clampOffsetAtScale):
(WebKit::WebViewImpl::setPageScaleFactorPreservingScrollOffset):
(WebKit::WebViewImpl::setPageScaleFactor):
(WebKit::WebViewImpl::setPageScaleFactorLimits):
(WebKit::WebViewImpl::computePageScaleFactorLimits):
(WebKit::WebViewImpl::didChangeContentsSize):
* src/WebViewImpl.h:

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

8 years agoUse free memory to determine if we have space for DRT instances instead of total...
eric@webkit.org [Thu, 8 Dec 2011 01:50:51 +0000 (01:50 +0000)]
Use free memory to determine if we have space for DRT instances instead of total memory
https://bugs.webkit.org/show_bug.cgi?id=74021

Reviewed by Adam Barth.

This will hopefully make the Mac buildbots behave better.

I also reduced the expected memory needed per DRT now that
we're properly accounting for the system memory in our calculations.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.total_bytes_memory):
(PlatformInfo._compute_free_bytes_from_vm_stat_output):
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.total_bytes_memory):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.default_child_processes):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_default_child_processes):

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

8 years ago<li value="0"> behaves like <li> (the same for negative numbers)
commit-queue@webkit.org [Thu, 8 Dec 2011 01:44:52 +0000 (01:44 +0000)]
<li value="0"> behaves like <li> (the same for negative numbers)
https://bugs.webkit.org/show_bug.cgi?id=73911

Patch by Florin Malita <fmalita@google.com> on 2011-12-07
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Allow LI values <= 0 and consolidate the value processing logic.

* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::parseMappedAttribute):
Delegated value parsing to parseValue().

(WebCore::HTMLLIElement::attach):
Ditto. Explicit value null testing is no longer necessary,
as parseValue's toInt() performs an equivalent check.

(WebCore::HTMLLIElement::parseValue):
Consolidated value parsing logic.

* html/HTMLLIElement.h:

LayoutTests:

Added tests for values <= 0.

* fast/lists/li-values-expected.txt:
* fast/lists/li-values.html:

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

8 years agoIndexedDB: Replace bool args in IDBKeyRange private methods with enum
commit-queue@webkit.org [Thu, 8 Dec 2011 01:33:29 +0000 (01:33 +0000)]
IndexedDB: Replace bool args in IDBKeyRange private methods with enum
https://bugs.webkit.org/show_bug.cgi?id=70743

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-07
Reviewed by Tony Chang.

No new tests - no functional changes.

* storage/IDBKeyRange.cpp:
(WebCore::IDBKeyRange::IDBKeyRange):
(WebCore::IDBKeyRange::bound):
* storage/IDBKeyRange.h:
(WebCore::IDBKeyRange::create):
(WebCore::IDBKeyRange::lowerOpen):
(WebCore::IDBKeyRange::upperOpen):

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

8 years agoExposing boundsInScreenSpace in WebElement.
commit-queue@webkit.org [Thu, 8 Dec 2011 00:32:51 +0000 (00:32 +0000)]
Exposing boundsInScreenSpace in WebElement.
https://bugs.webkit.org/show_bug.cgi?id=71579

Exposing boundsInScreenSpace through a new function,
boundsInViewportSpace, to assist in moving the Autofill UI out of
WebKit in Chromium. Renamed the exposed function to provide a better
meaning of what the function does in the Chromium code.
More information can be found at:
http://crbug.com/51644

Patch by Chris Sharp <csharp@chromium.org> on 2011-12-07
Reviewed by Darin Fisher.

* public/WebElement.h:
* src/WebElement.cpp:
(WebKit::WebElement::boundsInViewportSpace):

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

8 years agoUnreviewed, rolling out r102267.
commit-queue@webkit.org [Thu, 8 Dec 2011 00:28:55 +0000 (00:28 +0000)]
Unreviewed, rolling out r102267.
http://trac.webkit.org/changeset/102267
https://bugs.webkit.org/show_bug.cgi?id=74032

Breaks build on Chromium Mac Debug (Requested by aklein on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-07

Source/JavaScriptCore:

* wtf/HashTraits.h:

Source/WebCore:

* dom/ChildListMutationScope.cpp:
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
(WebCore::MutationAccumulationRouter::MutationAccumulationRouter::decrementScopingLevel):

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

8 years agoREGRESSION (r95249): Right side can be truncated when printing
haraken@chromium.org [Thu, 8 Dec 2011 00:25:17 +0000 (00:25 +0000)]
REGRESSION (r95249): Right side can be truncated when printing
https://bugs.webkit.org/show_bug.cgi?id=73868

Reviewed by Darin Adler.

Source/WebCore:

When we print a page with an overflowed width, the right side of the page
can be truncated. This is due to a wrong rendering calculation.
Since 'maximumShrinkFactor' is a ratio based on 'pageSize',
'maximumShrinkFactor' should multiply (not 'originalPageSize') but 'pageSize'.
This bug happens if all the following conditions are met:
    - pageLogicalWidth < docLogicalWidth
    - originalPageSize.width * maximumShrinkFactor < docLogicalWidth
    - docLogicalWidth < pageLogicalWidth * maximumShrinkFactor

Test: printing/width-overflow.html

* page/FrameView.cpp:
(WebCore::FrameView::forceLayoutForPagination):

LayoutTests:

width-overflow.html checks if the page is printed without its right side
being truncated.

* printing/width-overflow.html: Added.
* platform/chromium-linux/printing/width-overflow-expected.png: Added.
* platform/chromium-linux/printing/width-overflow-expected.txt: Added.
* platform/mac-snowleopard/printing/width-overflow-expected.png: Added.
* platform/mac-snowleopard/printing/width-overflow-expected.txt: Added.
* platform/efl/Skipped: Skips width-overflow.html, since layoutTestController.setPrinting() is not implemented.
* platform/gtk/Skipped: Ditto.
* platform/qt/Skipped: Ditto.
* platform/win/Skipped: Ditto.
* platform/wincairo/Skipped: Ditto.
* platform/wk2/Skipped: Ditto.

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

8 years agofix build-webkit --chromium after breakage in r102201
dpranke@chromium.org [Thu, 8 Dec 2011 00:12:46 +0000 (00:12 +0000)]
fix build-webkit --chromium after breakage in r102201
https://bugs.webkit.org/show_bug.cgi?id=74031

Reviewed by Tony Chang.

r102201 introduced a change to the chromium build that splits
the executables out of WebKit.gyp into other gyp files, and adds
a new "All.gyp" that builds everything. However, I forgot to
update the build script to use All.gyp.

* Scripts/webkitdirs.pm:
(buildChromium):

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

8 years ago[Chromium] Unreviewed, skip a test that may be causing Win DRT to hang.
simonjam@chromium.org [Wed, 7 Dec 2011 23:43:03 +0000 (23:43 +0000)]
[Chromium] Unreviewed, skip a test that may be causing Win DRT to hang.

* platform/chromium/test_expectations.txt:

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

8 years agoDefer ScriptExecutionContext::Task's in Document when page loading is deferred.
commit-queue@webkit.org [Wed, 7 Dec 2011 23:41:21 +0000 (23:41 +0000)]
Defer ScriptExecutionContext::Task's in Document when page loading is deferred.
Schedule them with timer when page loading is resumed. The tasks will be performed
in the original order. This fixes the problem that database callbacks could be missed
when page loading was deferred.
https://bugs.webkit.org/show_bug.cgi?id=49401

Patch by Yong Li <yoli@rim.com> on 2011-12-07
Reviewed by Darin Adler.

Manual test added: ManualTests/database-callback-deferred.html.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::didReceiveTask):
(WebCore::Document::postTask):
(WebCore::Document::pendingTasksTimerFired):
(WebCore::Document::suspendScheduledTasks):
(WebCore::Document::resumeScheduledTasks):
* dom/Document.h:
* page/PageGroupLoadDeferrer.cpp:
(WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
(WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

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

8 years ago[MutationObservers] Enable in Chromium trunk
adamk@chromium.org [Wed, 7 Dec 2011 22:46:24 +0000 (22:46 +0000)]
[MutationObservers] Enable in Chromium trunk
https://bugs.webkit.org/show_bug.cgi?id=73851

Reviewed by Ojan Vafai.

Source/WebKit/chromium:

Re-landing after fixing Chromium unit test crashes in r102171
and inspector debugger crash in r102264.

* features.gypi:

LayoutTests:

* platform/chromium/test_expectations.txt: Stop skipping fast/mutation tests.

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

8 years ago[Chromium] Unreviewed, clean out passing tests from test_expectations.txt
simonjam@chromium.org [Wed, 7 Dec 2011 22:37:06 +0000 (22:37 +0000)]
[Chromium] Unreviewed, clean out passing tests from test_expectations.txt

* platform/chromium/test_expectations.txt:

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

8 years agoIndexedDB deleteIndex should throw NOT_ALLOWED_ERR if called outside a VERSION_CHANGE...
commit-queue@webkit.org [Wed, 7 Dec 2011 21:18:30 +0000 (21:18 +0000)]
IndexedDB deleteIndex should throw NOT_ALLOWED_ERR if called outside a VERSION_CHANGE transaction callback
https://bugs.webkit.org/show_bug.cgi?id=62370

Already behaves correctly, just adding tests.

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-07
Reviewed by Tony Chang.

* storage/indexeddb/deleteIndex-expected.txt: Added.
* storage/indexeddb/deleteIndex.html: Added.

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

8 years agoRenderObject::style(): Inline early-return condition.
kling@webkit.org [Wed, 7 Dec 2011 21:10:02 +0000 (21:10 +0000)]
RenderObject::style(): Inline early-return condition.
<http://webkit.org/b/74019>

Reviewed by Anders Carlsson.

style() was very hot (6.1%) when scrolling around on youtube.com,
and 100% of the calls were taking the early return path.

Inlined the !isRenderFlowThread() check and renamed the function to
styleSlowCase().

* rendering/RenderObject.cpp:
(WebCore::RenderObject::styleSlowCase):
* rendering/RenderObject.h:
(WebCore::RenderObject::style):

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

8 years agoUse HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
adamk@chromium.org [Wed, 7 Dec 2011 21:01:59 +0000 (21:01 +0000)]
Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
https://bugs.webkit.org/show_bug.cgi?id=73964

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

* wtf/HashTraits.h: Add passOut(std::nullptr_t) to allow callers to use HashMap::take on an entry whose value is null.

Source/WebCore:

No new tests, refactoring only.

* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
(WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
(WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
(WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):

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

8 years agoRenderLayer::updateZOrderLists(): Inline early-return condition.
kling@webkit.org [Wed, 7 Dec 2011 20:59:35 +0000 (20:59 +0000)]
RenderLayer::updateZOrderLists(): Inline early-return condition.
<http://webkit.org/b/74013>

Reviewed by Anders Carlsson.

updateZOrderLists() was hot (1.2%) when scrolling around on youtube.com,
and 85% of the calls were taking the early return path.

Inlined the two checks for the early return and renamed the function
to updateZOrderListsSlowCase(). Also reversed their order to avoid the
virtual call (RenderObject::isRenderView()) if possible.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateZOrderListsSlowCase):
* rendering/RenderLayer.h:
(WebCore::RenderLayer::updateZOrderLists):

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