[Windows] Updates to WKSI to get external builders working.

* win/include/WebKitSystemInterface/WebKitSystemInterface.h:
* win/lib32/WebKitSystemInterface.lib:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154609 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Disable compression under MSVC for now

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Building is so overrated.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RegExpMatchesArray should not call [[put]]
https://bugs.webkit.org/show_bug.cgi?id=120317

Reviewed by Oliver Hunt.

This will call accessors on the JSObject/JSArray prototypes - so adding an accessor or read-only
property called index or input to either of these prototypes will result in broken behavior.

Source/JavaScriptCore: 

* runtime/RegExpMatchesArray.cpp:
(JSC::RegExpMatchesArray::reifyAllProperties):
    - put -> putDirect

LayoutTests: 

* fast/regex/lastIndex-expected.txt:
* fast/regex/script-tests/lastIndex.js:
    - Added test



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r154581): Some plugin tests failing in debug bots
https://bugs.webkit.org/show_bug.cgi?id=120315

Reviewed by Darin Adler.
        
We are hitting the new no-event-dispatch-while-iterating assertion.

Detaching deletes a plugin which modifies DOM while it dies.

* dom/Document.cpp:
(WebCore::Document::createRenderTree):
(WebCore::Document::detach):
        
    Don't iterate at all. Document never has more than one Element child anyway.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/106133> document.body.scrollTop & document.documentElement.scrollTop differ cross-browser

Patch by Gurpreet Kaur <gur.trio@gmail.com> on 2013-08-26
Reviewed by Darin Adler.

Source/WebCore:

Webkit always uses document.body.scrollTop whether quirks or
standard mode. Similiar behaviour is for document.body.scrollLeft.
As per the specification webkit should return document.body.scrollTop
for quirks mode and document.documentElement.scrollTop for standard mode.
Same for document.body.scrollLeft and document.documentElement.scrollLeft.

Tests: fast/dom/Element/scrollLeft-Quirks.html
       fast/dom/Element/scrollLeft.html
       fast/dom/Element/scrollTop-Quirks.html
       fast/dom/Element/scrollTop.html

* dom/Element.cpp:
(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
If the element does not have any associated CSS layout box or the element
is the root element and the Document is in quirks mode return zero.
Else If the element is the root element return the value of scrollY
for scrollTop and scrollX for scrollLeft.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
If the element is the HTML body element, the Document is in quirks mode,
return the value of scrollY for scrollTop and scrollX for scrollLeft.

LayoutTests:

* fast/dom/Element/scrollLeft-Quirks-expected.txt: Added.
* fast/dom/Element/scrollLeft-Quirks.html: Added.
* fast/dom/Element/scrollLeft-expected.txt: Added.
* fast/dom/Element/scrollLeft.html: Added.
* fast/dom/Element/scrollTop-Quirks-expected.txt: Added.
* fast/dom/Element/scrollTop-Quirks.html: Added.
* fast/dom/Element/scrollTop-expected.txt: Added.
* fast/dom/Element/scrollTop.html: Added.
Added new tests for verifying our behavior for document.body.scrollTop/scrollLeft and
document.documentElement.scrollTop/scrollLeft for both Quirks as well as Standard mode.

* fast/css/zoom-body-scroll-expected.txt:
* fast/css/zoom-body-scroll.html:
* fast/events/mouse-cursor.html:
* http/tests/navigation/anchor-frames-expected.txt:
* http/tests/navigation/anchor-frames-gbk-expected.txt:
* http/tests/navigation/resources/frame-with-anchor-gbk.html:
* http/tests/navigation/resources/frame-with-anchor-same-origin.html:
* http/tests/navigation/resources/frame-with-anchor.html:
* platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html:
* platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:
* platform/win/fast/css/zoom-body-scroll-expected.txt:
Rebaselining existing tests as per the new behavior. The test cases are changed to use
quirks mode because it uses document.body.scrollTop/scrollLeft and as per the new code
document.body.scrollTop/scrollLeft will return correct value if document is in quirk mode
Also test cases have been modified so that it tests what it used to.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Unreviewed build fix.

* rendering/RenderMediaControls.cpp: Remove references to QuickTime controls
that are no longer part of WKSI.
(wkHitTestMediaUIPart): 
(wkMeasureMediaUIPart):
(wkDrawMediaUIPart):
(wkDrawMediaSliderTrack):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore: Let Page create the main Frame.
<https://webkit.org/b/119964>

Source/WebCore:

Reviewed by Anders Carlsson.

Previously, Frame::create() would call Page::setMainFrame() when constructing the
main Frame for a Page. Up until that point, Page had a null mainFrame().

To guarantee that Page::mainFrame() is never null, we re-order things so that
Page is responsible for creating its own main Frame. We do this at the earliest
possible point; in the Page constructor initializer list.

Constructing a Frame requires a FrameLoaderClient*, so I've added such a field to
the PageClients struct.

When creating a WebKit-layer frame, we now wrap the already-instantiated
Page::mainFrame() instead of creating a new Frame.

* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):

    Add an EmptyFrameLoaderClient to the PageClients constructed here.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):

    Updated to wrap Page::mainFrame() in a FrameView instead of creating their
    own Frame manually.

* page/Frame.cpp:
(WebCore::Frame::create):
* page/Page.h:

    Remove Page::setMainFrame() and the only call site.

* page/Page.cpp:
(WebCore::Page::Page):

    Construct Page::m_mainFrame in the initializer list.

(WebCore::Page::PageClients::PageClients):

    Add "FrameLoaderClient* loaderClientForMainFrame" to PageClients.

(WebCore::Page::setNeedsRecalcStyleInAllFrames):

    Null-check the Frame::document() before calling through on it. This would
    otherwise crash when changing font-related Settings before calling init() on
    the Frame (like InspectorOverlay does.)

Source/WebKit/gtk:

Tweak WebKit1/GTK for changes in WebCore.

Patch by Zan Dobersek <zdobersek@igalia.com>
Reviewed by Gustavo Noronha Silva.

* WebCoreSupport/FrameLoaderClientGtk.h:
(WebKit::FrameLoaderClient::setWebFrame):
* webkit/webkitwebframe.cpp:
(webkit_web_frame_new):
* webkit/webkitwebview.cpp:
(webkit_web_view_init):

Source/WebKit/mac:

Reviewed by Anders Carlsson.

* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::setWebFrame):

    Make it possible to construct a WebFrameLoaderClient with a null WebFrame*.
    A WebFrame* is later hooked up with a call to setWebFrame().

* WebView/WebFrame.mm:
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):

    Customized this method to wrap the Page::mainFrame() instead of creating a
    new Frame.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

    Add a WebFrameLoaderClient to the PageClients passed to Page().

Source/WebKit2:

Reviewed by Anders Carlsson.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::WebFrameLoaderClient):

    This starts out with a null WebFrame* pointer now.

(WebKit::WebFrameLoaderClient::setWebFrame):

    WebFrame hooks itself up through this as soon as it's constructed.

(WebKit::WebFrameLoaderClient::frameLoaderDestroyed):

    Tweak an out-of-date comment. The ref() we're balancing out comes from
    WebFrame::create().

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createWithCoreMainFrame):

    Rewrote createMainFrame() as createWithCoreMainFrame(). The new method wraps
    an existing WebCore::Frame instead of creating a new one.

(WebKit::WebFrame::createSubframe):

    Merged WebFrame::init() into here since the logic isn't shared with main
    Frame creation anymore.

(WebKit::WebFrame::create):
(WebKit::WebFrame::WebFrame):

    Call WebFrameLoaderClient::setWebFrame(this).

* WebProcess/WebPage/WebFrame.h:

    WebFrame::m_frameLoaderClient is now an OwnPtr rather than an inline member.
    This way it can be created before the WebFrame.

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

    Set up a WebFrameLoaderClient and pass it to the Page constructor along with
    the other PageClients.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PageGroup::groupSettings() should return a reference
https://bugs.webkit.org/show_bug.cgi?id=120319

Reviewed by Andreas Kling.

PageGroup::m_groupSettings is never NULL so we can just return a reference from groupSettings().

Source/WebCore:

* Modules/indexeddb/IDBFactory.cpp:
* page/PageGroup.h:
(WebCore::PageGroup::groupSettings):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::localStorageNamespace):
* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerProxy::groupSettings):
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):

Source/WebKit/blackberry:

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

Source/WebKit/gtk:

* webkit/webkitwebdatabase.cpp:
(webkit_set_web_database_directory_path):

Source/WebKit2:

* WebProcess/Storage/StorageNamespaceImpl.cpp:
(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed buid fix.

* page/Page.cpp: 
(WebCore::Page::setNeedsRecalcStyleInAllFrames): Remove extra '{' character.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix.

Source/WebCore:

* page/Page.cpp:
(WebCore::Page::setNeedsRecalcStyleInAllFrames):

Source/WebKit/mac:

* WebView/WebFrame.mm:
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):

Source/WebKit2:

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createWithCoreMainFrame):
(WebKit::WebFrame::createSubframe):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid painting every non-edge collapsed border twice over
https://bugs.webkit.org/show_bug.cgi?id=119759

Reviewed by David Hyatt.

Source/WebCore:

Every collapsed border that isn't on the edge of a table gets painted at least twice, once by each
adjacent cell. The joins are painted four times. This is unnecessary and results in tables with semi-transparent
borders getting rendered incorrectly - each border adjoing two cells is painted twice and ends up darker than it should be.

Fixing the overpainting at joins is another day's work. This patch ensures each collapsed border inside a table is only
painted once. It does this by only allowing cells at the top and left edge of the table to paint their top and left collapsed borders.
All the others can only paint their right and bottom collapsed border. This works because the borders are painted from bottom right to top left.

Tests: fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl.html
       fast/table/border-collapsing/collapsed-borders-adjoining-sections.html

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paintCollapsedBorders):

LayoutTests:

* fast/table/border-collapsing/collapsed-borders-adjoining-sections-expected.html: Added.
* fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.png: Added.
* fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl-expected.txt: Added.
    The painting here, though still wrong, is a progression on the behaviour prior to bug 11759 where
    the left border was painted twice. The painting can be resolved completely when we no longer paint
    twice at the border joins.
* fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl.html: Added.
* fast/table/border-collapsing/collapsed-borders-adjoining-sections.html: Added.
* fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.png: Added.
* fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells-expected.txt: Added.
* fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prettify generated build guards in HTMLElementFactory.cpp
https://bugs.webkit.org/show_bug.cgi?id=120310

Reviewed by Darin Adler.

Build guards should wrap the constructor definitions without empty lines between
the guards and the constructor code. Similarly, build guards for addTag calls
shouldn't put an empty line after the build guard closure.

* dom/make_names.pl:
(printConstructorInterior):
(printConstructors):
(printFunctionInits):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Undefine __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS before redefining them
https://bugs.webkit.org/show_bug.cgi?id=120313

Reviewed by Darin Adler.

* wtf/LLVMHeaders.h: Undefine the two macros before they are defined again.
This way we avoid the compilation-time warnings about the macros being invalidly redefined.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Plenty of -Wcast-align warnings in KeywordLookup.h
https://bugs.webkit.org/show_bug.cgi?id=120316

Reviewed by Darin Adler.

* KeywordLookupGenerator.py: Use reinterpret_cast instead of a C-style cast when casting
the character pointers to types of larger size. This avoids spewing lots of warnings
in the KeywordLookup.h header when compiling with the -Wcast-align option.


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