Remove use of JSCell::classInfoOffset() from virtualForThunkGenerator
https://bugs.webkit.org/show_bug.cgi?id=95821

Reviewed by Oliver Hunt.

We can replace the load of the ClassInfo from the object with a load from the Structure.

* dfg/DFGThunks.cpp:
(JSC::DFG::virtualForThunkGenerator):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Slider progress bar goes crazy with negative ranges
https://bugs.webkit.org/show_bug.cgi?id=95753

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-09-05
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Now the calculation of what the current value represents in terms
of progress (from 0 to 1) is correctly done.

Test: fast/forms/range/input-range-progress-indicator.html

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::paintThemePart):

LayoutTests:

Added ref test to check if rendering results of sliders using
negative value ranges are coherent.

* fast/forms/range/input-range-progress-indicator-expected.html: Added.
* fast/forms/range/input-range-progress-indicator.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Rotation and then reload causes less sized webpage (PR 190469)
https://bugs.webkit.org/show_bug.cgi?id=95870

Reviewed by George Staikos.
Reviewed internally by Jacky Jiang.

Use the new zoom to fit scale if the page was zoomed to fit initial scale
When a page is reloaded the layout size may be changed. So the contents
size on which the initial scale depends may be changed. Use the new initial
scale in this case to make sure the page will be zoomed to correct scale.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns
https://bugs.webkit.org/show_bug.cgi?id=95876

Reviewed by Tony Chang.

This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by
path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r127629.
http://trac.webkit.org/changeset/127629
https://bugs.webkit.org/show_bug.cgi?id=95876

Broke build

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns
https://bugs.webkit.org/show_bug.cgi?id=95876

Reviewed by Tony Chang.

This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by
path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
More fixes for String::operator+=() on Mac
https://bugs.webkit.org/show_bug.cgi?id=95880

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-05
Reviewed by Adam Barth.

Source/WebCore: 

Followup for r127574, I forgot some use of strings.

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getShorthandValue): Use String builder to construct the shorthand.

Source/WebKit/mac: 

* WebView/WebRenderLayer.mm:
(+[WebRenderLayer nameForLayer:]): Use StringBuilder to concatenate the class names
efficiently.
* WebView/WebView.mm:
(+[WebView _decodeData:]): This is a legitimate use of String::append(), there
is no other concatenation done on that string.

Source/WebKit2: 

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::createInspectorPage): This is a legitimate use of append(),
there is no other concatenation outside that branch.
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::parseRFC822HeaderFields): Use string operators instead of +=.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::userAgent): Another legitimate use of append().


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ignore-metrics includes scroll offsets.
https://bugs.webkit.org/show_bug.cgi?id=95845

Reviewed by Dirk Pranke.

Strip scroll-offsets the same way scroll-height and scroll-width is stripped.

* Scripts/old-run-webkit-tests:
(stripMetrics):
* Scripts/webkitpy/layout_tests/port/driver.py:
(DriverOutput):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactored callee access in the DFG to support it in the general case
https://bugs.webkit.org/show_bug.cgi?id=95887

Reviewed by Phil Pizlo and Gavin Barraclough.

To support named function expressions, the DFG needs to understand the
callee register being used in arbitrary expressions, and not just
create_this.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getDirect): 
(JSC::DFG::ByteCodeParser::getCallee): Remap access to the callee register
into a GetCallee node. Otherwise, we get confused and think we have a
negatively indexed argument.

(ByteCodeParser):
(JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand): Inlining also
needs to remap, but to the callee in the inline frame, and not the caller's
callee.

(JSC::DFG::ByteCodeParser::parseBlock): Since we support the callee in
the general case now, there's no need to handle it in a special way for
create_this.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] JavaScriptVariant can crash when operator= is called with itself
https://bugs.webkit.org/show_bug.cgi?id=95859

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-09-05
Reviewed by George Staikos.

* Api/JavaScriptVariant.cpp:
(BlackBerry::WebKit::JavaScriptVariant::operator=):
When JavaScriptVariant contains a string and operator= is
called with itself the memory will be free'd in 'this' and
then a copy will be attempted from 'that' resulting in a crash.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Added expected results for this test from r127620 for the Mac port, which does not have
OVERFLOW_SCROLLING enabled at this time.

* platform/mac/compositing/overflow/overflow-with-touch-toggle-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Some flaky http/tests/security tests on Windows. Adding to skip list.
https://bugs.webkit.org/show_bug.cgi?id=95803

* platform/win/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Throw exceptions when assigning to const in strict mode
https://bugs.webkit.org/show_bug.cgi?id=95894

Reviewed by Oliver Hunt.

Currently, this never happens; but it will start happening once the
callee is a local const register. In this patch, there's no change in
behavior.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded): Helper function
for doing the throwing.
* bytecompiler/BytecodeGenerator.h:

* bytecompiler/NodesCodegen.cpp:
(JSC::PostfixResolveNode::emitBytecode):
(JSC::PrefixResolveNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode): Call the helper function.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove use of JSCell::classInfoOffset() from tryCacheGetByID
https://bugs.webkit.org/show_bug.cgi?id=95860

Reviewed by Oliver Hunt.

We should just do the indirection through the Structure instead.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCacheGetByID):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make RenderStyle::colorIncludingFallback use private getters
https://bugs.webkit.org/show_bug.cgi?id=95863

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-09-05
Reviewed by Eric Seidel.

For readibility and maintanability reasons, it is better to use getters for
visited* color variables than accessing them directly.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::colorIncludingFallback):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Optimize BackingStorePrivate::isCurrentVisibleJob
https://bugs.webkit.org/show_bug.cgi?id=95897

Reviewed by Antonio Gomes.

Bail out the loop early if one of the not-rendered rectangle is
not current regular render job.

No behavior change, just code optimization.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r127635.
http://trac.webkit.org/changeset/127635
https://bugs.webkit.org/show_bug.cgi?id=95905

breaks chromium win and mac build (Requested by bashi1 on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-05

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge prefix/postfix nodes
https://bugs.webkit.org/show_bug.cgi?id=95898

Reviewed by Geoff Garen.

Simplify the AST.
This will also mean we have access to m_subscriptHasAssignments when generating a prefix/postfix op applied to a bracket access.

* bytecompiler/NodesCodegen.cpp:
(JSC::PostfixNode::emitResolve):
    - was PostfixResolveNode::emitBytecode
(JSC::PostfixNode::emitBracket):
    - was PostfixBracketNode::emitBytecode
(JSC::PostfixNode::emitDot):
    - was PostfixDotNode::emitBytecode
(JSC::PostfixNode::emitBytecode):
    - was PostfixErrorNode::emitBytecode, call resolve/bracket/dot version as appropriate.
(JSC::PrefixNode::emitResolve):
    - was PrefixResolveNode::emitBytecode
(JSC::PrefixNode::emitBracket):
    - was PrefixBracketNode::emitBytecode
(JSC::PrefixNode::emitDot):
    - was PrefixDotNode::emitBytecode
(JSC::PrefixNode::emitBytecode):
    - was PrefixErrorNode::emitBytecode, call resolve/bracket/dot version as appropriate.
* parser/ASTBuilder.h:
(JSC::ASTBuilder::makePrefixNode):
    - Just makes a PrefixNode!
(JSC::ASTBuilder::makePostfixNode):
    - Just makes a PostfixNode!
* parser/NodeConstructors.h:
(JSC::PostfixNode::PostfixNode):
    - Added, merge of PostfixResolveNode/PostfixBracketNode/PostfixDotNode/PostfixErrorNode.
(JSC::PrefixNode::PrefixNode):
    - Added, merge of PrefixResolveNode/PrefixBracketNode/PrefixDotNode/PrefixErrorNode.
* parser/Nodes.h:
(PostfixNode):
    - Added, merge of PostfixResolveNode/PostfixBracketNode/PostfixDotNode/PostfixErrorNode.
(PrefixNode):
    - Added, merge of PrefixResolveNode/PrefixBracketNode/PrefixDotNode/PrefixErrorNode.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Provide implementation for WebProcess functions
https://bugs.webkit.org/show_bug.cgi?id=95857

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-05
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Add implementation for getVolumeFreeSizeForPath()
in FileSystem which is required by soup-related
code in WebKit2.

No new tests, no behavior change.

* platform/FileSystem.h:
(WebCore):
* platform/efl/FileSystemEfl.cpp:
(WebCore::getVolumeFreeSizeForPath):
(WebCore):

Source/WebKit2:

Rename WebProcessGtk to WebProcessSoup and reuse it in
EFL port since all the code is soup-related. We now
have a proper implementation for the WebProcess
platform methods.

* GNUmakefile.list.am:
* PlatformEfl.cmake:
* WebProcess/efl/WebProcessEfl.cpp: Removed.
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl): Enable soup cache for the soup session similarly to GTK port.
* WebProcess/soup/WebProcessSoup.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp.
(WebKit):
(WebKit::getCacheDiskFreeSize):
(WebKit::getMemorySize):
(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::buildAcceptLanguages):
(WebKit::setSoupSessionAcceptLanguage):
(WebKit::languageChanged):
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformTerminate):

LayoutTests:

Unskip several test cases that are now passing on
WK2 EFL since WebProcess platform functions have been
implemented.

* platform/efl-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed, build fix attempt on win

r127612 breaks chromium win build.

* WebCore.gypi:
* platform/mediastream/RTCPeerConnectionHandler.cpp:
(WebCore::RTCPeerConnectionHandler::RTCPeerConnectionHandler):
(WebCore):
(WebCore::RTCPeerConnectionHandler::~RTCPeerConnectionHandler):
* platform/mediastream/RTCPeerConnectionHandler.h:
(RTCPeerConnectionHandler):

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