levin@chromium.org [Fri, 6 Jan 2012 00:32:25 +0000 (00:32 +0000)]
[chromium] Resize requests at the view level should be ignored when in autoresize mode.
https://bugs.webkit.org/show_bug.cgi?id=75651
Reviewed by Dmitry Titov.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::resize): The assert was here to catch a view that
tried to do a resize after setting autoresize. However, we found that generic
code tries to do resizes as well. Rather than special case each caller,
we'll just make this code ignore the resize call.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104241
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Fri, 6 Jan 2012 00:30:50 +0000 (00:30 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=75654
Text fields should draw using NSTextFieldCell instead of WebKitSystemInterface
Reviewed by John Sullivan.
This change should not have any affect on tests or real web sites. It just changed
the implementation under the hood to the more modern NSCell approach.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::textField):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104240
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 6 Jan 2012 00:29:14 +0000 (00:29 +0000)]
Crash when trying to invalidate the NPRuntimeObjectMap for a plug-in in a subframe
https://bugs.webkit.org/show_bug.cgi?id=75667
<rdar://problem/
10389454>
Reviewed by Kevin Decker.
Source/WebKit2:
NPRuntimeObjectMap::invalidate is called whenever a plug-in view is destroyed. If invalidate is called for an object map
whose plug-in has a null frame, we'd crash.
The plug-in will have a null frame if the plug-in view is destroyed because its containing frame has been removed from the document,
and if the plug-in view is being destroyed asynchronously due to the plug-in itself calling JavaScript that will remove the frame
(see PluginView::unprotectPluginFromDestruction).
The reason NPRuntimeObjectMap::invalidate will crash when the frame is null is because we were trying to access the frame's global
object, causing a null dereference. The reason we were trying to get at the frame's global object was to create a Strong handle to
a JSNPObject so we could stick the object in a vector so we could later iterate over the vector elements and call invalidate() on
each JSNPObject which will end up releasing the underlying NPObject.
However, it turns out that we don't need to stick the JSNPObject in a vector; we can just get the underlying NPObject directly and
stick that in a vector and then iterate over the NPObjects, releasing them.
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::invalidate):
Tools:
Add an evaluate method to the plug-in test scriptable object that can be used to evaluate a given JS string.
* DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
(PluginTest::executeScript):
* DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
* DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp:
(NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::hasMethod):
(NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::invoke):
(NPRuntimeObjectFromDestroyedPlugin::ScriptableObject::hasProperty):
LayoutTests:
* plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt: Added.
* plugins/npruntime/object-from-destroyed-plugin-in-subframe.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104239
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 6 Jan 2012 00:01:07 +0000 (00:01 +0000)]
Add a compile-time assertion for the size of CSSValue
https://bugs.webkit.org/show_bug.cgi?id=75635
Reviewed by Tony Chang.
Tightened the compile-time assertion.
* css/CSSValue.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104236
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 23:59:31 +0000 (23:59 +0000)]
[EFL] Undefined references to ICU_I18N symbols on WTF
https://bugs.webkit.org/show_bug.cgi?id=75642
Unreviewed build fix.
Add ${ICU_I18N_LIBRARIES} to WTF_LIBRARIES on wtf efl platform cmake.
Some undefined references were ucol_setAttribute_44, ucol_close_44,
ucol_getAttribute_44...
Patch by Bruno Dilly <bdilly@profusion.mobi> on 2012-01-05
* wtf/PlatformEfl.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104235
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 5 Jan 2012 23:57:26 +0000 (23:57 +0000)]
[V8] CodeGeneration for SerializedScriptValue doesn't play nice with [Constructor]
https://bugs.webkit.org/show_bug.cgi?id=75641
Reviewed by David Levin.
Rather than generate getters for SerializedScriptValues, we eagerly
deserialize them into JavaScript objects. However, previously, we were
only doing that for DOM wrappers created by taking an existing C++
object and wrapping it. For objects created with Constructors (e.g.,
those with the [Constructor] attribute), we need to do this eager
deserialization during the constructor as well.
This bug isn't observable yet, but it is causing the WebIntent test
being added in Bug 73051 to fail.
Test: TestSerializedScriptValueInterface.idl
webintents/web-intents-api.html (after Bug 73051 lands)
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateEagerDeserialization):
(GenerateConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
(GenerateToV8Converters):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::getConstructData):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
* bindings/scripts/test/TestSerializedScriptValueInterface.idl:
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::constructorCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
(WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104233
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Thu, 5 Jan 2012 23:45:08 +0000 (23:45 +0000)]
New chromium expected results after r104208.
* platform/chromium-linux/fast/table/032-expected.png: Removed.
* platform/chromium-linux/tables/mozilla/bugs/bug55694-expected.png:
* platform/chromium-mac-leopard/fast/table/032-expected.png:
* platform/chromium-mac-leopard/fast/table/032-expected.txt: Added.
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug55694-expected.png:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug55694-expected.png: Added.
* platform/chromium-mac/tables/mozilla/bugs/bug55694-expected.png: Removed.
* platform/chromium-win-xp/fast/table/032-expected.png: Added.
* platform/chromium-win-xp/fast/table/032-expected.txt: Renamed from LayoutTests/platform/chromium-win/fast/table/032-expected.txt.
* platform/chromium-win/fast/table/032-expected.png:
* platform/chromium-win/tables/mozilla/bugs/bug55694-expected.png:
* platform/chromium-win/tables/mozilla/bugs/bug55694-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104232
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 5 Jan 2012 23:11:45 +0000 (23:11 +0000)]
Introduce Platform namespace for WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=75653
Reviewed by Eric Seidel.
Source/WebCore:
This patch introduces the Platform namespace for WebCore/platform.
Introducing this namespace will help us find and fix layering
violations in preparation for moving WebCore/platform to Platform.
* platform/SchemeRegistry.cpp:
* platform/SchemeRegistry.h:
Source/WebKit/qt:
* Api/qwebpage.cpp:
(QWebPage::acceptNavigationRequest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104231
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Thu, 5 Jan 2012 23:07:33 +0000 (23:07 +0000)]
webkitpy: clean up port factory methods
https://bugs.webkit.org/show_bug.cgi?id=75590
Reviewed by Eric Seidel.
This change consolidates much of the "factory method" logic
of determining which port objects to create for a given set
of configurations by merging the separate factory methods in
chromium_gpu and google_chrome into PortFactory so that at least
all of the logic is in one place.
* Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
* Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
* Scripts/webkitpy/layout_tests/port/factory.py:
(_port_name_from_arguments_and_options):
(get):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(test_google_chrome):
* Scripts/webkitpy/layout_tests/port/google_chrome.py:
(GoogleChromeLinux32Port):
(GoogleChromeLinux32Port.baseline_search_path):
(test_expectations_overrides):
(architecture):
(GoogleChromeLinux64Port):
(GoogleChromeLinux64Port.baseline_search_path):
(GoogleChromeMacPort):
(GoogleChromeMacPort.baseline_search_path):
(GoogleChromeWinPort):
(GoogleChromeWinPort.baseline_search_path):
* Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
(_verify_baseline_path):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104230
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 5 Jan 2012 23:04:25 +0000 (23:04 +0000)]
REGRESSION (r98912-r99538): Crash in WebKit::WebFrameLoaderClient::didDetectXSS
https://bugs.webkit.org/show_bug.cgi?id=75578
Reviewed by Daniel Bates.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
Check for a correct struct member existence.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104229
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 5 Jan 2012 22:30:50 +0000 (22:30 +0000)]
Refined the fast path for StringImpl::hash()
https://bugs.webkit.org/show_bug.cgi?id=75178
Reviewed by Darin Adler.
Moved the hash calculation code into an out-of-line function to clean up
the hot path.
No measurable benchmark change, but this knocks some samples off in
Instruments, and I think this is a step toward removing -fomit-frame-pointer.
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::hashSlowCase):
* wtf/text/StringImpl.h:
(WTF::StringImpl::hash): The patch.
* wtf/text/StringStatics.cpp:
(WTF::StringImpl::hashSlowCase): Abide by the cockamamie Windows build
scheme, which requires all out-of-line StringImpl functions used by
WebCore be defined in this file instead of StringImpl.cpp. (See http://trac.webkit.org/changeset/59187.)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104219
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dslomov@google.com [Thu, 5 Jan 2012 22:29:07 +0000 (22:29 +0000)]
Unreviewed: Updating expecxtations for fast/media/viewport-media-query.
My understanding of the semantics was a bit off.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104218
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 5 Jan 2012 21:56:26 +0000 (21:56 +0000)]
Literal tab in JSONString fails
https://bugs.webkit.org/show_bug.cgi?id=71772
Reviewed by Oliver Hunt.
rfc4627 does not allow literal tab characters in JSON source.
Source/JavaScriptCore:
* runtime/LiteralParser.cpp:
(JSC::isSafeStringCharacter):
- do not allow literal tab in StrictJSON mode.
LayoutTests:
* fast/js/JSON-parse-expected.txt:
* fast/js/resources/JSON-parse.js:
(createTests.result):
- Updated expected results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104212
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 5 Jan 2012 21:48:50 +0000 (21:48 +0000)]
Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
https://bugs.webkit.org/show_bug.cgi?id=73853
Reviewed by Antti Koivisto.
Lazily invalidate the node list caches instead of invaliding them at the time of modification. We use
the DOM tree version to detect whether caches need to be invalidated or not. We now invalidate caches more
frequently after this patch (in particular, invalidates caches that are stored on nodes not present in
the ancestry of the modified nodes); however, our study on major Web sites such as Gmail, Facebook, Twitter,
etc... indicate that about 1% of real-world usage benefits from keeping the caches alive across different
DOM tree versions.
In order to invalidate caches lazily, this patch adds replaces the type of m_caches in DynamicSubtreeNodeList
by DynamicSubtreeNodeList::SubtreeCaches which encapsulates member variables in DynamicNodeList::Caches and
invalidates values as needed. Also this change allows m_caches to be allocated as a part of
DynamicSubtreeNodeList instead of a separate ref-counted object.
* dom/Attr.cpp:
(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged):
* dom/DynamicNodeList.cpp:
(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
(WebCore::DynamicSubtreeNodeList::length):
(WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::item):
(WebCore::DynamicSubtreeNodeList::invalidateCache):
(WebCore::DynamicNodeList::Caches::create):
(WebCore::DynamicNodeList::Caches::reset):
* dom/DynamicNodeList.h:
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::SubtreeCaches): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedLength): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItem): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItemOffset): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::reset): Added.
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent): Added.
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
* dom/Node.cpp:
(WebCore::Node::setTreeScopeRecursively): Clear caches when a node moves from one document to another.
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Only clears child node list of Attr.
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Only clears child node list.
(WebCore::NodeListsNodeData::invalidateCaches): Merged with invalidateCachesThatDependOnAttributes.
* dom/Node.h:
* dom/NodeRareData.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* html/HTMLLabelElement.cpp:
* html/HTMLLabelElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wjmaclean@chromium.org [Thu, 5 Jan 2012 21:41:04 +0000 (21:41 +0000)]
[chromium][aura] WebExternalTextureLayerImpl::drawsContent() returns incorrect value, causing accelerated content to not display in Aura desktop
https://bugs.webkit.org/show_bug.cgi?id=75551
Reviewed by James Robinson.
* WebKit.gypi:
* src/WebExternalTextureLayerImpl.cpp:
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
* tests/WebExternalTextureLayerImplTest.cpp: Copied from Source/WebKit/chromium/src/WebExternalTextureLayerImpl.cpp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ojan@chromium.org [Thu, 5 Jan 2012 21:39:02 +0000 (21:39 +0000)]
IE quirk for percentage size on a table element doesn't work with orthogonal writing modes
https://bugs.webkit.org/show_bug.cgi?id=70195
Reviewed by Eric Seidel.
Source/WebCore:
Remove this quirk entirely. Mozilla and Opera don't implement it and IE
doesn't restrict the quirk to standards mode. As it's unlikely for
webkit-only content to hit this quirk (e.g. use tables for layout),
it should be relatively safe to match Mozilla/Opera here.
Test: fast/writing-mode/table-percent-width-quirk.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
LayoutTests:
* fast/table/032.html:
* fast/writing-mode/table-percent-width-quirk-expected.png: Added.
* fast/writing-mode/table-percent-width-quirk-expected.txt: Added.
* fast/writing-mode/table-percent-width-quirk.html: Added.
* platform/mac/fast/table/032-expected.png:
* platform/mac/fast/table/032-expected.txt:
* platform/mac/tables/mozilla/bugs/bug55694-expected.png:
* platform/mac/tables/mozilla/bugs/bug55694-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jochen@chromium.org [Thu, 5 Jan 2012 21:25:23 +0000 (21:25 +0000)]
Replace webkitpy.common.system.filesystem.file_path_as_url with webkitpy.common.system.path.abspath_to_uri
https://bugs.webkit.org/show_bug.cgi?id=75617
Reviewed by Dirk Pranke.
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.exists):
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.exists):
* Scripts/webkitpy/common/system/filesystem_unittest.py:
(GenericFileSystemTests.teardown_generic_test_dir):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.to.show_results_html_file):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_results_directory_absolute):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nduca@chromium.org [Thu, 5 Jan 2012 20:53:18 +0000 (20:53 +0000)]
[chromium] Add CCTimer class for the compositor
https://bugs.webkit.org/show_bug.cgi?id=74769
Patch by Tien Ren Chen <trchen@chromium.org> on 2012-01-05
Reviewed by James Robinson.
Add a simple timer class for CCThread that the timered task can be
manually cancelled.
Source/WebCore:
* WebCore.gypi:
* platform/graphics/chromium/cc/CCTimer.cpp: Added.
(WebCore::CCTimerTask::CCTimerTask):
(WebCore::CCTimerTask::~CCTimerTask):
(WebCore::CCTimerTask::performTask):
(WebCore::CCTimer::CCTimer):
(WebCore::CCTimer::~CCTimer):
(WebCore::CCTimer::startOneShot):
(WebCore::CCTimer::stop):
* platform/graphics/chromium/cc/CCTimer.h: Added.
(WebCore::CCTimerClient::~CCTimerClient):
(WebCore::CCTimer::isActive):
Source/WebKit/chromium:
* WebKit.gypi:
* tests/CCTimerTest.cpp: Added.
(WebKitTests::CCTimerTest::CCTimerTest):
(WebKitTests::CCTimerTest::onTimerFired):
(WebKitTests::TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104199
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 5 Jan 2012 20:48:17 +0000 (20:48 +0000)]
WK2: Safari fails to open a PostScript file in Preview from context menu
https://bugs.webkit.org/show_bug.cgi?id=75643
<rdar://problem/9823430>
Reviewed by Dan Bernstein.
* UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::setPDFDocumentData):
Append ".pdf" to file name when converting data, as suggested file name is created for
original MIME type.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104198
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 5 Jan 2012 20:44:57 +0000 (20:44 +0000)]
Implement temporal dimension portion of Media Fragments URI specification for video/audio
https://bugs.webkit.org/show_bug.cgi?id=65838
Reviewed by Sam Weinig.
Source/WebCore:
Tests: media/media-fragments/TC0001-TC0009.html
media/media-fragments/TC0010-TC0019.html
media/media-fragments/TC0020-TC0029.html
media/media-fragments/TC0030-TC0039.html
media/media-fragments/TC0040-TC0049.html
media/media-fragments/TC0050-TC0059.html
media/media-fragments/TC0060-TC0069.html
media/media-fragments/TC0070-TC0079.html
media/media-fragments/TC0080-TC0089.html
media/media-fragments/TC0090-TC0099.html
* CMakeLists.txt: Add fragment parser files.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_fragmentStartTime and m_fragmentEndTime.
(WebCore::HTMLMediaElement::setReadyState): Check for and parse a media fragment once readyState
reaches HAVE_METADATA, apply it once it reaches HAVE_CURRENT_DATA.
(WebCore::HTMLMediaElement::initialTime): Return the fragment start time if possible.
(WebCore::HTMLMediaElement::playbackProgressTimerFired): Pause if the time is >= the fragment
end time.
(WebCore::HTMLMediaElement::prepareMediaFragmentURI): Look for a temporal fragment.
(WebCore::HTMLMediaElement::applyMediaFragmentURI): Apply the fragment, if any.
* html/HTMLMediaElement.h:
* html/MediaFragmentURIParser.cpp: Added.
(WebCore::skipWhiteSpace):
(WebCore::collectDigits):
(WebCore::collectFraction):
(WebCore::MediaFragmentURIParser::invalidTimeValue):
(WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
(WebCore::MediaFragmentURIParser::startTime):
(WebCore::MediaFragmentURIParser::endTime):
(WebCore::MediaFragmentURIParser::parseFragments):
(WebCore::MediaFragmentURIParser::parseTimeFragment):
(WebCore::MediaFragmentURIParser::parseNPTFragment):
(WebCore::MediaFragmentURIParser::parseNPTTime):
* html/MediaFragmentURIParser.h: Added.
(WebCore::MediaFragmentURIParser::~MediaFragmentURIParser):
(WebCore::MediaFragmentURIParser::create):
LayoutTests:
* media/media-fragments: Added.
* media/media-fragments/TC0001-TC0009-expected.txt: Added.
* media/media-fragments/TC0001-TC0009.html: Added.
* media/media-fragments/TC0010-TC0019-expected.txt: Added.
* media/media-fragments/TC0010-TC0019.html: Added.
* media/media-fragments/TC0020-TC0029-expected.txt: Added.
* media/media-fragments/TC0020-TC0029.html: Added.
* media/media-fragments/TC0030-TC0039-expected.txt: Added.
* media/media-fragments/TC0030-TC0039.html: Added.
* media/media-fragments/TC0040-TC0049-expected.txt: Added.
* media/media-fragments/TC0040-TC0049.html: Added.
* media/media-fragments/TC0050-TC0059-expected.txt: Added.
* media/media-fragments/TC0050-TC0059.html: Added.
* media/media-fragments/TC0060-TC0069-expected.txt: Added.
* media/media-fragments/TC0060-TC0069.html: Added.
* media/media-fragments/TC0070-TC0079-expected.txt: Added.
* media/media-fragments/TC0070-TC0079.html: Added.
* media/media-fragments/TC0080-TC0089-expected.txt: Added.
* media/media-fragments/TC0080-TC0089.html: Added.
* media/media-fragments/TC0090-TC0099-expected.txt: Added.
* media/media-fragments/TC0090-TC0099.html: Added.
* media/media-fragments/media-fragments.js: Added.
(canplaythrough):
(setupNextTest):
(nextTestName):
(start):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104197
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 20:41:16 +0000 (20:41 +0000)]
[v8] Null pointer exception if a typed array constructor set to a primitive value.
https://bugs.webkit.org/show_bug.cgi?id=75532
Make sure that V8ArrayBufferViewCustomScript.js does not throw exception.
Patch by Ulan Degenbaev <ulan@chromium.org> on 2012-01-05
Reviewed by Kenneth Russell.
* LayoutTests/fast/canvas/webgl/array-buffer-view-crash-when-reassigned-expected.txt: Added.
* LayoutTests/fast/canvas/webgl/array-buffer-view-crash-when-reassigned.html: Added.
* Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
* Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustomScript.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104196
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 20:28:48 +0000 (20:28 +0000)]
Remove some unnecessary code from old-run-webkit-tests
Thanks to r104187/r104188, we no longer need to set PATH before launching DumpRenderTree or
WebKitTestRunner.
Fixes <http://webkit.org/b/75640> ORWT unnecessarily sets PATH before launching DRT/WTR on
Windows
Reviewed by Eric Seidel.
* Scripts/old-run-webkit-tests:
(top level):
(openDumpTool):
Removed calls to setPathForRunningWebKitApp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104195
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrobinson@webkit.org [Thu, 5 Jan 2012 20:18:59 +0000 (20:18 +0000)]
[GTK] [AC] Introduce AcceleratedCompositingContext to isolate different accelerated compositing implementations
https://bugs.webkit.org/show_bug.cgi?id=75519
Reviewed by Alejandro G. Castro.
Add an AcceleratedCompositingContext which will isolate all the different accelerated compositing
implementations from one another. For right now this just includes the Clutter version.
* GNUmakefile.am: Add the new files to the source list.
* WebCoreSupport/AcceleratedCompositingContext.h: Added.
* WebCoreSupport/AcceleratedCompositingContextClutter.cpp: Added. Existing
clutter AC code has moved here.
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::attachRootGraphicsLayer): Use the new AccleratedCompositingContext now
instead of calling into the WebView.
(WebKit::ChromeClient::setNeedsOneShotDrawingSynchronization):Ditto.
(WebKit::ChromeClient::scheduleCompositingLayerSync): Ditto.
* webkit/webkitwebview.cpp:
(webkit_web_view_size_allocate): Call in the ACContext.
(webkit_web_view_init): Initialize the ACContext.
* webkit/webkitwebviewprivate.h: Add the ACContext as a private member.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104194
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zeno.albisser@nokia.com [Thu, 5 Jan 2012 20:04:33 +0000 (20:04 +0000)]
[Qt][WK2] Implement custom URL schemes defined in QML.
https://bugs.webkit.org/show_bug.cgi?id=74931
.:
Add new classes to the export map.
Reviewed by Kenneth Rohde Christiansen.
* Source/qtwebkit-export.map:
Source/WebKit/qt:
Make classes QQuickUrlSchemeDelegate, QQuickNetworkRequest
and QQuickNetworkReply accessible from QML.
Reviewed by Kenneth Rohde Christiansen.
* declarative/experimental/experimental.pri:
* declarative/experimental/plugin.cpp:
* declarative/public.pri:
Source/WebKit2:
Allow creation of custom UrlSchemeDelegates from QML.
A UrlSchemeDelegate contains a handler signal that is triggered
when a url matching the defined scheme is requested.
To allow for this a derivation of QNetworkAccessManager
is necessary.
The request is then handled in QML/JS and a reply
is sent back from the UIProcess to the WebProcess.
Reviewed by Kenneth Rohde Christiansen.
* Shared/qt/QtNetworkReplyData.cpp: Added.
(WebKit::QtNetworkReplyData::QtNetworkReplyData):
(WebKit::QtNetworkReplyData::encode):
(WebKit::QtNetworkReplyData::decode):
* Shared/qt/QtNetworkReplyData.h: Added.
* Shared/qt/QtNetworkRequestData.cpp: Added.
(WebKit::QtNetworkRequestData::QtNetworkRequestData):
(WebKit::QtNetworkRequestData::encode):
(WebKit::QtNetworkRequestData::decode):
* Shared/qt/QtNetworkRequestData.h: Added.
* Target.pri:
* UIProcess/API/qt/qquicknetworkreply.cpp: Added.
(QQuickNetworkReply::QQuickNetworkReply):
(QQuickNetworkReply::contentType):
(QQuickNetworkReply::setContentType):
(QQuickNetworkReply::operation):
(QQuickNetworkReply::setOperation):
(QQuickNetworkReply::contentDisposition):
(QQuickNetworkReply::setContentDisposition):
(QQuickNetworkReply::location):
(QQuickNetworkReply::setLocation):
(QQuickNetworkReply::lastModified):
(QQuickNetworkReply::setLastModified):
(QQuickNetworkReply::cookie):
(QQuickNetworkReply::setCookie):
(QQuickNetworkReply::userAgent):
(QQuickNetworkReply::setUserAgent):
(QQuickNetworkReply::server):
(QQuickNetworkReply::setServer):
(QQuickNetworkReply::data):
(QQuickNetworkReply::setData):
(QQuickNetworkReply::send):
(QQuickNetworkReply::networkRequestData):
(QQuickNetworkReply::setNetworkRequestData):
(QQuickNetworkReply::networkReplyData):
* UIProcess/API/qt/qquicknetworkreply_p.h: Added.
* UIProcess/API/qt/qquicknetworkrequest_p.h: Added.
* UIProcess/API/qt/qquickurlschemedelegate.cpp: Added.
(QQuickUrlSchemeDelegate::QQuickUrlSchemeDelegate):
(QQuickUrlSchemeDelegate::scheme):
(QQuickUrlSchemeDelegate::setScheme):
(QQuickUrlSchemeDelegate::request):
(QQuickUrlSchemeDelegate::reply):
* UIProcess/API/qt/qquickurlschemedelegate_p.h: Added.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::QQuickWebViewExperimental):
(QQuickWebViewExperimental::schemeDelegates_At):
(QQuickWebViewExperimental::schemeDelegates_Append):
(QQuickWebViewExperimental::schemeDelegates_Count):
(QQuickWebViewExperimental::schemeDelegates_Clear):
(QQuickWebViewExperimental::schemeDelegates):
(QQuickWebViewExperimental::invokeApplicationSchemeHandler):
(QQuickWebViewExperimental::sendApplicationSchemeReply):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/qt/QtPageClient.cpp:
(QtPageClient::handleApplicationSchemeRequest):
* UIProcess/qt/QtPageClient.h:
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit::WebPageProxy::registerApplicationScheme):
(WebKit::WebPageProxy::resolveApplicationSchemeRequest):
(WebKit::WebPageProxy::sendApplicationSchemeReply):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createNetworkingContext):
* WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
* WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/qt/WebPageQt.cpp:
(WebKit::WebPage::registerApplicationScheme):
(WebKit::WebPage::receivedApplicationSchemeRequest):
(WebKit::WebPage::applicationSchemeReply):
* WebProcess/qt/QtNetworkAccessManager.cpp: Added.
(WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
(WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
(WebKit::QtNetworkAccessManager::createRequest):
(WebKit::QtNetworkAccessManager::registerApplicationScheme):
* WebProcess/qt/QtNetworkAccessManager.h: Added.
* WebProcess/qt/QtNetworkReply.cpp: Added.
(WebKit::QtNetworkReply::QtNetworkReply):
(WebKit::QtNetworkReply::setData):
(WebKit::QtNetworkReply::setReplyData):
(WebKit::QtNetworkReply::readData):
(WebKit::QtNetworkReply::bytesAvailable):
(WebKit::QtNetworkReply::setHeader):
(WebKit::QtNetworkReply::abort):
(WebKit::QtNetworkReply::close):
(WebKit::QtNetworkReply::setReadBufferSize):
(WebKit::QtNetworkReply::canReadLine):
(WebKit::QtNetworkReply::finalize):
* WebProcess/qt/QtNetworkReply.h: Added.
* WebProcess/qt/WebProcessQt.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104193
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 20:02:19 +0000 (20:02 +0000)]
Remove style warning in GraphicsContext3DOpenGL.cpp
https://bugs.webkit.org/show_bug.cgi?id=75466
Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-01-05
Reviewed by Kenneth Russell.
Relocated some headers according to alphabetical order & modified indentation.
And used OwnArrayPtr to deal with character array.
No new tests required.
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::getString):
(WebCore::GraphicsContext3D::releaseShaderCompiler):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getShaderiv):
(WebCore::GraphicsContext3D::getShaderInfoLog):
(WebCore::GraphicsContext3D::getShaderSource):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104192
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 19:55:40 +0000 (19:55 +0000)]
Teach NRWT to use run-safari to open results.html on Apple's Windows port
NRWT was trying to use User.open_url, which doesn't work on Cygwin. But run-safari is
better, since we always want to open results.html using the user's build of WebKit, not
whatever their default browser is.
Fixes <http://webkit.org/b/75629> <rdar://problem/
10648621> NRWT fails to open results.html
for Apple's Windows port
Reviewed by Eric Seidel.
* Scripts/webkitpy/layout_tests/port/win.py:
(WinPort.show_results_html_file): Changed to use run_safari, like MacPort does. Also removed
an obsolete comment.
* Scripts/webkitpy/layout_tests/port/win_unittest.py:
(WinPortTest.test_show_results_html_file): Updated expected results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104191
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 19:55:31 +0000 (19:55 +0000)]
Prepend Safari.exe's path to the command-line passed to CreateProcess
Safari expects the first argument in the command-line to be the path to Safari.exe itself.
This is how things get set up when Safari is launched normally (e.g., by Explorer). Safari
thus ignores the first argument when looking for command-line arguments. WebKitLauncherWin
was not including the path to Safari.exe in the command-line, so Safari was ignoring the
first argument that WebKitLauncherWin was trying to pass to it.
Fixes <http://webkit.org/b/56571> First argument passed to WebKit.exe is ignored by Safari
Reviewed by Steve Falkenburg.
* WebKitLauncherWin/WebKitLauncherWin.cpp:
(_tWinMain): Construct a command-line for CreateProcess that first contains a double-quoted
path to Safari.exe, then contains any arguments that were passed to WebKitLauncherWin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104190
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 19:55:22 +0000 (19:55 +0000)]
Stop using explicit memory management in WebKitLauncherWin
We now use stack-allocated STL objects instead.
Prep work for <http://webkit.org/b/56571> First argument passed to WebKit.exe is ignored by
Safari
Reviewed by Steve Falkenburg.
* WebKitLauncherWin/WebKitLauncherWin.cpp:
(getStringValue):
(applePathFromRegistry):
(safariInstallDir):
(safariBrowserExe):
(_tWinMain):
Changed to use stack-allocated STL objects instead of malloc/free.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104189
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 19:54:46 +0000 (19:54 +0000)]
Turn WebKitTestRunner into a stub .exe launcher and a .dll that contains all the real code
This allows us to add the Safari and Apple Application Support directories to PATH before
trying to load WebKit so that SafariTheme.dll, CoreGraphics.dll and friends can be found.
Fixes <http://webkit.org/b/75486> <rdar://problem/
10638124> NRWT fails to launch Apple's
Windows port of DumpRenderTree/WebKitTestRunner
Reviewed by Steve Falkenburg.
Tools:
* WebKitTestRunner/WebKitTestRunner.sln: Added WebKitTestRunnerLauncher and
ImageDiffLauncher, which I forgot to add to this .sln when that project was created.
* WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops:
* WebKitTestRunner/win/WebKitTestRunner.vcproj:
Changed to build WebKitTestRunner.dll instead of WebKitTestRunner.exe.
* WebKitTestRunner/win/WebKitTestRunnerLauncher.vcproj: Copied from
Tools/WebKitTestRunner/win/WebKitTestRunner.vcproj but changed to build
the stub launcher.
* WebKitTestRunner/win/WebKitTestRunnerLauncherCommon.vsprops: Added.
* WebKitTestRunner/win/WebKitTestRunnerLauncherDebug.vsprops: Added.
* WebKitTestRunner/win/WebKitTestRunnerLauncherDebugAll.vsprops: Added.
* WebKitTestRunner/win/WebKitTestRunnerLauncherDebugCairoCFLite.vsprops: Added.
* WebKitTestRunner/win/WebKitTestRunnerLauncherProduction.vsprops: Added.
* WebKitTestRunner/win/WebKitTestRunnerLauncherRelease.vsprops: Added.
* WebKitTestRunner/win/WebKitTestRunnerLauncherReleaseCairoCFLite.vsprops: Added.
* WebKitTestRunner/win/main.cpp:
(dllLauncherEntryPoint): Renamed from main. This is what the stub launcher calls.
Source/WebKit/win:
Add WebKitTestRunnerLauncher to WebKit.sln.
It builds just after WebKitTestRunner.
* WebKit.vcproj/WebKit.sln:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104188
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 19:53:47 +0000 (19:53 +0000)]
Turn DumpRenderTree into a stub .exe launcher and a .dll that contains all the real code
This allows us to add the Safari and Apple Application Support directories to PATH before
trying to load WebKit so that SafariTheme.dll, CoreGraphics.dll and friends can be found.
Part of <http://webkit.org/b/75486> <rdar://problem/
10638124> NRWT fails to launch Apple's
Windows port of DumpRenderTree/WebKitTestRunner
Reviewed by Steve Falkenburg.
Tools:
* DumpRenderTree/DumpRenderTree.sln: Added DumpRenderTreeLauncher and ImageDiffLauncher,
which I forgot to add to this .sln when that project was created.
* DumpRenderTree/win/DumpRenderTree.cpp:
(dllLauncherEntryPoint): Renamed from main. This is what the stub launcher calls.
* DumpRenderTree/win/DumpRenderTree.vcproj:
* DumpRenderTree/win/DumpRenderTreeCommon.vsprops:
Changed to build DumpRenderTree.dll instead of DumpRenderTree.exe.
* DumpRenderTree/win/DumpRenderTreeLauncher.vcproj: Added.
* DumpRenderTree/win/DumpRenderTreeLauncherCommon.vsprops: Added.
* DumpRenderTree/win/DumpRenderTreeLauncherDebug.vsprops: Added.
* DumpRenderTree/win/DumpRenderTreeLauncherDebugAll.vsprops: Added.
* DumpRenderTree/win/DumpRenderTreeLauncherDebugCairoCFLite.vsprops: Added.
* DumpRenderTree/win/DumpRenderTreeLauncherProduction.vsprops: Added.
* DumpRenderTree/win/DumpRenderTreeLauncherRelease.vsprops: Added.
* DumpRenderTree/win/DumpRenderTreeLauncherReleaseCairoCFLite.vsprops: Added.
* win/DLLLauncher/DLLLauncherMain.cpp:
(modifyPath): Moved code to modify PATH here from main/wWinMain. Changed to also prepend
Safari's directory to PATH so that SafariTheme.dll can be found.
(main):
(wWinMain):
Changed to use the new modifyPath function.
Source/WebKit/win:
Add DumpRenderTreeLauncher to WebKit.sln.
It builds just after DumpRenderTree.
* WebKit.vcproj/WebKit.sln:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104187
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jianli@chromium.org [Thu, 5 Jan 2012 19:35:46 +0000 (19:35 +0000)]
Unreviewed, skip file-reader-event-listener.html on qt and efl.
* platform/efl/Skipped:
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104185
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 5 Jan 2012 19:32:42 +0000 (19:32 +0000)]
push/shift fifo may consume excessive memory
https://bugs.webkit.org/show_bug.cgi?id=75610
Reviewed by Sam Weinig.
Array object commonly store data in a vector, consisting of a portion that is
in use, a pre-capacity (m_indexBias) and a post-capacity (the delta between
m_length and m_vectorLength). Calls to shift with grow the pre-capacity, and
the current algorithm for increaseVectorLength (used by push, or [[Put]]) will
never shrink the pre-capacity, so a push/shift fifo may consume an inordinate
amount of memory, whilst having a relatively small active length.
* runtime/JSArray.cpp:
(JSC::JSArray::increaseVectorLength):
- If m_indexBias is non-zero, decay it over time.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 19:24:49 +0000 (19:24 +0000)]
Source/WebCore: Crash due to reparenting of relpositioned object under anonymous block
https://bugs.webkit.org/show_bug.cgi?id=70848
The associated test case creates a condition where a relative
positioned renderer is a descendant of an anonymous block for a
table column. The anonymous block is the containingBlock() for the
relpositioned renderer. Removal of a div causes the anonymous blocks to
be merged, and the renderer becomes a descendant of a different block.
Since the new containingBlock() has an empty positionedObject list,
the relpositioned renderer does not get layout after being dirtied.
This patch changes containingBlock() so that it returns the container
of an anonymous block for positioned objects, not the anonymous
block itself. It also adds an ASSERT to insertPositionedObject()
to flag any other cases where something is trying to create a
positioned object list on an anonymous block.
Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-05
Reviewed by David Hyatt.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::insertPositionedObject):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):
LayoutTests: Crash due to reparenting of relpositioned object in table
https://bugs.webkit.org/show_bug.cgi?id=70848
Adding test that exercises the crash condition in bug 70848.
Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-05
Reviewed by David Hyatt.
* fast/css/relative-position-replaced-in-table-display-crash-expected.txt: Added
* fast/css/relative-position-replaced-in-table-display-crash.html: Added
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104183
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dslomov@google.com [Thu, 5 Jan 2012 19:15:28 +0000 (19:15 +0000)]
Unreviewed: filed WK75633 and updated expectations
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104182
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Thu, 5 Jan 2012 19:03:26 +0000 (19:03 +0000)]
WebFrameLoaderClient::userAgent does unnecessary NSString/NSURL conversions
https://bugs.webkit.org/show_bug.cgi?id=75586
Reviewed by Alexey Proskuryakov.
We do unnecessary KURL->NSURL* and String<->NSString* when calling [WebView
userAgentForURL:] from WebFrameLoaderClient::userAgent. Instead we add a separate function,
_userAgentString that returns a WTF::String to make this call faster.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::userAgent):
* WebView/WebView.mm:
(-[WebView _userAgentString]):
(-[WebView userAgentForURL:]):
* WebView/WebViewInternal.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jianli@chromium.org [Thu, 5 Jan 2012 18:59:00 +0000 (18:59 +0000)]
FileReader needs addEventListener
https://bugs.webkit.org/show_bug.cgi?id=42723
Reviewed by Adam Barth.
Source/WebCore:
Test: fast/files/file-reader-event-listener.html
* fileapi/FileReader.idl:
LayoutTests:
* fast/files/file-reader-event-listener-expected.txt: Added.
* fast/files/file-reader-event-listener.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104180
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Thu, 5 Jan 2012 18:38:51 +0000 (18:38 +0000)]
Remove deprecated calls from CookieJarCFNet.cpp
https://bugs.webkit.org/show_bug.cgi?id=68958
Reviewed by Sam Weinig.
* platform/network/cf/CookieJarCFNet.cpp:
(WebCore::cookieDomain):
(WebCore::cookieExpirationTime):
(WebCore::cookieName):
(WebCore::cookiePath):
(WebCore::cookieValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tony@chromium.org [Thu, 5 Jan 2012 18:28:04 +0000 (18:28 +0000)]
[chromium] Unreviewed, tighted up the expectations for some perf tests.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104177
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Thu, 5 Jan 2012 18:26:36 +0000 (18:26 +0000)]
[chromium] Create unit tests for CCTiledLayerImpl
https://bugs.webkit.org/show_bug.cgi?id=75557
Reviewed by James Robinson.
Add some quad generation tests for tiled layers.
* WebKit.gypi:
* tests/CCTiledLayerImplTest.cpp: Added.
(WebCore::createLayer):
(WebCore::TEST):
(WebCore::completelyContains):
(WebCore::getQuads):
(WebCore::verifyQuadsExactlyCoverRect):
(WebCore::coverageVisibleRectOnTileBoundaries):
(WebCore::coverageVisibleRectIntersectsTiles):
(WebCore::coverageVisibleRectIntersectsBounds):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104176
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fsamuel@chromium.org [Thu, 5 Jan 2012 18:16:46 +0000 (18:16 +0000)]
Move scalePageBy from eventSender to window.internals
https://bugs.webkit.org/show_bug.cgi?id=64512
Reviewed by Simon Fraser.
.:
* Source/autotools/symbols.filter:
Source/WebCore:
Added setPageScaleFactor to window.internals.
Renamed window.internals.getPageScaleFactor to window.internals.pageScaleFactor
to match the webkit style.
* testing/Internals.cpp:
(WebCore::Internals::pageScaleFactor):
(WebCore::Internals::setPageScaleFactor):
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit2:
* win/WebKit2.def:
* win/WebKit2CFLite.def:
LayoutTests:
Updated layout tests to use window.internals.setPageScaleFactor.
* compositing/geometry/fixed-position-composited-page-scale-down.html:
* compositing/geometry/fixed-position-composited-page-scale.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale.html:
* compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
* compositing/geometry/fixed-position-transform-composited-page-scale.html:
* compositing/scaling/tiled-layer-recursion.html:
* fast/dom/Element/scale-page-bounding-client-rect.html:
* fast/dom/Element/scale-page-client-rects.html:
* fast/dom/Range/scale-page-bounding-client-rect.html:
* fast/dom/Range/scale-page-client-rects.html:
* fast/events/scale-and-scroll-body.html:
* fast/events/scale-and-scroll-iframe-body.html:
* fast/events/scale-and-scroll-iframe-window.html:
* fast/events/scale-and-scroll-window.html:
* fast/events/script-tests/page-scaled-mouse-click-iframe.js:
(iframeLoaded):
* fast/events/script-tests/page-scaled-mouse-click.js:
* fast/events/scroll-in-scaled-page-with-overflow-hidden.html:
* fast/events/touch/page-scaled-touch-gesture-click.html:
* fast/frames/frame-set-rotation-hit.html:
* fast/frames/frame-set-scaling-hit.html:
* fast/frames/iframe-double-scale-contents.html:
* fast/repaint/background-scaling.html:
* fast/repaint/scale-page-shrink.html:
* fast/transforms/selection-bounds-in-transformed-view.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
caryclark@google.com [Thu, 5 Jan 2012 18:08:58 +0000 (18:08 +0000)]
[Skia Mac] Rounded bezel style button needs one more local graphics context to scale
https://bugs.webkit.org/show_bug.cgi?id=75623
http://code.google.com/p/chromium/issues/detail?id=108749
In paintButton(), the local context is set up first, and later the context is
scaled if there's a zoomFactor. Skia creates the CoreGraphics context to draw the
button into without that scale factor. To fix this, another local context is added
after the parameter context scale, before the button draw. The first local context
is still required to restore the parameter context state.
Reviewed by Stephen White.
* platform/chromium/ThemeChromiumMac.mm:
(WebCore::paintButton):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104173
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dslomov@google.com [Thu, 5 Jan 2012 17:52:42 +0000 (17:52 +0000)]
Unreviewed: Chromium expectations update.
Filed http://crbug.com/109276 and ignored appcache failure on Linux.
Failures seem intermittent in appcache so might need to ignore more tests.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104172
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 5 Jan 2012 17:49:06 +0000 (17:49 +0000)]
Made Debug/Release builds of gtest build only for the active architecture.
Reviewed by Dave Kilzer.
* gtest/xcode/Config/DebugProject.xcconfig:
* gtest/xcode/Config/ProductionProject.xcconfig:
* gtest/xcode/Config/ReleaseProject.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104171
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 17:31:24 +0000 (17:31 +0000)]
[Chromium] Expectations for svg/carto.net/button.svg can be updated
https://bugs.webkit.org/show_bug.cgi?id=75621
Unreviewed Chromium test expectations update.
Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-05
* platform/chromium-linux-x86/svg/carto.net: Removed.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104170
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Thu, 5 Jan 2012 17:29:54 +0000 (17:29 +0000)]
getComputedStyle for background is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=75539
Reviewed by Tony Chang.
Source/WebCore:
Implement getComputedStyle for background.
Test: fast/css/getComputedStyle/getComputedStyle-background-shorthand.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
LayoutTests:
Add new tests to make sure we return the correct values.
* fast/css/getComputedStyle/getComputedStyle-background-shorthand-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-background-shorthand.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104169
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 17:02:21 +0000 (17:02 +0000)]
Pass WebFrame instead of WebCore::Frame to the WebKit2 specific FrameNetworkingContext
https://bugs.webkit.org/show_bug.cgi?id=75550
Make the WebKit2 FrameNetworkingContext implementation store the
WebFrame instead of the WebCore::Frame as this is needed for the Qt
port to implement a.o. HTTP autentication and SSL support.
As the WebFrameNetworkingContext is partly shared across all WebKit2 ports,
all port specific files have been modified.
For the Qt implementation of FrameNetworkingContext, we also set a
property to the originatingObject for the page ID. We also switch to
using an OwnPtr instead of a raw C++ pointer for the
m_originatingObject member.
Based on original patch by Peter Hartmann.
Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-01-05
Reviewed by Kenneth Rohde Christiansen.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createNetworkingContext):
* WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext::create):
(WebFrameNetworkingContext::WebFrameNetworkingContext):
* WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext::create):
(WebFrameNetworkingContext::WebFrameNetworkingContext):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
(WebKit::WebFrameNetworkingContext::create):
(WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
* WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
(WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
(WebCore::WebFrameNetworkingContext::~WebFrameNetworkingContext):
(WebCore::WebFrameNetworkingContext::create):
* WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
* WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
(WebFrameNetworkingContext::create):
(WebFrameNetworkingContext::WebFrameNetworkingContext):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 16:45:48 +0000 (16:45 +0000)]
[Qt] Never enable FontConfig on Mac OS X
https://bugs.webkit.org/show_bug.cgi?id=75616
Patch by Alexander Færøy <alexander.faeroy@nokia.com> on 2012-01-05
Reviewed by Tor Arne Vestbø.
* qmake/mkspecs/features/features.prf:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104167
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hclam@chromium.org [Thu, 5 Jan 2012 16:39:40 +0000 (16:39 +0000)]
Unreviewed, rolling out r104159.
http://trac.webkit.org/changeset/104159
https://bugs.webkit.org/show_bug.cgi?id=75590
Chromium port GPU tests cannot be executed.
* Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
(get):
(_default_tests_paths):
* Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
(ChromiumGpuTest.assert_port_works):
* Scripts/webkitpy/layout_tests/port/factory.py:
(PortFactory._port_name_from_arguments_and_options):
(PortFactory):
(PortFactory._get_kwargs):
(PortFactory.get):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(FactoryTest.test_google_chrome.names):
(FactoryTest.test_google_chrome):
* Scripts/webkitpy/layout_tests/port/google_chrome.py:
(GetGoogleChromePort):
(GetGoogleChromePort.GoogleChromeLinux32Port):
(GetGoogleChromePort.GoogleChromeLinux32Port.baseline_search_path):
(GetGoogleChromePort.GoogleChromeLinux32Port.test_expectations_overrides):
(GetGoogleChromePort.GoogleChromeLinux32Port.architecture):
(GetGoogleChromePort.GoogleChromeLinux64Port):
(GetGoogleChromePort.GoogleChromeLinux64Port.baseline_search_path):
(GetGoogleChromePort.GoogleChromeLinux64Port.test_expectations_overrides):
(GetGoogleChromePort.GoogleChromeLinux64Port.architecture):
(GetGoogleChromePort.GoogleChromeMacPort):
(GetGoogleChromePort.GoogleChromeMacPort.baseline_search_path):
(GetGoogleChromePort.GoogleChromeMacPort.test_expectations_overrides):
(GetGoogleChromePort.GoogleChromeWinPort):
(GetGoogleChromePort.GoogleChromeWinPort.baseline_search_path):
(GetGoogleChromePort.GoogleChromeWinPort.test_expectations_overrides):
* Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
(GetGoogleChromePortTest._verify_baseline_path):
(GetGoogleChromePortTest._verify_expectations_overrides):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104166
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 5 Jan 2012 16:00:06 +0000 (16:00 +0000)]
DOM Attribute tests on Dromaeo spends 2.7% of time in hasSelectorForAttribute
https://bugs.webkit.org/show_bug.cgi?id=75569
Reviewed by Andreas Kling.
Check needsStyleRecalc() first to avoid unnecessary hash lookups.
* dom/Element.cpp:
(WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104165
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Thu, 5 Jan 2012 15:59:13 +0000 (15:59 +0000)]
Unreviewed, GTK test_expectations update.
* platform/gtk/test_expectations.txt: Give
media/media-blocked-by-beforeload.html another chance on the bot
after its update in r103509.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104164
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 15:47:01 +0000 (15:47 +0000)]
[EFL] Replace alloca to C++ new placement.
https://bugs.webkit.org/show_bug.cgi?id=72017
Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2012-01-05
Reviewed by Andreas Kling.
Replaces alloca to C++ new placement as it is not very portable.
It allows to skip checking of memory allocation as new never returns NULL.
According to Edje's documentation type of val (member of Edje_Message_Float_Set)
is double so I changed it to avoid undefined behaviour.
* platform/efl/ScrollbarEfl.cpp:
(ScrollbarEfl::updateThumbPositionAndProportion):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104163
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 5 Jan 2012 15:37:04 +0000 (15:37 +0000)]
[Qt][WK2]REGRESSION(r104068): editing/pasteboard/copy-element-with-conflicting-background-color-from-rule.html made the next test fail
Unreviewed gardening. One more attempt to paint the Qt-WK2 bot green.
* platform/qt-wk2/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104162
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hclam@chromium.org [Thu, 5 Jan 2012 15:22:04 +0000 (15:22 +0000)]
Not reviewed. Update Chromium port test expectations.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104161
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 15:01:35 +0000 (15:01 +0000)]
[EFL] Invalidation request for ewk_view can be discarded without rendering.
https://bugs.webkit.org/show_bug.cgi?id=71564
Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2012-01-05
Reviewed by Hajime Morita.
As ewk_view discards a queue for invalidation requests
as soon as it proceeds the repaint step, the newly produced invalidation requests
from ewk_view_layout_if_needed_recursive API can be discarded
and unpainted dirty area can occur.
As this issue is just caused by use of flush API in repaint step,
(internal API) ewk_view_repaints_get is replaced with ewk_view_repaints_pop
in order to make sure that old invalidation requests are removed from queue.
And in addition to that, ewk_view_repaint_add is modified
in order to let queue of invalidation requests keep a proper size.
As a result flush API won't be used for the repaint step.
* ewk/ewk_private.h:
* ewk/ewk_view.cpp:
(_ewk_view_repaint_add):
(_ewk_view_smart_calculate):
(ewk_view_repaints_pop):
* ewk/ewk_view_single.cpp:
(_ewk_view_single_smart_repaints_process):
* ewk/ewk_view_tiled.cpp:
(_ewk_view_tiled_smart_repaints_process):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104160
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dpranke@chromium.org [Thu, 5 Jan 2012 15:01:11 +0000 (15:01 +0000)]
webkitpy: clean up port factory methods
https://bugs.webkit.org/show_bug.cgi?id=75590
Reviewed by Eric Seidel.
This change consolidates much of the "factory method" logic
of determining which port objects to create for a given set
of configurations by merging the separate factory methods in
chromium_gpu and google_chrome into PortFactory so that at least
all of the logic is in one place.
* Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
* Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
* Scripts/webkitpy/layout_tests/port/factory.py:
(_port_name_from_arguments_and_options):
(get):
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
(test_google_chrome):
* Scripts/webkitpy/layout_tests/port/google_chrome.py:
(GoogleChromeLinux32Port):
(GoogleChromeLinux32Port.baseline_search_path):
(test_expectations_overrides):
(architecture):
(GoogleChromeLinux64Port):
(GoogleChromeLinux64Port.baseline_search_path):
(GoogleChromeMacPort):
(GoogleChromeMacPort.baseline_search_path):
(GoogleChromeWinPort):
(GoogleChromeWinPort.baseline_search_path):
* Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
(_verify_baseline_path):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104159
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 14:59:37 +0000 (14:59 +0000)]
Remove duplicate file references from WebCore.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=75581
Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-01-05
Reviewed by Andreas Kling.
Many generated DOMSVG files had two references.
In platform/graphics, there was two arm directory
with the same files related to ARM Neon.
* WebCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104158
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 14:59:24 +0000 (14:59 +0000)]
Turn ImageDiff into a stub .exe launcher and a .dll that contains all the real code
This allows us to add the Apple Application Support directory to PATH before trying to load
WebKit so that CoreGraphics.dll and friends can be found.
Fixes <http://webkit.org/b/75572> ImageDiff.exe can't be run without first munging PATH
Reviewed by Anders Carlsson.
Tools:
* DumpRenderTree/win/ImageDiff.vcproj:
* DumpRenderTree/win/ImageDiffCommon.vsprops:
Changed to build ImageDiff.dll instead of ImageDiff.exe.
* DumpRenderTree/win/ImageDiffLauncher.vcproj: Copied from
Tools/DumpRenderTree/win/ImageDiff.vcproj but changed to build the stub launcher.
* DumpRenderTree/win/ImageDiffLauncherCommon.vsprops: Added.
* DumpRenderTree/win/ImageDiffLauncherDebug.vsprops: Added.
* DumpRenderTree/win/ImageDiffLauncherDebugAll.vsprops: Added.
* DumpRenderTree/win/ImageDiffLauncherDebugCairoCFLite.vsprops: Added.
* DumpRenderTree/win/ImageDiffLauncherProduction.vsprops: Added.
* DumpRenderTree/win/ImageDiffLauncherRelease.vsprops: Added.
* DumpRenderTree/win/ImageDiffLauncherReleaseCairoCFLite.vsprops: Added.
* DumpRenderTree/win/ImageDiffWin.cpp: Added.
(dllLauncherEntryPoint): This function is called by the stub launcher and just calls through
to main.
* win/DLLLauncher/DLLLauncherMain.cpp:
(main):
(wWinMain):
Added support for launching console programs. When USE_CONSOLE_ENTRY_POINT is defined, the
stub launcher acts as a console program and calls a console version of
dllLauncherEntryPoint.
Source/WebKit/win:
Add ImageDiffLauncher to WebKit.sln
It builds just after ImageDiff.
* WebKit.vcproj/WebKit.sln:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104157
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kenneth@webkit.org [Thu, 5 Jan 2012 14:58:36 +0000 (14:58 +0000)]
[Qt] Implement QQuickWebView::inputMethodQuery
Reviewed by Simon Hausmann.
Implement the current Qt5 queries of inputMethodQuery.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::inputMethodQuery):
* UIProcess/API/qt/qquickwebview_p.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104156
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 14:57:46 +0000 (14:57 +0000)]
Turn MiniBrowser into a stub .exe launcher and a .dll that contains all the real code
This allows us to add the Apple Application Support directory to PATH before trying to load
WebKit so that CoreGraphics.dll and friends can be found.
Fixes <http://webkit.org/b/68576> <rdar://problem/
10163853> MiniBrowser fails to launch when
double-clicked
Reviewed by Anders Carlsson.
Tools:
* MiniBrowser/MiniBrowser.vcproj:
* MiniBrowser/Configurations/MiniBrowserCommon.vsprops:
Changed to build MiniBrowser.dll instead of MiniBrowser.exe.
* MiniBrowser/Configurations/MiniBrowserLauncherCommon.vsprops: Added.
* MiniBrowser/Configurations/MiniBrowserLauncherDebug.vsprops: Added.
* MiniBrowser/Configurations/MiniBrowserLauncherDebugAll.vsprops: Added.
* MiniBrowser/Configurations/MiniBrowserLauncherDebugCairoCFLite.vsprops: Added.
* MiniBrowser/Configurations/MiniBrowserLauncherProduction.vsprops: Added.
* MiniBrowser/Configurations/MiniBrowserLauncherRelease.vsprops: Added.
* MiniBrowser/Configurations/MiniBrowserLauncherReleaseCairoCFLite.vsprops: Added.
* MiniBrowser/MiniBrowserLauncher.vcproj: Copied from Tools/MiniBrowser/MiniBrowser.vcproj
but changed to build the stub launcher.
* MiniBrowser/win/main.cpp: Moved the /manifestdependency code to DLLLauncherMain.cpp, since
it needs to be compiled into the .exe instead of the .dll.
(DllMain): Added. We use this to store the DLL's HINSTANCE.
(dllLauncherEntryPoint): Renamed from _tWinMain. This is what gets called by the
DLLLauncherMain code.
* win/DLLLauncher/DLLLauncherMain.cpp: Moved the /manifestdependency code from MiniBrowser
to here.
Source/WebKit/win:
Add MiniBrowserLauncher to WebKit.sln
It builds just after MiniBrowser.
* WebKit.vcproj/WebKit.sln: Added MiniBrowserLauncher.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104155
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 14:56:15 +0000 (14:56 +0000)]
Make WinLauncher's window frame respond to clicks/drags again
Fixes <http://webkit.org/b/75562> REGRESSION (r84990): Can't drag WinLauncher by its title
bar when Aero is disabled
Reviewed by Brent Fulgham.
* WinLauncher/WinLauncher.cpp:
(WndProc): Always call up to our parent wndproc when we don't handle WM_NCHITTEST ourselves.
Also removed an unnecessary "break" keyword.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104154
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 5 Jan 2012 14:52:23 +0000 (14:52 +0000)]
Turn WinLauncher into a stub .exe launcher and a .dll that contains all the real code
This allows us to add the Apple Application Support directory to PATH before trying to load
WebKit so that CoreGraphics.dll and friends can be found. Eventually all our WebKit apps
should use this mechanism.
Fixes <http://webkit.org/b/68578> <rdar://problem/
10163861> WinLauncher fails to launch when
double-clicked
Reviewed by Anders Carlsson.
Tools:
* WinLauncher/WinLauncher.cpp: Removed InitInstance.
(DllMain): Added. Stores the DLL HINSTANCE in the global hInst variable. This used to be
done by the now-removed InitInstance function.
(dllLauncherEntryPoint): Renamed from _tWinMain. This is the function that our stub launcher
calls. Merged code from InitInstance into this function, and change to use the global hInst
variable, which corresponds to WinLauncher.dll, rather than the HINSTANCE passed into this
function, which corresponds to WinLauncher.exe.
* WinLauncher/WinLauncher.vcproj:
* WinLauncher/WinLauncherCommon.vsprops:
Changed to build WinLauncher.dll instead of WinLauncher.exe.
* WinLauncher/WinLauncherLauncher.rc: Added.
* WinLauncher/WinLauncherLauncherResource.h: Added.
This just references the WinLauncher.ico file to set the application icon (though it looks
like that's a default icon).
* WinLauncher/WinLauncherLauncher.vcproj: Copied from Tools/WinLauncher/WinLauncher.vcproj
but changed to build WinLauncher.exe using the new DLLLauncherMain.cpp file.
* WinLauncher/WinLauncherLauncherCommon.vsprops: Added.
* WinLauncher/WinLauncherLauncherDebug.vsprops: Added.
* WinLauncher/WinLauncherLauncherDebugAll.vsprops: Added.
* WinLauncher/WinLauncherLauncherDebugCairoCFLite.vsprops: Added.
* WinLauncher/WinLauncherLauncherProduction.vsprops: Added.
* WinLauncher/WinLauncherLauncherRelease.vsprops: Added.
* WinLauncher/WinLauncherLauncherReleaseCairoCFLite.vsprops: Added.
* win/DLLLauncher/DLLLauncherMain.cpp: Added.
(enableTerminationOnHeapCorruption): Uses HeapSetInformation to tell Windows to kill the
program if it detects heap corruption.
(getStringValue): Helper function to read a string value from the registry.
(applePathFromRegistry): Helper function to read the InstallDir for a given Apple
application from the registry.
(appleApplicationSupportDirectory): Helper function to return the path to the Apple
Application Support directory.
(copyEnvironmentVariable): Helper function to copy an environment variable's value.
(prependPath): Helper function to prepend a directory to the PATH.
(fatalError): Helper function to display an error to the user.
(wWinMain): Add Apple Application Support to the PATH, then load our DLL and call its
dllLauncherEntryPoint function.
Source/WebKit/win:
Add WinLauncherLauncher to WebKit.sln
It builds just after WinLauncher.
* WebKit.vcproj/WebKit.sln: Added WinLauncherLauncher.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104153
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 5 Jan 2012 14:40:55 +0000 (14:40 +0000)]
Improve SelectorChecker::determineSelectorScopes
https://bugs.webkit.org/show_bug.cgi?id=75619
Reviewed by Andreas Kling.
SelectorChecker::determineSelectorScopes currently searches to the end of the selector chain and
then sees if the last one is suitable to be a scope. A better algorithm will find a scope from
anywhere in the chain.
With this patch we search the whole chain for potential scopes. We now prefer id scopes
over class scopes. Scopes can be found for rules using sibling selectors too.
On both engadget.com and nytimes.com, we can now skip one more full style recalc due to
the improved stylesheet analysis.
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::determineSelectorScopes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104152
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 5 Jan 2012 14:38:23 +0000 (14:38 +0000)]
[GTK] Use the default screen in PlatformScreenGtk methods when they are called with a NULL widget
https://bugs.webkit.org/show_bug.cgi?id=75620
Reviewed by Philippe Normand.
We are currently retuning an empty rectangle for
screenRect/screenAvailableRect and 0 for getVisual.
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::getVisual):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104151
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hclam@chromium.org [Thu, 5 Jan 2012 14:12:41 +0000 (14:12 +0000)]
Not reviewed. Update Chromium port test expectations.
* platform/chromium-win-xp/fast/backgrounds/animated-svg-as-mask-expected.png: Removed.
* platform/chromium-win-xp/svg/W3C-SVG-1.1/masking-path-02-b-expected.png: Removed.
* platform/chromium-win-xp/svg/as-background-image/animated-svg-as-background-expected.png: Removed.
* platform/chromium-win-xp/svg/custom/glyph-selection-lang-attribute-expected.png: Removed.
* platform/chromium-win-xp/svg/text/text-align-01-b-expected.png: Removed.
* platform/chromium-win-xp/svg/text/text-path-01-b-expected.png: Removed.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104150
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 14:02:31 +0000 (14:02 +0000)]
[Chromium] Remove WebSettings::setAcceleratedDrawingEnabled from public API.
https://bugs.webkit.org/show_bug.cgi?id=74125
Patch by David Reveman <reveman@chromium.org> on 2012-01-05
Reviewed by James Robinson.
Remove setAcceleratedDrawingEnabled method from WebSettings class.
* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
* src/WebSettingsImpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104149
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 14:02:04 +0000 (14:02 +0000)]
[Chromium] Expected test failures after Skia is rolled to 2918
https://bugs.webkit.org/show_bug.cgi?id=75019
Fixed now that Skia has rolled past r2936.
Unreviewed Chromium port test expectations update.
Patch by Stephen Chenney <schenney@chromium.org> on 2012-01-05
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104148
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hclam@chromium.org [Thu, 5 Jan 2012 13:38:57 +0000 (13:38 +0000)]
Unreviewed. Build fix.
Adding missing const_cast<> to fix compilation failures due to r104143.
* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::zvmul):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104147
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Thu, 5 Jan 2012 13:27:40 +0000 (13:27 +0000)]
Move Gamepad declarations from Navigator.idl into Modules/gamepad
https://bugs.webkit.org/show_bug.cgi?id=75559
Reviewed by Eric Seidel.
This patch moves the gamepad-related declarations in Navigator.idl into
Modules/gamepad. The next step is to move the state into
Modules/gamepad as well.
* Modules/gamepad/NavigatorGamepad.cpp: Added.
(WebCore::NavigatorGamepad::NavigatorGamepad):
(WebCore::NavigatorGamepad::~NavigatorGamepad):
(WebCore::NavigatorGamepad::webkitGamepads):
* Modules/gamepad/NavigatorGamepad.h: Added.
* Modules/gamepad/NavigatorGamepad.idl: Added.
* WebCore.gypi:
* page/Navigator.cpp:
(WebCore::Navigator::gamepads):
* page/Navigator.h:
* page/Navigator.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104146
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 5 Jan 2012 13:04:35 +0000 (13:04 +0000)]
[GTK] Add methods to get/set the WebView zoom level to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=75248
Reviewed by Gustavo Noronha Silva.
It uses the page zoom factor unconditionally for now.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init): Add WebKitWebView:zoom-level
property.
(webkit_web_view_set_zoom_level): Set current zoom level.
(webkit_web_view_get_zoom_level): Get current zoom level.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewZoomLevel):
(beforeAll):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104145
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alexis.menard@openbossa.org [Thu, 5 Jan 2012 12:55:50 +0000 (12:55 +0000)]
getComputedStyle for border-image is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=75347
Reviewed by Tony Chang.
Source/WebCore:
Implement getComputedStyle for border-color.
fast/css/getComputedStyle/computed-style-border-image.html was extended to cover the
new feature.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
LayoutTests:
Extend existing test to cover that we return correct values for border-image.
* fast/css/getComputedStyle/computed-style-border-image-expected.txt:
* fast/css/getComputedStyle/computed-style-border-image.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104144
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 12:54:04 +0000 (12:54 +0000)]
Add a SSE2 optimized function zvmul in VectorMatch
https://bugs.webkit.org/show_bug.cgi?id=74842
Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-01-05
Reviewed by Kenneth Russell.
Use zvmul in FFTFrameFFMPEG.cpp::multiply() and FFTFrameMac.cpp::multiply().
* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::zvmul):
* platform/audio/VectorMath.h:
* platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
(WebCore::FFTFrame::multiply):
* platform/audio/mac/FFTFrameMac.cpp:
(WebCore::FFTFrame::multiply):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104143
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hclam@chromium.org [Thu, 5 Jan 2012 12:51:35 +0000 (12:51 +0000)]
Unreviewed. Build fix for Chromium Mac Clang build.
Push using namespace WTF to .cpp file from .h file.
* platform/text/TextCodecASCIIFastPath.h:
* platform/text/TextCodecLatin1.cpp:
* platform/text/TextCodecUTF8.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 5 Jan 2012 12:50:16 +0000 (12:50 +0000)]
[Qt][WK2]REGRESSION(r104068): It made editing/pasteboard/copy-in-password-field.html fail
https://bugs.webkit.org/show_bug.cgi?id=75615
Unreviewed gardening.
* platform/qt-wk2/Skipped: Skip editing/pasteboard/copy-in-password-field.html to paint the bot green.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104141
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 12:23:43 +0000 (12:23 +0000)]
WebKit adds vertical paddings and borders to the fixed width of CSS tables
https://bugs.webkit.org/show_bug.cgi?id=74955
Patch by Max Vujovic <mvujovic@adobe.com> on 2012-01-05
Reviewed by Julien Chaffraix.
Source/WebCore:
Test: fast/table/css-table-width.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::computeLogicalWidth):
Changed the width calculation for CSS tables to take into account horizontal
paddings and borders instead of vertical paddings and borders.
LayoutTests:
Added tests to check that the fixed width style is applied correctly to
CSS tables with respect to table paddings and borders.
* fast/table/css-table-width-expected.txt: Added.
* fast/table/css-table-width.html: Added.
* fast/table/script-tests/css-table-width.js: Added.
(computeCSSTableOffsetWidth):
(computeCSSTableOffsetHeight):
(computeCSSTableProperty):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104140
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
peter@chromium.org [Thu, 5 Jan 2012 12:22:07 +0000 (12:22 +0000)]
[Chromium] Upstream the RenderTheme and ScrollbarTheme for Android
https://bugs.webkit.org/show_bug.cgi?id=74614
Reviewed by Adam Barth.
Source/WebCore:
Upstream the RenderTheme and ScrollbarTheme for Android. These are
mostly derived from their Linux variants.
RenderThemeChromiumAndroid inherits from RenderThemeChromiumLinux and
only overrides the three methods which have different behavior.
Scrollbars will be drawn in the threaded compositor for Android (which
will be upstreamed later), but for increased layout test parity we'll
match Chromium-Linux.
No new tests. This code will be exercised by existing layout tests, and
by manually verifying that theme parts render as expected.
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/chromium/ScrollbarThemeChromiumAndroid.cpp: Added.
(WebCore::ScrollbarTheme::nativeTheme):
(WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
(WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
(WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
(WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
(WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
* platform/chromium/ScrollbarThemeChromiumAndroid.h: Added.
* rendering/RenderThemeChromiumAndroid.cpp: Added.
(WebCore::RenderThemeChromiumAndroid::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::RenderThemeChromiumAndroid::~RenderThemeChromiumAndroid):
(WebCore::RenderThemeChromiumAndroid::systemColor):
(WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
* rendering/RenderThemeChromiumAndroid.h: Added.
* rendering/RenderThemeChromiumLinux.cpp:
* rendering/RenderThemeChromiumLinux.h:
Source/WebKit/chromium:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setScrollbarColors):
(WebKit::WebViewImpl::setSelectionColors):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104139
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 5 Jan 2012 12:09:59 +0000 (12:09 +0000)]
[Qt] Unreviewed gardening. Skip a new failing test.
* platform/qt/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104138
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fsamuel@chromium.org [Thu, 5 Jan 2012 11:40:30 +0000 (11:40 +0000)]
[Chromium] Expose Fixed Position Layout to WebViewImpl
https://bugs.webkit.org/show_bug.cgi?id=75556
Reviewed by Darin Fisher.
* public/WebView.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::shouldLayoutFixedElementsRelativeToFrame):
(WebKit::WebViewImpl::setShouldLayoutFixedElementsRelativeToFrame):
* src/WebViewImpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104137
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ossy@webkit.org [Thu, 5 Jan 2012 11:33:03 +0000 (11:33 +0000)]
unshift/pop fifo may consume excessive memory
https://bugs.webkit.org/show_bug.cgi?id=75588
Reviewed by Zoltan Herczeg.
Buildfix after r104120.
* runtime/JSArray.cpp: Remove useless asserts, baecause unsigned expression >= 0 is always true
(JSC::JSArray::unshiftCount):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104136
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zherczeg@webkit.org [Thu, 5 Jan 2012 11:24:23 +0000 (11:24 +0000)]
Unreviewed gardening after r104134.
* wtf/Assertions.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104135
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zherczeg@webkit.org [Thu, 5 Jan 2012 11:06:35 +0000 (11:06 +0000)]
Unreviewed gardening after r75605.
Rubber stamped by NOBODY Csaba Osztrogonác.
* wtf/Assertions.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104134
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 10:57:16 +0000 (10:57 +0000)]
Source/WebCore: Fix potential superlinear runtime of multiple indirect adjenceny combinators.
https://bugs.webkit.org/show_bug.cgi?id=75083
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-01-05
Reviewed by Antti Koivisto.
A sequence of indirect adjencency combinator such as "li ~ li ~ la" could with the
former algorithm potentially do an quadratic number of element matches.
The recursive matching algorithm now detects cases where all siblings have
failed one indirect sibling match and fails the entire selector.
Test: perf/nested-combined-selectors.html
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkSelector): Return SelectorFailsAllSiblings when
all siblings have failed a selector component.
* css/SelectorChecker.h: Add SelectorFailsAllSiblings enum value
LayoutTests: Test of styling performance of selectors with multiple indirect combinators
https://bugs.webkit.org/show_bug.cgi?id=75083
Reviewed by Antti Koivisto.
* perf/nested-combined-selectors.html: Added.
Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-01-05
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104133
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Thu, 5 Jan 2012 10:56:05 +0000 (10:56 +0000)]
prepare-ChangeLog cannot parse python code that nests classes and defs
https://bugs.webkit.org/show_bug.cgi?id=75524
Reviewed by Ryosuke Niwa.
This patch fixes the python parser of prepare-ChangeLog so that it can parse
python code that nests classes and defs, like this:
class C:
pass
def f():
pass
pass
Also, this patch fixes the python parser so that it inserts a dummy line
at the end of the file to pop out all popped scopes.
* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_python):
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py:
Added test cases that nest classes and defs.
(func7):
(func7.func8):
(func7.func8.func9):
(Class2):
(Class2.Class3):
(Class2.Class3.Class4):
(Class5):
(Class5.func10):
(Class5.func11):
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104132
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Thu, 5 Jan 2012 10:20:21 +0000 (10:20 +0000)]
InspectorStyleSheet: Avoid cloning CSSRuleLists.
<http://webkit.org/b/75603>
Reviewed by Ryosuke Niwa.
Don't filter out @charset rules from CSSRuleLists. This was forcing us to clone
the stylesheet rule list, and is unnecessary since InspectorStyleSheet disregards
any rule that isn't either a style rule or a rule with an internal rule list.
* inspector/InspectorStyleSheet.cpp:
(WebCore::asCSSRuleList):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
Don't pass omitCharsetRules=true to the CSSRuleList constructor.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104131
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kling@webkit.org [Thu, 5 Jan 2012 10:18:16 +0000 (10:18 +0000)]
Make elements with attributes smaller by eliminating the ref count in NamedNodeMap.
<http://webkit.org/b/75068>
Reviewed by Antti Koivisto.
Remove NamedNodeMap's inheritance from RefCounted and forward the ref()/deref()
calls to its owner Element, effectively reducing the size of an element that has
attributes by 4 bytes.
This reduces memory consumption by 311 kB when viewing the full HTML5 spec.
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::ref):
(WebCore::NamedNodeMap::deref):
Added. Forwards the operation to m_element. Only ever used by the DOM wrappers.
* dom/NamedNodeMap.h:
(WebCore::NamedNodeMap::create):
* dom/DocumentType.h:
* dom/Element.cpp:
(WebCore::Element::parserSetAttributeMap):
* dom/Element.h:
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::attributesForIsindexInput):
* html/parser/HTMLTreeBuilder.h:
* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::insertFakePreElement):
* xml/parser/MarkupTokenBase.h:
(WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::takeAttributes):
* xml/parser/XMLToken.h:
(WebCore::AtomicXMLToken::AtomicXMLToken):
Store NamedNodeMap in OwnPtr/PassOwnPtr, rather than RefPtr/PassRefPtr.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104130
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 5 Jan 2012 10:08:07 +0000 (10:08 +0000)]
[GTK] Rename webkit_web_view_load_alternate_html as webkit_web_view_replace_content in WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=75433
Reviewed by Martin Robinson.
Source/WebKit2:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewLoadFail): Use webkit_web_view_replace_content().
(webkitWebViewLoadChanged): Do not emit load-changed signal when
replacing content.
(webkitWebViewLoadFailed): Do not emit load-failed signal when
replacing content.
(webkitWebViewSetEstimatedLoadProgress): Do not emit
notify::estimated-load-progress signal when replacing content.
(webkit_web_view_replace_content):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
(beforeAll):
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(replaceContentTitleChangedCallback):
(replaceContentLoadCallback):
(testWebViewReplaceContent):
(beforeAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::replaceContent):
* UIProcess/API/gtk/tests/WebViewTest.h:
Tools:
* MiniBrowser/gtk/BrowserWindow.c:
(webViewLoadFailed): Reset the progress bar when load fails.
(browserWindowConstructed): Connect to load-failed signal.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104129
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
noel.gordon@gmail.com [Thu, 5 Jan 2012 10:03:44 +0000 (10:03 +0000)]
[chromium] MAC: update expectations for CSS3 linear gradient tests
https://bugs.webkit.org/show_bug.cgi?id=55745
Reviewed by Stephen White.
* platform/chromium-cg-mac-leopard/fast/gradients/css3-color-stop-units-expected.png: Added.
* platform/chromium-cg-mac-leopard/fast/gradients/css3-color-stops-expected.png: Added.
* platform/chromium-cg-mac-leopard/fast/gradients/css3-linear-angle-gradients-expected.png: Added.
* platform/chromium-mac-leopard/fast/gradients/css3-color-stop-units-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/gradients/css3-color-stop-units-expected.png: Renamed from LayoutTests/platform/chromium-mac/fast/gradients/css3-color-stop-units-expected.png.
* platform/chromium-mac-snowleopard/fast/gradients/css3-color-stops-expected.png: Renamed from LayoutTests/platform/chromium-mac/fast/gradients/css3-color-stops-expected.png.
* platform/chromium-mac-snowleopard/fast/gradients/css3-linear-angle-gradients-expected.png: Renamed from LayoutTests/platform/chromium-mac/fast/gradients/css3-linear-angle-gradients-expected.png.
* platform/chromium/test_expectations.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104128
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 5 Jan 2012 09:38:52 +0000 (09:38 +0000)]
Improve charactersAreAllASCII() to compare multiple characters at a time
https://bugs.webkit.org/show_bug.cgi?id=74063
Reviewed by Darin Adler.
Source/JavaScriptCore:
A new header ASCIIFastPath.h contains the functions related to
the detection of ASCII by using machine words. Part of it comes from
WebCore's TextCodecASCIIFastPath.h.
The function charactersAreAllASCII() is moved to TextCodecASCIIFastPath.h
and is implemented with computer word comparison.
The gain over the previous implementation of charactersAreAllASCII() is of
the order of how many comparison are avoided (4x, 8x, 16x depending on the
format and the CPU type).
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* wtf/text/ASCIIFastPath.h: Added.
(WTF::isAlignedToMachineWord):
(WTF::alignToMachineWord):
(WTF::isAllASCII):
(WTF::charactersAreAllASCII):
* wtf/text/WTFString.h:
* wtf/wtf.pro:
Source/JavaScriptGlue:
Add forwarding header for ASCIIFastPath.h.
* ForwardingHeaders/wtf/text/ASCIIFastPath.h: Added.
Source/WebCore:
Move some part of TextCodecASCIIFastPath.h to WTF in ASCIIFastPath.h.
The function isAllASCII() is changed to the template version which now works
with both LChar and UChar.
* ForwardingHeaders/wtf/text/ASCIIFastPath.h: Added.
* platform/text/TextCodecASCIIFastPath.h:
(WebCore::copyASCIIMachineWord):
* platform/text/TextCodecLatin1.cpp:
(WebCore::TextCodecLatin1::decode):
* platform/text/TextCodecUTF8.cpp:
(WebCore::TextCodecUTF8::decode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104127
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ericu@chromium.org [Thu, 5 Jan 2012 09:29:16 +0000 (09:29 +0000)]
[fileapi] WebKitFlags should not be constructable per Directories & System spec
https://bugs.webkit.org/show_bug.cgi?id=68916
Reviewed by Eric Seidel.
Source/WebCore:
Remove IDL for the object and all DOM references to it.
* fileapi/WebKitFlags.idl: Removed.
* page/DOMWindow.idl:
* workers/WorkerContext.idl:
Remove references to the JSC/V8 objects compiled from the IDL.
* bindings/js/JSDirectoryEntryCustom.cpp:
(WebCore::JSDirectoryEntry::getFile):
(WebCore::JSDirectoryEntry::getDirectory):
* bindings/js/JSDirectoryEntrySyncCustom.cpp:
(WebCore::getFlags):
* bindings/v8/custom/V8DirectoryEntryCustom.cpp:
(WebCore::V8DirectoryEntry::getDirectoryCallback):
(WebCore::V8DirectoryEntry::getFileCallback):
* bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
(WebCore::getFlags):
Fix up build files.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCore/CMakeLists.txt:
* WebCore/CodeGenerators.pri:
* WebCore/DerivedSources.cpp:
* WebCore/DerivedSources.make:
* WebCore/GNUmakefile.list.am:
LayoutTests:
Remove a test that constructed the object; add one that tests error-handling for non-object parameters while I'm in there.
* fast/filesystem/flags-passing-expected.txt:
* fast/filesystem/script-tests/flags-passing.js:
Remove a special case reference to the global WebKitFlags constructor.
* fast/dom/script-tests/prototype-inheritance.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104126
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 5 Jan 2012 09:16:35 +0000 (09:16 +0000)]
<webkit.org/b/75606> [Mac] WTF logging functions should output to both stderr and ASL
We should always log to both ASL and stderr on platforms where this won't result in launchd
duplicating the messages.
Reviewed by Dan Bernstein.
* wtf/Assertions.cpp:
(vprintf_stderr_common):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 5 Jan 2012 09:16:21 +0000 (09:16 +0000)]
<webkit.org/b/75605> WTF logging functions should call vprintf_stderr_common only once per line
Several of the WTF logging functions make multiple calls to vprintf_stderr_common to output a
single line of text. This results in strangely formatted output if vprintf_stderr_common is
retargeted to an output device that is message-oriented (such as ASL) rather than stream-oriented
like stderr.
Reviewed by Dan Bernstein.
* wtf/Assertions.cpp:
(vprintf_stderr_with_prefix): Helper function to prepend a given prefix on to the given format
string before handing it off to vprintf_stderr_common. This requires disabling warnings about
calling a printf-like function with a non-literal format string for this piece of code. It's
safe in this particular case as vprintf_stderr_with_prefix is only ever given a literal prefix.
(vprintf_stderr_with_trailing_newline): Helper function to append a trailling newline on to the
given format string if one does not already exist. It requires the same treatment with regards
to the non-literal format string warning.
(WTFReportAssertionFailureWithMessage): Switch to using vprintf_stderr_with_prefix.
(WTFReportBacktrace): Switch from calling fprintf directly to using fprintf_stderr_common.
(WTFReportFatalError): Switch to using vprintf_stderr_with_prefix.
(WTFReportError): Ditto.
(WTFLog): Switch to using vprintf_stderr_with_trailing_newline.
(WTFLogVerbose): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104124
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 08:51:51 +0000 (08:51 +0000)]
Crash due to first-letter block processing
https://bugs.webkit.org/show_bug.cgi?id=74009
Source/WebCore:
Fixing the way updateFirstLetter() finds the remaining text fragment
for a given first-letter. Previously this was unreliable in some
circumstances.
This patch provides a reliable mechanism to identify the remaining
text by storing first-letter to remaining text associations in a
hash map, managed by methods in RenderBoxModelObject.
Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-05
Reviewed by David Hyatt.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter)
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::setFirstLetterRemainingText): Added
(WebCore::RenderBoxModelObject::firstLetterRemainingText): Added
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::setFirstLetterRemainingText): Added
(WebCore::RenderBoxModelObject::firstLetterRemainingText): Added
LayoutTests:
Test for crashing condition in 74009.
Patch by Ken Buchanan <kenrb@chromium.org> on 2012-01-05
Reviewed by David Hyatt.
* fast/css/first-letter-inline-flow-split-table-crash-expected.txt: Added
* fast/css/first-letter-inline-flow-split-table-crash.html: Added
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104123
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 08:51:02 +0000 (08:51 +0000)]
[WK2][EFL] creating dummy functions for Download class on Efl port.
https://bugs.webkit.org/show_bug.cgi?id=75246
dummy functions for Download class on Efl port
Patch by Keunsoon Lee <keunsoon.lee@samsung.com> on 2012-01-05
Reviewed by Hajime Morita.
* PlatformEfl.cmake: add new file to compile
* WebProcess/Downloads/efl: Added.
* WebProcess/Downloads/efl/DownloadEfl.cpp: Added.
(WebKit::Download::start):
(WebKit::Download::startWithHandle):
(WebKit::Download::cancel):
(WebKit::Download::platformInvalidate):
(WebKit::Download::didDecideDestination):
(WebKit::Download::platformDidFinish):
(WebKit::Download::receivedCredential):
(WebKit::Download::receivedRequestToContinueWithoutCredential):
(WebKit::Download::receivedCancellation):
(WebKit::Download::useCredential):
(WebKit::Download::continueWithoutCredential):
(WebKit::Download::cancelAuthenticationChallenge):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104122
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihnea@adobe.com [Thu, 5 Jan 2012 08:34:52 +0000 (08:34 +0000)]
Source/WebCore: Crash in RenderRegion::getRegionRangeForBox.
https://bugs.webkit.org/show_bug.cgi?id=74781
Reviewed by David Hyatt.
Test: fast/regions/region-range-for-box-crash.html
This patch fixes 2 issues:
1. When removing a region from a flow thread, we clear the region range information for boxes since
this information is accurate only after the regions are laid out.
2. While the regions are invalidated (content of flow thread is not yet laid out in regions), the
functions that ask for properties of content in regions should bail out early.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::regionAtBlockOffset):
(WebCore::RenderBlock::logicalWidthChangedInRegions):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::clearRenderBoxRegionInfo):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::removeRegionFromThread):
(WebCore::RenderFlowThread::repaintRectangleInRegions):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
(WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
(WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
(WebCore::RenderFlowThread::firstRegion):
(WebCore::RenderFlowThread::lastRegion):
(WebCore::RenderFlowThread::getRegionRangeForBox):
* rendering/RenderFlowThread.h:
LayoutTests: Crash in RenderFlowThread::getRegionRangeForBox.
https://bugs.webkit.org/show_bug.cgi?id=74781
Reviewed by David Hyatt.
* fast/regions/region-range-for-box-crash-expected.txt: Added.
* fast/regions/region-range-for-box-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104121
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Thu, 5 Jan 2012 08:00:09 +0000 (08:00 +0000)]
unshift/pop fifo may consume excessive memory
https://bugs.webkit.org/show_bug.cgi?id=75588
Reviewed by Sam Weinig.
The Array object commonly store data in a vector, consisting of a portion that
is in use, a pre-capacity (m_indexBias) and a post-capacity (the delta between
m_length and m_vectorLength). Calls to pop with grow the post-capacity, and the
current algorithm for increasePrefixVectorLength (used by unshift) will never
stink the post-capacity, so a unshift/pop fifo may consume an inordinate amount
of memory, whilst having a relatively small active length.
* runtime/JSArray.cpp:
(JSC::storageSize):
- sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>)
(JSC::SparseArrayValueMap::put):
- sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>)
(JSC::JSArray::increaseVectorLength):
- sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>)
(JSC::JSArray::unshiftCountSlowCase):
- renamed from increaseVectorPrefixLength (this was a bad name, since it
also moved the ArrayStorage header), rewritten.
(JSC::JSArray::shiftCount):
- sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>), count should be unsigned
(JSC::JSArray::unshiftCount):
- sizeof(JSValue) should be sizeof(WriteBarrier<Unknown>), count should be unsigned,
increaseVectorPrefixLength renamed to unshiftCountSlowCase
(JSC::JSArray::sortNumeric):
* runtime/JSArray.h:
- Updated function declarations, m_indexBias should be unsigned.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104120
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 5 Jan 2012 07:39:36 +0000 (07:39 +0000)]
<webkit.org/b/75604> All instances of JSC::ArgumentsData appear to be leaked by JSC::Arguments
Since JSC::Arguments has an OwnPtr for a member it needs to override destroy
to ensure that the correct destructor is invoked. This is necessary because
JSCell subclasses all intentionally have non-virtual destructors.
Reviewed by Filip Pizlo.
* runtime/Arguments.cpp:
(JSC::Arguments::destroy):
* runtime/Arguments.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104119
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Thu, 5 Jan 2012 07:12:38 +0000 (07:12 +0000)]
Remove HEADER_SEARCH_PATHS from Production configurations for gtest
Reviewed by Mark Rowe.
* gtest/xcode/gtest.xcodeproj/project.pbxproj: Remove
HEADER_SEARCH_PATHS from Production configurations to match
changes made for Debug and Release configurations in r104091.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104118
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 5 Jan 2012 06:49:51 +0000 (06:49 +0000)]
Roll Chromium DEPS from 116031 to 116459.
* DEPS:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104117
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 5 Jan 2012 04:59:10 +0000 (04:59 +0000)]
Unreviewed, rolling out r104084.
http://trac.webkit.org/changeset/104084
https://bugs.webkit.org/show_bug.cgi?id=75600
Likely kills dom-perf benchmark in chromium
http://build.chromium.org/f/chromium/perf/linux-
release/dom_perf/report.html?history=150&rev=116444 (Requested
by dslomov on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-04
* dom/Attr.cpp:
(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged):
* dom/DynamicNodeList.cpp:
(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
(WebCore::DynamicSubtreeNodeList::length):
(WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
(WebCore::DynamicSubtreeNodeList::item):
(WebCore::DynamicSubtreeNodeList::invalidateCache):
(WebCore::DynamicSubtreeNodeList::Caches::create):
(WebCore::DynamicSubtreeNodeList::Caches::reset):
* dom/DynamicNodeList.h:
* dom/Element.cpp:
(WebCore::Element::updateAfterAttributeChanged):
* dom/Node.cpp:
(WebCore::Node::setTreeScopeRecursively):
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
(WebCore::Node::notifyLocalNodeListsLabelChanged):
(WebCore::Node::itemTypeAttributeChanged):
(WebCore::NodeListsNodeData::invalidateCaches):
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
* dom/Node.h:
* dom/NodeRareData.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseMappedAttribute):
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::parseMappedAttribute):
* html/HTMLLabelElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104116
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 5 Jan 2012 04:19:28 +0000 (04:19 +0000)]
Source/WebKit2: Allow WebProcess to launch a client process and become its first WebProcess.
This is the WebKit2 part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach
Reviewed by Anders Carlsson.
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain): Added a newline to stderr output.
* UIProcess/Launcher/mac/EnvironmentVariables.cpp:
(WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Added. Returns the name
of the environment variable that optionally tells a UI processs to look for a preexisting
web process instead of launching a new one.
(WebKit::EnvironmentVariables::preexistingProcessTypeKey): Added. Returns the name of the
environment variable that tells a UI process the type of the preexisting web process
indicated by the other variable.
* UIProcess/Launcher/mac/EnvironmentVariables.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::ProcessLauncher::launchProcess): Changed to look for a preexisting web process if
the aforementioned environment variables are set and the preexisting process has not been
used yet.
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain): Changed to look for the -client-executable command-line option,
and if present, launch the specified executable, setting variables in its environment that
tell it to use this preexisting web process, then wait for it to send a send right to its
listening port.
Tools: Add a --target-web-process option to the debug-* scripts. When specified, the scripts will
start WebProcess under gdb and WebProcess will then run the client executable.
This is the Tools part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach
Reviewed by Anders Carlsson.
* Scripts/webkitdirs.pm:
(shouldTargetWebProcess): Added.
(determineShouldTargetWebProcess): Added. Checks for --target-web-process.
(execMacWebKitAppForDebugging): Changed to target gdb at WebProcess and pass the path to the
app using the -client-executable option if targeting the web process.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104115
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
levin@chromium.org [Thu, 5 Jan 2012 03:20:26 +0000 (03:20 +0000)]
Attempt Chromium build fix.
* src/WorkerFileSystemCallbacksBridge.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@104114
268f45cc-cd09-0410-ab3c-
d52691b4dbfc