Unreviewed.  Nit: git config files use tabs, not spaces.

* EWSTools/cold-boot.sh:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Navigation Timing] Import the W3C Navigation Timing test suite
https://bugs.webkit.org/show_bug.cgi?id=84887

Patch by James Simonsen <simonjam@chromium.org> on 2012-07-12
Reviewed by Tony Gentilcore.

Tools:

* Scripts/import-w3c-performance-wg-tests: Added.

LayoutTests:

* http/tests/resources/testharness.css: Added.
* http/tests/resources/testharness.js: Copied from LayoutTests/resources/testharness.js.
* http/tests/resources/testharnessreport.js: Copied from LayoutTests/resources/testharnessreport.js.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_open-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_open.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_readiness_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_document_readiness_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigate_within_document-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigate_within_document.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_redirectCount_none-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_redirectCount_none.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_backforward-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_backforward.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_enums-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_enums.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_reload-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_navigation_type_reload.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_no_previous_document-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_no_previous_document.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_performance_attributes_exist_in_object.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_readwrite-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_readwrite.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_order-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_attributes_order.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_client_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_client_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_reload-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_reload.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_server_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_server_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_unique_performance_objects-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html/test_unique_performance_objects.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_open-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_open.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_readiness_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_document_readiness_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigate_within_document-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigate_within_document.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_redirectCount_none-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_redirectCount_none.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_backforward-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_backforward.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_enums-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_enums.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_reload-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_navigation_type_reload.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_no_previous_document-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_no_previous_document.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist_in_object-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_performance_attributes_exist_in_object.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_readwrite-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_readwrite.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_exist-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_exist.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_order-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_attributes_order.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_client_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_client_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_reload-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_reload.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_server_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_server_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_xserver_redirect-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_timing_xserver_redirect.html: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_unique_performance_objects-expected.txt: Added.
* http/tests/w3c/webperf/approved/navigation-timing/html5/test_unique_performance_objects.html: Added.
* http/tests/w3c/webperf/resources/blank_page_green.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_green_with_onunload.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_meta_redirect.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_unload.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_yellow.htm: Added.
* http/tests/w3c/webperf/resources/blank_page_yellow_with_onunload.htm: Added.
* http/tests/w3c/webperf/resources/pagevistestharness.js: Added.
* http/tests/w3c/webperf/resources/redirect.php: Added.
* http/tests/w3c/webperf/resources/webperftestharness.js: Added.
* platform/mac/Skipped: Skip new webperf tests.
* platform/win/Skipped: Ditto.
* platform/wincairo/Skipped: Ditto.
* resources/testharness.css: Added.
* resources/testharnessreport.js: Support async tests.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Root invalidations for RTL pages need to be in the right space
https://bugs.webkit.org/show_bug.cgi?id=91155

Reviewed by Kenneth Russell.

Source/WebKit/chromium:

The root layer has a translation on it when placed in the tree, so any
invalidations on this layer likewise need to be adjusted.

This adjustment is due to the fact that compositor layers all have the
origin in the upper left corner of the layer, but this is not always
the origin for graphics layers. Rather than making compositor layers
have to deal with a potential offset, we change the transform when
inserting the layer into the tree. Invalidations need to be similarly
transformed from document space into compositor layer space.

The need for this offset is due to the definition of the initial
containing block. RTL pages (pages with dir=RTL on the body) start
scrolled all the way to the right, and the origin is in the upper left
hand corner of this initial viewport. Thus on RTL pages with
horizontal overflow, the left of the document is in negative CSS
space.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::invalidateRect):

LayoutTests:

Add a test that demonstrates this problem. Before the code fix, the
test shows just a red square because the invalidation for the style
change repaints the wrong rect.

* compositing/rtl/rtl-overflow-invalidation-expected.png: Added.
* compositing/rtl/rtl-overflow-invalidation-expected.txt: Added.
* compositing/rtl/rtl-overflow-invalidation.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Needs callback before AuthorShadowRoot is added.
https://bugs.webkit.org/show_bug.cgi?id=91167

Reviewed by Hajime Morita.

This is a preliminary patch for adding multiple Shadow DOM support for media elements and form elements.
They assume that UserAgentShadowRoot is the oldest, however currently a page author may try to add
AuthorShadowRoot before adding UserAgentShadowRoot.

This patch adds a callback before AuthorShadowRoot is being added, and allow us to add UserAgentShadowRoot
for those elements. See also Bug 77936, Bug 77937, Bug 90532.

* dom/Element.h:
(WebCore::Element::willAddAuthorShadowRoot):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot):
* dom/ElementShadow.h:
(ElementShadow):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move m_type and m_hasNameCache from HTMLCollectionCacheBase to DynamicNodeListCacheBase for better bit packing
https://bugs.webkit.org/show_bug.cgi?id=91164

Reviewed by Anders Carlsson.

Moved m_type and m_hasNameCache from HTMLCollection and renamed them to m_collectionType and m_isNameCacheValid.

Also renamed shouldIncludeChildren to shouldOnlyIncludeDirectChildren and negated the return value since
all HTMLCollection include children in the collection and the function was meant to tell us whether the collection
should include descendents that are not direct children of base().

In addition, renamed nextNodeOrSibling to nextNode since "or sibling" doesn't seem to add any semantic clarity.

* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
(DynamicNodeListCacheBase):
(WebCore::DynamicNodeListCacheBase::type):
(WebCore::DynamicNodeListCacheBase::hasNameCache):
(WebCore::DynamicNodeListCacheBase::setHasNameCache):
(WebCore::DynamicNodeListCacheBase::clearCache):
* html/HTMLCollection.cpp:
(WebCore::shouldOnlyIncludeDirectChildren):
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::isAcceptableElement):
(WebCore::nextNode):
(WebCore::HTMLCollection::itemAfter):
* html/HTMLCollection.h:
(WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
(HTMLCollectionCacheBase):
(WebCore::HTMLCollectionCacheBase::clearCache):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Geolocation override
https://bugs.webkit.org/show_bug.cgi?id=89365

Source/WebCore:

Reviewed by Pavel Feldman.

Reverted original patch.
Change has not been reviewed by the right people. It declares
public protocol methods and is wrong in several ways.

* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::positionChanged):
* Modules/geolocation/GeolocationController.h:
(GeolocationController):
* inspector/Inspector.json:
* inspector/InspectorInstrumentation.cpp:
(WebCore):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::InspectorPageAgent):
* inspector/InspectorPageAgent.h:
* inspector/front-end/Settings.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.UserAgentSettingsTab):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
* inspector/front-end/UserAgentSupport.js:

LayoutTests:

Reviewed by Pavel Feldman.
Change has not been reviewed by the right people. It declares
public protocol methods and is wrong in several ways.

Reverted original patch.

* inspector/geolocation-error-expected.txt: Removed.
* inspector/geolocation-error.html: Removed.
* inspector/geolocation-success-expected.txt: Removed.
* inspector/geolocation-success.html: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix. Initialize unused const member variables to make compilers happy.

* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CommitQueue is confused about what port it is using
https://bugs.webkit.org/show_bug.cgi?id=91040

Reviewed by Dirk Pranke.

On EC2, we explicitly pass --port to the commit-queue, but that
requires editing the start-queue.sh script locally on each bot. In
moving to Google Compute Engine, we're try to avoid any local edits to
the EWSTools.

Rather than passing --port to the commit-queue, this patch teaches the
CommitQueue which port its running, which is the approach we use for
the EWS bots.

Mutating tool._deprecated_port is a bit ugly, but it's what we're doing
currently for the EWS bots.

* Scripts/webkitpy/tool/commands/queues.py:
(CommitQueue):
(CommitQueue.begin_work_queue):
(CommitQueue.run_command):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(CommitQueueTest.test_commit_queue):
(mock_run_webkit_patch):
(test_rollout):
(test_rollout_lands):
(test_manual_reject_during_processing):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] Simplify CodeGeneratorV8 since V8OnProto is only true for DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=91165

Reviewed by Nate Chapin.

The old code was dead code since V8OnProto only ever gets set to 1 for DOMWindow.

No new tests. No change in functionality.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrSetter):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
test-webkitpy: rename test_finder to finder
https://bugs.webkit.org/show_bug.cgi?id=91175

Reviewed by Adam Barth.

Rename test_finder -> finder, TestFinder -> Finder to remove
some of the stutter in the names.

* Scripts/webkitpy/test/finder.py: Renamed from Tools/Scripts/webkitpy/test/test_finder.py.
* Scripts/webkitpy/test/finder_unittest.py: Renamed from Tools/Scripts/webkitpy/test/test_finder_unittest.py.
* Scripts/webkitpy/test/main.py:
(Tester.__init__):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Incorrect behaviour calling Range setStart or setEnd with boundary in different document
https://bugs.webkit.org/show_bug.cgi?id=42517

Reviewed by Ojan Vafai.

Source/WebCore:

Added a new static inline "checkForDifferentRootContainer" to share some code
and made setStart/setEnd do the right thing in the x-document case.  I removed
the bogus checks in set*After/set*Before functions, and since they just call
through to setStart/setEnd, they also now do the right thing.

Test: fast/dom/Range/set-wrong-document-err.html

* dom/Range.cpp:
(WebCore::checkForDifferentRootContainer):
(WebCore):
(WebCore::Range::setStart):
(WebCore::Range::setEnd):
(WebCore::Range::setStartAfter):
(WebCore::Range::setEndBefore):
(WebCore::Range::setEndAfter):
(WebCore::Range::setStartBefore):

LayoutTests:

Add a new test to cover this changed behavior, and correct a FIXME in an old test
which was documenting our incorrect behavior.

* fast/dom/Range/set-wrong-document-err-expected.txt: Added.
* fast/dom/Range/set-wrong-document-err.html: Added.
* fast/dom/move-nodes-across-documents.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pass an option flag to CFStringGetHyphenationLocationBeforeIndex() that tells it to not
terminate the search at the last word boundary before the given index.

Reviewed by Adele Peterson.

No test, because the current version of Core Foundation ignores the options parameter.

* platform/text/cf/HyphenationCF.cpp:
(WebCore::lastHyphenLocation): Changed the options parameter from 0 to 1.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix crash in the commit-queue.  We need to initialize self.port during __init__.

* Scripts/webkitpy/tool/commands/queues.py:
(CommitQueue.__init__):
(CommitQueue.begin_work_queue):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG CFA may get overzealous in loops that have code that must exit
https://bugs.webkit.org/show_bug.cgi?id=91188

Source/JavaScriptCore: 

Reviewed by Gavin Barraclough.

Ensure that if the CFA assumes that an operation must exit, then it will always exit
no matter what happens after. That's necessary to preserve soundness.
        
Remove a broken fixup done by the DFG simplifier, where it was trying to say that the
variable-at-head was the first access in the second block in the merge, if the first
block did not read the variable. That's totally wrong, if the first block was in fact
doing a phantom read. I removed that fixup and instead hardened the rest of the
compiler.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::endBasicBlock):
* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::BasicBlock):
(BasicBlock):
* dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::ConstantFoldingPhase):
(JSC::DFG::ConstantFoldingPhase::run):
(ConstantFoldingPhase):
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::paintUnreachableCode):
* dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):

LayoutTests: 

Reviewed by Gavin Baraclough.

* fast/js/dfg-force-exit-then-sparse-conditional-constant-prop-in-loop-expected.txt: Added.
* fast/js/dfg-force-exit-then-sparse-conditional-constant-prop-in-loop.html: Added.
* fast/js/script-tests/dfg-force-exit-then-sparse-conditional-constant-prop-in-loop.js: Added.
(foo):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2][EFL] Facilitate debugging of the Web Process
https://bugs.webkit.org/show_bug.cgi?id=90768

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

Source/WebKit2:

The EFL port now checks if the WEB_PROCESS_CMD_PREFIX
environment variable is set and uses it as prefix
when spawning the Web process if it is. This is used
for debugging purposes with prefixes such as:
"xterm -title renderer -e gdb --args".

* UIProcess/Launcher/ProcessLauncher.h:
(LaunchOptions):
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::connect):

Tools:

Add a new --webprocess-cmd-prefix argument to
run-webkit-tests script for EFL port. If provided,
the prefix will be prepended to the command used
to spawn the Web process. This can be used for
debugging purposes with prefixes such as:
"xterm -title renderer -e gdb --args".

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort.__init__):
(EflPort.setup_environ_for_server):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* WebKitTestRunner/efl/TestControllerEfl.cpp:
(WTR::TestController::platformRunUntil): Implement support for
m_noTimeout timeout value.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r117738): [Forms] stepMismatch for input type "time" with large step value always return false.
https://bugs.webkit.org/show_bug.cgi?id=91062

Reviewed by Kent Tamura.

This patch changes value of StepRange::acceptableError to zero for
integer restricted step value.

No new tests, existing test covers (fast/forms/time/ValidityState-stepMismatch-time.html) this change although they are listed in TestExpectation file.

* html/StepRange.cpp:
(WebCore::StepRange::acceptableError): Changed to return 0 if step value is restricted to be an integer.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG property access stubs should use structure transition watchpoints
https://bugs.webkit.org/show_bug.cgi?id=91135

Reviewed by Geoffrey Garen.

Source/JavaScriptCore: 

This adds a Watchpoint subclass that will clear a structure stub (i.e.
a property access stub) when fired. The DFG stub generation code now
uses this optimization.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.cpp:
(JSC):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::resetStub):
(JSC::CodeBlock::resetStubInternal):
* bytecode/CodeBlock.h:
(JSC):
(CodeBlock):
* bytecode/StructureStubClearingWatchpoint.cpp: Added.
(JSC):
(JSC::StructureStubClearingWatchpoint::~StructureStubClearingWatchpoint):
(JSC::StructureStubClearingWatchpoint::push):
(JSC::StructureStubClearingWatchpoint::fireInternal):
(JSC::WatchpointsOnStructureStubInfo::~WatchpointsOnStructureStubInfo):
(JSC::WatchpointsOnStructureStubInfo::addWatchpoint):
(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndAddWatchpoint):
* bytecode/StructureStubClearingWatchpoint.h: Added.
(JSC):
(StructureStubClearingWatchpoint):
(JSC::StructureStubClearingWatchpoint::StructureStubClearingWatchpoint):
(WatchpointsOnStructureStubInfo):
(JSC::WatchpointsOnStructureStubInfo::WatchpointsOnStructureStubInfo):
(JSC::WatchpointsOnStructureStubInfo::codeBlock):
(JSC::WatchpointsOnStructureStubInfo::stubInfo):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::addWatchpoint):
(StructureStubInfo):
* dfg/DFGRepatch.cpp:
(JSC::DFG::addStructureTransitionCheck):
(DFG):
(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::emitPutTransitionStub):
* jit/JumpReplacementWatchpoint.h:

LayoutTests: 

* fast/js/dfg-proto-stub-watchpoint-fire-expected.txt: Added.
* fast/js/dfg-proto-stub-watchpoint-fire.html: Added.
* fast/js/script-tests/dfg-proto-stub-watchpoint-fire.js: Added.
(A):
(B):
(foo):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122544 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CodeGeneratorJS.pm need to handle the attribute which has "CallWith=ScriptExecutionContext" option.
https://bugs.webkit.org/show_bug.cgi?id=91185

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-07-12
Reviewed by Kentaro Hara.

When an attribute has "CallWith=ScriptExecutionContext" option, 'ScriptExecutionContext*' parameter should be the last parameter.

No new tests. Covered by existing tests.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RadioNodeList is not updated upon input type change
https://bugs.webkit.org/show_bug.cgi?id=91178

Reviewed by Alexey Proskuryakov.

Source/WebCore: 

Invalidate the radio node lists when type content attribute changes since it excludes
image type input elements.

Test: fast/forms/radionodelist-image-type.html

* dom/Document.cpp:
(WebCore::shouldInvalidateNodeListForType):
* dom/Document.h: Renamed InvalidateOnIdNameForAttrChange to InvalidateOnFormAttrChange
since listing all attribute name isn't useful at this point.
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList):

LayoutTests: 

Add a regression test.

* fast/forms/radionodelist-image-type-expected.txt: Added.
* fast/forms/radionodelist-image-type.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add API to get HTTPS status to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=91100

Reviewed by Martin Robinson.

Source/WebCore:

* platform/network/soup/ResourceResponse.h:
(WebCore::ResourceResponse::soupMessageCertificate): Return the
certificate.
(WebCore::ResourceResponse::setSoupMessageCertificate): Set a
certificate.
(WebCore::ResourceResponse::soupMessageTLSErrors): Return the TLS
errors.
(WebCore::ResourceResponse::setSoupMessageTLSErrors): Set TLS
errors.
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::toSoupMessage): Set the certificate
and TLS errors to the newly created SoupMessage.
(WebCore::ResourceResponse::updateFromSoupMessage): Get the
certificate and TLS errors from the SoupMessage.

Source/WebKit2:

Add webkit_uri_response_get_https_status() to return
GTlsCertificate and GTlsCertificateFlags with information about
the SSL certificate and the possible errors with the certificate.

* GNUmakefile.list.am: Add new files to compilation.
* PlatformEfl.cmake: Ditto.
* Shared/efl/PlatformCertificateInfo.h: Removed.
* Shared/soup/PlatformCertificateInfo.cpp: Added.
(WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
(WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
(WebKit::PlatformCertificateInfo::encode): Encode the
GTlsCertificate and GTlsCertificateFlags.
(WebKit::PlatformCertificateInfo::decode): Decode
PlatformCertificateInfo into a GTlsCertificate and GTlsCertificateFlags.
* Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebKit2/Shared/gtk/PlatformCertificateInfo.h.
(WebKit::PlatformCertificateInfo::certificate): Return the certificate.
(WebKit::PlatformCertificateInfo::tlsErrors): Return the TLS errors
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(didCommitLoadForFrame): Set the certificate of the current frame
to the response of the main resource.
* UIProcess/API/gtk/WebKitURIResponse.cpp:
(webkit_uri_response_get_https_status): Return GTlsCertificate and
GTlsCertificateFlags.
(webkitURIResponseSetCertificateInfo): Update the internal
ResourceResponse with the GTlsCertificate and GTlsCertificateFlags
of the given PlatformCertificateInfo.
* UIProcess/API/gtk/WebKitURIResponse.h:
* UIProcess/API/gtk/WebKitURIResponsePrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/GNUmakefile.am:
* UIProcess/API/gtk/tests/TestMain.h:
(Test::getResourcesDir): Helper function to get the resources
directory of the WebKit2 API tests.
* UIProcess/API/gtk/tests/TestSSL.cpp: Added.
(testSSL):
(serverCallback):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer): Add support por SSL test
servers.
* UIProcess/API/gtk/tests/WebKitTestServer.h:
(WebKitTestServer): Add ssl parameter to create a HTTPS server.
* UIProcess/API/gtk/tests/resources/test-cert.pem: Added.
* UIProcess/API/gtk/tests/resources/test-key.pem: Added.

Source/WTF:

Add support for GByteArray.

* wtf/gobject/GRefPtr.cpp:
(WTF::refGPtr):
(WTF):
(WTF::derefGPtr):
* wtf/gobject/GRefPtr.h:
(WTF):
* wtf/gobject/GTypedefs.h:

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