2011-04-11  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Benjamin Poulain.

        [Qt] Private Q_SLOTS void orientationChanged() can't be in qwebframe.h public header file.
        https://bugs.webkit.org/show_bug.cgi?id=58251

        Qt coding conventions states that private slots should be located in private implementation of
        the class. This allows us to rename/delete the slots in the future without breaking anything.

        No new tests added, just a simple refactoring.

        * Api/qwebframe.cpp:
        (QWebFramePrivate::_q_orientationChanged):
        * Api/qwebframe.h:
        * Api/qwebframe_p.h:

git-svn-id: svn://svn.chromium.org/blink/trunk@83512 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Remove m_urlAtProcessExit from WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=58275

        Get rid of m_urlAtProcessExit and replace some zeros with nullptrs.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::processDidCrash):
        * UIProcess/WebPageProxy.h:


git-svn-id: svn://svn.chromium.org/blink/trunk@83513 bbb929c8-8fbe-4397-9dbb-9b2b20218538
https://bugs.webkit.org/show_bug.cgi?id=58261

Reviewed by Dan Bernstein.

Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over
to the new overflow model, I messed up the math and passed a bottom value where I should have
passed a height value. This patch fixes the code to be logically equivalent to the way it
was prior to my changes.

Source/WebCore: 

Added fast/overflow/trailing-float-linebox.html.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):

LayoutTests: 

* fast/overflow/trailing-float-linebox.html: Added.
* platform/mac/fast/overflow/trailing-float-linebox-expected.checksum: Added.
* platform/mac/fast/overflow/trailing-float-linebox-expected.png: Added.
* platform/mac/fast/overflow/trailing-float-linebox-expected.txt: Added.



git-svn-id: svn://svn.chromium.org/blink/trunk@83514 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Eric Seidel.

        InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed
        https://bugs.webkit.org/show_bug.cgi?id=57178

        Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore.
        No new tests needed because this is cleanup only.

        * rendering/InlineBox.cpp:
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::setPrevOnLine):

git-svn-id: svn://svn.chromium.org/blink/trunk@83515 bbb929c8-8fbe-4397-9dbb-9b2b20218538
        Reviewed by Dan Bernstein.

        REGRESSION (r83081): Esc key no longer removes current Kotoeri text operation
        https://bugs.webkit.org/show_bug.cgi?id=58274
        <rdar://problem/9263683>

        * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getMarkedRange): Wrap the returned
        temporary in RefPtr.



git-svn-id: svn://svn.chromium.org/blink/trunk@83516 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Bug 58263 - Use EncodedValueDescriptor on both JSVALUE32_64, JSVALUE64

Reviewed by Sam Weinig.

The JSJITInterface already uses EncodedValueDescriptor to access the tag/payload
separately on JSVALUE64, even though EncodedValueDescriptor is not used in
JSVALUE64's implementation of JSValue. Remove the separate definition for m_ptr
on X86_64. Using the union allows us to remove a layer of makeImmediate()/
immedaiteValue() methods.

* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITInlineMethods.h:
(JSC::JIT::emitTagAsBoolImmediate):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_not):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_get_pnames):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
(JSC::JIT::emitSlow_op_not):
* runtime/JSCell.h:
* runtime/JSValue.h:
* runtime/JSValueInlineMethods.h:
(JSC::JSValue::encode):
(JSC::JSValue::decode):
(JSC::JSValue::operator==):
(JSC::JSValue::operator!=):
(JSC::JSValue::JSValue):
(JSC::JSValue::operator bool):
(JSC::JSValue::asInt32):
(JSC::JSValue::isUndefinedOrNull):
(JSC::JSValue::isBoolean):
(JSC::JSValue::isCell):
(JSC::JSValue::isInt32):
(JSC::JSValue::asDouble):
(JSC::JSValue::isNumber):
(JSC::JSValue::asCell):



git-svn-id: svn://svn.chromium.org/blink/trunk@83517 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        iframe/compositing propagation should also work for <object> and framesets
        https://bugs.webkit.org/show_bug.cgi?id=39037

        Added pixel tests to for composited framesets and objects.

        * compositing/framesets: Added.
        * compositing/framesets/composited-frame-alignment.html: Added.
        * compositing/framesets/composited-frame-alignment-expected.checksum: Added.
        * compositing/framesets/composited-frame-alignment-expected.png: Added.
        * compositing/framesets/composited-frame-alignment-expected.txt: Added.
        * compositing/framesets/resources: Added.
        * compositing/framesets/resources/composited-subframe.html: Added.
        * compositing/objects: Added.
        * compositing/objects/composited-object-alignment.html: Added.
        * compositing/objects/composited-object-alignment-expected.checksum: Added.
        * compositing/objects/composited-object-alignment-expected.png: Added.
        * compositing/objects/composited-object-alignment-expected.txt: Added.
        * compositing/objects/resources: Added.
        * compositing/objects/resources/composited-subframe.html: Added.
2011-04-11  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        iframe/compositing propagation should also work for <object> and framesets
        https://bugs.webkit.org/show_bug.cgi?id=39037

        Generalized the code that handles the parenting of composited <iframe> elements
        to include <frame> and <object> elements. This includes forcing the parent
        element to be composited and constructing the layer tree in the child document
        and properly parenting it. Much of the change is giving the function calls more
        generic names (from ...IFrame... to ...Frame...)
        
        Compositing tests that were done in RenderIFrame have been moved to RenderPart
        since this is the highest base class common to all 3 elements.
        
        I also renamed several ...IFrame... functions to
        ...Frame... and changed them so they work on a RenderPart for determining
        if the renderer is composited. One other detail is that <iframe> and 
        <object> never share style since they might be composited. I had to add
        <frame> to that list.

        Tests: compositing/framesets/composited-frame-alignment.html
               compositing/objects/composited-object-alignment.html

        * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited.
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        * page/FrameView.cpp:
        (WebCore::FrameView::hasCompositedContentIncludingDescendants):
        (WebCore::FrameView::setIsOverlapped):
        * rendering/RenderIFrame.cpp: Moved methods to RenderPart
        * rendering/RenderIFrame.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterWidgetResize):
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        (WebCore::RenderLayerBacking::paintingGoesToWindow):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::frameContentsCompositor):
        (WebCore::RenderLayerCompositor::parentFrameContentLayers):
        (WebCore::RenderLayerCompositor::didMoveOnscreen):
        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
        (WebCore::RenderLayerCompositor::enclosingFrameElement):
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
        (WebCore::RenderLayerCompositor::requiresScrollLayer):
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderPart.cpp: Functions moved from RenderIFrame
        (WebCore::RenderPart::requiresLayer):
        (WebCore::RenderPart::requiresAcceleratedCompositing):
        * rendering/RenderPart.h:


git-svn-id: svn://svn.chromium.org/blink/trunk@83518 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Try to fix the Windows build.

* UIProcess/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):



git-svn-id: svn://svn.chromium.org/blink/trunk@83519 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Geoffrey Garen  <ggaren@apple.com>

        Try to fix a few builds.
        
        Updated a few more build configurations for file moves.

        * CMakeListsWinCE.txt:



git-svn-id: svn://svn.chromium.org/blink/trunk@83520 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Dan Bernstein.

        [CG] drawImage with a subimage bleeds pixel data at borders
        https://bugs.webkit.org/show_bug.cgi?id=58267

        Test: fast/canvas/DrawImageSinglePixelStretch.html

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now.
2011-04-11  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Dan Bernstein.

        [CG] drawImage with a subimage bleeds pixel data at borders
        https://bugs.webkit.org/show_bug.cgi?id=58267

        * fast/canvas/DrawImageSinglePixelStretch.html: Added test case.
        * fast/canvas/resources/orangePixels.gif: Added.


git-svn-id: svn://svn.chromium.org/blink/trunk@83521 bbb929c8-8fbe-4397-9dbb-9b2b20218538
        Reviewed by Maciej Stachowiak.

        WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
        https://bugs.webkit.org/show_bug.cgi?id=58265
        <rdar://problem/9221468>

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::keyEvent): Added a comment explaining that doing work after DOM event
        dispatch isn't great.
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::performNonEditingBehaviorForSelector): Added a comment explaining how this
        might be moved down to WebCore.
        (WebKit::WebPage::performDefaultBehaviorForKeyEvent): This is now empty, since both Space
        and Backspace behaviors are implemented in WebCore.



git-svn-id: svn://svn.chromium.org/blink/trunk@83522 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add radar numbers to two ChangeLog entries. (Rubber-stamped by Brian Weinstein).

git-svn-id: svn://svn.chromium.org/blink/trunk@83525 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Ben Taylor  <bentaylor.solx86@gmail.com>

        Reviewed by David Levin.

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

        Better compile fix for Solaris 10/Sun Studio 12 CC
        needing <sys/time.h>

        * loader/icon/IconRecord.h:
        * page/Page.h:
        * platform/network/ResourceResponseBase.h:

git-svn-id: svn://svn.chromium.org/blink/trunk@83526 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * configure.ac:
2011-04-11  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define
        https://bugs.webkit.org/show_bug.cgi?id=53556


        * Configurations/FeatureDefines.xcconfig:
2011-04-11  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * WebKit.xcodeproj/project.pbxproj:
2011-04-11  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
        https://bugs.webkit.org/show_bug.cgi?id=53556

        No new tests. No real functionality added just yet.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:
        * html/HTMLAttributeNames.in:
        * html/HTMLTagNames.in:
        * html/HTMLTrackElement.cpp: Added.
        (WebCore::HTMLTrackElement::HTMLTrackElement):
        (WebCore::HTMLTrackElement::create):
        (WebCore::HTMLTrackElement::insertedIntoTree):
        (WebCore::HTMLTrackElement::willRemove):
        (WebCore::HTMLTrackElement::src):
        (WebCore::HTMLTrackElement::setSrc):
        (WebCore::HTMLTrackElement::kind):
        (WebCore::HTMLTrackElement::setKind):
        (WebCore::HTMLTrackElement::srclang):
        (WebCore::HTMLTrackElement::setSrclang):
        (WebCore::HTMLTrackElement::label):
        (WebCore::HTMLTrackElement::setLabel):
        (WebCore::HTMLTrackElement::isDefault):
        (WebCore::HTMLTrackElement::setIsDefault):
        (WebCore::HTMLTrackElement::isURLAttribute):
        * html/HTMLTrackElement.h: Added.
        * html/HTMLTrackElement.idl: Added.


git-svn-id: svn://svn.chromium.org/blink/trunk@83527 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Stephen White  <senorblanco@chromium.org>

        Unreviewed; new chromium baselines.

        New chromium-mac-leopard baseline images for tests affected by r83490.

        * platform/chromium-mac-leopard/svg/custom/foreign-object-skew-expected.png:
        * platform/chromium-mac-leopard/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.checksum: Removed.
        * platform/chromium-mac-leopard/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
        * platform/chromium-mac-leopard/svg/zoom/page/zoom-foreignObject-expected.checksum: Removed.
        * platform/chromium-mac-leopard/svg/zoom/page/zoom-foreignObject-expected.png: Removed.


git-svn-id: svn://svn.chromium.org/blink/trunk@83528 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix the build.

* JavaScriptCore.xcodeproj/project.pbxproj: Headers used outside of JavaScriptCore need to be marked as private.

git-svn-id: svn://svn.chromium.org/blink/trunk@83529 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-02-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] The GTK+ DRT needs an implementation of the PlainTextController
        https://bugs.webkit.org/show_bug.cgi?id=53605

        * platform/gtk/Skipped: Unskipped test which is now passing.
2011-02-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] The GTK+ DRT needs an implementation of the PlainTextController
        https://bugs.webkit.org/show_bug.cgi?id=53605

        Added jsValueToDOMRange to DumpRenderTreeSupportGtk. This static method can convert
        a JSValueRef to a WebKitDOMRange. When it's possible to do this with the public
        API, we can remove this method.

        * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
        (DumpRenderTreeSupportGtk::jsValueToDOMRange): Added.
        * WebCoreSupport/DumpRenderTreeSupportGtk.h: Added declaration.
2011-02-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] The GTK+ DRT needs an implementation of the PlainTextController
        https://bugs.webkit.org/show_bug.cgi?id=53605

        Add an implementation of the PlainTextController for the GTK+ DRT.

        * DumpRenderTree/gtk/DumpRenderTree.cpp:
        (addControllerToWindow): Added this helper method.
        (webViewWindowObjectCleared): Use the new helper to add EventSender
        and the PlainTextController to the window object.
        * GNUmakefile.am: Added PlainTextController source files.
        * DumpRenderTree/gtk/PlainTextController.cpp: Added. This will rely
        on DumpRenderTreeSupportGtk to convert a JSValueRef into a WebKitDOMRange
        until that functionality exists somewhere in the WebKitGTK+ stack.
        * DumpRenderTree/gtk/PlainTextController.h: Added.

git-svn-id: svn://svn.chromium.org/blink/trunk@83530 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Move focus management out of WebKit via  the UIClient
        <rdar://problem/8784068>
        https://bugs.webkit.org/show_bug.cgi?id=58278

        * MiniBrowser/mac/BrowserWindowController.m:
        (-[BrowserWindowController awakeFromNib]):
        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::createOtherPage):
        (WTR::TestController::initialize):
        Add stubs for new UIClient functions.
2011-04-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Move focus management out of WebKit via  the UIClient
        <rdar://problem/8784068>
        https://bugs.webkit.org/show_bug.cgi?id=58278

        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        * UIProcess/API/qt/qwkpage.cpp:
        (QWKPage::QWKPage):
        * UIProcess/API/qt/qwkpage_p.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setFocus):
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::focus):
        (WebKit::WebUIClient::unfocus):
        * UIProcess/WebUIClient.h:
        * UIProcess/gtk/WebView.cpp:
        * UIProcess/gtk/WebView.h:
        * UIProcess/win/WebView.h:
        Remove PageClient::setFocus() in favor of WebUIClient::focus and WebUIClient::unfocus. 


git-svn-id: svn://svn.chromium.org/blink/trunk@83531 bbb929c8-8fbe-4397-9dbb-9b2b20218538
2011-04-11  Chris Marrin  <cmarrin@apple.com>

        Rubberstamped by Dan Bernstein.

        xhr.responseType = 'arraybuffer' works on Mac but not on Windows
        https://bugs.webkit.org/show_bug.cgi?id=50334

        Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends
        are always turned on now, so there's not need for the guard. I reenabled the
        test that was Skipped on Windows and it works now.

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::markChildren):
        (WebCore::JSXMLHttpRequest::send):
        (WebCore::JSXMLHttpRequest::response):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseArrayBuffer):
        (WebCore::XMLHttpRequest::setResponseType):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::clearResponseBuffers):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:
        (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):



git-svn-id: svn://svn.chromium.org/blink/trunk@83532 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix Windows build.

* MiniBrowser/win/BrowserView.cpp:
(BrowserView::create):



git-svn-id: svn://svn.chromium.org/blink/trunk@83533 bbb929c8-8fbe-4397-9dbb-9b2b20218538