WebKit-https.git
6 years agoUse xcrun to find path to make for Mac port
ddkilzer@apple.com [Thu, 17 Jan 2013 05:31:46 +0000 (05:31 +0000)]
Use xcrun to find path to make for Mac port
<http://webkit.org/b/107091>

Reviewed by Dan Bernstein.

* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort._build_java_test_support): Call self.make_command().
(MacPort.make_command): Add.  Call xcrun_find().
(MacPort.nm_command): Use self.xcrun_find().
(MacPort.xcrun_find): Add.  Extract from nm_command().

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

6 years agoNoEventDispatchAssertion in ContainerNode::removeChildren is too strict
morrita@google.com [Thu, 17 Jan 2013 05:25:14 +0000 (05:25 +0000)]
NoEventDispatchAssertion in ContainerNode::removeChildren is too strict
https://bugs.webkit.org/show_bug.cgi?id=106985

Reviewed by Ryosuke Niwa.

Source/WebCore:

This change narrowed the lifetime of NoEventDispatchAssertion in removeChildren().
It is as safe as other mutation method even after this change: childrenChanged() and
ChildNodeRemovalNotifier are used outside the assertion scope.

Test: svg/custom/use-mutation-crash.xhtml

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):

LayoutTests:

* svg/custom/use-mutation-crash-expected.txt: Added.
* svg/custom/use-mutation-crash.xhtml: Added.

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

6 years agoFix build break for Android webview.
commit-queue@webkit.org [Thu, 17 Jan 2013 05:16:27 +0000 (05:16 +0000)]
Fix build break for Android webview.
https://bugs.webkit.org/show_bug.cgi?id=107072

Patch by Kristian Monsen <kristianm@google.com> on 2013-01-16
Reviewed by Steve Block.

Add extra guards when checking for OS=="Android" to make sure it is not included
for webview.

* WebKitUnitTests.gyp:

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

6 years ago[Refactoring] HTMLTextFormControlElement should use shadowHost instead of shadowAnces...
shinyak@chromium.org [Thu, 17 Jan 2013 05:13:00 +0000 (05:13 +0000)]
[Refactoring] HTMLTextFormControlElement should use shadowHost instead of shadowAncestorNode
https://bugs.webkit.org/show_bug.cgi?id=106533

Reviewed by Kent Tamura.

Since Node::shadowAncestorNode() is deprecated, we would like to use Node::shadowHost().

No new tests, simple refactoring.

* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setSelectionRange): Here, startPosition and endPosition is in ShadowDOM,
converting shadowAncestorNode to shadowHost is safe.
(WebCore::enclosingTextFormControl): Actually ASSERT in this method is wrong since shadowAncestorNode() does not
return NULL. This should be shadowHost().

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

6 years agoMake debug-safari --target-web-process work again
weinig@apple.com [Thu, 17 Jan 2013 04:58:13 +0000 (04:58 +0000)]
Make debug-safari --target-web-process work again
https://bugs.webkit.org/show_bug.cgi?id=107088

Reviewed by Anders Carlsson.

Source/WebKit2:

--target-web-process was made harder to use during recent refactoring
by requiring users to pass a -ui-process-name parameter in addition to
the -client-executable. Instead, we should conjure up that name from
the information we already have at our disposal.

* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMainDelegate::getConnectionIdentifier):
Simplify by making the non-client-executable path use the base
class implementation.

(WebKit::WebProcessMainDelegate::getClientIdentifier):
Ditto.

(WebKit::WebProcessMainDelegate::getClientProcessName):
Added. Create a client process name (its actually not too important what it is, as it
is only used to show a name in Activity Monitor) from the passed in client executable
path.

Tools:

* Scripts/webkitdirs.pm:
(execMacWebKitAppForDebugging):
The shim is now called SecItemShim.

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

6 years agoFix crashes on the bots.
weinig@apple.com [Thu, 17 Jan 2013 04:52:26 +0000 (04:52 +0000)]
Fix crashes on the bots.

The WebKit LoaderStrategy for loading synchronously was only implemented
for the case where you have a network process. When you don't, we should
be using the base implementation.

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously):

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

6 years agoDisable an ASSERT for the threaded parser
tonyg@chromium.org [Thu, 17 Jan 2013 04:35:43 +0000 (04:35 +0000)]
Disable an ASSERT for the threaded parser
https://bugs.webkit.org/show_bug.cgi?id=107087

Reviewed by Adam Barth.

Since tokenizing happens on the background thread, when the tree builder runs there isn't a valid tokenizer for which to check the state.
The background parser has minimal code to update its tokenizer's state properly.

No new tests because covered by existing fast/parser tests.

* html/parser/HTMLParserOptions.cpp:
(WebCore::HTMLParserOptions::HTMLParserOptions):
* html/parser/HTMLParserOptions.h:
(HTMLParserOptions):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processEndTag):

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

6 years agoAttr.ownerDocument should change if its parent's owner did
morrita@google.com [Thu, 17 Jan 2013 04:22:41 +0000 (04:22 +0000)]
Attr.ownerDocument should change if its parent's owner did
https://bugs.webkit.org/show_bug.cgi?id=97644

Reviewed by Darin Adler.

Source/WebCore:

moveTreeToNewScope() didn't traverse its Attr instances. But it should.

Test: fast/dom/Attr/parent-adopt-node.html

* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::getExistingAttrs):
(WebCore):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):

LayoutTests:

* fast/dom/Attr/parent-adopt-node-expected.txt: Added.
* fast/dom/Attr/parent-adopt-node.html: Added.

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

6 years agoGCE build scripts don't take working directory into account when calling findzone.sh
commit-queue@webkit.org [Thu, 17 Jan 2013 04:00:01 +0000 (04:00 +0000)]
GCE build scripts don't take working directory into account when calling findzone.sh
https://bugs.webkit.org/show_bug.cgi?id=106962

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-16
Reviewed by Adam Barth.

* EWSTools/GoogleComputeEngine/build-chromium-ews.sh:
* EWSTools/GoogleComputeEngine/build-commit-queue.sh:
* EWSTools/GoogleComputeEngine/build-feeder-style-sheriffbot.sh:

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

6 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Thu, 17 Jan 2013 03:59:37 +0000 (03:59 +0000)]
[Chromium] Unreviewed gardening.

Roll Chromium to 177310.

* DEPS:

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

6 years ago[BlackBerry] Need to adjust the scale and scroll position after leaving fullscreen...
charles.wei@torchmobile.com.cn [Thu, 17 Jan 2013 03:52:52 +0000 (03:52 +0000)]
[BlackBerry] Need to adjust the scale and scroll position after leaving fullscreen mode if there's
device rotation in fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=107085

Reviewed by George STaikos.
Also internally reviewed by Jacky Jiang.

We saved the scale and scroll position before entering full screen mode, so that we can restore
them after leaving fullscreen mode, because entering fullscreen mode automatically changes the
       scale to make the video to fit to the viewport. But if there's device rotation during the fullscreen,
       the scale and scroll position saved before may or may not apply anymore, we need to adjust the
       scale and/or scroll position if needed to make sure no over-scale or over-scroll in the new orientation.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
* Api/WebPage_p.h:
(WebPagePrivate):

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

6 years agoAddress tonyg's feedback on BackgroundHTMLParser
abarth@webkit.org [Thu, 17 Jan 2013 03:42:09 +0000 (03:42 +0000)]
Address tonyg's feedback on BackgroundHTMLParser
https://bugs.webkit.org/show_bug.cgi?id=107086

Reviewed by Tony Gentilcore.

As requested in https://bugs.webkit.org/show_bug.cgi?id=107083#c5

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(TokenDelivery):
(WebCore::TokenDelivery::TokenDelivery):
(WebCore::TokenDelivery::execute):

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

6 years agoIntroduce a method to build the tree from a CompactHTMLToken
tonyg@chromium.org [Thu, 17 Jan 2013 03:36:48 +0000 (03:36 +0000)]
Introduce a method to build the tree from a CompactHTMLToken
https://bugs.webkit.org/show_bug.cgi?id=107082

Reviewed by Adam Barth.

No new tests because covered by existing fast/parser tests.

* html/parser/HTMLDocumentParser.cpp:
(WebCore):
(WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLToken.h:
(AtomicHTMLToken):
(WebCore::AtomicHTMLToken::create):
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
* xml/parser/MarkupTokenBase.h:
(WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
(AtomicMarkupTokenBase):

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

6 years agoUnreviewed build fix following r139918.
roger_fong@apple.com [Thu, 17 Jan 2013 03:25:53 +0000 (03:25 +0000)]
Unreviewed build fix following r139918.
Add speech synthesis to include path and WebCore vcproj file.

* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreCommon.vsprops:

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

6 years agoSwitch AudioDestinationChromium over to new createAudioDevice() method
crogers@google.com [Thu, 17 Jan 2013 03:08:52 +0000 (03:08 +0000)]
Switch AudioDestinationChromium over to new createAudioDevice() method
https://bugs.webkit.org/show_bug.cgi?id=106816

Reviewed by James Robinson.

* platform/audio/chromium/AudioDestinationChromium.cpp:
(WebCore::AudioDestinationChromium::AudioDestinationChromium):

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

6 years agoIntroduce BackgroundHTMLParser for parsing HTML on a background thread
abarth@webkit.org [Thu, 17 Jan 2013 02:55:35 +0000 (02:55 +0000)]
Introduce BackgroundHTMLParser for parsing HTML on a background thread
https://bugs.webkit.org/show_bug.cgi?id=107083

Reviewed by Eric Seidel.

This patch contains a basic version of an HTML parser that runs on a
background thread. The parser passes the majority of the tests in
fast/parser and a large number of the subtests in html5lib.

Notably absent from this early version of the parser is speculation
(which will eventually replace preload scanning) and atomization (which
we suspect will be important for performance). Our plan is to introduce
those elements in subsequent patches.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/BackgroundHTMLParser.cpp: Added.
(WebCore):
(WebCore::checkThatTokensAreSafeToSendToAnotherThread):
(WebCore::parserMap):
(WebCore::ParserMap::backgroundParsers):
(WebCore::ParserMap::mainThreadParsers):
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::append):
(WebCore::BackgroundHTMLParser::continueParsing):
(WebCore::BackgroundHTMLParser::finish):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(TokenDelivery):
(WebCore::TokenDelivery::execute):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
(WebCore::BackgroundHTMLParser::createPartial):
(WebCore::BackgroundHTMLParser::stopPartial):
(WebCore::BackgroundHTMLParser::appendPartial):
(WebCore::BackgroundHTMLParser::continuePartial):
(WebCore::BackgroundHTMLParser::finishPartial):
* html/parser/BackgroundHTMLParser.h: Added.
(WebCore):
(BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::create):
(ParserMap):
(WebCore::ParserMap::identifierForParser):
* html/parser/HTMLDocumentParser.cpp:
(WebCore):
(WebCore::HTMLDocumentParser::didReceiveTokensFromBackgroundParser):
* html/parser/HTMLDocumentParser.h:
(WebCore):
(HTMLDocumentParser):

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

6 years agoDFG 32_64 backend doesn't check for hasArrayStorage() in NewArrayWithSize
fpizlo@apple.com [Thu, 17 Jan 2013 02:32:37 +0000 (02:32 +0000)]
DFG 32_64 backend doesn't check for hasArrayStorage() in NewArrayWithSize
https://bugs.webkit.org/show_bug.cgi?id=107081

Reviewed by Michael Saboff.

This bug led to the 32_64 backend emitting contiguous allocation code to allocate
ArrayStorage arrays. This then led to all manner of heap corruption, since
subsequent array accesses would be accessing the contiguous array "as if" it was
an arraystorage array.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

6 years agoUpdate Owners file.
weinig@apple.com [Thu, 17 Jan 2013 02:26:29 +0000 (02:26 +0000)]
Update Owners file.

* Owners:

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

6 years agoRemove unused AddLoadInProgress message
weinig@apple.com [Thu, 17 Jan 2013 02:25:44 +0000 (02:25 +0000)]
Remove unused AddLoadInProgress message
https://bugs.webkit.org/show_bug.cgi?id=107077

Reviewed by Dan Bernstein.

Dead code is dead.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:

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

6 years ago[soup] Fix build warning in ResourceHandleSoup.cpp
commit-queue@webkit.org [Thu, 17 Jan 2013 02:20:23 +0000 (02:20 +0000)]
[soup] Fix build warning in ResourceHandleSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=107063

Patch by Donghyun Kim <dhkim715@hotmail.com> on 2013-01-16
Reviewed by Martin Robinson.

The restartedCallback has unused parameter 'message',
remove the parameter name to fix 'unused parameter' build warning.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::restartedCallback):

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

6 years agoIntroduce a CompactHTMLToken for the threaded HTML parser
tonyg@chromium.org [Thu, 17 Jan 2013 02:18:20 +0000 (02:18 +0000)]
Introduce a CompactHTMLToken for the threaded HTML parser
https://bugs.webkit.org/show_bug.cgi?id=107069

Reviewed by Adam Barth.

This class is used for transporting tokens from the parser thread to the main thread where they are fed to the tree builder.

No new tests because covered by existing fast/parser tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/CompactHTMLToken.cpp: Added.
(WebCore):
(WebCore::CompactHTMLToken::CompactHTMLToken):
(WebCore::isStringSafeToSendToAnotherThread):
(WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
* html/parser/CompactHTMLToken.h: Added.
(WebCore):
(CompactAttribute):
(WebCore::CompactAttribute::CompactAttribute):
(WebCore::CompactAttribute::name):
(WebCore::CompactAttribute::value):
(CompactHTMLToken):
(WebCore::CompactHTMLToken::type):
(WebCore::CompactHTMLToken::data):
(WebCore::CompactHTMLToken::selfClosing):
(WebCore::CompactHTMLToken::attributes):
(WebCore::CompactHTMLToken::publicIdentifier):
(WebCore::CompactHTMLToken::systemIdentifier):
* xml/parser/MarkupTokenBase.h:
(WebCore::MarkupTokenBase::data):
(MarkupTokenBase):

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

6 years agoIntroduce HTMLParserThread to be able to parse on a background thread
abarth@webkit.org [Thu, 17 Jan 2013 02:05:33 +0000 (02:05 +0000)]
Introduce HTMLParserThread to be able to parse on a background thread
https://bugs.webkit.org/show_bug.cgi?id=107071

Reviewed by Tony Gentilcore.

This patch introduces a simple thread class that we can use to parse
HTML. This patch is unlikely to be the final design because we'll
likely want to use libdispatch or some other platform-specific thread
pool. However, this implementation is enough to let us work on the
parser-specific aspects of this feature.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/HTMLParserThread.cpp: Added.
(WebCore):
(WebCore::HTMLParserThread::HTMLParserThread):
(WebCore::HTMLParserThread::~HTMLParserThread):
(WebCore::HTMLParserThread::start):
(WebCore::HTMLParserThread::stop):
(WebCore::HTMLParserThread::shared):
(WebCore::HTMLParserThread::postTask):
(WebCore::HTMLParserThread::threadStart):
(WebCore::HTMLParserThread::runLoop):
* html/parser/HTMLParserThread.h: Added.
(WebCore):
(HTMLParserThread):
(WebCore::HTMLParserThread::create):
(WebCore::HTMLParserThread::threadId):

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

6 years agoFix crash when destroying a plug-in with pending URL requests
andersca@apple.com [Thu, 17 Jan 2013 01:57:52 +0000 (01:57 +0000)]
Fix crash when destroying a plug-in with pending URL requests
https://bugs.webkit.org/show_bug.cgi?id=107075
<rdar://problem/12513871>

Reviewed by Sam Weinig.

In PluginView::destroyPluginAndReset, make sure to cancel any outstanding URL requests since the PluginView
object will stay around and would otherwise start loading URLs from stopped plug-ins.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::Stream::start):
Assert that the plug-in is alive.

(WebKit::PluginView::destroyPluginAndReset):
Empty out the pending URL requests vector and stop the timer.

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

6 years agoWebCore::ScriptRunner::timerFired() is reported to crash.
morrita@google.com [Thu, 17 Jan 2013 01:38:20 +0000 (01:38 +0000)]
WebCore::ScriptRunner::timerFired() is reported to crash.
https://bugs.webkit.org/show_bug.cgi?id=92211

Reviewed by Darin Adler.

This is a speculative fix to address some crash reports.
Here is my rough guess.

The crash report says there is a PendingScript instance whose m_element is null.
- It happens only if the instance is created through the default constructor,
- that could happen if m_pendingAsyncScripts doesn't contains matched PendingScript in ScriptRunner::notifyScriptReady(),
- that could happen when notifyScriptReady() is called more than once.
- It turns out that the call site, ScriptElement::notifyFinished(), could be called multiple times since
  it doesn't remove itself from the CachedResource, which is done separately in ScriptElement::execute().
- So if notifyFinished() is called before execute(), it could happen

This change added a guard to prevent notifyFinished() from being invoked multiple times.
We should watch if these crash reports disappear.

No new tests. I couldn't create any repro for this.

* dom/ScriptElement.cpp:
(WebCore::ScriptElement::notifyFinished):

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

6 years agoFix mac build system warnings introduced by r139866
commit-queue@webkit.org [Thu, 17 Jan 2013 01:36:09 +0000 (01:36 +0000)]
Fix mac build system warnings introduced by r139866
https://bugs.webkit.org/show_bug.cgi?id=107056

Patch by Pablo Flouret <pablof@motorola.com> on 2013-01-16
Reviewed by Benjamin Poulain.

warning: no rule to process file '$(PROJECT_DIR)/css/CSSSupportsRule.h' of type sourcecode.c.h for architecture x86_64
warning: no rule to process file '$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSCSSSupportsRule.h' of type sourcecode.c.h for architecture x86_64

{JS,}CSSSupportsRule.h somehow ended up marked as sources in the XCode
project.

No new tests. Build warning fix.

* WebCore.xcodeproj/project.pbxproj:

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

6 years agoMerge RenderObjectChildList::appendChildNode and insertChildNode
esprehn@chromium.org [Thu, 17 Jan 2013 01:32:09 +0000 (01:32 +0000)]
Merge RenderObjectChildList::appendChildNode and insertChildNode
https://bugs.webkit.org/show_bug.cgi?id=106392

Reviewed by Eric Seidel.

insertChildNode and appendChildNode are nearly identical methods and
we can combine them into insertChildNode and handle cases where the
renderer to insert before is null as if it was an append.

No new tests, just refactoring.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::insertChildNode):
* rendering/RenderObjectChildList.h:
(RenderObjectChildList):
(WebCore::RenderObjectChildList::appendChildNode):
    Now inline and delegates to insertChildNode.

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

6 years agoCursor stops blinking after clicking on scrollbar
esprehn@chromium.org [Thu, 17 Jan 2013 01:21:20 +0000 (01:21 +0000)]
Cursor stops blinking after clicking on scrollbar
https://bugs.webkit.org/show_bug.cgi?id=106470

Reviewed by Ojan Vafai.

Restore the caret blinking when doing a mouseup on a
scrollbar so scrolling a textarea doesn't cause the
caret to freeze.

No new tests, there doesn't seem to be any way to test
cursor blinking.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):

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

6 years agoTeach HTMLParserOptions about Settings::threadedHTMLParser
abarth@webkit.org [Thu, 17 Jan 2013 01:18:26 +0000 (01:18 +0000)]
Teach HTMLParserOptions about Settings::threadedHTMLParser
https://bugs.webkit.org/show_bug.cgi?id=107068

Reviewed by Tony Gentilcore.

We use this option to enable the threaded HTML parser at runtime.

* html/parser/HTMLParserOptions.cpp:
(WebCore::HTMLParserOptions::HTMLParserOptions):
* html/parser/HTMLParserOptions.h:
(HTMLParserOptions):

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

6 years ago[EFL][WK2] PageUIClientEfl should keep in sync with WKPageUIClient
commit-queue@webkit.org [Thu, 17 Jan 2013 01:11:15 +0000 (01:11 +0000)]
[EFL][WK2] PageUIClientEfl should keep in sync with WKPageUIClient
https://bugs.webkit.org/show_bug.cgi?id=107060

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-01-16
Reviewed by Benjamin Poulain.

Rearrange the order of functions in PageUIClientEfl.
Rename closePage() to close().

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::close):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::PageUIClientEfl):
(WebKit::PageUIClientEfl::close):
(WebKit::PageUIClientEfl::takeFocus):
(WebKit::PageUIClientEfl::focus):
(WebKit::PageUIClientEfl::unfocus):
(WebKit::PageUIClientEfl::getWindowFrame):
(WebKit::PageUIClientEfl::setWindowFrame):
(WebKit::PageUIClientEfl::createNewPage):
(WebKit::PageUIClientEfl::showColorPicker):
(WebKit::PageUIClientEfl::hideColorPicker):
* UIProcess/efl/PageUIClientEfl.h:
(PageUIClientEfl):

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

6 years agostart-queue.sh does not pass remaining parameters correctly
commit-queue@webkit.org [Thu, 17 Jan 2013 00:48:14 +0000 (00:48 +0000)]
start-queue.sh does not pass remaining parameters correctly
https://bugs.webkit.org/show_bug.cgi?id=107054

Patch by Alan Cutter <alancutter@chromium.org> on 2013-01-16
Reviewed by Adam Barth.

start-queue.sh now passes all remaining params to the webkit-patch command.
Previously only one additional queue parameter could be sent.

* EWSTools/start-queue.sh:

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

6 years agoSynchronous XMLHTTPRequests need to go to the NetworkProcess.
beidson@apple.com [Thu, 17 Jan 2013 00:45:30 +0000 (00:45 +0000)]
Synchronous XMLHTTPRequests need to go to the NetworkProcess.
<rdar://problem/12951765> and https://bugs.webkit.org/show_bug.cgi?id=106826

Reviewed by Sam Weinig and Alexey Proskuryakov.

Source/WebCore:

No new tests (No changes to any config that is currently tested)

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously): Consult the LoaderStrategy when strategies are
  being used.

* loader/LoaderStrategy.cpp:
(WebCore::LoaderStrategy::loadResourceSynchronously): Defaults to using ResourceHandle directly.
* loader/LoaderStrategy.h:

Break out the StoredCredentials enum to a new header:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleTypes.h:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::loadResourceSynchronously): Entry point for WebCore to get
  synchronous requests to the NetworkProcess.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): Create a SyncNetworkResourceLoader
  and schedule it.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:

* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleSyncNetworkResourceLoader):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost): Serve synchronous loaders
  before async loaders.
* NetworkProcess/NetworkResourceLoadScheduler.h:

A class that encapsulates a synchronous load request and the CoreIPC reply to be made once it is complete:
* NetworkProcess/SyncNetworkResourceLoader.cpp: Added.
(WebKit::SyncNetworkResourceLoader::SyncNetworkResourceLoader):
(WebKit::SyncNetworkResourceLoader::start):
* NetworkProcess/SyncNetworkResourceLoader.h: Copied from Source/WebKit2/NetworkProcess/HostRecord.h.
(WebKit::SyncNetworkResourceLoader::create):
(WebKit::SyncNetworkResourceLoader::setIdentifier):
(WebKit::SyncNetworkResourceLoader::identifier):
(WebKit::SyncNetworkResourceLoader::loadParameters):

Add a second queue of sync loaders:
* NetworkProcess/HostRecord.h:
(WebKit::HostRecord::syncLoadersPending):

Add comments to explicitly spell out the current reliance on some messages that are currently synchronous:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):

* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoExplicitly set msvs_cygwin_shell to true for bison rule
commit-queue@webkit.org [Thu, 17 Jan 2013 00:37:39 +0000 (00:37 +0000)]
Explicitly set msvs_cygwin_shell to true for bison rule
https://bugs.webkit.org/show_bug.cgi?id=107058

Patch by Robert Iannucci <iannucci@chromium.org> on 2013-01-16
Reviewed by Tony Chang.

Currently, msvs_cygwin_shell is set to 1 by default. This patch
explicitly sets it on the actions which will break if msvs_cygwin_shell
were set to 0. This is in preparation for changing the default value of
msvs_cygwin_shell, which in turn is in preparation of the removal of
cygwin as a buld-system requirement.

Since this change will have no semantic effect, no new tests are
required.

A previous instance of this bug is here:
https://bugs.webkit.org/show_bug.cgi?id=106706

* WebCore.gyp/WebCore.gyp:

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

6 years agoFix the warning for the exported Objective-C binding of DOMCSSSupportsRule
benjamin@webkit.org [Thu, 17 Jan 2013 00:05:53 +0000 (00:05 +0000)]
Fix the warning for the exported Objective-C binding of DOMCSSSupportsRule

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-01-16
Rubber-stamped by Simon Fraser.

* WebCore.exp.in: r139866 exported the Objective-C class DOMCSSSupportsRule
without #ifdefing the symbol between its feature flag.

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

6 years agoCues not rendered when they should be
commit-queue@webkit.org [Wed, 16 Jan 2013 23:57:50 +0000 (23:57 +0000)]
Cues not rendered when they should be
https://bugs.webkit.org/show_bug.cgi?id=106943

Patch by Victor Carbune <vcarbune@chromium.org> on 2013-01-16
Reviewed by Eric Carlson.

Source/WebCore:

Forced rendering update, even if the active set of cues didn't change.

Test: media/track/track-cue-rendering-mode-changed.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): If exiting early,
update the cues rendered by the text track container.
(WebCore::HTMLMediaElement::textTrackModeChanged): Trigger update of the
re-checking the active cues and render the ones not yet on screen.

LayoutTests:

* media/track/track-cue-rendering-mode-changed-expected.txt: Added.
* media/track/track-cue-rendering-mode-changed.html: Added.
* media/video-controls-captions-expected.txt: Updated.

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

6 years ago WebProcess should not access ~/Library/Caches/com.apple.WebProcess
ap@apple.com [Wed, 16 Jan 2013 23:23:57 +0000 (23:23 +0000)]
    WebProcess should not access ~/Library/Caches/com.apple.WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=107055

        Reviewed by Anders Carlsson.

        * WebProcess/com.apple.WebProcess.sb.in: Remove the rule allowing access.

        * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess):
        Use a correct cache directory even if NetworkProcess is in use. Not all loading has
        moved to this process yet.

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

6 years agoForce a rebuild of RenderObject
benjamin@webkit.org [Wed, 16 Jan 2013 23:15:35 +0000 (23:15 +0000)]
Force a rebuild of RenderObject

Unreviewed. One bot is using old object file. Change RenderObject.cpp to force it
to build the file again.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-01-16

* rendering/RenderObject.cpp:
(WebCore::addLayers):
(WebCore::RenderObject::findNextLayer):

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

6 years agoIndexedDB: Possible null ScriptExecutionContext passed to callbacks during frame...
jsbell@chromium.org [Wed, 16 Jan 2013 23:11:07 +0000 (23:11 +0000)]
IndexedDB: Possible null ScriptExecutionContext passed to callbacks during frame destruction
https://bugs.webkit.org/show_bug.cgi?id=107050

Reviewed by Tony Chang.

Temporary code to defend against null contexts. Will either refute a hypothesis, or we'll
need to make a more systemic fix elsewhere. Either way it will be removed in a few days.
We're unable to repro, but watching crash reports from users. One possible source is
that during page tear-down WorkerScriptController::controllerForContext() returns null
(there's a comment about that case) leading to a null context.

No new tests - this shouldn't be happening.

* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):

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

6 years agoSimplify validation and data copying in WebGLBuffer
kbr@google.com [Wed, 16 Jan 2013 23:08:53 +0000 (23:08 +0000)]
Simplify validation and data copying in WebGLBuffer
https://bugs.webkit.org/show_bug.cgi?id=106975

Reviewed by Dean Jackson.

Re-landing after testing locally; was not able to reproduce the
crash seen once with the earlier patch.

No new tests; covered by existing tests. Ran WebGL layout tests and conformance tests.

* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::associateBufferDataImpl):
    Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
(WebCore::WebGLBuffer::associateBufferData):
    Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
(WebCore::WebGLBuffer::associateBufferSubDataImpl):
    Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
(WebCore::WebGLBuffer::associateBufferSubData):
    Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
* html/canvas/WebGLBuffer.h:
(WebGLBuffer):
    Change signatures of associateBufferDataImpl and associateBufferSubDataImpl.

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

6 years agoFix a crash when printing console messages to STDOUT.
timothy@apple.com [Wed, 16 Jan 2013 22:52:45 +0000 (22:52 +0000)]
Fix a crash when printing console messages to STDOUT.

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

Reviewed by Joseph Pecoraro.

* page/Console.cpp:
(WebCore::internalAddMessage): Don't release the RefPtr early. Also log the line number
and convert non-string arguments to strings when printing them.

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

6 years agoAdd missing sys/mman.h include on Mac
commit-queue@webkit.org [Wed, 16 Jan 2013 22:39:46 +0000 (22:39 +0000)]
Add missing sys/mman.h include on Mac
https://bugs.webkit.org/show_bug.cgi?id=98089

Patch by Jonathan Liu <net147@gmail.com> on 2013-01-16
Reviewed by Darin Adler.

The madvise function and MADV_FREE constant require sys/mman.h.

* jit/ExecutableAllocatorFixedVMPool.cpp:

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

6 years ago[BlackBerry] Remove bogus assert in GeolocationClientBlackBerry
commit-queue@webkit.org [Wed, 16 Jan 2013 22:31:18 +0000 (22:31 +0000)]
[BlackBerry] Remove bogus assert in GeolocationClientBlackBerry
https://bugs.webkit.org/show_bug.cgi?id=105651

Patch by Joe Mason <jmason@rim.com> on 2013-01-16
Reviewed by Darin Adler.

GeolocationClientBlackBerry::cancelPermissionRequest contains an ASSERT that the origin is
in m_geolocationRequestMap. But it's perfectly valid for the origin to not be in the map -
for instance, if GeolocationClientBlackBerry::requestPermission returned immediately,
without putting it in the map, because geolocation was disabled. In this case the correct
thing to do is just return - there is nothing to be done to cancel the permission.

* WebCoreSupport/GeolocationClientBlackBerry.cpp:
(GeolocationClientBlackBerry::cancelPermissionRequest):

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

6 years agocheck-webkit-style script cannot running in Chinese windows.
commit-queue@webkit.org [Wed, 16 Jan 2013 22:08:02 +0000 (22:08 +0000)]
check-webkit-style script cannot running in Chinese windows.
https://bugs.webkit.org/show_bug.cgi?id=87548

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2013-01-16
Reviewed by Darin Adler.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._win_version_tuple_from_cmd):

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

6 years agoUnreviewed, rolling out r139914.
kbr@google.com [Wed, 16 Jan 2013 22:05:46 +0000 (22:05 +0000)]
Unreviewed, rolling out r139914.
http://trac.webkit.org/changeset/139914
https://bugs.webkit.org/show_bug.cgi?id=106975

Caused crashes in compositing/visibility/visibility-simple-
webgl-layer.html

* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::associateBufferDataImpl):
(WebCore::WebGLBuffer::associateBufferData):
(WebCore::WebGLBuffer::associateBufferSubDataImpl):
(WebCore::WebGLBuffer::associateBufferSubData):
* html/canvas/WebGLBuffer.h:
(WebGLBuffer):

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

6 years agoMonitor usage of unprefixed and prefixed DOM events for CSS Transitions.
alexis@webkit.org [Wed, 16 Jan 2013 21:58:45 +0000 (21:58 +0000)]
Monitor usage of unprefixed and prefixed DOM events for CSS Transitions.
https://bugs.webkit.org/show_bug.cgi?id=107004

Reviewed by Adam Barth.

Monitor the usage of transitionEnd events as well as
webkitTransitionEnd events so we can know in the future how much the
prefixed version is used to remove it becomes irrelevant.

No new tests : no behavior changes, we're just adding monitoring.

* dom/EventTarget.cpp:
(WebCore):
(WebCore::EventTarget::fireEventListeners):
* page/FeatureObserver.h:

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

6 years agoUse GCC's implementation of atomicIncrement/Decrement on Mac
benjamin@webkit.org [Wed, 16 Jan 2013 21:52:08 +0000 (21:52 +0000)]
Use GCC's implementation of atomicIncrement/Decrement on Mac
https://bugs.webkit.org/show_bug.cgi?id=106976

Reviewed by Filip Pizlo.

* wtf/Atomics.h:
GCC and LLVM have builtin for atomic ADD and SUB: __sync_add_and_fetch,
__sync_sub_and_fetch.

Using them let the compiler just generate the atomic operations inline
instead of generating a function call to LibC. It also simplify the
code a bit.

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

6 years agoTighten RenderLayerModelObject subclass constructors to operate on ContainerNodes.
antti@apple.com [Wed, 16 Jan 2013 21:50:05 +0000 (21:50 +0000)]
Tighten RenderLayerModelObject subclass constructors to operate on ContainerNodes.
https://bugs.webkit.org/show_bug.cgi?id=107041

Reviewed by Simon Fraser.

In rendering code only Nodes that are not ContainerNodes are used by RenderText. Tighter typing is better in general.
It also enables better code generation (especially with Document* moving from Node to ContainerNode).

This patch tightens constuctors for better static type checking. It also overrides node() with a covariant ContainerNode* return type
version in RenderLayerModelObject. RenderObject::createObject() is tightened to take Element*.

This patch does not change Node* usage in non-construction code (expect for the node() override).

With some further work it should be possible to tighten most of the rendering tree to operate on Elements for even less branchiness.

* dom/Document.cpp:
(WebCore::Document::attach):
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderThumb::RenderSliderThumb):
(WebCore::RenderSliderContainer::RenderSliderContainer):
* html/shadow/SliderThumbElement.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::RenderBox):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::RenderBoxModelObject):
* rendering/RenderBoxModelObject.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::RenderButton):
* rendering/RenderButton.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
* rendering/RenderDeprecatedFlexibleBox.h:
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
* rendering/RenderDialog.h:
(WebCore::RenderDialog::RenderDialog):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* rendering/RenderFlexibleBox.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.cpp:
(RenderFullScreen::RenderFullScreen):
* rendering/RenderFullScreen.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
* rendering/RenderGrid.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
* rendering/RenderImage.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
* rendering/RenderInline.h:
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::RenderLayerModelObject):
* rendering/RenderLayerModelObject.h:
(WebCore::RenderLayerModelObject::node):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::RenderListItem):
* rendering/RenderListItem.h:
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
* rendering/RenderMediaControlElements.h:
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
* rendering/RenderMultiColumnBlock.h:
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::createObject):
* rendering/RenderObject.h:
(RenderObject):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
(RenderRegion):
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::RenderRegionSet):
* rendering/RenderRegionSet.h:
(RenderRegionSet):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::RenderReplica):
(WebCore::RenderReplica::~RenderReplica):
* rendering/RenderReplica.h:
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
* rendering/RenderRubyBase.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
* rendering/RenderRubyRun.h:
(RenderRubyRun):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
(RenderRubyText):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::RenderScrollbarPart):
* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::RenderSearchField):
* rendering/RenderSearchField.h:
(RenderSearchField):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
* rendering/RenderTable.h:
(RenderTable):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
(RenderTableCaption):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
(RenderTableCol):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::RenderTableRow):
* rendering/RenderTableRow.h:
(RenderTableRow):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
* rendering/RenderTableSection.h:
(RenderTableSection):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
* rendering/RenderTextControlMultiLine.h:
(RenderTextControlMultiLine):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* rendering/RenderWidget.h:
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
(WebCore::RenderMathMLTable::RenderMathMLTable):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow):
* rendering/mathml/RenderMathMLRow.h:
(RenderMathMLRow):
(WebCore::RenderSVGInline::RenderSVGInline):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGTSpan.cpp:
(WebCore::RenderSVGTSpan::RenderSVGTSpan):
* rendering/svg/RenderSVGTSpan.h:
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:

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

6 years agoRemove CoreIPCMessageKinds.h
andersca@apple.com [Wed, 16 Jan 2013 21:47:45 +0000 (21:47 +0000)]
Remove CoreIPCMessageKinds.h
https://bugs.webkit.org/show_bug.cgi?id=107048

Reviewed by Beth Dakin.

Use named IPC messages instead.

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::processIncomingMessage):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/CoreIPCMessageKinds.h: Removed.
* Platform/CoreIPC/MessageID.h:
(MessageID):
(CoreIPC::MessageID::stripMostSignificantBit):
(CoreIPC::MessageID::operator==):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
(CoreIPC::Connection::receiveSourceEventHandler):
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoStub out WebSpeech synthesis
cfleizach@apple.com [Wed, 16 Jan 2013 21:45:35 +0000 (21:45 +0000)]
Stub out WebSpeech synthesis
https://bugs.webkit.org/show_bug.cgi?id=106847

Reviewed by Adam Barth.

This adds in the necessary IDLs and stubs out the code for the WebSpeech
synthesis specification.
It does not turn on the feature in any platform, but it can be enabled
and built for Mac.

The feature flag is SPEECH_SYNTHESIS.

* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* Modules/speech/DOMWindowSpeechSynthesis.cpp: Added.
(WebCore::DOMWindowSpeechSynthesis::DOMWindowSpeechSynthesis):
(WebCore::DOMWindowSpeechSynthesis::~DOMWindowSpeechSynthesis):
(WebCore::DOMWindowSpeechSynthesis::from):
(WebCore::DOMWindowSpeechSynthesis::speechSynthesis):
* Modules/speech/DOMWindowSpeechSynthesis.h: Added.
* Modules/speech/DOMWindowSpeechSynthesis.idl: Added.
* Modules/speech/SpeechSynthesis.cpp: Added.
(WebCore::SpeechSynthesis::create):
(WebCore::SpeechSynthesis::SpeechSynthesis):
* Modules/speech/SpeechSynthesis.h: Added.
(SpeechSynthesis):
(WebCore::SpeechSynthesis::getVoices):
* Modules/speech/SpeechSynthesis.idl: Added.
* Modules/speech/SpeechSynthesisEvent.cpp: Added.
(WebCore::SpeechSynthesisEvent::create):
(WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
* Modules/speech/SpeechSynthesisEvent.h: Added.
(SpeechSynthesisEvent):
(WebCore::SpeechSynthesisEvent::charIndex):
(WebCore::SpeechSynthesisEvent::elapsedTime):
(WebCore::SpeechSynthesisEvent::name):
* Modules/speech/SpeechSynthesisEvent.idl: Added.
* Modules/speech/SpeechSynthesisUtterance.cpp: Added.
(WebCore::SpeechSynthesisUtterance::create):
(WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
(WebCore::SpeechSynthesisUtterance::scriptExecutionContext):
(WebCore::SpeechSynthesisUtterance::interfaceName):
* Modules/speech/SpeechSynthesisUtterance.h: Added.
(SpeechSynthesisUtterance):
(WebCore::SpeechSynthesisUtterance::text):
(WebCore::SpeechSynthesisUtterance::setText):
(WebCore::SpeechSynthesisUtterance::lang):
(WebCore::SpeechSynthesisUtterance::setLang):
(WebCore::SpeechSynthesisUtterance::voiceURI):
(WebCore::SpeechSynthesisUtterance::setVoiceURI):
(WebCore::SpeechSynthesisUtterance::volume):
(WebCore::SpeechSynthesisUtterance::setVolume):
(WebCore::SpeechSynthesisUtterance::rate):
(WebCore::SpeechSynthesisUtterance::setRate):
(WebCore::SpeechSynthesisUtterance::pitch):
(WebCore::SpeechSynthesisUtterance::setPitch):
* Modules/speech/SpeechSynthesisUtterance.idl: Added.
* Modules/speech/SpeechSynthesisVoice.cpp: Added.
(WebCore::SpeechSynthesisVoice::create):
(WebCore::SpeechSynthesisVoice::SpeechSynthesisVoice):
* Modules/speech/SpeechSynthesisVoice.h: Added.
(SpeechSynthesisVoice):
(WebCore::SpeechSynthesisVoice::voiceURI):
(WebCore::SpeechSynthesisVoice::name):
(WebCore::SpeechSynthesisVoice::lang):
(WebCore::SpeechSynthesisVoice::localService):
(WebCore::SpeechSynthesisVoice::isDefault):
* Modules/speech/SpeechSynthesisVoice.idl: Added.
* Modules/speech/mac: Added.
* Modules/speech/mac/SpeechSynthesisMac.mm: Added.
(WebCore::SpeechSynthesis::pending):
(WebCore::SpeechSynthesis::speaking):
(WebCore::SpeechSynthesis::paused):
(WebCore::SpeechSynthesis::speak):
(WebCore::SpeechSynthesis::cancel):
(WebCore::SpeechSynthesis::pause):
(WebCore::SpeechSynthesis::resume):
* WebCore.xcodeproj/project.pbxproj:
* dom/EventNames.h:
* dom/EventNames.in:
* dom/EventTargetFactory.in:

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

6 years agoUnreviewed, rolling out r139853.
leviw@chromium.org [Wed, 16 Jan 2013 21:33:01 +0000 (21:33 +0000)]
Unreviewed, rolling out r139853.
http://trac.webkit.org/changeset/139853
https://bugs.webkit.org/show_bug.cgi?id=107049

Broke the ChromeOS ppapi_unittests (Requested by leviw on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-16

Source/WebCore:

* inspector/Inspector.json:
* inspector/InspectorInstrumentation.cpp:
(WebCore):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
* inspector/InspectorPageAgent.cpp:
* inspector/InspectorPageAgent.h:
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.PageDispatcher.prototype.frameDetached):
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::clear):
(WebCore::NavigationScheduler::timerFired):
(WebCore::NavigationScheduler::startTimer):
(WebCore::NavigationScheduler::cancel):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::finalProgressComplete):

LayoutTests:

* inspector-protocol/page/frameScheduledNavigation-expected.txt: Removed.
* inspector-protocol/page/frameScheduledNavigation.html: Removed.
* inspector-protocol/page/frameStartedLoading-expected.txt: Removed.
* inspector-protocol/page/frameStartedLoading.html: Removed.

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

6 years ago[CMake] Report actual values for feature configuration (instead of the default)
hugo.lima@openbossa.org [Wed, 16 Jan 2013 21:23:34 +0000 (21:23 +0000)]
[CMake] Report actual values for feature configuration (instead of the default)
https://bugs.webkit.org/show_bug.cgi?id=107010

Reviewed by Laszlo Gombos.

* Source/cmake/WebKitFeatures.cmake:

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

6 years ago[Chromium] Unreviewed gardening.
fmalita@chromium.org [Wed, 16 Jan 2013 21:18:18 +0000 (21:18 +0000)]
[Chromium] Unreviewed gardening.

Adding results for platform/chromium/compositing/rounded-corners.html.

* platform/chromium-mac/platform/chromium/compositing/rounded-corners-expected.png: Added.
* platform/chromium-win/platform/chromium/compositing/rounded-corners-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/chromium/platform/chromium/compositing/rounded-corners-expected.txt: Renamed from LayoutTests/platform/chromium-linux/platform/chromium/compositing/rounded-corners-expected.txt.

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

6 years agoSimplify validation and data copying in WebGLBuffer
kbr@google.com [Wed, 16 Jan 2013 21:09:08 +0000 (21:09 +0000)]
Simplify validation and data copying in WebGLBuffer
https://bugs.webkit.org/show_bug.cgi?id=106975

Reviewed by Dean Jackson.

No new tests; covered by existing tests. Ran WebGL layout tests and conformance tests.

* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::associateBufferDataImpl):
    Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
(WebCore::WebGLBuffer::associateBufferData):
    Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
(WebCore::WebGLBuffer::associateBufferSubDataImpl):
    Take (void*, int) pair instead of ArrayBuffer and offset. Simplifies code significantly.
(WebCore::WebGLBuffer::associateBufferSubData):
    Pass down base pointers and sizes rather than ArrayBuffer and optional offset.
* html/canvas/WebGLBuffer.h:
(WebGLBuffer):
    Change signatures of associateBufferDataImpl and associateBufferSubDataImpl.

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

6 years agoDelete an extraneous print statement.
dpranke@chromium.org [Wed, 16 Jan 2013 20:58:01 +0000 (20:58 +0000)]
Delete an extraneous print statement.
https://bugs.webkit.org/show_bug.cgi?id=106562

Delete the extraneous print statement introduced in r139841.

* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_found):

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

6 years agoPlease reinstate --pixel
commit-queue@webkit.org [Wed, 16 Jan 2013 20:27:59 +0000 (20:27 +0000)]
Please reinstate --pixel
https://bugs.webkit.org/show_bug.cgi?id=101995

Patch by Zan Dobersek <zdobersek@igalia.com> on 2013-01-16
Reviewed by Dirk Pranke.

Add the '--pixel' and '--no-pixel' options for NRWT as aliases for
the '--pixel-tests' (or '-p') and '--no-pixel-tests' options respectively.
Some developers are still used to these options that were available in the ORWT.

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

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

6 years agoinconsistency in drawImage with target rect negative dimensions.
commit-queue@webkit.org [Wed, 16 Jan 2013 20:25:06 +0000 (20:25 +0000)]
inconsistency in drawImage with target rect negative dimensions.
https://bugs.webkit.org/show_bug.cgi?id=100026

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-01-16
Reviewed by Dean Jackson.

PerformanceTests:

Create a drawImage performance test. There is no significative change
in performance: 27144.6851528 runs/s without the patch; 27153.517612
runs/s with the patch. Test is currently skipped.

* Canvas/drawimage.html: Added.
* Skipped:

Source/WebCore:

Remove -1, -1 special case in drawImage and drawImageBuffer. Replace
all -1 -1 arguments calls to with the correct rectangle dimensions.

Remove FloatRect(0, 0, -1, -1) default argument for srcRect, and
instead, add new overloaded functions to create a FloatRect from image
size.

Replace -1 -1 arguments calls in FEComposite::platformApplySoftware
with correct rectangle dimensions.

Replace ImageGStreamer rect method (which may return -1 -1 rectangle)
with cropRect method, and make caller check for rectangle emptiness.

* fast/canvas/drawImage-with-negative-source-destination-expected.txt:
* fast/canvas/drawImage-with-negative-source-destination.js:

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore):
(WebCore::GraphicsContext::drawImageBuffer):
* platform/graphics/GraphicsContext.h:
(GraphicsContext):
* platform/graphics/filters/FEComposite.cpp:
(WebCore::FEComposite::platformApplySoftware):
* platform/graphics/gstreamer/ImageGStreamer.h:
(WebCore::ImageGStreamer::rect):

LayoutTests:

Add a drawImage check for a destination rectangle with -1px
width/height. When drawing to (1, 1, -1, -1) rectangle, first
(top-left) pixel should have been and been the only one drawn into.

* fast/canvas/drawImage-with-negative-source-destination-expected.txt:
* fast/canvas/drawImage-with-negative-source-destination.js:

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

6 years agoAllow PaintInfo to carry all PaintBehavior flags
simon.fraser@apple.com [Wed, 16 Jan 2013 20:00:52 +0000 (20:00 +0000)]
Allow PaintInfo to carry all PaintBehavior flags
https://bugs.webkit.org/show_bug.cgi?id=106980

Reviewed by Sam Weinig.

PaintInfo has a single boolean for forceBlackText, but I'll be adding additional
paint behaviors that I'd like to access from PaintInfo, so it makes sense for
PaintInfo to just include the set of PaintBehavior flags.

Also add default values in the constructor arguments for rarely used parameters.

No behavior change, no tests.

* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint): Use the forceBlackText() function.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint): Call forceBlackText().
* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo): Pass PaintBehavior rather than a forceBlackText boolean.
(WebCore::PaintInfo::forceBlackText): Return true if the behavior flags contain PaintBehaviorForceBlackText.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass PaintBehaviorForceBlackText instead of 'true'
when painting for background-clip: text.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents): Pass PaintBehaviorNormal where we used to pass 'false',
and omit default 0 parameters.
* rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::renderSubtreeToImageBuffer): PaintBehaviorNormal and remove default params.

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

6 years agoLinkHighlight should use touch adjustment to match active state on GestureTapDown.
wjmaclean@chromium.org [Wed, 16 Jan 2013 19:48:44 +0000 (19:48 +0000)]
LinkHighlight should use touch adjustment to match active state on GestureTapDown.
https://bugs.webkit.org/show_bug.cgi?id=107032

Reviewed by Adam Barth.

Source/WebKit/chromium:

LinkHighlight node selection should produce results that match the node marked
active during GestureTapDown.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::bestTouchLinkNode):
* tests/LinkHighlightTest.cpp:
(WebCore::TEST):

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-multi-line.html:

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

6 years agoAdd a missing #if to fix the Mac build sans ENABLE_CSS_FILTERS.
timothy_horton@apple.com [Wed, 16 Jan 2013 19:26:57 +0000 (19:26 +0000)]
Add a missing #if to fix the Mac build sans ENABLE_CSS_FILTERS.

Rubber-stamped by Simon Fraser.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::cloneLayer):

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

6 years agoRemove --shark* support from sunspider/run-sunspider now that Shark is dead
eric@webkit.org [Wed, 16 Jan 2013 19:25:40 +0000 (19:25 +0000)]
Remove --shark* support from sunspider/run-sunspider now that Shark is dead
https://bugs.webkit.org/show_bug.cgi?id=99512

Reviewed by Darin Adler.

PerformanceTests/SunSpider:

I tried to use --instruments, but that also seems broken (in the same way before/after this patch).

* sunspider:
(runTestsOnce):

Tools:

* Scripts/run-sunspider:

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

6 years agoRemove webkitpy Visual Studio files, as core developers are not interested in maintai...
eric@webkit.org [Wed, 16 Jan 2013 19:23:08 +0000 (19:23 +0000)]
Remove webkitpy Visual Studio files, as core developers are not interested in maintaining them
https://bugs.webkit.org/show_bug.cgi?id=106036

Reviewed by Darin Adler.

* Scripts/webkitpy/webkitpy.pyproj: Removed.
* Scripts/webkitpy/webkitpy.sln: Removed.

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

6 years ago[V8] Make a creationContext parameter of toV8() mandatory
haraken@chromium.org [Wed, 16 Jan 2013 19:21:40 +0000 (19:21 +0000)]
[V8] Make a creationContext parameter of toV8() mandatory
https://bugs.webkit.org/show_bug.cgi?id=107020

Reviewed by Adam Barth.

Source/WebCore:

Currently a creationContext parameter of toV8() is optional:

  Handle<Value> toV8(..., Handle<Object> creationContext = Handle<Object>(), ...) {
    ...;
  }

On the other hand, looking at the implementation of
V8WrapperInstantiationScope:

    explicit V8WrapperInstantiationScope(v8::Handle<v8::Object> creationContext)
        : m_didEnterContext(false)
        , m_context(v8::Context::GetCurrent())
    {
        if (creationContext.IsEmpty()) // We do nothing for this case!
            return;
        v8::Handle<v8::Context> contextForWrapper = creationContext->CreationContext();
        if (contextForWrapper == m_context)
            return;
        m_context = v8::Local<v8::Context>::New(contextForWrapper);
        m_didEnterContext = true;
        m_context->Enter();
    }

we're assuming that a creationContext parameter is passed
to toV8() when a creationContext exists. In other words,
if we forget to pass a creationContext parameter, we will
end up with creating an object on the current context, which
is wrong. To avoid the mistake, we should make the
creationContext parameter mandatory. When we really do not
have a creationContext, we can pass Handle<Object>() explicitly.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8Float64Array.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::toV8):
* bindings/v8/IDBBindingUtilities.cpp:
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::idbKeyToScriptValue):
* bindings/v8/ScriptController.cpp:
(WebCore::createScriptObject):
(WebCore::ScriptController::createScriptObjectForPluginElement):
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::currentCallFrame):
* bindings/v8/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::handleEvent):
(WebCore::V8AbstractEventListener::getReceiverObject):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::updateDocumentProperty):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::toObjectWrapper):
* bindings/v8/V8MutationCallback.cpp:
(WebCore::V8MutationCallback::handleEvent):
* bindings/v8/V8NodeFilterCondition.cpp:
(WebCore::V8NodeFilterCondition::acceptNode):
* bindings/v8/V8WorkerContextEventListener.cpp:
(WebCore::V8WorkerContextEventListener::handleEvent):
(WebCore::V8WorkerContextEventListener::getReceiverObject):
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
(WebCore::V8SQLStatementErrorCallback::handleEvent):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::InjectedScriptHost::nodeAsScriptValue):
* css/MediaQueryListListener.cpp:
(WebCore::MediaQueryListListener::queryChanged):
* testing/v8/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):

Source/WebKit/chromium:

We pass Handle<Object>() to a creationContext parameter of
toV8() when we do not have a creationContext.

No tests. No change in behavior.

* src/InspectorFrontendClientImpl.cpp:
(WebKit::InspectorFrontendClientImpl::windowObjectCleared):
* src/WebArrayBuffer.cpp:
(WebKit::WebArrayBuffer::toV8Value):
* src/WebBlob.cpp:
(WebKit::WebBlob::toV8Value):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createSerializableFileSystem):
(WebKit::WebFrameImpl::createFileEntry):

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

6 years agoAdd a Setting to disable QTKit media engine.
jer.noble@apple.com [Wed, 16 Jan 2013 19:19:59 +0000 (19:19 +0000)]
Add a Setting to disable QTKit media engine.
https://bugs.webkit.org/show_bug.cgi?id=106972

Reviewed by Eric Carlson.

Source/WebCore:

Allow the MediaPlayerPrivateQTKit engine to be disabled by adding a
runtime setting to Settings. Make the setting 'live' by requerying the
installed media engines when the setting changes.

* WebCore.exp.in: Add new symbols to export list.
* page/Settings.cpp: Add new gQTKitEnabled global.
(WebCore::Settings::setAVFoundationEnabled): Requery media engines.
(WebCore::Settings::setQTKitEnabled): Ditto. Setter for global setting variable.
* page/Settings.h:
(WebCore::Settings::isQTKitEnabled): Getter for same.
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines): Check isQTKitEnabled() before adding
    MediaPlayerPrivateQTKit engine.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::requeryMediaEngines): Pass through to MediaPlayer.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines): Take an optional requery options parameter.
(WebCore::MediaPlayer::requeryMediaEngines): Pass through to installedMediaEngines().
* platform/graphics/MediaPlayer.h:

Source/WebKit/mac:

Add WebKit API to set QTKit enabled setting from user defaults.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Set WebCore settings based on user defaults.
(-[WebPreferences setQTKitEnabled:]): Pass through to WebCore.
(-[WebPreferences isQTKitEnabled]): Ditto.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Synchronize WebKit/WebCore settings.

Source/WebKit2:

Add a WebKit2 API to access WebCore QTKitEnabled settings.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetQTKitEnabled): Pass through to WebCore.
(WKPreferencesGetQTKitEnabled): Ditto.
* UIProcess/API/C/WKPreferences.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Synchronize WebKit2/WebCore settings.

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

6 years ago[Chromium] Move WebArrayBufferView and WebSerializedScriptValue out of public/platform/
pilgrim@chromium.org [Wed, 16 Jan 2013 19:04:23 +0000 (19:04 +0000)]
[Chromium] Move WebArrayBufferView and WebSerializedScriptValue out of public/platform/
https://bugs.webkit.org/show_bug.cgi?id=106863

Reviewed by Adam Barth.

These are not being moved into the new top-level Platform
directory, so into public they go.

* WebKit.gyp:
* public/WebArrayBufferView.h: Added.
(v8):
(WebKit):
(WebArrayBufferView):
(WebKit::WebArrayBufferView::~WebArrayBufferView):
(WebKit::WebArrayBufferView::WebArrayBufferView):
* public/WebSerializedScriptValue.h: Added.
(v8):
(WebKit):
(WebSerializedScriptValue):
(WebKit::WebSerializedScriptValue::~WebSerializedScriptValue):
(WebKit::WebSerializedScriptValue::WebSerializedScriptValue):
(WebKit::WebSerializedScriptValue::operator=):
(WebKit::WebSerializedScriptValue::isNull):
* public/platform/WebArrayBufferView.h:
* public/platform/WebSerializedScriptValue.h:

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

6 years ago[gstreamer] Some media tests occasionally crash with gstreamer 1.0 backend
christophe.dumez@intel.com [Wed, 16 Jan 2013 18:44:18 +0000 (18:44 +0000)]
[gstreamer] Some media tests occasionally crash with gstreamer 1.0 backend
https://bugs.webkit.org/show_bug.cgi?id=106551

Reviewed by Philippe Normand.

ImageGStreamerCairo was passing mapped memory to
cairo_image_surface_create_for_data() and then unmapping it straight
away even though the cairo_surface_t is still used. The cairo
documentation states:
"The output buffer must be kept around until the cairo_surface_t is
destroyed or cairo_surface_finish() is called on the surface."

This patch keeps the GstBuffer memory mapped until the ImageGStreamer
is destroyed so that the internal cairo_surface_t stays valid while
avoiding copying the image data.

No new tests, already covered by existing tests.

* platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
(WTF):
(WTF::GstBuffer):
* platform/graphics/gstreamer/GRefPtrGStreamer.h:
(WTF): Add support for using GRefPtr with GstBuffer.
* platform/graphics/gstreamer/ImageGStreamer.h:
(ImageGStreamer):
* platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
(ImageGStreamer::ImageGStreamer):
(ImageGStreamer::~ImageGStreamer):

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

6 years ago[Chromium] Remove hardcoded chromium_*.jar in gyp files
commit-queue@webkit.org [Wed, 16 Jan 2013 18:37:48 +0000 (18:37 +0000)]
[Chromium] Remove hardcoded chromium_*.jar in gyp files
https://bugs.webkit.org/show_bug.cgi?id=104049

Patch by Chris Hopman <cjhopman@chromium.org> on 2013-01-16
Reviewed by Eric Seidel.

Targets with dependencies (direct/indirect) on a java target receive
the chromium_*.jar paths in the variable input_jars_paths. Targets
should use that rather than hardcoding where they think the jar will
be. These can be passed directly to ant as INPUT_JARS_PATHS rather
than as --jars to generate_native_test.py.

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

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

6 years agoUse SkMatrix::I() when we need to pass identity, rather than constructing a new matrix.
reed@google.com [Wed, 16 Jan 2013 18:32:46 +0000 (18:32 +0000)]
Use SkMatrix::I() when we need to pass identity, rather than constructing a new matrix.
https://bugs.webkit.org/show_bug.cgi?id=107016

Reviewed by James Robinson.

No new tests. existing tests exercise this code.

The default constructor is being deprecated, so this change is also part of that effort,
though it is a perf-improvement regardless, since we avoid making a new (temp) matrix.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):

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

6 years agoUnreviewed gardening. Marking several tests as crashing on Debug builds following
leviw@chromium.org [Wed, 16 Jan 2013 18:32:23 +0000 (18:32 +0000)]
Unreviewed gardening. Marking several tests as crashing on Debug builds following
r139853.

* platform/chromium/TestExpectations:

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

6 years agoUnreveiwed gardening. Updating expectations following r139865.
leviw@chromium.org [Wed, 16 Jan 2013 18:23:16 +0000 (18:23 +0000)]
Unreveiwed gardening. Updating expectations following r139865.

* platform/chromium-linux/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-mac/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium/TestExpectations:

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

6 years agoRenderListMarker::computePreferredLogicalWidth should not be public
ojan@chromium.org [Wed, 16 Jan 2013 18:02:46 +0000 (18:02 +0000)]
RenderListMarker::computePreferredLogicalWidth should not be public
https://bugs.webkit.org/show_bug.cgi?id=106956

Reviewed by Tony Chang.

RenderListItem was calling computePreferredLogicalWidths for the side
effects of updating the marker content and margins. Instead, call
updateMarginsAndContent directly.

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::updateMarkerLocation):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::layout):
The isImage() codepath never calls computePreferredLogicalWidths, so we need to make
sure the content and margins are updated.

(WebCore::RenderListMarker::updateContent):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMarginsAndContent):
* rendering/RenderListMarker.h:

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

6 years ago[GTK] Safeguard against possible NULL-dereference
commit-queue@webkit.org [Wed, 16 Jan 2013 18:00:17 +0000 (18:00 +0000)]
[GTK] Safeguard against possible NULL-dereference
https://bugs.webkit.org/show_bug.cgi?id=104931

Patch by Claudio Saavedra <csaavedra@igalia.com> on 2013-01-16
Reviewed by Martin Robinson.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetIndexInParent): Move the NULL-safeguard to a
place where it actually makes sense.

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

6 years agoWest-panning cursor does not match resize cursor, unlike all other directions
commit-queue@webkit.org [Wed, 16 Jan 2013 17:49:03 +0000 (17:49 +0000)]
West-panning cursor does not match resize cursor, unlike all other directions
https://bugs.webkit.org/show_bug.cgi?id=89405

Patch by Avi Drissman <avi@google.com> on 2013-01-16
Reviewed by Alexey Proskuryakov.

Existing manual tests.

* platform/mac/CursorMac.mm:
(WebCore::Cursor::ensurePlatformCursor):

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

6 years agoGroundwork to enable process suppression by default on Mac
commit-queue@webkit.org [Wed, 16 Jan 2013 17:44:57 +0000 (17:44 +0000)]
Groundwork to enable process suppression by default on Mac
https://bugs.webkit.org/show_bug.cgi?id=106513

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-01-16
Reviewed by Alexey Proskuryakov.

Process suppression has so far been controlled by a user default and
disabled by default.  This patch provides the groundwork to enable it by
default and adds a private API to enable/disable it on a per-context
basis.

* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::platformInitialize): Add comment about
initilization of application occlusion state.
* UIProcess/API/C/mac/WKContextPrivateMac.cpp: Added.
(WKContextGetProcessSuppressionEnabled):
(WKContextSetProcessSuppressionEnabled):
Add private API to enable/disable process suppression on a per-context
basis.
* UIProcess/API/C/mac/WKContextPrivateMac.h: Added.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching): Check if owning
context has process suppression enabled before updating application
occlusion state.
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching): Ditto.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching): Check if
process suppression is enabled for global child processes before
updating application occlusion state.
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didFinishLaunching): Ditto.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::create): Remove call to
initializeProcessSuppressionSupport, since platformInitialize has been
modified to perform initialization.
(WebKit::WebContext::WebContext): Initialize new member variable
m_processSuppressionEnabled to false.
* UIProcess/WebContext.h:
(WebKit::WebContext::processSuppressionEnabled): Remove "Support"
from the method name.
* UIProcess/mac/WebContextMac.mm:
(WebKit::updateGlobalChildProcessesApplicationOcclusionState):
(WebKit::applicationOcclusionStateChanged): Update the application
occlusion state of child processes having process suppresion enabled.
(WebKit::applicationBecameVisible):
(WebKit::applicationBecameOccluded):
Simplify by moving code to applicationOcclusionStateChanged.
(WebKit::registerOcclusionNotificationHandlers): Fix typos.
(WebKit::unregisterOcclusionNotificationHandlers): Add
method to unregister occlusion notification handlers when no context
has process suppression enabled.
(WebKit::enableOcclusionNotifications):
(WebKit::disableOcclusionNotifications):
(WebKit::enableProcessSuppressionForGlobalChildProcesses):
(WebKit::disableProcessSuppressionForGlobalChildProcesses):
(WebKit::processSuppressionIsEnabledForAnyContext):
(WebKit::processSuppressionIsEnabledForAllContexts):
(WebKit::WebContext::platformInitialize): Disable process suppression
for global child processes since process suppression is disabled for a
context on construction.
(WebKit::WebContext::setProcessSuppressionEnabled):
(WebKit::WebContext::updateChildProcessesApplicationOcclusionState):
(WebKit::WebContext::applicationIsOccluded):
(WebKit::WebContext::processSuppressionEnabledForGlobalChildProcesses):
(WebKit::WebContext::processSuppressionEnabledChanged): Update child
processes application occlusion state, enable/disable occlusion
notifications and enable/disable process suppression for global child
processes.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoWeb Inspector: array grouping does not work for float number keys
aandrey@chromium.org [Wed, 16 Jan 2013 16:56:17 +0000 (16:56 +0000)]
Web Inspector: array grouping does not work for float number keys
https://bugs.webkit.org/show_bug.cgi?id=106998

Reviewed by Pavel Feldman.

Source/WebCore:

Now we do the array index check according to the ECMAScript 5, section 15.4:
"A property name P (in the form of a String value) is an array index if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32-1."

* inspector/front-end/ObjectPropertiesSection.js:
(.buildObjectFragment):

LayoutTests:

* inspector/console/console-big-array-expected.txt:
* inspector/console/console-big-array.html:

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

6 years agoWeb Inspector: Show formatted content of JSON request
commit-queue@webkit.org [Wed, 16 Jan 2013 16:54:49 +0000 (16:54 +0000)]
Web Inspector: Show formatted content of JSON request
https://bugs.webkit.org/show_bug.cgi?id=106900

Patch by Sergey Ryazanov <serya@chromium.org> on 2013-01-16
Reviewed by Vsevolod Vlasov.

"Request payload" section showed raw content for POST requests.
This change show it in structured format if it's JSON parsable.
Raw format is also available.

* inspector/front-end/RequestHeadersView.js:
(WebInspector.RequestHeadersView.prototype._refreshQueryString):
(WebInspector.RequestHeadersView.prototype._refreshFormData):
(WebInspector.RequestHeadersView.prototype.toggleViewSource):
(WebInspector.RequestHeadersView.prototype._refreshParams):

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

6 years agoWeb Inspector: UISourceCode scriptFile / styleFile should be reset on navigation...
vsevik@chromium.org [Wed, 16 Jan 2013 16:48:30 +0000 (16:48 +0000)]
Web Inspector: UISourceCode scriptFile / styleFile should be reset on navigation (debugger or css model reset).
https://bugs.webkit.org/show_bug.cgi?id=107008

Reviewed by Pavel Feldman.

ScriptFiles and styleFiles are now reset and disposed on UISourceCodes on corresponding models reset.
StyleSourceMapping now tries to setup mapping for newly added resource as well as for uiSourceCodes previously.

* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel):
(WebInspector.CSSStyleModel.prototype._mainFrameCreatedOrNavigated):
* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptMapping):
(WebInspector.ResourceScriptMapping.prototype._unbindUISourceCodeFromScripts):
(WebInspector.ResourceScriptMapping.prototype._initialize):
(WebInspector.ResourceScriptMapping.prototype._debuggerReset):
(WebInspector.ResourceScriptFile.prototype.dispose):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._addFrame):
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel):
(WebInspector.ScriptSnippetModel.prototype._debuggerReset):
* inspector/front-end/StylesSourceMapping.js:
(WebInspector.StylesSourceMapping):
(WebInspector.StylesSourceMapping.prototype._resourceAdded):
(WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):
(WebInspector.StylesSourceMapping.prototype._bindUISourceCode):
(WebInspector.StylesSourceMapping.prototype._projectWillReset):
(WebInspector.StylesSourceMapping.prototype._initialize):
(WebInspector.StylesSourceMapping.prototype._mainFrameCreatedOrNavigated):
(WebInspector.StyleFile.prototype.dispose):

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

6 years ago[GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid...
kov@webkit.org [Wed, 16 Jan 2013 16:26:10 +0000 (16:26 +0000)]
[GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
https://bugs.webkit.org/show_bug.cgi?id=105552

Reverting 139877. It made a couple of API tests fail.

* platform/graphics/gstreamer/GStreamerVersioning.cpp:
* platform/graphics/gstreamer/GStreamerVersioning.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient):
(_WebKitWebSrcPrivate):
(webKitWebSrcFinalize):
(webKitWebSrcStop):
(StreamingClient::didReceiveData):
* platform/network/ResourceHandleClient.h:
(ResourceHandleClient):
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
(ResourceHandleInternal):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::cleanupSoupRequestOperation):
(WebCore::nextMultipartResponsePartCallback):
(WebCore::sendRequestCallback):
(WebCore::readCallback):

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

6 years agoWeb Inspector: cookies with empty value are parsed incorrectly
caseq@chromium.org [Wed, 16 Jan 2013 16:00:38 +0000 (16:00 +0000)]
Web Inspector: cookies with empty value are parsed incorrectly
https://bugs.webkit.org/show_bug.cgi?id=107012

Reviewed by Pavel Feldman.

Source/WebCore:

Require cookie value to be a string, not a non-empty string, before
employing legacy compatibility hack of treating bare token as value
for the cookie with an empty name.

* inspector/front-end/CookieParser.js:
(WebInspector.CookieParser.prototype._addCookie):

LayoutTests:

* inspector/cookie-parser-expected.txt:
* inspector/cookie-parser.html:

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

6 years agoUnreviewed EFL build fix after r139877.
g.czajkowski@samsung.com [Wed, 16 Jan 2013 15:35:19 +0000 (15:35 +0000)]
Unreviewed EFL build fix after r139877.

* platform/graphics/gstreamer/GStreamerVersioning.cpp:
(getGstBufferDataPointer): Add const modifier to webkitGstMapInfoQuarkString.

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

6 years agoWeb Inspector: create helper InspectorTest method to dump editor HTML
pfeldman@chromium.org [Wed, 16 Jan 2013 15:26:14 +0000 (15:26 +0000)]
Web Inspector: create helper InspectorTest method to dump editor HTML
https://bugs.webkit.org/show_bug.cgi?id=107007

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-16
Reviewed by Pavel Feldman.

Add helper method to dump textEditor HTML.

* inspector/editor/editor-test.js:
(initialize_EditorTests.InspectorTest.dumpEditorHTML): Added.
* inspector/editor/text-editor-highlight-regexp.html:

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

6 years agoWeb Inspector: [Extensions API] remove inspectedWindow.onReset event
caseq@chromium.org [Wed, 16 Jan 2013 15:20:24 +0000 (15:20 +0000)]
Web Inspector: [Extensions API] remove inspectedWindow.onReset event
https://bugs.webkit.org/show_bug.cgi?id=107009

Reviewed by Vsevolod Vlasov.

Source/WebCore:

* inspector/front-end/ExtensionAPI.js:
(defineCommonExtensionSymbols):
(injectedExtensionAPI.InspectorExtensionAPI):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype.initExtensions):

LayoutTests:

* inspector/extensions/extensions-api-expected.txt: removed webInspector.onReset.

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

6 years agoWeb Inspector: fix text-editor-highlight-regexp test
pfeldman@chromium.org [Wed, 16 Jan 2013 15:13:10 +0000 (15:13 +0000)]
Web Inspector: fix text-editor-highlight-regexp test
https://bugs.webkit.org/show_bug.cgi?id=107006

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-16
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Use 'height: 100%' instead of pixel values on highlight spans to bring in some platform independency in test expectations.

No new tests: no changes in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._measureRegex):
(WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
* inspector/front-end/textEditor.css:
(.text-editor-overlay-highlight):
(.webkit-line-content):

LayoutTests:

Fixing test expectations: no more height style.

* inspector/editor/text-editor-highlight-regexp-expected.txt:

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

6 years ago[Qt] Use the shared HistoryItem serialization for QWebHistory
jocelyn.turcotte@digia.com [Wed, 16 Jan 2013 15:06:46 +0000 (15:06 +0000)]
[Qt] Use the shared HistoryItem serialization for QWebHistory
https://bugs.webkit.org/show_bug.cgi?id=106671

Reviewed by Allan Sandfeld Jensen.

Source/WebCore:

This allows a few things missing from the previous serialization code
to function while using commonly maintained code:
- The itemSequenceNumber and documentSequenceNumber that were needed
  to properly restore same-document navigations
- The form data
- The navigation hierarchy mapping the frame tree

* history/HistoryItem.h:
(HistoryItem):
* history/qt/HistoryItemQt.cpp:
(QDataStreamCoder):
(WebCore):
(WebCore::QDataStreamCoder::QDataStreamCoder):
(WebCore::QDataStreamCoder::encodeBytes):
(WebCore::QDataStreamCoder::encodeBool):
(WebCore::QDataStreamCoder::encodeUInt32):
(WebCore::QDataStreamCoder::encodeUInt64):
(WebCore::QDataStreamCoder::encodeInt32):
(WebCore::QDataStreamCoder::encodeInt64):
(WebCore::QDataStreamCoder::encodeFloat):
(WebCore::QDataStreamCoder::encodeDouble):
(WebCore::QDataStreamCoder::encodeString):
(WebCore::QDataStreamCoder::decodeBytes):
(WebCore::QDataStreamCoder::decodeBool):
(WebCore::QDataStreamCoder::decodeUInt32):
(WebCore::QDataStreamCoder::decodeUInt64):
(WebCore::QDataStreamCoder::decodeInt32):
(WebCore::QDataStreamCoder::decodeInt64):
(WebCore::QDataStreamCoder::decodeFloat):
(WebCore::QDataStreamCoder::decodeDouble):
(WebCore::QDataStreamCoder::decodeString):
(WebCore::HistoryItem::restoreState):
(WebCore::WebCore::HistoryItem::saveState):

Source/WebKit/qt:

Bump the serialization version and change the code to abort the
restore of a previous stream version rather than trying to keep the
support of restoring previous versions. This is mainly to simplify
things given that HistoryItem itself aborts in that case.

* Api/qwebhistory.cpp:
(operator<<):
(operator>>):
* tests/qwebhistory/tst_qwebhistory.cpp:
(tst_QWebHistory::serialize_2): Modify the test to cover same-document navigations.
(tst_QWebHistory::restoreIncompatibleVersion1): Add a previous version
hard-coded stream to verify that the deserialization doesn't hang or
crash.

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

6 years ago[GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid...
kov@webkit.org [Wed, 16 Jan 2013 14:15:58 +0000 (14:15 +0000)]
[GStreamer][Soup] Let GStreamer provide the buffer data is downloaded to, to avoid copying
https://bugs.webkit.org/show_bug.cgi?id=105552

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-01-15
Reviewed by Philippe Normand.

Makes it possible for the GStreamer media backend to provide the buffer to which
the Soup networking backend will use to download data to. This makes copying
memory unnecessary when ResourceHandle hands data over to the media player's
StreamingClient. Thanks to Dan Winship for help designing the interface.

No behaviour change, covered by existing tests.

* platform/graphics/gstreamer/GStreamerVersioning.cpp:
(getGstBufferSize): Abstract obtaining the size of the buffer, so the code
is cleaner while still working for both GST 0.10 and 1.0.
(setGstBufferSize): Ditto, but for setting the size.
(getGstBufferDataPointer): Ditto, but for grabbing the data pointer.
(mapGstBuffer): Convenience method to take care of mapping the buffer so that
we can provide the data pointer to ResourceHandle.
(unmapGstBuffer): Convenience method which takes care of unmapping the buffer
and properly freeing the GstMapInfo.
* platform/graphics/gstreamer/GStreamerVersioning.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient): New methods.
(_WebKitWebSrcPrivate): We now store the GstBuffer we provided the data pointer from
so we can later unmap it and push it to the pipeline.
(webKitWebSrcDispose): Deal with the GstBuffer in case it exists when the source is
destroyed.
(webKitWebSrcStop): Also clear the GstBuffer in this case.
(StreamingClient::didReceiveData): Handle the hand-over of the buffer.
(StreamingClient::getBuffer): Provide ResourceHandle with a new GstBuffer's data pointer.
* platform/network/ResourceHandleClient.h:
(ResourceHandleClient):
(WebCore::ResourceHandleClient::ResourceHandleClient): Constructor to initialize the buffer
member variable to 0.
(WebCore::ResourceHandleClient::~ResourceHandleClient): Destructor to free the buffer if it
has been allocated.
(WebCore::ResourceHandleClient::getBuffer): Default implementation which returns a
newly allocated char pointer.
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
(ResourceHandleInternal): Store actual buffer size, which is no longer a constant.
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::cleanupSoupRequestOperation): Clear the buffer pointer, the life-cycle of the
buffer is handled by the ResourceHandleClient.
(WebCore::nextMultipartResponsePartCallback): Get a new buffer from the client before reading.
(WebCore::sendRequestCallback): Ditto.
(WebCore::readCallback): Ditto.

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

6 years ago[Qt] Crash in WebCore::CachedFrame::destroy
jocelyn.turcotte@digia.com [Wed, 16 Jan 2013 13:55:49 +0000 (13:55 +0000)]
[Qt] Crash in WebCore::CachedFrame::destroy
https://bugs.webkit.org/show_bug.cgi?id=104525

Reviewed by Adam Barth.

Source/WebCore:

Add an assert to increase the chances of catching this crash
early on in the future.

* dom/Document.cpp:
(WebCore::Document::takeDOMWindowFrom):

Source/WebKit/qt:

Remove the call to HistoryController::setCurrentItem which is ultimately
causing the initial empty document of a page to be added to the page cache.

This re-introduce the bug that was fixed by this line, which will be
properly fixed in a follow-up patch.

* Api/qwebhistory.cpp:
(operator>>):
* tests/qwebhistory/tst_qwebhistory.cpp:
(tst_QWebHistory::saveAndRestore_crash_4): Cover the crash.

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

6 years ago[chromium] move setMockDeviceOrientation to TestRunner library
commit-queue@webkit.org [Wed, 16 Jan 2013 13:50:31 +0000 (13:50 +0000)]
[chromium] move setMockDeviceOrientation to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=106895

Patch by Dan Carney <dcarney@google.com> on 2013-01-16
Reviewed by Jochen Eisinger.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebKit):
(WebTestRunner::WebTestDelegate::setDeviceOrientation):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::setMockDeviceOrientation):
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::setDeviceOrientation):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 16 Jan 2013 13:17:25 +0000 (13:17 +0000)]
Unreviewed GTK gardening.

Updating or removing a few stale expectations.
Adding two failure expectations for MicroData tests that are
failing after r139673.

* platform/gtk/TestExpectations:

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

6 years agoWeb Inspector: fix Сlosure warnings in devTools front-end
commit-queue@webkit.org [Wed, 16 Jan 2013 13:11:28 +0000 (13:11 +0000)]
Web Inspector: fix Сlosure warnings in devTools front-end
https://bugs.webkit.org/show_bug.cgi?id=106993

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-16
Reviewed by Vsevolod Vlasov.

Add missing annotations and rename Element.remove() method to avoid collision with HTMLSelectElement.remove() method.

No new tests: no change in behaviour.

* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.hasChildNodes):
(WebInspector.DOMNode.prototype.getChildNodes):
* inspector/front-end/DOMExtension.js:
(Element.prototype.removeSelf):
(removeSubsequentNodes):
* inspector/front-end/DefaultTextEditor.js:
* inspector/front-end/SettingsScreen.js:
(WebInspector.OverridesSettingsTab):
* inspector/front-end/SourceTokenizer.js:
(WebInspector.SourceTokenizer):

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

6 years ago[chromium] route more webkit_support and webviewhost callbacks through WebTestDelegate
jochen@chromium.org [Wed, 16 Jan 2013 12:41:47 +0000 (12:41 +0000)]
[chromium] route more webkit_support and webviewhost callbacks through WebTestDelegate
https://bugs.webkit.org/show_bug.cgi?id=106904

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::notifyDone):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner::WebTestDelegate::setDeviceScaleFactor):
(WebTestRunner::WebTestDelegate::setFocus):
(WebTestRunner::WebTestDelegate::setAcceptAllCookies):
(WebTestRunner::WebTestDelegate::pathToLocalResource):
(WebTestRunner::WebTestDelegate::setLocale):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::setAlwaysAcceptCookies):
(WebTestRunner):
(WebTestRunner::TestRunner::setWindowIsKey):
(WebTestRunner::TestRunner::pathToLocalResource):
(WebTestRunner::TestRunner::setBackingScaleFactor):
(WebTestRunner::TestRunner::setPOSIXLocale):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(WebTestRunner::TestRunner::taskList):
(TestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::setDeviceScaleFactor):
(WebViewHost::setFocus):
(WebViewHost::setAcceptAllCookies):
(WebViewHost::pathToLocalResource):
(WebViewHost::setLocale):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

6 years agoWeb Inspector: fix backward compatibility issues with Element.remove() method
commit-queue@webkit.org [Wed, 16 Jan 2013 12:16:41 +0000 (12:16 +0000)]
Web Inspector: fix backward compatibility issues with Element.remove() method
https://bugs.webkit.org/show_bug.cgi?id=106996

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-16
Reviewed by Vsevolod Vlasov.

Add javascript implementations for CharacterData.prototype.remove and DocumentType.prototype.remove.

No new tests: no change in behaviour.

* inspector/front-end/DOMExtension.js:

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

6 years agoGraphicsSurfaceGLX is leaking an XWindow
zeno.albisser@digia.com [Wed, 16 Jan 2013 12:13:45 +0000 (12:13 +0000)]
GraphicsSurfaceGLX is leaking an XWindow
https://bugs.webkit.org/show_bug.cgi?id=107002

The XWindow created as a backing surface for
the GraphicsSurfaceGLX needs to be destroyed
together with the GraphicsSurface.

Reviewed by Noam Rosenthal.

* platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurfacePrivate::clear):

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

6 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 16 Jan 2013 12:02:43 +0000 (12:02 +0000)]
[EFL] Unreviewed gardening.

Marking compositing/layer-creation/overlap-animation-container as failure
after it started failing in r139794, might just need a rebaseline but first let's have
someone familiar with AC look at it.

* platform/efl/TestExpectations:

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

6 years ago[GTK] build-webkit fails if the jhbuild wrapper is not used
sergio@webkit.org [Wed, 16 Jan 2013 12:00:50 +0000 (12:00 +0000)]
[GTK] build-webkit fails if the jhbuild wrapper is not used
https://bugs.webkit.org/show_bug.cgi?id=106769

Reviewed by Martin Robinson.

Return an empty array instead of "" in
jhbuildWrapperPrefixIfNeeded() because otherwise that empty string
will not be recognized as a valid command when the returned array
is directly passed to perl's system() call.

* Scripts/webkitdirs.pm:
(jhbuildWrapperPrefixIfNeeded):

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

6 years agoDoesn't build with GCC 4.7+
allan.jensen@digia.com [Wed, 16 Jan 2013 11:51:32 +0000 (11:51 +0000)]
Doesn't build with GCC 4.7+
https://bugs.webkit.org/show_bug.cgi?id=106999

Reviewed by Csaba Osztrogonác.

Correct __GNU_C_MINOR__ macro to __GNUC_MINOR__.

* src/compiler/preprocessor/ExpressionParser.y:

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

6 years agoImplement CSSSupportsRule
commit-queue@webkit.org [Wed, 16 Jan 2013 11:30:50 +0000 (11:30 +0000)]
Implement CSSSupportsRule
https://bugs.webkit.org/show_bug.cgi?id=104822

Patch by Pablo Flouret <pablof@motorola.com> on 2013-01-16
Reviewed by Allan Sandfeld Jensen.

Source/WebCore:

http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface

Right now, @supports is not implemented as a proper CSSRule. Apart from
the CSSOM implications it gives wrong results when, for instance, an
@supports rule is nested inside a @media rule.

Test: css3/supports-cssom.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
    Add CSSSupportsRule.* and associated files.

* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJS):
* bindings/objc/DOMCSS.mm:
(kitClass):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::wrap):
    Create the correct wrappers for the rule.

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::createSupportsRule):
(WebCore::CSSParser::markSupportsRuleHeaderStart):
(WebCore::CSSParser::markSupportsRuleHeaderEnd):
* css/CSSParser.h:
    Create the supports rule when parsing and add it where it corresponds,
    instead of directly adding the child rules to the stylesheet.

* css/CSSPropertySourceData.h:
* css/CSSRule.h:
* css/CSSRule.idl:
    Add SUPPORTS_RULE type to enums.

* css/CSSSupportsRule.cpp: Added.
(WebCore::CSSSupportsRule::CSSSupportsRule):
(WebCore::CSSSupportsRule::~CSSSupportsRule):
(WebCore::CSSSupportsRule::cssText):
(WebCore::CSSSupportsRule::conditionText):
* css/CSSSupportsRule.h: Added.
(WebCore::CSSSupportsRule::create):
* css/CSSSupportsRule.idl: Added.
    DOM interface.

* css/RuleSet.cpp:
(WebCore::RuleSet::addChildRules):
    Add rules included in the @supports rule.

* css/StyleResolver.cpp:
(WebCore::collectCSSOMWrappers):
    Collect CSSSupportsRule wrappers.

* css/StyleRule.cpp:
(WebCore::StyleRuleBase::reportMemoryUsage):
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRuleBase::createCSSOMWrapper):
(WebCore::StyleRuleSupports::StyleRuleSupports):
* css/StyleRule.h:
(StyleRuleBase):
(WebCore::StyleRuleBase::isSupportsRule):
(StyleRuleSupports):
(WebCore::StyleRuleSupports::create):
(WebCore::StyleRuleSupports::conditionText):
(WebCore::StyleRuleSupports::conditionIsSupported):
(WebCore::StyleRuleSupports::copy):
(WebCore::toStyleRuleSupports):
    New subclass of StyleRuleBlock: StyleRuleSupports.

* css/StyleSheetContents.cpp:
(WebCore::childRulesHaveFailedOrCanceledSubresources):
* inspector/InspectorStyleSheet.cpp:
(flattenSourceData):
(WebCore::asCSSRuleList):
    Handle @supports rules where needed.

LayoutTests:

* css3/supports-cssom-expected.txt: Added.
* css3/supports-cssom.html: Added.
* css3/supports-expected.txt:
* css3/supports.html:

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wk2/TestExpectations:

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

6 years agoINPUT_MULTIPLE_FIELDS_UI: Unable to edit a time field with step=86400, and confusing...
tkent@chromium.org [Wed, 16 Jan 2013 11:04:36 +0000 (11:04 +0000)]
INPUT_MULTIPLE_FIELDS_UI: Unable to edit a time field with step=86400, and confusing appearance
https://bugs.webkit.org/show_bug.cgi?id=106983

Reviewed by Kentaro Hara.

Source/WebCore:

For example, we show a read-only hour field and a read-only minutes
field for <input type=time min="17:00" step=86400> because the step
value is 24 hours and the hour field can be only 17. However, we need to
provide a way to clear the value of the time field in such case. We
shouldn't make the hour field read-only if no other fields are editable.

- We don't make hour fields read-only for input[type=time].

- We make hour fields read-only for input[type=datetime-local] only if
  year, month, or day field is editable. e.g.
  <input type=datetime-local min=2013-01-16T17:00 step=86400>:
    The hour field is read-only, and year/month/day fields are editable.
  <input type=datetime-local min=2013-01-16T17:00 max=2013-01-16T18:00 step=86400>:
    The hour field is editable, and year/month/day fields are read-only.

Test: fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html

* html/shadow/DateTimeEditElement.cpp:
(DateTimeEditBuilder): Declare new functions.
(WebCore::DateTimeEditBuilder::getRangeOfDayOfMonthField):
Added a function by extracting some code from visitField.
(WebCore::DateTimeEditBuilder::visitField):
(WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldReadOnly):
Added a function by extracting some code from visitField.
(WebCore::DateTimeEditBuilder::shouldHourFieldReadOnly):
If the type is "time", we don't make hour fields read-only.
Otherwise, we don't make hour fields read-only if year/month/day fields
are read-only. Note that we don't need to check read-only status of year
and month fields explicitly here because a day field can be read-only
only if the year field and the month field are read-only.

LayoutTests:

Note: We don't add tests for input[type=datetime] now because the WHATWG
specification might be changed.

* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html: Added.

* fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html:
Update test cases for new behavior. We should not make hour fields
read-only for input[type=time].
* platform/chromium-mac/fast/forms/time/time-appearance-basic-expected.png: Ditto.
* platform/chromium/TestExpectations: Add time-appearance-basic.html.

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

6 years ago[TexMap] Composited CSS shaders crash when using non-GL TextureMapper
allan.jensen@digia.com [Wed, 16 Jan 2013 10:59:33 +0000 (10:59 +0000)]
[TexMap] Composited CSS shaders crash when using non-GL TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=106796

Reviewed by Noam Rosenthal.

Fail gracefully when FilterEffectRenderer fails to build the filter effects.

* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::applyFilters):

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

6 years ago[Qt] Unreviewed gardening.
kadam@inf.u-szeged.hu [Wed, 16 Jan 2013 10:47:17 +0000 (10:47 +0000)]
[Qt] Unreviewed gardening.

Patch by Nandor Huszka <hnandor@inf.u-szeged.hu> on 2013-01-16

* platform/qt-5.0-wk1/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.png: Added. Rebaseline after r139798.
* platform/qt-5.0-wk1/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt: Added. Rebaseline after r139798.
* platform/qt/compositing/layer-creation/overlap-animation-container-expected.txt: Added. Rebaseline after r139794.
* platform/qt/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png: Rebaseline after r139798.
* platform/qt/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Rebaseline after r139798.

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

6 years agoWeb Inspector: Store project UISourceCodes in a map with uri as a key for faster...
vsevik@chromium.org [Wed, 16 Jan 2013 10:43:52 +0000 (10:43 +0000)]
Web Inspector: Store project UISourceCodes in a map with uri as a key for faster lookup.
https://bugs.webkit.org/show_bug.cgi?id=106911

Reviewed by Pavel Feldman.

* inspector/front-end/Workspace.js:
(WebInspector.Project):
(WebInspector.Project.prototype._fileAdded):
(WebInspector.Project.prototype._fileRemoved):
(WebInspector.Project.prototype._reset):
(WebInspector.Project.prototype.uiSourceCodeForOriginURL):
(WebInspector.Project.prototype.uiSourceCodeForURI):
(WebInspector.Project.prototype.uiSourceCodes):

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

6 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 16 Jan 2013 10:42:03 +0000 (10:42 +0000)]
[EFL] Unreviewed gardening.

Removed fast/events/drag-and-drop-autoscroll from Test expectations after rollout in r139503.
ScrollingCoordinator tests moved to TestExpectations after r139686.
Border size rendering change in r139798 requires a rebaseline for
svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm &
http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm
but they fail to generate pixel results - see bug 106992.
PropertyCollection tests skipped for now after r139756

* platform/efl/TestExpectations:

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

6 years agoWeb Inspector: Introduce file mapping allowing to map network loaded scripts and...
vsevik@chromium.org [Wed, 16 Jan 2013 10:26:36 +0000 (10:26 +0000)]
Web Inspector: Introduce file mapping allowing to map network loaded scripts and stylesheets to file system files.
https://bugs.webkit.org/show_bug.cgi?id=106795

Reviewed by Pavel Feldman.

Source/WebCore:

Introduced file mapping for inspector.
FileMapping is essentially an array of MappingEntries where each MappingEntry is a pair of urlPrefix and pathPrefix.
When scripts and stylesheets are mapped to uiSourceCodes FileMapping methods are used to establish
prefix based matching with file system uiSourceCodes if possible.

Test: inspector/file-mapping.html

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/CompilerScriptMapping.js:
(WebInspector.CompilerScriptMapping):
(WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
(WebInspector.CompilerScriptMapping.prototype.uiLocationToRawLocation):
(WebInspector.CompilerScriptMapping.prototype.get addScript.get this):
(WebInspector.CompilerScriptMapping.prototype.get addScript):
(WebInspector.CompilerScriptMapping.prototype._bindUISourceCode):
(WebInspector.CompilerScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
* inspector/front-end/FileMapping.js: Added.
(WebInspector.FileMapping):
(WebInspector.FileMapping.prototype.hasMappingForURL):
(WebInspector.FileMapping.prototype.uriForURL):
(WebInspector.FileMapping.prototype.urlForURI):
(WebInspector.FileMapping.prototype.setMappings):
(WebInspector.FileMapping.prototype.mappings):
(WebInspector.FileMapping.prototype._deserialize):
(WebInspector.FileMapping.prototype._serialize):
(WebInspector.FileMapping.MappingEntry):
(WebInspector.FileMapping.MappingEntry.deserialize):
(WebInspector.FileMapping.MappingEntry.prototype.matchesURL):
(WebInspector.FileMapping.MappingEntry.prototype.matchesURI):
(WebInspector.FileMapping.MappingEntry.prototype.uriForURL):
(WebInspector.FileMapping.MappingEntry.prototype.urlForURI):
(WebInspector.FileMapping.MappingEntry.prototype.serialize):
* inspector/front-end/NetworkUISourceCodeProvider.js:
(WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
(WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
* inspector/front-end/ResourceUtils.js:
(WebInspector.displayNameForURL):
* inspector/front-end/SASSSourceMapping.js:
(WebInspector.SASSSourceMapping):
(WebInspector.SASSSourceMapping.prototype._reloadCSS):
(_addURLMapping):
(rawLocationToUILocation):
(_reset):
(WebInspector.SASSSourceMapping.MappingEntry):
* inspector/front-end/StylesSourceMapping.js:
(WebInspector.StylesSourceMapping):
(WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
(WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):
(WebInspector.StylesSourceMapping.prototype._projectWillReset):
(WebInspector.StyleContentBinding.prototype.):
(WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/Workspace.js:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:

LayoutTests:

* inspector/file-mapping-expected.txt: Added.
* inspector/file-mapping.html: Added.

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