From f5e4ad553afbc08dd2e729bb77e937a9a94d5827 Mon Sep 17 00:00:00 2001 From: "Torne (Richard Coles)" Date: Mon, 5 Aug 2013 13:57:57 +0100 Subject: Merge from Chromium at DEPS revision r215573 This commit was generated by merge_to_master.py. Change-Id: I07a9d4f856da71a9fb8fcd4d688596ef141bf5a3 --- Source/web/ContextFeaturesClientImpl.cpp | 2 - Source/web/EditorClientImpl.cpp | 4 +- Source/web/FrameLoaderClientImpl.cpp | 16 +- Source/web/FrameLoaderClientImpl.h | 1 - Source/web/FullscreenController.cpp | 185 +++++++ Source/web/FullscreenController.h | 79 +++ Source/web/InspectorFrontendClientImpl.cpp | 15 + Source/web/InspectorFrontendClientImpl.h | 3 + Source/web/ScrollbarGroup.cpp | 35 +- Source/web/ScrollbarGroup.h | 3 +- Source/web/WebDocument.cpp | 6 +- Source/web/WebElement.cpp | 16 + Source/web/WebFontImpl.cpp | 29 -- Source/web/WebFontImpl.h | 3 - Source/web/WebHelperPluginImpl.cpp | 5 +- Source/web/WebInputEventConversion.cpp | 6 +- Source/web/WebKitUnitTests.isolate | 1 - Source/web/WebMIDIPermissionRequest.cpp | 5 + Source/web/WebNotification.cpp | 10 +- Source/web/WebPluginScrollbarImpl.cpp | 2 - Source/web/WebSecurityPolicy.cpp | 5 - Source/web/WebSurroundingText.cpp | 2 +- Source/web/WebViewImpl.cpp | 299 ++++------- Source/web/WebViewImpl.h | 46 +- Source/web/blink_common.target.darwin-arm.mk | 358 +++++++++++++ Source/web/blink_common.target.darwin-mips.mk | 354 +++++++++++++ Source/web/blink_common.target.darwin-x86.mk | 358 +++++++++++++ Source/web/blink_common.target.linux-arm.mk | 358 +++++++++++++ Source/web/blink_common.target.linux-mips.mk | 354 +++++++++++++ Source/web/blink_common.target.linux-x86.mk | 358 +++++++++++++ Source/web/linux/WebFontInfo.cpp | 240 ++++++--- Source/web/tests/ArenaTestHelpers.h | 79 --- Source/web/tests/GraphicsLayerTest.cpp | 8 +- Source/web/tests/IDBRequestTest.cpp | 196 ------- Source/web/tests/IDBTransactionTest.cpp | 155 ------ Source/web/tests/PODArenaTest.cpp | 106 ---- Source/web/tests/PODIntervalTreeTest.cpp | 356 ------------- Source/web/tests/PODRedBlackTreeTest.cpp | 214 -------- Source/web/tests/ScrollAnimatorNoneTest.cpp | 5 +- Source/web/tests/TreeTestHelpers.cpp | 60 --- Source/web/tests/TreeTestHelpers.h | 53 -- Source/web/tests/WebFrameTest.cpp | 135 ++++- Source/web/tests/WebInputEventConversionTest.cpp | 8 +- Source/web/tests/WebInputEventFactoryTestGtk.cpp | 2 +- Source/web/tests/WebViewTest.cpp | 25 + Source/web/web.gyp | 320 ++++++++++++ Source/web/web.gypi | 10 +- Source/web/web_tests.gyp | 164 ++++++ Source/web/webkit.target.darwin-arm.mk | 622 +++++++++++++++++++++++ Source/web/webkit.target.darwin-mips.mk | 616 ++++++++++++++++++++++ Source/web/webkit.target.darwin-x86.mk | 622 +++++++++++++++++++++++ Source/web/webkit.target.linux-arm.mk | 622 +++++++++++++++++++++++ Source/web/webkit.target.linux-mips.mk | 616 ++++++++++++++++++++++ Source/web/webkit.target.linux-x86.mk | 622 +++++++++++++++++++++++ 54 files changed, 7149 insertions(+), 1625 deletions(-) create mode 100644 Source/web/FullscreenController.cpp create mode 100644 Source/web/FullscreenController.h create mode 100644 Source/web/blink_common.target.darwin-arm.mk create mode 100644 Source/web/blink_common.target.darwin-mips.mk create mode 100644 Source/web/blink_common.target.darwin-x86.mk create mode 100644 Source/web/blink_common.target.linux-arm.mk create mode 100644 Source/web/blink_common.target.linux-mips.mk create mode 100644 Source/web/blink_common.target.linux-x86.mk delete mode 100644 Source/web/tests/ArenaTestHelpers.h delete mode 100644 Source/web/tests/IDBRequestTest.cpp delete mode 100644 Source/web/tests/IDBTransactionTest.cpp delete mode 100644 Source/web/tests/PODArenaTest.cpp delete mode 100644 Source/web/tests/PODIntervalTreeTest.cpp delete mode 100644 Source/web/tests/PODRedBlackTreeTest.cpp delete mode 100644 Source/web/tests/TreeTestHelpers.cpp delete mode 100644 Source/web/tests/TreeTestHelpers.h create mode 100644 Source/web/web.gyp create mode 100644 Source/web/web_tests.gyp create mode 100644 Source/web/webkit.target.darwin-arm.mk create mode 100644 Source/web/webkit.target.darwin-mips.mk create mode 100644 Source/web/webkit.target.darwin-x86.mk create mode 100644 Source/web/webkit.target.linux-arm.mk create mode 100644 Source/web/webkit.target.linux-mips.mk create mode 100644 Source/web/webkit.target.linux-x86.mk (limited to 'Source/web') diff --git a/Source/web/ContextFeaturesClientImpl.cpp b/Source/web/ContextFeaturesClientImpl.cpp index 86c489e2e..4fc801b7a 100644 --- a/Source/web/ContextFeaturesClientImpl.cpp +++ b/Source/web/ContextFeaturesClientImpl.cpp @@ -141,8 +141,6 @@ bool ContextFeaturesClientImpl::askIfIsEnabled(Document* document, ContextFeatur switch (type) { case ContextFeatures::StyleScoped: return m_client->allowWebComponents(WebDocument(document), defaultValue); - case ContextFeatures::HTMLNotifications: - return m_client->allowHTMLNotifications(WebDocument(document)); case ContextFeatures::MutationEvents: return m_client->allowMutationEvents(WebDocument(document), defaultValue); case ContextFeatures::PushState: diff --git a/Source/web/EditorClientImpl.cpp b/Source/web/EditorClientImpl.cpp index 3f0ec5ee5..7b1741f74 100644 --- a/Source/web/EditorClientImpl.cpp +++ b/Source/web/EditorClientImpl.cpp @@ -100,7 +100,7 @@ bool EditorClientImpl::isSelectTrailingWhitespaceEnabled() bool EditorClientImpl::shouldSpellcheckByDefault() { // Spellcheck should be enabled for all editable areas (such as textareas, - // contentEditable regions, and designMode docs), except text inputs. + // contentEditable regions, designMode docs and inputs). const Frame* frame = m_webView->focusedWebCoreFrame(); if (!frame) return false; @@ -125,7 +125,7 @@ bool EditorClientImpl::shouldSpellcheckByDefault() if (!renderer) return false; - return !renderer->isTextField(); + return true; } bool EditorClientImpl::isContinuousSpellCheckingEnabled() diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp index 38de0cd65..8aa25afdd 100644 --- a/Source/web/FrameLoaderClientImpl.cpp +++ b/Source/web/FrameLoaderClientImpl.cpp @@ -352,12 +352,6 @@ void FrameLoaderClientImpl::dispatchDidReceiveServerRedirectForProvisionalLoad() m_webFrame->client()->didReceiveServerRedirectForProvisionalLoad(m_webFrame); } -void FrameLoaderClientImpl::dispatchDidCompleteClientRedirect(const KURL& sourceURL) -{ - if (m_webFrame->client()) - m_webFrame->client()->didCompleteClientRedirect(m_webFrame, sourceURL); -} - void FrameLoaderClientImpl::dispatchDidNavigateWithinPage() { bool isNewNavigation; @@ -464,18 +458,22 @@ void FrameLoaderClientImpl::dispatchDidLayout(LayoutMilestones milestones) m_webFrame->client()->didFirstVisuallyNonEmptyLayout(m_webFrame); } -NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const ResourceRequest& request, NavigationType type, NavigationPolicy policy, bool isRedirect) +NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const ResourceRequest& request, NavigationType type, NavigationPolicy policy, bool /*isRedirect*/) { if (!m_webFrame->client()) return NavigationPolicyIgnore; - if (!m_webFrame->provisionalDataSource()) + // FIXME: We need to pull isRedirect off of provisionalDataSourceImpl() for compat reasons, + // but it seems wrong, since the request that triggered this policy check might not be the + // provisional data source. + WebDataSourceImpl* ds = m_webFrame->provisionalDataSourceImpl(); + if (!ds) return policy; WrappedResourceRequest webRequest(request); WebNavigationPolicy webPolicy = m_webFrame->client()->decidePolicyForNavigation( - m_webFrame, webRequest, WebDataSourceImpl::toWebNavigationType(type), static_cast(policy), isRedirect); + m_webFrame, webRequest, WebDataSourceImpl::toWebNavigationType(type), static_cast(policy), ds->isRedirect()); return static_cast(webPolicy); } diff --git a/Source/web/FrameLoaderClientImpl.h b/Source/web/FrameLoaderClientImpl.h index 0de50fe98..a8dfee800 100644 --- a/Source/web/FrameLoaderClientImpl.h +++ b/Source/web/FrameLoaderClientImpl.h @@ -81,7 +81,6 @@ public: virtual void dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length); virtual void dispatchDidHandleOnloadEvents(); virtual void dispatchDidReceiveServerRedirectForProvisionalLoad(); - virtual void dispatchDidCompleteClientRedirect(const WebCore::KURL&); virtual void dispatchDidNavigateWithinPage(); virtual void dispatchDidChangeLocationWithinPage(); virtual void dispatchWillClose(); diff --git a/Source/web/FullscreenController.cpp b/Source/web/FullscreenController.cpp new file mode 100644 index 000000000..6268f88b8 --- /dev/null +++ b/Source/web/FullscreenController.cpp @@ -0,0 +1,185 @@ +/* + * Copyright (C) 2013 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "FullscreenController.h" + +#include "WebFrame.h" +#include "WebViewClient.h" +#include "WebViewImpl.h" +#include "core/dom/Document.h" +#include "core/dom/FullscreenElementStack.h" +#include "core/html/HTMLMediaElement.h" +#include "core/page/Frame.h" + +using namespace WebCore; + +namespace WebKit { + +PassOwnPtr FullscreenController::create(WebViewImpl* webViewImpl) +{ + return adoptPtr(new FullscreenController(webViewImpl)); +} + +FullscreenController::FullscreenController(WebViewImpl* webViewImpl) + : m_webViewImpl(webViewImpl) + , m_exitFullscreenPageScaleFactor(0) + , m_isCancelingFullScreen(false) +{ +} + +void FullscreenController::willEnterFullScreen() +{ + if (!m_provisionalFullScreenElement) + return; + + // Ensure that this element's document is still attached. + Document* doc = m_provisionalFullScreenElement->document(); + if (doc->frame()) { + FullscreenElementStack::from(doc)->webkitWillEnterFullScreenForElement(m_provisionalFullScreenElement.get()); + m_fullScreenFrame = doc->frame(); + } + m_provisionalFullScreenElement.clear(); +} + +void FullscreenController::didEnterFullScreen() +{ + if (!m_fullScreenFrame) + return; + + if (Document* doc = m_fullScreenFrame->document()) { + if (FullscreenElementStack::isFullScreen(doc)) { + if (!m_exitFullscreenPageScaleFactor) { + m_exitFullscreenPageScaleFactor = m_webViewImpl->pageScaleFactor(); + m_exitFullscreenScrollOffset = m_webViewImpl->mainFrame()->scrollOffset(); + m_webViewImpl->setPageScaleFactorPreservingScrollOffset(1.0f); + } + + FullscreenElementStack::from(doc)->webkitDidEnterFullScreenForElement(0); + } + } +} + +void FullscreenController::willExitFullScreen() +{ + if (!m_fullScreenFrame) + return; + + if (Document* doc = m_fullScreenFrame->document()) { + FullscreenElementStack* fullscreen = FullscreenElementStack::fromIfExists(doc); + if (!fullscreen) + return; + if (fullscreen->isFullScreen(doc)) { + // When the client exits from full screen we have to call webkitCancelFullScreen to + // notify the document. While doing that, suppress notifications back to the client. + m_isCancelingFullScreen = true; + fullscreen->webkitCancelFullScreen(); + m_isCancelingFullScreen = false; + fullscreen->webkitWillExitFullScreenForElement(0); + } + } +} + +void FullscreenController::didExitFullScreen() +{ + if (!m_fullScreenFrame) + return; + + if (Document* doc = m_fullScreenFrame->document()) { + if (FullscreenElementStack* fullscreen = FullscreenElementStack::fromIfExists(doc)) { + if (fullscreen->webkitIsFullScreen()) { + if (m_exitFullscreenPageScaleFactor) { + m_webViewImpl->setPageScaleFactor(m_exitFullscreenPageScaleFactor, + WebPoint(m_exitFullscreenScrollOffset.width(), m_exitFullscreenScrollOffset.height())); + m_exitFullscreenPageScaleFactor = 0; + m_exitFullscreenScrollOffset = IntSize(); + } + + fullscreen->webkitDidExitFullScreenForElement(0); + } + } + } + + m_fullScreenFrame.clear(); +} + +void FullscreenController::enterFullScreenForElement(WebCore::Element* element) +{ + // We are already transitioning to fullscreen for a different element. + if (m_provisionalFullScreenElement) { + m_provisionalFullScreenElement = element; + return; + } + + // We are already in fullscreen mode. + if (m_fullScreenFrame) { + m_provisionalFullScreenElement = element; + willEnterFullScreen(); + didEnterFullScreen(); + return; + } + +#if USE(NATIVE_FULLSCREEN_VIDEO) + if (element && element->isMediaElement()) { + HTMLMediaElement* mediaElement = toMediaElement(element); + if (mediaElement->player() && mediaElement->player()->canEnterFullscreen()) { + mediaElement->player()->enterFullscreen(); + m_provisionalFullScreenElement = element; + } + return; + } +#endif + + // We need to transition to fullscreen mode. + if (WebViewClient* client = m_webViewImpl->client()) { + if (client->enterFullScreen()) + m_provisionalFullScreenElement = element; + } +} + +void FullscreenController::exitFullScreenForElement(WebCore::Element* element) +{ + // The client is exiting full screen, so don't send a notification. + if (m_isCancelingFullScreen) + return; +#if USE(NATIVE_FULLSCREEN_VIDEO) + if (element && element->isMediaElement()) { + HTMLMediaElement* mediaElement = static_cast(element); + if (mediaElement->player()) + mediaElement->player()->exitFullscreen(); + return; + } +#endif + if (WebViewClient* client = m_webViewImpl->client()) + client->exitFullScreen(); +} + +} + diff --git a/Source/web/FullscreenController.h b/Source/web/FullscreenController.h new file mode 100644 index 000000000..c0d3edc59 --- /dev/null +++ b/Source/web/FullscreenController.h @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2013 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef FullscreenController_h +#define FullscreenController_h + +#include "core/platform/graphics/IntSize.h" +#include "wtf/PassOwnPtr.h" +#include "wtf/RefPtr.h" + +namespace WebCore { +class Element; +class Frame; +} + +namespace WebKit { +class WebViewImpl; + +class FullscreenController { +public: + static PassOwnPtr create(WebViewImpl*); + + void willEnterFullScreen(); + void didEnterFullScreen(); + void willExitFullScreen(); + void didExitFullScreen(); + + void enterFullScreenForElement(WebCore::Element*); + void exitFullScreenForElement(WebCore::Element*); + +protected: + explicit FullscreenController(WebViewImpl*); + +private: + WebViewImpl* m_webViewImpl; + + float m_exitFullscreenPageScaleFactor; + WebCore::IntSize m_exitFullscreenScrollOffset; + + // If set, the WebView is transitioning to fullscreen for this element. + RefPtr m_provisionalFullScreenElement; + + // If set, the WebView is in fullscreen mode for an element in this frame. + RefPtr m_fullScreenFrame; + + bool m_isCancelingFullScreen; +}; + +} + +#endif + diff --git a/Source/web/InspectorFrontendClientImpl.cpp b/Source/web/InspectorFrontendClientImpl.cpp index f5f63f75e..c5ebdab8c 100644 --- a/Source/web/InspectorFrontendClientImpl.cpp +++ b/Source/web/InspectorFrontendClientImpl.cpp @@ -137,6 +137,21 @@ void InspectorFrontendClientImpl::requestFileSystems() m_client->requestFileSystems(); } +void InspectorFrontendClientImpl::indexPath(int requestId, const String& fileSystemPath) +{ + m_client->indexPath(requestId, fileSystemPath); +} + +void InspectorFrontendClientImpl::stopIndexing(int requestId) +{ + m_client->stopIndexing(requestId); +} + +void InspectorFrontendClientImpl::searchInPath(int requestId, const String& fileSystemPath, const String& query) +{ + m_client->searchInPath(requestId, fileSystemPath, query); +} + void InspectorFrontendClientImpl::addFileSystem() { m_client->addFileSystem(); diff --git a/Source/web/InspectorFrontendClientImpl.h b/Source/web/InspectorFrontendClientImpl.h index 2eedeb485..2f9c0c48e 100644 --- a/Source/web/InspectorFrontendClientImpl.h +++ b/Source/web/InspectorFrontendClientImpl.h @@ -73,6 +73,9 @@ public: virtual void requestFileSystems(); virtual void addFileSystem(); virtual void removeFileSystem(const String& fileSystemPath); + virtual void indexPath(int requestId, const String& fileSystemPath); + virtual void stopIndexing(int requestId); + virtual void searchInPath(int requestId, const String& fileSystemPath, const String& query); virtual bool isUnderTest(); diff --git a/Source/web/ScrollbarGroup.cpp b/Source/web/ScrollbarGroup.cpp index 3fa766eb8..f44ec53d6 100644 --- a/Source/web/ScrollbarGroup.cpp +++ b/Source/web/ScrollbarGroup.cpp @@ -100,14 +100,6 @@ int ScrollbarGroup::scrollSize(WebCore::ScrollbarOrientation orientation) const return scrollbar->totalSize() - scrollbar->visibleSize(); } -int ScrollbarGroup::scrollPosition(Scrollbar* scrollbar) const -{ - WebPluginScrollbarImpl* webScrollbar = scrollbar->orientation() == HorizontalScrollbar ? m_horizontalScrollbar : m_verticalScrollbar; - if (!webScrollbar) - return 0; - return webScrollbar->scrollOffset(); -} - void ScrollbarGroup::setScrollOffset(const IntPoint& offset) { if (m_horizontalScrollbar && m_horizontalScrollbar->scrollOffset() != offset.x()) @@ -268,4 +260,31 @@ bool ScrollbarGroup::scrollbarsCanBeActive() const return true; } +bool ScrollbarGroup::userInputScrollable(ScrollbarOrientation orientation) const +{ + return orientation == HorizontalScrollbar ? horizontalScrollbar() : verticalScrollbar(); +} + +int ScrollbarGroup::pageStep(ScrollbarOrientation orientation) const +{ + int length; + if (orientation == VerticalScrollbar) { + if (!m_verticalScrollbar) + return 0; + + length = m_verticalScrollbar->scrollbar()->height(); + } else { + if (!m_horizontalScrollbar) + return 0; + + length = m_horizontalScrollbar->scrollbar()->width(); + } + + int pageStep = std::max( + static_cast(static_cast(length) * ScrollableArea::minFractionToStepWhenPaging()), + length - ScrollableArea::maxOverlapBetweenPages()); + + return std::max(pageStep, 1); +} + } // namespace WebKit diff --git a/Source/web/ScrollbarGroup.h b/Source/web/ScrollbarGroup.h index 9159e4049..838338044 100644 --- a/Source/web/ScrollbarGroup.h +++ b/Source/web/ScrollbarGroup.h @@ -50,7 +50,6 @@ public: // WebCore::ScrollableArea methods virtual int scrollSize(WebCore::ScrollbarOrientation) const OVERRIDE; - virtual int scrollPosition(WebCore::Scrollbar*) const OVERRIDE; virtual void setScrollOffset(const WebCore::IntPoint&) OVERRIDE; virtual void invalidateScrollbarRect(WebCore::Scrollbar*, const WebCore::IntRect&) OVERRIDE; virtual void invalidateScrollCornerRect(const WebCore::IntRect&) OVERRIDE; @@ -74,6 +73,8 @@ public: virtual void scrollbarStyleChanged(int newStyle, bool forceUpdate) OVERRIDE; virtual bool scrollbarsCanBeActive() const OVERRIDE; virtual WebCore::IntRect scrollableAreaBoundingBox() const OVERRIDE; + virtual bool userInputScrollable(WebCore::ScrollbarOrientation) const OVERRIDE; + virtual int pageStep(WebCore::ScrollbarOrientation) const OVERRIDE; private: WebCore::FrameView* m_frameView; diff --git a/Source/web/WebDocument.cpp b/Source/web/WebDocument.cpp index fcd8c01cd..b19970b47 100644 --- a/Source/web/WebDocument.cpp +++ b/Source/web/WebDocument.cpp @@ -48,7 +48,7 @@ #include "core/dom/DocumentStyleSheetCollection.h" #include "core/dom/DocumentType.h" #include "core/dom/Element.h" -#include "core/dom/FullscreenController.h" +#include "core/dom/FullscreenElementStack.h" #include "core/dom/NodeList.h" #include "core/html/HTMLAllCollection.h" #include "core/html/HTMLBodyElement.h" @@ -210,14 +210,14 @@ void WebDocument::insertUserStyleSheet(const WebString& sourceCode, UserStyleLev void WebDocument::cancelFullScreen() { - if (FullscreenController* fullscreen = FullscreenController::fromIfExists(unwrap())) + if (FullscreenElementStack* fullscreen = FullscreenElementStack::fromIfExists(unwrap())) fullscreen->webkitCancelFullScreen(); } WebElement WebDocument::fullScreenElement() const { Element* fullScreenElement = 0; - if (FullscreenController* fullscreen = FullscreenController::fromIfExists(const_cast(this)->unwrap())) + if (FullscreenElementStack* fullscreen = FullscreenElementStack::fromIfExists(const_cast(this)->unwrap())) fullScreenElement = fullscreen->webkitCurrentFullScreenElement(); return WebElement(fullScreenElement); } diff --git a/Source/web/WebElement.cpp b/Source/web/WebElement.cpp index 2dbf4fcde..c4f5f4dc9 100644 --- a/Source/web/WebElement.cpp +++ b/Source/web/WebElement.cpp @@ -152,6 +152,22 @@ WebRect WebElement::boundsInViewportSpace() return unwrap()->boundsInRootViewSpace(); } +WebImage WebElement::imageContents() +{ + if (isNull()) + return WebImage(); + + WebCore::Image* image = unwrap()->imageContents(); + if (!image) + return WebImage(); + + RefPtr bitmap = image->nativeImageForCurrentFrame(); + if (!bitmap) + return WebImage(); + + return bitmap->bitmap(); +} + WebElement::WebElement(const PassRefPtr& elem) : WebNode(elem) { diff --git a/Source/web/WebFontImpl.cpp b/Source/web/WebFontImpl.cpp index 59f06ff04..cc04c69c5 100644 --- a/Source/web/WebFontImpl.cpp +++ b/Source/web/WebFontImpl.cpp @@ -107,24 +107,6 @@ void WebFontImpl::drawText(WebCanvas* canvas, const WebTextRun& run, const WebFl gc.clip(textClipRect); m_font.drawText(&gc, runInfo, leftBaseline); gc.restore(); - -#if defined(WIN32) - if (canvasIsOpaque && SkColorGetA(color) == 0xFF && !canvas->isDrawingToLayer()) { - // The text drawing logic on Windows ignores the alpha component - // intentionally, for performance reasons. - // (Please see TransparencyAwareFontPainter::initializeForGDI in - // FontChromiumWin.cpp.) - const SkBitmap& bitmap = canvas->getTopDevice()->accessBitmap(true); - IntRect textBounds = estimateTextBounds(run, leftBaseline); - IntRect destRect = gc.getCTM().mapRect(textBounds); - destRect.intersect(IntRect(0, 0, bitmap.width(), bitmap.height())); - for (int y = destRect.y(), maxY = destRect.maxY(); y < maxY; y++) { - uint32_t* row = bitmap.getAddr32(0, y); - for (int x = destRect.x(), maxX = destRect.maxX(); x < maxX; x++) - row[x] |= (0xFF << SK_A32_SHIFT); - } - } -#endif } int WebFontImpl::calculateWidth(const WebTextRun& run) const @@ -145,15 +127,4 @@ WebFloatRect WebFontImpl::selectionRectForText(const WebTextRun& run, const WebF return m_font.selectionRectForText(run, leftBaseline, height, from, to); } -WebRect WebFontImpl::estimateTextBounds(const WebTextRun& run, const WebFloatPoint& leftBaseline) const -{ - FontCachePurgePreventer fontCachePurgePreventer; - int totalWidth = m_font.width(run, 0); - const WebCore::FontMetrics& fontMetrics = m_font.fontMetrics(); - return WebRect(leftBaseline.x - (fontMetrics.ascent() + fontMetrics.descent()) / 2, - leftBaseline.y - fontMetrics.ascent() - fontMetrics.lineGap(), - totalWidth + fontMetrics.ascent() + fontMetrics.descent(), - fontMetrics.lineSpacing()); -} - } // namespace WebKit diff --git a/Source/web/WebFontImpl.h b/Source/web/WebFontImpl.h index aba6f6ce1..9142c2d15 100644 --- a/Source/web/WebFontImpl.h +++ b/Source/web/WebFontImpl.h @@ -58,9 +58,6 @@ public: int height, int from = 0, int to = -1) const; private: - // Estimates the bounding box of the given text. - WebRect estimateTextBounds(const WebTextRun&, const WebFloatPoint& leftBaseline) const; - WebCore::Font m_font; }; diff --git a/Source/web/WebHelperPluginImpl.cpp b/Source/web/WebHelperPluginImpl.cpp index 5a0592904..028f52200 100644 --- a/Source/web/WebHelperPluginImpl.cpp +++ b/Source/web/WebHelperPluginImpl.cpp @@ -186,8 +186,7 @@ bool WebHelperPluginImpl::initializePage(const String& pluginType, const WebDocu pageClients.chromeClient = m_chromeClient.get(); m_page = adoptPtr(new Page(pageClients)); - // Scripting must be enabled in ScriptController::windowScriptNPObject(). - m_page->settings()->setScriptEnabled(true); + ASSERT(!m_page->settings()->isScriptEnabled()); m_page->settings()->setPluginsEnabled(true); unsigned layoutMilestones = DidFirstLayout | DidFirstVisuallyNonEmptyLayout; @@ -198,7 +197,7 @@ bool WebHelperPluginImpl::initializePage(const String& pluginType, const WebDocu // The page's main frame was set in initializeFrame() as a result of the above call. Frame* frame = m_page->mainFrame(); ASSERT(frame); - frame->loader()->forceSandboxFlags(SandboxAll & ~SandboxPlugins & ~SandboxScripts); + frame->loader()->forceSandboxFlags(SandboxAll & ~SandboxPlugins); frame->setView(FrameView::create(frame)); // No need to set a size or make it not transparent. diff --git a/Source/web/WebInputEventConversion.cpp b/Source/web/WebInputEventConversion.cpp index b61f9ad7e..c2735f786 100644 --- a/Source/web/WebInputEventConversion.cpp +++ b/Source/web/WebInputEventConversion.cpp @@ -602,11 +602,11 @@ WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event) return; // Skip all other keyboard events. modifiers = getWebInputModifiers(event); - if (event.keyLocation() == KeyboardEvent::DOMKeyLocationNumpad) + if (event.location() == KeyboardEvent::DOM_KEY_LOCATION_NUMPAD) modifiers |= WebInputEvent::IsKeyPad; - else if (event.keyLocation() == KeyboardEvent::DOMKeyLocationLeft) + else if (event.location() == KeyboardEvent::DOM_KEY_LOCATION_LEFT) modifiers |= WebInputEvent::IsLeft; - else if (event.keyLocation() == KeyboardEvent::DOMKeyLocationRight) + else if (event.location() == KeyboardEvent::DOM_KEY_LOCATION_RIGHT) modifiers |= WebInputEvent::IsRight; timeStampSeconds = event.timeStamp() / millisPerSecond; diff --git a/Source/web/WebKitUnitTests.isolate b/Source/web/WebKitUnitTests.isolate index c05b8c9d3..870cd5492 100644 --- a/Source/web/WebKitUnitTests.isolate +++ b/Source/web/WebKitUnitTests.isolate @@ -33,7 +33,6 @@ ['OS=="android"', { 'variables': { 'isolate_dependency_tracked': [ - '../../../hyphen/hyph_en_US.dic', ], 'isolate_dependency_untracked': [ 'tests/data/', diff --git a/Source/web/WebMIDIPermissionRequest.cpp b/Source/web/WebMIDIPermissionRequest.cpp index 8d663aa66..869fa2ced 100644 --- a/Source/web/WebMIDIPermissionRequest.cpp +++ b/Source/web/WebMIDIPermissionRequest.cpp @@ -50,6 +50,11 @@ WebMIDIPermissionRequest::WebMIDIPermissionRequest(WebCore::MIDIAccess* midi) { } +void WebMIDIPermissionRequest::reset() +{ + m_private.reset(); +} + void WebMIDIPermissionRequest::assign(const WebMIDIPermissionRequest& other) { m_private = other.m_private; diff --git a/Source/web/WebNotification.cpp b/Source/web/WebNotification.cpp index 745052e05..bc0f462f4 100644 --- a/Source/web/WebNotification.cpp +++ b/Source/web/WebNotification.cpp @@ -58,7 +58,7 @@ void WebNotification::assign(const WebNotification& other) { WebNotificationPrivate* p = const_cast(other.m_private); if (p) - p->ref(); + p->ref(); // FIXME: We should use WebPrivatePtr. assign(p); } @@ -69,30 +69,26 @@ bool WebNotification::lessThan(const WebNotification& other) const bool WebNotification::isHTML() const { - return m_private->isHTML(); + return false; } WebURL WebNotification::url() const { - ASSERT(isHTML()); - return m_private->url(); + return WebURL(); } WebURL WebNotification::iconURL() const { - ASSERT(!isHTML()); return m_private->iconURL(); } WebString WebNotification::title() const { - ASSERT(!isHTML()); return m_private->title(); } WebString WebNotification::body() const { - ASSERT(!isHTML()); return m_private->body(); } diff --git a/Source/web/WebPluginScrollbarImpl.cpp b/Source/web/WebPluginScrollbarImpl.cpp index 0085db491..514755d2f 100644 --- a/Source/web/WebPluginScrollbarImpl.cpp +++ b/Source/web/WebPluginScrollbarImpl.cpp @@ -202,8 +202,6 @@ void WebPluginScrollbarImpl::setLocation(const WebRect& rect) m_scrollbar->invalidate(); int length = m_scrollbar->orientation() == HorizontalScrollbar ? m_scrollbar->width() : m_scrollbar->height(); - int pageStep = max(max(static_cast(static_cast(length) * Scrollbar::minFractionToStepWhenPaging()), length - Scrollbar::maxOverlapBetweenPages()), 1); - m_scrollbar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep); m_scrollbar->setEnabled(m_scrollbar->totalSize() > length); m_scrollbar->setProportion(length, m_scrollbar->totalSize()); } diff --git a/Source/web/WebSecurityPolicy.cpp b/Source/web/WebSecurityPolicy.cpp index 7609b68db..caaecbadb 100644 --- a/Source/web/WebSecurityPolicy.cpp +++ b/Source/web/WebSecurityPolicy.cpp @@ -104,11 +104,6 @@ void WebSecurityPolicy::resetOriginAccessWhitelists() SecurityPolicy::resetOriginAccessWhitelists(); } -bool WebSecurityPolicy::shouldHideReferrer(const WebURL& url, const WebString& referrer) -{ - return SecurityPolicy::shouldHideReferrer(url, referrer); -} - WebString WebSecurityPolicy::generateReferrerHeader(WebReferrerPolicy referrerPolicy, const WebURL& url, const WebString& referrer) { return SecurityPolicy::generateReferrerHeader(static_cast(referrerPolicy), url, referrer); diff --git a/Source/web/WebSurroundingText.cpp b/Source/web/WebSurroundingText.cpp index cf0be1b5a..887eba737 100644 --- a/Source/web/WebSurroundingText.cpp +++ b/Source/web/WebSurroundingText.cpp @@ -45,7 +45,7 @@ void WebSurroundingText::initialize(const WebNode& webNode, const WebPoint& node if (!node || !node->renderer()) return; - m_private.reset(new SurroundingText(node->renderer()->positionForPoint(static_cast(nodePoint)), maxLength)); + m_private.reset(new SurroundingText(VisiblePosition(node->renderer()->positionForPoint(static_cast(nodePoint))), maxLength)); } WebString WebSurroundingText::textContent() const diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp index 15ddc59a5..b28411a93 100644 --- a/Source/web/WebViewImpl.cpp +++ b/Source/web/WebViewImpl.cpp @@ -52,6 +52,7 @@ #include "CompositionUnderlineVectorBuilder.h" #include "ContextFeaturesClientImpl.h" #include "DeviceOrientationClientProxy.h" +#include "FullscreenController.h" #include "GeolocationClientProxy.h" #include "GraphicsLayerFactoryChromium.h" #include "HTMLNames.h" @@ -92,7 +93,6 @@ #include "core/css/resolver/StyleResolver.h" #include "core/dom/Document.h" #include "core/dom/DocumentMarkerController.h" -#include "core/dom/FullscreenController.h" #include "core/dom/KeyboardEvent.h" #include "core/dom/NodeRenderStyle.h" #include "core/dom/Text.h" @@ -191,6 +191,9 @@ static const float doubleTapZoomContentMinimumMargin = 2; static const double doubleTapZoomAnimationDurationInSeconds = 0.25; static const float doubleTapZoomAlreadyLegibleRatio = 1.2f; +static const double multipleTargetsZoomAnimationDurationInSeconds = 0.25; +static const double findInPageAnimationDurationInSeconds = 0; + // Constants for viewport anchoring on resize. static const float viewportAnchorXCoord = 0.5f; static const float viewportAnchorYCoord = 0; @@ -381,12 +384,11 @@ WebViewImpl::WebViewImpl(WebViewClient* client) , m_minimumZoomLevel(zoomFactorToZoomLevel(minTextSizeMultiplier)) , m_maximumZoomLevel(zoomFactorToZoomLevel(maxTextSizeMultiplier)) , m_savedPageScaleFactor(0) - , m_exitFullscreenPageScaleFactor(0) , m_doubleTapZoomPageScaleFactor(0) , m_doubleTapZoomPending(false) - , m_enableFakeDoubleTapAnimationForTesting(false) - , m_fakeDoubleTapPageScaleFactor(0) - , m_fakeDoubleTapUseAnchor(false) + , m_enableFakePageScaleAnimationForTesting(false) + , m_fakePageScaleAnimationPageScaleFactor(0) + , m_fakePageScaleAnimationUseAnchor(false) , m_contextMenuAllowed(false) , m_doingDragAndDrop(false) , m_ignoreInputEvents(false) @@ -399,7 +401,6 @@ WebViewImpl::WebViewImpl(WebViewClient* client) , m_autofillPopup(0) , m_isTransparent(false) , m_tabsToLinks(false) - , m_isCancelingFullScreen(false) , m_benchmarkSupport(this) , m_layerTreeView(0) , m_rootLayer(0) @@ -423,6 +424,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client) #endif , m_flingModifier(0) , m_flingSourceDevice(false) + , m_fullscreenController(FullscreenController::create(this)) , m_showFPSCounter(false) , m_showPaintRects(false) , m_showDebugBorders(false) @@ -771,7 +773,7 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event) case WebInputEvent::GestureDoubleTap: if (m_webSettings->doubleTapToZoomEnabled() && minimumPageScaleFactor() != maximumPageScaleFactor()) { m_client->cancelScheduledContentIntents(); - animateZoomAroundPoint(platformEvent.position(), DoubleTap); + animateDoubleTapZoom(platformEvent.position()); } // GestureDoubleTap is currently only used by Android for zooming. For WebCore, // GestureTap with tap count = 2 is used instead. So we drop GestureDoubleTap here. @@ -822,10 +824,10 @@ bool WebViewImpl::startPageScaleAnimation(const IntPoint& targetPosition, bool u if (useAnchor && newScale == pageScaleFactor()) return false; - if (m_enableFakeDoubleTapAnimationForTesting) { - m_fakeDoubleTapTargetPosition = targetPosition; - m_fakeDoubleTapUseAnchor = useAnchor; - m_fakeDoubleTapPageScaleFactor = newScale; + if (m_enableFakePageScaleAnimationForTesting) { + m_fakePageScaleAnimationTargetPosition = targetPosition; + m_fakePageScaleAnimationUseAnchor = useAnchor; + m_fakePageScaleAnimationPageScaleFactor = newScale; } else { if (!m_layerTreeView) return false; @@ -834,9 +836,9 @@ bool WebViewImpl::startPageScaleAnimation(const IntPoint& targetPosition, bool u return true; } -void WebViewImpl::enableFakeDoubleTapAnimationForTesting(bool enable) +void WebViewImpl::enableFakePageScaleAnimationForTesting(bool enable) { - m_enableFakeDoubleTapAnimationForTesting = enable; + m_enableFakePageScaleAnimationForTesting = enable; } WebViewBenchmarkSupport* WebViewImpl::benchmarkSupport() @@ -1062,15 +1064,14 @@ bool WebViewImpl::handleCharEvent(const WebKeyboardEvent& event) return true; } -WebRect WebViewImpl::computeBlockBounds(const WebRect& rect, AutoZoomType zoomType) +WebRect WebViewImpl::computeBlockBounds(const WebRect& rect, bool ignoreClipping) { if (!mainFrameImpl()) return WebRect(); // Use the rect-based hit test to find the node. IntPoint point = mainFrameImpl()->frameView()->windowToContents(IntPoint(rect.x, rect.y)); - HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent - | ((zoomType == FindInPage) ? HitTestRequest::IgnoreClipping : 0); + HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent | (ignoreClipping ? HitTestRequest::IgnoreClipping : 0); HitTestResult result = mainFrameImpl()->frame()->eventHandler()->hitTestResultAtPoint(point, hitType, IntSize(rect.width, rect.height)); Node* node = result.innerNonSharedNode(); @@ -1122,21 +1123,12 @@ WebRect WebViewImpl::widenRectWithinPageBounds(const WebRect& source, int target return WebRect(newX, source.y, newWidth, source.height); } -void WebViewImpl::computeScaleAndScrollForHitRect(const WebRect& hitRect, AutoZoomType zoomType, float& scale, WebPoint& scroll, bool& isAnchor) +void WebViewImpl::computeScaleAndScrollForBlockRect(const WebRect& blockRect, float padding, float& scale, WebPoint& scroll, bool& doubleTapShouldZoomOut) { scale = pageScaleFactor(); scroll.x = scroll.y = 0; - WebRect targetRect = hitRect; - // Padding only depends on page scale when triggered by manually tapping - int padding = (zoomType == DoubleTap) ? touchPointPadding : nonUserInitiatedPointPadding; - if (targetRect.isEmpty()) - targetRect.width = targetRect.height = padding; - WebRect rect = computeBlockBounds(targetRect, zoomType); - if (zoomType == FindInPage && rect.isEmpty()) { - // Keep current scale (no need to scroll as x,y will normally already - // be visible). FIXME: Revisit this if it isn't always true. - return; - } + + WebRect rect = blockRect; bool scaleUnchanged = true; if (!rect.isEmpty()) { @@ -1173,46 +1165,40 @@ void WebViewImpl::computeScaleAndScrollForHitRect(const WebRect& hitRect, AutoZo bool stillAtPreviousDoubleTapScale = (pageScaleFactor() == m_doubleTapZoomPageScaleFactor && m_doubleTapZoomPageScaleFactor != minimumPageScaleFactor()) || m_doubleTapZoomPending; - if (zoomType == DoubleTap && (rect.isEmpty() || scaleUnchanged || stillAtPreviousDoubleTapScale)) { - // Zoom out to minimum scale. - scale = minimumPageScaleFactor(); - scroll = WebPoint(hitRect.x, hitRect.y); - isAnchor = true; + + doubleTapShouldZoomOut = rect.isEmpty() || scaleUnchanged || stillAtPreviousDoubleTapScale; + + // FIXME: If this is being called for auto zoom during find in page, + // then if the user manually zooms in it'd be nice to preserve the + // relative increase in zoom they caused (if they zoom out then it's ok + // to zoom them back in again). This isn't compatible with our current + // double-tap zoom strategy (fitting the containing block to the screen) + // though. + + float screenWidth = m_size.width / scale; + float screenHeight = m_size.height / scale; + + // Scroll to vertically align the block. + if (rect.height < screenHeight) { + // Vertically center short blocks. + rect.y -= 0.5 * (screenHeight - rect.height); } else { - // FIXME: If this is being called for auto zoom during find in page, - // then if the user manually zooms in it'd be nice to preserve the - // relative increase in zoom they caused (if they zoom out then it's ok - // to zoom them back in again). This isn't compatible with our current - // double-tap zoom strategy (fitting the containing block to the screen) - // though. - - float screenWidth = m_size.width / scale; - float screenHeight = m_size.height / scale; - - // Scroll to vertically align the block. - if (rect.height < screenHeight) { - // Vertically center short blocks. - rect.y -= 0.5 * (screenHeight - rect.height); - } else { - // Ensure position we're zooming to (+ padding) isn't off the bottom of - // the screen. - rect.y = max(rect.y, hitRect.y + padding - screenHeight); - } // Otherwise top align the block. - - // Do the same thing for horizontal alignment. - if (rect.width < screenWidth) - rect.x -= 0.5 * (screenWidth - rect.width); - else - rect.x = max(rect.x, hitRect.x + padding - screenWidth); - scroll.x = rect.x; - scroll.y = rect.y; - isAnchor = false; - } + // Ensure position we're zooming to (+ padding) isn't off the bottom of + // the screen. + rect.y = max(rect.y, blockRect.y + padding - screenHeight); + } // Otherwise top align the block. + + // Do the same thing for horizontal alignment. + if (rect.width < screenWidth) + rect.x -= 0.5 * (screenWidth - rect.width); + else + rect.x = max(rect.x, blockRect.x + padding - screenWidth); + scroll.x = rect.x; + scroll.y = rect.y; scale = clampPageScaleFactorToLimits(scale); scroll = mainFrameImpl()->frameView()->windowToContents(scroll); - if (!isAnchor) - scroll = clampOffsetAtScale(scroll, scale); + scroll = clampOffsetAtScale(scroll, scale); } static bool invokesHandCursor(Node* node, bool shiftKey, Frame* frame) @@ -1271,22 +1257,29 @@ void WebViewImpl::enableTapHighlight(const PlatformGestureEvent& tapEvent) m_linkHighlight = LinkHighlight::create(touchNode, this); } -void WebViewImpl::animateZoomAroundPoint(const IntPoint& point, AutoZoomType zoomType) +void WebViewImpl::animateDoubleTapZoom(const IntPoint& point) { if (!mainFrameImpl()) return; + WebRect rect(point.x(), point.y(), touchPointPadding, touchPointPadding); + WebRect blockBounds = computeBlockBounds(rect, false); + float scale; WebPoint scroll; - bool isAnchor; - WebPoint webPoint = point; - computeScaleAndScrollForHitRect(WebRect(webPoint.x, webPoint.y, 0, 0), zoomType, scale, scroll, isAnchor); + bool doubleTapShouldZoomOut; + + computeScaleAndScrollForBlockRect(blockBounds, touchPointPadding, scale, scroll, doubleTapShouldZoomOut); - bool isDoubleTap = (zoomType == DoubleTap); - double durationInSeconds = isDoubleTap ? doubleTapZoomAnimationDurationInSeconds : 0; - bool isAnimating = startPageScaleAnimation(scroll, isAnchor, scale, durationInSeconds); + bool isAnimating; - if (isDoubleTap && isAnimating) { + if (doubleTapShouldZoomOut) { + isAnimating = startPageScaleAnimation(mainFrameImpl()->frameView()->windowToContents(point), true, minimumPageScaleFactor(), doubleTapZoomAnimationDurationInSeconds); + } else { + isAnimating = startPageScaleAnimation(scroll, false, scale, doubleTapZoomAnimationDurationInSeconds); + } + + if (isAnimating) { m_doubleTapZoomPageScaleFactor = scale; m_doubleTapZoomPending = true; } @@ -1294,7 +1287,42 @@ void WebViewImpl::animateZoomAroundPoint(const IntPoint& point, AutoZoomType zoo void WebViewImpl::zoomToFindInPageRect(const WebRect& rect) { - animateZoomAroundPoint(IntRect(rect).center(), FindInPage); + if (!mainFrameImpl()) + return; + + WebRect blockBounds = computeBlockBounds(rect, true); + + if (blockBounds.isEmpty()) { + // Keep current scale (no need to scroll as x,y will normally already + // be visible). FIXME: Revisit this if it isn't always true. + return; + } + + float scale; + WebPoint scroll; + bool doubleTapShouldZoomOut; + + computeScaleAndScrollForBlockRect(blockBounds, nonUserInitiatedPointPadding, scale, scroll, doubleTapShouldZoomOut); + + startPageScaleAnimation(scroll, false, scale, findInPageAnimationDurationInSeconds); +} + +bool WebViewImpl::zoomToMultipleTargetsRect(const WebRect& rect) +{ + if (!mainFrameImpl()) + return false; + + float scale; + WebPoint scroll; + bool doubleTapShouldZoomOut; + + computeScaleAndScrollForBlockRect(rect, nonUserInitiatedPointPadding, scale, scroll, doubleTapShouldZoomOut); + + if (scale <= pageScaleFactor()) + return false; + + startPageScaleAnimation(scroll, false, scale, multipleTargetsZoomAnimationDurationInSeconds); + return true; } void WebViewImpl::numberOfWheelEventHandlersChanged(unsigned numberOfWheelHandlers) @@ -1659,77 +1687,22 @@ void WebViewImpl::willEndLiveResize() void WebViewImpl::willEnterFullScreen() { - if (!m_provisionalFullScreenElement) - return; - - // Ensure that this element's document is still attached. - Document* doc = m_provisionalFullScreenElement->document(); - if (doc->frame()) { - FullscreenController::from(doc)->webkitWillEnterFullScreenForElement(m_provisionalFullScreenElement.get()); - m_fullScreenFrame = doc->frame(); - } - m_provisionalFullScreenElement.clear(); + m_fullscreenController->willEnterFullScreen(); } void WebViewImpl::didEnterFullScreen() { - if (!m_fullScreenFrame) - return; - - if (Document* doc = m_fullScreenFrame->document()) { - if (FullscreenController::isFullScreen(doc)) { - if (!m_exitFullscreenPageScaleFactor) { - m_exitFullscreenPageScaleFactor = pageScaleFactor(); - m_exitFullscreenScrollOffset = mainFrame()->scrollOffset(); - setPageScaleFactorPreservingScrollOffset(1.0f); - } - - FullscreenController::from(doc)->webkitDidEnterFullScreenForElement(0); - } - } + m_fullscreenController->didEnterFullScreen(); } void WebViewImpl::willExitFullScreen() { - if (!m_fullScreenFrame) - return; - - if (Document* doc = m_fullScreenFrame->document()) { - FullscreenController* fullscreen = FullscreenController::fromIfExists(doc); - if (!fullscreen) - return; - if (fullscreen->isFullScreen(doc)) { - // When the client exits from full screen we have to call webkitCancelFullScreen to - // notify the document. While doing that, suppress notifications back to the client. - m_isCancelingFullScreen = true; - fullscreen->webkitCancelFullScreen(); - m_isCancelingFullScreen = false; - fullscreen->webkitWillExitFullScreenForElement(0); - } - } + m_fullscreenController->willExitFullScreen(); } void WebViewImpl::didExitFullScreen() { - if (!m_fullScreenFrame) - return; - - if (Document* doc = m_fullScreenFrame->document()) { - if (FullscreenController* fullscreen = FullscreenController::fromIfExists(doc)) { - if (fullscreen->webkitIsFullScreen()) { - if (m_exitFullscreenPageScaleFactor) { - setPageScaleFactor(m_exitFullscreenPageScaleFactor, - WebPoint(m_exitFullscreenScrollOffset.width(), m_exitFullscreenScrollOffset.height())); - m_exitFullscreenPageScaleFactor = 0; - m_exitFullscreenScrollOffset = IntSize(); - } - - fullscreen->webkitDidExitFullScreenForElement(0); - } - } - } - - m_fullScreenFrame.clear(); + m_fullscreenController->didExitFullScreen(); } void WebViewImpl::animate(double monotonicFrameBeginTime) @@ -1879,51 +1852,12 @@ void WebViewImpl::setNeedsRedraw() void WebViewImpl::enterFullScreenForElement(WebCore::Element* element) { - // We are already transitioning to fullscreen for a different element. - if (m_provisionalFullScreenElement) { - m_provisionalFullScreenElement = element; - return; - } - - // We are already in fullscreen mode. - if (m_fullScreenFrame) { - m_provisionalFullScreenElement = element; - willEnterFullScreen(); - didEnterFullScreen(); - return; - } - -#if USE(NATIVE_FULLSCREEN_VIDEO) - if (element && element->isMediaElement()) { - HTMLMediaElement* mediaElement = toMediaElement(element); - if (mediaElement->player() && mediaElement->player()->canEnterFullscreen()) { - mediaElement->player()->enterFullscreen(); - m_provisionalFullScreenElement = element; - } - return; - } -#endif - - // We need to transition to fullscreen mode. - if (m_client && m_client->enterFullScreen()) - m_provisionalFullScreenElement = element; + m_fullscreenController->enterFullScreenForElement(element); } void WebViewImpl::exitFullScreenForElement(WebCore::Element* element) { - // The client is exiting full screen, so don't send a notification. - if (m_isCancelingFullScreen) - return; -#if USE(NATIVE_FULLSCREEN_VIDEO) - if (element && element->isMediaElement()) { - HTMLMediaElement* mediaElement = static_cast(element); - if (mediaElement->player()) - mediaElement->player()->exitFullscreen(); - return; - } -#endif - if (m_client) - m_client->exitFullScreen(); + m_fullscreenController->exitFullScreenForElement(element); } bool WebViewImpl::hasHorizontalScrollbar() @@ -2417,7 +2351,6 @@ bool WebViewImpl::setCompositionFromExistingText(int compositionStart, int compo editor->setIgnoreCompositionSelectionChange(true); editor->setSelectionOffsets(compositionStart, compositionEnd); String text = editor->selectedText(); - focused->document()->execCommand("delete", true); editor->setComposition(text, CompositionUnderlineVectorBuilder(underlines), 0, 0); // Need to set setIgnoreCompositionSelectionChange(true) again because setComposition resets it to false. editor->setIgnoreCompositionSelectionChange(true); @@ -2654,24 +2587,10 @@ void WebViewImpl::setInitialFocus(bool reverse) { if (!m_page) return; - - // Since we don't have a keyboard event, we'll create one. - WebKeyboardEvent keyboardEvent; - keyboardEvent.type = WebInputEvent::RawKeyDown; - if (reverse) - keyboardEvent.modifiers = WebInputEvent::ShiftKey; - - // VK_TAB which is only defined on Windows. - keyboardEvent.windowsKeyCode = 0x09; - PlatformKeyboardEventBuilder platformEvent(keyboardEvent); - RefPtr webkitEvent = KeyboardEvent::create(platformEvent, 0); - Frame* frame = page()->focusController()->focusedOrMainFrame(); if (Document* document = frame->document()) document->setFocusedElement(0); - page()->focusController()->setInitialFocus( - reverse ? FocusDirectionBackward : FocusDirectionForward, - webkitEvent.get()); + page()->focusController()->setInitialFocus(reverse ? FocusDirectionBackward : FocusDirectionForward); } void WebViewImpl::clearFocusedNode() @@ -2794,7 +2713,7 @@ void WebViewImpl::computeScaleAndScrollForFocusedNode(Node* focusedNode, float& void WebViewImpl::advanceFocus(bool reverse) { - page()->focusController()->advanceFocus(reverse ? FocusDirectionBackward : FocusDirectionForward, 0); + page()->focusController()->advanceFocus(reverse ? FocusDirectionBackward : FocusDirectionForward); } double WebViewImpl::zoomLevel() diff --git a/Source/web/WebViewImpl.h b/Source/web/WebViewImpl.h index 9fccd8ea6..03795c80c 100644 --- a/Source/web/WebViewImpl.h +++ b/Source/web/WebViewImpl.h @@ -120,6 +120,7 @@ class WebPrerendererClient; class WebSettingsImpl; class WebTouchEvent; class WebViewBenchmarkSupport; +class FullscreenController; class WebViewImpl : public WebView , public RefCounted @@ -127,10 +128,6 @@ class WebViewImpl : public WebView , public WebCore::PagePopupDriver , public PageWidgetEventHandler { public: - enum AutoZoomType { - DoubleTap, - FindInPage, - }; // WebWidget methods: virtual void close(); @@ -225,6 +222,7 @@ public: virtual void zoomLimitsChanged(double minimumZoomLevel, double maximumZoomLevel); virtual void setInitialPageScaleOverride(float); + virtual bool zoomToMultipleTargetsRect(const WebRect&); virtual float pageScaleFactor() const; virtual void setPageScaleFactorPreservingScrollOffset(float); virtual void setPageScaleFactor(float scaleFactor, const WebPoint& origin); @@ -528,17 +526,18 @@ public: // a plugin can update its own zoom, say because of its own UI. void fullFramePluginZoomLevelChanged(double zoomLevel); - void computeScaleAndScrollForHitRect(const WebRect& hitRect, AutoZoomType, float& scale, WebPoint& scroll, bool& isAnchor); + void computeScaleAndScrollForBlockRect(const WebRect& blockRect, float padding, float& scale, WebPoint& scroll, bool& doubleTapShouldZoomOut); WebCore::Node* bestTapNode(const WebCore::PlatformGestureEvent& tapEvent); void enableTapHighlight(const WebCore::PlatformGestureEvent& tapEvent); void computeScaleAndScrollForFocusedNode(WebCore::Node* focusedNode, float& scale, WebCore::IntPoint& scroll, bool& needAnimation); - void animateZoomAroundPoint(const WebCore::IntPoint&, AutoZoomType); - void enableFakeDoubleTapAnimationForTesting(bool); + void animateDoubleTapZoom(const WebCore::IntPoint&); + + void enableFakePageScaleAnimationForTesting(bool); bool fakeDoubleTapAnimationPendingForTesting() const { return m_doubleTapZoomPending; } - WebCore::IntPoint fakeDoubleTapTargetPositionForTesting() const { return m_fakeDoubleTapTargetPosition; } - float fakeDoubleTapPageScaleFactorForTesting() const { return m_fakeDoubleTapPageScaleFactor; } - bool fakeDoubleTapUseAnchorForTesting() const { return m_fakeDoubleTapUseAnchor; } + WebCore::IntPoint fakePageScaleAnimationTargetPositionForTesting() const { return m_fakePageScaleAnimationTargetPosition; } + float fakePageScaleAnimationPageScaleForTesting() const { return m_fakePageScaleAnimationPageScaleFactor; } + bool fakePageScaleAnimationUseAnchorForTesting() const { return m_fakePageScaleAnimationUseAnchor; } void enterFullScreenForElement(WebCore::Element*); void exitFullScreenForElement(WebCore::Element*); @@ -565,11 +564,15 @@ public: WebSettingsImpl* settingsImpl(); + // Returns the bounding box of the block type node touched by the WebRect. + WebRect computeBlockBounds(const WebRect&, bool ignoreClipping); + + WebCore::IntPoint clampOffsetAtScale(const WebCore::IntPoint& offset, float scale); + private: void refreshPageScaleFactorAfterLayout(); void setUserAgentPageScaleConstraints(WebCore::PageScaleConstraints newConstraints); float clampPageScaleFactorToLimits(float) const; - WebCore::IntPoint clampOffsetAtScale(const WebCore::IntPoint& offset, float scale); WebCore::IntSize contentsSize() const; void resetSavedScrollAndScaleState(); @@ -630,9 +633,6 @@ private: void reallocateRenderer(); void updateLayerTreeViewport(); - // Returns the bounding box of the block type node touched by the WebRect. - WebRect computeBlockBounds(const WebRect&, AutoZoomType); - // Helper function: Widens the width of |source| by the specified margins // while keeping it smaller than page width. WebRect widenRectWithinPageBounds(const WebRect& source, int targetMargin, int minimumMargin); @@ -709,8 +709,6 @@ private: // Saved page scale state. float m_savedPageScaleFactor; // 0 means that no page scale factor is saved. WebCore::IntSize m_savedScrollOffset; - float m_exitFullscreenPageScaleFactor; - WebCore::IntSize m_exitFullscreenScrollOffset; // The scale moved to by the latest double tap zoom, if any. float m_doubleTapZoomPageScaleFactor; @@ -718,10 +716,10 @@ private: bool m_doubleTapZoomPending; // Used for testing purposes. - bool m_enableFakeDoubleTapAnimationForTesting; - WebCore::IntPoint m_fakeDoubleTapTargetPosition; - float m_fakeDoubleTapPageScaleFactor; - bool m_fakeDoubleTapUseAnchor; + bool m_enableFakePageScaleAnimationForTesting; + WebCore::IntPoint m_fakePageScaleAnimationTargetPosition; + float m_fakePageScaleAnimationPageScaleFactor; + bool m_fakePageScaleAnimationUseAnchor; bool m_contextMenuAllowed; @@ -787,13 +785,6 @@ private: // If set, the (plugin) node which has mouse capture. RefPtr m_mouseCaptureNode; - // If set, the WebView is transitioning to fullscreen for this element. - RefPtr m_provisionalFullScreenElement; - - // If set, the WebView is in fullscreen mode for an element in this frame. - RefPtr m_fullScreenFrame; - bool m_isCancelingFullScreen; - WebViewBenchmarkSupportImpl m_benchmarkSupport; WebCore::IntRect m_rootLayerScrollDamage; @@ -831,6 +822,7 @@ private: bool m_flingSourceDevice; OwnPtr m_linkHighlight; OwnPtr m_validationMessage; + OwnPtr m_fullscreenController; bool m_showFPSCounter; bool m_showPaintRects; diff --git a/Source/web/blink_common.target.darwin-arm.mk b/Source/web/blink_common.target.darwin-arm.mk new file mode 100644 index 000000000..4da8bf0de --- /dev/null +++ b/Source/web/blink_common.target.darwin-arm.mk @@ -0,0 +1,358 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_blink_common_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/WebCString.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebString.cpp \ + third_party/WebKit/Source/web/WebCommon.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -fno-tree-sra \ + -fuse-ld=gold \ + -Wno-psabi \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-abi \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -fno-tree-sra \ + -fuse-ld=gold \ + -Wno-psabi \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-abi \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -Wl,-z,relro \ + -Wl,-z,now \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--icf=safe \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -Wl,-z,relro \ + -Wl,-z,now \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--icf=safe \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_blink_common_gyp + +# Alias gyp target name. +.PHONY: blink_common +blink_common: third_party_WebKit_Source_web_blink_common_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/blink_common.target.darwin-mips.mk b/Source/web/blink_common.target.darwin-mips.mk new file mode 100644 index 000000000..44bc0d01f --- /dev/null +++ b/Source/web/blink_common.target.darwin-mips.mk @@ -0,0 +1,354 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_blink_common_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/WebCString.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebString.cpp \ + third_party/WebKit/Source/web/WebCommon.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -EL \ + -mhard-float \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-uninitialized \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -EL \ + -mhard-float \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-uninitialized \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -EL \ + -Wl,--no-keep-memory \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -EL \ + -Wl,--no-keep-memory \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_blink_common_gyp + +# Alias gyp target name. +.PHONY: blink_common +blink_common: third_party_WebKit_Source_web_blink_common_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/blink_common.target.darwin-x86.mk b/Source/web/blink_common.target.darwin-x86.mk new file mode 100644 index 000000000..3e0331e70 --- /dev/null +++ b/Source/web/blink_common.target.darwin-x86.mk @@ -0,0 +1,358 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_blink_common_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/WebCString.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebString.cpp \ + third_party/WebKit/Source/web/WebCommon.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + --param=ssp-buffer-size=4 \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -m32 \ + -mmmx \ + -march=pentium4 \ + -msse2 \ + -mfpmath=sse \ + -fuse-ld=gold \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -fno-stack-protector \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + --param=ssp-buffer-size=4 \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -m32 \ + -mmmx \ + -march=pentium4 \ + -msse2 \ + -mfpmath=sse \ + -fuse-ld=gold \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -fno-stack-protector \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer \ + -fno-unwind-tables \ + -fno-asynchronous-unwind-tables + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -m32 \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -m32 \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_blink_common_gyp + +# Alias gyp target name. +.PHONY: blink_common +blink_common: third_party_WebKit_Source_web_blink_common_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/blink_common.target.linux-arm.mk b/Source/web/blink_common.target.linux-arm.mk new file mode 100644 index 000000000..4da8bf0de --- /dev/null +++ b/Source/web/blink_common.target.linux-arm.mk @@ -0,0 +1,358 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_blink_common_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/WebCString.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebString.cpp \ + third_party/WebKit/Source/web/WebCommon.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -fno-tree-sra \ + -fuse-ld=gold \ + -Wno-psabi \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-abi \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -fno-tree-sra \ + -fuse-ld=gold \ + -Wno-psabi \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-abi \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -Wl,-z,relro \ + -Wl,-z,now \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--icf=safe \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -Wl,-z,relro \ + -Wl,-z,now \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--icf=safe \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_blink_common_gyp + +# Alias gyp target name. +.PHONY: blink_common +blink_common: third_party_WebKit_Source_web_blink_common_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/blink_common.target.linux-mips.mk b/Source/web/blink_common.target.linux-mips.mk new file mode 100644 index 000000000..44bc0d01f --- /dev/null +++ b/Source/web/blink_common.target.linux-mips.mk @@ -0,0 +1,354 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_blink_common_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/WebCString.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebString.cpp \ + third_party/WebKit/Source/web/WebCommon.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -EL \ + -mhard-float \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-uninitialized \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -EL \ + -mhard-float \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-uninitialized \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -EL \ + -Wl,--no-keep-memory \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -EL \ + -Wl,--no-keep-memory \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_blink_common_gyp + +# Alias gyp target name. +.PHONY: blink_common +blink_common: third_party_WebKit_Source_web_blink_common_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/blink_common.target.linux-x86.mk b/Source/web/blink_common.target.linux-x86.mk new file mode 100644 index 000000000..3e0331e70 --- /dev/null +++ b/Source/web/blink_common.target.linux-x86.mk @@ -0,0 +1,358 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_blink_common_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/WebCString.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebString.cpp \ + third_party/WebKit/Source/web/WebCommon.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + --param=ssp-buffer-size=4 \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -m32 \ + -mmmx \ + -march=pentium4 \ + -msse2 \ + -mfpmath=sse \ + -fuse-ld=gold \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -fno-stack-protector \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + --param=ssp-buffer-size=4 \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -Wno-format \ + -m32 \ + -mmmx \ + -march=pentium4 \ + -msse2 \ + -mfpmath=sse \ + -fuse-ld=gold \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -fno-stack-protector \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer \ + -fno-unwind-tables \ + -fno-asynchronous-unwind-tables + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DINSIDE_WEBKIT' \ + '-DBLINK_COMMON_IMPLEMENTATION=1' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(LOCAL_PATH)/third_party/WebKit \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wno-deprecated \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -m32 \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -m32 \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_blink_common_gyp + +# Alias gyp target name. +.PHONY: blink_common +blink_common: third_party_WebKit_Source_web_blink_common_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/linux/WebFontInfo.cpp b/Source/web/linux/WebFontInfo.cpp index 3d3629e0d..cc9cc7886 100644 --- a/Source/web/linux/WebFontInfo.cpp +++ b/Source/web/linux/WebFontInfo.cpp @@ -32,8 +32,14 @@ #include "WebFontInfo.h" #include "WebFontRenderStyle.h" -#include #include "public/platform/linux/WebFontFamily.h" +#include "wtf/HashMap.h" +#include "wtf/Noncopyable.h" +#include "wtf/OwnPtr.h" +#include "wtf/PassOwnPtr.h" +#include "wtf/Vector.h" +#include "wtf/text/AtomicStringHash.h" +#include #include #include @@ -46,89 +52,187 @@ void WebFontInfo::setSubpixelPositioning(bool subpixelPositioning) useSubpixelPositioning = subpixelPositioning; } -void WebFontInfo::familyForChars(const WebUChar* characters, size_t numCharacters, const char* preferredLocale, WebFontFamily* family) -{ - FcCharSet* cset = FcCharSetCreate(); - for (size_t i = 0; i < numCharacters; ++i) { - if (U16_IS_SURROGATE(characters[i]) - && U16_IS_SURROGATE_LEAD(characters[i]) - && i != numCharacters - 1 - && U16_IS_TRAIL(characters[i + 1])) { - FcCharSetAddChar(cset, U16_GET_SUPPLEMENTARY(characters[i], characters[i+1])); - i++; - } else - FcCharSetAddChar(cset, characters[i]); +class CachedFont { +public: + // Note: We pass the charset explicitly as callers + // should not create CachedFont entries without knowing + // that the FcPattern contains a valid charset. + CachedFont(FcPattern* pattern, FcCharSet* charSet) + : m_supportedCharacters(charSet) + { + ASSERT(pattern); + ASSERT(charSet); + m_family.name = fontName(pattern); + m_family.isBold = fontIsBold(pattern); + m_family.isItalic = fontIsItalic(pattern); + } + const WebFontFamily& family() const { return m_family; } + bool hasGlyphForCharacter(WebUChar32 c) + { + return m_supportedCharacters && FcCharSetHasChar(m_supportedCharacters, c); } - FcPattern* pattern = FcPatternCreate(); - FcValue fcvalue; - fcvalue.type = FcTypeCharSet; - fcvalue.u.c = cset; - FcPatternAdd(pattern, FC_CHARSET, fcvalue, FcFalse); +private: + static WebCString fontName(FcPattern* pattern) + { + FcChar8* familyName; + if (FcPatternGetString(pattern, FC_FAMILY, 0, &familyName) != FcResultMatch) + return WebCString(); + + // FCChar8 is unsigned char, so we cast to char for WebCString. + const char* charFamily = reinterpret_cast(familyName); + // FIXME: This should use WebString instead, and we should be + // explicit about which encoding we're using. Right now callers + // assume that this is utf8, but that may be wrong! + return WebCString(charFamily, strlen(charFamily)); + } - fcvalue.type = FcTypeBool; - fcvalue.u.b = FcTrue; - FcPatternAdd(pattern, FC_SCALABLE, fcvalue, FcFalse); + static bool fontIsBold(FcPattern* pattern) + { + int weight; + if (FcPatternGetInteger(pattern, FC_WEIGHT, 0, &weight) != FcResultMatch) + return false; + return weight >= FC_WEIGHT_BOLD; + } - if (preferredLocale) { - FcLangSet* langset = FcLangSetCreate(); - FcLangSetAdd(langset, reinterpret_cast(preferredLocale)); - FcPatternAddLangSet(pattern, FC_LANG, langset); - FcLangSetDestroy(langset); + static bool fontIsItalic(FcPattern* pattern) + { + int slant; + if (FcPatternGetInteger(pattern, FC_SLANT, 0, &slant) != FcResultMatch) + return false; + return slant != FC_SLANT_ROMAN; } - FcConfigSubstitute(0, pattern, FcMatchPattern); - FcDefaultSubstitute(pattern); + WebFontFamily m_family; + // m_supportedCharaters is owned by the parent + // FcFontSet and should never be freed. + FcCharSet* m_supportedCharacters; +}; + + +class CachedFontSet { + WTF_MAKE_NONCOPYABLE(CachedFontSet); +public: + // CachedFontSet takes ownership of the passed FcFontSet. + static PassOwnPtr createForLocale(const char* locale) + { + FcFontSet* fontSet = createFcFontSetForLocale(locale); + return adoptPtr(new CachedFontSet(fontSet)); + } - FcResult result; - FcFontSet* fontSet = FcFontSort(0, pattern, 0, 0, &result); - FcPatternDestroy(pattern); - FcCharSetDestroy(cset); + ~CachedFontSet() + { + m_fallbackList.clear(); + FcFontSetDestroy(m_fontSet); + } - if (!fontSet) { - family->name = WebCString(); - family->isBold = false; - family->isItalic = false; - return; + WebFontFamily familyForChar(WebUChar32 c) + { + Vector::iterator itr = m_fallbackList.begin(); + for (; itr != m_fallbackList.end(); itr++) { + if (itr->hasGlyphForCharacter(c)) + return itr->family(); + } + // The previous code just returned garbage if the user didn't + // have the necessary fonts, this seems better than garbage. + // Current callers happen to ignore any values with an empty family string. + return WebFontFamily(); } - // Older versions of fontconfig have a bug where they cannot select - // only scalable fonts so we have to manually filter the results. - for (int i = 0; i < fontSet->nfont; ++i) { - FcPattern* current = fontSet->fonts[i]; - FcBool isScalable; - if (FcPatternGetBool(current, FC_SCALABLE, 0, &isScalable) != FcResultMatch - || !isScalable) - continue; +private: + static FcFontSet* createFcFontSetForLocale(const char* locale) + { + ASSERT(locale); + FcPattern* pattern = FcPatternCreate(); + // FcChar* is unsigned char* so we have to cast. + FcPatternAddString(pattern, FC_LANG, reinterpret_cast(locale)); + FcConfigSubstitute(0, pattern, FcMatchPattern); + FcDefaultSubstitute(pattern); + + // The result parameter returns if any fonts were found. + // We already handle 0 fonts correctly, so we ignore the param. + FcResult result; + FcFontSet* fontSet = FcFontSort(0, pattern, 0, 0, &result); + FcPatternDestroy(pattern); + + // The caller will take ownership of this FcFontSet. + return fontSet; + } - // fontconfig can also return fonts which are unreadable - FcChar8* cFilename; - if (FcPatternGetString(current, FC_FILE, 0, &cFilename) != FcResultMatch) - continue; + CachedFontSet(FcFontSet* fontSet) + : m_fontSet(fontSet) + { + fillFallbackList(); + } - if (access(reinterpret_cast(cFilename), R_OK)) - continue; + void fillFallbackList() + { + ASSERT(m_fallbackList.isEmpty()); + if (!m_fontSet) + return; + + for (int i = 0; i < m_fontSet->nfont; ++i) { + FcPattern* pattern = m_fontSet->fonts[i]; + + // Ignore any bitmap fonts users may still have installed from last century. + FcBool isScalable; + if (FcPatternGetBool(pattern, FC_SCALABLE, 0, &isScalable) != FcResultMatch + || !isScalable) + continue; + + // Ignore any fonts FontConfig knows about, but that we don't have persmision to read. + FcChar8* cFilename; + if (FcPatternGetString(pattern, FC_FILE, 0, &cFilename) != FcResultMatch) + continue; + if (access(reinterpret_cast(cFilename), R_OK)) + continue; + + // Make sure this font can tell us what characters it has glyphs for. + FcCharSet* charSet; + if (FcPatternGetCharSet(pattern, FC_CHARSET, 0, &charSet) != FcResultMatch) + continue; + + m_fallbackList.append(CachedFont(pattern, charSet)); + } + } - FcChar8* familyName; - if (FcPatternGetString(current, FC_FAMILY, 0, &familyName) == FcResultMatch) { - const char* charFamily = reinterpret_cast(familyName); - family->name = WebCString(charFamily, strlen(charFamily)); + FcFontSet* m_fontSet; // Owned by this object. + // CachedFont has a FcCharset* which points into the FcFontSet. + // If the FcFontSet is ever destoryed, the fallbackList + // must be cleared first. + Vector m_fallbackList; +}; + +class FontSetCache { +public: + static FontSetCache& shared() + { + DEFINE_STATIC_LOCAL(FontSetCache, cache, ()); + return cache; + } + + WebFontFamily fontFamilyForCharInLocale(WebUChar32 c, const char* locale) + { + LocaleToCachedFont::iterator itr = m_setsByLocale.find(locale); + if (itr == m_setsByLocale.end()) { + OwnPtr newEntry = CachedFontSet::createForLocale(locale); + itr = m_setsByLocale.add(locale, newEntry.release()).iterator; } - int weight; - if (FcPatternGetInteger(current, FC_WEIGHT, 0, &weight) == FcResultMatch) - family->isBold = weight >= FC_WEIGHT_BOLD; - else - family->isBold = false; - int slant; - if (FcPatternGetInteger(current, FC_SLANT, 0, &slant) == FcResultMatch) - family->isItalic = slant != FC_SLANT_ROMAN; - else - family->isItalic = false; - FcFontSetDestroy(fontSet); - return; + return itr.get()->value->familyForChar(c); } + // FIXME: We may wish to add a way to prune the cache at a later time. - FcFontSetDestroy(fontSet); +private: + // FIXME: This shouldn't need to be AtomicString, but + // currently HashTraits isn't smart enough + // to hash the string (only does pointer compares). + typedef HashMap > LocaleToCachedFont; + LocaleToCachedFont m_setsByLocale; +}; + +void WebFontInfo::familyForChar(WebUChar32 c, const char* locale, WebFontFamily* family) +{ + *family = FontSetCache::shared().fontFamilyForCharInLocale(c, locale); } void WebFontInfo::renderStyleForStrike(const char* family, int sizeAndStyle, WebFontRenderStyle* out) diff --git a/Source/web/tests/ArenaTestHelpers.h b/Source/web/tests/ArenaTestHelpers.h deleted file mode 100644 index d812f1f96..000000000 --- a/Source/web/tests/ArenaTestHelpers.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef ArenaTestHelpers_h -#define ArenaTestHelpers_h - -#include -#include "core/platform/PODArena.h" -#include "wtf/NotFound.h" -#include "wtf/Vector.h" - -namespace WebCore { -namespace ArenaTestHelpers { - -// An allocator for the PODArena which tracks the regions which have -// been allocated. -class TrackedAllocator : public PODArena::FastMallocAllocator { -public: - static PassRefPtr create() - { - return adoptRef(new TrackedAllocator); - } - - virtual void* allocate(size_t size) - { - void* result = PODArena::FastMallocAllocator::allocate(size); - m_allocatedRegions.append(result); - return result; - } - - virtual void free(void* ptr) - { - size_t slot = m_allocatedRegions.find(ptr); - ASSERT_NE(slot, notFound); - m_allocatedRegions.remove(slot); - PODArena::FastMallocAllocator::free(ptr); - } - - bool isEmpty() const - { - return !numRegions(); - } - - int numRegions() const - { - return m_allocatedRegions.size(); - } - -private: - TrackedAllocator() { } - Vector m_allocatedRegions; -}; - -} // namespace ArenaTestHelpers -} // namespace WebCore - -#endif // ArenaTestHelpers_h diff --git a/Source/web/tests/GraphicsLayerTest.cpp b/Source/web/tests/GraphicsLayerTest.cpp index 05f6b6b33..a93afcecb 100644 --- a/Source/web/tests/GraphicsLayerTest.cpp +++ b/Source/web/tests/GraphicsLayerTest.cpp @@ -118,7 +118,6 @@ class FakeScrollableArea : public ScrollableArea { public: virtual bool isActive() const OVERRIDE { return false; } virtual int scrollSize(ScrollbarOrientation) const OVERRIDE { return 100; } - virtual int scrollPosition(Scrollbar*) const OVERRIDE { return 0; } virtual bool isScrollCornerVisible() const OVERRIDE { return false; } virtual IntRect scrollCornerRect() const OVERRIDE { return IntRect(); } virtual int visibleWidth() const OVERRIDE { return 10; } @@ -129,6 +128,13 @@ public: virtual IntRect scrollableAreaBoundingBox() const OVERRIDE { return IntRect(); } virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&) OVERRIDE { } virtual void invalidateScrollCornerRect(const IntRect&) OVERRIDE { } + virtual bool userInputScrollable(ScrollbarOrientation) const OVERRIDE { return true; } + virtual int pageStep(ScrollbarOrientation) const OVERRIDE { return 0; } + virtual IntPoint minimumScrollPosition() const OVERRIDE { return IntPoint(); } + virtual IntPoint maximumScrollPosition() const OVERRIDE + { + return IntPoint(contentsSize().width() - visibleWidth(), contentsSize().height() - visibleHeight()); + } virtual void setScrollOffset(const IntPoint& scrollOffset) OVERRIDE { m_scrollPosition = scrollOffset; } virtual IntPoint scrollPosition() const OVERRIDE { return m_scrollPosition; } diff --git a/Source/web/tests/IDBRequestTest.cpp b/Source/web/tests/IDBRequestTest.cpp deleted file mode 100644 index 3aaedc2d9..000000000 --- a/Source/web/tests/IDBRequestTest.cpp +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright (C) 2012 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" -#include "modules/indexeddb/IDBRequest.h" - -#include "FrameTestHelpers.h" -#include "WebFrame.h" -#include "WebFrameImpl.h" -#include "WebView.h" -#include "bindings/v8/ScriptController.h" -#include "core/dom/DOMError.h" -#include "core/dom/DOMStringList.h" -#include "core/dom/Document.h" -#include "core/dom/ExceptionCode.h" -#include "core/page/Frame.h" -#include "modules/indexeddb/IDBCursorBackendInterface.h" -#include "modules/indexeddb/IDBDatabaseBackendInterface.h" -#include "modules/indexeddb/IDBDatabaseCallbacksImpl.h" -#include "modules/indexeddb/IDBKeyRange.h" -#include "modules/indexeddb/IDBOpenDBRequest.h" - -#include - -using namespace WebCore; -using namespace WebKit; - -namespace { - -class IDBRequestTest : public testing::Test { -public: - IDBRequestTest() - : m_webView(0) - { - } - - void SetUp() OVERRIDE - { - m_webView = FrameTestHelpers::createWebViewAndLoad("about:blank"); - m_webView->setFocus(true); - } - - void TearDown() OVERRIDE - { - m_webView->close(); - } - - v8::Handle context() - { - return static_cast(m_webView->mainFrame())->frame()->script()->mainWorldContext(); - } - - ScriptExecutionContext* scriptExecutionContext() - { - return static_cast(m_webView->mainFrame())->frame()->document(); - } - -private: - WebView* m_webView; -}; - -TEST_F(IDBRequestTest, EventsAfterStopping) -{ - v8::HandleScope handleScope; - v8::Context::Scope scope(context()); - - IDBTransaction* transaction = 0; - RefPtr request = IDBRequest::create(scriptExecutionContext(), IDBAny::createInvalid(), transaction); - EXPECT_EQ(request->readyState(), "pending"); - scriptExecutionContext()->stopActiveDOMObjects(); - - // Ensure none of the following raise assertions in stopped state: - request->onError(DOMError::create(AbortError, "Description goes here.")); - request->onSuccess(Vector()); - request->onSuccess(PassRefPtr(), IDBKey::createInvalid(), IDBKey::createInvalid(), 0); - request->onSuccess(IDBKey::createInvalid()); - request->onSuccess(PassRefPtr(0)); - request->onSuccess(PassRefPtr(0), IDBKey::createInvalid(), IDBKeyPath()); - request->onSuccess(0LL); - request->onSuccess(); - request->onSuccess(IDBKey::createInvalid(), IDBKey::createInvalid(), 0); -} - -TEST_F(IDBRequestTest, AbortErrorAfterAbort) -{ - v8::HandleScope handleScope; - v8::Context::Scope scope(context()); - - IDBTransaction* transaction = 0; - RefPtr request = IDBRequest::create(scriptExecutionContext(), IDBAny::createInvalid(), transaction); - EXPECT_EQ(request->readyState(), "pending"); - - // Simulate the IDBTransaction having received onAbort from back end and aborting the request: - request->abort(); - - // Now simulate the back end having fired an abort error at the request to clear up any intermediaries. - // Ensure an assertion is not raised. - request->onError(DOMError::create(AbortError, "Description goes here.")); -} - -class MockIDBDatabaseBackendInterface : public IDBDatabaseBackendInterface { -public: - static PassRefPtr create() - { - return adoptRef(new MockIDBDatabaseBackendInterface()); - } - virtual ~MockIDBDatabaseBackendInterface() - { - EXPECT_TRUE(m_closeCalled); - } - - virtual void createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath&, bool autoIncrement) OVERRIDE { } - virtual void deleteObjectStore(int64_t transactionId, int64_t objectStoreId) OVERRIDE { } - virtual void createTransaction(int64_t transactionId, PassRefPtr, const Vector& objectStoreIds, unsigned short mode) OVERRIDE { } - virtual void close(PassRefPtr) OVERRIDE - { - m_closeCalled = true; - } - - virtual void commit(int64_t transactionId) OVERRIDE { } - virtual void abort(int64_t transactionId) OVERRIDE { } - - virtual void createIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId, const String& name, const IDBKeyPath&, bool unique, bool multiEntry) OVERRIDE { } - virtual void deleteIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId) OVERRIDE { } - - virtual void get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr, bool keyOnly, PassRefPtr) OVERRIDE { } - virtual void put(int64_t transactionId, int64_t objectStoreId, PassRefPtr value, PassRefPtr, PutMode, PassRefPtr, const Vector& indexIds, const Vector&) OVERRIDE { } - virtual void setIndexKeys(int64_t transactionId, int64_t objectStoreId, PassRefPtr, const Vector& indexIds, const Vector&) OVERRIDE { } - virtual void setIndexesReady(int64_t transactionId, int64_t objectStoreId, const Vector& indexIds) OVERRIDE { } - virtual void openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr, IndexedDB::CursorDirection, bool keyOnly, TaskType, PassRefPtr) OVERRIDE { } - virtual void count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr, PassRefPtr) OVERRIDE { } - virtual void deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr, PassRefPtr) OVERRIDE { } - virtual void clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr) OVERRIDE { } - -private: - MockIDBDatabaseBackendInterface() - : m_closeCalled(false) - { - } - - bool m_closeCalled; -}; - -TEST_F(IDBRequestTest, ConnectionsAfterStopping) -{ - v8::HandleScope handleScope; - v8::Context::Scope scope(context()); - - const int64_t transactionId = 1234; - const int64_t version = 1; - const int64_t oldVersion = 0; - const IDBDatabaseMetadata metadata; - RefPtr callbacks = IDBDatabaseCallbacksImpl::create(); - - { - RefPtr interface = MockIDBDatabaseBackendInterface::create(); - RefPtr request = IDBOpenDBRequest::create(scriptExecutionContext(), callbacks, transactionId, version); - EXPECT_EQ(request->readyState(), "pending"); - - scriptExecutionContext()->stopActiveDOMObjects(); - request->onUpgradeNeeded(oldVersion, interface, metadata, WebKit::WebIDBCallbacks::DataLossNone); - } - - { - RefPtr interface = MockIDBDatabaseBackendInterface::create(); - RefPtr request = IDBOpenDBRequest::create(scriptExecutionContext(), callbacks, transactionId, version); - EXPECT_EQ(request->readyState(), "pending"); - - scriptExecutionContext()->stopActiveDOMObjects(); - request->onSuccess(interface, metadata);; - } -} - -} // namespace diff --git a/Source/web/tests/IDBTransactionTest.cpp b/Source/web/tests/IDBTransactionTest.cpp deleted file mode 100644 index 5d9d7b529..000000000 --- a/Source/web/tests/IDBTransactionTest.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" -#include "modules/indexeddb/IDBTransaction.h" - -#include "FrameTestHelpers.h" -#include "WebFrame.h" -#include "WebFrameImpl.h" -#include "WebView.h" -#include "bindings/v8/ScriptController.h" -#include "core/dom/DOMError.h" -#include "core/dom/Document.h" -#include "core/dom/ExceptionCode.h" -#include "modules/indexeddb/IDBDatabase.h" -#include "modules/indexeddb/IDBDatabaseCallbacks.h" -#include "modules/indexeddb/IDBPendingTransactionMonitor.h" -#include "modules/indexeddb/IDBTransaction.h" - -#include - -using namespace WebCore; -using namespace WebKit; - -namespace { - -class IDBTransactionTest : public testing::Test { -public: - IDBTransactionTest() - : m_webView(0) - { - } - - void SetUp() OVERRIDE - { - m_webView = FrameTestHelpers::createWebViewAndLoad("about:blank"); - m_webView->setFocus(true); - } - - void TearDown() OVERRIDE - { - m_webView->close(); - } - - v8::Handle context() - { - return static_cast(m_webView->mainFrame())->frame()->script()->mainWorldContext(); - } - - ScriptExecutionContext* scriptExecutionContext() - { - return static_cast(m_webView->mainFrame())->frame()->document(); - } - -private: - WebView* m_webView; -}; - -class FakeIDBDatabaseBackendProxy : public IDBDatabaseBackendInterface { -public: - static PassRefPtr create() { return adoptRef(new FakeIDBDatabaseBackendProxy()); } - - virtual void createObjectStore(int64_t transactionId, int64_t objectStoreId, const String& name, const IDBKeyPath&, bool autoIncrement) OVERRIDE { } - virtual void deleteObjectStore(int64_t transactionId, int64_t objectStoreId) OVERRIDE { } - virtual void createTransaction(int64_t transactionId, PassRefPtr, const Vector& objectStoreIds, unsigned short mode) OVERRIDE { } - virtual void close(PassRefPtr) OVERRIDE { } - - virtual void commit(int64_t transactionId) OVERRIDE { } - virtual void abort(int64_t transactionId) OVERRIDE { } - - virtual void createIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId, const String& name, const IDBKeyPath&, bool unique, bool multiEntry) OVERRIDE { } - virtual void deleteIndex(int64_t transactionId, int64_t objectStoreId, int64_t indexId) OVERRIDE { } - - virtual void get(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr, bool keyOnly, PassRefPtr) OVERRIDE { } - virtual void put(int64_t transactionId, int64_t objectStoreId, PassRefPtr value, PassRefPtr, PutMode, PassRefPtr, const Vector& indexIds, const Vector&) OVERRIDE { } - virtual void setIndexKeys(int64_t transactionId, int64_t objectStoreId, PassRefPtr, const Vector& indexIds, const Vector&) OVERRIDE { } - virtual void setIndexesReady(int64_t transactionId, int64_t objectStoreId, const Vector& indexIds) OVERRIDE { } - virtual void openCursor(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr, IndexedDB::CursorDirection, bool keyOnly, TaskType, PassRefPtr) OVERRIDE { } - virtual void count(int64_t transactionId, int64_t objectStoreId, int64_t indexId, PassRefPtr, PassRefPtr) OVERRIDE { } - virtual void deleteRange(int64_t transactionId, int64_t objectStoreId, PassRefPtr, PassRefPtr) OVERRIDE { } - virtual void clear(int64_t transactionId, int64_t objectStoreId, PassRefPtr) OVERRIDE { } - -private: - FakeIDBDatabaseBackendProxy() { } -}; - -class FakeIDBDatabaseCallbacks : public IDBDatabaseCallbacks { -public: - static PassRefPtr create() { return adoptRef(new FakeIDBDatabaseCallbacks()); } - virtual void onVersionChange(int64_t oldVersion, int64_t newVersion) OVERRIDE { } - virtual void onForcedClose() OVERRIDE { } - virtual void onAbort(int64_t transactionId, PassRefPtr error) OVERRIDE { } - virtual void onComplete(int64_t transactionId) OVERRIDE { } -private: - FakeIDBDatabaseCallbacks() { } -}; - -TEST_F(IDBTransactionTest, EnsureLifetime) -{ - v8::HandleScope handleScope; - v8::Context::Scope scope(context()); - - RefPtr proxy = FakeIDBDatabaseBackendProxy::create(); - RefPtr connection = FakeIDBDatabaseCallbacks::create(); - RefPtr db = IDBDatabase::create(scriptExecutionContext(), proxy, connection); - - const int64_t transactionId = 1234; - const Vector transactionScope; - RefPtr transaction = IDBTransaction::create(scriptExecutionContext(), transactionId, transactionScope, IndexedDB::TransactionReadOnly, db.get()); - - // Local reference, IDBDatabase's reference and IDBPendingTransactionMonitor's reference: - EXPECT_EQ(3, transaction->refCount()); - - RefPtr request = IDBRequest::create(scriptExecutionContext(), IDBAny::createInvalid(), transaction.get()); - IDBPendingTransactionMonitor::deactivateNewTransactions(); - - // Local reference, IDBDatabase's reference, and the IDBRequest's reference - EXPECT_EQ(3, transaction->refCount()); - - // This will generate an abort() call to the back end which is dropped by the fake proxy, - // so an explicit onAbort call is made. - scriptExecutionContext()->stopActiveDOMObjects(); - transaction->onAbort(DOMError::create(AbortError, "Aborted")); - - EXPECT_EQ(1, transaction->refCount()); -} - -} // namespace diff --git a/Source/web/tests/PODArenaTest.cpp b/Source/web/tests/PODArenaTest.cpp deleted file mode 100644 index a23814373..000000000 --- a/Source/web/tests/PODArenaTest.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include "core/platform/PODArena.h" - -#include -#include -#include "ArenaTestHelpers.h" -#include "wtf/FastMalloc.h" -#include "wtf/RefPtr.h" -#include "wtf/Vector.h" - -namespace WebCore { - -using ArenaTestHelpers::TrackedAllocator; - -namespace { - -// A couple of simple structs to allocate. -struct TestClass1 { - TestClass1() - : x(0), y(0), z(0), w(1) { } - - float x, y, z, w; -}; - -struct TestClass2 { - TestClass2() - : a(1), b(2), c(3), d(4) { } - - float a, b, c, d; -}; - -} // anonymous namespace - -class PODArenaTest : public testing::Test { -}; - -// Make sure the arena can successfully allocate from more than one -// region. -TEST_F(PODArenaTest, CanAllocateFromMoreThanOneRegion) -{ - RefPtr allocator = TrackedAllocator::create(); - RefPtr arena = PODArena::create(allocator); - int numIterations = 10 * PODArena::DefaultChunkSize / sizeof(TestClass1); - for (int i = 0; i < numIterations; ++i) - arena->allocateObject(); - EXPECT_GT(allocator->numRegions(), 1); -} - -// Make sure the arena frees all allocated regions during destruction. -TEST_F(PODArenaTest, FreesAllAllocatedRegions) -{ - RefPtr allocator = TrackedAllocator::create(); - { - RefPtr arena = PODArena::create(allocator); - for (int i = 0; i < 3; i++) - arena->allocateObject(); - EXPECT_GT(allocator->numRegions(), 0); - } - EXPECT_TRUE(allocator->isEmpty()); -} - -// Make sure the arena runs constructors of the objects allocated within. -TEST_F(PODArenaTest, RunsConstructors) -{ - RefPtr arena = PODArena::create(); - for (int i = 0; i < 10000; i++) { - TestClass1* tc1 = arena->allocateObject(); - EXPECT_EQ(0, tc1->x); - EXPECT_EQ(0, tc1->y); - EXPECT_EQ(0, tc1->z); - EXPECT_EQ(1, tc1->w); - TestClass2* tc2 = arena->allocateObject(); - EXPECT_EQ(1, tc2->a); - EXPECT_EQ(2, tc2->b); - EXPECT_EQ(3, tc2->c); - EXPECT_EQ(4, tc2->d); - } -} - -} // namespace WebCore diff --git a/Source/web/tests/PODIntervalTreeTest.cpp b/Source/web/tests/PODIntervalTreeTest.cpp deleted file mode 100644 index c241e1cd8..000000000 --- a/Source/web/tests/PODIntervalTreeTest.cpp +++ /dev/null @@ -1,356 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -// Tests for the interval tree class. - -#include "config.h" - -#include "core/platform/PODIntervalTree.h" - -#include -#include "TreeTestHelpers.h" -#include "core/platform/Logging.h" -#include "wtf/text/WTFString.h" -#include "wtf/Vector.h" - -namespace WebCore { - -using TreeTestHelpers::generateSeed; -using TreeTestHelpers::initRandom; -using TreeTestHelpers::nextRandom; - -#ifndef NDEBUG -template<> -struct ValueToString { - static String string(const float& value) { return String::number(value); } -}; - -template<> -struct ValueToString { - static String string(void* const& value) - { - return String::format("0x%p", value); - } -}; -#endif - -TEST(PODIntervalTreeTest, TestInsertion) -{ - PODIntervalTree tree; - tree.add(PODInterval(2, 4)); - ASSERT_TRUE(tree.checkInvariants()); -} - -TEST(PODIntervalTreeTest, TestInsertionAndQuery) -{ - PODIntervalTree tree; - tree.add(PODInterval(2, 4)); - ASSERT_TRUE(tree.checkInvariants()); - Vector > result = tree.allOverlaps(PODInterval(1, 3)); - EXPECT_EQ(1U, result.size()); - EXPECT_EQ(2, result[0].low()); - EXPECT_EQ(4, result[0].high()); -} - -TEST(PODIntervalTreeTest, TestQueryAgainstZeroSizeInterval) -{ - PODIntervalTree tree; - tree.add(PODInterval(1, 2.5)); - tree.add(PODInterval(3.5, 5)); - tree.add(PODInterval(2, 4)); - ASSERT_TRUE(tree.checkInvariants()); - Vector > result = tree.allOverlaps(PODInterval(3, 3)); - EXPECT_EQ(1U, result.size()); - EXPECT_EQ(2, result[0].low()); - EXPECT_EQ(4, result[0].high()); -} - -#ifndef NDEBUG -template<> -struct ValueToString { - static String string(int* const& value) - { - return String::format("0x%p", value); - } -}; -#endif - -TEST(PODIntervalTreeTest, TestDuplicateElementInsertion) -{ - PODIntervalTree tree; - int tmp1 = 1; - int tmp2 = 2; - typedef PODIntervalTree::IntervalType IntervalType; - IntervalType interval1(1, 3, &tmp1); - IntervalType interval2(1, 3, &tmp2); - tree.add(interval1); - tree.add(interval2); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(interval1)); - EXPECT_TRUE(tree.contains(interval2)); - EXPECT_TRUE(tree.remove(interval1)); - EXPECT_TRUE(tree.contains(interval2)); - EXPECT_FALSE(tree.contains(interval1)); - EXPECT_TRUE(tree.remove(interval2)); - EXPECT_EQ(0, tree.size()); -} - -namespace { - -struct UserData1 { -public: - UserData1() - : a(0), b(1) { } - - float a; - int b; -}; - -} // anonymous namespace - -#ifndef NDEBUG -template<> -struct ValueToString { - static String string(const UserData1& value) - { - return String("[UserData1 a=") + String::number(value.a) + " b=" + String::number(value.b) + "]"; - } -}; -#endif - -TEST(PODIntervalTreeTest, TestInsertionOfComplexUserData) -{ - PODIntervalTree tree; - UserData1 data1; - data1.a = 5; - data1.b = 6; - tree.add(tree.createInterval(2, 4, data1)); - ASSERT_TRUE(tree.checkInvariants()); -} - -TEST(PODIntervalTreeTest, TestQueryingOfComplexUserData) -{ - PODIntervalTree tree; - UserData1 data1; - data1.a = 5; - data1.b = 6; - tree.add(tree.createInterval(2, 4, data1)); - ASSERT_TRUE(tree.checkInvariants()); - Vector > overlaps = tree.allOverlaps(tree.createInterval(3, 5, data1)); - EXPECT_EQ(1U, overlaps.size()); - EXPECT_EQ(5, overlaps[0].data().a); - EXPECT_EQ(6, overlaps[0].data().b); -} - -namespace { - -class EndpointType1 { -public: - explicit EndpointType1(int value) - : m_value(value) { } - - int value() const { return m_value; } - - bool operator<(const EndpointType1& other) const { return m_value < other.m_value; } - bool operator==(const EndpointType1& other) const { return m_value == other.m_value; } - -private: - int m_value; - // These operators should not be called by the interval tree. - bool operator>(const EndpointType1& other); - bool operator<=(const EndpointType1& other); - bool operator>=(const EndpointType1& other); - bool operator!=(const EndpointType1& other); -}; - -} // anonymous namespace - -#ifndef NDEBUG -template<> -struct ValueToString { - static String string(const EndpointType1& value) - { - return String("[EndpointType1 value=") + String::number(value.value()) + "]"; - } -}; -#endif - -TEST(PODIntervalTreeTest, TestTreeDoesNotRequireMostOperators) -{ - PODIntervalTree tree; - tree.add(tree.createInterval(EndpointType1(1), EndpointType1(2))); - ASSERT_TRUE(tree.checkInvariants()); -} - -// Uncomment to debug a failure of the insertion and deletion test. Won't work -// in release builds. -// #define DEBUG_INSERTION_AND_DELETION_TEST - -#ifndef NDEBUG -template<> -struct ValueToString { - static String string(const int& value) { return String::number(value); } -}; -#endif - -namespace { - -void InsertionAndDeletionTest(int32_t seed, int treeSize) -{ - initRandom(seed); - int maximumValue = treeSize; - // Build the tree - PODIntervalTree tree; - Vector > addedElements; - Vector > removedElements; - for (int i = 0; i < treeSize; i++) { - int left = nextRandom(maximumValue); - int length = nextRandom(maximumValue); - PODInterval interval(left, left + length); - tree.add(interval); -#ifdef DEBUG_INSERTION_AND_DELETION_TEST - LOG_ERROR("*** Adding element %s", ValueToString >::string(interval).ascii().data()); -#endif - addedElements.append(interval); - } - // Churn the tree's contents. - // First remove half of the elements in random order. - for (int i = 0; i < treeSize / 2; i++) { - int index = nextRandom(addedElements.size()); -#ifdef DEBUG_INSERTION_AND_DELETION_TEST - LOG_ERROR("*** Removing element %s", ValueToString >::string(addedElements[index]).ascii().data()); -#endif - ASSERT_TRUE(tree.contains(addedElements[index])) << "Test failed for seed " << seed; - tree.remove(addedElements[index]); - removedElements.append(addedElements[index]); - addedElements.remove(index); - ASSERT_TRUE(tree.checkInvariants()) << "Test failed for seed " << seed; - } - // Now randomly add or remove elements. - for (int i = 0; i < 2 * treeSize; i++) { - bool add = false; - if (!addedElements.size()) - add = true; - else if (!removedElements.size()) - add = false; - else - add = (nextRandom(2) == 1); - if (add) { - int index = nextRandom(removedElements.size()); -#ifdef DEBUG_INSERTION_AND_DELETION_TEST - LOG_ERROR("*** Adding element %s", ValueToString >::string(removedElements[index]).ascii().data()); -#endif - tree.add(removedElements[index]); - addedElements.append(removedElements[index]); - removedElements.remove(index); - } else { - int index = nextRandom(addedElements.size()); -#ifdef DEBUG_INSERTION_AND_DELETION_TEST - LOG_ERROR("*** Removing element %s", ValueToString >::string(addedElements[index]).ascii().data()); -#endif - ASSERT_TRUE(tree.contains(addedElements[index])) << "Test failed for seed " << seed; - ASSERT_TRUE(tree.remove(addedElements[index])) << "Test failed for seed " << seed; - removedElements.append(addedElements[index]); - addedElements.remove(index); - } - ASSERT_TRUE(tree.checkInvariants()) << "Test failed for seed " << seed; - } -} - -} // anonymous namespace - -TEST(PODIntervalTreeTest, RandomDeletionAndInsertionRegressionTest1) -{ - InsertionAndDeletionTest(13972, 100); -} - -TEST(PODIntervalTreeTest, RandomDeletionAndInsertionRegressionTest2) -{ - InsertionAndDeletionTest(1283382113, 10); -} - -TEST(PODIntervalTreeTest, RandomDeletionAndInsertionRegressionTest3) -{ - // This is the sequence of insertions and deletions that triggered - // the failure in RandomDeletionAndInsertionRegressionTest2. - PODIntervalTree tree; - tree.add(tree.createInterval(0, 5)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(4, 5)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(8, 9)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(1, 4)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(3, 5)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(4, 12)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(0, 2)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(0, 2)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(9, 13)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(0, 1)); - ASSERT_TRUE(tree.checkInvariants()); - tree.remove(tree.createInterval(0, 2)); - ASSERT_TRUE(tree.checkInvariants()); - tree.remove(tree.createInterval(9, 13)); - ASSERT_TRUE(tree.checkInvariants()); - tree.remove(tree.createInterval(0, 2)); - ASSERT_TRUE(tree.checkInvariants()); - tree.remove(tree.createInterval(0, 1)); - ASSERT_TRUE(tree.checkInvariants()); - tree.remove(tree.createInterval(4, 5)); - ASSERT_TRUE(tree.checkInvariants()); - tree.remove(tree.createInterval(4, 12)); - ASSERT_TRUE(tree.checkInvariants()); -} - -TEST(PODIntervalTreeTest, RandomDeletionAndInsertionRegressionTest4) -{ - // Even further reduced test case for RandomDeletionAndInsertionRegressionTest3. - PODIntervalTree tree; - tree.add(tree.createInterval(0, 5)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(8, 9)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(1, 4)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(3, 5)); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(tree.createInterval(4, 12)); - ASSERT_TRUE(tree.checkInvariants()); - tree.remove(tree.createInterval(4, 12)); - ASSERT_TRUE(tree.checkInvariants()); -} - -TEST(PODIntervalTreeTest, TestRandomDeletionAndInsertion) -{ - InsertionAndDeletionTest(generateSeed(), 1000); -} - -} // namespace WebCore diff --git a/Source/web/tests/PODRedBlackTreeTest.cpp b/Source/web/tests/PODRedBlackTreeTest.cpp deleted file mode 100644 index 0f1607b55..000000000 --- a/Source/web/tests/PODRedBlackTreeTest.cpp +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -// Tests for the red-black tree class. - -#include "config.h" - -#include "core/platform/PODRedBlackTree.h" - -#include -#include "ArenaTestHelpers.h" -#include "TreeTestHelpers.h" -#include "wtf/Vector.h" - -namespace WebCore { - -using ArenaTestHelpers::TrackedAllocator; -using TreeTestHelpers::generateSeed; -using TreeTestHelpers::initRandom; -using TreeTestHelpers::nextRandom; - -TEST(PODRedBlackTreeTest, TestTreeAllocatesFromArena) -{ - RefPtr allocator = TrackedAllocator::create(); - { - typedef PODFreeListArena::Node> PODIntegerArena; - RefPtr arena = PODIntegerArena::create(allocator); - PODRedBlackTree tree(arena); - int numAdditions = 2 * PODArena::DefaultChunkSize / sizeof(int); - for (int i = 0; i < numAdditions; ++i) - tree.add(i); - EXPECT_GT(allocator->numRegions(), 1); - } - EXPECT_EQ(allocator->numRegions(), 0); -} - -TEST(PODRedBlackTreeTest, TestSingleElementInsertion) -{ - PODRedBlackTree tree; - tree.add(5); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(5)); -} - -TEST(PODRedBlackTreeTest, TestMultipleElementInsertion) -{ - PODRedBlackTree tree; - tree.add(4); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(4)); - tree.add(3); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(3)); - tree.add(5); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(5)); - EXPECT_TRUE(tree.contains(4)); - EXPECT_TRUE(tree.contains(3)); -} - -TEST(PODRedBlackTreeTest, TestDuplicateElementInsertion) -{ - PODRedBlackTree tree; - tree.add(3); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(3); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(3); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_EQ(3, tree.size()); - EXPECT_TRUE(tree.contains(3)); -} - -TEST(PODRedBlackTreeTest, TestSingleElementInsertionAndDeletion) -{ - PODRedBlackTree tree; - tree.add(5); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(5)); - tree.remove(5); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_FALSE(tree.contains(5)); -} - -TEST(PODRedBlackTreeTest, TestMultipleElementInsertionAndDeletion) -{ - PODRedBlackTree tree; - tree.add(4); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(4)); - tree.add(3); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(3)); - tree.add(5); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(5)); - EXPECT_TRUE(tree.contains(4)); - EXPECT_TRUE(tree.contains(3)); - tree.remove(4); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(3)); - EXPECT_FALSE(tree.contains(4)); - EXPECT_TRUE(tree.contains(5)); - tree.remove(5); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_TRUE(tree.contains(3)); - EXPECT_FALSE(tree.contains(4)); - EXPECT_FALSE(tree.contains(5)); - EXPECT_EQ(1, tree.size()); -} - -TEST(PODRedBlackTreeTest, TestDuplicateElementInsertionAndDeletion) -{ - PODRedBlackTree tree; - tree.add(3); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(3); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(3); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_EQ(3, tree.size()); - EXPECT_TRUE(tree.contains(3)); - tree.remove(3); - ASSERT_TRUE(tree.checkInvariants()); - tree.remove(3); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_EQ(1, tree.size()); - EXPECT_TRUE(tree.contains(3)); - tree.remove(3); - ASSERT_TRUE(tree.checkInvariants()); - EXPECT_EQ(0, tree.size()); - EXPECT_FALSE(tree.contains(3)); -} - -TEST(PODRedBlackTreeTest, FailingInsertionRegressionTest1) -{ - // These numbers came from a previously-failing randomized test run. - PODRedBlackTree tree; - tree.add(5113); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(4517); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(3373); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(9307); - ASSERT_TRUE(tree.checkInvariants()); - tree.add(7077); - ASSERT_TRUE(tree.checkInvariants()); -} - -namespace { -void InsertionAndDeletionTest(const int32_t seed, const int treeSize) -{ - initRandom(seed); - const int maximumValue = treeSize; - // Build the tree. - PODRedBlackTree tree; - Vector values; - for (int i = 0; i < treeSize; i++) { - int value = nextRandom(maximumValue); - tree.add(value); - ASSERT_TRUE(tree.checkInvariants()) << "Test failed for seed " << seed; - values.append(value); - } - // Churn the tree's contents. - for (int i = 0; i < treeSize; i++) { - // Pick a random value to remove. - int index = nextRandom(treeSize); - int value = values[index]; - // Remove this value. - tree.remove(value); - ASSERT_TRUE(tree.checkInvariants()) << "Test failed for seed " << seed; - // Replace it with a new one. - value = nextRandom(maximumValue); - values[index] = value; - tree.add(value); - ASSERT_TRUE(tree.checkInvariants()) << "Test failed for seed " << seed; - } -} -} // anonymous namespace - -TEST(PODRedBlackTreeTest, RandomDeletionAndInsertionRegressionTest1) -{ - InsertionAndDeletionTest(12311, 100); -} - -TEST(PODRedBlackTreeTest, TestRandomDeletionAndInsertion) -{ - InsertionAndDeletionTest(generateSeed(), 100); -} - -} // namespace WebCore diff --git a/Source/web/tests/ScrollAnimatorNoneTest.cpp b/Source/web/tests/ScrollAnimatorNoneTest.cpp index 3c5da2945..ee27e6e3a 100644 --- a/Source/web/tests/ScrollAnimatorNoneTest.cpp +++ b/Source/web/tests/ScrollAnimatorNoneTest.cpp @@ -31,12 +31,12 @@ #include #include -#include "TreeTestHelpers.h" #include "core/platform/Logging.h" #include "core/platform/ScrollAnimator.h" #include "core/platform/ScrollableArea.h" #include "core/platform/graphics/FloatPoint.h" #include "core/platform/graphics/IntRect.h" +#include "core/tests/TreeTestHelpers.h" using namespace std; using namespace WebCore; @@ -52,7 +52,6 @@ public: MOCK_CONST_METHOD0(isActive, bool()); MOCK_CONST_METHOD1(scrollSize, int(ScrollbarOrientation)); - MOCK_CONST_METHOD1(scrollPosition, int(Scrollbar*)); MOCK_METHOD2(invalidateScrollbar, void(Scrollbar*, const IntRect&)); MOCK_CONST_METHOD0(isScrollCornerVisible, bool()); MOCK_CONST_METHOD0(scrollCornerRect, IntRect()); @@ -69,10 +68,12 @@ public: MOCK_CONST_METHOD0(scrollbarsCanBeActive, bool()); MOCK_CONST_METHOD0(scrollableAreaBoundingBox, IntRect()); + virtual bool userInputScrollable(ScrollbarOrientation) const OVERRIDE { return true; } virtual IntPoint scrollPosition() const OVERRIDE { return IntPoint(); } virtual int visibleHeight() const OVERRIDE { return 768; } virtual int visibleWidth() const OVERRIDE { return 1024; } virtual bool scrollAnimatorEnabled() const OVERRIDE { return m_scrollAnimatorEnabled; } + virtual int pageStep(ScrollbarOrientation) const OVERRIDE { return 0; } private: bool m_scrollAnimatorEnabled; diff --git a/Source/web/tests/TreeTestHelpers.cpp b/Source/web/tests/TreeTestHelpers.cpp deleted file mode 100644 index 5ace79d49..000000000 --- a/Source/web/tests/TreeTestHelpers.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#include "TreeTestHelpers.h" - -#include -#include "wtf/CurrentTime.h" - -namespace WebCore { -namespace TreeTestHelpers { - -int32_t generateSeed() -{ - // A seed of 1 has the special behavior of resetting the random - // number generator. Assume that if we call this routine that we - // don't want this behavior. - int32_t seed; - do { - seed = static_cast(currentTime()); - } while (seed <= 1); - return seed; -} - -void initRandom(const int32_t seed) -{ - srand(seed); -} - -int32_t nextRandom(const int32_t maximumValue) -{ - // rand_r is not available on Windows - return rand() % maximumValue; -} - -} // namespace TreeTestHelpers -} // namespace WebCore diff --git a/Source/web/tests/TreeTestHelpers.h b/Source/web/tests/TreeTestHelpers.h deleted file mode 100644 index af07b2ad4..000000000 --- a/Source/web/tests/TreeTestHelpers.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -// Simple pseudorandom number generator helper functions, used by the -// red-black and interval tree tests. -// -// These are **not** thread safe! - -#ifndef TreeTestHelpers_h -#define TreeTestHelpers_h - -#include - -namespace WebCore { -namespace TreeTestHelpers { - -// Generates a seed value to be passed to initRandom(). -int32_t generateSeed(); - -// Initializes the pseudo-random number generator with a specific seed. -void initRandom(const int32_t seed); - -// Produces the next pseudo-random number in the sequence, in the -// range from [0..maximumValue). Negative numbers are not allowed and will -// produce undefined results. -int32_t nextRandom(const int32_t maximumValue); - -} // namespace TreeTestHelpers -} // namespace WebCore - -#endif // TreeTestHelpers_h diff --git a/Source/web/tests/WebFrameTest.cpp b/Source/web/tests/WebFrameTest.cpp index 96601bbcf..39a185d45 100644 --- a/Source/web/tests/WebFrameTest.cpp +++ b/Source/web/tests/WebFrameTest.cpp @@ -62,6 +62,7 @@ #include "core/editing/Editor.h" #include "core/editing/FrameSelection.h" #include "core/editing/SpellChecker.h" +#include "core/editing/VisiblePosition.h" #include "core/html/HTMLFormElement.h" #include "core/loader/FrameLoadRequest.h" #include "core/page/EventHandler.h" @@ -96,6 +97,8 @@ using WebKit::FrameTestHelpers::runPendingTasks; namespace { +const int touchPointPadding = 32; + #define EXPECT_EQ_RECT(a, b) \ EXPECT_EQ(a.x(), b.x()); \ EXPECT_EQ(a.y(), b.y()); \ @@ -1170,55 +1173,71 @@ TEST_F(WebFrameTest, DivAutoZoomParamsTest) WebRect wideDiv(200, 100, 400, 150); WebRect tallDiv(200, 300, 400, 800); - WebRect doubleTapPointWide(wideDiv.x + 50, wideDiv.y + 50, 0, 0); - WebRect doubleTapPointTall(tallDiv.x + 50, tallDiv.y + 50, 0, 0); + WebRect doubleTapPointWide(wideDiv.x + 50, wideDiv.y + 50, touchPointPadding, touchPointPadding); + WebRect doubleTapPointTall(tallDiv.x + 50, tallDiv.y + 50, touchPointPadding, touchPointPadding); + WebRect wideBlockBounds; + WebRect tallBlockBounds; float scale; WebPoint scroll; - bool isAnchor; + bool doubleTapShouldZoomOut; WebViewImpl* webViewImpl = static_cast(m_webView); // Test double-tap zooming into wide div. - webViewImpl->computeScaleAndScrollForHitRect(doubleTapPointWide, WebViewImpl::DoubleTap, scale, scroll, isAnchor); + wideBlockBounds = webViewImpl->computeBlockBounds(doubleTapPointWide, false); + webViewImpl->computeScaleAndScrollForBlockRect(wideBlockBounds, touchPointPadding, scale, scroll, doubleTapShouldZoomOut); // The div should horizontally fill the screen (modulo margins), and // vertically centered (modulo integer rounding). EXPECT_NEAR(viewportWidth / (float) wideDiv.width, scale, 0.1); EXPECT_NEAR(wideDiv.x, scroll.x, 20); EXPECT_EQ(0, scroll.y); - EXPECT_FALSE(isAnchor); + EXPECT_FALSE(doubleTapShouldZoomOut); setScaleAndScrollAndLayout(webViewImpl, scroll, scale); // Test zoom out back to minimum scale. - webViewImpl->computeScaleAndScrollForHitRect(doubleTapPointWide, WebViewImpl::DoubleTap, scale, scroll, isAnchor); - EXPECT_FLOAT_EQ(webViewImpl->minimumPageScaleFactor(), scale); - EXPECT_TRUE(isAnchor); + wideBlockBounds = webViewImpl->computeBlockBounds(doubleTapPointWide, false); + webViewImpl->computeScaleAndScrollForBlockRect(wideBlockBounds, touchPointPadding, scale, scroll, doubleTapShouldZoomOut); + EXPECT_TRUE(doubleTapShouldZoomOut); + scale = webViewImpl->minimumPageScaleFactor(); setScaleAndScrollAndLayout(webViewImpl, WebPoint(0, 0), scale); // Test double-tap zooming into tall div. - webViewImpl->computeScaleAndScrollForHitRect(doubleTapPointTall, WebViewImpl::DoubleTap, scale, scroll, isAnchor); + tallBlockBounds = webViewImpl->computeBlockBounds(doubleTapPointTall, false); + webViewImpl->computeScaleAndScrollForBlockRect(tallBlockBounds, touchPointPadding, scale, scroll, doubleTapShouldZoomOut); // The div should start at the top left of the viewport. EXPECT_NEAR(viewportWidth / (float) tallDiv.width, scale, 0.1); EXPECT_NEAR(tallDiv.x, scroll.x, 20); EXPECT_NEAR(tallDiv.y, scroll.y, 20); - EXPECT_FALSE(isAnchor); + EXPECT_FALSE(doubleTapShouldZoomOut); // Test for Non-doubletap scaling // Test zooming into div. - webViewImpl->computeScaleAndScrollForHitRect(WebRect(250, 250, 10, 10), WebViewImpl::FindInPage, scale, scroll, isAnchor); + webViewImpl->computeScaleAndScrollForBlockRect(webViewImpl->computeBlockBounds(WebRect(250, 250, 10, 10), true), 0, scale, scroll, doubleTapShouldZoomOut); EXPECT_NEAR(viewportWidth / (float) wideDiv.width, scale, 0.1); } -void simulateDoubleTap(WebViewImpl* webViewImpl, WebPoint& point, float& scale) +void simulatePageScale(WebViewImpl* webViewImpl, float& scale) { - webViewImpl->animateZoomAroundPoint(point, WebViewImpl::DoubleTap); - EXPECT_TRUE(webViewImpl->fakeDoubleTapAnimationPendingForTesting()); - WebCore::IntSize scrollDelta = webViewImpl->fakeDoubleTapTargetPositionForTesting() - webViewImpl->mainFrameImpl()->frameView()->scrollPosition(); - float scaleDelta = webViewImpl->fakeDoubleTapPageScaleFactorForTesting() / webViewImpl->pageScaleFactor(); + WebCore::IntSize scrollDelta = webViewImpl->fakePageScaleAnimationTargetPositionForTesting() - webViewImpl->mainFrameImpl()->frameView()->scrollPosition(); + float scaleDelta = webViewImpl->fakePageScaleAnimationPageScaleForTesting() / webViewImpl->pageScaleFactor(); webViewImpl->applyScrollAndScale(scrollDelta, scaleDelta); scale = webViewImpl->pageScaleFactor(); } +void simulateMultiTargetZoom(WebViewImpl* webViewImpl, const WebRect& rect, float& scale) +{ + if (webViewImpl->zoomToMultipleTargetsRect(rect)) + simulatePageScale(webViewImpl, scale); +} + +void simulateDoubleTap(WebViewImpl* webViewImpl, WebPoint& point, float& scale) +{ + webViewImpl->animateDoubleTapZoom(point); + EXPECT_TRUE(webViewImpl->fakeDoubleTapAnimationPendingForTesting()); + simulatePageScale(webViewImpl, scale); +} + TEST_F(WebFrameTest, DivAutoZoomMultipleDivsTest) { registerMockedHttpURLLoad("get_multiple_divs_for_auto_zoom_test.html"); @@ -1236,7 +1255,7 @@ TEST_F(WebFrameTest, DivAutoZoomMultipleDivsTest) m_webView->layout(); WebViewImpl* webViewImpl = static_cast(m_webView); - webViewImpl->enableFakeDoubleTapAnimationForTesting(true); + webViewImpl->enableFakePageScaleAnimationForTesting(true); WebRect topDiv(200, 100, 200, 150); WebRect bottomDiv(200, 300, 200, 150); @@ -1263,7 +1282,7 @@ TEST_F(WebFrameTest, DivAutoZoomMultipleDivsTest) // If we didn't yet get an auto-zoom update and a second double-tap arrives, should go back to minimum scale. webViewImpl->applyScrollAndScale(WebSize(), 1.1f); - webViewImpl->animateZoomAroundPoint(topPoint, WebViewImpl::DoubleTap); + webViewImpl->animateDoubleTapZoom(topPoint); EXPECT_TRUE(webViewImpl->fakeDoubleTapAnimationPendingForTesting()); simulateDoubleTap(webViewImpl, bottomPoint, scale); EXPECT_FLOAT_EQ(webViewImpl->minimumPageScaleFactor(), scale); @@ -1283,7 +1302,7 @@ TEST_F(WebFrameTest, DivAutoZoomScaleBoundsTest) m_webView->layout(); WebViewImpl* webViewImpl = static_cast(m_webView); - webViewImpl->enableFakeDoubleTapAnimationForTesting(true); + webViewImpl->enableFakePageScaleAnimationForTesting(true); WebRect div(200, 100, 200, 150); WebPoint doubleTapPoint(div.x + 50, div.y + 50); @@ -1345,7 +1364,7 @@ TEST_F(WebFrameTest, DivAutoZoomScaleFontScaleFactorTest) m_webView->layout(); WebViewImpl* webViewImpl = static_cast(m_webView); - webViewImpl->enableFakeDoubleTapAnimationForTesting(true); + webViewImpl->enableFakePageScaleAnimationForTesting(true); webViewImpl->page()->settings()->setTextAutosizingFontScaleFactor(textAutosizingFontScaleFactor); WebRect div(200, 100, 200, 150); @@ -1409,6 +1428,42 @@ TEST_F(WebFrameTest, DivAutoZoomScaleFontScaleFactorTest) EXPECT_FLOAT_EQ(legibleScale, scale); } +TEST_F(WebFrameTest, DivMultipleTargetZoomMultipleDivsTest) +{ + registerMockedHttpURLLoad("get_multiple_divs_for_auto_zoom_test.html"); + + const float deviceScaleFactor = 2.0f; + int viewportWidth = 640 / deviceScaleFactor; + int viewportHeight = 1280 / deviceScaleFactor; + float doubleTapZoomAlreadyLegibleRatio = 1.2f; + m_webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "get_multiple_divs_for_auto_zoom_test.html"); + m_webView->enableFixedLayoutMode(true); + m_webView->resize(WebSize(viewportWidth, viewportHeight)); + m_webView->setPageScaleFactorLimits(0.5f, 4); + m_webView->setDeviceScaleFactor(deviceScaleFactor); + m_webView->setPageScaleFactor(0.5f, WebPoint(0, 0)); + m_webView->layout(); + + WebViewImpl* webViewImpl = static_cast(m_webView); + webViewImpl->enableFakePageScaleAnimationForTesting(true); + + WebRect viewportRect(0, 0, viewportWidth, viewportHeight); + WebRect topDiv(200, 100, 200, 150); + WebRect bottomDiv(200, 300, 200, 150); + float scale; + setScaleAndScrollAndLayout(webViewImpl, WebPoint(0, 0), (webViewImpl->minimumPageScaleFactor()) * (1 + doubleTapZoomAlreadyLegibleRatio) / 2); + + simulateMultiTargetZoom(webViewImpl, topDiv, scale); + EXPECT_FLOAT_EQ(1, scale); + simulateMultiTargetZoom(webViewImpl, bottomDiv, scale); + EXPECT_FLOAT_EQ(1, scale); + simulateMultiTargetZoom(webViewImpl, viewportRect, scale); + EXPECT_FLOAT_EQ(1, scale); + webViewImpl->setPageScaleFactor(webViewImpl->minimumPageScaleFactor(), WebPoint(0, 0)); + simulateMultiTargetZoom(webViewImpl, topDiv, scale); + EXPECT_FLOAT_EQ(1, scale); +} + TEST_F(WebFrameTest, DivScrollIntoEditableTest) { registerMockedHttpURLLoad("get_scale_for_zoom_into_editable_test.html"); @@ -1427,7 +1482,7 @@ TEST_F(WebFrameTest, DivScrollIntoEditableTest) m_webView->settings()->setAutoZoomFocusedNodeToLegibleScale(true); WebViewImpl* webViewImpl = static_cast(m_webView); - webViewImpl->enableFakeDoubleTapAnimationForTesting(true); + webViewImpl->enableFakePageScaleAnimationForTesting(true); WebRect editBoxWithText(200, 200, 250, 20); WebRect editBoxWithNoText(200, 250, 250, 20); @@ -2549,6 +2604,11 @@ TEST_F(WebFrameTest, SelectRangeCanMoveSelectionEnd) // EXPECT_EQ("Editable 1. Editable 2. ]", selectionAsString(frame)); } +static int computeOffset(WebCore::RenderObject* renderer, int x, int y) +{ + return WebCore::VisiblePosition(renderer->positionForPoint(WebCore::LayoutPoint(x, y))).deepEquivalent().computeOffsetInContainerNode(); +} + // positionForPoint returns the wrong values for contenteditable spans. See // http://crbug.com/238334. TEST_F(WebFrameTest, DISABLED_PositionForPointTest) @@ -2557,15 +2617,15 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) m_webView = createWebViewForTextSelection(m_baseURL + "select_range_span_editable.html"); WebFrameImpl* mainFrame = static_cast(m_webView->mainFrame()); WebCore::RenderObject* renderer = mainFrame->frame()->selection()->rootEditableElement()->renderer(); - EXPECT_EQ(0, renderer->positionForPoint(WebCore::LayoutPoint(-1, -1)).deepEquivalent().computeOffsetInContainerNode()); - EXPECT_EQ(64, renderer->positionForPoint(WebCore::LayoutPoint(1000, 1000)).deepEquivalent().computeOffsetInContainerNode()); + EXPECT_EQ(0, computeOffset(renderer, -1, -1)); + EXPECT_EQ(64, computeOffset(renderer, 1000, 1000)); registerMockedHttpURLLoad("select_range_div_editable.html"); m_webView = createWebViewForTextSelection(m_baseURL + "select_range_div_editable.html"); mainFrame = static_cast(m_webView->mainFrame()); renderer = mainFrame->frame()->selection()->rootEditableElement()->renderer(); - EXPECT_EQ(0, renderer->positionForPoint(WebCore::LayoutPoint(-1, -1)).deepEquivalent().computeOffsetInContainerNode()); - EXPECT_EQ(64, renderer->positionForPoint(WebCore::LayoutPoint(1000, 1000)).deepEquivalent().computeOffsetInContainerNode()); + EXPECT_EQ(0, computeOffset(renderer, -1, -1)); + EXPECT_EQ(64, computeOffset(renderer, 1000, 1000)); } #if !OS(DARWIN) @@ -3466,5 +3526,30 @@ TEST_F(WebFrameTest, NavigateToSame) m_webView = 0; } +TEST_F(WebFrameTest, WebNodeImageContents) +{ + m_webView = FrameTestHelpers::createWebViewAndLoad("about:blank", true); + WebFrame* frame = m_webView->mainFrame(); + + static const char bluePNG[] = ""; + + // Load up the image and test that we can extract the contents. + WebCore::KURL testURL = toKURL("about:blank"); + frame->loadHTMLString(bluePNG, testURL); + runPendingTasks(); + + WebNode node = frame->document().body().firstChild(); + EXPECT_TRUE(node.isElementNode()); + WebElement element = node.to(); + WebImage image = element.imageContents(); + ASSERT_FALSE(image.isNull()); + EXPECT_EQ(image.size().width, 10); + EXPECT_EQ(image.size().height, 10); +// FIXME: The rest of this test is disabled since the ImageDecodeCache state may be inconsistent when this test runs. +// crbug.com/266088 +// SkBitmap bitmap = image.getSkBitmap(); +// SkAutoLockPixels locker(bitmap); +// EXPECT_EQ(bitmap.getColor(0, 0), SK_ColorBLUE); +} } // namespace diff --git a/Source/web/tests/WebInputEventConversionTest.cpp b/Source/web/tests/WebInputEventConversionTest.cpp index a4b74a2d6..a65834133 100644 --- a/Source/web/tests/WebInputEventConversionTest.cpp +++ b/Source/web/tests/WebInputEventConversionTest.cpp @@ -67,18 +67,18 @@ int getModifiersForKeyLocationCode(WebCore::KeyboardEvent::KeyLocationCode locat TEST(WebInputEventConversionTest, WebKeyboardEventBuilder) { // Test key location conversion. - int modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOMKeyLocationStandard); + int modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_STANDARD); EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsLeft || modifiers & WebInputEvent::IsRight); - modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOMKeyLocationLeft); + modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_LEFT); EXPECT_TRUE(modifiers & WebInputEvent::IsLeft); EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsRight); - modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOMKeyLocationRight); + modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_RIGHT); EXPECT_TRUE(modifiers & WebInputEvent::IsRight); EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsLeft); - modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOMKeyLocationNumpad); + modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_NUMPAD); EXPECT_TRUE(modifiers & WebInputEvent::IsKeyPad); EXPECT_FALSE(modifiers & WebInputEvent::IsLeft || modifiers & WebInputEvent::IsRight); } diff --git a/Source/web/tests/WebInputEventFactoryTestGtk.cpp b/Source/web/tests/WebInputEventFactoryTestGtk.cpp index 47f8cc83d..51a884c23 100644 --- a/Source/web/tests/WebInputEventFactoryTestGtk.cpp +++ b/Source/web/tests/WebInputEventFactoryTestGtk.cpp @@ -194,7 +194,7 @@ TEST(WebInputEventFactoryTest, NumPadConversion) // Round-trip through the WebCore KeyboardEvent class. WebKit::PlatformKeyboardEventBuilder platformBuilder(webEvent); RefPtr keypress = WebCore::KeyboardEvent::create(platformBuilder, 0); - EXPECT_TRUE(keypress->keyLocation() == WebCore::KeyboardEvent::DOMKeyLocationNumpad); + EXPECT_TRUE(keypress->location() == WebCore::KeyboardEvent::DOM_KEY_LOCATION_NUMPAD); WebKit::WebKeyboardEventBuilder builder(*keypress); EXPECT_TRUE(builder.modifiers & WebInputEvent::IsKeyPad); diff --git a/Source/web/tests/WebViewTest.cpp b/Source/web/tests/WebViewTest.cpp index 09bb6cf9a..f0ae503e0 100644 --- a/Source/web/tests/WebViewTest.cpp +++ b/Source/web/tests/WebViewTest.cpp @@ -1007,6 +1007,31 @@ TEST_F(WebViewTest, ConfirmCompositionTriggersAutofillTextChange) webView->close(); } +TEST_F(WebViewTest, SetCompositionFromExistingTextTriggersAutofillTextChange) +{ + URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html")); + MockAutofillClient client; + WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html"); + webView->setAutofillClient(&client); + webView->setInitialFocus(false); + + WebVector emptyUnderlines; + + client.clearChangeCounts(); + webView->setCompositionFromExistingText(8, 12, emptyUnderlines); + + WebTextInputInfo info = webView->textInputInfo(); + EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.utf8().data())); + EXPECT_EQ(8, info.compositionStart); + EXPECT_EQ(12, info.compositionEnd); + + EXPECT_EQ(0, client.textChangesWhileIgnored()); + EXPECT_EQ(1, client.textChangesWhileNotIgnored()); + + webView->setAutofillClient(0); + webView->close(); +} + TEST_F(WebViewTest, ShadowRoot) { URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("shadow_dom_test.html")); diff --git a/Source/web/web.gyp b/Source/web/web.gyp new file mode 100644 index 000000000..de6124ae5 --- /dev/null +++ b/Source/web/web.gyp @@ -0,0 +1,320 @@ +# +# Copyright (C) 2011 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +{ + 'includes': [ + '../build/win/precompile.gypi', + '../bindings/bindings.gypi', + '../core/core.gypi', + '../core/features.gypi', + '../modules/modules.gypi', + '../wtf/wtf.gypi', + 'web.gypi', + ], + 'targets': [ + { + 'target_name': 'webkit', + 'type': '<(component)', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + '../core/core.gyp:webcore', + '../modules/modules.gyp:modules', + '<(DEPTH)/skia/skia.gyp:skia', + '<(DEPTH)/third_party/angle_dx11/src/build_angle.gyp:translator_glsl', + '<(DEPTH)/third_party/icu/icu.gyp:icuuc', + '<(DEPTH)/third_party/npapi/npapi.gyp:npapi', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + 'blink_common', + ], + 'export_dependent_settings': [ + '<(DEPTH)/skia/skia.gyp:skia', + '<(DEPTH)/third_party/icu/icu.gyp:icuuc', + '<(DEPTH)/third_party/npapi/npapi.gyp:npapi', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + ], + 'include_dirs': [ + '../../public/web', + '../web', + '<(DEPTH)/third_party/angle_dx11/include', + '<(DEPTH)/third_party/skia/include/utils', + ], + 'defines': [ + 'WEBKIT_IMPLEMENTATION=1', + 'INSIDE_WEBKIT', + ], + 'sources': [ + '<@(webcore_platform_support_files)', + '<@(web_files)', + ], + 'conditions': [ + ['component=="shared_library"', { + 'dependencies': [ + '../core/core.gyp:webcore_derived', + '../core/core.gyp:webcore_test_support', + '<(DEPTH)/base/base.gyp:test_support_base', + '<(DEPTH)/testing/gmock.gyp:gmock', + '<(DEPTH)/testing/gtest.gyp:gtest', + '<(DEPTH)/third_party/icu/icu.gyp:*', + '<(libjpeg_gyp_path):libjpeg', + '<(DEPTH)/third_party/libpng/libpng.gyp:libpng', + '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp', + '<(DEPTH)/third_party/libxml/libxml.gyp:libxml', + '<(DEPTH)/third_party/libxslt/libxslt.gyp:libxslt', + '<(DEPTH)/third_party/modp_b64/modp_b64.gyp:modp_b64', + '<(DEPTH)/third_party/ots/ots.gyp:ots', + '<(DEPTH)/third_party/zlib/zlib.gyp:zlib', + '<(DEPTH)/url/url.gyp:url_lib', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + # We must not add webkit_support here because of cyclic dependency. + ], + 'export_dependent_settings': [ + '<(DEPTH)/url/url.gyp:url_lib', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + ], + 'include_dirs': [ + # WARNING: Do not view this particular case as a precedent for + # including WebCore headers in DumpRenderTree project. + '../core/testing/v8', # for WebCoreTestSupport.h, needed to link in window.internals code. + ], + 'sources': [ + '<@(bindings_unittest_files)', + '<@(core_unittest_files)', + '<@(modules_unittest_files)', + '<@(web_unittest_files)', + 'WebTestingSupport.cpp', + 'tests/WebUnitTests.cpp', # Components test runner support. + ], + 'conditions': [ + ['OS=="win" or OS=="mac"', { + 'dependencies': [ + '<(DEPTH)/third_party/nss/nss.gyp:*', + ], + }], + ['clang==1', { + # FIXME: It would be nice to enable this in shared builds too, + # but the test files have global constructors from the GTEST macro + # and we pull in the test files into the webkit target in the + # shared build. + 'cflags!': ['-Wglobal-constructors'], + 'xcode_settings': { + 'WARNING_CFLAGS!': ['-Wglobal-constructors'], + }, + }], + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'conditions': [ + ['incremental_chrome_dll==1', { + 'UseLibraryDependencyInputs': "true", + }], + ], + }, + }, + }], + ['OS == "linux"', { + 'dependencies': [ + '<(DEPTH)/build/linux/system.gyp:fontconfig', + ], + 'include_dirs': [ + '../../public/web/linux', + ], + }, { + 'sources/': [ + ['exclude', 'linux/'], + ], + }], + ['use_x11 == 1', { + 'dependencies': [ + '<(DEPTH)/build/linux/system.gyp:x11', + ], + 'include_dirs': [ + '../../public/web/x11', + ], + }, { + 'sources/': [ + ['exclude', 'x11/'], + ] + }], + ['toolkit_uses_gtk == 1', { + 'dependencies': [ + '<(DEPTH)/build/linux/system.gyp:gtk', + ], + 'include_dirs': [ + '../../public/web/gtk', + ], + }, { # else: toolkit_uses_gtk != 1 + 'sources/': [ + ['exclude', 'gtk/'], + ], + }], + ['OS=="android"', { + 'include_dirs': [ + '../../public/web/android', + '../../public/web/linux', # We need linux/WebFontRendering.h on Android. + ], + }, { # else: OS!="android" + 'sources/': [ + ['exclude', 'android/'], + ], + }], + ['OS=="mac"', { + 'include_dirs': [ + '../../public/web/mac', + ], + 'link_settings': { + 'libraries': [ + '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework', + '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework', + ], + }, + }, { # else: OS!="mac" + 'sources/': [ + ['exclude', 'mac/'], + ], + }], + ['OS=="win"', { + 'include_dirs': [ + '../../public/web/win', + ], + }, { # else: OS!="win" + 'sources/': [ + ['exclude', 'win/'] + ], + 'variables': { + # FIXME: Turn on warnings on Windows. + 'chromium_code': 1, + } + }], + ['use_default_render_theme==1', { + 'include_dirs': [ + '../../public/web/default', + ], + }, { # else use_default_render_theme==0 + 'sources/': [ + ['exclude', 'default/WebRenderTheme.cpp'], + ], + }], + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '../../', + ], + }, + 'target_conditions': [ + ['OS=="android"', { + 'sources/': [ + ['include', '^linux/WebFontRendering\\.cpp$'], + ['include', '^linux/WebFontRenderStyle\\.cpp$'], + ], + }], + ], + }, + { + 'target_name': 'webkit_test_support', + 'conditions': [ + ['component=="shared_library"', { + 'type': 'none', + }, { + 'type': 'static_library', + 'dependencies': [ + '../core/core.gyp:webcore_test_support', + '../wtf/wtf.gyp:wtf', + '<(DEPTH)/skia/skia.gyp:skia', + ], + 'include_dirs': [ + '../../public/web', + '../core/testing/v8', # for WebCoreTestSupport.h, needed to link in window.internals code. + '../../', + ], + 'sources': [ + 'WebTestingSupport.cpp', + ], + }], + ], + }, + { + 'target_name': 'blink_common', + 'type': '<(component)', + 'variables': { 'enable_wexit_time_destructors': 1 }, + 'dependencies': [ + '../wtf/wtf.gyp:wtf', + '<(DEPTH)/skia/skia.gyp:skia', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + ], + 'export_dependent_settings': [ + '<(DEPTH)/skia/skia.gyp:skia', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + ], + 'defines': [ + 'INSIDE_WEBKIT', + 'BLINK_COMMON_IMPLEMENTATION=1', + ], + 'include_dirs': [ + '..', + '../..', + ], + 'sources': [ + '../core/platform/chromium/support/WebCString.cpp', + '../core/platform/chromium/support/WebString.cpp', + 'WebCommon.cpp', + ], + }, + ], # targets + 'conditions': [ + ['gcc_version>=46', { + 'target_defaults': { + # Disable warnings about c++0x compatibility, as some names (such + # as nullptr) conflict with upcoming c++0x types. + 'cflags_cc': ['-Wno-c++0x-compat'], + }, + }], + ['OS=="mac"', { + 'targets': [ + { + 'target_name': 'copy_mesa', + 'type': 'none', + 'dependencies': ['<(DEPTH)/third_party/mesa/mesa.gyp:osmesa'], + 'copies': [{ + 'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/MacOS/', + 'files': ['<(PRODUCT_DIR)/osmesa.so'], + }], + }, + ], + }], + ['clang==1', { + 'target_defaults': { + 'cflags': ['-Wglobal-constructors'], + 'xcode_settings': { + 'WARNING_CFLAGS': ['-Wglobal-constructors'], + }, + }, + }], + ], # conditions +} diff --git a/Source/web/web.gypi b/Source/web/web.gypi index d17dd6aa4..7e967449c 100644 --- a/Source/web/web.gypi +++ b/Source/web/web.gypi @@ -48,6 +48,8 @@ 'FindInPageCoordinates.h', 'FrameLoaderClientImpl.cpp', 'FrameLoaderClientImpl.h', + 'FullscreenController.cpp', + 'FullscreenController.h', 'GeolocationClientProxy.cpp', 'GeolocationClientProxy.h', 'GraphicsLayerFactoryChromium.cpp', @@ -289,7 +291,6 @@ 'win/WebInputEventFactory.cpp', ], 'web_unittest_files': [ - 'tests/ArenaTestHelpers.h', 'tests/AssociatedURLLoaderTest.cpp', 'tests/ChromeClientImplTest.cpp', 'tests/CustomEventTest.cpp', @@ -301,8 +302,6 @@ 'tests/FrameTestHelpers.cpp', 'tests/FrameTestHelpers.h', 'tests/GraphicsLayerTest.cpp', - 'tests/IDBRequestTest.cpp', - 'tests/IDBTransactionTest.cpp', 'tests/ImageFilterBuilderTest.cpp', 'tests/ImageLayerChromiumTest.cpp', 'tests/KeyboardTest.cpp', @@ -311,9 +310,6 @@ 'tests/MemoryInfo.cpp', 'tests/OpaqueRectTrackingContentLayerDelegateTest.cpp', 'tests/OpenTypeVerticalDataTest.cpp', - 'tests/PODArenaTest.cpp', - 'tests/PODIntervalTreeTest.cpp', - 'tests/PODRedBlackTreeTest.cpp', 'tests/PaintAggregatorTest.cpp', 'tests/PopupContainerTest.cpp', 'tests/PrerenderingTest.cpp', @@ -323,8 +319,6 @@ 'tests/RenderTableCellTest.cpp', 'tests/RenderTableRowTest.cpp', 'tests/ScrollingCoordinatorChromiumTest.cpp', - 'tests/TreeTestHelpers.cpp', - 'tests/TreeTestHelpers.h', 'tests/URLTestHelpers.cpp', 'tests/URLTestHelpers.h', 'tests/WebFrameTest.cpp', diff --git a/Source/web/web_tests.gyp b/Source/web/web_tests.gyp new file mode 100644 index 000000000..41904b776 --- /dev/null +++ b/Source/web/web_tests.gyp @@ -0,0 +1,164 @@ +# +# Copyright (C) 2011 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +{ + 'includes': [ + '../bindings/bindings.gypi', + '../core/core.gypi', + '../core/features.gypi', + '../modules/modules.gypi', + '../web/web.gypi', + '../wtf/wtf.gypi', + ], + 'targets': [ + { + 'target_name': 'webkit_unit_tests', + 'type': 'executable', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD', + 'dependencies': [ + '../../public/blink.gyp:blink', + '../../Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:DumpRenderTree_resources', + '<(DEPTH)/base/base.gyp:base', + '<(DEPTH)/base/base.gyp:base_i18n', + '<(DEPTH)/base/base.gyp:test_support_base', + '<(DEPTH)/testing/gmock.gyp:gmock', + '<(DEPTH)/testing/gtest.gyp:gtest', + '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp', + '<(DEPTH)/third_party/zlib/zlib.gyp:zlib', + '<(DEPTH)/url/url.gyp:url_lib', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + '<(DEPTH)/content/content.gyp:content_webkit_unit_test_support', + ], + 'sources': [ + '../web/tests/RunAllTests.cpp', + ], + 'include_dirs': [ + '../../public/web', + '../web', + 'src', + ], + 'conditions': [ + ['component=="shared_library"', { + 'defines': [ + 'WEBKIT_DLL_UNITTEST', + ], + }, { + 'dependencies': [ + '../core/core.gyp:webcore', + ], + 'defines': [ + 'WEBKIT_IMPLEMENTATION=1', + 'INSIDE_WEBKIT', + ], + 'sources': [ + '<@(bindings_unittest_files)', + '<@(core_unittest_files)', + '<@(modules_unittest_files)', + '<@(web_unittest_files)', + ], + 'conditions': [ + ['toolkit_uses_gtk == 1', { + 'include_dirs': [ + '../../public/web/gtk', + ], + 'variables': { + # FIXME: Enable warnings on other platforms. + 'chromium_code': 1, + }, + }], + ], + }], + ['OS=="win" and component!="shared_library"', { + 'configurations': { + 'Debug_Base': { + 'msvs_settings': { + 'VCLinkerTool': { + 'LinkIncremental': '<(msvs_large_module_debug_link_mode)', + }, + }, + }, + }, + }], + ['OS=="android" and gtest_target_type == "shared_library"', { + 'type': 'shared_library', + 'dependencies': [ + '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', + '<(DEPTH)/tools/android/forwarder2/forwarder.gyp:forwarder2', + ], + }], + ['OS=="mac"', { + 'include_dirs': [ + '../../public/web/mac', + ], + }], + [ 'os_posix==1 and OS!="mac" and OS!="android" and OS!="ios" and linux_use_tcmalloc==1', { + 'dependencies': [ + '<(DEPTH)/base/allocator/allocator.gyp:allocator', + ], + }], + ], + } + ], # targets + 'conditions': [ + ['gcc_version>=46', { + 'target_defaults': { + # Disable warnings about c++0x compatibility, as some names (such + # as nullptr) conflict with upcoming c++0x types. + 'cflags_cc': ['-Wno-c++0x-compat'], + }, + }], + ['OS=="android" and android_webview_build==0 and gtest_target_type == "shared_library"', { + # Wrap libwebkit_unit_tests.so into an android apk for execution. + 'targets': [{ + 'target_name': 'webkit_unit_tests_apk', + 'type': 'none', + 'dependencies': [ + '<(DEPTH)/base/base.gyp:base_java', + '<(DEPTH)/net/net.gyp:net_java', + 'webkit_unit_tests', + ], + 'variables': { + 'test_suite_name': 'webkit_unit_tests', + 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)webkit_unit_tests<(SHARED_LIB_SUFFIX)', + }, + 'includes': [ '../../../../build/apk_test.gypi' ], + }], + }], + ['clang==1', { + 'target_defaults': { + 'cflags': ['-Wunused-parameter'], + 'xcode_settings': { + 'WARNING_CFLAGS': ['-Wunused-parameter'], + }, + }, + }], + ], +} diff --git a/Source/web/webkit.target.darwin-arm.mk b/Source/web/webkit.target.darwin-arm.mk new file mode 100644 index 000000000..dbf3a6405 --- /dev/null +++ b/Source/web/webkit.target.darwin-arm.mk @@ -0,0 +1,622 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_webkit_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,third_party_WebKit_Source_core_webcore_gyp)/webcore.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_WebKit_Source_core_webcore_derived_gyp)/third_party_WebKit_Source_core_webcore_derived_gyp.a \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \ + $(call intermediates-dir-for,GYP,third_party_npapi_npapi_gyp)/npapi.stamp \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/Platform.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebActiveGestureAnimation.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebArrayBuffer.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebAudioBus.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCrypto.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoAlgorithm.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoKey.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCursorInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceMotionData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceOrientationData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebFloatQuad.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPBody.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPLoadInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaConstraints.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStream.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamSource.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerender.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerenderingSupport.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCConfiguration.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCICECandidate.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescription.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsResponse.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCVoidRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeGeometryNative.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSocketStreamError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSourceInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisUtterance.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisVoice.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebThreadSafeData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebTransformKeyframe.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURL.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLResponse.cpp \ + third_party/WebKit/Source/web/ApplicationCacheHost.cpp \ + third_party/WebKit/Source/web/AssertMatchingEnums.cpp \ + third_party/WebKit/Source/web/AssociatedURLLoader.cpp \ + third_party/WebKit/Source/web/AsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/AsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/AutofillPopupMenuClient.cpp \ + third_party/WebKit/Source/web/BackForwardClientImpl.cpp \ + third_party/WebKit/Source/web/ChromeClientImpl.cpp \ + third_party/WebKit/Source/web/ColorChooserPopupUIController.cpp \ + third_party/WebKit/Source/web/ColorChooserUIController.cpp \ + third_party/WebKit/Source/web/CompositionUnderlineVectorBuilder.cpp \ + third_party/WebKit/Source/web/ContextFeaturesClientImpl.cpp \ + third_party/WebKit/Source/web/ContextMenuClientImpl.cpp \ + third_party/WebKit/Source/web/DOMUtilitiesPrivate.cpp \ + third_party/WebKit/Source/web/DatabaseObserver.cpp \ + third_party/WebKit/Source/web/DateTimeChooserImpl.cpp \ + third_party/WebKit/Source/web/DeviceOrientationClientProxy.cpp \ + third_party/WebKit/Source/web/DragClientImpl.cpp \ + third_party/WebKit/Source/web/EditorClientImpl.cpp \ + third_party/WebKit/Source/web/EventListenerWrapper.cpp \ + third_party/WebKit/Source/web/ExternalDateTimeChooser.cpp \ + third_party/WebKit/Source/web/ExternalPopupMenu.cpp \ + third_party/WebKit/Source/web/FindInPageCoordinates.cpp \ + third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp \ + third_party/WebKit/Source/web/FullscreenController.cpp \ + third_party/WebKit/Source/web/GeolocationClientProxy.cpp \ + third_party/WebKit/Source/web/GraphicsLayerFactoryChromium.cpp \ + third_party/WebKit/Source/web/IDBCursorBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBDatabaseBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBFactoryBackendProxy.cpp \ + third_party/WebKit/Source/web/InbandTextTrackPrivateImpl.cpp \ + third_party/WebKit/Source/web/InspectorClientImpl.cpp \ + third_party/WebKit/Source/web/InspectorFrontendClientImpl.cpp \ + third_party/WebKit/Source/web/LinkHighlight.cpp \ + third_party/WebKit/Source/web/LocalFileSystemClient.cpp \ + third_party/WebKit/Source/web/MIDIClientImpl.cpp \ + third_party/WebKit/Source/web/MediaSourcePrivateImpl.cpp \ + third_party/WebKit/Source/web/NotificationPresenterImpl.cpp \ + third_party/WebKit/Source/web/PageOverlay.cpp \ + third_party/WebKit/Source/web/PageOverlayList.cpp \ + third_party/WebKit/Source/web/PageWidgetDelegate.cpp \ + third_party/WebKit/Source/web/PinchViewports.cpp \ + third_party/WebKit/Source/web/PopupContainer.cpp \ + third_party/WebKit/Source/web/PopupListBox.cpp \ + third_party/WebKit/Source/web/PopupMenuChromium.cpp \ + third_party/WebKit/Source/web/PrerendererClientImpl.cpp \ + third_party/WebKit/Source/web/ScrollbarGroup.cpp \ + third_party/WebKit/Source/web/SharedWorkerRepository.cpp \ + third_party/WebKit/Source/web/SourceBufferPrivateImpl.cpp \ + third_party/WebKit/Source/web/SpeechInputClientImpl.cpp \ + third_party/WebKit/Source/web/SpeechRecognitionClientProxy.cpp \ + third_party/WebKit/Source/web/StorageAreaProxy.cpp \ + third_party/WebKit/Source/web/StorageNamespaceProxy.cpp \ + third_party/WebKit/Source/web/StorageQuotaChromium.cpp \ + third_party/WebKit/Source/web/UserMediaClientImpl.cpp \ + third_party/WebKit/Source/web/ValidationMessageClientImpl.cpp \ + third_party/WebKit/Source/web/ViewportAnchor.cpp \ + third_party/WebKit/Source/web/WebAccessibilityObject.cpp \ + third_party/WebKit/Source/web/WebArrayBufferView.cpp \ + third_party/WebKit/Source/web/WebBindings.cpp \ + third_party/WebKit/Source/web/WebBlob.cpp \ + third_party/WebKit/Source/web/WebBlobData.cpp \ + third_party/WebKit/Source/web/WebCache.cpp \ + third_party/WebKit/Source/web/WebCachedURLRequest.cpp \ + third_party/WebKit/Source/web/WebColorName.cpp \ + third_party/WebKit/Source/web/WebCrossOriginPreflightResultCache.cpp \ + third_party/WebKit/Source/web/WebDOMActivityLogger.cpp \ + third_party/WebKit/Source/web/WebDOMCustomEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEventListener.cpp \ + third_party/WebKit/Source/web/WebDOMEventListenerPrivate.cpp \ + third_party/WebKit/Source/web/WebDOMMessageEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMouseEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMutationEvent.cpp \ + third_party/WebKit/Source/web/WebDOMProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDOMResourceProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDataSourceImpl.cpp \ + third_party/WebKit/Source/web/WebDatabase.cpp \ + third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp \ + third_party/WebKit/Source/web/WebDevToolsFrontendImpl.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientation.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationClientMock.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationController.cpp \ + third_party/WebKit/Source/web/WebDocument.cpp \ + third_party/WebKit/Source/web/WebDocumentType.cpp \ + third_party/WebKit/Source/web/WebDragData.cpp \ + third_party/WebKit/Source/web/WebElement.cpp \ + third_party/WebKit/Source/web/WebEntities.cpp \ + third_party/WebKit/Source/web/WebFileChooserCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebFileSystemCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebFontCache.cpp \ + third_party/WebKit/Source/web/WebFontDescription.cpp \ + third_party/WebKit/Source/web/WebFontImpl.cpp \ + third_party/WebKit/Source/web/WebFormControlElement.cpp \ + third_party/WebKit/Source/web/WebFormElement.cpp \ + third_party/WebKit/Source/web/WebFrameImpl.cpp \ + third_party/WebKit/Source/web/WebGeolocationClientMock.cpp \ + third_party/WebKit/Source/web/WebGeolocationController.cpp \ + third_party/WebKit/Source/web/WebGeolocationError.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequestManager.cpp \ + third_party/WebKit/Source/web/WebGeolocationPosition.cpp \ + third_party/WebKit/Source/web/WebGlyphCache.cpp \ + third_party/WebKit/Source/web/WebHelperPluginImpl.cpp \ + third_party/WebKit/Source/web/WebHistoryItem.cpp \ + third_party/WebKit/Source/web/WebHitTestResult.cpp \ + third_party/WebKit/Source/web/WebIDBCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseError.cpp \ + third_party/WebKit/Source/web/WebIDBKey.cpp \ + third_party/WebKit/Source/web/WebIDBKeyPath.cpp \ + third_party/WebKit/Source/web/WebIDBKeyRange.cpp \ + third_party/WebKit/Source/web/WebIDBMetadata.cpp \ + third_party/WebKit/Source/web/WebImageCache.cpp \ + third_party/WebKit/Source/web/WebImageDecoder.cpp \ + third_party/WebKit/Source/web/WebImageSkia.cpp \ + third_party/WebKit/Source/web/WebInputElement.cpp \ + third_party/WebKit/Source/web/WebInputEvent.cpp \ + third_party/WebKit/Source/web/WebInputEventConversion.cpp \ + third_party/WebKit/Source/web/WebKit.cpp \ + third_party/WebKit/Source/web/WebLabelElement.cpp \ + third_party/WebKit/Source/web/WebMIDIPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebMediaPlayerClientImpl.cpp \ + third_party/WebKit/Source/web/WebMediaSourceImpl.cpp \ + third_party/WebKit/Source/web/WebMediaStreamRegistry.cpp \ + third_party/WebKit/Source/web/WebNetworkStateNotifier.cpp \ + third_party/WebKit/Source/web/WebNode.cpp \ + third_party/WebKit/Source/web/WebNodeCollection.cpp \ + third_party/WebKit/Source/web/WebNodeList.cpp \ + third_party/WebKit/Source/web/WebNotification.cpp \ + third_party/WebKit/Source/web/WebOptionElement.cpp \ + third_party/WebKit/Source/web/WebPagePopupImpl.cpp \ + third_party/WebKit/Source/web/WebPageSerializer.cpp \ + third_party/WebKit/Source/web/WebPageSerializerImpl.cpp \ + third_party/WebKit/Source/web/WebPasswordFormData.cpp \ + third_party/WebKit/Source/web/WebPasswordFormUtils.cpp \ + third_party/WebKit/Source/web/WebPerformance.cpp \ + third_party/WebKit/Source/web/WebPluginContainerImpl.cpp \ + third_party/WebKit/Source/web/WebPluginDocument.cpp \ + third_party/WebKit/Source/web/WebPluginLoadObserver.cpp \ + third_party/WebKit/Source/web/WebPluginScrollbarImpl.cpp \ + third_party/WebKit/Source/web/WebPopupMenuImpl.cpp \ + third_party/WebKit/Source/web/WebRange.cpp \ + third_party/WebKit/Source/web/WebRuntimeFeatures.cpp \ + third_party/WebKit/Source/web/WebScopedMicrotaskSuppression.cpp \ + third_party/WebKit/Source/web/WebScopedUserGesture.cpp \ + third_party/WebKit/Source/web/WebScriptBindings.cpp \ + third_party/WebKit/Source/web/WebScriptController.cpp \ + third_party/WebKit/Source/web/WebScrollbarThemePainter.cpp \ + third_party/WebKit/Source/web/WebSearchableFormData.cpp \ + third_party/WebKit/Source/web/WebSecurityOrigin.cpp \ + third_party/WebKit/Source/web/WebSecurityPolicy.cpp \ + third_party/WebKit/Source/web/WebSelectElement.cpp \ + third_party/WebKit/Source/web/WebSerializedScriptValue.cpp \ + third_party/WebKit/Source/web/WebSettingsImpl.cpp \ + third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp \ + third_party/WebKit/Source/web/WebSocket.cpp \ + third_party/WebKit/Source/web/WebSocketImpl.cpp \ + third_party/WebKit/Source/web/WebSpeechGrammar.cpp \ + third_party/WebKit/Source/web/WebSpeechInputResult.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionHandle.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionResult.cpp \ + third_party/WebKit/Source/web/WebStorageEventDispatcherImpl.cpp \ + third_party/WebKit/Source/web/WebSurroundingText.cpp \ + third_party/WebKit/Source/web/WebTextCheckingCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebTextCheckingResult.cpp \ + third_party/WebKit/Source/web/WebTextInputInfo.cpp \ + third_party/WebKit/Source/web/WebTextRun.cpp \ + third_party/WebKit/Source/web/WebURLLoadTiming.cpp \ + third_party/WebKit/Source/web/WebUserGestureIndicator.cpp \ + third_party/WebKit/Source/web/WebUserGestureToken.cpp \ + third_party/WebKit/Source/web/WebUserMediaRequest.cpp \ + third_party/WebKit/Source/web/WebViewBenchmarkSupportImpl.cpp \ + third_party/WebKit/Source/web/WebViewImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerBase.cpp \ + third_party/WebKit/Source/web/WebWorkerClientImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerInfo.cpp \ + third_party/WebKit/Source/web/WebWorkerRunLoop.cpp \ + third_party/WebKit/Source/web/WorkerAllowMainThreadBridgeBase.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemCallbacksBridge.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemClient.cpp \ + third_party/WebKit/Source/web/WorkerFileWriterCallbacksBridge.cpp \ + third_party/WebKit/Source/web/android/WebInputEventFactory.cpp \ + third_party/WebKit/Source/web/linux/WebFontRenderStyle.cpp \ + third_party/WebKit/Source/web/linux/WebFontRendering.cpp \ + third_party/WebKit/Source/web/painting/ContinuousPainter.cpp \ + third_party/WebKit/Source/web/painting/PaintAggregator.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + -Werror \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -fno-tree-sra \ + -fuse-ld=gold \ + -Wno-psabi \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-abi \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + -Werror \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -fno-tree-sra \ + -fuse-ld=gold \ + -Wno-psabi \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-abi \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -Wl,-z,relro \ + -Wl,-z,now \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--icf=safe \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -Wl,-z,relro \ + -Wl,-z,now \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--icf=safe \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + third_party_WebKit_Source_core_webcore_derived_gyp \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_webkit_gyp + +# Alias gyp target name. +.PHONY: webkit +webkit: third_party_WebKit_Source_web_webkit_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/webkit.target.darwin-mips.mk b/Source/web/webkit.target.darwin-mips.mk new file mode 100644 index 000000000..0d3ef852a --- /dev/null +++ b/Source/web/webkit.target.darwin-mips.mk @@ -0,0 +1,616 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_webkit_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,third_party_WebKit_Source_core_webcore_gyp)/webcore.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_WebKit_Source_core_webcore_derived_gyp)/third_party_WebKit_Source_core_webcore_derived_gyp.a \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \ + $(call intermediates-dir-for,GYP,third_party_npapi_npapi_gyp)/npapi.stamp \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/Platform.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebActiveGestureAnimation.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebArrayBuffer.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebAudioBus.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCrypto.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoAlgorithm.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoKey.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCursorInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceMotionData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceOrientationData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebFloatQuad.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPBody.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPLoadInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaConstraints.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStream.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamSource.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerender.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerenderingSupport.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCConfiguration.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCICECandidate.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescription.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsResponse.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCVoidRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeGeometryNative.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSocketStreamError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSourceInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisUtterance.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisVoice.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebThreadSafeData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebTransformKeyframe.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURL.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLResponse.cpp \ + third_party/WebKit/Source/web/ApplicationCacheHost.cpp \ + third_party/WebKit/Source/web/AssertMatchingEnums.cpp \ + third_party/WebKit/Source/web/AssociatedURLLoader.cpp \ + third_party/WebKit/Source/web/AsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/AsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/AutofillPopupMenuClient.cpp \ + third_party/WebKit/Source/web/BackForwardClientImpl.cpp \ + third_party/WebKit/Source/web/ChromeClientImpl.cpp \ + third_party/WebKit/Source/web/ColorChooserPopupUIController.cpp \ + third_party/WebKit/Source/web/ColorChooserUIController.cpp \ + third_party/WebKit/Source/web/CompositionUnderlineVectorBuilder.cpp \ + third_party/WebKit/Source/web/ContextFeaturesClientImpl.cpp \ + third_party/WebKit/Source/web/ContextMenuClientImpl.cpp \ + third_party/WebKit/Source/web/DOMUtilitiesPrivate.cpp \ + third_party/WebKit/Source/web/DatabaseObserver.cpp \ + third_party/WebKit/Source/web/DateTimeChooserImpl.cpp \ + third_party/WebKit/Source/web/DeviceOrientationClientProxy.cpp \ + third_party/WebKit/Source/web/DragClientImpl.cpp \ + third_party/WebKit/Source/web/EditorClientImpl.cpp \ + third_party/WebKit/Source/web/EventListenerWrapper.cpp \ + third_party/WebKit/Source/web/ExternalDateTimeChooser.cpp \ + third_party/WebKit/Source/web/ExternalPopupMenu.cpp \ + third_party/WebKit/Source/web/FindInPageCoordinates.cpp \ + third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp \ + third_party/WebKit/Source/web/FullscreenController.cpp \ + third_party/WebKit/Source/web/GeolocationClientProxy.cpp \ + third_party/WebKit/Source/web/GraphicsLayerFactoryChromium.cpp \ + third_party/WebKit/Source/web/IDBCursorBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBDatabaseBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBFactoryBackendProxy.cpp \ + third_party/WebKit/Source/web/InbandTextTrackPrivateImpl.cpp \ + third_party/WebKit/Source/web/InspectorClientImpl.cpp \ + third_party/WebKit/Source/web/InspectorFrontendClientImpl.cpp \ + third_party/WebKit/Source/web/LinkHighlight.cpp \ + third_party/WebKit/Source/web/LocalFileSystemClient.cpp \ + third_party/WebKit/Source/web/MIDIClientImpl.cpp \ + third_party/WebKit/Source/web/MediaSourcePrivateImpl.cpp \ + third_party/WebKit/Source/web/NotificationPresenterImpl.cpp \ + third_party/WebKit/Source/web/PageOverlay.cpp \ + third_party/WebKit/Source/web/PageOverlayList.cpp \ + third_party/WebKit/Source/web/PageWidgetDelegate.cpp \ + third_party/WebKit/Source/web/PinchViewports.cpp \ + third_party/WebKit/Source/web/PopupContainer.cpp \ + third_party/WebKit/Source/web/PopupListBox.cpp \ + third_party/WebKit/Source/web/PopupMenuChromium.cpp \ + third_party/WebKit/Source/web/PrerendererClientImpl.cpp \ + third_party/WebKit/Source/web/ScrollbarGroup.cpp \ + third_party/WebKit/Source/web/SharedWorkerRepository.cpp \ + third_party/WebKit/Source/web/SourceBufferPrivateImpl.cpp \ + third_party/WebKit/Source/web/SpeechInputClientImpl.cpp \ + third_party/WebKit/Source/web/SpeechRecognitionClientProxy.cpp \ + third_party/WebKit/Source/web/StorageAreaProxy.cpp \ + third_party/WebKit/Source/web/StorageNamespaceProxy.cpp \ + third_party/WebKit/Source/web/StorageQuotaChromium.cpp \ + third_party/WebKit/Source/web/UserMediaClientImpl.cpp \ + third_party/WebKit/Source/web/ValidationMessageClientImpl.cpp \ + third_party/WebKit/Source/web/ViewportAnchor.cpp \ + third_party/WebKit/Source/web/WebAccessibilityObject.cpp \ + third_party/WebKit/Source/web/WebArrayBufferView.cpp \ + third_party/WebKit/Source/web/WebBindings.cpp \ + third_party/WebKit/Source/web/WebBlob.cpp \ + third_party/WebKit/Source/web/WebBlobData.cpp \ + third_party/WebKit/Source/web/WebCache.cpp \ + third_party/WebKit/Source/web/WebCachedURLRequest.cpp \ + third_party/WebKit/Source/web/WebColorName.cpp \ + third_party/WebKit/Source/web/WebCrossOriginPreflightResultCache.cpp \ + third_party/WebKit/Source/web/WebDOMActivityLogger.cpp \ + third_party/WebKit/Source/web/WebDOMCustomEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEventListener.cpp \ + third_party/WebKit/Source/web/WebDOMEventListenerPrivate.cpp \ + third_party/WebKit/Source/web/WebDOMMessageEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMouseEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMutationEvent.cpp \ + third_party/WebKit/Source/web/WebDOMProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDOMResourceProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDataSourceImpl.cpp \ + third_party/WebKit/Source/web/WebDatabase.cpp \ + third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp \ + third_party/WebKit/Source/web/WebDevToolsFrontendImpl.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientation.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationClientMock.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationController.cpp \ + third_party/WebKit/Source/web/WebDocument.cpp \ + third_party/WebKit/Source/web/WebDocumentType.cpp \ + third_party/WebKit/Source/web/WebDragData.cpp \ + third_party/WebKit/Source/web/WebElement.cpp \ + third_party/WebKit/Source/web/WebEntities.cpp \ + third_party/WebKit/Source/web/WebFileChooserCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebFileSystemCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebFontCache.cpp \ + third_party/WebKit/Source/web/WebFontDescription.cpp \ + third_party/WebKit/Source/web/WebFontImpl.cpp \ + third_party/WebKit/Source/web/WebFormControlElement.cpp \ + third_party/WebKit/Source/web/WebFormElement.cpp \ + third_party/WebKit/Source/web/WebFrameImpl.cpp \ + third_party/WebKit/Source/web/WebGeolocationClientMock.cpp \ + third_party/WebKit/Source/web/WebGeolocationController.cpp \ + third_party/WebKit/Source/web/WebGeolocationError.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequestManager.cpp \ + third_party/WebKit/Source/web/WebGeolocationPosition.cpp \ + third_party/WebKit/Source/web/WebGlyphCache.cpp \ + third_party/WebKit/Source/web/WebHelperPluginImpl.cpp \ + third_party/WebKit/Source/web/WebHistoryItem.cpp \ + third_party/WebKit/Source/web/WebHitTestResult.cpp \ + third_party/WebKit/Source/web/WebIDBCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseError.cpp \ + third_party/WebKit/Source/web/WebIDBKey.cpp \ + third_party/WebKit/Source/web/WebIDBKeyPath.cpp \ + third_party/WebKit/Source/web/WebIDBKeyRange.cpp \ + third_party/WebKit/Source/web/WebIDBMetadata.cpp \ + third_party/WebKit/Source/web/WebImageCache.cpp \ + third_party/WebKit/Source/web/WebImageDecoder.cpp \ + third_party/WebKit/Source/web/WebImageSkia.cpp \ + third_party/WebKit/Source/web/WebInputElement.cpp \ + third_party/WebKit/Source/web/WebInputEvent.cpp \ + third_party/WebKit/Source/web/WebInputEventConversion.cpp \ + third_party/WebKit/Source/web/WebKit.cpp \ + third_party/WebKit/Source/web/WebLabelElement.cpp \ + third_party/WebKit/Source/web/WebMIDIPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebMediaPlayerClientImpl.cpp \ + third_party/WebKit/Source/web/WebMediaSourceImpl.cpp \ + third_party/WebKit/Source/web/WebMediaStreamRegistry.cpp \ + third_party/WebKit/Source/web/WebNetworkStateNotifier.cpp \ + third_party/WebKit/Source/web/WebNode.cpp \ + third_party/WebKit/Source/web/WebNodeCollection.cpp \ + third_party/WebKit/Source/web/WebNodeList.cpp \ + third_party/WebKit/Source/web/WebNotification.cpp \ + third_party/WebKit/Source/web/WebOptionElement.cpp \ + third_party/WebKit/Source/web/WebPagePopupImpl.cpp \ + third_party/WebKit/Source/web/WebPageSerializer.cpp \ + third_party/WebKit/Source/web/WebPageSerializerImpl.cpp \ + third_party/WebKit/Source/web/WebPasswordFormData.cpp \ + third_party/WebKit/Source/web/WebPasswordFormUtils.cpp \ + third_party/WebKit/Source/web/WebPerformance.cpp \ + third_party/WebKit/Source/web/WebPluginContainerImpl.cpp \ + third_party/WebKit/Source/web/WebPluginDocument.cpp \ + third_party/WebKit/Source/web/WebPluginLoadObserver.cpp \ + third_party/WebKit/Source/web/WebPluginScrollbarImpl.cpp \ + third_party/WebKit/Source/web/WebPopupMenuImpl.cpp \ + third_party/WebKit/Source/web/WebRange.cpp \ + third_party/WebKit/Source/web/WebRuntimeFeatures.cpp \ + third_party/WebKit/Source/web/WebScopedMicrotaskSuppression.cpp \ + third_party/WebKit/Source/web/WebScopedUserGesture.cpp \ + third_party/WebKit/Source/web/WebScriptBindings.cpp \ + third_party/WebKit/Source/web/WebScriptController.cpp \ + third_party/WebKit/Source/web/WebScrollbarThemePainter.cpp \ + third_party/WebKit/Source/web/WebSearchableFormData.cpp \ + third_party/WebKit/Source/web/WebSecurityOrigin.cpp \ + third_party/WebKit/Source/web/WebSecurityPolicy.cpp \ + third_party/WebKit/Source/web/WebSelectElement.cpp \ + third_party/WebKit/Source/web/WebSerializedScriptValue.cpp \ + third_party/WebKit/Source/web/WebSettingsImpl.cpp \ + third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp \ + third_party/WebKit/Source/web/WebSocket.cpp \ + third_party/WebKit/Source/web/WebSocketImpl.cpp \ + third_party/WebKit/Source/web/WebSpeechGrammar.cpp \ + third_party/WebKit/Source/web/WebSpeechInputResult.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionHandle.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionResult.cpp \ + third_party/WebKit/Source/web/WebStorageEventDispatcherImpl.cpp \ + third_party/WebKit/Source/web/WebSurroundingText.cpp \ + third_party/WebKit/Source/web/WebTextCheckingCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebTextCheckingResult.cpp \ + third_party/WebKit/Source/web/WebTextInputInfo.cpp \ + third_party/WebKit/Source/web/WebTextRun.cpp \ + third_party/WebKit/Source/web/WebURLLoadTiming.cpp \ + third_party/WebKit/Source/web/WebUserGestureIndicator.cpp \ + third_party/WebKit/Source/web/WebUserGestureToken.cpp \ + third_party/WebKit/Source/web/WebUserMediaRequest.cpp \ + third_party/WebKit/Source/web/WebViewBenchmarkSupportImpl.cpp \ + third_party/WebKit/Source/web/WebViewImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerBase.cpp \ + third_party/WebKit/Source/web/WebWorkerClientImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerInfo.cpp \ + third_party/WebKit/Source/web/WebWorkerRunLoop.cpp \ + third_party/WebKit/Source/web/WorkerAllowMainThreadBridgeBase.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemCallbacksBridge.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemClient.cpp \ + third_party/WebKit/Source/web/WorkerFileWriterCallbacksBridge.cpp \ + third_party/WebKit/Source/web/android/WebInputEventFactory.cpp \ + third_party/WebKit/Source/web/linux/WebFontRenderStyle.cpp \ + third_party/WebKit/Source/web/linux/WebFontRendering.cpp \ + third_party/WebKit/Source/web/painting/ContinuousPainter.cpp \ + third_party/WebKit/Source/web/painting/PaintAggregator.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -EL \ + -mhard-float \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-uninitialized \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -EL \ + -mhard-float \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-uninitialized \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -EL \ + -Wl,--no-keep-memory \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -EL \ + -Wl,--no-keep-memory \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + third_party_WebKit_Source_core_webcore_derived_gyp \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_webkit_gyp + +# Alias gyp target name. +.PHONY: webkit +webkit: third_party_WebKit_Source_web_webkit_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/webkit.target.darwin-x86.mk b/Source/web/webkit.target.darwin-x86.mk new file mode 100644 index 000000000..2c4a7772e --- /dev/null +++ b/Source/web/webkit.target.darwin-x86.mk @@ -0,0 +1,622 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_webkit_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,third_party_WebKit_Source_core_webcore_gyp)/webcore.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_WebKit_Source_core_webcore_derived_gyp)/third_party_WebKit_Source_core_webcore_derived_gyp.a \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \ + $(call intermediates-dir-for,GYP,third_party_npapi_npapi_gyp)/npapi.stamp \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/Platform.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebActiveGestureAnimation.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebArrayBuffer.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebAudioBus.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCrypto.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoAlgorithm.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoKey.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCursorInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceMotionData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceOrientationData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebFloatQuad.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPBody.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPLoadInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaConstraints.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStream.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamSource.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerender.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerenderingSupport.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCConfiguration.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCICECandidate.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescription.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsResponse.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCVoidRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeGeometryNative.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSocketStreamError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSourceInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisUtterance.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisVoice.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebThreadSafeData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebTransformKeyframe.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURL.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLResponse.cpp \ + third_party/WebKit/Source/web/ApplicationCacheHost.cpp \ + third_party/WebKit/Source/web/AssertMatchingEnums.cpp \ + third_party/WebKit/Source/web/AssociatedURLLoader.cpp \ + third_party/WebKit/Source/web/AsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/AsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/AutofillPopupMenuClient.cpp \ + third_party/WebKit/Source/web/BackForwardClientImpl.cpp \ + third_party/WebKit/Source/web/ChromeClientImpl.cpp \ + third_party/WebKit/Source/web/ColorChooserPopupUIController.cpp \ + third_party/WebKit/Source/web/ColorChooserUIController.cpp \ + third_party/WebKit/Source/web/CompositionUnderlineVectorBuilder.cpp \ + third_party/WebKit/Source/web/ContextFeaturesClientImpl.cpp \ + third_party/WebKit/Source/web/ContextMenuClientImpl.cpp \ + third_party/WebKit/Source/web/DOMUtilitiesPrivate.cpp \ + third_party/WebKit/Source/web/DatabaseObserver.cpp \ + third_party/WebKit/Source/web/DateTimeChooserImpl.cpp \ + third_party/WebKit/Source/web/DeviceOrientationClientProxy.cpp \ + third_party/WebKit/Source/web/DragClientImpl.cpp \ + third_party/WebKit/Source/web/EditorClientImpl.cpp \ + third_party/WebKit/Source/web/EventListenerWrapper.cpp \ + third_party/WebKit/Source/web/ExternalDateTimeChooser.cpp \ + third_party/WebKit/Source/web/ExternalPopupMenu.cpp \ + third_party/WebKit/Source/web/FindInPageCoordinates.cpp \ + third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp \ + third_party/WebKit/Source/web/FullscreenController.cpp \ + third_party/WebKit/Source/web/GeolocationClientProxy.cpp \ + third_party/WebKit/Source/web/GraphicsLayerFactoryChromium.cpp \ + third_party/WebKit/Source/web/IDBCursorBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBDatabaseBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBFactoryBackendProxy.cpp \ + third_party/WebKit/Source/web/InbandTextTrackPrivateImpl.cpp \ + third_party/WebKit/Source/web/InspectorClientImpl.cpp \ + third_party/WebKit/Source/web/InspectorFrontendClientImpl.cpp \ + third_party/WebKit/Source/web/LinkHighlight.cpp \ + third_party/WebKit/Source/web/LocalFileSystemClient.cpp \ + third_party/WebKit/Source/web/MIDIClientImpl.cpp \ + third_party/WebKit/Source/web/MediaSourcePrivateImpl.cpp \ + third_party/WebKit/Source/web/NotificationPresenterImpl.cpp \ + third_party/WebKit/Source/web/PageOverlay.cpp \ + third_party/WebKit/Source/web/PageOverlayList.cpp \ + third_party/WebKit/Source/web/PageWidgetDelegate.cpp \ + third_party/WebKit/Source/web/PinchViewports.cpp \ + third_party/WebKit/Source/web/PopupContainer.cpp \ + third_party/WebKit/Source/web/PopupListBox.cpp \ + third_party/WebKit/Source/web/PopupMenuChromium.cpp \ + third_party/WebKit/Source/web/PrerendererClientImpl.cpp \ + third_party/WebKit/Source/web/ScrollbarGroup.cpp \ + third_party/WebKit/Source/web/SharedWorkerRepository.cpp \ + third_party/WebKit/Source/web/SourceBufferPrivateImpl.cpp \ + third_party/WebKit/Source/web/SpeechInputClientImpl.cpp \ + third_party/WebKit/Source/web/SpeechRecognitionClientProxy.cpp \ + third_party/WebKit/Source/web/StorageAreaProxy.cpp \ + third_party/WebKit/Source/web/StorageNamespaceProxy.cpp \ + third_party/WebKit/Source/web/StorageQuotaChromium.cpp \ + third_party/WebKit/Source/web/UserMediaClientImpl.cpp \ + third_party/WebKit/Source/web/ValidationMessageClientImpl.cpp \ + third_party/WebKit/Source/web/ViewportAnchor.cpp \ + third_party/WebKit/Source/web/WebAccessibilityObject.cpp \ + third_party/WebKit/Source/web/WebArrayBufferView.cpp \ + third_party/WebKit/Source/web/WebBindings.cpp \ + third_party/WebKit/Source/web/WebBlob.cpp \ + third_party/WebKit/Source/web/WebBlobData.cpp \ + third_party/WebKit/Source/web/WebCache.cpp \ + third_party/WebKit/Source/web/WebCachedURLRequest.cpp \ + third_party/WebKit/Source/web/WebColorName.cpp \ + third_party/WebKit/Source/web/WebCrossOriginPreflightResultCache.cpp \ + third_party/WebKit/Source/web/WebDOMActivityLogger.cpp \ + third_party/WebKit/Source/web/WebDOMCustomEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEventListener.cpp \ + third_party/WebKit/Source/web/WebDOMEventListenerPrivate.cpp \ + third_party/WebKit/Source/web/WebDOMMessageEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMouseEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMutationEvent.cpp \ + third_party/WebKit/Source/web/WebDOMProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDOMResourceProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDataSourceImpl.cpp \ + third_party/WebKit/Source/web/WebDatabase.cpp \ + third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp \ + third_party/WebKit/Source/web/WebDevToolsFrontendImpl.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientation.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationClientMock.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationController.cpp \ + third_party/WebKit/Source/web/WebDocument.cpp \ + third_party/WebKit/Source/web/WebDocumentType.cpp \ + third_party/WebKit/Source/web/WebDragData.cpp \ + third_party/WebKit/Source/web/WebElement.cpp \ + third_party/WebKit/Source/web/WebEntities.cpp \ + third_party/WebKit/Source/web/WebFileChooserCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebFileSystemCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebFontCache.cpp \ + third_party/WebKit/Source/web/WebFontDescription.cpp \ + third_party/WebKit/Source/web/WebFontImpl.cpp \ + third_party/WebKit/Source/web/WebFormControlElement.cpp \ + third_party/WebKit/Source/web/WebFormElement.cpp \ + third_party/WebKit/Source/web/WebFrameImpl.cpp \ + third_party/WebKit/Source/web/WebGeolocationClientMock.cpp \ + third_party/WebKit/Source/web/WebGeolocationController.cpp \ + third_party/WebKit/Source/web/WebGeolocationError.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequestManager.cpp \ + third_party/WebKit/Source/web/WebGeolocationPosition.cpp \ + third_party/WebKit/Source/web/WebGlyphCache.cpp \ + third_party/WebKit/Source/web/WebHelperPluginImpl.cpp \ + third_party/WebKit/Source/web/WebHistoryItem.cpp \ + third_party/WebKit/Source/web/WebHitTestResult.cpp \ + third_party/WebKit/Source/web/WebIDBCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseError.cpp \ + third_party/WebKit/Source/web/WebIDBKey.cpp \ + third_party/WebKit/Source/web/WebIDBKeyPath.cpp \ + third_party/WebKit/Source/web/WebIDBKeyRange.cpp \ + third_party/WebKit/Source/web/WebIDBMetadata.cpp \ + third_party/WebKit/Source/web/WebImageCache.cpp \ + third_party/WebKit/Source/web/WebImageDecoder.cpp \ + third_party/WebKit/Source/web/WebImageSkia.cpp \ + third_party/WebKit/Source/web/WebInputElement.cpp \ + third_party/WebKit/Source/web/WebInputEvent.cpp \ + third_party/WebKit/Source/web/WebInputEventConversion.cpp \ + third_party/WebKit/Source/web/WebKit.cpp \ + third_party/WebKit/Source/web/WebLabelElement.cpp \ + third_party/WebKit/Source/web/WebMIDIPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebMediaPlayerClientImpl.cpp \ + third_party/WebKit/Source/web/WebMediaSourceImpl.cpp \ + third_party/WebKit/Source/web/WebMediaStreamRegistry.cpp \ + third_party/WebKit/Source/web/WebNetworkStateNotifier.cpp \ + third_party/WebKit/Source/web/WebNode.cpp \ + third_party/WebKit/Source/web/WebNodeCollection.cpp \ + third_party/WebKit/Source/web/WebNodeList.cpp \ + third_party/WebKit/Source/web/WebNotification.cpp \ + third_party/WebKit/Source/web/WebOptionElement.cpp \ + third_party/WebKit/Source/web/WebPagePopupImpl.cpp \ + third_party/WebKit/Source/web/WebPageSerializer.cpp \ + third_party/WebKit/Source/web/WebPageSerializerImpl.cpp \ + third_party/WebKit/Source/web/WebPasswordFormData.cpp \ + third_party/WebKit/Source/web/WebPasswordFormUtils.cpp \ + third_party/WebKit/Source/web/WebPerformance.cpp \ + third_party/WebKit/Source/web/WebPluginContainerImpl.cpp \ + third_party/WebKit/Source/web/WebPluginDocument.cpp \ + third_party/WebKit/Source/web/WebPluginLoadObserver.cpp \ + third_party/WebKit/Source/web/WebPluginScrollbarImpl.cpp \ + third_party/WebKit/Source/web/WebPopupMenuImpl.cpp \ + third_party/WebKit/Source/web/WebRange.cpp \ + third_party/WebKit/Source/web/WebRuntimeFeatures.cpp \ + third_party/WebKit/Source/web/WebScopedMicrotaskSuppression.cpp \ + third_party/WebKit/Source/web/WebScopedUserGesture.cpp \ + third_party/WebKit/Source/web/WebScriptBindings.cpp \ + third_party/WebKit/Source/web/WebScriptController.cpp \ + third_party/WebKit/Source/web/WebScrollbarThemePainter.cpp \ + third_party/WebKit/Source/web/WebSearchableFormData.cpp \ + third_party/WebKit/Source/web/WebSecurityOrigin.cpp \ + third_party/WebKit/Source/web/WebSecurityPolicy.cpp \ + third_party/WebKit/Source/web/WebSelectElement.cpp \ + third_party/WebKit/Source/web/WebSerializedScriptValue.cpp \ + third_party/WebKit/Source/web/WebSettingsImpl.cpp \ + third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp \ + third_party/WebKit/Source/web/WebSocket.cpp \ + third_party/WebKit/Source/web/WebSocketImpl.cpp \ + third_party/WebKit/Source/web/WebSpeechGrammar.cpp \ + third_party/WebKit/Source/web/WebSpeechInputResult.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionHandle.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionResult.cpp \ + third_party/WebKit/Source/web/WebStorageEventDispatcherImpl.cpp \ + third_party/WebKit/Source/web/WebSurroundingText.cpp \ + third_party/WebKit/Source/web/WebTextCheckingCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebTextCheckingResult.cpp \ + third_party/WebKit/Source/web/WebTextInputInfo.cpp \ + third_party/WebKit/Source/web/WebTextRun.cpp \ + third_party/WebKit/Source/web/WebURLLoadTiming.cpp \ + third_party/WebKit/Source/web/WebUserGestureIndicator.cpp \ + third_party/WebKit/Source/web/WebUserGestureToken.cpp \ + third_party/WebKit/Source/web/WebUserMediaRequest.cpp \ + third_party/WebKit/Source/web/WebViewBenchmarkSupportImpl.cpp \ + third_party/WebKit/Source/web/WebViewImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerBase.cpp \ + third_party/WebKit/Source/web/WebWorkerClientImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerInfo.cpp \ + third_party/WebKit/Source/web/WebWorkerRunLoop.cpp \ + third_party/WebKit/Source/web/WorkerAllowMainThreadBridgeBase.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemCallbacksBridge.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemClient.cpp \ + third_party/WebKit/Source/web/WorkerFileWriterCallbacksBridge.cpp \ + third_party/WebKit/Source/web/android/WebInputEventFactory.cpp \ + third_party/WebKit/Source/web/linux/WebFontRenderStyle.cpp \ + third_party/WebKit/Source/web/linux/WebFontRendering.cpp \ + third_party/WebKit/Source/web/painting/ContinuousPainter.cpp \ + third_party/WebKit/Source/web/painting/PaintAggregator.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + --param=ssp-buffer-size=4 \ + -Werror \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -m32 \ + -mmmx \ + -march=pentium4 \ + -msse2 \ + -mfpmath=sse \ + -fuse-ld=gold \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -fno-stack-protector \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + --param=ssp-buffer-size=4 \ + -Werror \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -m32 \ + -mmmx \ + -march=pentium4 \ + -msse2 \ + -mfpmath=sse \ + -fuse-ld=gold \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -fno-stack-protector \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer \ + -fno-unwind-tables \ + -fno-asynchronous-unwind-tables + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -m32 \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -m32 \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + third_party_WebKit_Source_core_webcore_derived_gyp \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_webkit_gyp + +# Alias gyp target name. +.PHONY: webkit +webkit: third_party_WebKit_Source_web_webkit_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/webkit.target.linux-arm.mk b/Source/web/webkit.target.linux-arm.mk new file mode 100644 index 000000000..dbf3a6405 --- /dev/null +++ b/Source/web/webkit.target.linux-arm.mk @@ -0,0 +1,622 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_webkit_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,third_party_WebKit_Source_core_webcore_gyp)/webcore.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_WebKit_Source_core_webcore_derived_gyp)/third_party_WebKit_Source_core_webcore_derived_gyp.a \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \ + $(call intermediates-dir-for,GYP,third_party_npapi_npapi_gyp)/npapi.stamp \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/Platform.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebActiveGestureAnimation.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebArrayBuffer.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebAudioBus.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCrypto.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoAlgorithm.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoKey.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCursorInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceMotionData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceOrientationData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebFloatQuad.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPBody.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPLoadInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaConstraints.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStream.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamSource.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerender.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerenderingSupport.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCConfiguration.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCICECandidate.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescription.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsResponse.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCVoidRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeGeometryNative.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSocketStreamError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSourceInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisUtterance.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisVoice.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebThreadSafeData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebTransformKeyframe.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURL.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLResponse.cpp \ + third_party/WebKit/Source/web/ApplicationCacheHost.cpp \ + third_party/WebKit/Source/web/AssertMatchingEnums.cpp \ + third_party/WebKit/Source/web/AssociatedURLLoader.cpp \ + third_party/WebKit/Source/web/AsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/AsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/AutofillPopupMenuClient.cpp \ + third_party/WebKit/Source/web/BackForwardClientImpl.cpp \ + third_party/WebKit/Source/web/ChromeClientImpl.cpp \ + third_party/WebKit/Source/web/ColorChooserPopupUIController.cpp \ + third_party/WebKit/Source/web/ColorChooserUIController.cpp \ + third_party/WebKit/Source/web/CompositionUnderlineVectorBuilder.cpp \ + third_party/WebKit/Source/web/ContextFeaturesClientImpl.cpp \ + third_party/WebKit/Source/web/ContextMenuClientImpl.cpp \ + third_party/WebKit/Source/web/DOMUtilitiesPrivate.cpp \ + third_party/WebKit/Source/web/DatabaseObserver.cpp \ + third_party/WebKit/Source/web/DateTimeChooserImpl.cpp \ + third_party/WebKit/Source/web/DeviceOrientationClientProxy.cpp \ + third_party/WebKit/Source/web/DragClientImpl.cpp \ + third_party/WebKit/Source/web/EditorClientImpl.cpp \ + third_party/WebKit/Source/web/EventListenerWrapper.cpp \ + third_party/WebKit/Source/web/ExternalDateTimeChooser.cpp \ + third_party/WebKit/Source/web/ExternalPopupMenu.cpp \ + third_party/WebKit/Source/web/FindInPageCoordinates.cpp \ + third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp \ + third_party/WebKit/Source/web/FullscreenController.cpp \ + third_party/WebKit/Source/web/GeolocationClientProxy.cpp \ + third_party/WebKit/Source/web/GraphicsLayerFactoryChromium.cpp \ + third_party/WebKit/Source/web/IDBCursorBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBDatabaseBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBFactoryBackendProxy.cpp \ + third_party/WebKit/Source/web/InbandTextTrackPrivateImpl.cpp \ + third_party/WebKit/Source/web/InspectorClientImpl.cpp \ + third_party/WebKit/Source/web/InspectorFrontendClientImpl.cpp \ + third_party/WebKit/Source/web/LinkHighlight.cpp \ + third_party/WebKit/Source/web/LocalFileSystemClient.cpp \ + third_party/WebKit/Source/web/MIDIClientImpl.cpp \ + third_party/WebKit/Source/web/MediaSourcePrivateImpl.cpp \ + third_party/WebKit/Source/web/NotificationPresenterImpl.cpp \ + third_party/WebKit/Source/web/PageOverlay.cpp \ + third_party/WebKit/Source/web/PageOverlayList.cpp \ + third_party/WebKit/Source/web/PageWidgetDelegate.cpp \ + third_party/WebKit/Source/web/PinchViewports.cpp \ + third_party/WebKit/Source/web/PopupContainer.cpp \ + third_party/WebKit/Source/web/PopupListBox.cpp \ + third_party/WebKit/Source/web/PopupMenuChromium.cpp \ + third_party/WebKit/Source/web/PrerendererClientImpl.cpp \ + third_party/WebKit/Source/web/ScrollbarGroup.cpp \ + third_party/WebKit/Source/web/SharedWorkerRepository.cpp \ + third_party/WebKit/Source/web/SourceBufferPrivateImpl.cpp \ + third_party/WebKit/Source/web/SpeechInputClientImpl.cpp \ + third_party/WebKit/Source/web/SpeechRecognitionClientProxy.cpp \ + third_party/WebKit/Source/web/StorageAreaProxy.cpp \ + third_party/WebKit/Source/web/StorageNamespaceProxy.cpp \ + third_party/WebKit/Source/web/StorageQuotaChromium.cpp \ + third_party/WebKit/Source/web/UserMediaClientImpl.cpp \ + third_party/WebKit/Source/web/ValidationMessageClientImpl.cpp \ + third_party/WebKit/Source/web/ViewportAnchor.cpp \ + third_party/WebKit/Source/web/WebAccessibilityObject.cpp \ + third_party/WebKit/Source/web/WebArrayBufferView.cpp \ + third_party/WebKit/Source/web/WebBindings.cpp \ + third_party/WebKit/Source/web/WebBlob.cpp \ + third_party/WebKit/Source/web/WebBlobData.cpp \ + third_party/WebKit/Source/web/WebCache.cpp \ + third_party/WebKit/Source/web/WebCachedURLRequest.cpp \ + third_party/WebKit/Source/web/WebColorName.cpp \ + third_party/WebKit/Source/web/WebCrossOriginPreflightResultCache.cpp \ + third_party/WebKit/Source/web/WebDOMActivityLogger.cpp \ + third_party/WebKit/Source/web/WebDOMCustomEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEventListener.cpp \ + third_party/WebKit/Source/web/WebDOMEventListenerPrivate.cpp \ + third_party/WebKit/Source/web/WebDOMMessageEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMouseEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMutationEvent.cpp \ + third_party/WebKit/Source/web/WebDOMProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDOMResourceProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDataSourceImpl.cpp \ + third_party/WebKit/Source/web/WebDatabase.cpp \ + third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp \ + third_party/WebKit/Source/web/WebDevToolsFrontendImpl.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientation.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationClientMock.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationController.cpp \ + third_party/WebKit/Source/web/WebDocument.cpp \ + third_party/WebKit/Source/web/WebDocumentType.cpp \ + third_party/WebKit/Source/web/WebDragData.cpp \ + third_party/WebKit/Source/web/WebElement.cpp \ + third_party/WebKit/Source/web/WebEntities.cpp \ + third_party/WebKit/Source/web/WebFileChooserCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebFileSystemCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebFontCache.cpp \ + third_party/WebKit/Source/web/WebFontDescription.cpp \ + third_party/WebKit/Source/web/WebFontImpl.cpp \ + third_party/WebKit/Source/web/WebFormControlElement.cpp \ + third_party/WebKit/Source/web/WebFormElement.cpp \ + third_party/WebKit/Source/web/WebFrameImpl.cpp \ + third_party/WebKit/Source/web/WebGeolocationClientMock.cpp \ + third_party/WebKit/Source/web/WebGeolocationController.cpp \ + third_party/WebKit/Source/web/WebGeolocationError.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequestManager.cpp \ + third_party/WebKit/Source/web/WebGeolocationPosition.cpp \ + third_party/WebKit/Source/web/WebGlyphCache.cpp \ + third_party/WebKit/Source/web/WebHelperPluginImpl.cpp \ + third_party/WebKit/Source/web/WebHistoryItem.cpp \ + third_party/WebKit/Source/web/WebHitTestResult.cpp \ + third_party/WebKit/Source/web/WebIDBCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseError.cpp \ + third_party/WebKit/Source/web/WebIDBKey.cpp \ + third_party/WebKit/Source/web/WebIDBKeyPath.cpp \ + third_party/WebKit/Source/web/WebIDBKeyRange.cpp \ + third_party/WebKit/Source/web/WebIDBMetadata.cpp \ + third_party/WebKit/Source/web/WebImageCache.cpp \ + third_party/WebKit/Source/web/WebImageDecoder.cpp \ + third_party/WebKit/Source/web/WebImageSkia.cpp \ + third_party/WebKit/Source/web/WebInputElement.cpp \ + third_party/WebKit/Source/web/WebInputEvent.cpp \ + third_party/WebKit/Source/web/WebInputEventConversion.cpp \ + third_party/WebKit/Source/web/WebKit.cpp \ + third_party/WebKit/Source/web/WebLabelElement.cpp \ + third_party/WebKit/Source/web/WebMIDIPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebMediaPlayerClientImpl.cpp \ + third_party/WebKit/Source/web/WebMediaSourceImpl.cpp \ + third_party/WebKit/Source/web/WebMediaStreamRegistry.cpp \ + third_party/WebKit/Source/web/WebNetworkStateNotifier.cpp \ + third_party/WebKit/Source/web/WebNode.cpp \ + third_party/WebKit/Source/web/WebNodeCollection.cpp \ + third_party/WebKit/Source/web/WebNodeList.cpp \ + third_party/WebKit/Source/web/WebNotification.cpp \ + third_party/WebKit/Source/web/WebOptionElement.cpp \ + third_party/WebKit/Source/web/WebPagePopupImpl.cpp \ + third_party/WebKit/Source/web/WebPageSerializer.cpp \ + third_party/WebKit/Source/web/WebPageSerializerImpl.cpp \ + third_party/WebKit/Source/web/WebPasswordFormData.cpp \ + third_party/WebKit/Source/web/WebPasswordFormUtils.cpp \ + third_party/WebKit/Source/web/WebPerformance.cpp \ + third_party/WebKit/Source/web/WebPluginContainerImpl.cpp \ + third_party/WebKit/Source/web/WebPluginDocument.cpp \ + third_party/WebKit/Source/web/WebPluginLoadObserver.cpp \ + third_party/WebKit/Source/web/WebPluginScrollbarImpl.cpp \ + third_party/WebKit/Source/web/WebPopupMenuImpl.cpp \ + third_party/WebKit/Source/web/WebRange.cpp \ + third_party/WebKit/Source/web/WebRuntimeFeatures.cpp \ + third_party/WebKit/Source/web/WebScopedMicrotaskSuppression.cpp \ + third_party/WebKit/Source/web/WebScopedUserGesture.cpp \ + third_party/WebKit/Source/web/WebScriptBindings.cpp \ + third_party/WebKit/Source/web/WebScriptController.cpp \ + third_party/WebKit/Source/web/WebScrollbarThemePainter.cpp \ + third_party/WebKit/Source/web/WebSearchableFormData.cpp \ + third_party/WebKit/Source/web/WebSecurityOrigin.cpp \ + third_party/WebKit/Source/web/WebSecurityPolicy.cpp \ + third_party/WebKit/Source/web/WebSelectElement.cpp \ + third_party/WebKit/Source/web/WebSerializedScriptValue.cpp \ + third_party/WebKit/Source/web/WebSettingsImpl.cpp \ + third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp \ + third_party/WebKit/Source/web/WebSocket.cpp \ + third_party/WebKit/Source/web/WebSocketImpl.cpp \ + third_party/WebKit/Source/web/WebSpeechGrammar.cpp \ + third_party/WebKit/Source/web/WebSpeechInputResult.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionHandle.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionResult.cpp \ + third_party/WebKit/Source/web/WebStorageEventDispatcherImpl.cpp \ + third_party/WebKit/Source/web/WebSurroundingText.cpp \ + third_party/WebKit/Source/web/WebTextCheckingCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebTextCheckingResult.cpp \ + third_party/WebKit/Source/web/WebTextInputInfo.cpp \ + third_party/WebKit/Source/web/WebTextRun.cpp \ + third_party/WebKit/Source/web/WebURLLoadTiming.cpp \ + third_party/WebKit/Source/web/WebUserGestureIndicator.cpp \ + third_party/WebKit/Source/web/WebUserGestureToken.cpp \ + third_party/WebKit/Source/web/WebUserMediaRequest.cpp \ + third_party/WebKit/Source/web/WebViewBenchmarkSupportImpl.cpp \ + third_party/WebKit/Source/web/WebViewImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerBase.cpp \ + third_party/WebKit/Source/web/WebWorkerClientImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerInfo.cpp \ + third_party/WebKit/Source/web/WebWorkerRunLoop.cpp \ + third_party/WebKit/Source/web/WorkerAllowMainThreadBridgeBase.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemCallbacksBridge.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemClient.cpp \ + third_party/WebKit/Source/web/WorkerFileWriterCallbacksBridge.cpp \ + third_party/WebKit/Source/web/android/WebInputEventFactory.cpp \ + third_party/WebKit/Source/web/linux/WebFontRenderStyle.cpp \ + third_party/WebKit/Source/web/linux/WebFontRendering.cpp \ + third_party/WebKit/Source/web/painting/ContinuousPainter.cpp \ + third_party/WebKit/Source/web/painting/PaintAggregator.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + -Werror \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -fno-tree-sra \ + -fuse-ld=gold \ + -Wno-psabi \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-abi \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + -Werror \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -fno-tree-sra \ + -fuse-ld=gold \ + -Wno-psabi \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-abi \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -Wl,-z,relro \ + -Wl,-z,now \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--icf=safe \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -Wl,-z,relro \ + -Wl,-z,now \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--icf=safe \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + third_party_WebKit_Source_core_webcore_derived_gyp \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_webkit_gyp + +# Alias gyp target name. +.PHONY: webkit +webkit: third_party_WebKit_Source_web_webkit_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/webkit.target.linux-mips.mk b/Source/web/webkit.target.linux-mips.mk new file mode 100644 index 000000000..0d3ef852a --- /dev/null +++ b/Source/web/webkit.target.linux-mips.mk @@ -0,0 +1,616 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_webkit_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,third_party_WebKit_Source_core_webcore_gyp)/webcore.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_WebKit_Source_core_webcore_derived_gyp)/third_party_WebKit_Source_core_webcore_derived_gyp.a \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \ + $(call intermediates-dir-for,GYP,third_party_npapi_npapi_gyp)/npapi.stamp \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/Platform.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebActiveGestureAnimation.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebArrayBuffer.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebAudioBus.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCrypto.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoAlgorithm.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoKey.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCursorInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceMotionData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceOrientationData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebFloatQuad.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPBody.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPLoadInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaConstraints.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStream.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamSource.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerender.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerenderingSupport.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCConfiguration.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCICECandidate.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescription.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsResponse.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCVoidRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeGeometryNative.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSocketStreamError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSourceInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisUtterance.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisVoice.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebThreadSafeData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebTransformKeyframe.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURL.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLResponse.cpp \ + third_party/WebKit/Source/web/ApplicationCacheHost.cpp \ + third_party/WebKit/Source/web/AssertMatchingEnums.cpp \ + third_party/WebKit/Source/web/AssociatedURLLoader.cpp \ + third_party/WebKit/Source/web/AsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/AsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/AutofillPopupMenuClient.cpp \ + third_party/WebKit/Source/web/BackForwardClientImpl.cpp \ + third_party/WebKit/Source/web/ChromeClientImpl.cpp \ + third_party/WebKit/Source/web/ColorChooserPopupUIController.cpp \ + third_party/WebKit/Source/web/ColorChooserUIController.cpp \ + third_party/WebKit/Source/web/CompositionUnderlineVectorBuilder.cpp \ + third_party/WebKit/Source/web/ContextFeaturesClientImpl.cpp \ + third_party/WebKit/Source/web/ContextMenuClientImpl.cpp \ + third_party/WebKit/Source/web/DOMUtilitiesPrivate.cpp \ + third_party/WebKit/Source/web/DatabaseObserver.cpp \ + third_party/WebKit/Source/web/DateTimeChooserImpl.cpp \ + third_party/WebKit/Source/web/DeviceOrientationClientProxy.cpp \ + third_party/WebKit/Source/web/DragClientImpl.cpp \ + third_party/WebKit/Source/web/EditorClientImpl.cpp \ + third_party/WebKit/Source/web/EventListenerWrapper.cpp \ + third_party/WebKit/Source/web/ExternalDateTimeChooser.cpp \ + third_party/WebKit/Source/web/ExternalPopupMenu.cpp \ + third_party/WebKit/Source/web/FindInPageCoordinates.cpp \ + third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp \ + third_party/WebKit/Source/web/FullscreenController.cpp \ + third_party/WebKit/Source/web/GeolocationClientProxy.cpp \ + third_party/WebKit/Source/web/GraphicsLayerFactoryChromium.cpp \ + third_party/WebKit/Source/web/IDBCursorBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBDatabaseBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBFactoryBackendProxy.cpp \ + third_party/WebKit/Source/web/InbandTextTrackPrivateImpl.cpp \ + third_party/WebKit/Source/web/InspectorClientImpl.cpp \ + third_party/WebKit/Source/web/InspectorFrontendClientImpl.cpp \ + third_party/WebKit/Source/web/LinkHighlight.cpp \ + third_party/WebKit/Source/web/LocalFileSystemClient.cpp \ + third_party/WebKit/Source/web/MIDIClientImpl.cpp \ + third_party/WebKit/Source/web/MediaSourcePrivateImpl.cpp \ + third_party/WebKit/Source/web/NotificationPresenterImpl.cpp \ + third_party/WebKit/Source/web/PageOverlay.cpp \ + third_party/WebKit/Source/web/PageOverlayList.cpp \ + third_party/WebKit/Source/web/PageWidgetDelegate.cpp \ + third_party/WebKit/Source/web/PinchViewports.cpp \ + third_party/WebKit/Source/web/PopupContainer.cpp \ + third_party/WebKit/Source/web/PopupListBox.cpp \ + third_party/WebKit/Source/web/PopupMenuChromium.cpp \ + third_party/WebKit/Source/web/PrerendererClientImpl.cpp \ + third_party/WebKit/Source/web/ScrollbarGroup.cpp \ + third_party/WebKit/Source/web/SharedWorkerRepository.cpp \ + third_party/WebKit/Source/web/SourceBufferPrivateImpl.cpp \ + third_party/WebKit/Source/web/SpeechInputClientImpl.cpp \ + third_party/WebKit/Source/web/SpeechRecognitionClientProxy.cpp \ + third_party/WebKit/Source/web/StorageAreaProxy.cpp \ + third_party/WebKit/Source/web/StorageNamespaceProxy.cpp \ + third_party/WebKit/Source/web/StorageQuotaChromium.cpp \ + third_party/WebKit/Source/web/UserMediaClientImpl.cpp \ + third_party/WebKit/Source/web/ValidationMessageClientImpl.cpp \ + third_party/WebKit/Source/web/ViewportAnchor.cpp \ + third_party/WebKit/Source/web/WebAccessibilityObject.cpp \ + third_party/WebKit/Source/web/WebArrayBufferView.cpp \ + third_party/WebKit/Source/web/WebBindings.cpp \ + third_party/WebKit/Source/web/WebBlob.cpp \ + third_party/WebKit/Source/web/WebBlobData.cpp \ + third_party/WebKit/Source/web/WebCache.cpp \ + third_party/WebKit/Source/web/WebCachedURLRequest.cpp \ + third_party/WebKit/Source/web/WebColorName.cpp \ + third_party/WebKit/Source/web/WebCrossOriginPreflightResultCache.cpp \ + third_party/WebKit/Source/web/WebDOMActivityLogger.cpp \ + third_party/WebKit/Source/web/WebDOMCustomEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEventListener.cpp \ + third_party/WebKit/Source/web/WebDOMEventListenerPrivate.cpp \ + third_party/WebKit/Source/web/WebDOMMessageEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMouseEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMutationEvent.cpp \ + third_party/WebKit/Source/web/WebDOMProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDOMResourceProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDataSourceImpl.cpp \ + third_party/WebKit/Source/web/WebDatabase.cpp \ + third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp \ + third_party/WebKit/Source/web/WebDevToolsFrontendImpl.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientation.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationClientMock.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationController.cpp \ + third_party/WebKit/Source/web/WebDocument.cpp \ + third_party/WebKit/Source/web/WebDocumentType.cpp \ + third_party/WebKit/Source/web/WebDragData.cpp \ + third_party/WebKit/Source/web/WebElement.cpp \ + third_party/WebKit/Source/web/WebEntities.cpp \ + third_party/WebKit/Source/web/WebFileChooserCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebFileSystemCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebFontCache.cpp \ + third_party/WebKit/Source/web/WebFontDescription.cpp \ + third_party/WebKit/Source/web/WebFontImpl.cpp \ + third_party/WebKit/Source/web/WebFormControlElement.cpp \ + third_party/WebKit/Source/web/WebFormElement.cpp \ + third_party/WebKit/Source/web/WebFrameImpl.cpp \ + third_party/WebKit/Source/web/WebGeolocationClientMock.cpp \ + third_party/WebKit/Source/web/WebGeolocationController.cpp \ + third_party/WebKit/Source/web/WebGeolocationError.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequestManager.cpp \ + third_party/WebKit/Source/web/WebGeolocationPosition.cpp \ + third_party/WebKit/Source/web/WebGlyphCache.cpp \ + third_party/WebKit/Source/web/WebHelperPluginImpl.cpp \ + third_party/WebKit/Source/web/WebHistoryItem.cpp \ + third_party/WebKit/Source/web/WebHitTestResult.cpp \ + third_party/WebKit/Source/web/WebIDBCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseError.cpp \ + third_party/WebKit/Source/web/WebIDBKey.cpp \ + third_party/WebKit/Source/web/WebIDBKeyPath.cpp \ + third_party/WebKit/Source/web/WebIDBKeyRange.cpp \ + third_party/WebKit/Source/web/WebIDBMetadata.cpp \ + third_party/WebKit/Source/web/WebImageCache.cpp \ + third_party/WebKit/Source/web/WebImageDecoder.cpp \ + third_party/WebKit/Source/web/WebImageSkia.cpp \ + third_party/WebKit/Source/web/WebInputElement.cpp \ + third_party/WebKit/Source/web/WebInputEvent.cpp \ + third_party/WebKit/Source/web/WebInputEventConversion.cpp \ + third_party/WebKit/Source/web/WebKit.cpp \ + third_party/WebKit/Source/web/WebLabelElement.cpp \ + third_party/WebKit/Source/web/WebMIDIPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebMediaPlayerClientImpl.cpp \ + third_party/WebKit/Source/web/WebMediaSourceImpl.cpp \ + third_party/WebKit/Source/web/WebMediaStreamRegistry.cpp \ + third_party/WebKit/Source/web/WebNetworkStateNotifier.cpp \ + third_party/WebKit/Source/web/WebNode.cpp \ + third_party/WebKit/Source/web/WebNodeCollection.cpp \ + third_party/WebKit/Source/web/WebNodeList.cpp \ + third_party/WebKit/Source/web/WebNotification.cpp \ + third_party/WebKit/Source/web/WebOptionElement.cpp \ + third_party/WebKit/Source/web/WebPagePopupImpl.cpp \ + third_party/WebKit/Source/web/WebPageSerializer.cpp \ + third_party/WebKit/Source/web/WebPageSerializerImpl.cpp \ + third_party/WebKit/Source/web/WebPasswordFormData.cpp \ + third_party/WebKit/Source/web/WebPasswordFormUtils.cpp \ + third_party/WebKit/Source/web/WebPerformance.cpp \ + third_party/WebKit/Source/web/WebPluginContainerImpl.cpp \ + third_party/WebKit/Source/web/WebPluginDocument.cpp \ + third_party/WebKit/Source/web/WebPluginLoadObserver.cpp \ + third_party/WebKit/Source/web/WebPluginScrollbarImpl.cpp \ + third_party/WebKit/Source/web/WebPopupMenuImpl.cpp \ + third_party/WebKit/Source/web/WebRange.cpp \ + third_party/WebKit/Source/web/WebRuntimeFeatures.cpp \ + third_party/WebKit/Source/web/WebScopedMicrotaskSuppression.cpp \ + third_party/WebKit/Source/web/WebScopedUserGesture.cpp \ + third_party/WebKit/Source/web/WebScriptBindings.cpp \ + third_party/WebKit/Source/web/WebScriptController.cpp \ + third_party/WebKit/Source/web/WebScrollbarThemePainter.cpp \ + third_party/WebKit/Source/web/WebSearchableFormData.cpp \ + third_party/WebKit/Source/web/WebSecurityOrigin.cpp \ + third_party/WebKit/Source/web/WebSecurityPolicy.cpp \ + third_party/WebKit/Source/web/WebSelectElement.cpp \ + third_party/WebKit/Source/web/WebSerializedScriptValue.cpp \ + third_party/WebKit/Source/web/WebSettingsImpl.cpp \ + third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp \ + third_party/WebKit/Source/web/WebSocket.cpp \ + third_party/WebKit/Source/web/WebSocketImpl.cpp \ + third_party/WebKit/Source/web/WebSpeechGrammar.cpp \ + third_party/WebKit/Source/web/WebSpeechInputResult.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionHandle.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionResult.cpp \ + third_party/WebKit/Source/web/WebStorageEventDispatcherImpl.cpp \ + third_party/WebKit/Source/web/WebSurroundingText.cpp \ + third_party/WebKit/Source/web/WebTextCheckingCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebTextCheckingResult.cpp \ + third_party/WebKit/Source/web/WebTextInputInfo.cpp \ + third_party/WebKit/Source/web/WebTextRun.cpp \ + third_party/WebKit/Source/web/WebURLLoadTiming.cpp \ + third_party/WebKit/Source/web/WebUserGestureIndicator.cpp \ + third_party/WebKit/Source/web/WebUserGestureToken.cpp \ + third_party/WebKit/Source/web/WebUserMediaRequest.cpp \ + third_party/WebKit/Source/web/WebViewBenchmarkSupportImpl.cpp \ + third_party/WebKit/Source/web/WebViewImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerBase.cpp \ + third_party/WebKit/Source/web/WebWorkerClientImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerInfo.cpp \ + third_party/WebKit/Source/web/WebWorkerRunLoop.cpp \ + third_party/WebKit/Source/web/WorkerAllowMainThreadBridgeBase.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemCallbacksBridge.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemClient.cpp \ + third_party/WebKit/Source/web/WorkerFileWriterCallbacksBridge.cpp \ + third_party/WebKit/Source/web/android/WebInputEventFactory.cpp \ + third_party/WebKit/Source/web/linux/WebFontRenderStyle.cpp \ + third_party/WebKit/Source/web/linux/WebFontRendering.cpp \ + third_party/WebKit/Source/web/painting/ContinuousPainter.cpp \ + third_party/WebKit/Source/web/painting/PaintAggregator.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -EL \ + -mhard-float \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-uninitialized \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + -fstack-protector \ + --param=ssp-buffer-size=4 \ + \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -EL \ + -mhard-float \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fstack-protector \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-uninitialized \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -EL \ + -Wl,--no-keep-memory \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -EL \ + -Wl,--no-keep-memory \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + third_party_WebKit_Source_core_webcore_derived_gyp \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_webkit_gyp + +# Alias gyp target name. +.PHONY: webkit +webkit: third_party_WebKit_Source_web_webkit_gyp + +include $(BUILD_STATIC_LIBRARY) diff --git a/Source/web/webkit.target.linux-x86.mk b/Source/web/webkit.target.linux-x86.mk new file mode 100644 index 000000000..2c4a7772e --- /dev/null +++ b/Source/web/webkit.target.linux-x86.mk @@ -0,0 +1,622 @@ +# This file is generated by gyp; do not edit. + +include $(CLEAR_VARS) + +LOCAL_MODULE_CLASS := STATIC_LIBRARIES +LOCAL_MODULE := third_party_WebKit_Source_web_webkit_gyp +LOCAL_MODULE_SUFFIX := .a +LOCAL_MODULE_TAGS := optional +gyp_intermediate_dir := $(call local-intermediates-dir) +gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared) + +# Make sure our deps are built first. +GYP_TARGET_DEPENDENCIES := \ + $(call intermediates-dir-for,GYP,third_party_WebKit_Source_core_webcore_gyp)/webcore.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,third_party_WebKit_Source_core_webcore_derived_gyp)/third_party_WebKit_Source_core_webcore_derived_gyp.a \ + $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \ + $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \ + $(call intermediates-dir-for,GYP,third_party_icu_icuuc_gyp)/icuuc.stamp \ + $(call intermediates-dir-for,GYP,third_party_npapi_npapi_gyp)/npapi.stamp \ + $(call intermediates-dir-for,GYP,v8_tools_gyp_v8_gyp)/v8.stamp + +GYP_GENERATED_OUTPUTS := + +# Make sure our deps and generated files are built first. +LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS) + +LOCAL_GENERATED_SOURCES := + +GYP_COPIED_SOURCE_ORIGIN_DIRS := + +LOCAL_SRC_FILES := \ + third_party/WebKit/Source/core/platform/chromium/support/Platform.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebActiveGestureAnimation.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebArrayBuffer.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebAudioBus.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCrypto.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoAlgorithm.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCryptoKey.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebCursorInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceMotionData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebDeviceOrientationData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebFloatQuad.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPBody.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebHTTPLoadInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaConstraints.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStream.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamSource.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebMediaStreamTrack.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerender.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebPrerenderingSupport.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCConfiguration.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCICECandidate.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescription.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCStatsResponse.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebRTCVoidRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebScrollbarThemeGeometryNative.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSocketStreamError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSourceInfo.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisUtterance.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesisVoice.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebThreadSafeData.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebTransformKeyframe.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURL.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLError.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLRequest.cpp \ + third_party/WebKit/Source/core/platform/chromium/support/WebURLResponse.cpp \ + third_party/WebKit/Source/web/ApplicationCacheHost.cpp \ + third_party/WebKit/Source/web/AssertMatchingEnums.cpp \ + third_party/WebKit/Source/web/AssociatedURLLoader.cpp \ + third_party/WebKit/Source/web/AsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/AsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/AutofillPopupMenuClient.cpp \ + third_party/WebKit/Source/web/BackForwardClientImpl.cpp \ + third_party/WebKit/Source/web/ChromeClientImpl.cpp \ + third_party/WebKit/Source/web/ColorChooserPopupUIController.cpp \ + third_party/WebKit/Source/web/ColorChooserUIController.cpp \ + third_party/WebKit/Source/web/CompositionUnderlineVectorBuilder.cpp \ + third_party/WebKit/Source/web/ContextFeaturesClientImpl.cpp \ + third_party/WebKit/Source/web/ContextMenuClientImpl.cpp \ + third_party/WebKit/Source/web/DOMUtilitiesPrivate.cpp \ + third_party/WebKit/Source/web/DatabaseObserver.cpp \ + third_party/WebKit/Source/web/DateTimeChooserImpl.cpp \ + third_party/WebKit/Source/web/DeviceOrientationClientProxy.cpp \ + third_party/WebKit/Source/web/DragClientImpl.cpp \ + third_party/WebKit/Source/web/EditorClientImpl.cpp \ + third_party/WebKit/Source/web/EventListenerWrapper.cpp \ + third_party/WebKit/Source/web/ExternalDateTimeChooser.cpp \ + third_party/WebKit/Source/web/ExternalPopupMenu.cpp \ + third_party/WebKit/Source/web/FindInPageCoordinates.cpp \ + third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp \ + third_party/WebKit/Source/web/FullscreenController.cpp \ + third_party/WebKit/Source/web/GeolocationClientProxy.cpp \ + third_party/WebKit/Source/web/GraphicsLayerFactoryChromium.cpp \ + third_party/WebKit/Source/web/IDBCursorBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBDatabaseBackendProxy.cpp \ + third_party/WebKit/Source/web/IDBFactoryBackendProxy.cpp \ + third_party/WebKit/Source/web/InbandTextTrackPrivateImpl.cpp \ + third_party/WebKit/Source/web/InspectorClientImpl.cpp \ + third_party/WebKit/Source/web/InspectorFrontendClientImpl.cpp \ + third_party/WebKit/Source/web/LinkHighlight.cpp \ + third_party/WebKit/Source/web/LocalFileSystemClient.cpp \ + third_party/WebKit/Source/web/MIDIClientImpl.cpp \ + third_party/WebKit/Source/web/MediaSourcePrivateImpl.cpp \ + third_party/WebKit/Source/web/NotificationPresenterImpl.cpp \ + third_party/WebKit/Source/web/PageOverlay.cpp \ + third_party/WebKit/Source/web/PageOverlayList.cpp \ + third_party/WebKit/Source/web/PageWidgetDelegate.cpp \ + third_party/WebKit/Source/web/PinchViewports.cpp \ + third_party/WebKit/Source/web/PopupContainer.cpp \ + third_party/WebKit/Source/web/PopupListBox.cpp \ + third_party/WebKit/Source/web/PopupMenuChromium.cpp \ + third_party/WebKit/Source/web/PrerendererClientImpl.cpp \ + third_party/WebKit/Source/web/ScrollbarGroup.cpp \ + third_party/WebKit/Source/web/SharedWorkerRepository.cpp \ + third_party/WebKit/Source/web/SourceBufferPrivateImpl.cpp \ + third_party/WebKit/Source/web/SpeechInputClientImpl.cpp \ + third_party/WebKit/Source/web/SpeechRecognitionClientProxy.cpp \ + third_party/WebKit/Source/web/StorageAreaProxy.cpp \ + third_party/WebKit/Source/web/StorageNamespaceProxy.cpp \ + third_party/WebKit/Source/web/StorageQuotaChromium.cpp \ + third_party/WebKit/Source/web/UserMediaClientImpl.cpp \ + third_party/WebKit/Source/web/ValidationMessageClientImpl.cpp \ + third_party/WebKit/Source/web/ViewportAnchor.cpp \ + third_party/WebKit/Source/web/WebAccessibilityObject.cpp \ + third_party/WebKit/Source/web/WebArrayBufferView.cpp \ + third_party/WebKit/Source/web/WebBindings.cpp \ + third_party/WebKit/Source/web/WebBlob.cpp \ + third_party/WebKit/Source/web/WebBlobData.cpp \ + third_party/WebKit/Source/web/WebCache.cpp \ + third_party/WebKit/Source/web/WebCachedURLRequest.cpp \ + third_party/WebKit/Source/web/WebColorName.cpp \ + third_party/WebKit/Source/web/WebCrossOriginPreflightResultCache.cpp \ + third_party/WebKit/Source/web/WebDOMActivityLogger.cpp \ + third_party/WebKit/Source/web/WebDOMCustomEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEvent.cpp \ + third_party/WebKit/Source/web/WebDOMEventListener.cpp \ + third_party/WebKit/Source/web/WebDOMEventListenerPrivate.cpp \ + third_party/WebKit/Source/web/WebDOMMessageEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMouseEvent.cpp \ + third_party/WebKit/Source/web/WebDOMMutationEvent.cpp \ + third_party/WebKit/Source/web/WebDOMProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDOMResourceProgressEvent.cpp \ + third_party/WebKit/Source/web/WebDataSourceImpl.cpp \ + third_party/WebKit/Source/web/WebDatabase.cpp \ + third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp \ + third_party/WebKit/Source/web/WebDevToolsFrontendImpl.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientation.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationClientMock.cpp \ + third_party/WebKit/Source/web/WebDeviceOrientationController.cpp \ + third_party/WebKit/Source/web/WebDocument.cpp \ + third_party/WebKit/Source/web/WebDocumentType.cpp \ + third_party/WebKit/Source/web/WebDragData.cpp \ + third_party/WebKit/Source/web/WebElement.cpp \ + third_party/WebKit/Source/web/WebEntities.cpp \ + third_party/WebKit/Source/web/WebFileChooserCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebFileSystemCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebFontCache.cpp \ + third_party/WebKit/Source/web/WebFontDescription.cpp \ + third_party/WebKit/Source/web/WebFontImpl.cpp \ + third_party/WebKit/Source/web/WebFormControlElement.cpp \ + third_party/WebKit/Source/web/WebFormElement.cpp \ + third_party/WebKit/Source/web/WebFrameImpl.cpp \ + third_party/WebKit/Source/web/WebGeolocationClientMock.cpp \ + third_party/WebKit/Source/web/WebGeolocationController.cpp \ + third_party/WebKit/Source/web/WebGeolocationError.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebGeolocationPermissionRequestManager.cpp \ + third_party/WebKit/Source/web/WebGeolocationPosition.cpp \ + third_party/WebKit/Source/web/WebGlyphCache.cpp \ + third_party/WebKit/Source/web/WebHelperPluginImpl.cpp \ + third_party/WebKit/Source/web/WebHistoryItem.cpp \ + third_party/WebKit/Source/web/WebHitTestResult.cpp \ + third_party/WebKit/Source/web/WebIDBCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseCallbacksImpl.cpp \ + third_party/WebKit/Source/web/WebIDBDatabaseError.cpp \ + third_party/WebKit/Source/web/WebIDBKey.cpp \ + third_party/WebKit/Source/web/WebIDBKeyPath.cpp \ + third_party/WebKit/Source/web/WebIDBKeyRange.cpp \ + third_party/WebKit/Source/web/WebIDBMetadata.cpp \ + third_party/WebKit/Source/web/WebImageCache.cpp \ + third_party/WebKit/Source/web/WebImageDecoder.cpp \ + third_party/WebKit/Source/web/WebImageSkia.cpp \ + third_party/WebKit/Source/web/WebInputElement.cpp \ + third_party/WebKit/Source/web/WebInputEvent.cpp \ + third_party/WebKit/Source/web/WebInputEventConversion.cpp \ + third_party/WebKit/Source/web/WebKit.cpp \ + third_party/WebKit/Source/web/WebLabelElement.cpp \ + third_party/WebKit/Source/web/WebMIDIPermissionRequest.cpp \ + third_party/WebKit/Source/web/WebMediaPlayerClientImpl.cpp \ + third_party/WebKit/Source/web/WebMediaSourceImpl.cpp \ + third_party/WebKit/Source/web/WebMediaStreamRegistry.cpp \ + third_party/WebKit/Source/web/WebNetworkStateNotifier.cpp \ + third_party/WebKit/Source/web/WebNode.cpp \ + third_party/WebKit/Source/web/WebNodeCollection.cpp \ + third_party/WebKit/Source/web/WebNodeList.cpp \ + third_party/WebKit/Source/web/WebNotification.cpp \ + third_party/WebKit/Source/web/WebOptionElement.cpp \ + third_party/WebKit/Source/web/WebPagePopupImpl.cpp \ + third_party/WebKit/Source/web/WebPageSerializer.cpp \ + third_party/WebKit/Source/web/WebPageSerializerImpl.cpp \ + third_party/WebKit/Source/web/WebPasswordFormData.cpp \ + third_party/WebKit/Source/web/WebPasswordFormUtils.cpp \ + third_party/WebKit/Source/web/WebPerformance.cpp \ + third_party/WebKit/Source/web/WebPluginContainerImpl.cpp \ + third_party/WebKit/Source/web/WebPluginDocument.cpp \ + third_party/WebKit/Source/web/WebPluginLoadObserver.cpp \ + third_party/WebKit/Source/web/WebPluginScrollbarImpl.cpp \ + third_party/WebKit/Source/web/WebPopupMenuImpl.cpp \ + third_party/WebKit/Source/web/WebRange.cpp \ + third_party/WebKit/Source/web/WebRuntimeFeatures.cpp \ + third_party/WebKit/Source/web/WebScopedMicrotaskSuppression.cpp \ + third_party/WebKit/Source/web/WebScopedUserGesture.cpp \ + third_party/WebKit/Source/web/WebScriptBindings.cpp \ + third_party/WebKit/Source/web/WebScriptController.cpp \ + third_party/WebKit/Source/web/WebScrollbarThemePainter.cpp \ + third_party/WebKit/Source/web/WebSearchableFormData.cpp \ + third_party/WebKit/Source/web/WebSecurityOrigin.cpp \ + third_party/WebKit/Source/web/WebSecurityPolicy.cpp \ + third_party/WebKit/Source/web/WebSelectElement.cpp \ + third_party/WebKit/Source/web/WebSerializedScriptValue.cpp \ + third_party/WebKit/Source/web/WebSettingsImpl.cpp \ + third_party/WebKit/Source/web/WebSharedWorkerImpl.cpp \ + third_party/WebKit/Source/web/WebSocket.cpp \ + third_party/WebKit/Source/web/WebSocketImpl.cpp \ + third_party/WebKit/Source/web/WebSpeechGrammar.cpp \ + third_party/WebKit/Source/web/WebSpeechInputResult.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionHandle.cpp \ + third_party/WebKit/Source/web/WebSpeechRecognitionResult.cpp \ + third_party/WebKit/Source/web/WebStorageEventDispatcherImpl.cpp \ + third_party/WebKit/Source/web/WebSurroundingText.cpp \ + third_party/WebKit/Source/web/WebTextCheckingCompletionImpl.cpp \ + third_party/WebKit/Source/web/WebTextCheckingResult.cpp \ + third_party/WebKit/Source/web/WebTextInputInfo.cpp \ + third_party/WebKit/Source/web/WebTextRun.cpp \ + third_party/WebKit/Source/web/WebURLLoadTiming.cpp \ + third_party/WebKit/Source/web/WebUserGestureIndicator.cpp \ + third_party/WebKit/Source/web/WebUserGestureToken.cpp \ + third_party/WebKit/Source/web/WebUserMediaRequest.cpp \ + third_party/WebKit/Source/web/WebViewBenchmarkSupportImpl.cpp \ + third_party/WebKit/Source/web/WebViewImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerBase.cpp \ + third_party/WebKit/Source/web/WebWorkerClientImpl.cpp \ + third_party/WebKit/Source/web/WebWorkerInfo.cpp \ + third_party/WebKit/Source/web/WebWorkerRunLoop.cpp \ + third_party/WebKit/Source/web/WorkerAllowMainThreadBridgeBase.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileSystemChromium.cpp \ + third_party/WebKit/Source/web/WorkerAsyncFileWriterChromium.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemCallbacksBridge.cpp \ + third_party/WebKit/Source/web/WorkerFileSystemClient.cpp \ + third_party/WebKit/Source/web/WorkerFileWriterCallbacksBridge.cpp \ + third_party/WebKit/Source/web/android/WebInputEventFactory.cpp \ + third_party/WebKit/Source/web/linux/WebFontRenderStyle.cpp \ + third_party/WebKit/Source/web/linux/WebFontRendering.cpp \ + third_party/WebKit/Source/web/painting/ContinuousPainter.cpp \ + third_party/WebKit/Source/web/painting/PaintAggregator.cpp + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Debug := \ + --param=ssp-buffer-size=4 \ + -Werror \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -m32 \ + -mmmx \ + -march=pentium4 \ + -msse2 \ + -mfpmath=sse \ + -fuse-ld=gold \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -fno-stack-protector \ + -Os \ + -g \ + -fomit-frame-pointer \ + -fdata-sections \ + -ffunction-sections + +MY_DEFS_Debug := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=1' \ + '-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \ + '-D_DEBUG' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Debug := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Debug := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +# Flags passed to both C and C++ files. +MY_CFLAGS_Release := \ + --param=ssp-buffer-size=4 \ + -Werror \ + -fno-exceptions \ + -fno-strict-aliasing \ + -Wall \ + -Wno-unused-parameter \ + -Wno-missing-field-initializers \ + -fvisibility=hidden \ + -pipe \ + -fPIC \ + -m32 \ + -mmmx \ + -march=pentium4 \ + -msse2 \ + -mfpmath=sse \ + -fuse-ld=gold \ + -ffunction-sections \ + -funwind-tables \ + -g \ + -fno-short-enums \ + -finline-limit=64 \ + -Wa,--noexecstack \ + -U_FORTIFY_SOURCE \ + -Wno-extra \ + -Wno-ignored-qualifiers \ + -Wno-type-limits \ + -Wno-address \ + -Wno-format-security \ + -Wno-return-type \ + -Wno-sequence-point \ + -fno-stack-protector \ + -Os \ + -fno-ident \ + -fdata-sections \ + -ffunction-sections \ + -fomit-frame-pointer \ + -fno-unwind-tables \ + -fno-asynchronous-unwind-tables + +MY_DEFS_Release := \ + '-DANGLE_DX11' \ + '-D_FILE_OFFSET_BITS=64' \ + '-DNO_TCMALLOC' \ + '-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \ + '-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \ + '-DDISABLE_NACL' \ + '-DCHROMIUM_BUILD' \ + '-DUSE_LIBJPEG_TURBO=1' \ + '-DUSE_PROPRIETARY_CODECS' \ + '-DENABLE_CONFIGURATION_POLICY' \ + '-DENABLE_GPU=1' \ + '-DUSE_OPENSSL=1' \ + '-DENABLE_EGLIMAGE=1' \ + '-DWEBKIT_IMPLEMENTATION=1' \ + '-DINSIDE_WEBKIT' \ + '-DENABLE_CSS3_TEXT=0' \ + '-DENABLE_CSS_EXCLUSIONS=1' \ + '-DENABLE_CSS_REGIONS=1' \ + '-DENABLE_CUSTOM_SCHEME_HANDLER=0' \ + '-DENABLE_ENCRYPTED_MEDIA_V2=1' \ + '-DENABLE_SVG_FONTS=1' \ + '-DENABLE_TOUCH_ICON_LOADING=1' \ + '-DENABLE_GDI_FONTS_ON_WINDOWS=1' \ + '-DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1' \ + '-DENABLE_CALENDAR_PICKER=0' \ + '-DENABLE_FAST_MOBILE_SCROLLING=1' \ + '-DENABLE_INPUT_SPEECH=0' \ + '-DENABLE_LEGACY_NOTIFICATIONS=0' \ + '-DENABLE_MEDIA_CAPTURE=1' \ + '-DENABLE_NOTIFICATIONS=0' \ + '-DENABLE_ORIENTATION_EVENTS=1' \ + '-DENABLE_PRINTING=0' \ + '-DENABLE_NAVIGATOR_CONTENT_UTILS=0' \ + '-DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1' \ + '-DENABLE_OPENTYPE_VERTICAL=1' \ + '-DWTF_USE_HARFBUZZ=1' \ + '-DU_USING_ICU_NAMESPACE=0' \ + '-DSK_ENABLE_INST_COUNT=0' \ + '-DSK_SUPPORT_GPU=1' \ + '-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \ + '-DSK_BUILD_FOR_ANDROID' \ + '-DUSE_CHROMIUM_SKIA' \ + '-DSK_USE_POSIX_THREADS' \ + '-D__STDC_CONSTANT_MACROS' \ + '-D__STDC_FORMAT_MACROS' \ + '-DANDROID' \ + '-D__GNU_SOURCE=1' \ + '-DUSE_STLPORT=1' \ + '-D_STLP_USE_PTR_SPECIALIZATIONS=1' \ + '-DCHROME_BUILD_ID=""' \ + '-DNDEBUG' \ + '-DNVALGRIND' \ + '-DDYNAMIC_ANNOTATIONS_ENABLED=0' + + +# Include paths placed before CFLAGS/CPPFLAGS +LOCAL_C_INCLUDES_Release := \ + $(gyp_shared_intermediate_dir)/shim_headers/ashmem/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icuuc/target \ + $(gyp_shared_intermediate_dir)/shim_headers/icui18n/target \ + $(LOCAL_PATH)/third_party/WebKit/public/web \ + $(LOCAL_PATH)/third_party/WebKit/Source/web \ + $(LOCAL_PATH)/third_party/angle_dx11/include \ + $(LOCAL_PATH)/third_party/skia/include/utils \ + $(LOCAL_PATH)/third_party/WebKit/public/web/android \ + $(LOCAL_PATH)/third_party/WebKit/public/web/linux \ + $(LOCAL_PATH)/third_party/khronos \ + $(LOCAL_PATH)/gpu \ + $(LOCAL_PATH) \ + $(LOCAL_PATH)/third_party/WebKit \ + $(LOCAL_PATH)/third_party/WebKit/Source \ + $(gyp_shared_intermediate_dir)/blink \ + $(gyp_shared_intermediate_dir)/blink/bindings \ + $(PWD)/external/icu4c/common \ + $(PWD)/external/icu4c/i18n \ + $(LOCAL_PATH)/third_party/qcms/src \ + $(LOCAL_PATH)/third_party/skia/src/core \ + $(LOCAL_PATH)/skia/config \ + $(LOCAL_PATH)/third_party/skia/include/config \ + $(LOCAL_PATH)/third_party/skia/include/core \ + $(LOCAL_PATH)/third_party/skia/include/effects \ + $(LOCAL_PATH)/third_party/skia/include/pdf \ + $(LOCAL_PATH)/third_party/skia/include/gpu \ + $(LOCAL_PATH)/third_party/skia/include/gpu/gl \ + $(LOCAL_PATH)/third_party/skia/include/lazy \ + $(LOCAL_PATH)/third_party/skia/include/pathops \ + $(LOCAL_PATH)/third_party/skia/include/pipe \ + $(LOCAL_PATH)/third_party/skia/include/ports \ + $(LOCAL_PATH)/skia/ext \ + $(LOCAL_PATH)/third_party/npapi \ + $(LOCAL_PATH)/third_party/npapi/bindings \ + $(LOCAL_PATH)/v8/include \ + $(PWD)/frameworks/wilhelm/include \ + $(PWD)/bionic \ + $(PWD)/external/stlport/stlport + + +# Flags passed to only C++ (and not C) files. +LOCAL_CPPFLAGS_Release := \ + -Wno-c++0x-compat \ + -fno-rtti \ + -fno-threadsafe-statics \ + -fvisibility-inlines-hidden \ + -Wsign-compare \ + -Wno-error=c++0x-compat \ + -Wno-non-virtual-dtor \ + -Wno-sign-promo \ + -Wno-non-virtual-dtor + + +LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION)) +LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION)) +LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION)) +### Rules for final target. + +LOCAL_LDFLAGS_Debug := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -m32 \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,--gc-sections \ + -Wl,-O1 \ + -Wl,--as-needed + + +LOCAL_LDFLAGS_Release := \ + -Wl,-z,now \ + -Wl,-z,relro \ + -Wl,-z,noexecstack \ + -fPIC \ + -m32 \ + -fuse-ld=gold \ + -nostdlib \ + -Wl,--no-undefined \ + -Wl,--exclude-libs=ALL \ + -Wl,-O1 \ + -Wl,--as-needed \ + -Wl,--gc-sections + + +LOCAL_LDFLAGS := $(LOCAL_LDFLAGS_$(GYP_CONFIGURATION)) + +LOCAL_STATIC_LIBRARIES := \ + third_party_WebKit_Source_core_webcore_derived_gyp \ + skia_skia_library_gyp + +# Enable grouping to fix circular references +LOCAL_GROUP_STATIC_LIBRARIES := true + +LOCAL_SHARED_LIBRARIES := \ + libstlport \ + libdl + +# Add target alias to "gyp_all_modules" target. +.PHONY: gyp_all_modules +gyp_all_modules: third_party_WebKit_Source_web_webkit_gyp + +# Alias gyp target name. +.PHONY: webkit +webkit: third_party_WebKit_Source_web_webkit_gyp + +include $(BUILD_STATIC_LIBRARY) -- cgit v1.2.3