WebKit-https.git
10 years ago[Qt] Move listing of include paths and libs to pri files in sources
vestbo@webkit.org [Fri, 6 Jan 2012 12:53:33 +0000 (12:53 +0000)]
[Qt] Move listing of include paths and libs to pri files in sources

Includepaths are sometimes modified by non-Qt contributors so keeping
them in files inside Sources makes it more likely that they are updated
along with project files for the other ports.

Using pri files instead of prf files for this also has the benefit that
the include() from the main target file can be parsed and followed by
Qt Creator -- something that does not work with load().

Dependency from a target to a library through the WEBKIT variable are
handled through forwarding-files in Tools/qmake/mkspecs/modules, which
set the source root of the module and include the right pri file.

Ideally we'd use the variant of include() that takes an optional
namespace to read the variables into, or the fromfile() function,
but both of these add an overhead of about 40% on the total qmake
runtime, due to making a deep copy of all the variables in the
project or re-reading all the prf files from scratch.

Reviewed by Simon Hausmann.
Reviewed by Ossy.

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

10 years ago[Qt] Add a few more files ot OTHER_FILES
vestbo@webkit.org [Fri, 6 Jan 2012 12:44:11 +0000 (12:44 +0000)]
[Qt] Add a few more files ot OTHER_FILES

Rubber-stamped by Simon Hausmann.

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

10 years ago[Qt] Unreviewed gardening. Skip a new failing test.
ossy@webkit.org [Fri, 6 Jan 2012 12:27:33 +0000 (12:27 +0000)]
[Qt] Unreviewed gardening. Skip a new failing test.

* platform/qt/Skipped:

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

10 years agoSource/WebKit/efl: [EFL] Add new pre-rendering code.
commit-queue@webkit.org [Fri, 6 Jan 2012 11:25:24 +0000 (11:25 +0000)]
Source/WebKit/efl: [EFL] Add new pre-rendering code.
https://bugs.webkit.org/show_bug.cgi?id=73430

Patch by JungJik Lee <jungjik.lee@samsung.com> on 2012-01-06
Reviewed by Zoltan Herczeg.

Add new pre-rendering code to pre-render the view area more efficiently.
At first find centered view position where backing store starts to queuing the render request from.
And append the request into the tiled backing store in spiral order.

* ewk/ewk_private.h:
* ewk/ewk_tiled_backing_store.cpp:
(ewk_tiled_backing_store_pre_render_tile_add):
(ewk_tiled_backing_store_pre_render_spiral_queue):
* ewk/ewk_tiled_backing_store.h:
* ewk/ewk_view.cpp:
(_ewk_view_smart_pre_render_start):
(ewk_view_base_smart_set):
(ewk_view_pre_render_start):
* ewk/ewk_view.h:
* ewk/ewk_view_tiled.cpp:
(_ewk_view_tiled_rect_collision_check):
(_ewk_view_tiled_rect_collision_resolve):
(_ewk_view_tiled_smart_pre_render_start):
(ewk_view_tiled_smart_set):

Tools: [EFL] Add pre-render handling code in EWebLauncher.
https://bugs.webkit.org/show_bug.cgi?id=73430

Patch by JungJik Lee <jungjik.lee@samsung.com> on 2012-01-06
Reviewed by Zoltan Herczeg.

Add pre-render handling code by pressing Insert key.

* EWebLauncher/main.c:
(on_key_down):

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

10 years ago[Chromium] Update test expectations.
jknotten@chromium.org [Fri, 6 Jan 2012 10:55:22 +0000 (10:55 +0000)]
[Chromium] Update test expectations.
https://bugs.webkit.org/show_bug.cgi?id=75698

Unreviewed.

* platform/chromium/test_expectations.txt:

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

10 years ago[Qt][WK2] Add test for application URL schemes.
zeno.albisser@nokia.com [Fri, 6 Jan 2012 10:31:36 +0000 (10:31 +0000)]
[Qt][WK2] Add test for application URL schemes.
https://bugs.webkit.org/show_bug.cgi?id=74933

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Added.
* UIProcess/API/qt/tests/qmltests/qmltests.pro:

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

10 years agoFrameDestructionObserver should be more full-service
abarth@webkit.org [Fri, 6 Jan 2012 10:28:24 +0000 (10:28 +0000)]
FrameDestructionObserver should be more full-service
https://bugs.webkit.org/show_bug.cgi?id=75690

Reviewed by Eric Seidel.

This patch moves code common to both subclasses of
FrameDestructionObserver into FrameDestructionObserver itself.  As we
add more subclasses, we don't want to keep copy/pasting this code.

* page/Frame.cpp:
(WebCore::FrameDestructionObserver::FrameDestructionObserver):
(WebCore::FrameDestructionObserver::~FrameDestructionObserver):
(WebCore::FrameDestructionObserver::frameDestroyed):
* page/Frame.h:
(WebCore::FrameDestructionObserver::frame):
* plugins/DOMMimeType.cpp:
(WebCore::DOMMimeType::DOMMimeType):
(WebCore::DOMMimeType::~DOMMimeType):
* plugins/DOMMimeType.h:
* plugins/DOMPlugin.cpp:
(WebCore::DOMPlugin::DOMPlugin):
(WebCore::DOMPlugin::~DOMPlugin):
* plugins/DOMPlugin.h:

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

10 years agoMove MediaDocument styles into CSS. Set black background for chromium.
commit-queue@webkit.org [Fri, 6 Jan 2012 09:43:44 +0000 (09:43 +0000)]
Move MediaDocument styles into CSS. Set black background for chromium.
https://bugs.webkit.org/show_bug.cgi?id=74123

Source/WebCore:

Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-01-06
Reviewed by Eric Seidel.

Test: platform/chromium/media/video-black-bg-in-media-document.html

* css/mediaControls.css:
(body:-webkit-full-page-media):
(video:-webkit-full-page-media):
* css/mediaControlsChromium.css:
(body:-webkit-full-page-media):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):

LayoutTests:

Adds a new chromium specific test for ensuring the background is set
properly.

Rebaselines the text portions of media-document-audio-repaint.

Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-01-06
Reviewed by Eric Seidel.

* platform/chromium-gpu-win/media/media-document-audio-repaint-expected.txt:
* platform/chromium-gpu/media/media-document-audio-repaint-expected.txt:
* platform/chromium-win/media/media-document-audio-repaint-expected.txt:
* platform/chromium/media/media-document-audio-repaint-expected.txt:
* platform/chromium/media/video-black-bg-in-media-document-expected.txt: Added.
* platform/chromium/media/video-black-bg-in-media-document.html: Added.
* platform/chromium/test_expectations.txt:

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

10 years ago[Qt] Unreviewed gardening. Update Qt specific expected results after r104208.
ossy@webkit.org [Fri, 6 Jan 2012 09:03:23 +0000 (09:03 +0000)]
[Qt] Unreviewed gardening. Update Qt specific expected results after r104208.

* platform/qt/fast/table/032-expected.png:
* platform/qt/fast/table/032-expected.txt:
* platform/qt/fast/writing-mode/table-percent-width-quirk-expected.png: Added.
* platform/qt/fast/writing-mode/table-percent-width-quirk-expected.txt: Added.
* platform/qt/tables/mozilla/bugs/bug55694-expected.png:
* platform/qt/tables/mozilla/bugs/bug55694-expected.txt:

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

10 years agoReport correct line number for non-native editable text elements.
aboxhall@chromium.org [Fri, 6 Jan 2012 08:53:12 +0000 (08:53 +0000)]
Report correct line number for non-native editable text elements.
https://bugs.webkit.org/show_bug.cgi?id=71263

Reviewed by Ryosuke Niwa.

Source/WebCore:

A non-native editable text element is an element with an ARIA role of "textbox", which is
set on an element which behaves like an editable text element (such as a textarea, text
input field or contenteditable text), but whose behaviour is controlled by the author rather
than the browser.

This change makes certain methods on Node, and related methods in htmlediting and
visible_units, aware of the notion that an element may be editable only from the point of
view of assistive technology (via the ARIA textbox role), via the EditableType enum added to
EditingBoundary.h.

This is so that AccessibilityObject::lineForPosition() can use previousLinePosition(), and
AccessibilityRenderObject::indexForVisiblePosition() can use highestEditableRoot(), in a way
that respects non-native editability.

Test: accessibility/textbox-role-reports-line-number.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::rootAXEditableElement): Returns the root element which is
editable from the point of view of assistive technology, whether natively or otherwise.
(WebCore::AXObjectCache::nodeIsTextControl): Whether the given node is considered an
editable text element by assistive technology, natively or otherwise.
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::lineForPosition): Modified to request the previous line
position in an element which is editable to Accessibility.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::indexForVisiblePosition): Modified to request the
highest root element which is editable to Accessibility.
* dom/Node.cpp:
(WebCore::Node::rendererIsEditableToAccessibility): Whether this node is editable to
Accessibility for the given EditableLevel.
(WebCore::Node::rootEditableElement): Overloaded version of this method which takes an
EditableType enum value indicating whether non-native editability is to be respected.
* dom/Node.h:
(WebCore::Node::rendererIsEditable): Overloaded version of this method which takes an
EditableType enum value indicating whether non-native editability is to be respected.
(WebCore::Node::rendererIsRichlyEditable):  Overloaded version of this method which takes
an EditableType enum value indicating whether non-native editability is to be respected.
* editing/EditingBoundary.h:
* editing/htmlediting.cpp:
(WebCore::highestEditableRoot): Added optional EditableType parameter.
(WebCore::isEditablePosition): Added optional EditableType parameter.
(WebCore::isRichlyEditablePosition): Added optional EditableType parameter.
(WebCore::editableRootForPosition): Added optional EditableType parameter.
* editing/htmlediting.h:
* editing/visible_units.cpp:
(WebCore::previousLeafWithSameEditability): Added optional EditableType parameter.
(WebCore::previousLinePosition): Added optional EditableType parameter.
(WebCore::nextLeafWithSameEditability): Added optional EditableType parameter.
(WebCore::nextLinePosition): Added optional EditableType parameter.
* editing/visible_units.h:

LayoutTests:

* accessibility/textbox-role-reports-line-number-expected.txt: Added.
* accessibility/textbox-role-reports-line-number.html: Added.

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

10 years agoFix a crash by importing an element of which local name ends with ":input".
tkent@chromium.org [Fri, 6 Jan 2012 08:47:18 +0000 (08:47 +0000)]
Fix a crash by importing an element of which local name ends with ":input".
https://bugs.webkit.org/show_bug.cgi?id=75103

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/dom/importNode-confusing-localName.html

* dom/Document.cpp:
(WebCore::Document::importNode): Pass QualifiedName of the source elemnt
to createElement() in order to avoid unnecessary serialization and
parsing of the qualified name

LayoutTests:

* fast/dom/importNode-confusing-localName-expected.txt: Added.
* fast/dom/importNode-confusing-localName.html: Added.

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

10 years agoMove HTMLFormControlElementWithState class in its own header file.
tkent@chromium.org [Fri, 6 Jan 2012 08:33:24 +0000 (08:33 +0000)]
Move HTMLFormControlElementWithState class in its own header file.
https://bugs.webkit.org/show_bug.cgi?id=75482

Patch by Alexis Menard <alexis.menard@openbossa.org> on 2012-01-06
Reviewed by Kent Tamura.

Move HTMLFormControlElementWithState class which was mixed in HTMLFormControlElement
files into its own header file and its own implementation file.

No new tests : the existing ones should cover the refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLElementsAllInOne.cpp:
* html/HTMLFormControlElement.cpp:
* html/HTMLFormControlElement.h:
* html/HTMLKeygenElement.h:
* html/HTMLSelectElement.h:
* html/HTMLTextFormControlElement.h:

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

10 years agoNRWT should use test_expectation.txt on wk2 platforms
ossy@webkit.org [Fri, 6 Jan 2012 08:14:02 +0000 (08:14 +0000)]
NRWT should use test_expectation.txt on wk2 platforms
https://bugs.webkit.org/show_bug.cgi?id=75417

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/webkit.py:
(path_to_test_expectations_file):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(test_path_to_test_expectations_file):

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

10 years agoUnreviewed, rolling out r104268.
ossy@webkit.org [Fri, 6 Jan 2012 08:09:16 +0000 (08:09 +0000)]
Unreviewed, rolling out r104268.
http://trac.webkit.org/changeset/104268
https://bugs.webkit.org/show_bug.cgi?id=75689

It broke the mac build (Requested by Ossy on #webkit).

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

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLElementsAllInOne.cpp:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
(WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
(WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
(WebCore::HTMLFormControlElementWithState::shouldAutocomplete):
(WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
(WebCore::HTMLFormControlElementWithState::finishParsingChildren):
* html/HTMLFormControlElement.h:
(WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint):
(WebCore::HTMLFormControlElementWithState::saveFormControlState):
(WebCore::HTMLFormControlElementWithState::restoreFormControlState):
* html/HTMLFormControlElementWithState.cpp: Removed.
* html/HTMLFormControlElementWithState.h: Removed.
* html/HTMLKeygenElement.h:
* html/HTMLSelectElement.h:
* html/HTMLTextFormControlElement.h:

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

10 years agoUnreviewed, rolling out r104259 and r104261.
commit-queue@webkit.org [Fri, 6 Jan 2012 08:07:42 +0000 (08:07 +0000)]
Unreviewed, rolling out r104259 and r104261.
http://trac.webkit.org/changeset/104259
http://trac.webkit.org/changeset/104261
https://bugs.webkit.org/show_bug.cgi?id=75688

Caused assertion failures (Requested by rniwa on #webkit).

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

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
* dom/DOMAllInOne.cpp:
* dom/Document.cpp:
(WebCore::Document::setDocType):
(WebCore::Document::adoptNode):
* dom/Element.cpp:
(WebCore::Element::removeShadowRoot):
* dom/Node.cpp:
(WebCore::Node::setDocument):
(WebCore::Node::setTreeScopeRecursively):
(WebCore::Node::setDocumentRecursively):
(WebCore::Node::didMoveToNewDocument):
* dom/Node.h:
* dom/TreeScope.cpp:
* dom/TreeScope.h:
* dom/TreeScopeAdopter.cpp: Removed.
* dom/TreeScopeAdopter.h: Removed.

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

10 years agoWTF::String: Inline method shouldn't have WTF_EXPORT_PRIVATE
commit-queue@webkit.org [Fri, 6 Jan 2012 08:04:29 +0000 (08:04 +0000)]
WTF::String: Inline method shouldn't have WTF_EXPORT_PRIVATE
https://bugs.webkit.org/show_bug.cgi?id=75612

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-06
Reviewed by Kevin Ollivier.

* wtf/text/WTFString.h:
(WTF::String::findIgnoringCase):
(WTF::String::append):
(WTF::String::fromUTF8):
(WTF::String::fromUTF8WithLatin1Fallback):
(WTF::String::isHashTableDeletedValue):

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

10 years ago<rdar://problem/10633760> Update copyright strings
mitz@apple.com [Fri, 6 Jan 2012 06:41:04 +0000 (06:41 +0000)]
<rdar://problem/10633760> Update copyright strings

Reviewed by Mark Rowe.

Source/JavaScriptCore:

* Info.plist:

Source/JavaScriptGlue:

* Info.plist:

Source/WebCore:

* Info.plist:

Source/WebKit/mac:

* Info.plist:

Source/WebKit2:

* Info.plist:
* PluginProcess/Info.plist:
* WebProcess/Info.plist:

WebKitLibraries:

* win/tools/scripts/COPYRIGHT-END-YEAR:

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

10 years agoMove HTMLFormControlElementWithState class in its own header file.
alexis.menard@openbossa.org [Fri, 6 Jan 2012 05:36:37 +0000 (05:36 +0000)]
Move HTMLFormControlElementWithState class in its own header file.
https://bugs.webkit.org/show_bug.cgi?id=75482

Reviewed by Kent Tamura.

Move HTMLFormControlElementWithState class which was mixed in HTMLFormControlElement
files into its own header file and its own implementation file.

No new tests : the existing ones should cover the refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLElementsAllInOne.cpp:
* html/HTMLFormControlElement.cpp:
* html/HTMLFormControlElement.h:
* html/HTMLKeygenElement.h:
* html/HTMLSelectElement.h:
* html/HTMLTextFormControlElement.h:

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

10 years agoDate constructor handles infinite values incorrectly.
barraclough@apple.com [Fri, 6 Jan 2012 05:29:28 +0000 (05:29 +0000)]
Date constructor handles infinite values incorrectly.
https://bugs.webkit.org/show_bug.cgi?id=70998

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

* runtime/DateConstructor.cpp:
(JSC::constructDate):
    - should be checking !finite rather then isnan.

LayoutTests:

* fast/js/date-constructor-expected.txt:
* fast/js/script-tests/date-constructor.js:
    - Added test cases.

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

10 years agodate.toISOString produces incorrect results for dates with ms prior to 1970
barraclough@apple.com [Fri, 6 Jan 2012 04:48:14 +0000 (04:48 +0000)]
date.toISOString produces incorrect results for dates with ms prior to 1970
https://bugs.webkit.org/show_bug.cgi?id=75684

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToISOString):

LayoutTests:

* fast/js/date-toisostring-expected.txt:
* fast/js/script-tests/date-toisostring.js:
    - Added test case

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

10 years agoOptimize with memcpy instead of copying frame by frame in Realtimeanalyser::doFFTAnalysis
commit-queue@webkit.org [Fri, 6 Jan 2012 04:01:23 +0000 (04:01 +0000)]
Optimize with memcpy instead of copying frame by frame in Realtimeanalyser::doFFTAnalysis
https://bugs.webkit.org/show_bug.cgi?id=74693

Patch by Wei James <james.wei@intel.com> on 2012-01-05
Reviewed by Kenneth Russell.

* webaudio/RealtimeAnalyser.cpp:
(WebCore::RealtimeAnalyser::doFFTAnalysis):

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

10 years agoDon't hardcode expected file URIs in as they depend on the platform
jochen@chromium.org [Fri, 6 Jan 2012 03:20:50 +0000 (03:20 +0000)]
Don't hardcode expected file URIs in as they depend on the platform
https://bugs.webkit.org/show_bug.cgi?id=75666

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/win.py:
(WinPort.show_results_html_file):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(MainTest.test_unexpected_failures):
(MainTest.test_results_directory_default):
(MainTest.test_results_directory_relative):

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

10 years agoREGRESSION(r104210): Dromaeo DOM test score is lower
rniwa@webkit.org [Fri, 6 Jan 2012 03:14:05 +0000 (03:14 +0000)]
REGRESSION(r104210): Dromaeo DOM test score is lower
https://bugs.webkit.org/show_bug.cgi?id=75679

Reviewed by Andreas Kling.

The regression was caused by isDomVersionConsistent not being able to obtain the tree version
inside isLengthCacheValid when m_cachedItem is null. Fix the regression by always setting
m_cachedItem to some node when caching the length so that we can obtain the tree version later.

Also address Antti's review comment to fit m_cachedLength, m_isLengthCacheValid, and
m_isItemCacheValid all in 32-bit.

* dom/DynamicNodeList.cpp:
(WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):

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

10 years agoMore chromium expected results after r104208.
ojan@chromium.org [Fri, 6 Jan 2012 03:10:09 +0000 (03:10 +0000)]
More chromium expected results after r104208.

* platform/chromium-cg-mac-leopard/fast/table/032-expected.png: Added.
* platform/chromium-mac-leopard/fast/table/032-expected.txt: Removed.
* platform/chromium-win-xp/fast/table/032-expected.png:
* platform/chromium-win-xp/fast/table/032-expected.txt: Removed.

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

10 years agoUnreviewed bad merge fix for r104259 which dropped a line from r104210.
morrita@google.com [Fri, 6 Jan 2012 02:46:13 +0000 (02:46 +0000)]
Unreviewed bad merge fix for r104259 which dropped a line from r104210.

* dom/TreeScopeAdopter.cpp:
(WebCore::TreeScopeAdopter::moveTreeToNewScope):

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

10 years agohttps://bugs.webkit.org/show_bug.cgi?id=75593
commit-queue@webkit.org [Fri, 6 Jan 2012 02:13:29 +0000 (02:13 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=75593
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2012-01-05
Reviewed by Alexey Proskuryakov.

Null-check 'page' variable before use, to follow the common usage pattern of m_frame->page()
throughout the rest of FrameView.cpp.

* page/FrameView.cpp:
(WebCore::FrameView::notifyPageThatContentAreaWillPaint):

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

10 years ago[Refactoring] Moving between TreeScopes should be done by its own class.
morrita@google.com [Fri, 6 Jan 2012 01:58:34 +0000 (01:58 +0000)]
[Refactoring] Moving between TreeScopes should be done by its own class.
https://bugs.webkit.org/show_bug.cgi?id=75290

Reviewed by Ryosuke Niwa.

This change extracted Node::setTreeScopeRecursively(),
setDocumentRecursively() and a part of setDocument() into a new
class called TreeScopeAdopter. By doing this, the idea of
moving a node from scope to scope, that was originally hidden
behind the forest of Node APIs, has become clearer.

Note that this change is a preparation for Bug 59816.

No new tests. No behavioral change.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/ContainerNode.cpp: Followed the renaming.
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
* dom/DOMAllInOne.cpp:
* dom/Document.cpp: Followed te renaming.
(WebCore::Document::setDocType):
(WebCore::Document::adoptNode):
* dom/Element.cpp: Followed te renaming.
(WebCore::Element::removeShadowRoot):
* dom/Node.cpp:
(WebCore::Node::setDocument):
(WebCore::Node::setTreeScope):
(WebCore::Node::didMoveToNewDocument):
* dom/Node.h:
* dom/TreeScope.h:
* dom/TreeScope.cpp:
(WebCore::TreeScope::adoptIfNeeded): moved from setTreeScopeRecursively()
* dom/TreeScopeAdopter.cpp: Added.
(WebCore::TreeScopeAdopter::TreeScopeAdopter):
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveTreeToNewDocument):
(WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):
* dom/TreeScopeAdopter.h: Added.
(WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
(WebCore::TreeScopeAdopter::execute):
(WebCore::TreeScopeAdopter::needsScopeChange()):
(WebCore::TreeScopeAdopter::shadowRootFor):

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

10 years agoArray.prototype.lastIndexOf ignores undefined fromIndex.
barraclough@apple.com [Fri, 6 Jan 2012 01:37:39 +0000 (01:37 +0000)]
Array.prototype.lastIndexOf ignores undefined fromIndex.
https://bugs.webkit.org/show_bug.cgi?id=75678

Reviewed by Sam Weinig.

Source/JavaScriptCore:

array.lastIndexOf(x, undefined) is equivalent to array.lastIndexOf(x, 0), not array.lastIndexOf(x)

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncLastIndexOf):
    - should check argumnet count, rather than checking agument value for undefined.

LayoutTests:

* ietestcenter/Javascript/15.4.4.15-5-4-expected.txt:
    - check in passing result

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

10 years agoSource/WebCore: Disallow access to DOM storage from detached frames.
jochen@chromium.org [Fri, 6 Jan 2012 01:32:45 +0000 (01:32 +0000)]
Source/WebCore: Disallow access to DOM storage from detached frames.
https://bugs.webkit.org/show_bug.cgi?id=61326

Reviewed by Adam Barth.

* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):

Source/WebKit/chromium: Check whether a WebView exists before accessing it in StorageAreaProxy. This is not necessarily the case, e.g. for detached iframes.
https://bugs.webkit.org/show_bug.cgi?id=61326

Reviewed by Adam Barth.

* src/StorageAreaProxy.cpp:
(WebCore::StorageAreaProxy::canAccessStorage):

LayoutTests: Unskip fast/storage/storage-detached-iframe.html on chromium
https://bugs.webkit.org/show_bug.cgi?id=61326

Reviewed by Adam Barth.

* fast/storage/storage-detached-iframe-expected.txt:
* fast/storage/storage-detached-iframe.html:
* platform/chromium/test_expectations.txt:

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

10 years agoVersioning.
lforschler@apple.com [Fri, 6 Jan 2012 01:32:00 +0000 (01:32 +0000)]
Versioning.

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

10 years ago[Qt][Texmap] Convert shaders in TextureMapperGL to use a macro
noam.rosenthal@nokia.com [Fri, 6 Jan 2012 01:29:15 +0000 (01:29 +0000)]
[Qt][Texmap] Convert shaders in TextureMapperGL to use a macro
https://bugs.webkit.org/show_bug.cgi?id=75598

Use VERTEX_SHADER() and FRAGMENT_SHADER() macros, instead of quoted string literals when
declaring shaders in TextureMapperGL.

We need two macros to account for the differences between OpenGL and OpenGL ES2.

Reviewed by Martin Robinson.

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

10 years agosizeof(CSSRule) is 20 instead of 12 on Windows
rniwa@webkit.org [Fri, 6 Jan 2012 01:19:42 +0000 (01:19 +0000)]
sizeof(CSSRule) is 20 instead of 12 on Windows
https://bugs.webkit.org/show_bug.cgi?id=75665

Reviewed by Darin Fisher.

Unlike gcc and clang, MSVC pads each consecutive member variables of the same type
in bitfields. e.g. if you have:

sturct AB {
unsigned m_1 : 31;
bool m_2 : 1;
}

then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang
only allocate sizeof(unsigned) * 1 for AB.

Fix the bloat by turning all bitfields in CSSRule either signed or unsigned integers.

* css/CSSRule.cpp:
* css/CSSRule.h:
(WebCore::CSSRule::sourceLine):
(WebCore::CSSRule::setSourceLine):
(WebCore::CSSRule::hasCachedSelectorText):
(WebCore::CSSRule::setHasCachedSelectorText):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::CSSStyleRule):
(WebCore::CSSStyleRule::cleanup):
(WebCore::CSSStyleRule::selectorText):
(WebCore::CSSStyleRule::setSelectorText):
* css/CSSStyleRule.h:

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

10 years agoSource/WebCore: IndexedDB: fix cursor prefetch crash
dgrogan@chromium.org [Fri, 6 Jan 2012 01:15:29 +0000 (01:15 +0000)]
Source/WebCore: IndexedDB: fix cursor prefetch crash
http://crbug.com/108071
https://bugs.webkit.org/show_bug.cgi?id=75596

Reviewed by Tony Chang.

Test: storage/indexeddb/prefetch-bugfix-108071.html
Note: DumpRenderTree doesn't exercise the bug, it only occurs in
multi-process chromium.  The layout test will soon be run as a
chromium ui test: http://codereview.chromium.org/9108004

* storage/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl): Destroy
cursors before their objectstores.
(WebCore::IDBCursorBackendImpl::prefetchReset): Don't run continue if
the cursor is closed.
(WebCore::IDBCursorBackendImpl::close): Set a closed flag.
* storage/IDBCursorBackendImpl.h:

LayoutTests: IndexedDB: fix cursor prefetch crash
https://bugs.webkit.org/show_bug.cgi?id=75596

Reviewed by Tony Chang.

* storage/indexeddb/prefetch-bugfix-108071-expected.txt: Added.
* storage/indexeddb/prefetch-bugfix-108071.html: Added.

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

10 years agoDate parsing is too restrictive.
barraclough@apple.com [Fri, 6 Jan 2012 01:08:34 +0000 (01:08 +0000)]
Date parsing is too restrictive.
https://bugs.webkit.org/show_bug.cgi?id=75671

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

ES5 date parsing currently requires all fields to be present, which does not match the spec (ES5.1 15.9.1.15).
The spec allow a date to be date only, or date + time.

The date portion on the should match: (pseudocode!:)
    [(+|-)YY]YYYY[-MM[-DD]]
though we are slightly more liberal (permitted by the spec), allowing:
    [+|-]Y+[-MM[-DD]]
The time portion should match:
    THH:mm[:ss[.sss]][Z|(+|-)HH:mm]
again we're slightly more liberal, allowing:
    THH:mm[:ss[.s+]][Z|(+|-)HH:mm]

* wtf/DateMath.cpp:
(WTF::parseES5DatePortion):
    - Month/day fields are optional, default to 01.
(WTF::parseES5TimePortion):
    - Hours/Minutes are requires, seconds/timezone are optional.
(WTF::parseES5DateFromNullTerminatedCharacters):
    - Dates may be date only, or date + time.

LayoutTests:

* fast/js/date-parse-test-expected.txt:
* fast/js/script-tests/date-parse-test.js:
    - Add more test cases for Date.parse.

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

10 years ago[chromium] Route all animate calls through CCLayerTreeHost in composited mode to...
jamesr@google.com [Fri, 6 Jan 2012 01:01:33 +0000 (01:01 +0000)]
[chromium] Route all animate calls through CCLayerTreeHost in composited mode to simplify rate limiting logic
https://bugs.webkit.org/show_bug.cgi?id=75577

Reviewed by Darin Fisher.

Source/WebCore:

This internalizes the animation rate limiting logic to CCLayerTreeHost and removes the setters/getters for the
m_animating flag. This requires that all animation updates have to go through CCLayerTreeHost to get the right
rate limiting behavior, regardless of which proxy is being used.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::updateAnimations):
(WebCore::CCLayerTreeHost::layout):
(WebCore::CCLayerTreeHost::startRateLimiter):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrameAndCommit):

Source/WebKit/chromium:

Routes WebWidget-initiated animate() calls through the CCLayerTreeHost in composited mode. CCLayerTreeHost's
rate limiting logic needs to be aware of when requestAnimationFrame callbacks are run. In threaded mode, the
animate calls are driven from CCThreadProxy and so the CCLayerTreeHost can set whatever state it needs. This
makes the single-threaded mode where the animate calls are driven through the WebWidget interface outside of the
CCProxy's control.

This is a small step towards inverting the scheduling control from the WebWidget to the compositor.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::animate):
(WebKit::WebViewImpl::updateAnimations):
* src/WebViewImpl.h:

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

10 years ago[Chromium] NativeImageSkia should mark SkBitmaps as immutable
commit-queue@webkit.org [Fri, 6 Jan 2012 00:44:16 +0000 (00:44 +0000)]
[Chromium] NativeImageSkia should mark SkBitmaps as immutable
https://bugs.webkit.org/show_bug.cgi?id=74962

Removed m_isDataComplete from class NativeImageSkia. Instead, data
completeness will be tracked through SkBitmap::setImmutable/
isImmutable.  The immutable state signifies that the pixel data
will no longer change for the lifetime of the bitmap, which corresponds
to the semantic of the old m_isDataComplete member. setImmutable is
also called on the cached resized bitmap, since it too is invariant for
its life time. Temporary resized bitmaps are also marked as immutable
since they technically are.

Patch by Justin Novosad <junov@chromium.org> on 2012-01-05
Reviewed by Stephen White.

* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::NativeImageSkia):
(WebCore::NativeImageSkia::resizedBitmap):
(WebCore::NativeImageSkia::shouldCacheResampling):
* platform/graphics/skia/NativeImageSkia.h:
(WebCore::NativeImageSkia::setDataComplete):
(WebCore::NativeImageSkia::isDataComplete):

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

10 years agoMark flaky test as flaky. Filed
abarth@webkit.org [Fri, 6 Jan 2012 00:42:10 +0000 (00:42 +0000)]
Mark flaky test as flaky.  Filed
https://bugs.webkit.org/show_bug.cgi?id=75647 about making it not
flaky.

* platform/chromium/test_expectations.txt:

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

10 years agoUnreviewed, rolling out r104231.
abarth@webkit.org [Fri, 6 Jan 2012 00:39:16 +0000 (00:39 +0000)]
Unreviewed, rolling out r104231.
http://trac.webkit.org/changeset/104231
https://bugs.webkit.org/show_bug.cgi?id=75668

Breaks the Qt build (Requested by abarth on #webkit).

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

Source/WebCore:

* platform/SchemeRegistry.cpp:
* platform/SchemeRegistry.h:

Source/WebKit/qt:

* Api/qwebpage.cpp:
(QWebPage::acceptNavigationRequest):

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

10 years ago[chromium] Resize requests at the view level should be ignored when in autoresize...
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

10 years agohttps://bugs.webkit.org/show_bug.cgi?id=75654
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

10 years agoCrash when trying to invalidate the NPRuntimeObjectMap for a plug-in in a subframe
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

10 years agoAdd a compile-time assertion for the size of CSSValue
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

10 years ago[EFL] Undefined references to ICU_I18N symbols on WTF
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

10 years ago[V8] CodeGeneration for SerializedScriptValue doesn't play nice with [Constructor]
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

10 years agoNew chromium expected results after r104208.
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

10 years agoIntroduce Platform namespace for WebCore/platform
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

10 years agowebkitpy: clean up port factory methods
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

10 years agoREGRESSION (r98912-r99538): Crash in WebKit::WebFrameLoaderClient::didDetectXSS
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

10 years agoRefined the fast path for StringImpl::hash()
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

10 years agoUnreviewed: Updating expecxtations for fast/media/viewport-media-query.
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

10 years agoLiteral tab in JSONString fails
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

10 years agoInserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
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

10 years ago[chromium][aura] WebExternalTextureLayerImpl::drawsContent() returns incorrect value...
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

10 years agoIE quirk for percentage size on a table element doesn't work with orthogonal writing...
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

10 years agoReplace webkitpy.common.system.filesystem.file_path_as_url with webkitpy.common.syste...
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

10 years ago[chromium] Add CCTimer class for the compositor
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

10 years ago WK2: Safari fails to open a PostScript file in Preview from context menu
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

10 years agoImplement temporal dimension portion of Media Fragments URI specification for video...
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

10 years ago[v8] Null pointer exception if a typed array constructor set to a primitive value.
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

10 years agoRemove some unnecessary code from old-run-webkit-tests
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

10 years ago[GTK] [AC] Introduce AcceleratedCompositingContext to isolate different accelerated...
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

10 years ago[Qt][WK2] Implement custom URL schemes defined in QML.
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

10 years agoRemove style warning in GraphicsContext3DOpenGL.cpp
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

10 years agoTeach NRWT to use run-safari to open results.html on Apple's Windows port
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

10 years agoPrepend Safari.exe's path to the command-line passed to CreateProcess
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

10 years agoStop using explicit memory management in WebKitLauncherWin
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

10 years agoTurn WebKitTestRunner into a stub .exe launcher and a .dll that contains all the...
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

10 years agoTurn DumpRenderTree into a stub .exe launcher and a .dll that contains all the real...
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

10 years agoUnreviewed, skip file-reader-event-listener.html on qt and efl.
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

10 years agopush/shift fifo may consume excessive memory
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

10 years agoSource/WebCore: Crash due to reparenting of relpositioned object under anonymous...
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

10 years agoUnreviewed: filed WK75633 and updated expectations
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

10 years agoWebFrameLoaderClient::userAgent does unnecessary NSString/NSURL conversions
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

10 years agoFileReader needs addEventListener
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

10 years agoRemove deprecated calls from CookieJarCFNet.cpp
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

10 years ago[chromium] Unreviewed, tighted up the expectations for some perf tests.
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

10 years ago[chromium] Create unit tests for CCTiledLayerImpl
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

10 years agoMove scalePageBy from eventSender to window.internals
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

10 years ago[Skia Mac] Rounded bezel style button needs one more local graphics context to scale
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

10 years agoUnreviewed: Chromium expectations update.
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

10 years agoMade Debug/Release builds of gtest build only for the active architecture.
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

10 years ago[Chromium] Expectations for svg/carto.net/button.svg can be updated
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

10 years agogetComputedStyle for background is not implemented.
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

10 years agoPass WebFrame instead of WebCore::Frame to the WebKit2 specific FrameNetworkingContext
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

10 years ago[Qt] Never enable FontConfig on Mac OS X
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

10 years agoUnreviewed, rolling out r104159.
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

10 years agoDOM Attribute tests on Dromaeo spends 2.7% of time in hasSelectorForAttribute
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

10 years agoUnreviewed, GTK test_expectations update.
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

10 years ago[EFL] Replace alloca to C++ new placement.
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

10 years ago[Qt][WK2]REGRESSION(r104068): editing/pasteboard/copy-element-with-conflicting-backgr...
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

10 years agoNot reviewed. Update Chromium port test expectations.
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

10 years ago[EFL] Invalidation request for ewk_view can be discarded without rendering.
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

10 years agowebkitpy: clean up port factory methods
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

10 years agoRemove duplicate file references from WebCore.xcodeproj
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

10 years agoTurn ImageDiff into a stub .exe launcher and a .dll that contains all the real code
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

10 years ago[Qt] Implement QQuickWebView::inputMethodQuery
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

10 years agoTurn MiniBrowser into a stub .exe launcher and a .dll that contains all the real...
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

10 years agoMake WinLauncher's window frame respond to clicks/drags again
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

10 years agoTurn WinLauncher into a stub .exe launcher and a .dll that contains all the real...
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

10 years agoImprove SelectorChecker::determineSelectorScopes
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