WebKit-https.git
9 years agoperf-o-matic should store test results' units
rniwa@webkit.org [Mon, 2 Apr 2012 04:48:35 +0000 (04:48 +0000)]
perf-o-matic should store test results' units
https://bugs.webkit.org/show_bug.cgi?id=82852

Reviewed by Kentaro Hara.

.:

* Websites/webkit-perf.appspot.com/models.py:
(Test):
(Test.update_or_insert): Added "unit" to the argument list.
(Test.update_or_insert.execute): Store the unit.
(ReportLog.results_are_well_formed): Moved from ReportHandler.
(ReportLog.results_are_well_formed._is_float_convertible): Ditto.
* Websites/webkit-perf.appspot.com/models_unittest.py:
(TestModelTests.test_update_or_insert): Added a test case for "unit" argument.
(TestModelTests.test_update_or_insert_to_update): Ditto.
(ReportLogTests.test_results_are_well_formed): Added.
(ReportLogTests.test_results_are_well_formed.assert_results_are_well_formed): Added.
* Websites/webkit-perf.appspot.com/report_handler.py:
(ReportHandler.post): Calls ReportLog.results_are_well_formed.
* Websites/webkit-perf.appspot.com/report_process_handler.py:
(ReportProcessHandler.post): Passes results['unit'] to Test.update_or_insert.

Tools:

Include units in the results JSON.

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._process_chromium_style_test_result):
(PerfTestsRunner._process_parser_test_result):

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

9 years agoFix incorrect path for libWTF.a in Mac project file.
darin@apple.com [Mon, 2 Apr 2012 04:36:47 +0000 (04:36 +0000)]
Fix incorrect path for libWTF.a in Mac project file.

* JavaScriptCore.xcodeproj/project.pbxproj: Removed the "../Release" prefix that
would cause other configurations to try to link with the "Release" version of
libWTF.a instead of the correct version.

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

9 years agoCode review tool no longer needs to work around position:fixed handling on iPad
abarth@webkit.org [Mon, 2 Apr 2012 03:51:50 +0000 (03:51 +0000)]
Code review tool no longer needs to work around position:fixed handling on iPad
https://bugs.webkit.org/show_bug.cgi?id=82850

Reviewed by Eric Seidel.

We no longer need to avoid position:fixed on iPad because Mobile Safari
now does something reasonable with position:fixed elements.

* code-review.js:

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

9 years ago[WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
commit-queue@webkit.org [Mon, 2 Apr 2012 02:53:32 +0000 (02:53 +0000)]
[WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
https://bugs.webkit.org/show_bug.cgi?id=82100

Patch by Li Yin <li.yin@intel.com> on 2012-04-01
Reviewed by Kent Tamura.

Source/WebCore:

When it had no negotiated deflate-frame extension, if browser received the frame with
setting compressed bit, it should fail the connection, and it should cover both
enabling ZLIB port and disabling ZLIB port.

Test:  http/tests/websocket/tests/hybi/reserved-bits.html

* Modules/websockets/WebSocketDeflateFramer.cpp:
(WebCore::WebSocketDeflateFramer::inflate):

LayoutTests:

Solve the problem that Qt Webkit failed when runing the reserved-bits.html
Support both enabled ZLIB and disabled ZLIB scenarios.

* http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
* http/tests/websocket/tests/hybi/reserved-bits_wsh.py:
(_get_deflate_frame_extension_processor):
(web_socket_do_extra_handshake):

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

9 years agoClean up Document::canNavigate
abarth@webkit.org [Mon, 2 Apr 2012 02:43:17 +0000 (02:43 +0000)]
Clean up Document::canNavigate
https://bugs.webkit.org/show_bug.cgi?id=82282

Reviewed by Eric Seidel.

Source/WebCore:

This patch is just a minor clean up to Document::canNavigate. Eric
asked me to clean up the function when I moved it from FrameLoader. I'm
not sure this patch is much of a win, but at least the comments say
things that are more sensible now.

* dom/Document.cpp:
(WebCore::printNavigationErrorMessage):
(WebCore):
(WebCore::Document::canNavigate):

LayoutTests:

Update these test results to show that we're better at printing error
messages now.

* http/tests/security/no-popup-from-sandbox-top-expected.txt:
* http/tests/security/sandboxed-iframe-form-top-expected.txt:

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

9 years agoAdmin page should lexicologically sort tests
rniwa@webkit.org [Mon, 2 Apr 2012 02:12:17 +0000 (02:12 +0000)]
Admin page should lexicologically sort tests
https://bugs.webkit.org/show_bug.cgi?id=82849

Rubber-stamped by Hajime Morita.

* Websites/webkit-perf.appspot.com/js/admin.js:
* Websites/webkit-perf.appspot.com/js/config.js:
(sortProperties):
(fetchDashboardManifest):

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

9 years agoRevert an inadvertently committed change.
rniwa@webkit.org [Mon, 2 Apr 2012 01:55:00 +0000 (01:55 +0000)]
Revert an inadvertently committed change.

* Websites/webkit-perf.appspot.com/app.yaml:

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

9 years agoperf-o-matic should have a way to hide some platforms and tests
rniwa@webkit.org [Mon, 2 Apr 2012 01:46:41 +0000 (01:46 +0000)]
perf-o-matic should have a way to hide some platforms and tests
https://bugs.webkit.org/show_bug.cgi?id=82842

Reviewed by Hajime Morita.

* Websites/webkit-perf.appspot.com/admin.html:
* Websites/webkit-perf.appspot.com/admin_handlers.py:
(AdminDashboardHandler.get_branches): Change the json format to allow platforms and tests to have
"hidden" boolean states.
(AdminDashboardHandler.get_platforms): Ditto.
(AdminDashboardHandler.get_builders): Just a cleanup. There is no clean for it to have a limit.
(AdminDashboardHandler.get_tests): Change the json format to add "hidden" boolean states.
(ChangeVisibilityHandler): Added.
(ChangeVisibilityHandler.post): Added. Changes the hidden-state (visibility) of a platform and a test.
* Websites/webkit-perf.appspot.com/app.yaml: Make sure everything under /admin/ requires admin privilege.
* Websites/webkit-perf.appspot.com/create_handler.py:
(CreateHandler.post): Don't emit LF after 'OK'.
* Websites/webkit-perf.appspot.com/css/admin.css: Added a bunch of rules for hide/show button.
* Websites/webkit-perf.appspot.com/js/admin.js:
(submitXHR): Extracted.
(createKeyNameReloader): Added hide/show button on each item and the corresponding ajax request.
* Websites/webkit-perf.appspot.com/json_generators.py:
(DashboardJSONGenerator.__init__): Skip hidden tests and platforms.
(ManifestJSONGenerator.__init__): Ditto.
* Websites/webkit-perf.appspot.com/json_generators_unittest.py: Added tests to ensure perf-o-matic
doesn't include hidden tests and platforms in dashboard and manifest json responses.
(DashboardJSONGeneratorTest.test_value_with_hidden_platform_and_tesst):
(ManifestJSONGeneratorTest.test_value_two_tests):
(ManifestJSONGeneratorTest.test_value_with_hidden_platform_and_test):
* Websites/webkit-perf.appspot.com/main.py:
* Websites/webkit-perf.appspot.com/models.py:
(Platform): Added the "hidden" property.
(Test): Ditto. Also removed the comment about this class only exists for efficiency purposes since that's
no longer true.

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

9 years agoRename notification properties and functions
jonlee@apple.com [Sun, 1 Apr 2012 23:15:44 +0000 (23:15 +0000)]
Rename notification properties and functions
https://bugs.webkit.org/show_bug.cgi?id=80482
<rdar://problem/10912432>

Reviewed by Kentaro Hara.

Source/WebCore:

Change method name to close(), and set tag property on Notifications, based on discussions in WG:
http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0024.html
http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0013.html

* notifications/Notification.cpp:
(WebCore::Notification::~Notification): Use close().
(WebCore::Notification::close):
* notifications/Notification.h:
(Notification):
(WebCore::Notification::cancel): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use close().
(WebCore::Notification::replaceId): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use tag().
(WebCore::Notification::setReplaceId): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use setTag().
(WebCore::Notification::tag):
(WebCore::Notification::setTag):
* notifications/Notification.idl: Preserve cancel() and replaceID in ENABLE(LEGACY_NOTIFICATIONS), and
close() and tag in ENABLE(NOTIFICATIONS).

Source/WebKit/chromium:

* src/WebNotification.cpp:
(WebKit::WebNotification::replaceId): Refactor to call tag().

Source/WebKit/mac:

* WebView/WebNotification.h: Rename replaceID to tag.
* WebView/WebNotification.mm:
(-[WebNotification tag]):

Source/WebKit/qt:

* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::show): Refactor to call tag().
(WebCore::NotificationPresenterClientQt::removeReplacedNotificationFromQueue): Refactor to call tag().

Source/WebKit2:

Rename APIs to use tag.
* UIProcess/API/C/WKNotification.cpp:
(WKNotificationCopyTag):
* UIProcess/API/C/WKNotification.h:
* UIProcess/Notifications/WebNotification.cpp:
(WebKit::WebNotification::WebNotification):
* UIProcess/Notifications/WebNotification.h:
(WebKit::WebNotification::create):
(WebKit::WebNotification::tag):
(WebNotification):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::show):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
(WebNotificationManagerProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showNotification):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::show):

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

9 years agoUnreviewed, rolling out r112760.
eric@webkit.org [Sun, 1 Apr 2012 23:12:24 +0000 (23:12 +0000)]
Unreviewed, rolling out r112760.
http://trac.webkit.org/changeset/112760
https://bugs.webkit.org/show_bug.cgi?id=82795

Revert addition of webkitseamless.  I'll do this work on
GitHub instead to avoid any half-implemented feature concerns.

Source/WebCore:

* html/HTMLAttributeNames.in:
* html/HTMLIFrameElement.idl:

LayoutTests:

* fast/frames/seamless/resources/css-cascade-child.html: Removed.
* fast/frames/seamless/resources/nested-seamless.html: Removed.
* fast/frames/seamless/resources/square.html: Removed.
* fast/frames/seamless/seamless-basic-expected.txt: Removed.
* fast/frames/seamless/seamless-basic.html: Removed.
* fast/frames/seamless/seamless-css-cascade-expected.txt: Removed.
* fast/frames/seamless/seamless-css-cascade.html: Removed.
* fast/frames/seamless/seamless-nested-expected.txt: Removed.
* fast/frames/seamless/seamless-nested.html: Removed.
* fast/frames/seamless/seamless-sandbox-flag-expected.txt: Removed.
* fast/frames/seamless/seamless-sandbox-flag.html: Removed.

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

9 years ago[BlackBerry] Simplify the code that gets accelerated compositing output onto the...
commit-queue@webkit.org [Sun, 1 Apr 2012 21:22:02 +0000 (21:22 +0000)]
[BlackBerry] Simplify the code that gets accelerated compositing output onto the screen
https://bugs.webkit.org/show_bug.cgi?id=82845

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-04-01
Reviewed by Rob Buis.

RIM PR: 136381
The code accounted for a now obsolete setup where we used one OpenGL
window for accelerated compositing and one native window for backing
store output, and let the windowing system composite those two. In that
setup an optimization to try and only update the window that had
changed was viable.

Nowadays, we either use an offscreen surface for accelerated
compositing output, which we blend onto the window containing the
backing store output, or render both backing store and accelerated
compositing output directly to one OpenGL window. We always have to
blit the backingstore contents and draw the accelerated compositing
output every frame with these code paths, so don't try to be clever
about it.

Even when we use an OpenGL window, the compositing surface can be non-
null, so don't try to glFinish() and swap the compositing surface when
the GLES2Context is tied to a window.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::blitContents):
(WebKit):
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::drawLayersOnCommit):
* WebKitSupport/GLES2Context.cpp:
(BlackBerry::WebKit::GLES2Context::swapBuffers):

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

9 years agoFix a crash when closing a tab/window while the Web Inspector is stopped in the debugger.
timothy@apple.com [Sun, 1 Apr 2012 20:23:14 +0000 (20:23 +0000)]
Fix a crash when closing a tab/window while the Web Inspector is stopped in the debugger.

https://webkit.org/b/82846
rdar://problem/8133494

Reviewed by Yury Semikhatsky.

* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::didPause): Added assert for page and early return. Also assert that
m_pausedPage is null.
(WebCore::PageScriptDebugServer::didContinue): Page can be null if we are continuing because the Page closed.
So add a null check before using it. Added an assert that the page is null or m_pausedPage.
(WebCore::PageScriptDebugServer::didRemoveLastListener): Added assert for page.

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

9 years agoCorrected the expected results for this test.
mitz@apple.com [Sun, 1 Apr 2012 18:40:21 +0000 (18:40 +0000)]
Corrected the expected results for this test.

* platform/mac/fast/text/international/text-spliced-font-expected.png:
* platform/mac/fast/text/international/text-spliced-font-expected.txt:

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

9 years agoSource/WebCore: Composite Font References is a new established standard (ISO/IEC...
mitz@apple.com [Sun, 1 Apr 2012 18:21:10 +0000 (18:21 +0000)]
Source/WebCore: Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
composite fonts from existing physical fonts.
<rdar://problem/10717370>
https://bugs.webkit.org/show_bug.cgi?id=82810

CoreText have already the features enabled, here we added this to WebKit text layout and rendering.
A member function getCompositeFontReferenceFontData is added to the SimpleFontData class for the component font
correspond to the platformData, in this case, a NSFont. This is used when CoreText layout had resulted
a component of the Composite Font Reference and its corresponding SimpleFontData object is then cached
in the SimpleFontData object of the posting font (Composite Font Reference).

When glyphs are encoded to form the GlyphPage for rendering, the Composite Font Reference is handled throught
the CoreText layout path (using CTLine), here the resulting glyph is associated with a font which could
be not the original font request. In this case, these are the component fonts of the Composite Font
Reference. This is then identified and then added to the GlyphPage appropriately.

To support this feature, a member function isCompositeFontReference is added to FontPlatformData to
indicate a font is a Composite Font Reference. Also in order to pass the component font correctly a boolean
isPrinterFont is added to one the FontPlatformData constructors to describe the NSFont.

Patch by Tony Tseung <tseung@apple.com> on 2012-04-01
Reviewed by Dan Bernstein.

Added test LayoutTests/fast/text/international/text-spliced-font.html

* WebCore.exp.in:
Replaced obsolete FontPlatformData constructor entry.

* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
Copy of the additional m_isCompositeFontReference and m_isPrinterFont data members.

(WebCore::FontPlatformData::operator=):
Assignment of the additional m_isCompositeFontReference and m_isPrinterFont data members.

* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::FontPlatformData):
(FontPlatformData):
Default value of m_isCompositeFontReference and m_isPrinterFont data members are set to false in various constructors.

(WebCore::FontPlatformData::isCompositeFontReference):
Newly added for Composite Font Reference type font.

(WebCore::FontPlatformData::isPrinterFont):
Newly added for describing the NSFont parameter if is applicable.

(WebCore::FontPlatformData::operator==):
Comparison of the additional m_isCompositeFontReference and m_isPrinterFont data members.

* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
Clean up the cache for component fonts of the Composite Font References.

* platform/graphics/SimpleFontData.h:
(SimpleFontData):
Added member function const SimpleFontData* getCompositeFontReferenceFontData(NSFont *key) const.

(DerivedFontData):
Added CFDictionary for caching the component font of Composite Font Reference.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
Data members m_isCompositeFontReference and m_isPrinterFont are initialised and their values are determined in the body of the contructor.

(WebCore::FontPlatformData::setFont):
Data members m_isCompositeFontReference and m_isPrinterFont are determined and set.

* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::createFontPlatformData):
Boolean value isUsingPrinterFont is passed in the new FontPlatformData constructor.

* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::shouldUseCoreText):
Added the condition for Composite Font Reference type font.

(WebCore::GlyphPage::fill):
In the case of Composite Font Reference, when iterate the runs, component font of Composite Font
Reference is used to fill the glyph index in the GlyphPage.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::getCompositeFontReferenceFontData):
Newly added method for the component fonts correspond to the platformData, in this case, a NSFont.
This SimpleFontData is created and cached in this object and will only be deleted when the destructor
if this is called.

Tools: Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
composite fonts from existing physical fonts.
<rdar://problem/10717370>
https://bugs.webkit.org/show_bug.cgi?id=82810

A new test font of this kind as been added to the test tools for running the webkit-tests

Patch by Tony Tseung <tseung@apple.com> on 2012-04-01
Reviewed by Dan Bernstein.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Added new dependency SampleFont.sfont

* DumpRenderTree/fonts/SampleFont.sfont: Added.

* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
Added the Composite Font Referene sample font "Hiragino Maru Gothic Monospaced" entry to the fonts white-list

(activateTestingFonts):
Added the registration of the Composite Font Referene sample font

* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
(WTR::allowedFontFamilySet):
Added the Composite Font Referene sample font "Hiragino Maru Gothic Monospaced" entry to the fonts white-list

(WTR::activateFonts):
Added the registration of the Composite Font Referene sample font

* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Added new dependency SampleFont.sfont

* WebKitTestRunner/fonts/SampleFont.sfont: Added.

LayoutTests: Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
composite fonts from existing physical fonts.
<rdar://problem/10717370>
https://bugs.webkit.org/show_bug.cgi?id=82810

Added new LayoutTests/fast/text/international/text-spliced-font.html

Patch by Tony Tseung <tseung@apple.com> on 2012-04-01
Reviewed by Dan Bernstein.

* fast/text/international/text-spliced-font.html: Added.
* platform/mac/fast/text/international/text-spliced-font-expected.png: Added.
* platform/mac/fast/text/international/text-spliced-font-expected.txt: Added.

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

9 years agoSupport the Network Information API
gyuyoung.kim@samsung.com [Sun, 1 Apr 2012 15:09:25 +0000 (15:09 +0000)]
Support the Network Information API
https://bugs.webkit.org/show_bug.cgi?id=73528

Reviewed by Adam Barth.

.:

Add network information API feature.

* Source/cmake/OptionsEfl.cmake: Add NETWORK_INFO feature.
* Source/cmakeconfig.h.cmake: Add NETWORK_INFO feature.

Source/WebCore:

Network Information APIs is to provide an interface for Web Applications to access
the underlying network information of device. In Web Application case, they need to know
what current network interface it uses. Because, it is important to know current network
information(bandwidth, metered) in mobile domain. Thus, Web Application can let user know
whether current network information via this new functionality. In addition, in streaming
service case, Web Application can control content resolution according to kind of network.

http://dvcs.w3.org/hg/dap/raw-file/tip/network-api/index.html

Tests: networkinformation/add-listener-from-callback.html
       networkinformation/basic-all-types-of-events.html
       networkinformation/basic-operation.html
       networkinformation/event-after-navigation.html
       networkinformation/multiple-frames.html
       networkinformation/updates.html
       networkinformation/window-property.html

* CMakeLists.txt:
* Modules/networkinfo/NavigatorNetworkInfoConnection.cpp: Added.
(WebCore):
(WebCore::NavigatorNetworkInfoConnection::NavigatorNetworkInfoConnection):
(WebCore::NavigatorNetworkInfoConnection::~NavigatorNetworkInfoConnection):
(WebCore::NavigatorNetworkInfoConnection::from):
(WebCore::NavigatorNetworkInfoConnection::webkitConnection):
* Modules/networkinfo/NavigatorNetworkInfoConnection.h: Added.
(WebCore):
(NavigatorNetworkInfoConnection):
* Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Added.
* Modules/networkinfo/NetworkInfo.cpp: Added.
(WebCore):
(WebCore::NetworkInfo::NetworkInfo):
* Modules/networkinfo/NetworkInfo.h: Added.
(WebCore):
(NetworkInfo):
(WebCore::NetworkInfo::create):
(WebCore::NetworkInfo::bandwidth):
(WebCore::NetworkInfo::metered):
* Modules/networkinfo/NetworkInfoClient.h: Added.
(WebCore):
(NetworkInfoClient):
(WebCore::NetworkInfoClient::~NetworkInfoClient):
* Modules/networkinfo/NetworkInfoConnection.cpp: Added.
(WebCore):
(WebCore::NetworkInfoConnection::create):
(WebCore::NetworkInfoConnection::NetworkInfoConnection):
(WebCore::NetworkInfoConnection::~NetworkInfoConnection):
(WebCore::NetworkInfoConnection::bandwidth):
(WebCore::NetworkInfoConnection::metered):
(WebCore::NetworkInfoConnection::didChangeNetworkInformation):
(WebCore::NetworkInfoConnection::addEventListener):
(WebCore::NetworkInfoConnection::removeEventListener):
(WebCore::NetworkInfoConnection::eventTargetData):
(WebCore::NetworkInfoConnection::ensureEventTargetData):
(WebCore::NetworkInfoConnection::interfaceName):
(WebCore::NetworkInfoConnection::suspend):
(WebCore::NetworkInfoConnection::resume):
(WebCore::NetworkInfoConnection::stop):
* Modules/networkinfo/NetworkInfoConnection.h: Added.
(WebCore):
(NetworkInfoConnection):
(WebCore::NetworkInfoConnection::scriptExecutionContext):
(WebCore::NetworkInfoConnection::canSuspend):
(WebCore::NetworkInfoConnection::refEventTarget):
(WebCore::NetworkInfoConnection::derefEventTarget):
* Modules/networkinfo/NetworkInfoConnection.idl: Added.
* Modules/networkinfo/NetworkInfoController.cpp: Added.
(WebCore):
(WebCore::NetworkInfoController::NetworkInfoController):
(WebCore::NetworkInfoController::~NetworkInfoController):
(WebCore::NetworkInfoController::create):
(WebCore::NetworkInfoController::addListener):
(WebCore::NetworkInfoController::removeListener):
(WebCore::NetworkInfoController::didChangeNetworkInformation):
(WebCore::NetworkInfoController::isActive):
(WebCore::NetworkInfoController::supplementName):
(WebCore::provideNetworkInfoTo):
* Modules/networkinfo/NetworkInfoController.h: Added.
(WebCore):
(NetworkInfoController):
(WebCore::NetworkInfoController::client):
(WebCore::NetworkInfoController::from):
* dom/EventNames.h:
(WebCore):
* dom/EventTargetFactory.in:
* testing/Internals.cpp:
(WebCore::Internals::setNetworkInformation):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit:

* PlatformEfl.cmake: Add dummy NetworkInfoClientEfl.cpp files in order to support network information API.

Source/WebKit/efl:

Add NetworkInfoClientEfl to support network information API. However,
functions are not implemented yet.

* WebCoreSupport/NetworkInfoClientEfl.cpp: Added.
(WebCore::NetworkInfoClientEfl::NetworkInfoClientEfl):
(WebCore):
(WebCore::NetworkInfoClientEfl::~NetworkInfoClientEfl):
(WebCore::NetworkInfoClientEfl::startUpdating):
(WebCore::NetworkInfoClientEfl::stopUpdating):
(WebCore::NetworkInfoClientEfl::bandwidth):
(WebCore::NetworkInfoClientEfl::metered):
* WebCoreSupport/NetworkInfoClientEfl.h: Added.
(NetworkInfoClientEfl):
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):

Tools:

Add network information API feature to build script.

* Scripts/build-webkit:

LayoutTests:

Add new test cases for network information API specification.
And also, skip this test cases for other ports.

* networkinformation/add-listener-from-callback-expected.txt: Added.
* networkinformation/add-listener-from-callback.html: Added.
* networkinformation/basic-all-types-of-events-expected.txt: Added.
* networkinformation/basic-all-types-of-events.html: Added.
* networkinformation/basic-operation-expected.txt: Added.
* networkinformation/basic-operation.html: Added.
* networkinformation/event-after-navigation-expected.txt: Added.
* networkinformation/event-after-navigation.html: Added.
* networkinformation/multiple-frames-expected.txt: Added.
* networkinformation/multiple-frames.html: Added.
* networkinformation/resources/event-after-navigation-new.html: Added.
* networkinformation/script-tests/add-listener-from-callback.js: Added.
(checkNetworkInformation):
(firstListener):
(secondListener):
(maybeFinishTest):
* networkinformation/script-tests/basic-all-types-of-events.js: Added.
(checkNetworkInformation):
* networkinformation/script-tests/basic-operation.js: Added.
* networkinformation/script-tests/event-after-navigation.js: Added.
* networkinformation/script-tests/multiple-frames.js: Added.
(checkNetworkInformation):
(checkChildNetworkInformation):
(mainFrameListener):
(childFrameListener):
(maybeFinishTest):
* networkinformation/script-tests/updates.js: Added.
(checkNetworkInformation):
(setNetworkInformation):
(firstListener):
(updateListener):
* networkinformation/script-tests/window-property.js: Added.
(hasOnConnectionProperty):
* networkinformation/updates-expected.txt: Added.
* networkinformation/updates.html: Added.
* networkinformation/window-property-expected.txt: Added.
* networkinformation/window-property.html: Added.
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/wincairo/Skipped:

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

9 years ago[BlackBerry] Use GraphicsContext::fillPath() and strokePath instead of drawPath(...
leo.yang@torchmobile.com.cn [Sun, 1 Apr 2012 13:40:30 +0000 (13:40 +0000)]
[BlackBerry] Use GraphicsContext::fillPath() and strokePath instead of drawPath() in RenderThemeBlackBerry
https://bugs.webkit.org/show_bug.cgi?id=81486

Reviewed by Rob Buis.

RenderThemeBlackBerry was using GraphicsContext::drawPath() that's added for BlackBerry internally.
But we already have fillPath() and strokePath() in GraphicsContext. So just substitute drawPath()
by them. Also fix a build issue by adding a #include line.

No functionalities changed, no new tests.

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::RenderThemeBlackBerry::paintTextFieldOrTextAreaOrSearchField):
(WebCore::RenderThemeBlackBerry::paintButton):

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

9 years agoEnable animVal support for SVGAnimatedEnumeration
zimmermann@webkit.org [Sun, 1 Apr 2012 12:09:14 +0000 (12:09 +0000)]
Enable animVal support for SVGAnimatedEnumeration
https://bugs.webkit.org/show_bug.cgi?id=82459

Reviewed by Dirk Schulze.

Source/WebCore:

Enable animVal support for the last missing SVG DOM primitive: SVGAnimatedEnumeration.
It's a bit more involved than the others as we have to differentiate between the various
enumerations to use the correct SVGPropertyTraits<MyEnum>::fromString() code-path.

One SVGAnimatedEnumeration property in the SVG DOM is special: SVGAnimatedEnumeration orientType
from SVGMarkerElement. SVGMarkerElement exposes both the orientType and SVGAnimatedAngle orientAngle
SVG DOM properties and both get mapped to the same SVGNames::orientAttr ("orient" XML attribute).
That means that any animation of the orientAttr has to update both orientType & orientAngle.

This is a not a new requirement, we already support attributes like 'stdDeviation' from
SVGFEGaussianBlurElement, which get mapped to multiple SVG DOM objects: SVGAnimatedInteger stdDeviationX/Y.
The difference is that <integer-optional-integer> or <number-optional-number> animations use the
same type in the pair<xxx, xxx> (eg. both int, or both float). The 'orient' attribute needs to be
mapped to pair<xxx, yyy> types. Generalize the templates in SVGAnimatedTypeAnimator to support that.

Example:
<marker id="someMarkerElement" orient="45deg"/>
<animate fill="remove" begin="1s" dur="2s" from="90deg" to="auto" attributeName="orient" xlink:href="#someMarkerElement"/>

at 0s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
       someMarkerElement.orientAngle.animVal.value = 45

       someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
       someMarkerElement.orientAngle.baseVal.value = 45

at 1s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
       someMarkerElement.orientAngle.animVal.value = 90

       someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
       someMarkerElement.orientAngle.baseVal.value = 45

at 2s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
       someMarkerElement.orientAngle.animVal.value = 0

       someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
       someMarkerElement.orientAngle.baseVal.value = 45

 > 3s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
       someMarkerElement.orientAngle.animVal.value = 45

       someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
       someMarkerElement.orientAngle.baseVal.value = 45

We need to map the 'orient' attribute to a pair<SVGAngle, unsigned short> type, in order
to track both orientAngle & orientType at the same type. Fortunately SVGAnimatedAngle
is only used in the SVG DOM for SVGMarkerElements orientAngle property. We can directly
switch SVGAnimatedAngleAnimator to the new pair<SVGAngle, unsigned short> type instead
of having to introduce a special SVGAnimatedAngleAndEnumerationAnimator.

Added tests for all SVGAnimatedEnumeration properties in the SVG DOM, including an extensive set of tests
for the synchronization of the orientType / orientAngle properties, when they get animated.

Tests: svg/animations/animate-marker-orient-from-angle-to-angle.html
       svg/animations/animate-marker-orient-from-angle-to-auto.html
       svg/animations/animate-marker-orient-to-angle.html
       svg/animations/svgenum-animation-1.html
       svg/animations/svgenum-animation-10.html
       svg/animations/svgenum-animation-11.html
       svg/animations/svgenum-animation-12.html
       svg/animations/svgenum-animation-13.html
       svg/animations/svgenum-animation-2.html
       svg/animations/svgenum-animation-3.html
       svg/animations/svgenum-animation-4.html
       svg/animations/svgenum-animation-5.html
       svg/animations/svgenum-animation-6.html
       svg/animations/svgenum-animation-7.html
       svg/animations/svgenum-animation-8.html
       svg/animations/svgenum-animation-9.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* svg/SVGAllInOne.cpp:
* svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::determineAnimatedPropertyType):
(WebCore::SVGAnimateElement::calculateAnimatedValue):
(WebCore::propertyTypesAreConsistent):
(WebCore::SVGAnimateElement::applyResultsToTarget):
* svg/SVGAnimatedAngle.cpp:
(WebCore::SVGAnimatedAngleAnimator::constructFromString):
(WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedAngleAnimator::animValWillChange):
(WebCore::SVGAnimatedAngleAnimator::animValDidChange):
(WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
(WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
* svg/SVGAnimatedAngle.h:
(WebCore):
* svg/SVGAnimatedBoolean.cpp:
(WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedEnumeration.cpp: Added.
(WebCore):
(WebCore::enumerationValueForTargetAttribute):
(WebCore::SVGAnimatedEnumerationAnimator::SVGAnimatedEnumerationAnimator):
(WebCore::SVGAnimatedEnumerationAnimator::constructFromString):
(WebCore::SVGAnimatedEnumerationAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedEnumerationAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedEnumerationAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedEnumerationAnimator::animValWillChange):
(WebCore::SVGAnimatedEnumerationAnimator::animValDidChange):
(WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndToValues):
(WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndByValues):
(WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
(WebCore::SVGAnimatedEnumerationAnimator::calculateDistance):
* svg/SVGAnimatedEnumeration.h:
(SVGAnimatedEnumerationAnimator):
(WebCore::SVGAnimatedEnumerationAnimator::~SVGAnimatedEnumerationAnimator):
(WebCore):
* svg/SVGAnimatedInteger.cpp:
(WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedIntegerOptionalInteger.cpp:
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
* svg/SVGAnimatedLength.cpp:
(WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedLengthList.cpp:
(WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedNumber.cpp:
(WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedNumberList.cpp:
(WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedNumberOptionalNumber.cpp:
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
* svg/SVGAnimatedPreserveAspectRatio.cpp:
(WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedRect.cpp:
(WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedString.cpp:
(WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedTransformList.cpp:
(WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::~SVGAnimatedType):
(WebCore::SVGAnimatedType::createAngleAndEnumeration):
(WebCore::SVGAnimatedType::createEnumeration):
(WebCore):
(WebCore::SVGAnimatedType::angleAndEnumeration):
(WebCore::SVGAnimatedType::enumeration):
(WebCore::SVGAnimatedType::valueAsString):
(WebCore::SVGAnimatedType::setValueAsString):
(WebCore::SVGAnimatedType::supportsAnimVal):
* svg/SVGAnimatedType.h:
(SVGAnimatedType):
* svg/SVGAnimatedTypeAnimator.h:
(WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
(SVGAnimatedTypeAnimator):
(WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
(WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
(WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
(WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
(WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
(WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
(WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
(WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForTypes):
(WebCore::SVGAnimatedTypeAnimator::animValDidChangeForTypes):
(WebCore::SVGAnimatedTypeAnimator::animValWillChangeForTypes):
(WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
(WebCore::SVGAnimatedTypeAnimator::executeAction):
* svg/SVGAnimatorFactory.h:
(WebCore::SVGAnimatorFactory::create):
* svg/SVGMarkerElement.cpp:
(WebCore):
* svg/properties/SVGAnimatedListPropertyTearOff.h:
(SVGAnimatedListPropertyTearOff):
* svg/properties/SVGAnimatedPropertyTearOff.h:
(SVGAnimatedPropertyTearOff):
* svg/properties/SVGAnimatedStaticPropertyTearOff.h:
(SVGAnimatedStaticPropertyTearOff):

LayoutTests:

Add new tests for all SVGAnimatedEnumeration in the SVG DOM to proof they animate and update animVal correctly.

* svg/animations/animate-marker-orient-from-angle-to-angle-expected.txt: Added.
* svg/animations/animate-marker-orient-from-angle-to-angle.html: Added.
* svg/animations/animate-marker-orient-from-angle-to-auto-expected.txt: Added.
* svg/animations/animate-marker-orient-from-angle-to-auto.html: Added.
* svg/animations/animate-marker-orient-to-angle-expected.txt: Added.
* svg/animations/animate-marker-orient-to-angle.html: Added.
* svg/animations/script-tests/animate-marker-orient-from-angle-to-angle.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(executeTest):
* svg/animations/script-tests/animate-marker-orient-from-angle-to-auto.js: Added.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animate-marker-orient-to-angle.js: Added.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/svgangle-animation-deg-to-grad.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-deg-to-rad.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-grad-to-deg.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-grad-to-rad.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-rad-to-deg.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgangle-animation-rad-to-grad.js:
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgenum-animation-1.js: Added.
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgenum-animation-10.js: Added.
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgenum-animation-11.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/svgenum-animation-12.js: Added.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/svgenum-animation-13.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(executeTest):
* svg/animations/script-tests/svgenum-animation-2.js: Added.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/svgenum-animation-3.js: Added.
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgenum-animation-4.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(sample6):
(executeTest):
* svg/animations/script-tests/svgenum-animation-5.js: Added.
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgenum-animation-6.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(executeTest):
* svg/animations/script-tests/svgenum-animation-7.js: Added.
(sample1):
(sample2):
(executeTest):
* svg/animations/script-tests/svgenum-animation-8.js: Added.
(sample1):
(sample2):
(sample3):
(sample4):
(sample5):
(executeTest):
* svg/animations/script-tests/svgenum-animation-9.js: Added.
(sample1):
(sample2):
(executeTest):
* svg/animations/svgangle-animation-deg-to-grad-expected.txt:
* svg/animations/svgangle-animation-deg-to-rad-expected.txt:
* svg/animations/svgangle-animation-grad-to-deg-expected.txt:
* svg/animations/svgangle-animation-grad-to-rad-expected.txt:
* svg/animations/svgangle-animation-rad-to-deg-expected.txt:
* svg/animations/svgangle-animation-rad-to-grad-expected.txt:
* svg/animations/svgenum-animation-1-expected.txt: Added.
* svg/animations/svgenum-animation-1.html: Added.
* svg/animations/svgenum-animation-10-expected.txt: Added.
* svg/animations/svgenum-animation-10.html: Added.
* svg/animations/svgenum-animation-11-expected.txt: Added.
* svg/animations/svgenum-animation-11.html: Added.
* svg/animations/svgenum-animation-12-expected.txt: Added.
* svg/animations/svgenum-animation-12.html: Added.
* svg/animations/svgenum-animation-13-expected.txt: Added.
* svg/animations/svgenum-animation-13.html: Added.
* svg/animations/svgenum-animation-2-expected.txt: Added.
* svg/animations/svgenum-animation-2.html: Added.
* svg/animations/svgenum-animation-3-expected.txt: Added.
* svg/animations/svgenum-animation-3.html: Added.
* svg/animations/svgenum-animation-4-expected.txt: Added.
* svg/animations/svgenum-animation-4.html: Added.
* svg/animations/svgenum-animation-5-expected.txt: Added.
* svg/animations/svgenum-animation-5.html: Added.
* svg/animations/svgenum-animation-6-expected.txt: Added.
* svg/animations/svgenum-animation-6.html: Added.
* svg/animations/svgenum-animation-7-expected.txt: Added.
* svg/animations/svgenum-animation-7.html: Added.
* svg/animations/svgenum-animation-8-expected.txt: Added.
* svg/animations/svgenum-animation-8.html: Added.
* svg/animations/svgenum-animation-9-expected.txt: Added.
* svg/animations/svgenum-animation-9.html: Added.

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

9 years ago[Qt] Unreviewed gardening after r112799.
ossy@webkit.org [Sun, 1 Apr 2012 08:25:40 +0000 (08:25 +0000)]
[Qt] Unreviewed gardening after r112799.

* platform/qt/svg/custom/preserve-aspect-ratio-syntax-expected.png:
* platform/qt/svg/custom/preserve-aspect-ratio-syntax-expected.txt:

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

9 years ago[chromium] Do not generate custom signature for static methods.
commit-queue@webkit.org [Sun, 1 Apr 2012 08:23:31 +0000 (08:23 +0000)]
[chromium] Do not generate custom signature for static methods.
https://bugs.webkit.org/show_bug.cgi?id=79222

Patch by Hao Zheng <zhenghao@chromium.org> on 2012-04-01
Reviewed by Kentaro Hara.

No new tests. Covered by existing tests when MEDIA_STREAM is disabled.

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

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

9 years agoWindows build fix.
sfalken@apple.com [Sun, 1 Apr 2012 03:03:22 +0000 (03:03 +0000)]
Windows build fix.

* WebCore.vcproj/WebCore.make:

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

9 years agoPrevent opening external URLs in the Web Inspector's WebView.
timothy@apple.com [Sun, 1 Apr 2012 01:18:10 +0000 (01:18 +0000)]
Prevent opening external URLs in the Web Inspector's WebView.

All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView.

https://webkit.org/b/82812
rdar://problem/9488558

Reviewed by Joseph Pecoraro.

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]): Factored the URL code out of here into inspectorPagePath.
(-[WebInspectorWindowController inspectorPagePath]): Added.
(-[WebInspectorWindowController webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Added.
Only allow non-main frame and the inspector page. All other URLs will be opened in the inspected page.

Source/WebKit2:

* UIProcess/WebInspectorProxy.cpp:
(WebKit::decidePolicyForNavigationAction): Added. Only allow non-main frame and the inspector page. All other URLs
will be opened in the inspected page.
(WebKit::WebInspectorProxy::createInspectorPage): Set the policy client and use decidePolicyForNavigationAction.
* UIProcess/WebInspectorProxy.h: Made inspectorPageURL and inspectorBaseURL public for decidePolicyForNavigationAction.

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

9 years agoGenerate the flakiness dashboard's list of webkit.org builders from the buildbot...
ojan@chromium.org [Sat, 31 Mar 2012 23:33:40 +0000 (23:33 +0000)]
Generate the flakiness dashboard's list of webkit.org builders from the buildbot JSON
https://bugs.webkit.org/show_bug.cgi?id=82839

Reviewed by Adam Barth.

Also, update various hard-coded lists for WIN7 and Lion ports.
This is necessary since the new list of builders grabbed off the
buildbot includes Lion.

* TestResultServer/static-dashboards/builders.js:
(generateWebkitBuildersFromBuilderList):
(xhr.onreadystatechange):
Don't use dashboard_base's request method to avoid layering violation.

* TestResultServer/static-dashboards/dashboard_base.js:
(parseParameters):
(initBuilders):
(haveJsonFilesLoaded):
(g_handleBuildersListLoaded):
Block loading the JSON files for each builder until we actually have a list of builders.

* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
(testPlatformAndBuildType):
(testGenerateWebkitBuildersFromBuilderList):
* TestResultServer/static-dashboards/timeline_explorer.html:
* TestResultServer/static-dashboards/treemap.html:
Delay generating the page until the builder list has loaded.

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

9 years agoFix complex strokes on CG platform
commit-queue@webkit.org [Sat, 31 Mar 2012 23:09:40 +0000 (23:09 +0000)]
Fix complex strokes on CG platform
https://bugs.webkit.org/show_bug.cgi?id=80423

Patch by Philip Rogers <pdr@google.com> on 2012-03-31
Reviewed by Eric Seidel.

This change fixes a mistake in r112667 where the CG platform did not properly handle
complex strokes. The mistake was to check for complex fills instead of complex strokes,
which resulted in all complex strokes rendering as black.

No new tests, this change is covered by the following existing tests that were regressed:
1) svg/custom/gradient-stroke-width.svg
2) svg/custom/transform-with-shadow-and-gradient.svg

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::platformStrokeEllipse):

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

9 years agoIf NRWT gets killed halfway through a run, it incorrectly reports tests that weren...
ojan@chromium.org [Sat, 31 Mar 2012 23:02:48 +0000 (23:02 +0000)]
If NRWT gets killed halfway through a run, it incorrectly reports tests that weren't run as passes
https://bugs.webkit.org/show_bug.cgi?id=82799

Reviewed by Eric Seidel.

If we don't run a test, mark it as skipped.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._mark_interrupted_tests_as_skipped):
(Manager._interrupt_if_at_failure_limits.interrupt_if_at_failure_limit):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_interrupt_if_at_failure_limits):

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

9 years agoOne more build fix after r112781 for Chromium Windows.
rniwa@webkit.org [Sat, 31 Mar 2012 21:37:44 +0000 (21:37 +0000)]
One more build fix after r112781 for Chromium Windows.
Don't copy zip .idb files.

* BuildSlaveSupport/built-product-archive:
(copyBuildFiles):

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

9 years agoDon't insert linebreaks into text input fields.
jochen@chromium.org [Sat, 31 Mar 2012 21:17:49 +0000 (21:17 +0000)]
Don't insert linebreaks into text input fields.
https://bugs.webkit.org/show_bug.cgi?id=81660

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/forms/textfield-no-linebreak.html

* editing/TypingCommand.cpp:
(canAppendNewLineFeed): Only assume that a linefeed can be appended, if
after the BeforeTextInserted event the event text is still a newline.

LayoutTests:

* fast/forms/textfield-no-linebreak.html: Added.
* fast/forms/textfield-no-linebreak-expected.html: Added.

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

9 years agoYet another build fix after r112781 for Chromium Windows.
rniwa@webkit.org [Sat, 31 Mar 2012 20:24:20 +0000 (20:24 +0000)]
Yet another build fix after r112781 for Chromium Windows.
Run webkit-build-directory by perl explicitly.

* BuildSlaveSupport/built-product-archive:
(determineWebKitBuildDirectory):

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

9 years ago32-bit plug-ins need to opt into magnified mode
andersca@apple.com [Sat, 31 Mar 2012 20:03:55 +0000 (20:03 +0000)]
32-bit plug-ins need to opt into magnified mode
https://bugs.webkit.org/show_bug.cgi?id=82837
<rdar://problem/9104840>

Reviewed by Simon Fraser.

* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):

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

9 years agoLayoutTests: [r112391] Pixel test failure of svg/custom/preserve-aspect-ratio-syntax.svg
zimmermann@webkit.org [Sat, 31 Mar 2012 19:13:14 +0000 (19:13 +0000)]
LayoutTests: [r112391] Pixel test failure of svg/custom/preserve-aspect-ratio-syntax.svg
https://bugs.webkit.org/show_bug.cgi?id=82469

Source/WebCore:

Fix regression from r112391. The test excerising this code path is skipped on Lion, due to a libxml2 bug.
I didn't notice I broke preserveAspectRatio parsing for many corner cases, revert to old logic.

* svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::parse):

LayoutTests:

Reviewed by Dirk Schulze.

Unskip test, as the regression is fixed.

* platform/qt/Skipped:
* svg/custom/preserve-aspect-ratio-syntax.svg:
    Remove one incorrect testcase (which was actually valid and thus doesn't result in a default pAR attribute value).
    Can't rebaseline this on Mac Lion, as its skipped to a libxml2 bug, which will be addressed soon.
* svg/dom/preserve-aspect-ratio-parser-expected.txt:
* svg/dom/preserve-aspect-ratio-parser.html: Switch numbers to constants, so this test is actually readable.

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

9 years agoCSSStyleRules should own their CSSStyleDeclarations
antti@apple.com [Sat, 31 Mar 2012 18:02:35 +0000 (18:02 +0000)]
CSSStyleRules should own their CSSStyleDeclarations
https://bugs.webkit.org/show_bug.cgi?id=82832

Reviewed by Andreas Kling.

Move the rule properties CSSOM wrapper ownership from the StylePropertySet to the rule itself.
This is preparation for bug 82728 (Split remaining CSSRules into internal and CSSOM types). This
temporarily grows the size of CSSStyleRule by a pointer (82728 will give the memory back and more)

* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::~CSSFontFaceRule):
(WebCore):
(WebCore::CSSFontFaceRule::style):
* css/CSSFontFaceRule.h:
(WebCore):
(CSSFontFaceRule):
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::~CSSPageRule):
(WebCore):
(WebCore::CSSPageRule::style):
* css/CSSPageRule.h:
(WebCore):
(CSSPageRule):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::~CSSStyleRule):
(WebCore::CSSStyleRule::style):
* css/CSSStyleRule.h:
(WebCore):
(CSSStyleRule):

    Make the rules own the property CSSOM wrapper.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::StyleRuleCSSStyleDeclaration::ref):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::deref):
(WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
(WebCore::StyleRuleCSSStyleDeclaration::contextStyleSheet):
(WebCore::InlineCSSStyleDeclaration::ref):
(WebCore::InlineCSSStyleDeclaration::deref):
* css/PropertySetCSSStyleDeclaration.h:
(WebCore::PropertySetCSSStyleDeclaration::parentElement):
(PropertySetCSSStyleDeclaration):
(WebCore::StyleRuleCSSStyleDeclaration::create):
(StyleRuleCSSStyleDeclaration):
(WebCore::StyleRuleCSSStyleDeclaration::clearParentRule):
(WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
(WebCore::StyleRuleCSSStyleDeclaration::parentRule):

    - Rename RuleCSSStyleDeclaration -> StyleRuleCSSStyleDeclaration
    - Make StyleRuleCSSStyleDeclaration use regular refcounting since
      it is no longer owned by the wrapped object.
    - Rename hasCSSOMWrapper() -> isMutable(), m_hasCSSOMWrapper -> m_ownsCSSOMWrapper
      to match the purpose.

(InlineCSSStyleDeclaration):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::StylePropertySet):
(WebCore::StylePropertySet::~StylePropertySet):
(WebCore::StylePropertySet::ensureCSSStyleDeclaration):
(WebCore):
(WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
(WebCore::StylePropertySet::clearParentElement):
* css/StylePropertySet.h:
(StylePropertySet):
(WebCore::StylePropertySet::isMutable):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::ensureMutableInlineStyle):
(WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):

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

9 years agoFix the syntax error in master.cfg after r112734.
rniwa@webkit.org [Sat, 31 Mar 2012 17:48:46 +0000 (17:48 +0000)]
Fix the syntax error in master.cfg after r112734.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(unitTestsSupported):

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

9 years ago[Chromium] Unreviewed, remove suppressions due to the http://crrev.com/130034 revert.
apavlov@chromium.org [Sat, 31 Mar 2012 14:14:18 +0000 (14:14 +0000)]
[Chromium] Unreviewed, remove suppressions due to the crrev.com/130034 revert.

* platform/chromium/test_expectations.txt:

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

9 years agoViewport-percentage Lengths: Layout test for vertical-align CSS property
commit-queue@webkit.org [Sat, 31 Mar 2012 14:09:17 +0000 (14:09 +0000)]
Viewport-percentage Lengths: Layout test for vertical-align CSS property
https://bugs.webkit.org/show_bug.cgi?id=82811

Patch by Joe Thomas <joethomas@motorola.com> on 2012-03-31
Reviewed by Antti Koivisto.

Adding a layout test for vertical-align CSS property which takes Viewport-percentage length unit.

* css3/viewport-percentage-lengths/viewport-percentage-vertical-align-expected.html: Added.
* css3/viewport-percentage-lengths/viewport-percentage-vertical-align.html: Added.

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

9 years ago[BlackBerry] http authenticate dialog popup only once no matter authentication pass...
commit-queue@webkit.org [Sat, 31 Mar 2012 13:34:04 +0000 (13:34 +0000)]
[BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
https://bugs.webkit.org/show_bug.cgi?id=80135

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-03-31
Reviewed by Rob Buis.

.:

RIM PR: 145660
Added manual test for testing the behavior of http authentication
challenge dialog. Both of these two files should be served over http.

* ManualTests/blackberry/http-auth-challenge.html: Added.
* ManualTests/blackberry/http-auth-challenge.php: Added.

Source/WebCore:

RIM PR: 145660
Fixed a regression introduced by r111810, we should cancel the new
request when user press cancel button in http authentication challenge
dialog, and we should also allow sending empty username and password
with the request.
Also removed redundant codes which checked the existence of the
FrameLoaderClient pointer, as we've already moved authenticationChallenge()
out of class FrameLoaderClient, it is not needed.

Manual test added. Testing http authentication dialog relies on user interaction.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::sendRequestWithCredentials):

Source/WebKit/blackberry:

RIM PR: 145660
Fixed a regression introduced by r111810, which used the wrong
credential object.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):

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

9 years ago[Chromium] Unreviewed, update expectations for SNOWLEOPARD after r112755
apavlov@chromium.org [Sat, 31 Mar 2012 13:25:33 +0000 (13:25 +0000)]
[Chromium] Unreviewed, update expectations for SNOWLEOPARD after r112755

* platform/chromium-mac-leopard/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/css/getComputedStyle-basic-expected.txt:

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

9 years ago[BlackBerry] Upstream BlackBerry change to PlatformTouchEvent and PlatformTouchPoint
charles.wei@torchmobile.com.cn [Sat, 31 Mar 2012 13:06:42 +0000 (13:06 +0000)]
[BlackBerry] Upstream BlackBerry change to PlatformTouchEvent and PlatformTouchPoint
https://bugs.webkit.org/show_bug.cgi?id=82828

Reviewed by Rob Buis.

No new tests, just upstream BlackBerry-specific change to
PlatformTouchEvent and PlatformTouchPoint, to make it build
for BlackBerry.

* platform/PlatformTouchEvent.h:
(Platform):
(WebCore::PlatformTouchEvent::PlatformTouchEvent):
(PlatformTouchEvent):
(WebCore::PlatformTouchEvent::rotation):
(WebCore::PlatformTouchEvent::scale):
(WebCore::PlatformTouchEvent::doubleTap):
(WebCore::PlatformTouchEvent::touchHold):
* platform/PlatformTouchPoint.h:
(Platform):
(PlatformTouchPoint):
* platform/blackberry/PlatformTouchEventBlackBerry.cpp:
(WebCore::PlatformTouchEvent::PlatformTouchEvent):

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

9 years ago[Chromium] Unreviewed, rebaseline test on LEOPARD after r112755
apavlov@chromium.org [Sat, 31 Mar 2012 13:00:43 +0000 (13:00 +0000)]
[Chromium] Unreviewed, rebaseline test on LEOPARD after r112755

* platform/chromium-mac-leopard/svg/css/getComputedStyle-basic-expected.txt: Added.

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

9 years ago[BlackBerry] Refactor : NetworkJob::handleNotifyHeaderReceived.
commit-queue@webkit.org [Sat, 31 Mar 2012 12:37:21 +0000 (12:37 +0000)]
[BlackBerry] Refactor : NetworkJob::handleNotifyHeaderReceived.
https://bugs.webkit.org/show_bug.cgi?id=82825

We should use "else if" to decrease string's compare.

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-03-31
Reviewed by Rob Buis.

No new tests. Refactor.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyHeaderReceived):

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

9 years ago[BlackBerry] Upstream local change of PlatformKeyboardEventBlackBerry.cpp
charles.wei@torchmobile.com.cn [Sat, 31 Mar 2012 12:32:59 +0000 (12:32 +0000)]
[BlackBerry] Upstream local change of PlatformKeyboardEventBlackBerry.cpp
https://bugs.webkit.org/show_bug.cgi?id=82721

Reviewed by Rob Buis.

No new tests, just upstreaming the local change to make the upstreaming
build for BlackBerry.

* platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

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

9 years agoCrash in HTMLFieldSetElement::disabledAttributeChanged.
inferno@chromium.org [Sat, 31 Mar 2012 11:59:15 +0000 (11:59 +0000)]
Crash in HTMLFieldSetElement::disabledAttributeChanged.
https://bugs.webkit.org/show_bug.cgi?id=82814

Reviewed by Kent Tamura.

Source/WebCore:

Test: fast/forms/fieldset/fieldset-crash.html

* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::disabledAttributeChanged):

LayoutTests:

* fast/forms/fieldset/fieldset-crash-expected.txt: Added.
* fast/forms/fieldset/fieldset-crash.html: Added.

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

9 years ago[Chromium] Unreviewed, suppress more failures after http://crrev.com/130034
apavlov@chromium.org [Sat, 31 Mar 2012 11:46:43 +0000 (11:46 +0000)]
[Chromium] Unreviewed, suppress more failures after crrev.com/130034

* platform/chromium/test_expectations.txt:

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

9 years agoUnreviewed, avoid the need for pixel results (reported for Chromium) for tests added...
apavlov@chromium.org [Sat, 31 Mar 2012 11:00:06 +0000 (11:00 +0000)]
Unreviewed, avoid the need for pixel results (reported for Chromium) for tests added in r112769.

* svg/css/script-tests/svg-attribute-length-parsing.js:
* svg/css/script-tests/svg-attribute-parser-mode.js:

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

9 years ago[Chromium] Unreviewed, suppress failures after http://crrev.com/130034
apavlov@chromium.org [Sat, 31 Mar 2012 10:40:45 +0000 (10:40 +0000)]
[Chromium] Unreviewed, suppress failures after crrev.com/130034

* platform/chromium/test_expectations.txt:

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

9 years ago[Chromium] Delete WebKit/chromium/bridge
abarth@webkit.org [Sat, 31 Mar 2012 07:44:56 +0000 (07:44 +0000)]
[Chromium] Delete WebKit/chromium/bridge
https://bugs.webkit.org/show_bug.cgi?id=82677

Reviewed by James Robinson.

Source/Platform:

This patch moves all the MediaStream-related platform APIs from
WebKit/chromium/public/platform into Platform/chromium/public. This is
part of a larger project to more clearly separate the platform and
client portions of the Chromium WebKit API.

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
(WebKit::Platform::createPeerConnectionHandler):
(WebKit::Platform::createPeerConnection00Handler):
(WebKit::Platform::createMediaStreamCenter):
* chromium/public/WebICECandidateDescriptor.h: Copied from Source/WebKit/chromium/public/platform/WebICECandidateDescriptor.h.
* chromium/public/WebICEOptions.h: Copied from Source/WebKit/chromium/public/platform/WebICEOptions.h.
* chromium/public/WebMediaHints.h: Copied from Source/WebKit/chromium/public/platform/WebMediaHints.h.
* chromium/public/WebMediaStreamCenter.h: Copied from Source/WebKit/chromium/public/platform/WebMediaStreamCenter.h.
* chromium/public/WebMediaStreamCenterClient.h: Copied from Source/WebKit/chromium/public/platform/WebMediaStreamCenterClient.h.
* chromium/public/WebMediaStreamComponent.h: Copied from Source/WebKit/chromium/public/platform/WebMediaStreamComponent.h.
* chromium/public/WebMediaStreamDescriptor.h: Copied from Source/WebKit/chromium/public/platform/WebMediaStreamDescriptor.h.
* chromium/public/WebMediaStreamSource.h: Copied from Source/WebKit/chromium/public/platform/WebMediaStreamSource.h.
* chromium/public/WebMediaStreamSourcesRequest.h: Copied from Source/WebKit/chromium/public/platform/WebMediaStreamSourcesRequest.h.
* chromium/public/WebPeerConnection00Handler.h: Copied from Source/WebKit/chromium/public/platform/WebPeerConnection00Handler.h.
* chromium/public/WebPeerConnection00HandlerClient.h: Copied from Source/WebKit/chromium/public/platform/WebPeerConnection00HandlerClient.h.
* chromium/public/WebPeerConnectionHandler.h: Copied from Source/WebKit/chromium/public/platform/WebPeerConnectionHandler.h.
(WebPeerConnectionHandler):
* chromium/public/WebPeerConnectionHandlerClient.h: Copied from Source/WebKit/chromium/public/platform/WebPeerConnectionHandlerClient.h.
* chromium/public/WebSessionDescriptionDescriptor.h: Copied from Source/WebKit/chromium/public/platform/WebSessionDescriptionDescriptor.h.
* chromium/public/WebVector.h: Copied from Source/WebKit/chromium/public/platform/WebVector.h.

Source/WebCore:

These files are just moved from the WebKit layer with their include
directives adjusted.

* WebCore.gypi:
* platform/chromium/support/WebICECandidateDescriptor.cpp: Copied from Source/WebKit/chromium/src/WebICECandidateDescriptor.cpp.
* platform/chromium/support/WebICEOptions.cpp: Copied from Source/WebKit/chromium/src/WebICEOptions.cpp.
* platform/chromium/support/WebMediaHints.cpp: Copied from Source/WebKit/chromium/src/WebMediaHints.cpp.
* platform/chromium/support/WebMediaStreamComponent.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamComponent.cpp.
* platform/chromium/support/WebMediaStreamDescriptor.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp.
* platform/chromium/support/WebMediaStreamSource.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamSource.cpp.
* platform/chromium/support/WebMediaStreamSourcesRequest.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamSourcesRequest.cpp.
* platform/mediastream/chromium/DeprecatedPeerConnectionHandler.cpp: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandler.cpp.
* platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.cpp: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandlerInternal.cpp.
(WebCore::DeprecatedPeerConnectionHandlerInternal::DeprecatedPeerConnectionHandlerInternal):
* platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.h: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandlerInternal.h.
* platform/mediastream/chromium/MediaStreamCenterChromium.cpp: Copied from Source/WebKit/chromium/bridge/MediaStreamCenter.cpp.
* platform/mediastream/chromium/MediaStreamCenterInternal.cpp: Copied from Source/WebKit/chromium/bridge/MediaStreamCenterInternal.cpp.
(WebCore::MediaStreamCenterInternal::MediaStreamCenterInternal):
* platform/mediastream/chromium/MediaStreamCenterInternal.h: Copied from Source/WebKit/chromium/bridge/MediaStreamCenterInternal.h.
* platform/mediastream/chromium/PeerConnection00Handler.cpp: Copied from Source/WebKit/chromium/bridge/PeerConnection00Handler.cpp.
* platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp: Copied from Source/WebKit/chromium/bridge/PeerConnection00HandlerInternal.cpp.
(WebCore::PeerConnection00HandlerInternal::PeerConnection00HandlerInternal):
* platform/mediastream/chromium/PeerConnection00HandlerInternal.h: Copied from Source/WebKit/chromium/bridge/PeerConnection00HandlerInternal.h.

Source/WebKit/chromium:

Delete WebKit/chromium/bridge.  This was a directory we were
experimenting with storing WebCore-namespaced code. Now we're able to
actually keep that code in WebCore itself, which is much more sensible.

* WebKit.gyp:
* bridge: Removed.
* bridge/DeprecatedPeerConnectionHandler.cpp: Removed.
* bridge/DeprecatedPeerConnectionHandlerInternal.cpp: Removed.
* bridge/DeprecatedPeerConnectionHandlerInternal.h: Removed.
* bridge/MediaStreamCenter.cpp: Removed.
* bridge/MediaStreamCenterInternal.cpp: Removed.
* bridge/MediaStreamCenterInternal.h: Removed.
* bridge/PeerConnection00Handler.cpp: Removed.
* bridge/PeerConnection00HandlerInternal.cpp: Removed.
* bridge/PeerConnection00HandlerInternal.h: Removed.
* public/platform/WebICECandidateDescriptor.h: Replaced.
* public/platform/WebICEOptions.h: Replaced.
* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKitPlatformSupport):
* public/platform/WebMediaHints.h: Replaced.
* public/platform/WebMediaStreamCenter.h: Replaced.
* public/platform/WebMediaStreamCenterClient.h: Replaced.
* public/platform/WebMediaStreamComponent.h: Replaced.
* public/platform/WebMediaStreamDescriptor.h: Replaced.
* public/platform/WebMediaStreamSource.h: Replaced.
* public/platform/WebMediaStreamSourcesRequest.h: Replaced.
* public/platform/WebPeerConnection00Handler.h: Replaced.
* public/platform/WebPeerConnection00HandlerClient.h: Replaced.
* public/platform/WebPeerConnectionHandler.h: Replaced.
* public/platform/WebPeerConnectionHandlerClient.h: Replaced.
* public/platform/WebSessionDescriptionDescriptor.h: Replaced.
* public/platform/WebVector.h: Replaced.
* src/WebICECandidateDescriptor.cpp: Removed.
* src/WebICEOptions.cpp: Removed.
* src/WebMediaHints.cpp: Removed.
* src/WebMediaStreamComponent.cpp: Removed.
* src/WebMediaStreamDescriptor.cpp: Removed.
* src/WebMediaStreamSource.cpp: Removed.
* src/WebMediaStreamSourcesRequest.cpp: Removed.

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

9 years agoAnother build fix after r112781.
rniwa@webkit.org [Sat, 31 Mar 2012 07:15:22 +0000 (07:15 +0000)]
Another build fix after r112781.

* BuildSlaveSupport/built-product-archive:
(createZip):

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

9 years agoBuild fix after r112781.
rniwa@webkit.org [Sat, 31 Mar 2012 07:06:55 +0000 (07:06 +0000)]
Build fix after r112781.

* BuildSlaveSupport/built-product-archive:
(createZipManually):
(createZip):

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

9 years agoChromium bots should upload archived built files
rniwa@webkit.org [Sat, 31 Mar 2012 06:50:09 +0000 (06:50 +0000)]
Chromium bots should upload archived built files
https://bugs.webkit.org/show_bug.cgi?id=82666

Reviewed by Tony Chang.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/built-product-archive:
(main):
(determineWebKitBuildDirectory): Instead of hard-coding WebKitBuild as the build outout directory,
call out to webkit-build-directory.
(removeDirectoryIfExists): Extracted.
(copyBuildFiles): Added to avoid archiving useless intermedinate files.
(createZipManually): Used in Chromium Windows where we don't execute python scripts inside cygwin.
(createZipManually.addToArchive):
(createZip): Extracted. Calls out to appropraite command line scripts or createZipManually.
(archiveBuiltProduct): Add support for Chromium port.
* Scripts/webkit-build-directory: Add support for --platform options.

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

9 years ago[Chromium] Move ResourceHandle to WebCore/platform/network/chromium
abarth@webkit.org [Sat, 31 Mar 2012 06:10:30 +0000 (06:10 +0000)]
[Chromium] Move ResourceHandle to WebCore/platform/network/chromium
https://bugs.webkit.org/show_bug.cgi?id=82657

Reviewed by James Robinson.

Source/WebCore:

We finally arive at our destination. This patch actually moves
WebCore::ResourceHandle from Source/WebKit/chromium/src to
Source/WebCore/network/chromium, matching its location in other ports.
To make this happen, we also need to move WrappedResourceRequest and
WrappedResourceResponse.

This patch is the last patch from
https://github.com/abarth/webkit/compare/master...webcore-platform

* WebCore.gypi:
* platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebCore/platform/chromium/support/WrappedResourceRequest.h.
* platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebCore/platform/chromium/support/WrappedResourceResponse.h.
* platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebCore/platform/network/chromium/ResourceHandle.cpp.
* platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebCore/platform/network/chromium/ResourceHandleInternal.h.

Source/WebKit/chromium:

* WebKit.gyp:
* src/ResourceHandle.cpp: Removed.
* src/ResourceHandleInternal.h: Removed.
* src/WrappedResourceRequest.h: Removed.
* src/WrappedResourceResponse.h: Removed.

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

9 years agoAdd a compile assert for the size of RenderText
rniwa@webkit.org [Sat, 31 Mar 2012 05:16:34 +0000 (05:16 +0000)]
Add a compile assert for the size of RenderText
https://bugs.webkit.org/show_bug.cgi?id=82780

Reviewed by Dirk Pranke.

Added an assertion. Also moved m_maxWidth, m_beginMinWidth, and m_endMinWidth
to right beneath m_minWidth so that gcc on GTK+ can pack floats properly.

* rendering/RenderText.cpp:
(SameSizeAsRenderText):
(WebCore):
* rendering/RenderText.h:
(RenderText):

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

9 years agoTwo more link errors. This time it's v8 we're missing.
abarth@webkit.org [Sat, 31 Mar 2012 05:16:28 +0000 (05:16 +0000)]
Two more link errors.  This time it's v8 we're missing.

* WebKitUnitTests.gyp:

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

9 years agoAdd a compile assert for the size of ScrollableArea
rniwa@webkit.org [Sat, 31 Mar 2012 05:04:59 +0000 (05:04 +0000)]
Add a compile assert for the size of ScrollableArea
https://bugs.webkit.org/show_bug.cgi?id=82822

Reviewed by Dirk Pranke.

Added the assertion. Also made m_scrollOriginChanged a bitfield so that it can be packed nicely.

* platform/ScrollableArea.cpp:
(SameSizeAsScrollableArea):
(WebCore):
* platform/ScrollableArea.h:
(ScrollableArea):

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

9 years agoStop creating the Web Inspector's NSWindow when detaching on close.
timothy@apple.com [Sat, 31 Mar 2012 04:44:42 +0000 (04:44 +0000)]
Stop creating the Web Inspector's NSWindow when detaching on close.

This fixes a UI process crash that would happen when detaching because of a Web Process crash.

https://webkit.org/b/82820
rdar://problem/11085467

Reviewed by Dan Bernstein.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformDetach): Moved the creation and showing code to the end
and added an early return if we are not visible in the middle.

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

9 years agoAttempt to fix the Windows component build. It seems we're just
abarth@webkit.org [Sat, 31 Mar 2012 04:35:39 +0000 (04:35 +0000)]
Attempt to fix the Windows component build.  It seems we're just
missing GURL now.

* WebKitUnitTests.gyp:

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

9 years agoReverted r112767, because it caused many vertical text tests to fail.
mitz@apple.com [Sat, 31 Mar 2012 04:01:28 +0000 (04:01 +0000)]
Reverted r112767, because it caused many vertical text tests to fail.

Source/WebCore:

* WebCore.exp.in:
* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::FontPlatformData):
(FontPlatformData):
(WebCore::FontPlatformData::isColorBitmapFont):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::operator==):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(DerivedFontData):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::setFont):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::shouldUseCoreText):
(WebCore::GlyphPage::fill):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore):

Tools:

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/fonts/SampleFont.sfont: Removed.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
(activateTestingFonts):
* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
(WTR::allowedFontFamilySet):
(WTR::activateFonts):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/fonts/SampleFont.sfont: Removed.

LayoutTests:

* fast/text/international/text-spliced-font.html: Removed.
* platform/mac/fast/text/international/text-spliced-font-expected.png: Removed.
* platform/mac/fast/text/international/text-spliced-font-expected.txt: Removed.

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

9 years agoTried to fix the Chromium Mac build after r112767.
mitz@apple.com [Sat, 31 Mar 2012 03:44:24 +0000 (03:44 +0000)]
Tried to fix the Chromium Mac build after r112767.

* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(DerivedFontData):

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

9 years agoColors seem to be parsed using HTML quirks in SVG attributes
krit@webkit.org [Sat, 31 Mar 2012 03:36:38 +0000 (03:36 +0000)]
Colors seem to be parsed using HTML quirks in SVG attributes
https://bugs.webkit.org/show_bug.cgi?id=46112

Source/WebCore:

Reviewed by Eric Seidel.

Finally move to SVGAttributeMode on parsing SVG presentation attributes. SVG attributes are
mainly parsed in the strict mode, which affects strict parsing of colors and no spaces between
values and units. Unit less values are still allowed.

Tests: svg/css/svg-attribute-length-parsing.html
       svg/css/svg-attribute-parser-mode.html

* css/CSSGrammar.y: No quirks mode for SVG.
* css/CSSParser.h:
(WebCore::CSSParser::inStrictMode): SVGAttributeMode also implies strict parsing.
(WebCore::CSSParser::inQuirksMode): Remove SVGAttributeMode from quirks mode.
* css/CSSParserMode.h:
(isStrictParserMode): Ditto.
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateAttributeStyle):
* svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
* svg/SVGStyledElement.cpp: Switch to SVGAttributeMode if we parse a SVG presentation attribute.
(WebCore::SVGStyledElement::getPresentationAttribute):

LayoutTests:

Test that values of SVG presentation attributes are parsed in strict mode. At the moment
this affects strict color parsing and no spaces between values and units.

Reviewed by Eric Seidel.

* svg/animations/script-tests/animate-color-fill-from-by.js:
* svg/css/script-tests/svg-attribute-length-parsing.js: Added.
* svg/css/script-tests/svg-attribute-parser-mode.js: Added.
* svg/css/svg-attribute-length-parsing-expected.txt: Added.
* svg/css/svg-attribute-length-parsing.html: Added.
* svg/css/svg-attribute-parser-mode-expected.txt: Added.
* svg/css/svg-attribute-parser-mode.html: Added.

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

9 years agoAttempt to fix the Windows component build. The way we link the unit
abarth@webkit.org [Sat, 31 Mar 2012 03:24:06 +0000 (03:24 +0000)]
Attempt to fix the Windows component build.  The way we link the unit
tests in the component build is kind of nutty.  Hopefully this approach
will eliminate the duplicate symbols we've been seeing.

* WebKitUnitTests.gyp:

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

9 years agoSource/WebCore: Composite Font References is a new established standard (ISO/IEC...
mitz@apple.com [Sat, 31 Mar 2012 03:13:52 +0000 (03:13 +0000)]
Source/WebCore: Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
composite fonts from existing physical fonts.
<rdar://problem/10717370>
https://bugs.webkit.org/show_bug.cgi?id=82810

CoreText have already the features enabled, here we added this to WebKit text layout and rendering.
A member function getCompositeFontReferenceFontData is added to the SimpleFontData class for the component font
correspond to the platformData, in this case, a NSFont. This is used when CoreText layout had resulted
a component of the Composite Font Reference and its corresponding SimpleFontData object is then cached
in the SimpleFontData object of the posting font (Composite Font Reference).

When glyphs are encoded to form the GlyphPage for rendering, the Composite Font Reference is handled throught
the CoreText layout path (using CTLine), here the resulting glyph is associated with a font which could
be not the original font request. In this case, these are the component fonts of the Composite Font
Reference. This is then identified and then added to the GlyphPage appropriately.

To support this feature, a member function isCompositeFontReference is added to FontPlatformData to
indicate a font is a Composite Font Reference. Also in order to pass the component font correctly a boolean
isPrinterFont is added to one the FontPlatformData constructors to describe the NSFont.

Patch by Tony Tseung <tseung@apple.com> on 2012-03-30
Reviewed by Dan Bernstein.

Added test LayoutTests/fast/text/international/text-spliced-font.html

* WebCore.exp.in:
Replaced obsolete FontPlatformData constructor entry.

* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
Copy of the additional m_isCompositeFontReference and m_isPrinterFont data members.

(WebCore::FontPlatformData::operator=):
Assignment of the additional m_isCompositeFontReference and m_isPrinterFont data members.

* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::FontPlatformData):
(FontPlatformData):
Default value of m_isCompositeFontReference and m_isPrinterFont data members are set to false in various constructors.

(WebCore::FontPlatformData::isCompositeFontReference):
Newly added for Composite Font Reference type font.

(WebCore::FontPlatformData::isPrinterFont):
Newly added for describing the NSFont parameter if is applicable.

(WebCore::FontPlatformData::operator==):
Comparison of the additional m_isCompositeFontReference and m_isPrinterFont data members.

* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
Clean up the cache for component fonts of the Composite Font References.

* platform/graphics/SimpleFontData.h:
(SimpleFontData):
Added member function const SimpleFontData* getCompositeFontReferenceFontData(NSFont *key) const.

(DerivedFontData):
Added CFDictionary for caching the component font of Composite Font Reference.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
Data members m_isCompositeFontReference and m_isPrinterFont are initialised and their values are determined in the body of the contructor.

(WebCore::FontPlatformData::setFont):
Data members m_isCompositeFontReference and m_isPrinterFont are determined and set.

* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::createFontPlatformData):
Boolean value isUsingPrinterFont is passed in the new FontPlatformData constructor.

* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::shouldUseCoreText):
Added the condition for Composite Font Reference type font.

(WebCore::GlyphPage::fill):
In the case of Composite Font Reference, when iterate the runs, component font of Composite Font
Reference is used to fill the glyph index in the GlyphPage.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::getCompositeFontReferenceFontData):
Newly added method for the component fonts correspond to the platformData, in this case, a NSFont.
This SimpleFontData is created and cached in this object and will only be deleted when the destructor
if this is called.

Tools: Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
composite fonts from existing physical fonts.
<rdar://problem/10717370>
https://bugs.webkit.org/show_bug.cgi?id=82810

A new test font of this kind as been added to the test tools for running the webkit-tests

Patch by Tony Tseung <tseung@apple.com> on 2012-03-30
Reviewed by Dan Bernstein.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Added new dependency SampleFont.sfont

* DumpRenderTree/fonts/SampleFont.sfont: Added.

* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
Added the Composite Font Referene sample font "Hiragino Maru Gothic Monospaced" entry to the fonts white-list

(activateTestingFonts):
Added the registration of the Composite Font Referene sample font

* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
(WTR::allowedFontFamilySet):
Added the Composite Font Referene sample font "Hiragino Maru Gothic Monospaced" entry to the fonts white-list

(WTR::activateFonts):
Added the registration of the Composite Font Referene sample font

* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Added new dependency SampleFont.sfont

* WebKitTestRunner/fonts/SampleFont.sfont: Added.

LayoutTests: Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
composite fonts from existing physical fonts.
<rdar://problem/10717370>
https://bugs.webkit.org/show_bug.cgi?id=82810

Added new LayoutTests/fast/text/international/text-spliced-font.html

Patch by Tony Tseung <tseung@apple.com> on 2012-03-30
Reviewed by Dan Bernstein.

* fast/text/international/text-spliced-font.html: Added.
* platform/mac/fast/text/international/text-spliced-font-expected.png: Added.
* platform/mac/fast/text/international/text-spliced-font-expected.txt: Added.

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

9 years ago[BlackBerry] Use KURL::protocolIsInHTTPFamily() instead KURL::protocolInHTTPFamily()
charles.wei@torchmobile.com.cn [Sat, 31 Mar 2012 03:07:24 +0000 (03:07 +0000)]
[BlackBerry] Use KURL::protocolIsInHTTPFamily() instead KURL::protocolInHTTPFamily()
https://bugs.webkit.org/show_bug.cgi?id=82707

Reviewed by Rob Buis.

No new tests, just BlackBerry build fix.

* platform/network/blackberry/NetworkManager.cpp:
(WebCore::NetworkManager::startJob):

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

9 years agostyleForElement() should use enums instead of bools so we can all understand what...
eric@webkit.org [Sat, 31 Mar 2012 02:46:08 +0000 (02:46 +0000)]
styleForElement() should use enums instead of bools so we can all understand what it's doing
https://bugs.webkit.org/show_bug.cgi?id=82807

Reviewed by Adam Barth.

No change in behavior, thus no tests.

Mostly this is just replacing true/false with the correct new enum value
or removing true/false from the callsites when they would have been default anyway.
I think this makes the code *way* more clear.

The old code was extra confusing because the defaults were "true, false". :)
The new defaults are AllowStyleSharing, MatchAllRules.
It's very uncommon for callers to want to override either of these behaviors.
I think most callers which specify DisallowStyleSharing likely don't actually need to
(our style-sharing code should be smart enough to only share when safe anyway).

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
 - Use enums and remove bogus comment (m_rootDefaultStyle is a RefPtr!)
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSStyleSelector.h:
(CSSStyleSelector):
* css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::prepareEvaluator):
* css/StyleMedia.cpp:
(WebCore::StyleMedia::matchMedium):
* dom/Element.cpp:
(WebCore::Element::styleForRenderer):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::getUncachedPseudoStyle):
 - Updated to use enums
 - Also fixed this to use toElement and modern early-return styles.
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::computeStyleInRegion):
* svg/SVGElement.cpp:
(WebCore::SVGElement::customStyleForRenderer):

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

9 years ago[BlackBerry] Headers with no content shouldn't be dropped by platform's request.
commit-queue@webkit.org [Sat, 31 Mar 2012 02:36:35 +0000 (02:36 +0000)]
[BlackBerry] Headers with no content shouldn't be dropped by platform's request.
https://bugs.webkit.org/show_bug.cgi?id=82691

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-03-30
Reviewed by Rob Buis.

Test : http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html

* platform/network/blackberry/ResourceRequestBlackBerry.cpp:
(WebCore::ResourceRequest::initializePlatformRequest):

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

9 years agoSkip more tests. Tracking bugs are listed in the Skipped file.
simon.fraser@apple.com [Sat, 31 Mar 2012 02:27:52 +0000 (02:27 +0000)]
Skip more tests. Tracking bugs are listed in the Skipped file.

* platform/mac/Skipped:

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

9 years agoDFG should optimize a==b for a being an object and b being either an object or
fpizlo@apple.com [Sat, 31 Mar 2012 02:21:35 +0000 (02:21 +0000)]
DFG should optimize a==b for a being an object and b being either an object or
null/undefined, and vice versa
https://bugs.webkit.org/show_bug.cgi?id=82656

Reviewed by Oliver Hunt.

Implements additional object equality optimizations for the case that one
operand is predicted to be an easily speculated object (like FinalObject or
Array) and the other is either an easily speculated object or Other, i.e.
Null or Undefined.

2-5% speed-up on V8/raytrace, leading to a sub-1% progression on V8.

I also took the opportunity to clean up the control flow for the speculation
decisions in the various Compare opcodes. And to fix a build bug in SamplingTool.
And to remove debug cruft I stupidly committed in my last patch.

* bytecode/SamplingTool.h:
(SamplingRegion):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(DFG):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(DFG):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):

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

9 years agoSkip two SVG tests that asserted. Tracked by
simon.fraser@apple.com [Sat, 31 Mar 2012 02:17:14 +0000 (02:17 +0000)]
Skip two SVG tests that asserted. Tracked by
https://bugs.webkit.org/show_bug.cgi?id=82815

* platform/mac/Skipped:

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

9 years agoAdd tests for iframe seamless and support for parsing webkitseamless attribute
eric@webkit.org [Sat, 31 Mar 2012 01:37:03 +0000 (01:37 +0000)]
Add tests for iframe seamless and support for parsing webkitseamless attribute
https://bugs.webkit.org/show_bug.cgi?id=82795

Reviewed by Adam Barth.

Source/WebCore:

This just adds support for parsing/reflecting the "webkitseamess" attribute.
I'll add the actual CSS, navigation, security, and layout changes in
separate follow-up patches.

Tests: fast/frames/seamless/seamless-basic.html
       fast/frames/seamless/seamless-css-cascade.html
       fast/frames/seamless/seamless-nested.html
       fast/frames/seamless/seamless-sandbox-flag.html

* html/HTMLAttributeNames.in:
* html/HTMLIFrameElement.idl:

LayoutTests:

* fast/frames/seamless/resources/css-cascade-child.html: Added.
* fast/frames/seamless/resources/nested-seamless.html: Added.
* fast/frames/seamless/resources/square.html: Added.
* fast/frames/seamless/seamless-basic-expected.txt: Added.
* fast/frames/seamless/seamless-basic.html: Added.
* fast/frames/seamless/seamless-css-cascade-expected.txt: Added.
* fast/frames/seamless/seamless-css-cascade.html: Added.
* fast/frames/seamless/seamless-nested-expected.txt: Added.
* fast/frames/seamless/seamless-nested.html: Added.
* fast/frames/seamless/seamless-sandbox-flag-expected.txt: Added.
* fast/frames/seamless/seamless-sandbox-flag.html: Added.

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

9 years agoUnreviewed, fix Leopard/SL expectations for remaining SVG tests.
dpranke@chromium.org [Sat, 31 Mar 2012 01:15:55 +0000 (01:15 +0000)]
Unreviewed, fix Leopard/SL expectations for remaining SVG tests.
Also, mark zoom-img-preserveAspectRatio-support-1 as still failing.

* platform/chromium-mac-snowleopard/fast/overflow/overflow-x-y-expected.txt:
* platform/chromium-mac-snowleopard/svg/as-object/svg-embedded-in-html-in-iframe-expected.txt:
* platform/chromium-mac-snowleopard/svg/custom/mask-colorspace-expected.txt:
* platform/chromium-mac-snowleopard/svg/custom/use-on-g-containing-use-expected.txt:
* platform/chromium-mac-snowleopard/svg/custom/use-setAttribute-crash-expected.txt:
* platform/chromium-mac-snowleopard/svg/filters/feImage-late-indirect-update-expected.txt:
* platform/chromium-mac-snowleopard/svg/stroke/zero-length-path-linecap-rendering-expected.txt:
* platform/chromium-mac-snowleopard/svg/stroke/zero-length-subpaths-linecap-rendering-expected.txt:
* platform/chromium/test_expectations.txt:

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

9 years agoChange WebKit/WebKit2 platform code to use pixel snapped values
eae@chromium.org [Sat, 31 Mar 2012 00:57:47 +0000 (00:57 +0000)]
Change WebKit/WebKit2 platform code to use pixel snapped values
https://bugs.webkit.org/show_bug.cgi?id=82549

Source/WebCore:

Reviewed by Eric Seidel.

Change WebKit and WebKit2 platform code to use rounded locations and
pixel snapped rects and sizes. This largely avoids having to expose the
fractional layout types to the platform code.

No new tests. No change in functionality.

* dom/Node.h:
(WebCore::Node::pixelSnappedRenderRect):
Add pixel snapped version of renderRect

* rendering/RenderBox.h:
(WebCore::RenderBox::pixelSnappedFrameRect):
Add pixel snapped version of frameRect

Source/WebKit/chromium:

Reviewed by Eric Seidel.

* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::boundingBoxRect):
Use pixelSnappedBoundingBoxRect instead of boundingBoxRect which returns
a LayoutRect.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::characterIndexForPoint):
Use roundedPoint instead of point for hit testing as ranges use screen
cordinates which are represented with pixel accuracy.

Source/WebKit/mac:

Change WebKit and WebKit2 platform code to use rounded locations and
pixel snapped rects and sizes. This largely avoids having to expose the
fractional layout types to the platform code.

Reviewed by Eric Seidel.

* DOM/WebDOMOperations.mm:
(-[DOMNode _renderRect:]):

Source/WebKit/qt:

Reviewed by Eric Seidel.

* Api/qwebelement.cpp:
(QWebElement::geometry):
Replace getRect with getPixelSnappedRect to avoid having to expose
subpixel types to the platform layer.

* Api/qwebpage.cpp:
(QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):
Use pixel snapped element rect when comparing with the touch rect as the
touch rect use screen cordinates which are represented with pixel
accuracy.

* WebCoreSupport/ChromeClientQt.h:
(WebCore::ChromeClientQt::scrollRectIntoView):
Change scrollRectIntoView to take a LayoutRect to match base class
interface.

Source/WebKit2:

Change WebKit and WebKit2 platform code to use rounded locations and
pixel snapped rects and sizes. This largely avoids having to expose the
fractional layout types to the platform code.

Reviewed by Eric Seidel.

* Shared/WebRenderObject.cpp:
(WebKit::WebRenderObject::WebRenderObject):
* UIProcess/win/WebPopupMenuProxyWin.cpp:
(WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::renderRect):
* WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
(WebKit::BuiltInPDFView::invalidateScrollbarRect):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::characterIndexForPoint):

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=82761
simon.fraser@apple.com [Sat, 31 Mar 2012 00:54:50 +0000 (00:54 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=82761

Try to narrow down the cause of this assertion by adding
an assertion about m_frame.

* editing/Editor.cpp:
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):

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

9 years agoFix return type for virtual borderBoundingBox method
eae@chromium.org [Sat, 31 Mar 2012 00:52:52 +0000 (00:52 +0000)]
Fix return type for virtual borderBoundingBox method
https://bugs.webkit.org/show_bug.cgi?id=82561

Reviewed by Eric Seidel.

No new tests, no change in functionality.

* editing/DeleteButtonController.cpp:
(WebCore::isDeletableElement):
* rendering/RenderBox.h:
(WebCore::RenderBox::borderBoxRect):
Rename pixelSnappedBorderBoxRect to borderBoxRect and remove LayoutRect
version of same as we always want to use the pixel snapped version to
ensure proper rounding and alignment to device pixels.
(The way this rect is pixel snapped, using the m_frameRect location,
makes it hard for calling code to take the subpixel rect and correctly
snap it).

(WebCore::RenderBox::borderBoundingBox):
* rendering/RenderBoxModelObject.h:
Change pure virtual definition of borderBoundingBox to return an IntRect
to match implementation in RenderBox.

(RenderBoxModelObject):
* rendering/RenderInline.h:
(WebCore::RenderInline::borderBoundingBox):
Change overloaded method to IntRect to match RenderBox implementation.

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

9 years agoshape-inside and shape-outside are not in the list of computed style properties
commit-queue@webkit.org [Sat, 31 Mar 2012 00:46:04 +0000 (00:46 +0000)]
shape-inside and shape-outside are not in the list of computed style properties
https://bugs.webkit.org/show_bug.cgi?id=82667

Patch by Bear Travis <betravis@adobe.com> on 2012-03-30
Reviewed by Ryosuke Niwa.

Source/WebCore:

Adding prefixed shape-inside and shape-outside to the list of computed style properties.
Added properties to existing tests for computed style results

* css/CSSComputedStyleDeclaration.cpp:
(WebCore): added -webkit-shape-inside and -webkit-shape-outside to computedProperties

LayoutTests:

Adding prefixed shape-inside and shape-outside to the list of computed style properties.
Updating tests that look at all properties on a computed style declaration.

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-mac-snowleopard/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-mac/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
* platform/efl/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/gtk/svg/css/getComputedStyle-basic-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/qt/svg/css/getComputedStyle-basic-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:

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

9 years agohttps://bugs.webkit.org/show_bug.cgi?id=82582
abarth@webkit.org [Sat, 31 Mar 2012 00:31:48 +0000 (00:31 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=82582
Move CPP files related to ResourceHandle to WebCore/platform

Reviewed by James Robinson.

Source/WebCore:

This patch moves a number of files that implement parts of the platform
portion of the Chromium WebKit API from the WebKit layer to
WebCore/platform. These files are in the dependency cone of
ResourceHandle and have no dependencies on anything outside
WebCore/platform.

* WebCore.gypi:
* platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
* platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
* platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
* platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
* platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
* platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
* platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
* platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.

Source/WebKit/chromium:

* WebKit.gyp:
* src/WebHTTPBody.cpp: Removed.
* src/WebHTTPLoadInfo.cpp: Removed.
* src/WebURL.cpp: Removed.
* src/WebURLError.cpp: Removed.
* src/WebURLRequest.cpp: Removed.
* src/WebURLRequestPrivate.h: Removed.
* src/WebURLResponse.cpp: Removed.
* src/WebURLResponsePrivate.h: Removed.

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

9 years agoUnreviewed, expectations update.
dpranke@chromium.org [Sat, 31 Mar 2012 00:25:18 +0000 (00:25 +0000)]
Unreviewed, expectations update.

* platform/chromium-mac/svg/batik/masking/maskRegions-expected.png:
* platform/chromium-win-xp/svg/batik/masking/maskRegions-expected.png: Removed.
* platform/chromium/test_expectations.txt:

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

9 years agoFix usage of LayoutUnits in table code.
eae@chromium.org [Sat, 31 Mar 2012 00:13:20 +0000 (00:13 +0000)]
Fix usage of LayoutUnits in table code.
https://bugs.webkit.org/show_bug.cgi?id=82765

Reviewed by Eric Seidel.

Clean up usage of ints and LayoutUnits in table code in preparation for
turning on subpixel layout.

No new tests, no change in functionality.

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
Cast maxWidth to int as all table layout is done on int bounds.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
Change borders to LayoutUnit as paddings can have subpixel precision.

* rendering/RenderTable.h:
(WebCore::RenderTable::getColumnPos):
(WebCore::RenderTable::columnPositions):
Change getColumnPos and columnPositions to ints as the values are always
on pixel bounds.

(WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::styleOrColLogicalWidth):
Remove unnecessary cast.

(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
Use LayoutPoint instead of left/top.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderTableSection.h:
Change baseline and baselineDescent to int to avoid unnecessary type
conversion.

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

9 years agoSpec renamed Viewport-relative lengths to Viewport-percentage lengths
commit-queue@webkit.org [Sat, 31 Mar 2012 00:05:21 +0000 (00:05 +0000)]
Spec renamed Viewport-relative lengths to Viewport-percentage lengths
https://bugs.webkit.org/show_bug.cgi?id=82773

Patch by Joe Thomas <joethomas@motorola.com> on 2012-03-30
Reviewed by Antti Koivisto.

As per the latest version of CSS Values and Units Module Level 3 specification released on 29 March 2012
(http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths) Viewport-relative lengths is renamed to Viewport-percentage lengths.

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::getPositionOffsetValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::unitCategory):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
(WebCore::CSSPrimitiveValue::viewportPercentageLength):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isViewportPercentageLength):
(CSSPrimitiveValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertToLength):
* css/CSSStyleApplyProperty.cpp:
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/LengthFunctions.cpp:
(WebCore::minimumValueForLength):
(WebCore::valueForLength):
(WebCore::floatValueForLength):
* platform/Length.h:
(WebCore::Length::isViewportPercentage):
(WebCore::Length::viewportPercentageLength):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::textIndentOffset):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeContentLogicalHeightUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paddingTop):
(WebCore::RenderBoxModelObject::paddingBottom):
(WebCore::RenderBoxModelObject::paddingLeft):
(WebCore::RenderBoxModelObject::paddingRight):
(WebCore::RenderBoxModelObject::paddingBefore):
(WebCore::RenderBoxModelObject::paddingAfter):
(WebCore::RenderBoxModelObject::paddingStart):
(WebCore::RenderBoxModelObject::paddingEnd):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
* rendering/RenderInline.cpp:
(WebCore::computeMargin):
* rendering/style/RenderStyle.h:

LayoutTests:

* css3/viewport-percentage-lengths: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle-expected.txt: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-getStyle.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-absolute-expected.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-absolute.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-expected.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-absolute-expected.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-absolute.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-expected.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-absolute-expected.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-absolute.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-expected.html: Added.
* css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw.html: Added.
* css3/viewport-relative-lengths: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle-expected.txt: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-expected.html: Removed.
* css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html: Removed.

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

9 years agoNote more flaky crashes for bug 82505.
dpranke@chromium.org [Sat, 31 Mar 2012 00:01:14 +0000 (00:01 +0000)]
Note more flaky crashes for bug 82505.

Unreviewed, expectations change.

* platform/chromium/test_expectations.txt:

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

9 years agoSkip two WebGL tests. Tracked by https://bugs.webkit.org/show_bug.cgi?id=82805
simon.fraser@apple.com [Fri, 30 Mar 2012 23:47:13 +0000 (23:47 +0000)]
Skip two WebGL tests. Tracked by https://bugs.webkit.org/show_bug.cgi?id=82805

* platform/mac/Skipped:

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

9 years ago[wx] Move wxWebKit API into WebKit namespace.
kevino@webkit.org [Fri, 30 Mar 2012 23:34:02 +0000 (23:34 +0000)]
[wx] Move wxWebKit API into WebKit namespace.
https://bugs.webkit.org/show_bug.cgi?id=82740

Reviewed by Kevin Ollivier.

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

9 years ago[CSS Filters] Drop Shadow is not repainting correctly when repaint area is smaller...
achicu@adobe.com [Fri, 30 Mar 2012 23:30:03 +0000 (23:30 +0000)]
[CSS Filters] Drop Shadow is not repainting correctly when repaint area is smaller than the filtered element
https://bugs.webkit.org/show_bug.cgi?id=80323

Source/WebCore:

Reviewed by Dean Jackson.

The problem is that shadow and blur (and custom filters - although not treated in this patch) need the full source image of
the surface that needs to be filtered. Until now the filter was computed only using the area defined by the dirty repaint rectangle.
Those filters need full image source because they displace pixel positions, meaning that pixels in the current dirty rectangle
have a dependency on pixels from the RenderLayer outside the dirty rect. See the bug pictures for an example of how that could go wrong.

The fix is to always keep a copy of the RenderLayer representation in memory. When repaint is needed we still invalidate
only the parts that changed, but the filter is computed using the full source image and not only the dirty rectangle.

In order to make that work, we needed the full repaint rectangle of the current RenderLayer and not just the clipped version that
we get through the ::paint methods. Also, because filters sometime need to repaint more than just the dirty area (because of the
outsets of the filters - ie blur, drop-shadow), it makes it easier to just capture all the repaints in the RenderLayer itself in a
similar way WebKit does now for composited layers. As a result the repaint container can also be a filtered layer (not just composited ones), so
that we can catch all the filter repaints in one place in the RenderLayer. Also with this change I removed the need to add visual overflow to
the RenderBox and also there's no need to patch the repaintUsingContainer. By the way, repaintUsingContainer did not always work because of the
LayoutState optimizations, so repaints during layout would fail (I know that that could be fixed by disabling the LayoutState for filtered areas).

Also part of this patch I extracted a function from RenderLayerCompositor::calculateCompositedBounds, so that we can also use it from RenderLayer.
I called it RenderLayer::calculateLayerBounds and there should be no change in functionality. It now also includes the outsets of the filter. I've
added a different bug to avoid adding the outsets when the filter is computed in hardware. That's because some platforms do not support that yet:
https://bugs.webkit.org/show_bug.cgi?id=81239

Also the visual overflow doesn't include the child RenderLayers, meaning that the outsets would have been applied to the border and not to the bounding box
of the RenderLayer. The end result was that some child RenderLayers could be clipped out of the filtered area.

Tests: css3/filters/filter-repaint-blur.html
       css3/filters/filter-repaint-child-layers.html
       css3/filters/filter-repaint-composited-fallback-crash.html
       css3/filters/filter-repaint-composited-fallback.html
       css3/filters/filter-repaint-sepia.html
       css3/filters/filter-repaint-shadow-clipped.html
       css3/filters/filter-repaint-shadow-rotated.html
       css3/filters/filter-repaint-shadow.html

* platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::getOutsets): Drop shadow should only enlarge the outsets and never make them smaller.

* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::FilterEffectRenderer):
(WebCore::FilterEffectRenderer::build): Caching the operations.hasFilterThatMovesPixels() in the FilterEffectRenderer.
(WebCore::FilterEffectRenderer::updateBackingStore): It now returns true when the backing store was recreated, so that we can repaint it all.
(WebCore):
(WebCore::FilterEffectRendererHelper::prepareFilterEffect): Separated beginFilterEffect into two methods. One that computed the rects
and one that prepares the draw context.
(WebCore::FilterEffectRendererHelper::beginFilterEffect):
(WebCore::FilterEffectRendererHelper::applyFilterEffect):

* rendering/FilterEffectRenderer.h:
(FilterEffectRendererHelper):
(FilterEffectRenderer):
(WebCore::FilterEffectRenderer::hasFilterThatMovesPixels):

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint): No need to include the outsets in the repaint rect here, we will do it later in RenderLayer.
(WebCore::RenderBox::addVisualEffectOverflow): Removed outsets from the overflow.

* rendering/RenderInline.cpp:
(WebCore::RenderInline::computeRectForRepaint): Removed the outsets from this method. We now compute that in
RenderLayer::setFilterBackendNeedsRepaintingInRect.

* rendering/RenderLayer.cpp:
(WebCore):
In this change I introduce a new dirty rectangle used by filters. It accumulates all the repaint requests inside the filtered layer,
so that we can invalidate the areas that are outside the clipping rectangle. Such cases include "overflow:scroll" and "overflow:hidden", when
we still want to blur or drop shadow based on content that is not actually displayed on screen (but the shadow for that content is visible). That rectangle
is called m_filterRepaintRect and resets back to zero when the next repaint is finished. All the filtered layers that apply blur and drop-shadow
will have an extra backing surface and only the invalidated areas are repainted in that surface. This is very similar to how composited layers work.

(WebCore::RenderLayer::requiresFullLayerImageForFilters): Returns true in CPU mode and only if the layer needs the full source image of
the layer to compute the filter. Otherwise GPU layers already have access to the full bakcing image.
(WebCore::RenderLayer::enclosingFilterLayer): Returns the enclosing layer that returns true on requiresFullLayerImageForFilters.
(WebCore::RenderLayer::enclosingFilterRepaintLayer): Returns the enclosing layer that can be used to repaint the current layer. Usually that
is the RenderView layer or the parent RenderLayer that is composited.
(WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): Intercepts all the repaint queries for the filtered layers and uses
enclosingFilterRepaintLayer to enforce the repaint using the parent container.

(WebCore::RenderLayer::paintLayerContents): Consolidated the filters code in one single place. Also, it is now sending the bounding box and the
dirty rect to the FilterEffectRendererHelper::prepareFilterEffect to make sure the backing store is repainted accordingly. In some cases it might
rewrite the dirty rectangle used to paint the current layer, so that all the dirty areas in the backing store are covered.
(WebCore::RenderLayer::calculateLayerBounds): Extracted from RenderLayerCompositor::calculateCompositedBounds.
(WebCore::RenderLayer::updateOrRemoveFilterEffect): We should not create the filter builder when there's no filter specified.

* rendering/RenderLayer.h:
(RenderLayer):

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::calculateCompositedBounds): Now using the code from RenderLayer::calculateLayerBounds

* rendering/RenderObject.cpp:
(WebCore::RenderObject::containerForRepaint): Using RenderLayer::enclosingFilterLayer to also find the parent filtered area.
(WebCore::RenderObject::repaintUsingContainer): Removed the need to add filter outsets in this method. We now compute that in
RenderLayer::setFilterBackendNeedsRepaintingInRect.

LayoutTests:

Reviewed by Dean Jackson.

Added more tests to cover all the repaint issues on filtered RenderLayers.

* css3/filters/filter-repaint-blur-expected.png: Added.
* css3/filters/filter-repaint-blur-expected.txt: Added.
* css3/filters/filter-repaint-blur.html: Added. Checking that the full image of the RenderLayer is used to compute
the blur, even if only a sub-section of the layer has repainted.
* css3/filters/filter-repaint-child-layers-expected.png: Added.
* css3/filters/filter-repaint-child-layers-expected.txt: Added.
* css3/filters/filter-repaint-child-layers.html: Added. Checking that the bounding box of the RenderLayer
and all its children are taken into account when computing the filter box.
* css3/filters/filter-repaint-composited-fallback-crash-expected.png: Added.
* css3/filters/filter-repaint-composited-fallback-crash-expected.txt: Added.
* css3/filters/filter-repaint-composited-fallback-crash.html: Added. There was a crash when filters changed from CPU to GPU.
* css3/filters/filter-repaint-composited-fallback-expected.png: Added.
* css3/filters/filter-repaint-composited-fallback-expected.txt: Added.
* css3/filters/filter-repaint-composited-fallback.html: Added. Checking that repaint still works when platform GPU is not able to
compute the filter.
* css3/filters/filter-repaint-sepia-expected.png: Added.
* css3/filters/filter-repaint-sepia-expected.txt: Added.
* css3/filters/filter-repaint-sepia.html: Added. Testing that repaint still works correctly on simple filter that do not need the full
source image of the RenderLayer (ie. they are not displacing pixels positions).
* css3/filters/filter-repaint-shadow-clipped-expected.png: Added.
* css3/filters/filter-repaint-shadow-clipped-expected.txt: Added.
* css3/filters/filter-repaint-shadow-clipped.html: Added. Checking that an element that's out of view (clipped by the viewport) can
still drop a shadow that might be visible.
* css3/filters/filter-repaint-shadow-expected.png: Added.
* css3/filters/filter-repaint-shadow-expected.txt: Added.
* css3/filters/filter-repaint-shadow-rotated-expected.png: Added.
* css3/filters/filter-repaint-shadow-rotated-expected.txt: Added. Testing that transforms and clipping applied on filtered areas
work correctly with the new repaint methods.
* css3/filters/filter-repaint-shadow-rotated.html: Added.
* css3/filters/filter-repaint-shadow.html: Added. Checking that the full image of the RenderLayer is used to compute
the shadow, even if only a sub-section of the layer has repainted.

* platform/chromium/test_expectations.txt: Chromium needs expected results for the tests. Also the old filter-repaint.html had incorrect
expected results.

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

9 years agoRemove expectations for tests that are now passing.
dpranke@chromium.org [Fri, 30 Mar 2012 23:28:44 +0000 (23:28 +0000)]
Remove expectations for tests that are now passing.

Unreviewed.

* platform/chromium/test_expectations.txt:

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

9 years agoAdd a compile assert for the size of BidiContext
rniwa@webkit.org [Fri, 30 Mar 2012 23:27:51 +0000 (23:27 +0000)]
Add a compile assert for the size of BidiContext
https://bugs.webkit.org/show_bug.cgi?id=82793

Reviewed by Eric Seidel.

Added the assertion. Also reduced the number of bits used for bidi levels from
8 to 6 as done in InlineBox since bidi levels require exactly 6 bits.

* rendering/InlineBox.h: Added a comment about why bidi level needs exactly 6 bits.
* platform/text/BidiContext.cpp:
(SameSizeAsBidiContext):
(WebCore):
* platform/text/BidiContext.h:
(BidiContext):

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

9 years agoEnable OpenType Sanitizer for BlackBerry port.
efidler@rim.com [Fri, 30 Mar 2012 23:26:53 +0000 (23:26 +0000)]
Enable OpenType Sanitizer for BlackBerry port.
https://bugs.webkit.org/show_bug.cgi?id=82782

Reviewed by Eric Seidel.

.:

* Source/cmake/OptionsBlackBerry.cmake: define USE(OPENTYPE_SANITIZER)

Source/WebKit:

* PlatformBlackBerry.cmake: add libots to link

Tools:

* Scripts/webkitdirs.pm:
(blackberryCMakeArguments): add OTS to include path

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

9 years agoIndexedDB: Race condition causes version change transaction to commit after onblocked
jsbell@chromium.org [Fri, 30 Mar 2012 23:04:47 +0000 (23:04 +0000)]
IndexedDB: Race condition causes version change transaction to commit after onblocked
https://bugs.webkit.org/show_bug.cgi?id=82678

Source/WebCore:

For a version change event, the blocked and success events could both be queued
before either is dispatched. The transaction would erroneously be allowed to commit
after the blocked event was dispatched; it should not be, as the request was not
finished.

Reviewed by Tony Chang.

Test: storage/indexeddb/dont-commit-on-blocked.html

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):

LayoutTests:

Landing test marked PASS FAIL as WK82776 prevents it from running in DRT; will
run it as a Chromium browser test for now.

Reviewed by Tony Chang.

* platform/chromium/test_expectations.txt:
* storage/indexeddb/dont-commit-on-blocked.html: Added.
* storage/indexeddb/resources/dont-commit-on-blocked-worker.js: Added.
(request.onsuccess):
(onSetVersionBlocked):
(onSetVersionSuccess):
(onTransactionComplete):

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

9 years agorun-webkit-tests needs to set DYLD_LIBRARY_PATH as well
simon.fraser@apple.com [Fri, 30 Mar 2012 23:00:46 +0000 (23:00 +0000)]
run-webkit-tests needs to set DYLD_LIBRARY_PATH as well
as DYLD_FRAMEWORK_PATH, so that libWebCoreTestSupport.dylib
is found.

<rdar://problem/11158581>

Reviewed by Mark Rowe.

* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitDriver._start):

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

9 years agoSkip another cookie test. Tracked by
simon.fraser@apple.com [Fri, 30 Mar 2012 23:00:38 +0000 (23:00 +0000)]
Skip another cookie test. Tracked by
https://bugs.webkit.org/show_bug.cgi?id=82749

* platform/mac/Skipped:

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

9 years agoCleanup a bunch of useless junk that's accumulated over time.
ojan@chromium.org [Fri, 30 Mar 2012 22:49:31 +0000 (22:49 +0000)]
Cleanup a bunch of useless junk that's accumulated over time.
Also delete comments that add no value.

* platform/chromium/test_expectations.txt:

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

9 years agoAdd a compile assert for the size of FontDescription
rniwa@webkit.org [Fri, 30 Mar 2012 22:36:08 +0000 (22:36 +0000)]
Add a compile assert for the size of FontDescription
https://bugs.webkit.org/show_bug.cgi?id=82786

Reviewed by Eric Seidel.

Added the assertion. Also converted a couple of boolean bitfields to unsinged.
I've verified that the conversions are safe (they're only used in FontDescription.h/cpp).

* platform/graphics/FontDescription.cpp:
(SameSizeAsFontDescription):
(WebCore):
* platform/graphics/FontDescription.h:
(FontDescription):

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

9 years agoRoll chromium DEPS from 129593 to 129574.
dpranke@chromium.org [Fri, 30 Mar 2012 22:32:48 +0000 (22:32 +0000)]
Roll chromium DEPS from 129593 to 129574.

Unreviewed.

* DEPS:

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

9 years agoDisable run-api-tests on release mac builds
simon.fraser@apple.com [Fri, 30 Mar 2012 22:27:03 +0000 (22:27 +0000)]
Disable run-api-tests on release mac builds
https://bugs.webkit.org/show_bug.cgi?id=82788

Reviewed by Ryosuke Niwa.

TestWebKitAPI crashes every time in release builds currently
(https://bugs.webkit.org/show_bug.cgi?id=82652) so disable
run-api-tests on mac release builders.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(unitTestsSupported):

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

9 years ago[EFL] Correct <wtf/*.h> include paths.
paroga@webkit.org [Fri, 30 Mar 2012 22:24:51 +0000 (22:24 +0000)]
[EFL] Correct <wtf/*.h> include paths.
https://bugs.webkit.org/show_bug.cgi?id=82741

Reviewed by Andreas Kling.

Modify the #include declarations for several EFL-related files
so that the wtf types are included using the full path.

* ewk/ewk_frame.cpp:
* ewk/ewk_tiled_backing_store.cpp:
(_Ewk_Tiled_Backing_Store_Item):
* ewk/ewk_tiled_matrix.cpp:

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

9 years agoMove CPP files related to ResourceHandle to WebCore/platform
abarth@webkit.org [Fri, 30 Mar 2012 22:23:26 +0000 (22:23 +0000)]
Move CPP files related to ResourceHandle to WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=82582

Reviewed by James Robinson.

Source/WebCore:

Re-land a tiny piece of http://trac.webkit.org/changeset/112572 in the
hopes of not breaking the component build this time.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.

Source/WebKit/chromium:

* WebKit.gyp:
* src/WebData.cpp: Removed.

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

9 years agoKill CSSTimingFunctionValue.
kling@webkit.org [Fri, 30 Mar 2012 22:21:43 +0000 (22:21 +0000)]
Kill CSSTimingFunctionValue.
<http://webkit.org/b/82787>

Reviewed by Antti Koivisto.

Remove CSSTimingFunctionValue and let the 3 subclasses inherit directly from CSSValue.
CSSTimingFunctionValue is a pointless middle-man class that adds nothing.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSTimingFunctionValue.h:
(WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
(WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
(WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
* css/CSSValue.h:
(WebCore::CSSValue::isCubicBezierTimingFunctionValue):
(WebCore::CSSValue::isLinearTimingFunctionValue):
(WebCore::CSSValue::isStepsTimingFunctionValue):

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

9 years ago[chromium] Bump max texture updates per frame to 48
nduca@chromium.org [Fri, 30 Mar 2012 21:44:56 +0000 (21:44 +0000)]
[chromium] Bump max texture updates per frame to 48
https://bugs.webkit.org/show_bug.cgi?id=82779

Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WTF):

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

9 years agoMerge FrameLoader::finishedLoading() into DocumentLoader::finishedLoading().
japhet@chromium.org [Fri, 30 Mar 2012 21:42:01 +0000 (21:42 +0000)]
Merge FrameLoader::finishedLoading() into DocumentLoader::finishedLoading().
https://bugs.webkit.org/show_bug.cgi?id=82653

Reviewed by Adam Barth.

No new tests, no functionality change intended.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading):
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didFinishLoading):

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

9 years agoCache origin check result to RuleData
antti@apple.com [Fri, 30 Mar 2012 21:23:35 +0000 (21:23 +0000)]
Cache origin check result to RuleData
https://bugs.webkit.org/show_bug.cgi?id=82774

Reviewed by Andreas Kling.

You wan't be able to get back to the stylesheet from a css style rule soon.
We need to do the origin check when we know the sheet it came from.

* css/CSSStyleSelector.cpp:
(RuleData):
(WebCore::RuleData::hasDocumentSecurityOrigin):
(RuleSet):
(WebCore::makeRuleSet):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSStyleSelector.h:
(WebCore::CSSStyleSelector::RuleFeature::RuleFeature):
(RuleFeature):
(Features):

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

9 years agoRemove deadcode behind "SafeSkia" flag
reed@google.com [Fri, 30 Mar 2012 21:16:40 +0000 (21:16 +0000)]
Remove deadcode behind "SafeSkia" flag
https://bugs.webkit.org/show_bug.cgi?id=82771

Reviewed by Stephen White.

Just removing dead code (behind obsolete build flag), existing webkit tests apply

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::canvasClip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::clipConvexPolygon):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::platformFillEllipse):
(WebCore::GraphicsContext::platformStrokeEllipse):

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

9 years agoAdd a compile assert for the size of InlineFlowBox
rniwa@webkit.org [Fri, 30 Mar 2012 21:14:26 +0000 (21:14 +0000)]
Add a compile assert for the size of InlineFlowBox
https://bugs.webkit.org/show_bug.cgi?id=82767

Reviewed by Tony Chang.

Add a compile assert to ensure InlineFlowBox stays small.
Also make some of the member variables not used in RootInlineBox private.

Changing these booleans to unsigned is safe as I've audited all code that
uses these member variables (they're all in InlineFlowBox or RootInlineBox).

* rendering/InlineFlowBox.cpp:
(SameSizeAsInlineFlowBox):
(WebCore):
* rendering/InlineFlowBox.h:
(InlineFlowBox):

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

9 years agoUnreviewed, new baseline.
dpranke@chromium.org [Fri, 30 Mar 2012 21:11:54 +0000 (21:11 +0000)]
Unreviewed, new baseline.

* platform/chromium-win/svg/text/text-align-05-b-expected.txt:
* platform/chromium/test_expectations.txt:

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

9 years agoFix defective size_t overflow in GestureTapHighlighter.
commit-queue@webkit.org [Fri, 30 Mar 2012 20:55:48 +0000 (20:55 +0000)]
Fix defective size_t overflow in GestureTapHighlighter.
https://bugs.webkit.org/show_bug.cgi?id=82605

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-03-30
Reviewed by Kenneth Rohde Christiansen.

.:

* ManualTests/tap-gesture-in-iframe-with-tap-highlight-crash.html: Added.

Source/WebCore:

In pathForRenderer, the for loop has 'i < rects().size() - 1' as test expression,
where rects().size() returns with size_t.
In case of empty rect, it leads to unsigned int overflow. Overflow value makes
the associated for loop run with invalid values.
Fix it by making loop variable int and stop using size_t type in the test expression.
Also, return early, if no focus ring found.

Manual test added. Tap gesture highlighter is getting triggered by UI process.

* page/GestureTapHighlighter.cpp:

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

9 years agoFix Lion build.
andersca@apple.com [Fri, 30 Mar 2012 20:55:47 +0000 (20:55 +0000)]
Fix Lion build.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):

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

9 years ago[BlackBerry] Speed up processing of Selection region generation.
mifenton@rim.com [Fri, 30 Mar 2012 20:51:30 +0000 (20:51 +0000)]
[BlackBerry] Speed up processing of Selection region generation.
https://bugs.webkit.org/show_bug.cgi?id=82766

Reviewed by Rob Buis.

PR 136593.

Refactor generation of Selection IntRectRegion to avoid
the need for IntRectRegion's helper functions which were
not available when using it as a container without
unioning the rects.

This greatly speeds up rendering by maintaining the distinct
rects as the union operation was length with large numbers of
rects.

Reviewed Internally by Gen Mak, Mike Lattanzio and Tyler Abbott.

* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::visibleTextQuads):
(DOMSupport):
* WebKitSupport/DOMSupport.h:
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::clippingRectForVisibleContent):
(BlackBerry::WebKit::SelectionHandler::regionForTextQuads):
(BlackBerry::WebKit::SelectionHandler::setSelection):
(WebKit):
(BlackBerry::WebKit::regionRectListContainsPoint):
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
* WebKitSupport/SelectionHandler.h:
(WebCore):
(SelectionHandler):

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