WebKit-https.git
9 years agoMoving word boundaries backwards fails when there is a text node starting with an...
rniwa@webkit.org [Wed, 24 Apr 2013 19:50:50 +0000 (19:50 +0000)]
Moving word boundaries backwards fails when there is a text node starting with an apostrophe
https://bugs.webkit.org/show_bug.cgi?id=115070

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The bug was caused by previousBoundary erroneously assuming that we don't need any more context if a word
boundary is found at the beginning of a string. For example, when "I'll" is split into two text nodes,
"I" and "'ll", there is a word boundary between "'" and "ll" in "'ll" so we need to examine the whole "I'll".

Fixed the bug by obtaining more context when the character starts exactly at offset 1 in a text node to
work around this bug. In the long term, we probably need to provide Foundation of the entire context since in
languages like Hebrew and some of European languages, there could be many accents and combining characters
between split into multiple text nodes as one variant is seen in the newly added test case.

Test: editing/selection/previous-word-boundary-across-text-nodes.html

* editing/VisibleUnits.cpp:
(WebCore::previousBoundary):

LayoutTests:

Added a test case for moving bacwkards with a word granurality across multiple text nodes.
Some test cases still fail since this patch only implements a work around.

* editing/selection/previous-word-boundary-across-text-nodes-expected.txt: Added.
* editing/selection/previous-word-boundary-across-text-nodes.html: Added.

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

9 years agoDo not use static string in DiagnosticLoggingKeys
benjamin@webkit.org [Wed, 24 Apr 2013 19:46:44 +0000 (19:46 +0000)]
Do not use static string in DiagnosticLoggingKeys
https://bugs.webkit.org/show_bug.cgi?id=115093

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-24
Reviewed by Andreas Kling.

The code is not hot enough to justify keeping the memory around.
This removes 3kb from the binary on x86_64.

* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
(WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
(WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
(WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
(WebCore::DiagnosticLoggingKeys::pageContainsPluginKey):
(WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey):
(WebCore::DiagnosticLoggingKeys::pageContainsMediaEngineKey):
(WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOneMediaEngineKey):
(WebCore::DiagnosticLoggingKeys::passKey):
(WebCore::DiagnosticLoggingKeys::failKey):
(WebCore::DiagnosticLoggingKeys::noopKey):
* page/DiagnosticLoggingKeys.h:
(DiagnosticLoggingKeys):

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

9 years agoRemove wxWebKit #ifdefs from WebCore/platform/graphics
benjamin@webkit.org [Wed, 24 Apr 2013 19:38:08 +0000 (19:38 +0000)]
Remove wxWebKit #ifdefs from WebCore/platform/graphics
https://bugs.webkit.org/show_bug.cgi?id=115081

Reviewed by Geoffrey Garen.

* platform/graphics/BitmapImage.h:
(BitmapImage):
* platform/graphics/Color.h:
(Color):
* platform/graphics/FloatRect.h:
(FloatRect):
* platform/graphics/FloatSize.h:
(FloatSize):
* platform/graphics/FontPlatformData.h:
* platform/graphics/GlyphBuffer.h:
(WebCore):
(WebCore::GlyphBuffer::glyphAt):
(WebCore::GlyphBuffer::add):
* platform/graphics/Gradient.h:
* platform/graphics/GraphicsContext.h:
(GraphicsContext):
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
* platform/graphics/ImageBufferData.h:
* platform/graphics/IntPoint.h:
(IntPoint):
* platform/graphics/IntRect.h:
* platform/graphics/IntSize.h:
(IntSize):
* platform/graphics/NativeImagePtr.h:
(WebCore):
* platform/graphics/Path.h:
* platform/graphics/Pattern.h:
* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(WebCore::SimpleFontData::widthForGlyph):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::collectComplexTextRuns):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/transforms/AffineTransform.h:
(AffineTransform):
* platform/graphics/transforms/TransformationMatrix.h:
(TransformationMatrix):

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

9 years agoRemove wxWebKit #ifdefs from WebCore/plugins
benjamin@webkit.org [Wed, 24 Apr 2013 19:36:17 +0000 (19:36 +0000)]
Remove wxWebKit #ifdefs from WebCore/plugins
https://bugs.webkit.org/show_bug.cgi?id=115080

Reviewed by Geoffrey Garen.

* plugins/PluginView.h:
(PluginView):
* plugins/mac/PluginViewMac.mm:
(WebCore::nativeWindowFor):
(WebCore::cgHandleFor):
(WebCore::topLevelOffsetFor):
(WebCore::PluginView::platformStart):
* plugins/win/PluginViewWin.cpp:
(windowHandleForPageClient):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::snapshot):

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

9 years agoRemove wxWebKit #ifdefs from WebCore/page
benjamin@webkit.org [Wed, 24 Apr 2013 19:35:31 +0000 (19:35 +0000)]
Remove wxWebKit #ifdefs from WebCore/page
https://bugs.webkit.org/show_bug.cgi?id=115079

Reviewed by Geoffrey Garen.

* page/FrameView.cpp:
(WebCore::FrameView::wheelEvent):
* page/Settings.cpp:
(WebCore):
* page/Settings.h:
(Settings):

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

9 years agoUse post-branch store for RefCountedBase::derefBase
benjamin@webkit.org [Wed, 24 Apr 2013 19:34:50 +0000 (19:34 +0000)]
Use post-branch store for RefCountedBase::derefBase
https://bugs.webkit.org/show_bug.cgi?id=115078

Reviewed by Andreas Kling.

* wtf/RefCounted.h:
(WTF::RefCountedBase::derefBase): This makes the assembly easier to follow.

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

9 years ago[GTK] Use stamp files for generate-forwarding-headers makefile rules
carlosgc@webkit.org [Wed, 24 Apr 2013 18:34:04 +0000 (18:34 +0000)]
[GTK] Use stamp files for generate-forwarding-headers makefile rules
https://bugs.webkit.org/show_bug.cgi?id=115118

Reviewed by Martin Robinson.

Source/WebKit2:

Use a stamp file for the WebKit2 forwarding generator rule. Also
fix the rule dependencies that pointed to a non existent variable.

* GNUmakefile.am:

Tools:

Use a stamp file for the TestWebKitAPI and WebKitTestRunner
forwarding generator rules and don't call it for soup since there
aren't soup directories in TestWebKitAPI and WebKitTestRunner.

* TestWebKitAPI/GNUmakefile.am:
* WebKitTestRunner/GNUmakefile.am:

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

9 years agoAX: WAI-ARIA landmarks no longer speak type of landmark on iOS
cfleizach@apple.com [Wed, 24 Apr 2013 18:33:12 +0000 (18:33 +0000)]
AX: WAI-ARIA landmarks no longer speak type of landmark on iOS
https://bugs.webkit.org/show_bug.cgi?id=114547

Reviewed by David Kilzer.

Source/WebCore:

We want iOS to speak the landmark type.
I've moved the landmark role description to the base Mac class and exposed
these localized strings to iOS (the ones used to return landmark descriptions).

I've also updated the accessibilityLabel to account for landmark type, but also
handle multiple label sources more gracefully by appending commas, which changed a few
tests in minor ways.

Test: platform/iphone-simulator/accessibility/landmark-type.html

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper roleDescription]):
* platform/LocalizedStrings.cpp:
(WebCore):
(WebCore::AXButtonActionVerb):
(WebCore::AXRadioButtonActionVerb):
(WebCore::AXTextFieldActionVerb):
(WebCore::AXCheckedCheckBoxActionVerb):
(WebCore::AXUncheckedCheckBoxActionVerb):
(WebCore::AXLinkActionVerb):
(WebCore::AXMenuListPopupActionVerb):
(WebCore::AXMenuListActionVerb):
* platform/LocalizedStrings.h:
(WebCore):

LayoutTests:

* platform/iphone-simulator/accessibility/landmark-type-expected.txt: Added.
* platform/iphone-simulator/accessibility/landmark-type.html: Added.
* platform/iphone-simulator/accessibility/link-with-images-text-expected.txt:
* platform/iphone-simulator/accessibility/link-with-images-text.html:
     Minor change to accomodate trimming of white space.
* platform/iphone-simulator/accessibility/math-expected.txt:
* platform/iphone-simulator/accessibility/math.html:
     Math objects now include "math" as the landmark type.

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

9 years ago32-bit build fix.
ggaren@apple.com [Wed, 24 Apr 2013 18:16:22 +0000 (18:16 +0000)]
32-bit build fix.

Unreviewed.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleBooleanBranch): Explicitly
truncate to 32-bit to avoid compiler warnings. It's safe to truncate
because the payload of a boolean is the low bits on both 64-bit and 32-bit.

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

9 years ago[GTK][WK2] Implement LayerTreeHostGtk::pageBackgroundTransparencyChanged
zandobersek@gmail.com [Wed, 24 Apr 2013 18:06:53 +0000 (18:06 +0000)]
[GTK][WK2] Implement LayerTreeHostGtk::pageBackgroundTransparencyChanged
https://bugs.webkit.org/show_bug.cgi?id=115094

Reviewed by Tim Horton.

The method was introduced in r149004 (and a stub implementation for the GTK port added in r149017).
Implement the method for the GTK port in the same manner it is implemented under the Mac port,
calling setContentsOpaque on the non-composited content layer.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged):

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

9 years ago[GTK] Update build dependencies
commit-queue@webkit.org [Wed, 24 Apr 2013 17:50:29 +0000 (17:50 +0000)]
[GTK] Update build dependencies
https://bugs.webkit.org/show_bug.cgi?id=115111

Patch by Simon Pena <simon.pena@samsung.com> on 2013-04-24
Reviewed by Martin Robinson.

The install-dependencies script was missing a dependency on EGL,
which is expected when building Cairo.

* gtk/install-dependencies: Added a dependency on libegl1-mesa
for both apt and yum.

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

9 years agoCSS attribute selectors cause unnecessary style recalc when setting attribute to...
akling@apple.com [Wed, 24 Apr 2013 17:43:14 +0000 (17:43 +0000)]
CSS attribute selectors cause unnecessary style recalc when setting attribute to same value.
<http://webkit.org/b/115116>
<rdar://problem/13727709>

Reviewed by Simon Fraser.

The logic that dirties the style if there's a relevant attribute selector in the document
shouldn't run if the attribute is being overwritten with an identical value.
Move this into willModifyAttribute() instead, since we need access to both the old and the new value.

This reduces unnecessary style recalculation in Mac App Store content.

* dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::willModifyAttribute):

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

9 years agoRemove the Chromium-specific helper from run_webkit_tests.py
commit-queue@webkit.org [Wed, 24 Apr 2013 17:07:01 +0000 (17:07 +0000)]
Remove the Chromium-specific helper from run_webkit_tests.py
https://bugs.webkit.org/show_bug.cgi?id=114996

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-24
Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):

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

9 years ago[EFL][WK2]: Fix WKViewClientWebProcessCallbacks WK2 API test
commit-queue@webkit.org [Wed, 24 Apr 2013 16:12:04 +0000 (16:12 +0000)]
[EFL][WK2]: Fix WKViewClientWebProcessCallbacks WK2 API test
https://bugs.webkit.org/show_bug.cgi?id=114850

Patch by Sergio Correia <sergio.correia@openbossa.org> on 2013-04-24
Reviewed by Andreas Kling.

Revision r148312 fixed WebPageProxy cleanup and also changed the process
termination semantics when requested by the user so that a client is not
notified of a crash anymore, since there was no crash anyway.

That change broke WKViewClientWebProcessCallbacks WK2 API test, since it
relied on being notified of a crash after calling WKPageTerminate(). As
a result of not being notified of such non-existent crash, the test would
timeout right after making the terminate call.

This patch adds an InjectedBundle to be used for simulating a crash, by
calling abort() upon receiving a "Crash" message, and thus we are able to
keep testing the crash callback.

This patch also re-enables the WKViewClientWebProcessCallbacks test, which
had been disabled in revisions r148858 and r148855, since it was failing.

* TestWebKitAPI/PlatformEfl.cmake:
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp: Added.
(TestWebKitAPI):
(WKViewClientWebProcessCallbacksTest):
(TestWebKitAPI::WKViewClientWebProcessCallbacksTest::WKViewClientWebProcessCallbacksTest):
(TestWebKitAPI::WKViewClientWebProcessCallbacksTest::didReceiveMessage):

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

9 years ago2013-04-24 Simon Cooper <scooper@apple.com>
ap@apple.com [Wed, 24 Apr 2013 16:08:32 +0000 (16:08 +0000)]
2013-04-24  Simon Cooper  <scooper@apple.com>

        <rdar://problem/13614117> Refine the Flash Player profile
        https://bugs.webkit.org/show_bug.cgi?id=115016

        Reviewed by Alexey Proskuryakov.

        Add some refinements to the Flash Player profile. Make a non-/ home
        directory work. Fixes that allow file uploading via user selected files.

        * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:

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

9 years ago[BlackBerry] Do not clear focus on a node when tapping on form controls
commit-queue@webkit.org [Wed, 24 Apr 2013 15:59:54 +0000 (15:59 +0000)]
[BlackBerry] Do not clear focus on a node when tapping on form controls
https://bugs.webkit.org/show_bug.cgi?id=115055

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-04-24
Reviewed by Rob Buis.

Internally reviewed by Genevieve Mak.

PR316069
To allow for rich text editors to apply styles on an input field
or highlighted text, we must maintain focus on the current element
when tapping on form elements. Moving the code that clears this
context to trigger off TouchHold instead of TouchPress.

* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::doFatFingers):

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

9 years ago[BlackBerry] Fixes the San Angeles demo on khronos.org
commit-queue@webkit.org [Wed, 24 Apr 2013 15:49:12 +0000 (15:49 +0000)]
[BlackBerry] Fixes the San Angeles demo on khronos.org
https://bugs.webkit.org/show_bug.cgi?id=115106

Patch by Jonathan Feldstein <jfeldstein@blackberry.com> on 2013-04-24
Reviewed by Rob Buis
Internally Reviewed by Jeremy Nicholl and Arvid Nilsson

Fixes a bug in which the currently bound vertex array object's vertex array
state was being modified as opposed to the default vertex array state.

* platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
(EGLImageLayerWebKitThread::blitToFrontBuffer):

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

9 years agoFilled out more cases of branch folding in the DFG
ggaren@apple.com [Wed, 24 Apr 2013 15:48:55 +0000 (15:48 +0000)]
Filled out more cases of branch folding in the DFG
https://bugs.webkit.org/show_bug.cgi?id=115088

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

No change on the benchmarks we track, but a 3X speedup on a
microbenchmark that uses these techniques.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): (!/=)= and (!/=)== can constant
fold all types, not just numbers, because true constants have no
side effects when type-converted at runtime.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateBoolean): Added support for fixing up
boolean uses, like we do for other types like number.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleBooleanBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileBooleanCompare): Peephole fuse
boolean compare and/or compare-branch, now that we have the types for
them.

* dfg/DFGSpeculativeJIT.h: Updated declarations.

LayoutTests:

* fast/js/regress/script-tests/branch-fold.js:
(g): Added some boolean and constant-folded cases.

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

9 years agoFold RenderThemeMacShared into RenderThemeMac
thakis@chromium.org [Wed, 24 Apr 2013 15:44:57 +0000 (15:44 +0000)]
Fold RenderThemeMacShared into RenderThemeMac
https://bugs.webkit.org/show_bug.cgi?id=115086

Reviewed by Anders Carlsson.

No intended functionality change.

* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderThemeMac.h:
(RenderThemeMac):
(WebCore::RenderThemeMac::supportsControlTints):
(WebCore::RenderThemeMac::scrollbarControlSizeForPart):
(WebCore::RenderThemeMac::supportsSelectionForegroundColors):
(WebCore::RenderThemeMac::supportsClosedCaptioning):
(WebCore::RenderThemeMac::updateActiveState):
* rendering/RenderThemeMac.mm:
(-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
(-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
(WebCore::RenderThemeMac::RenderThemeMac):
(WebCore::RenderThemeMac::~RenderThemeMac):
(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
(WebCore):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeMac::platformFocusRingColor):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::toFontWeight):
(WebCore::RenderThemeMac::systemFont):
(WebCore::convertNSColorToColor):
(WebCore::menuBackgroundColor):
(WebCore::RenderThemeMac::platformColorsDidChange):
(WebCore::RenderThemeMac::systemColor):
(WebCore::RenderThemeMac::usesTestModeFocusRingColor):
(WebCore::RenderThemeMac::isControlStyled):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::inflateRect):
(WebCore::RenderThemeMac::convertToPaintingRect):
(WebCore::RenderThemeMac::updateCheckedState):
(WebCore::RenderThemeMac::updateEnabledState):
(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::controlSupportsTints):
(WebCore::RenderThemeMac::controlSizeForFont):
(WebCore::RenderThemeMac::setControlSize):
(WebCore::RenderThemeMac::sizeForFont):
(WebCore::RenderThemeMac::sizeForSystemFont):
(WebCore::RenderThemeMac::setSizeFromFont):
(WebCore::RenderThemeMac::setFontFromControlSize):
(WebCore::RenderThemeMac::controlSizeForSystemFont):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::adjustTextFieldStyle):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::adjustTextAreaStyle):
(WebCore::RenderThemeMac::popupButtonMargins):
(WebCore::RenderThemeMac::popupButtonSizes):
(WebCore::RenderThemeMac::popupButtonPadding):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::meterSizeForBounds):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::supportsMeter):
(WebCore::RenderThemeMac::levelIndicatorStyleFor):
(WebCore::RenderThemeMac::levelIndicatorFor):
(WebCore::RenderThemeMac::progressBarSizes):
(WebCore::RenderThemeMac::progressBarMargins):
(WebCore::RenderThemeMac::minimumProgressBarHeight):
(WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeMac::animationDurationForProgressBar):
(WebCore::RenderThemeMac::adjustProgressBarStyle):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::TopGradientInterpolate):
(WebCore::BottomGradientInterpolate):
(WebCore::MainGradientInterpolate):
(WebCore::TrackGradientInterpolate):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButton):
(WebCore::menuListButtonSizes):
(WebCore::RenderThemeMac::adjustMenuListStyle):
(WebCore::RenderThemeMac::popupInternalPaddingLeft):
(WebCore::RenderThemeMac::popupInternalPaddingRight):
(WebCore::RenderThemeMac::popupInternalPaddingTop):
(WebCore::RenderThemeMac::popupInternalPaddingBottom):
(WebCore::RenderThemeMac::adjustMenuListButtonStyle):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::menuListSizes):
(WebCore::RenderThemeMac::minimumMenuListSize):
(WebCore::RenderThemeMac::adjustSliderTrackStyle):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::adjustSliderThumbStyle):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::searchFieldSizes):
(WebCore::RenderThemeMac::setSearchFieldSize):
(WebCore::RenderThemeMac::adjustSearchFieldStyle):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::cancelButtonSizes):
(WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeMac::resultsButtonSizes):
(WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeMac::paintSearchFieldDecoration):
(WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::RenderThemeMac::sliderTickSize):
(WebCore::RenderThemeMac::sliderTickOffsetFromTrackCenter):
(WebCore::RenderThemeMac::adjustSliderThumbSize):
(WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
(WebCore::RenderThemeMac::popupButton):
(WebCore::RenderThemeMac::search):
(WebCore::RenderThemeMac::searchMenuTemplate):
(WebCore::RenderThemeMac::sliderThumbHorizontal):
(WebCore::RenderThemeMac::sliderThumbVertical):
(WebCore::RenderThemeMac::textField):
(WebCore::RenderThemeMac::fileListNameForWidth):
* rendering/RenderThemeMacShared.h: Removed.
* rendering/RenderThemeMacShared.mm: Removed.

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

9 years ago[GTK][AC] Visible rect doesn't update after resizing a window.
commit-queue@webkit.org [Wed, 24 Apr 2013 15:36:26 +0000 (15:36 +0000)]
[GTK][AC] Visible rect doesn't update after resizing a window.
https://bugs.webkit.org/show_bug.cgi?id=115096

Patch by ChangSeok Oh <changseok.oh@collabora.com> on 2013-04-24
Reviewed by Gustavo Noronha Silva.

Once we set actor's a clip rect, we should update the rect when resizing the actor.

No new tests since no new functionality.

* platform/graphics/clutter/GraphicsLayerClutter.cpp:
(WebCore::GraphicsLayerClutter::setSize):

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

9 years ago[GTK][AC] Fix unexpected clear of ClutterContent.
commit-queue@webkit.org [Wed, 24 Apr 2013 15:34:35 +0000 (15:34 +0000)]
[GTK][AC] Fix unexpected clear of ClutterContent.
https://bugs.webkit.org/show_bug.cgi?id=115099

Patch by ChangSeok Oh <changseok.oh@collabora.com> on 2013-04-24
Reviewed by Gustavo Noronha Silva.

adoptGRef doesn't increase a reference count. So if a actor has a valid ClutterContent,
it would be cleared unexpectedly by smart pointer when escaping a function.

No new tests, no functionality changed.

* platform/graphics/clutter/GraphicsLayerActor.cpp:
(graphicsLayerActorUpdateTexture):

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

9 years agoWild build fix attempt.
akling@apple.com [Wed, 24 Apr 2013 15:30:54 +0000 (15:30 +0000)]
Wild build fix attempt.

* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

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

9 years ago[WebKit2] Add CoordinatedGraphics to the list of platforms in generate-forwarding...
commit-queue@webkit.org [Wed, 24 Apr 2013 15:26:24 +0000 (15:26 +0000)]
[WebKit2] Add CoordinatedGraphics to the list of platforms in generate-forwarding-headers.pl
https://bugs.webkit.org/show_bug.cgi?id=115098

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

r148963 introduced a new WKView.h header in a directory not listed
as a platform prefix in generate-forwarding-headers.pl.

* Scripts/generate-forwarding-headers.pl: Replace unused chromium
plaform prefix with CoordinatedGraphics that is used now.

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

9 years agoAssertion failure (crash in release) attempting to delete database storage in WK1...
jberlin@webkit.org [Wed, 24 Apr 2013 15:15:50 +0000 (15:15 +0000)]
Assertion failure (crash in release) attempting to delete database storage in WK1 without
creating a WebView first
https://bugs.webkit.org/show_bug.cgi?id=115065

Reviewed by Brady Eidson.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:
Remove WebDatabaseManagerInternal.h.

Source/WebKit/mac:

Make sure the WebPlatformStrategies is initialized before using the WebDatabaseManager.

* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager init]):
Move the logic from WebKitInitializeDatabasesIfNecessary here, and add a call to
WebPlatformStrategies::initializeIfNecessary.

* Storage/WebDatabaseManagerInternal.h: Removed.

* WebCoreSupport/WebPlatformStrategies.h:
(WebPlatformStrategies):
Change "initialize" to "initalizeIfNecessary".
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::initializeIfNecessary):
Only call setPlatformStrategies once.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Updated for the name change from initialize to initializeIfNecessary.
Instead of calling WebKitInitializeDatabasesIfNecessary, call [WebDatabaseManager
sharedWebDatabaseManager].
(+[WebView _setLoadResourcesSerially:]):
Updated for the name change from initialize to initializeIfNecessary.

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

9 years agoDOMFileSystemBase: fix multiple definitions in the BlackBerry port
commit-queue@webkit.org [Wed, 24 Apr 2013 14:27:13 +0000 (14:27 +0000)]
DOMFileSystemBase: fix multiple definitions in the BlackBerry port
https://bugs.webkit.org/show_bug.cgi?id=114950

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-24
Reviewed by Xan Lopez.

The following  methods are already defined in DOMFileSystemBlackBerry.cpp:

crackFileSystemURL()
createFileSystemURL()
isValidType()
supportsToURL()

* Modules/filesystem/DOMFileSystemBase.cpp:
(WebCore):

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

9 years ago[BlackBerry] Add support for JPEG image quality during encoding.
commit-queue@webkit.org [Wed, 24 Apr 2013 14:10:47 +0000 (14:10 +0000)]
[BlackBerry] Add support for JPEG image quality during encoding.
https://bugs.webkit.org/show_bug.cgi?id=105773

Patch by George Staikos <gstaikos@rim.com> on 2013-04-24
Reviewed by Xan Lopez.

PR 271611
Internally reviewed by Liam Quinn.

Pass the quality flag into the encoder, with a default of 65

Covered by existing tests.

* platform/image-encoders/JPEGImageEncoder.cpp:
(WebCore::compressRGBABigEndianToJPEG):
* platform/image-encoders/JPEGImageEncoder.h:
(WebCore):

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

9 years ago[EFL] Add unit test cases for ewk_settings APIs
commit-queue@webkit.org [Wed, 24 Apr 2013 13:54:27 +0000 (13:54 +0000)]
[EFL] Add unit test cases for ewk_settings APIs
https://bugs.webkit.org/show_bug.cgi?id=114897

Patch by Jose Lejin PJ <jose.lejin@gmail.com> on 2013-04-24
Reviewed by Gyuyoung Kim.

Added unit tests for ewk_settings APIs.

* tests/test_ewk_setting.cpp:
(TEST_F):

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

9 years agoFix cast-align WebCore/platform/graphics/GraphicsContext3D.cpp on ARM
ossy@webkit.org [Wed, 24 Apr 2013 13:11:58 +0000 (13:11 +0000)]
Fix cast-align WebCore/platform/graphics/GraphicsContext3D.cpp on ARM
https://bugs.webkit.org/show_bug.cgi?id=115036

Reviewed by Benjamin Poulain.

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

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

9 years agoUnreviewed EFL gardening.
ch.dumez@sisa.samsung.com [Wed, 24 Apr 2013 13:03:45 +0000 (13:03 +0000)]
Unreviewed EFL gardening.

Rebaseline fast/js/constructor-length.html for EFL port after
r148997.

* platform/efl/fast/js/constructor-length-expected.txt:

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

9 years agoRemove unnecessary MutableStylePropertySet casts.
akling@apple.com [Wed, 24 Apr 2013 12:33:33 +0000 (12:33 +0000)]
Remove unnecessary MutableStylePropertySet casts.
<http://webkit.org/b/115075>

Reviewed by Geoffrey Garen.

Get rid of some now-unneeded static_casts that were left from the StylePropertySet
refactoring last weekend.

* css/StylePropertySet.cpp:
(WebCore::MutableStylePropertySet::setProperty):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):

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

9 years ago[Minor code cleanup] Remove duplicated condition check
kangil.han@samsung.com [Wed, 24 Apr 2013 12:17:32 +0000 (12:17 +0000)]
[Minor code cleanup] Remove duplicated condition check
https://bugs.webkit.org/show_bug.cgi?id=115082

Reviewed by Andreas Kling.

areRectsPartiallyAligned() has duplicated condition check, so remove it.

* page/SpatialNavigation.cpp:
(WebCore::areRectsPartiallyAligned):

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

9 years ago[EFL][WK2] WebKitTestRunner failures due to IconDatabase assertions
ch.dumez@sisa.samsung.com [Wed, 24 Apr 2013 12:01:37 +0000 (12:01 +0000)]
[EFL][WK2] WebKitTestRunner failures due to IconDatabase assertions
https://bugs.webkit.org/show_bug.cgi?id=115095

Reviewed by Antonio Gomes.

Use different subfolders under DumpRenderTree Temp folder for every
functionality (icon database, cache, localstorage, ...). This makes
sure there is no conflict between the functionalities.

In EFL's case, libsoup cache was causing problems for the icon
database if sharing the same folder.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):

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

9 years ago[EFL] Fix build warnings caused by missing images attributes for default buttons
commit-queue@webkit.org [Wed, 24 Apr 2013 11:21:54 +0000 (11:21 +0000)]
[EFL] Fix build warnings caused by missing images attributes for default buttons
https://bugs.webkit.org/show_bug.cgi?id=114955

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-04-24
Reviewed by Gyuyoung Kim.

Added default image for each button from mediacontrol catalog.

No new tests, because there is no change in behavior.

* platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc:

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

9 years agoWeb Inspector: Add number to list from remote web inspector.
commit-queue@webkit.org [Wed, 24 Apr 2013 10:50:40 +0000 (10:50 +0000)]
Web Inspector: Add number to list from remote web inspector.
https://bugs.webkit.org/show_bug.cgi?id=115014

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-24
Reviewed by Benjamin Poulain.

* UIProcess/InspectorServer/front-end/inspectorPageIndex.html:

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

9 years ago[EFL] Rebaselining after r148944
commit-queue@webkit.org [Wed, 24 Apr 2013 10:48:26 +0000 (10:48 +0000)]
[EFL] Rebaselining after r148944
https://bugs.webkit.org/show_bug.cgi?id=115085

Unreviewed gardening.

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-24

* platform/efl/TestExpectations:
* platform/efl/fast/table/giantRowspan-expected.txt:
* platform/efl/fast/table/giantRowspan2-expected.png:
* platform/efl/fast/table/giantRowspan2-expected.txt:
* platform/efl/tables/mozilla/bugs/bug133756-1-expected.png:
* platform/efl/tables/mozilla/bugs/bug133756-1-expected.txt:
* platform/efl/tables/mozilla/bugs/bug133756-2-expected.png:
* platform/efl/tables/mozilla/bugs/bug133756-2-expected.txt:
* platform/efl/tables/mozilla/bugs/bug220536-expected.png:
* platform/efl/tables/mozilla/bugs/bug220536-expected.txt:
* platform/efl/tables/mozilla/bugs/bug8858-expected.png:
* platform/efl/tables/mozilla/bugs/bug8858-expected.txt:
* platform/efl/tables/mozilla/core/bloomberg-expected.png:
* platform/efl/tables/mozilla/core/bloomberg-expected.txt:
* platform/efl/tables/mozilla/core/row_span-expected.png:
* platform/efl/tables/mozilla/core/row_span-expected.txt:
* platform/efl/tables/mozilla_expected_failures/bugs/bug131020-3-expected.png:
* platform/efl/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
* platform/efl/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
* platform/efl/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
* platform/efl/tables/mozilla_expected_failures/bugs/bug65372-expected.png:
* platform/efl/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:

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

9 years agoFix test style issues following the commit of
abucur@adobe.com [Wed, 24 Apr 2013 09:01:29 +0000 (09:01 +0000)]
Fix test style issues following the commit of
https://bugs.webkit.org/show_bug.cgi?id=114412

Unreviewed gardening.

* css3/compositing/effect-background-blend-mode-color.html:
* css3/compositing/effect-background-blend-mode-color2.html:

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

9 years ago--minimal build fails with error: Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h...
commit-queue@webkit.org [Wed, 24 Apr 2013 08:44:51 +0000 (08:44 +0000)]
--minimal build fails with error: Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:44:36: error: decode is not a member of WebCore::TextCheckingResult
https://bugs.webkit.org/show_bug.cgi?id=114367

Patch by Vlad Vasilyeu <vasvlad@gmail.com> on 2013-04-24
Reviewed by Benjamin Poulain.

Include WebCoreArgumentCoders.h to WebEditorClientEfl.cpp from
WebKit2/Shared/ for successfully building with option --minimal

* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:

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

9 years agoUnreviewed build fix with gstreamer 0.10.x after r147555.
ch.dumez@sisa.samsung.com [Wed, 24 Apr 2013 08:23:27 +0000 (08:23 +0000)]
Unreviewed build fix with gstreamer 0.10.x after r147555.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcLoop):

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

9 years agoRoll deps^H^H^H^HChangeLogs.
mrowe@apple.com [Wed, 24 Apr 2013 08:11:10 +0000 (08:11 +0000)]
Roll deps^H^H^H^HChangeLogs.

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

9 years ago[BlackBerry] Remove the setContentsToColor flavor of LayerTiler::TextureJob
anilsson@rim.com [Wed, 24 Apr 2013 08:09:55 +0000 (08:09 +0000)]
[BlackBerry] Remove the setContentsToColor flavor of LayerTiler::TextureJob
https://bugs.webkit.org/show_bug.cgi?id=115092

Reviewed by Carlos Garcia Campos.

With the Skia backend, we had an optimization to detect solid color
layers. The Skia code has been purged, but these bits remained. With
BlackBerry::Platform::Graphics::PlatformGraphicsContext, only the solid
color will be drawn anyway, so we don't need to detect such layers at
the WebCore level. Fixed by removing the setContentsToColor flavor of
LayerTiler::TextureJob.

BlackBerry::WebKit::WebOverlay still uses
TextureCacheCompositingThread::textureForColor() so that one can stay
for now.

This was dead code so no new tests.

* platform/graphics/blackberry/LayerTile.cpp:
* platform/graphics/blackberry/LayerTile.h:
(LayerTile):
* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::processTextureJob):
(WebCore::LayerTiler::performTileJob):
* platform/graphics/blackberry/LayerTiler.h:
(WebCore::LayerTiler::TextureJob::setContents):
(TextureJob):

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

9 years ago[GTK] Move image decoders, some other GStreamer, Cairo and Soup sources to libPlatform
zandobersek@gmail.com [Wed, 24 Apr 2013 07:43:11 +0000 (07:43 +0000)]
[GTK] Move image decoders, some other GStreamer, Cairo and Soup sources to libPlatform
https://bugs.webkit.org/show_bug.cgi?id=115050

Reviewed by Martin Robinson.

Source/Platform:

* GNUmakefile.am: Add the image-decoders directory and its subdirectories to the list of header inclusion directories.
List the Cairo, GStreamer and Libsoup cppflags under the cppflags libPlatform uses for compiling its sources.

Source/WebCore:

No new tests - no new functionality.

* GNUmakefile.list.am: Move the image decoders source files and a couple of GStreamer, Cairo and Libsoup source
files under the libPlatform's list of files to build. All of these are already free of platform layer violations.

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

9 years agoBuild break after r149004
csaavedra@igalia.com [Wed, 24 Apr 2013 07:25:09 +0000 (07:25 +0000)]
Build break after r149004
https://bugs.webkit.org/show_bug.cgi?id=115091

Reviewed by Csaba Osztrogon√°c.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged):
(WebKit): Add dummy method for new virtual method.
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk): Ditto.

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

9 years agoDFG CFA filters CheckFunction in a really weird way, and assumes that the function...
fpizlo@apple.com [Wed, 24 Apr 2013 03:18:04 +0000 (03:18 +0000)]
DFG CFA filters CheckFunction in a really weird way, and assumes that the function's structure won't change
https://bugs.webkit.org/show_bug.cgi?id=115077

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

The filtering did three things that are unusual:

1) AbstractValue::filterByValue() assumed that the passed value's structure wouldn't change, in
   the sense that at it assumed it could use that value's *current* structure to do structure
   filtering. Filtering by structure only makes sense if you can prove that the given value will
   always have that structure (for example by either using a watchpoing or emitting code that
   checks that structure at run-time).

2) AbstractValue::filterByValue() and the CheckFunction case in AbstractState::executeEffects()
   tried to invalidate the CFA based on whether the filtration led to an empty value. This is
   well-intentioned, but it's not how the CFA currently works. It's inconsistent with other
   parts of the CFA. We shouldn't introduce this feature into just one kind of filtration and
   not have it elsewhere.

3) The attempt to detect when the value was empty was actually implemented incorrectly. It
   relied on AbstractValue::validate(). That method says that a concrete value does not belong
   to the abstract value if it has a different structure. This makes sense for the other place
   where AbstractValue::validate() is called: during OSR entry, where we are talking about a
   JSValue that we see *right now*. It doesn't make sense in the CFA, since in the CFA any
   value we observe in the code is a value whose structure may change when the code starts
   running, and so we cannot use the value's current structure to infer things about the code
   when it starts running.

I fixed the above problems by (1) changing filterByValue() to not filter the structure, (2)
changing filterByValue() and the CheckFunction case to not invalidate the CFA, and (3)
making sure that nobody else was misusing AbstractValue::validate() (they weren't).

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::executeEffects):
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::filterByValue):

LayoutTests:

Reviewed by Oliver Hunt.

This hilarious test fails prior to the rest of this patch.

* fast/js/dfg-check-function-change-structure-expected.txt: Added.
* fast/js/dfg-check-function-change-structure.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-check-function-change-structure.js: Added.
(foo):
(bar):

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

9 years agoRemove TextFieldDecoration feature
tkent@chromium.org [Wed, 24 Apr 2013 01:59:21 +0000 (01:59 +0000)]
Remove TextFieldDecoration feature
https://bugs.webkit.org/show_bug.cgi?id=115068

Reviewed by Andreas Kling.

Only Chromium port used this feature.

* dom/Element.h: Remove isTextFieldDecoration.
* html/InputType.cpp:
(WebCore::InputType::destroyShadowSubtree):
Update a comment.
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createShadowSubtree):
Remove call sites of willAddTextFieldDecorationsTo and addTextFieldDecorationsTo.
* html/shadow/TextFieldDecorationElement.cpp: Removed.
* html/shadow/TextFieldDecorationElement.h: Removed.
* page/ChromeClient.h:
(ChromeClient): Remove willAddTextFieldDecorationsTo and
addTextFieldDecorationsTo

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

9 years agoDefault ParserError() initialiser doesn't initialise all fields
oliver@apple.com [Wed, 24 Apr 2013 01:23:42 +0000 (01:23 +0000)]
Default ParserError() initialiser doesn't initialise all fields
https://bugs.webkit.org/show_bug.cgi?id=115074

Reviewed by Joseph Pecoraro.

Only the jsc command prompt depended on this, but we'll fix it to
be on the safe side.

* parser/ParserError.h:
(JSC::ParserError::ParserError):

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

9 years agoMicro-optimize Length::initFromLength().
akling@apple.com [Wed, 24 Apr 2013 01:10:51 +0000 (01:10 +0000)]
Micro-optimize Length::initFromLength().
<http://webkit.org/b/115073>

From Blink r148621 by <timloh@chromium.org>:

This appears to improve html5-full-render by 1-2% on my system (gcc 4.6.3) by using memcpy
instead of copying members (and branching to copy the union).

* platform/Length.h:
(WebCore::Length::initFromLength):

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

9 years agoAdd missing copyright header to ColorChooserClient.h
tkent@chromium.org [Wed, 24 Apr 2013 01:06:01 +0000 (01:06 +0000)]
Add missing copyright header to ColorChooserClient.h
https://bugs.webkit.org/show_bug.cgi?id=115067

Reviewed by Andreas Kling.

* platform/ColorChooserClient.h:
This was added in 2011 by a Google employee.
http://trac.webkit.org/changeset/103168

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

9 years agoCall the correct superclass in RenderSlider::layout().
akling@apple.com [Wed, 24 Apr 2013 00:55:21 +0000 (00:55 +0000)]
Call the correct superclass in RenderSlider::layout().
<http://webkit.org/b/115071>

From Blink r147850 by <cbiesinger@chromium.org>:

The superclass is RenderFlexibleBox, not RenderBlock.

* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::layout):

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

9 years agoAdd platform support for -webkit-background-blend-mode to CG context with background...
commit-queue@webkit.org [Wed, 24 Apr 2013 00:53:42 +0000 (00:53 +0000)]
Add platform support for -webkit-background-blend-mode to CG context with background color
https://bugs.webkit.org/show_bug.cgi?id=114412

Patch by Mihai Tica <mitica@adobe.com> on 2013-04-23
Reviewed by Darin Adler.

Source/WebCore:

Tests: css3/compositing/effect-background-blend-mode-color.html, css3/compositing/effect-background-blend-mode-color2.html

This patch adds support for blending on background colors to the Core Graphics port of WebKit.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/GraphicsContext.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

LayoutTests:

Adding pixel tests for -webkit-background-blend-mode with bg-color
effect-background-blend-mode-color.html uses accelerated compositing
effect-background-blend-mode-color2.html uses software rendering

* css3/compositing/effect-background-blend-mode-color-expected.txt: Added.
* css3/compositing/effect-background-blend-mode-color.html: Added.
* platform/mac/css3/compositing/effect-background-blend-mode-color-expected.png: Added.
* css3/compositing/effect-background-blend-mode-color2-expected.txt: Added.
* css3/compositing/effect-background-blend-mode-color2.html: Added.
* platform/mac/css3/compositing/effect-background-blend-mode-color2-expected.png: Added.

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

9 years agoRemove an unused member variable erroneously added in r149007.
rniwa@webkit.org [Wed, 24 Apr 2013 00:33:19 +0000 (00:33 +0000)]
Remove an unused member variable erroneously added in r149007.

* rendering/LogicalSelectionOffsetCaches.h:
(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
(LogicalSelectionOffsetCaches):

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

9 years ago[EFL][WK2] Build break after r149004
ryuan.choi@samsung.com [Wed, 24 Apr 2013 00:20:09 +0000 (00:20 +0000)]
[EFL][WK2] Build break after r149004
https://bugs.webkit.org/show_bug.cgi?id=115066

Reviewed by Tim Horton.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::pageBackgroundTransparencyChanged):
Added dummy method for new virtual method.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost): Ditto.

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

9 years agologicalLeftSelectionGap and logicalRightSelectionGap call availableLogicalWidth(...
rniwa@webkit.org [Wed, 24 Apr 2013 00:18:27 +0000 (00:18 +0000)]
logicalLeftSelectionGap and logicalRightSelectionGap call availableLogicalWidth() multiple times
https://bugs.webkit.org/show_bug.cgi?id=113479

Reviewed by David Hyatt.

Introduced LogicalSelectionOffsetCaches to cache the containing blocks and their logical left and right
selection offsets in computing selection gaps. An instance of this class stores the containing block for
each position type and caches their logical selection offsets when none of their block ancestors up until
its nearest selection root do no have any floating objects or regions and exclusions.

When blockSelectionGaps recurses to another level, it creates a new cache instance by "inheriting"
(like RenderStyle) from the old cache, overriding those containing blocks that are replaced by "this".

This eliminates the need to traverse containing block ancestors in RenderBlock::logicalLeftSelectionOffset
and RenderBlock::logicalRightSelectionOffset, and improves WebKit's performance by roughly 20%.

Performance Tests: Interactive/SelectAll.html

* GNUmakefile.list.am:
* Target.pri:
* WebCore.xcodeproj/project.pbxproj:

* rendering/LogicalSelectionOffsetCaches.h: Added.
(WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Moved from RenderObject.h.
(WebCore::isNonRenderBlockInline): Ditto.
(WebCore::containingBlockForFixedPosition): Extracted from RenderObject::containingBlock.
(WebCore::containingBlockForAbsolutePosition): Ditto.
(WebCore::containingBlockForObjectInFlow): Ditto.

(WebCore::LogicalSelectionOffsetCaches): Added.
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::ContainingBlockInfo): Added.
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock): Added. m_hasFloatsOrRegions is
or'ed with itself when ContainingBlockInfo is copy constructed since m_hasFloatsOrRegions needs be true
for a block when any of its containing block ancestors have floats or regions.
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::block): Added.
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::cache): Added.
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalLeftSelectionOffset): Added. Caches
the logical selection offset if it hasn't.
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalRightSelectionOffset): Ditto.

(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches): The first constructor is used
for a selection root. The second one is used for inheriting from another cache. In the latter case,
copy all containing block information except ones that need to be overridden by this block.
(WebCore::LogicalSelectionOffsetCaches::containingBlockInfo): Returns a ContainingBlockInfo based on
object's position value.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::inlineSelectionGaps):
(WebCore::RenderBlock::blockSelectionGaps): Exit before instantiating a new LogicalSelectionOffsetCaches
if there is no child to recurse.
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionOffset): Use LogicalSelectionOffsetCaches to get its containing
block and its logical selection offset.
(WebCore::RenderBlock::logicalRightSelectionOffset): Ditto.

* rendering/RenderBlock.h:
(WebCore::RenderBlock):

* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock): Extracted code into LogicalSelectionOffsetCaches.h.

* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::lineSelectionGap):

* rendering/RootInlineBox.h:
(WebCore::RootInlineBox):

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

9 years agoTurn off tiled drawing in the Web Inspector
simon.fraser@apple.com [Tue, 23 Apr 2013 23:44:41 +0000 (23:44 +0000)]
Turn off tiled drawing in the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=115064

Reviewed by Tim Horton.

We get little benefit from making the Web Inspector use tiled drawing;
it doesn't scroll the main frame, so doesn't benefit from the ScrollingCoordinator.
Not using tiled drawing also means that we won't make compositing
layers for position: -webkit-sticky, which avoids a number of issues
with compositing layer proliferation in the inspector.

Also turn off accelerated drawing, since that pref will force a single
compositing layer.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::createInspectorPageGroup):
* UIProcess/mac/WebInspectorProxyMac.mm:

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

9 years ago[Mac] forced subtitle track should change when audio track language changes
eric.carlson@apple.com [Tue, 23 Apr 2013 23:35:12 +0000 (23:35 +0000)]
[Mac] forced subtitle track should change when audio track language changes
https://bugs.webkit.org/show_bug.cgi?id=115043

Reviewed by Jer Noble.

No new tests, it isn't possible to test this automatically because there is currently no way
to enable/disable audio tracks.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureTextTrackGroup): Set m_forcedOrAutomaticSubtitleTrackLanguage.
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):  Call markCaptionAndSubtitleTracksAsUnconfigured
    after a delay if the language of the primary audio track changes.
(WebCore::HTMLMediaElement::setClosedCaptionsVisible): markCaptionAndSubtitleTracksAsUnconfigured API change.
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Take parameter to allow
    the reconfiguration to happen after a delay to avoid doing it during a callback from the
    media engine. Clear the ConfigureTextTracks bit in m_pendingActionFlags to cancel any pending
    asynch configuration.
* html/HTMLMediaElement.h:

* page/CaptionUserPreferencesMac.mm:
(WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Clean up logic.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Call characteristicChanged when
    the primary audio track language changes.

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

9 years agoWhen the web page transparency changes, DrawingAreaImpl needs to know about it
simon.fraser@apple.com [Tue, 23 Apr 2013 23:02:08 +0000 (23:02 +0000)]
When the web page transparency changes, DrawingAreaImpl needs to know about it
https://bugs.webkit.org/show_bug.cgi?id=115062

Reviewed by Tim Horton.

The non-composited contents layer owned by LayerTreeHostMac needs to
be marked as opaque or not depending on whether the WebPage draws
a background (or transparent background). It computed this at creation,
but did not dynamically update the state. Fix it so it does.

This fixes cases of garbage pixels in the Web Inspector toolbar area
in some configurations.

* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::pageBackgroundTransparencyChanged):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.h:
* WebProcess/WebPage/mac/LayerTreeHostMac.h:
* WebProcess/WebPage/mac/LayerTreeHostMac.mm:
(WebKit::LayerTreeHostMac::pageBackgroundTransparencyChanged):

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

9 years ago[CSS Exclusions] Improve ExclusionPolygon smart pointer safety
hmuller@adobe.com [Tue, 23 Apr 2013 22:43:19 +0000 (22:43 +0000)]
[CSS Exclusions] Improve ExclusionPolygon smart pointer safety
https://bugs.webkit.org/show_bug.cgi?id=114984

Reviewed by Dirk Schulze.

Assign newly allocated objects to PassOwnPtrs as early as possible to reduce the
chances of future leaks. No new tests were added, this change adds no new functionality.

* rendering/ExclusionPolygon.cpp:
(WebCore::computeShapePaddingBounds):
(WebCore::computeShapeMarginBounds):
(WebCore::ExclusionPolygon::shapePaddingBounds):
(WebCore::ExclusionPolygon::shapeMarginBounds):
* rendering/ExclusionShape.cpp:
(WebCore::ExclusionShape::createExclusionShape):

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

9 years agoRevert "Throttle resize events during live window resize."
akling@apple.com [Tue, 23 Apr 2013 22:36:20 +0000 (22:36 +0000)]
Revert "Throttle resize events during live window resize."
<http://webkit.org/b/114292>
<rdar://problem/13411454>
<rdar://problem/13694839>

Reviewed by Geoffrey Garen.

It appears that this caused more glitches than it helped resize performance.

* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::sendResizeEvent):

    Turn the null-check of m_frame into an assertion since this method is
    no longer called asynchronously.

(WebCore::FrameView::willEndLiveResize):

    Ninja fix: call up to the closest superclass implementation.

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

9 years agoGlobal constructors should be configurable and not enumerable
ch.dumez@sisa.samsung.com [Tue, 23 Apr 2013 22:34:46 +0000 (22:34 +0000)]
Global constructors should be configurable and not enumerable
https://bugs.webkit.org/show_bug.cgi?id=110573

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Update JSObject::deleteProperty() so that mark to set the property
value to undefined if it is in static hashtable of properties. The
previous code was not doing anything in this case and this meant
we could not remove builtin DOMWindow properties such as
"ProgressEvent" even if marked as Deletable.

* runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty):
* runtime/Lookup.h:
(JSC):
(JSC::putEntry):
(JSC::lookupPut):

Source/WebCore:

Update JSC Code generator so that global constructors now have the following
attributes:
{ [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
instead of previously:
{ [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false }

The new behavior is according to the Web IDL specification (section 4.4):
http://dev.w3.org/cvsweb/~checkout~/2006/webapi/WebIDL/Overview.html?rev=1.617;content-type=text%2Fhtml#es-interfaces

This also matches the behavior of Firefox.

Tests: fast/js/global-constructors-attributes.html
       fast/js/global-constructors-deletable.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributesHashTable):

LayoutTests:

Add new tests to make sure that the global constructors have the
right attributes and to check that they are 'Deletable'.

* canvas/philip/tests/type.delete-expected.txt: Removed.
* canvas/philip/tests/type.delete.html: Removed. It was checking that global constructor
could NOT be deleted, which is no longer according to the Web IDL specification.
* fast/dom/constructed-objects-prototypes-expected.txt:
* fast/dom/script-tests/constructed-objects-prototypes.js: Update test to hardcode a few
global constructors as they are no longer enumerable.
* fast/js/getOwnPropertyDescriptor-expected.txt:
* fast/js/global-constructors.html: Removed. It was relying on the global constructors
to be 'Enumerable', which is not to the latest Web IDL specification.
* fast/js/global-constructors-attributes-expected.txt: Added.
* fast/js/global-constructors-attributes.html: Added.
* fast/js/global-constructors-deletable-expected.txt: Added.
* fast/js/global-constructors-deletable.html: Added.
* fast/js/global-constructors-expected.txt: Removed.
* fast/js/resources/getOwnPropertyDescriptor.js:
* fast/js/script-tests/global-constructors-attributes.js: Added.
* fast/js/script-tests/global-constructors-deletable.js: Added.
* fast/js/script-tests/global-constructors.js: Removed.
* platform/efl/fast/dom/constructed-objects-prototypes-expected.txt: Removed.
* platform/efl/fast/js/global-constructors-expected.txt: Removed.
* platform/gtk/fast/dom/constructed-objects-prototypes-expected.txt: Removed.
* platform/gtk/fast/js/global-constructors-expected.txt: Removed.
* platform/mac/fast/js/global-constructors-expected.txt: Removed.
* platform/qt/fast/dom/constructed-objects-prototypes-expected.txt: Removed.
* platform/qt/fast/js/global-constructors-expected.txt: Removed.
* platform/win/fast/dom/constructed-objects-prototypes-expected.txt: Removed.
* platform/win/fast/js/global-constructors-expected.txt: Removed.

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

9 years agoUnreviewed. Remove myself from watchlist.
dgrogan@chromium.org [Tue, 23 Apr 2013 22:23:54 +0000 (22:23 +0000)]
Unreviewed. Remove myself from watchlist.

* Scripts/webkitpy/common/config/watchlist:

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

9 years agoSource/JavaScriptCore: Filled out more cases of branch folding in bytecode when emitting
ggaren@apple.com [Tue, 23 Apr 2013 22:18:18 +0000 (22:18 +0000)]
Source/JavaScriptCore: Filled out more cases of branch folding in bytecode when emitting
expressions into a branching context
https://bugs.webkit.org/show_bug.cgi?id=115057

Reviewed by Filip Pizlo.

This covers a few cases like:

    - while (true) { }
    - while (1) { }
    - if (x) break;
    - if (x) continue;
    - if (boolean_expr == boolean_const) { }
    - if (boolean_expr == 1_or_0) { }
    - if (bitop == 1_or_0) { }

This also works, but will bring shame on your family:

    - while ("hello world") { }

No change on the benchmarks we track, but a 2.5X speedup on a microbenchmark
that uses these techniques.

* JavaScriptCore.order: Order!

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::shouldEmitDebugHooks): Updated ancillary code
for interface simplifications.

* bytecompiler/NodesCodegen.cpp:
(JSC::ConstantNode::emitBytecodeInConditionContext): Constants can
jump unconditionally when used within a condition context.

(JSC::ConstantNode::emitBytecode):
(JSC::StringNode::jsValue): Gave constants a common base class so I
could implement their codegen just once.

(JSC::BinaryOpNode::emitBytecodeInConditionContext):
(JSC::canFoldToBranch):
(JSC::BinaryOpNode::tryFoldToBranch): Fold (!/=)= and (!/=)== where
appropriate. A lot of cases are not appropriate because of the surprising
type conversion semantics of ==. For example, if (number == true) { } is
not the same as if (number) { } because the former will up-convert true
to number and then do numeric comparison.

(JSC::singleStatement):
(JSC::IfElseNode::tryFoldBreakAndContinue):
(JSC::IfElseNode::emitBytecode):
(JSC::ContinueNode::trivialTarget):
(JSC::BreakNode::trivialTarget): Fold "if (expression) break" and
"if (expression) continue" into direct jumps from expression.

* parser/ASTBuilder.h:
(ASTBuilder):
(JSC::ASTBuilder::createIfStatement):
* parser/NodeConstructors.h:
(JSC::ConstantNode::ConstantNode):
(JSC):
(JSC::NullNode::NullNode):
(JSC::BooleanNode::BooleanNode):
(JSC::NumberNode::NumberNode):
(JSC::StringNode::StringNode):
(JSC::IfElseNode::IfElseNode):
* parser/Nodes.h:
(JSC::ExpressionNode::isConstant):
(JSC::ExpressionNode::isBoolean):
(JSC::StatementNode::isBreak):
(JSC::StatementNode::isContinue):
(ConstantNode):
(JSC::ConstantNode::isPure):
(JSC::ConstantNode::isConstant):
(NullNode):
(JSC::NullNode::jsValue):
(JSC::BooleanNode::value):
(JSC::BooleanNode::isBoolean):
(JSC::BooleanNode::jsValue):
(JSC::NumberNode::value):
(NumberNode):
(JSC::NumberNode::jsValue):
(StringNode):
(BinaryOpNode):
(IfElseNode):
(ContinueNode):
(JSC::ContinueNode::isContinue):
(BreakNode):
(JSC::BreakNode::isBreak):
* parser/Parser.cpp:
(JSC::::parseIfStatement):
* parser/ResultType.h:
(JSC::ResultType::definitelyIsBoolean):
(ResultType):
* runtime/JSCJSValueInlines.h:
(JSC::JSValue::pureToBoolean):
* runtime/JSCell.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::pureToBoolean): Updated for interface changes above.

Source/WTF: Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
https://bugs.webkit.org/show_bug.cgi?id=115057

Reviewed by Filip Pizlo.

Added a helper constructor for TriState so clients can make one without
branching or making assumptions about the integer values of TriStates.

* wtf/TriState.h:
(WTF::triState):
(WTF):

LayoutTests: Filled out more cases of branch folding in bytecode when emitting expressions into a branching context
https://bugs.webkit.org/show_bug.cgi?id=115057

Reviewed by Filip Pizlo.

Added a performance test for interesting branch types.

* fast/js/regress/branch-fold-expected.txt: Added.
* fast/js/regress/branch-fold.html: Added.
* fast/js/regress/script-tests/branch-fold.js: Added.

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

9 years agoDon't create compositing layers for sticky position unless using the ScrollingCoordinator
simon.fraser@apple.com [Tue, 23 Apr 2013 22:01:05 +0000 (22:01 +0000)]
Don't create compositing layers for sticky position unless using the ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=115060

Source/WebCore:

Reviewed by Tim Horton.

Creating compositing layers for sticky position elements is only useful
when we're using a ScrollingCoordinator, so don't create them if
we're not in a frame that uses a scrolling coordinator.

Tests: compositing/layer-creation/no-compositing-for-sticky.html
       platform/mac-wk2/tiled-drawing/sticky/sticky-layers.html

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

LayoutTests:

Reviewed by Tim Horton.

Tests that we create layers for sticky position when in tiled drawing mode,
and that we have no layers when not.

* compositing/layer-creation/no-compositing-for-sticky-expected.txt: Added.
* compositing/layer-creation/no-compositing-for-sticky.html: Added.
* platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/sticky/sticky-layers.html: Added.

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

9 years ago'length' property of DOM bindings functions returns wrong value
ch.dumez@sisa.samsung.com [Tue, 23 Apr 2013 21:59:26 +0000 (21:59 +0000)]
'length' property of DOM bindings functions returns wrong value
https://bugs.webkit.org/show_bug.cgi?id=110569

Reviewed by Geoffrey Garen.

Source/WebCore:

Make the 'length' property of Function objects and Interface
objects behave according to the latest Web IDL specification
editor draft:
http://dev.w3.org/2006/webapi/WebIDL/#es-interface-call
http://dev.w3.org/2006/webapi/WebIDL/#es-operations

As a result, only mandatory arguments are taken into account
when computing the value for the 'length' property. This
behavior is consistent with Firefox and Blink.

Tests: fast/js/constructor-length.html
       fast/js/function-length.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateConstructorHelperMethods):
Update the JSC code generator to only account for mandatory parameters
when computing the value for the 'length' property of Function objects
and constructors.

* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetConstructor::finishCreation):
(WebCore):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
(WebCore):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore):
Rebaseline bindings tests results.

* fileapi/Blob.idl:
Remove 'ConstructorParameters=2' extended attribute as the correct value
is 0, given that a Blob can be constructed without parameter.

* html/canvas/DataView.idl:
Update ConstructorParameters extended attribute value from 3 to 1 as only
one of the 3 parameters is mandatory.

* html/canvas/Float32Array.idl:
* html/canvas/Float64Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/canvas/Uint8ClampedArray.idl:
Remove 'ConstructorParameters=1' extended attribute from interfaces using
'ConstructorTemplate=TypedArray' as the bindings generator now properly
compute the number of constructor parameters for such interfaces.

* page/WebKitPoint.idl:
Remove 'ConstructorParameters=2' extended attribute as the correct value
should be 0, given that a WebKitPoint can be constructed without parameters.

LayoutTests:

Update fast/js/constructor-length.html test case now that only
mandatory arguments are considered for the constructor length.

Also add a new fast/js/function-length.html test to make sure
that the 'length' property of Function objects from DOM
bindings behaves according to the Web IDL specification as
this was not covered by existing tests.

* fast/files/blob-constructor-expected.txt: Rebaseline.
* fast/files/script-tests/blob-constructor.js: Update test now that Blob constructor
length is 0 instead of 2.
* fast/js/constructor-length.html:
* fast/js/function-length-expected.txt: Added.
* fast/js/function-length.html: Added.
* platform/blackberry/fast/js/constructor-length-expected.txt: Rebaseline.
* platform/efl/TestExpectations: Unskip fast/js/constructor-length.html for EFL port.
* platform/efl/fast/js/constructor-length-expected.txt: Copied from LayoutTests/platform/mac/fast/js/constructor-length-expected.txt.
* platform/gtk/fast/js/constructor-length-expected.txt: Rebaseline.
* platform/mac/fast/js/constructor-length-expected.txt: Rebaseline.
* platform/qt/fast/js/constructor-length-expected.txt: Rebaseline.

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

9 years agoNRWT: confusing warning about a line being in a Skipped file when it is really just...
commit-queue@webkit.org [Tue, 23 Apr 2013 21:58:28 +0000 (21:58 +0000)]
NRWT: confusing warning about a line being in a Skipped file when it is really just listed
in _missing_symbol_to_skipped_tests in base.py
https://bugs.webkit.org/show_bug.cgi?id=108884

Patch by Jessie Berlin <jberlin@apple.com> on 2013-04-23
Reviewed by Tim Horton.

Tools:

Remove symbol-based skipped list detection.

* Scripts/webkitpy/port/base.py:
(Port._missing_feature_to_skipped_tests):
(Port._skipped_tests_for_unsupported_features):
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.test_path_to_test_expectations_file):

LayoutTests:

Explicitly skip the mhtml tests on the Mac and Win ports.

* platform/mac/TestExpectations:
* platform/win/TestExpectations:

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

9 years agoREGRESSION(r148922): Crash opening web archives or loading web pages
andersca@apple.com [Tue, 23 Apr 2013 21:56:59 +0000 (21:56 +0000)]
REGRESSION(r148922): Crash opening web archives or loading web pages
https://bugs.webkit.org/show_bug.cgi?id=115061
<rdar://problem/13714228>

Reviewed by Sam Weinig.

* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
Calling ResourceLoader::didReceiveResponse can cause the WebResourceLoader object to go away,
so protect it here and guard against a null core loader.

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

9 years agoRemove the WebKit layer of wxWebKit
benjamin@webkit.org [Tue, 23 Apr 2013 21:35:51 +0000 (21:35 +0000)]
Remove the WebKit layer of wxWebKit
https://bugs.webkit.org/show_bug.cgi?id=115006

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-23
Reviewed by Anders Carlsson.

The wxWebKit port is no longer actively maintained by Kevin
on webkit.org. Remove the code until new maintainers resume the work.

* wx/WebBrowserShell.cpp: Removed.
* wx/WebBrowserShell.h: Removed.
* wx/WebDOMSelection.cpp: Removed.
* wx/WebDOMSelection.h: Removed.
* wx/WebEdit.cpp: Removed.
* wx/WebEdit.h: Removed.
* wx/WebFrame.cpp: Removed.
* wx/WebFrame.h: Removed.
* wx/WebFramePrivate.h: Removed.
* wx/WebKitDefines.h: Removed.
* wx/WebKitSupport/ChromeClientWx.cpp: Removed.
* wx/WebKitSupport/ChromeClientWx.h: Removed.
* wx/WebKitSupport/ContextMenuClientWx.cpp: Removed.
* wx/WebKitSupport/ContextMenuClientWx.h: Removed.
* wx/WebKitSupport/DragClientWx.cpp: Removed.
* wx/WebKitSupport/DragClientWx.h: Removed.
* wx/WebKitSupport/EditCommandWx.h: Removed.
* wx/WebKitSupport/EditorClientWx.cpp: Removed.
* wx/WebKitSupport/EditorClientWx.h: Removed.
* wx/WebKitSupport/FrameLoaderClientWx.cpp: Removed.
* wx/WebKitSupport/FrameLoaderClientWx.h: Removed.
* wx/WebKitSupport/FrameNetworkingContextWx.h: Removed.
* wx/WebKitSupport/InspectorClientWx.cpp: Removed.
* wx/WebKitSupport/InspectorClientWx.h: Removed.
* wx/WebSettings.cpp: Removed.
* wx/WebSettings.h: Removed.
* wx/WebView.cpp: Removed.
* wx/WebView.h: Removed.
* wx/WebViewPrivate.h: Removed.
* wx/bindings/python/samples/simple.py: Removed.
* wx/bindings/python/webview.i: Removed.
* wx/bindings/python/wscript: Removed.
* wx/wscript: Removed.

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

9 years agoMinor String usage fixes in WebCore/platform
benjamin@webkit.org [Tue, 23 Apr 2013 21:24:57 +0000 (21:24 +0000)]
Minor String usage fixes in WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=115021

Reviewed by Andreas Kling.

Use ASCIILiteral when possible + minor fixes.

* platform/ContentType.cpp:
(WebCore::ContentType::codecs):
* platform/ContentType.h:
(ContentType):
* platform/Decimal.cpp:
(WebCore::Decimal::toString):
* platform/KURL.cpp:
(WebCore::KURL::setProtocol):

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

9 years agoPick up color and mat values in custom shaders
krit@webkit.org [Tue, 23 Apr 2013 21:18:36 +0000 (21:18 +0000)]
Pick up color and mat values in custom shaders
https://bugs.webkit.org/show_bug.cgi?id=115046

Reviewed by Dean Jackson.

Source/WebCore:

The custom filter functions accept color values and mat2-4 functions
as parameter types. These were implemented in CSS already.
This patch picks up the values and applies them as uniforms to the
custom shader program.

Tests: css3/filters/custom/custom-filter-color.html
       css3/filters/custom/custom-filter-matN.html

* platform/graphics/filters/CustomFilterRenderer.cpp:
(WebCore::CustomFilterRenderer::bindProgramColorParameters): Set uniform for color values.
(WebCore):
(WebCore::CustomFilterRenderer::bindProgramMatrixParameters): Set uniform for mat2-4 values.
(WebCore::CustomFilterRenderer::bindProgramParameters): Call color and matrix functions.
* platform/graphics/filters/CustomFilterRenderer.h:
(WebCore):
(CustomFilterRenderer):

LayoutTests:

Test that the CSS defined color values and mat2-4 functions get
set as uniforms in shader programs.

* css3/filters/custom/custom-filter-color-expected.html: Added.
* css3/filters/custom/custom-filter-color.html: Added.
* css3/filters/custom/custom-filter-matN-expected.html: Added.
* css3/filters/custom/custom-filter-matN.html: Added.

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

9 years agoWeb process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
timothy_horton@apple.com [Tue, 23 Apr 2013 21:04:53 +0000 (21:04 +0000)]
Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8
https://bugs.webkit.org/show_bug.cgi?id=115056
<rdar://problem/13719543>

Reviewed by Simon Fraser.

Stop the primary plugin detection timer if the WebPage is torn down.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close):

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

9 years agoRemove redundant code in ViewportArguments::resolve
zhajiang@rim.com [Tue, 23 Apr 2013 20:58:56 +0000 (20:58 +0000)]
Remove redundant code in ViewportArguments::resolve
https://bugs.webkit.org/show_bug.cgi?id=115054

Patch by Jacky Jiang <zhajiang@blackberry.com>.
Reviewed by Kenneth Rohde Christiansen.

Remove redundant code "result.orientation = orientation;".

* dom/ViewportArguments.cpp:
(WebCore::ViewportArguments::resolve):

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

9 years agoSimplify the baseline JIT loop hint call site.
mark.lam@apple.com [Tue, 23 Apr 2013 20:54:34 +0000 (20:54 +0000)]
Simplify the baseline JIT loop hint call site.
https://bugs.webkit.org/show_bug.cgi?id=115052.

Reviewed by Geoffrey Garen.

Moved the watchdog timer check after the JIT optimization check. This
ensures that the JIT opimization counter is incremented on every loop
hint even if the watchdog timer fires.

Removed the code that allows the JIT OSR to happen if the watchdog
timer fires but does not result in a termination. It is extremely rare
that the JIT optimization counter would trigger an OSR on the same pass
as when the watchdog timer fire. If it does happen, we'll simply hold
off on servicing the watchdog timer until the next pass (because it's
not time critical).

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):

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

9 years agoTiled layers clipped inside nested transform/preserve-3d hierarchies
simon.fraser@apple.com [Tue, 23 Apr 2013 20:51:42 +0000 (20:51 +0000)]
Tiled layers clipped inside nested transform/preserve-3d hierarchies
https://bugs.webkit.org/show_bug.cgi?id=115044

Source/WebCore:

Reviewed by Dean Jackson.

The optimization added in r139479 to call move() for integral translation
transforms hit a bug in TransformState::move(). If m_accumulatedTransform is
not null, we have to apply it.

Test: compositing/visible-rect/flipped-preserve-3d.html

* platform/graphics/transforms/TransformState.cpp:
(WebCore::TransformState::move):

LayoutTests:

Reviewed by Dean Jackson.

Testcase that dumps visible rects for tiled layers inside nested
transformed/preserve-3d hierarchies.

* compositing/visible-rect/flipped-preserve-3d-expected.txt: Added.
* compositing/visible-rect/flipped-preserve-3d.html: Added.

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

9 years agoCtrl+Shift+Right in Windows should select the spacing after the word
csaavedra@igalia.com [Tue, 23 Apr 2013 20:39:28 +0000 (20:39 +0000)]
Ctrl+Shift+Right in Windows should select the spacing after the word
https://bugs.webkit.org/show_bug.cgi?id=110487

Reviewed by Ryosuke Niwa.

Source/WebCore:

Tests: editing/deleting/smart-editing-disabled-win.html
       editing/execCommand/remove-format-multiple-elements-win.html
       editing/execCommand/toggle-link-win.html
       editing/execCommand/toggle-unlink-win.html
       editing/selection/extend-selection-enclosing-block-win.html
       editing/style/make-text-writing-direction-inline-win.html
       editing/style/push-down-font-styles-win.html
       editing/style/push-down-implicit-styles-around-list-win.html

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::nextWordPositionForPlatform): New method
that takes platform-specific editing behaviour in order to decide
what the next word position is, that is, for Windows, skip
spacing, for all other platforms, behave as currently.
(WebCore::FrameSelection::modifyExtendingRight):
(WebCore::FrameSelection::modifyExtendingForward):
(WebCore::FrameSelection::modifyMovingForward):
(WebCore::FrameSelection::modifyExtendingLeft): Use the new method
in all of the above.
* editing/FrameSelection.h: Declare the new method.

LayoutTests:

* editing/deleting/smart-editing-disabled-win-expected.txt: Added.
* editing/deleting/smart-editing-disabled-win.html: Added.
* editing/execCommand/query-command-state-expected.txt:
* editing/execCommand/remove-format-multiple-elements-win-expected.txt: Added.
* editing/execCommand/remove-format-multiple-elements-win.html: Added.
* editing/execCommand/script-tests/query-command-state.js:
(runTests): Update to reflect new editing behavior in Windows.
* editing/execCommand/script-tests/remove-format-multiple-elements-win.js: Added.
* editing/execCommand/script-tests/toggle-link-win.js: Added.
* editing/execCommand/script-tests/toggle-unlink-win.js: Added.
* editing/execCommand/toggle-link-win-expected.txt: Added.
* editing/execCommand/toggle-link-win.html: Added.
* editing/execCommand/toggle-unlink-win-expected.txt: Added.
* editing/execCommand/toggle-unlink-win.html: Added.
* editing/selection/extend-selection-enclosing-block-win-expected.txt: Added.
* editing/selection/extend-selection-enclosing-block-win.html: Added.
* editing/selection/resources/extend-selection.js:
(extendSelectionWithinBlockWin): Method to test behavior in windows.
(extendAndLogSelectionWithinBlock): Add test support for Windows.
* editing/selection/selection-extend-should-not-move-across-caret-on-mac.html:
Add test support for Windows editing behavior.
* editing/style/make-text-writing-direction-inline-win-expected.txt: Added.
* editing/style/make-text-writing-direction-inline-win.html: Added.
* editing/style/push-down-font-styles-win-expected.txt: Added.
* editing/style/push-down-font-styles-win.html: Added.
* editing/style/push-down-implicit-styles-around-list-win-expected.txt: Added.
* editing/style/push-down-implicit-styles-around-list-win.html: Added.
* editing/style/script-tests/make-text-writing-direction-inline-win.js: Added.
* editing/style/script-tests/push-down-font-styles-win.js: Added.
* editing/style/script-tests/push-down-implicit-styles-around-list-win.js: Added.

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

9 years ago[Qt] REGRESSION (r148975) shape-inside-percentage.html and shape-inside-overflow...
zoltan@webkit.org [Tue, 23 Apr 2013 20:24:44 +0000 (20:24 +0000)]
[Qt] REGRESSION (r148975) shape-inside-percentage.html and shape-inside-overflow-fixed-dimensions.html are failing after r148975
https://bugs.webkit.org/show_bug.cgi?id=115053

Unreviewed gardening.

* platform/qt/TestExpectations: Skip failing tests.

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

9 years agoAppleWin build fix.
roger_fong@apple.com [Tue, 23 Apr 2013 20:17:53 +0000 (20:17 +0000)]
AppleWin build fix.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* WTF.vcproj/WTF.vcproj:

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

9 years agoInline SelectorQuery::matches, SelectorQuery::queryAll, SelectorQuery::queryFirst
benjamin@webkit.org [Tue, 23 Apr 2013 19:59:13 +0000 (19:59 +0000)]
Inline SelectorQuery::matches, SelectorQuery::queryAll, SelectorQuery::queryFirst
https://bugs.webkit.org/show_bug.cgi?id=115012

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-23
Reviewed by Andreas Kling.

Each of these function has a single call site:
-SelectorQuery::matches from Element::webkitMatchesSelector.
-SelectorQuery::queryAll from Node::querySelectorAll.
-SelectorQuery::queryFirst from Node::querySelector.

Having a dedicated method to jump to was a little overkill.

* dom/SelectorQuery.cpp:
* dom/SelectorQuery.h:
(WebCore::SelectorQuery::matches):
(WebCore::SelectorQuery::queryAll):
(WebCore::SelectorQuery::queryFirst):

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

9 years agoRemove wxWebKit's folders from WebCore
benjamin@webkit.org [Tue, 23 Apr 2013 19:51:42 +0000 (19:51 +0000)]
Remove wxWebKit's folders from WebCore
https://bugs.webkit.org/show_bug.cgi?id=115007

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-23
Reviewed by Andreas Kling.

The wxWebKit port is no longer actively maintained by Kevin
on webkit.org. Remove the code until new maintainers resume the work.

* accessibility/wx/AccessibilityObjectWx.cpp: Removed.
* editing/wx/EditorWx.cpp: Removed.
* page/wx/DragControllerWx.cpp: Removed.
* page/wx/EventHandlerWx.cpp: Removed.
* platform/graphics/wx/ColorWx.cpp: Removed.
* platform/graphics/wx/FloatRectWx.cpp: Removed.
* platform/graphics/wx/FontCacheWx.cpp: Removed.
* platform/graphics/wx/FontCustomPlatformData.cpp: Removed.
* platform/graphics/wx/FontCustomPlatformData.h: Removed.
* platform/graphics/wx/FontPlatformData.h: Removed.
* platform/graphics/wx/FontPlatformDataWx.cpp: Removed.
* platform/graphics/wx/FontPlatformDataWxMac.mm: Removed.
* platform/graphics/wx/FontWx.cpp: Removed.
* platform/graphics/wx/GlyphMapWx.cpp: Removed.
* platform/graphics/wx/GradientWx.cpp: Removed.
* platform/graphics/wx/GraphicsContextWx.cpp: Removed.
* platform/graphics/wx/IconWx.cpp: Removed.
* platform/graphics/wx/ImageBufferDataWx.h: Removed.
* platform/graphics/wx/ImageBufferWx.cpp: Removed.
* platform/graphics/wx/ImageWx.cpp: Removed.
* platform/graphics/wx/IntPointWx.cpp: Removed.
* platform/graphics/wx/IntRectWx.cpp: Removed.
* platform/graphics/wx/IntSizeWx.cpp: Removed.
* platform/graphics/wx/PathWx.cpp: Removed.
* platform/graphics/wx/SimpleFontDataWx.cpp: Removed.
* platform/graphics/wx/TransformationMatrixWx.cpp: Removed.
* platform/image-decoders/wx/ImageDecoderWx.cpp: Removed.
* platform/wx/ClipboardWx.cpp: Removed.
* platform/wx/ClipboardWx.h: Removed.
* platform/wx/ContextMenuItemWx.cpp: Removed.
* platform/wx/ContextMenuWx.cpp: Removed.
* platform/wx/CursorWx.cpp: Removed.
* platform/wx/DragDataWx.cpp: Removed.
* platform/wx/DragImageWx.cpp: Removed.
* platform/wx/EventLoopWx.cpp: Removed.
* platform/wx/FileSystemWx.cpp: Removed.
* platform/wx/KeyEventWin.cpp: Removed.
* platform/wx/KeyboardEventWx.cpp: Removed.
* platform/wx/LanguageWx.cpp: Removed.
* platform/wx/LocalDC.h: Removed.
* platform/wx/LocalizedStringsWx.cpp: Removed.
* platform/wx/LoggingWx.cpp: Removed.
* platform/wx/MimeTypeRegistryWx.cpp: Removed.
* platform/wx/MouseEventWx.cpp: Removed.
* platform/wx/MouseWheelEventWx.cpp: Removed.
* platform/wx/PasteboardWx.cpp: Removed.
* platform/wx/PopupMenuWx.cpp: Removed.
* platform/wx/PopupMenuWx.h: Removed.
* platform/wx/RenderThemeWx.cpp: Removed.
* platform/wx/RunLoopWx.cpp: Removed.
* platform/wx/SSLKeyGeneratorWx.cpp: Removed.
* platform/wx/ScreenWx.cpp: Removed.
* platform/wx/ScrollViewWx.cpp: Removed.
* platform/wx/ScrollbarThemeWx.cpp: Removed.
* platform/wx/ScrollbarThemeWx.h: Removed.
* platform/wx/SearchPopupMenuWx.cpp: Removed.
* platform/wx/SearchPopupMenuWx.h: Removed.
* platform/wx/SharedBufferWx.cpp: Removed.
* platform/wx/SharedTimerWx.cpp: Removed.
* platform/wx/SoundWx.cpp: Removed.
* platform/wx/SystemTimeWx.cpp: Removed.
* platform/wx/TemporaryLinkStubs.cpp: Removed.
* platform/wx/TextBreakIteratorInternalICUWx.cpp: Removed.
* platform/wx/WidgetWx.cpp: Removed.
* platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Removed.
* platform/wx/wxcode/fontprops.cpp: Removed.
* platform/wx/wxcode/fontprops.h: Removed.
* platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Removed.
* platform/wx/wxcode/gtk/fontprops.cpp: Removed.
* platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
* platform/wx/wxcode/gtk/scrollbar_render.cpp: Removed.
* platform/wx/wxcode/mac/carbon/fontprops.mm: Removed.
* platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Removed.
* platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Removed.
* platform/wx/wxcode/non-kerned-drawing.h: Removed.
* platform/wx/wxcode/scrollbar_render.h: Removed.
* platform/wx/wxcode/win/fontprops.cpp: Removed.
* platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
* platform/wx/wxcode/win/scrollbar_render.cpp: Removed.
* plugins/wx/PluginDataWx.cpp: Removed.

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

9 years agoAppleWin VS2010 build fix.
roger_fong@apple.com [Tue, 23 Apr 2013 19:44:20 +0000 (19:44 +0000)]
AppleWin VS2010 build fix.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:

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

9 years agoRemove unused code of RefCounted after chromium removal
benjamin@webkit.org [Tue, 23 Apr 2013 19:28:42 +0000 (19:28 +0000)]
Remove unused code of RefCounted after chromium removal
https://bugs.webkit.org/show_bug.cgi?id=115009

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-23
Reviewed by Ryosuke Niwa.

* wtf/RefCounted.h:
(WTF::RefCountedBase::refCount):
(RefCountedBase):
It looks like addressOfCount() is no longer needed.
Also change the type back to unsigned as it make more sense.

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

9 years agoRemove wxWebKit support from the Tools
benjamin@webkit.org [Tue, 23 Apr 2013 19:21:25 +0000 (19:21 +0000)]
Remove wxWebKit support from the Tools
https://bugs.webkit.org/show_bug.cgi?id=115005

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-23
Reviewed by Andreas Kling.

The wxWebKit port is no longer actively maintained by Kevin
on webkit.org. Remove the code until new maintainers resume the work.

* DumpRenderTree/DumpRenderTree.h:
* DumpRenderTree/config.h:
* DumpRenderTree/wscript: Removed.
* DumpRenderTree/wx/DumpRenderTreeWx.cpp: Removed.
* DumpRenderTree/wx/DumpRenderTreeWx.h: Removed.
* DumpRenderTree/wx/GCControllerWx.cpp: Removed.
* DumpRenderTree/wx/TestRunnerWx.cpp: Removed.
* DumpRenderTree/wx/WorkQueueItemWx.cpp: Removed.
* Scripts/build-dumprendertree:
* Scripts/build-jsc:
(buildMyProject):
* Scripts/build-webkit:
* Scripts/old-run-webkit-tests:
* Scripts/run-launcher:
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(determineConfigurationProductDir):
(determinePassedArchitecture):
(builtDylibPathForName):
(determineIsQt):
(isAppleWebKit):
(launcherPath):
(launcherName):
(checkRequiredSystemConfig):
* Scripts/webkitpy/common/config/contributionareas.py:
* waf/build/build_utils.py: Removed.
* waf/build/settings.py: Removed.
* waf/build/waf_extensions.py: Removed.
* waf/build/wxpresets.py: Removed.
* wx/browser/browser.cpp: Removed.
* wx/browser/wscript: Removed.
* wx/install-unix-extras: Removed.
* wx/packaging/build-debian-installer.py: Removed.
* wx/packaging/build-mac-installer.py: Removed.
* wx/packaging/build-win-installer.py: Removed.
* wx/packaging/debian/changelog: Removed.
* wx/packaging/debian/compat: Removed.
* wx/packaging/debian/control: Removed.
* wx/packaging/debian/copyright: Removed.
* wx/packaging/debian/python-webkitwx.install: Removed.
* wx/packaging/debian/rules: Removed.
* wx/packaging/wxWebKitInstaller.iss.in: Removed.

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

9 years agoRetainPtr.h should compile with -Wshorten-64-to-32
ddkilzer@apple.com [Tue, 23 Apr 2013 19:15:35 +0000 (19:15 +0000)]
RetainPtr.h should compile with -Wshorten-64-to-32
<http://webkit.org/b/115047>

Reviewed by Anders Carlsson.

Fixes the following warning:

    RetainPtr.h:318:20: error: implicit conversion loses integer precision: 'CFHashCode' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]
                return CFHash(o.get());
                ~~~~~~ ^~~~~~~~~~~~~~~

* wtf/RetainPtr.h:
(WTF::RetainPtrObjectHash::hash): Cast return value of CFHash()
to unsigned.  This has no effect on 32-bit architectures, but
takes the lower 32-bits of the CFHashCode (unsigned long) on
64-bit architectures, which is what happens implicitly now.

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

9 years ago[BlackBerry] Invalid assert in InputHandler::requestCheckingOfString()
commit-queue@webkit.org [Tue, 23 Apr 2013 19:12:31 +0000 (19:12 +0000)]
[BlackBerry] Invalid assert in InputHandler::requestCheckingOfString()
https://bugs.webkit.org/show_bug.cgi?id=114952

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-04-23
Reviewed by Rob Buis.

Do not assume that Batch requests are only created whe input field
is focused, the Editor can also create Batch requests when pasting
a selection.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
Remove invalid assert.

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

9 years agoRemove fast/js/i18n-bindings-locale.html
commit-queue@webkit.org [Tue, 23 Apr 2013 19:09:38 +0000 (19:09 +0000)]
Remove fast/js/i18n-bindings-locale.html
https://bugs.webkit.org/show_bug.cgi?id=115024

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-23
Reviewed by Geoffrey Garen.

Remove V8-i18n-extension test(r78095) from all ports.

* fast/js/i18n-bindings-locale-expected.txt: Removed.
* fast/js/i18n-bindings-locale.html: Removed.
* fast/js/script-tests/i18n-bindings-locale.js: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

9 years agoAppleWin build fix.
roger_fong@apple.com [Tue, 23 Apr 2013 18:57:34 +0000 (18:57 +0000)]
AppleWin build fix.

* inspector/InspectorAllInOne.cpp:
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::create):
(WebCore):
* inspector/InspectorMemoryAgent.h:
(InspectorMemoryAgent):

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

9 years ago[CSS Exclusions] shape-inside overflow should be pushed to the outside of the content box
zoltan@webkit.org [Tue, 23 Apr 2013 18:23:36 +0000 (18:23 +0000)]
[CSS Exclusions] shape-inside overflow should be pushed to the outside of the content box
https://bugs.webkit.org/show_bug.cgi?id=114526

Reviewed by David Hyatt.

Source/WebCore:

The specification has changed to define shape-outside as the inverse of an exclusion. Overflowing content
should not overlap the shape, and it should be pushed outside the content box. This change affects several
tests, but only one new has been added. In this change I'm not intended to include the behavior change for
shape-inside on CSS Regions, I'm going to fix that in a follow up patch.

Tests: fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html: Modified.
       fast/exclusions/shape-inside/shape-inside-bottom-edge.html: Modified.
       fast/exclusions/shape-inside/shape-inside-empty.html: Modified.
       fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html: Added.
       fast/exclusions/shape-inside/shape-inside-overflow.html: Modified.
       fast/exclusions/shape-inside/shape-inside-percentage.html: Modified.
       fast/exclusions/shape-inside/shape-inside-rounded-rectangle-004.html: Modified.

* rendering/ExclusionShapeInfo.h:
(WebCore::ExclusionShapeInfo::clearSegments): Shape-outside's code uses shape-inside codepaths, when that happens we need to provide a
way to reset the m_segments member.
(WebCore::ExclusionShapeInfo::shapeContainingBlockHeight): The containing block's height is stored in m_shapeLogicalHeight, I added a
function to get this value when we need it to calculate the content box's bottom position.
(ExclusionShapeInfo):
(WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds):
(WebCore::ExclusionShapeInfo::lineWithinShapeBounds):  Add function to test whether a whole line is within a shape or not.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Overflowing content should start under the content box.
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Since we use shape-inside codepaths for shape-outside in layoutRunsAndFloatsInRange function
and for shape-outside is not a requirement to check the line's bottom position is within the shape we might end up with some extra segments here.
In this case we should clear segments, since we don't want to apply any horizontal offsets on the overflowing content.

LayoutTests:

Update and add tests for the new behavior.

* fast/exclusions/resources/rounded-rectangle.js:
(generateString): Modify the function to not generate overflow content.
* fast/exclusions/shape-inside/shape-inside-bottom-edge-expected.html:
* fast/exclusions/shape-inside/shape-inside-bottom-edge.html:
* fast/exclusions/shape-inside/shape-inside-empty-expected.html:
* fast/exclusions/shape-inside/shape-inside-empty.html:
* fast/exclusions/shape-inside/shape-inside-overflow-expected.html:
* fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html: Added.
* fast/exclusions/shape-inside/shape-inside-overflow.html:
* fast/exclusions/shape-inside/shape-inside-percentage-expected.html:
* fast/exclusions/shape-inside/shape-inside-percentage.html:
* fast/exclusions/shape-inside/shape-inside-rounded-rectangle-004-expected.html:
* fast/exclusions/shape-inside/shape-inside-rounded-rectangle-004.html:
* fast/regions/shape-inside/shape-inside-on-additional-regions-expected.html:
* fast/regions/shape-inside/shape-inside-on-additional-regions.html: This test is not intented to test the overflow behavior from
shape-inside on regions, so I set the shape's height to the container's height.

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

9 years agoObjective-C API: Update public header documentation
mhahnenberg@apple.com [Tue, 23 Apr 2013 18:00:33 +0000 (18:00 +0000)]
Objective-C API: Update public header documentation
https://bugs.webkit.org/show_bug.cgi?id=114841

Reviewed by Geoffrey Garen.

Added documentation for the newly added object lifetime-related stuff.

* API/JSManagedValue.h:
* API/JSVirtualMachine.h:

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

9 years agocheckLayout() should error out if no data-expected* attributes were found
robert@webkit.org [Tue, 23 Apr 2013 17:50:01 +0000 (17:50 +0000)]
checkLayout() should error out if no data-expected* attributes were found
https://bugs.webkit.org/show_bug.cgi?id=114900

Reviewed by Ojan Vafai.

If checkLayout() doesn't find any attributes checking the node's layout then error out
instead of assuming the test has passed. This will ensure data-* attributes containing
typos don't register as a pass.

* fast/check-layout-error-no-attributes-expected.txt: Added.
* fast/check-layout-error-no-attributes.html: Added.
* resources/check-layout.js:
(.):

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

9 years ago[BlackBerry] Simplify BackForwardListBlackBerry::clear
commit-queue@webkit.org [Tue, 23 Apr 2013 17:08:57 +0000 (17:08 +0000)]
[BlackBerry] Simplify BackForwardListBlackBerry::clear
https://bugs.webkit.org/show_bug.cgi?id=115029

Patch by Xan Lopez <xlopez@igalia.com> on 2013-04-23
Reviewed by Carlos Garcia Campos.

Simplify the implementation of the clear method. Instead of asking
the WebCore implementation to search each item and delete it, set
the capacity of the list to zero directly, which will do the same
thing but more efficiently.

No change in behavior, no new tests.

* WebCoreSupport/BackForwardListBlackBerry.cpp:
(WebCore::BackForwardListBlackBerry::clear):

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

9 years ago[Qt] Fix test_build_check for Qt on Mac after r148075.
zeno.albisser@digia.com [Tue, 23 Apr 2013 16:20:02 +0000 (16:20 +0000)]
[Qt] Fix test_build_check for Qt on Mac after r148075.
https://bugs.webkit.org/show_bug.cgi?id=115038

Reviewed by Csaba Osztrogon√°c.

* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_build_check):
    run-webkit-tests is supposed to fail, if it is run on a different
    platform than specified on the command line.
    However, Qt allows exactly this for Qt-platforms to allow comparing
    of test results of different baselines.
    Before r148075 "chromium-linux-x86" was used for testing.
    This patch changes the port_name to gtk when running the test on mac.

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

9 years agoAvoid computing style twice when element has no existing style
antti@apple.com [Tue, 23 Apr 2013 16:13:17 +0000 (16:13 +0000)]
Avoid computing style twice when element has no existing style
https://bugs.webkit.org/show_bug.cgi?id=115042

Reviewed by Andreas Kling.

We currently compute element style twice if we end up having to reattach, first in recalcStyle and then
again during attach(). We can easily avoid this in common case where the element has no existing style
(usually because it is display:none).

* dom/Element.cpp:
(WebCore::Element::recalcStyle):

    Don't compute the style and diff if there is no existing style. There is nothing to diff against.
    Instead just call reattach() directly, we ended up doing that anyway with the existing code.

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

9 years ago[BlackBerry] Do not access BackForwardListImpl from DRT
commit-queue@webkit.org [Tue, 23 Apr 2013 16:03:46 +0000 (16:03 +0000)]
[BlackBerry] Do not access BackForwardListImpl from DRT
https://bugs.webkit.org/show_bug.cgi?id=115041

Patch by Xan Lopez <xlopez@igalia.com> on 2013-04-23
Reviewed by Carlos Garcia Campos.

Source/WebKit/blackberry:

Export the necessary functionality in our BackForwardList port
client in order for DRT to work.

* WebCoreSupport/BackForwardListBlackBerry.cpp:
(WebCore::BackForwardListBlackBerry::backListWithLimit):
(WebCore):
(WebCore::BackForwardListBlackBerry::forwardListWithLimit):
(WebCore::BackForwardListBlackBerry::capacity):
* WebCoreSupport/BackForwardListBlackBerry.h:
(BackForwardListBlackBerry):

Tools:

Use the right class to access the bflist functionality.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::dumpBackForwardListForWebView):

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

9 years agoWebSocket: Return type of send() should be void if hybi-10 protocol is chosen
commit-queue@webkit.org [Tue, 23 Apr 2013 15:53:15 +0000 (15:53 +0000)]
WebSocket: Return type of send() should be void if hybi-10 protocol is chosen
https://bugs.webkit.org/show_bug.cgi?id=65850

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-04-23
Reviewed by Alexey Proskuryakov.

Source/WebCore:

WebSocket API draft changed the return type of send() from boolean to void based on Simon
Pieters' post to WHATWG. Firefox 8 and IE 10 already follow the specification, hence it should
make sense for us to do the same when hybi protocol is used.

Original patch by Yuta Kitamura  <yutak@chromium.org>

Tests: http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
       http/tests/websocket/tests/hybi/send-after-close-on-unload.html (updated)

* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::send):
* Modules/websockets/WebSocket.h:
* Modules/websockets/WebSocket.idl:

LayoutTests:

Update tests and test results because WebSocket.send() now returns undefined when
the hybi WebSocket protocol is used.

* http/tests/websocket/tests/hybi/bufferedAmount-after-close-expected.txt:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy-expected.txt:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
* http/tests/websocket/tests/hybi/bufferedAmount-after-close.html:
* http/tests/websocket/tests/hybi/send-after-close-on-unload-expected.txt:
* http/tests/websocket/tests/hybi/send-after-close-on-unload.html:

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

9 years agoScrollbarThemeComposite depends on Page/FrameView/ChromeClient
carlosgc@webkit.org [Tue, 23 Apr 2013 15:11:25 +0000 (15:11 +0000)]
ScrollbarThemeComposite depends on Page/FrameView/ChromeClient
https://bugs.webkit.org/show_bug.cgi?id=21361

Reviewed by Andreas Kling.

Remove unused header includes.

* platform/ScrollbarThemeComposite.cpp:

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

9 years ago[GTK] Add webkit_uri_request_get_http_headers to WebKit2 GTK+ API
carlosgc@webkit.org [Tue, 23 Apr 2013 15:08:22 +0000 (15:08 +0000)]
[GTK] Add webkit_uri_request_get_http_headers to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=112160

Reviewed by Andreas Kling.

Source/WebCore:

* platform/network/soup/GOwnPtrSoup.cpp:
(WTF::SoupMessageHeaders): Add freeOwnedGPtr implementation for
SoupMessageHeaders.
(WTF):
* platform/network/soup/GOwnPtrSoup.h:
(WTF):
* platform/network/soup/ResourceRequest.h:
(ResourceRequest):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageHeaders): New function
to update the given SoupMessageHeaders with the ResourceRequest
headers.
(WebCore::ResourceRequest::updateFromSoupMessageHeaders): New
function to update the ResourceRequest headers with the given
SoupMessageHeaders.
(WebCore::ResourceRequest::updateSoupMessage): Use
updateSoupMessageHeaders() to update the headers.
(WebCore::ResourceRequest::toSoupMessage): Ditto.
(WebCore::ResourceRequest::updateFromSoupMessage): Use
updateFromSoupMessageHeaders to update the headers.

Source/WebKit2:

It allows to load requests with custom headers, or to update the
headers of a request before being sent to the server in the
WebKitWebPage::send-request callback.

* UIProcess/API/gtk/WebKitURIRequest.cpp:
(_WebKitURIRequestPrivate): Add SoupMessageHeaders.
(webkit_uri_request_get_http_headers): Return the HTTP headers of
the request as a SoupMessageHeaders if the request is HTTP. A new
SoupMessageHeaders is created on demand using the existing headers
of the request.
(webkitURIRequestGetResourceRequest): Instead of returning a const
reference of the internal ResourceRequest, set a request passed as
a reference and update its HTTP headers using the
SoupMessageHeaders if present.
* UIProcess/API/gtk/WebKitURIRequest.h:
* UIProcess/API/gtk/WebKitURIRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_load_request): Update to the new
webkitURIRequestGetResourceRequest API.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
webkit_uri_request_get_http_headers symbol.
* UIProcess/API/gtk/tests/TestLoaderClient.cpp:
(testWebPageURI):
(testURIRequestHTTPHeaders):
(serverCallback):
(beforeAll):
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(willSendRequestForFrame): Update to the new
webkitURIRequestGetResourceRequest API.

Tools:

* MiniBrowser/gtk/GNUmakefile.am: Add missing libsoup flags to
CPPFLAGS.

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

9 years agoClear StyleResolver state before returning from styleForElement().
akling@apple.com [Tue, 23 Apr 2013 14:55:17 +0000 (14:55 +0000)]
Clear StyleResolver state before returning from styleForElement().
<http://webkit.org/b/115035>

Reviewed by Antti Koivisto.

From Blink r148687 by <inferno@chromium.org>.

Source/WebCore:

A cached element pointer in the resolver state was causing confusion because
in some cases a subsequent call to styleForElement() would use a pointer to
a different object that is at the same memory address as the previous one.

Test: fast/css/reload-non-styled-element-crash.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForElement):

LayoutTests:

* fast/css/reload-non-styled-element-crash-expected.txt: Added.
* fast/css/reload-non-styled-element-crash.html: Added.

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

9 years agoXSSAuditor performance regression due to threaded parser changes.
akling@apple.com [Tue, 23 Apr 2013 14:54:29 +0000 (14:54 +0000)]
XSSAuditor performance regression due to threaded parser changes.
<http://webkit.org/b/115037>
<rdar://problem/13716069>

Reviewed by Anders Carlsson.

From Blink r148792 by <abarth@chromium.org>:

The refactoring we did for the threaded parser introduced a performance
regression in innerHTML because we'd boot up the XSSAuditor for fragment
parsing. This CL returns to our earlier behavior of not booting up the
XSSAuditor when parsing fragments.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::initForFragment):
* html/parser/XSSAuditor.h:
(XSSAuditor):

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

9 years ago[WK2] Make EFL WKView API shareable between ports
mikhail.pozdnyakov@intel.com [Tue, 23 Apr 2013 14:45:52 +0000 (14:45 +0000)]
[WK2] Make EFL WKView API shareable between ports
https://bugs.webkit.org/show_bug.cgi?id=114734

Reviewed by Anders Carlsson.

Source/WebKit2:

EFL-independent part of WKView API (and its implementation) is now
shareable between ports that use Coordinated Graphics and put to
CoordinatedGraphics folders.

* PlatformEfl.cmake:
* UIProcess/API/C/CoordinatedGraphics/WKView.cpp: Renamed from Source/WebKit2/UIProcess/API/C/efl/WKView.cpp.
(WKViewCreate):
(WKViewInitialize):
(WKViewGetSize):
(WKViewSetSize):
(WKViewSetViewClient):
(WKViewIsFocused):
(WKViewSetIsFocused):
(WKViewIsVisible):
(WKViewSetIsVisible):
(WKViewGetContentScaleFactor):
(WKViewSetContentScaleFactor):
(WKViewGetContentPosition):
(WKViewSetContentPosition):
(WKViewSetUserViewportTranslation):
(WKViewUserViewportToContents):
(WKViewPaintToCurrentGLContext):
(WKViewGetPage):
(WKViewSetDrawsBackground):
(WKViewGetDrawsBackground):
(WKViewSetDrawsTransparentBackground):
(WKViewGetDrawsTransparentBackground):
(WKViewSetThemePath):
(WKViewSuspendActiveDOMObjectsAndAnimations):
(WKViewResumeActiveDOMObjectsAndAnimations):
(WKViewSetShowsAsSource):
(WKViewGetShowsAsSource):
(WKViewExitFullScreen):
* UIProcess/API/C/CoordinatedGraphics/WKView.h: Renamed from Source/WebKit2/UIProcess/API/C/efl/WKView.h.
* UIProcess/API/C/efl/WKViewEfl.cpp: Added.
(WKViewPaintToCairoSurface):
(WKViewCreateSnapshot):
* UIProcess/API/C/efl/WKViewEfl.h: Added.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/efl/EwkView.h:
* UIProcess/CoordinatedGraphics/WebView.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebView.cpp.
(WebKit):
(WebKit::WebView::WebView):
(WebKit::WebView::~WebView):
(WebKit::WebView::initialize):
(WebKit::WebView::setSize):
(WebKit::WebView::setFocused):
(WebKit::WebView::setVisible):
(WebKit::WebView::setUserViewportTranslation):
(WebKit::WebView::userViewportToContents):
(WebKit::WebView::paintToCurrentGLContext):
(WebKit::WebView::setThemePath):
(WebKit::WebView::setDrawsBackground):
(WebKit::WebView::drawsBackground):
(WebKit::WebView::setDrawsTransparentBackground):
(WebKit::WebView::drawsTransparentBackground):
(WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
(WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
(WebKit::WebView::setShowsAsSource):
(WebKit::WebView::showsAsSource):
(WebKit::WebView::exitFullScreen):
(WebKit::WebView::initializeClient):
(WebKit::WebView::didChangeContentsSize):
(WebKit::WebView::transformFromScene):
(WebKit::WebView::transformToScene):
(WebKit::WebView::coordinatedGraphicsScene):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::dipSize):
(WebKit::WebView::createDrawingAreaProxy):
(WebKit::WebView::setViewNeedsDisplay):
(WebKit::WebView::displayView):
(WebKit::WebView::scrollView):
(WebKit::WebView::viewSize):
(WebKit::WebView::isViewWindowActive):
(WebKit::WebView::isViewFocused):
(WebKit::WebView::isViewVisible):
(WebKit::WebView::isViewInWindow):
(WebKit::WebView::processDidCrash):
(WebKit::WebView::didRelaunchProcess):
(WebKit::WebView::pageClosed):
(WebKit::WebView::toolTipChanged):
(WebKit::WebView::setCursor):
(WebKit::WebView::setCursorHiddenUntilMouseMoves):
(WebKit::WebView::registerEditCommand):
(WebKit::WebView::clearAllEditCommands):
(WebKit::WebView::canUndoRedo):
(WebKit::WebView::executeUndoRedo):
(WebKit::WebView::screenToWindow):
(WebKit::WebView::windowToScreen):
(WebKit::WebView::doneWithKeyEvent):
(WebKit::WebView::doneWithTouchEvent):
(WebKit::WebView::createPopupMenuProxy):
(WebKit::WebView::createContextMenuProxy):
(WebKit::WebView::createColorChooserProxy):
(WebKit::WebView::setFindIndicator):
(WebKit::WebView::enterAcceleratedCompositingMode):
(WebKit::WebView::exitAcceleratedCompositingMode):
(WebKit::WebView::updateAcceleratedCompositingMode):
(WebKit::WebView::didCommitLoadForMainFrame):
(WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
(WebKit::WebView::customRepresentationZoomFactor):
(WebKit::WebView::setCustomRepresentationZoomFactor):
(WebKit::WebView::flashBackingStoreUpdates):
(WebKit::WebView::findStringInCustomRepresentation):
(WebKit::WebView::countStringMatchesInCustomRepresentation):
(WebKit::WebView::updateTextInputState):
(WebKit::WebView::handleDownloadRequest):
(WebKit::WebView::convertToDeviceSpace):
(WebKit::WebView::convertToUserSpace):
(WebKit::WebView::didChangeViewportProperties):
(WebKit::WebView::pageDidRequestScroll):
(WebKit::WebView::didRenderFrame):
(WebKit::WebView::pageTransitionViewportReady):
* UIProcess/CoordinatedGraphics/WebView.h: Renamed from Source/WebKit2/UIProcess/efl/WebView.h.
(WebCore):
(WebKit):
(WebView):
(WebKit::WebView::size):
(WebKit::WebView::isFocused):
(WebKit::WebView::isVisible):
(WebKit::WebView::setContentScaleFactor):
(WebKit::WebView::contentScaleFactor):
(WebKit::WebView::setContentPosition):
(WebKit::WebView::contentPosition):
(WebKit::WebView::pageRef):
(WebKit::WebView::page):
* UIProcess/CoordinatedGraphics/WebViewClient.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebViewClient.cpp.
(WebKit):
(WebKit::WebViewClient::viewNeedsDisplay):
(WebKit::WebViewClient::didChangeContentsSize):
(WebKit::WebViewClient::webProcessCrashed):
(WebKit::WebViewClient::webProcessDidRelaunch):
(WebKit::WebViewClient::didChangeContentsPosition):
(WebKit::WebViewClient::didRenderFrame):
(WebKit::WebViewClient::didCompletePageTransition):
(WebKit::WebViewClient::didChangeViewportAttributes):
(WebKit::WebViewClient::didChangeTooltip):
* UIProcess/CoordinatedGraphics/WebViewClient.h: Renamed from Source/WebKit2/UIProcess/efl/WebViewClient.h.
(WebCore):
(WebKit):
* UIProcess/efl/WebViewEfl.cpp: Added.
(WebKit):
(WebKit::WebView::create):
(WebKit::WebViewEfl::WebViewEfl):
(WebKit::WebViewEfl::setEwkView):
(WebKit::WebViewEfl::paintToCairoSurface):
(WebKit::WebViewEfl::createPopupMenuProxy):
(WebKit::WebViewEfl::createContextMenuProxy):
(WebKit::WebViewEfl::setCursor):
(WebKit::WebViewEfl::updateTextInputState):
(WebKit::WebViewEfl::handleDownloadRequest):
* UIProcess/efl/WebViewEfl.h: Added.
(WebKit):
(WebViewEfl):
(WebKit::WebViewEfl::ewkView):

Tools:

* TestWebKitAPI/PlatformEfl.cmake:
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

    Updated project files accordingly to updated WKView API files
    structure.

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

9 years agoAdd Benjamin Poulain's @apple.com address to his entry. Unreviewed.
akling@apple.com [Tue, 23 Apr 2013 14:23:36 +0000 (14:23 +0000)]
Add Benjamin Poulain's @apple.com address to his entry. Unreviewed.

* Scripts/webkitpy/common/config/contributors.json:

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

9 years agoSpeed up ElementData::getAttributeItem(), which is hot.
akling@apple.com [Tue, 23 Apr 2013 14:21:05 +0000 (14:21 +0000)]
Speed up ElementData::getAttributeItem(), which is hot.
<http://webkit.org/b/115031>

Reviewed by Antti Koivisto.

From Blink r148622 by <cevans@chromium.org>.

The previous version had a couple of issues:
- Incurred new WTF::Vector::operator[] checks.
- Had a branch in _every_ loop iteration that checked whether the storage was Vector or array[] backed.

Both these issues are fixed, and CloneNodes.html seems reliably at +2%.
I also believe GetElement.html is maybe +1%.

For WebKit, also applied the same optimization to getAttributeItemIndex().

* dom/Element.h:
(WebCore::ElementData::attributeBase):
(WebCore::ElementData::getAttributeItemIndex):
(WebCore::ElementData::getAttributeItem):
(WebCore::ElementData::attributeItem):

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

9 years agoBaselines for fast/css/image-rendering.html
allan.jensen@digia.com [Tue, 23 Apr 2013 12:07:57 +0000 (12:07 +0000)]
Baselines for fast/css/image-rendering.html

Unreviewed gardening.

* fast/css/image-rendering-expected.png: Added.
* fast/css/image-rendering-expected.txt: Added.
* platform/gtk-wk1/fast/css/image-rendering-expected.txt: Added.

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

9 years ago[BlackBerry] Need to send out change event for date/color picker
charles.wei@torchmobile.com.cn [Tue, 23 Apr 2013 11:58:19 +0000 (11:58 +0000)]
[BlackBerry] Need to send out change event for date/color picker
https://bugs.webkit.org/show_bug.cgi?id=114942

Reviewed by Carlos Garcia Campos.

We need to instruct the FormControlElements to send out 'change' event
when the user makes the selection and closes the PagePopup for date/color.

* WebCoreSupport/ColorPickerClient.cpp:
(WebCore::ColorPickerClient::setValueAndClosePopup):
* WebCoreSupport/DatePickerClient.cpp:
(WebCore::DatePickerClient::setValueAndClosePopup):

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