diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java index 6dada45..3d3e63ee 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
@@ -64,6 +64,7 @@ public static final String NO_CREDIT_CARD_ABORT = "NoCreditCardAbort"; public static final String NTP_FAKE_OMNIBOX_TEXT = "NTPFakeOmniboxText"; public static final String NTP_FOREIGN_SESSIONS_SUGGESTIONS = "NTPForeignSessionsSuggestions"; + public static final String NTP_OFFLINE_PAGES_FEATURE_NAME = "NTPOfflinePages"; public static final String NTP_SNIPPETS = "NTPSnippets"; public static final String NTP_SNIPPETS_INCREASED_VISIBILITY = "NTPSnippetsIncreasedVisibility"; public static final String NTP_SNIPPETS_SAVE_TO_OFFLINE = "NTPSaveToOffline";
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java index 2bf9e668..83b9b37 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -1250,7 +1250,7 @@ } else if (id == R.id.enter_vr_id) { mVrShellDelegate.enterVRIfNecessary(); } else if (id == R.id.content_suggestions_standalone_ui) { - ContentSuggestionsActivity.launch(getApplicationContext()); + ContentSuggestionsActivity.launch(this); } else { return super.onMenuOrKeyboardAction(id, fromMenu); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAAccountChangeListener.java b/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAAccountChangeListener.java index 67bf96e5..b16bada 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAAccountChangeListener.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAAccountChangeListener.java
@@ -61,6 +61,9 @@ public void onReceive(Context context, Intent intent) { if (!ACCOUNT_UPDATE_BROADCAST_INTENT.equals(intent.getAction())) return; String accountName = intent.getStringExtra(BROADCAST_INTENT_ACCOUNT_NAME_EXTRA); + RecordHistogram.recordEnumeratedHistogram(GSAServiceClient.ACCOUNT_CHANGE_HISTOGRAM, + GSAServiceClient.ACCOUNT_CHANGE_SOURCE_BROADCAST, + GSAServiceClient.ACCOUNT_CHANGE_SOURCE_COUNT); GSAState.getInstance(context.getApplicationContext()).setGsaAccount(accountName); } };
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java b/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java index 3f34f3a..6983bca 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/gsa/GSAServiceClient.java
@@ -53,6 +53,12 @@ @VisibleForTesting static final int INVALID_PSS = -1; + static final String ACCOUNT_CHANGE_HISTOGRAM = "Search.GsaAccountChangeNotificationSource"; + // For the histogram above. Append-only. + static final int ACCOUNT_CHANGE_SOURCE_SERVICE = 0; + static final int ACCOUNT_CHANGE_SOURCE_BROADCAST = 1; + static final int ACCOUNT_CHANGE_SOURCE_COUNT = 2; + private static boolean sHasRecordedPss; /** Messenger to handle incoming messages from the service */ private final Messenger mMessenger; @@ -82,6 +88,8 @@ if (mService == null) return; final Bundle bundle = (Bundle) msg.obj; String account = mGsaHelper.getGSAAccountFromState(bundle.getByteArray(KEY_GSA_STATE)); + RecordHistogram.recordEnumeratedHistogram(ACCOUNT_CHANGE_HISTOGRAM, + ACCOUNT_CHANGE_SOURCE_SERVICE, ACCOUNT_CHANGE_SOURCE_COUNT); GSAState.getInstance(mContext.getApplicationContext()).setGsaAccount(account); if (sHasRecordedPss) { if (mOnMessageReceived != null) mOnMessageReceived.onResult(bundle);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gsa/OWNERS b/chrome/android/java/src/org/chromium/chrome/browser/gsa/OWNERS new file mode 100644 index 0000000..8b7b787 --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/gsa/OWNERS
@@ -0,0 +1 @@ +lizeb@chromium.org
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java index fa83ec0..101a74c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/ContextMenuManager.java
@@ -14,9 +14,9 @@ import android.view.View; import org.chromium.chrome.R; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; +import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; import org.chromium.ui.base.WindowAndroid.OnCloseContextMenuListener; import org.chromium.ui.mojom.WindowOpenDisposition; @@ -43,7 +43,7 @@ public static final int ID_REMOVE = 4; private final Activity mActivity; - private final NewTabPageManager mManager; + private final SuggestionsNavigationDelegate mNavigationDelegate; private final TouchDisableableView mOuterView; private boolean mContextMenuOpen; @@ -71,10 +71,10 @@ /** Interface for a view that can be set to stop responding to touches. */ public interface TouchDisableableView { void setTouchEnabled(boolean enabled); } - public ContextMenuManager(Activity activity, NewTabPageManager newTabPageManager, + public ContextMenuManager(Activity activity, SuggestionsNavigationDelegate navigationDelegate, TouchDisableableView outerView) { mActivity = activity; - mManager = newTabPageManager; + mNavigationDelegate = navigationDelegate; mOuterView = outerView; } @@ -140,11 +140,11 @@ switch (itemId) { case ID_OPEN_IN_NEW_WINDOW: - return mManager.isOpenInNewWindowEnabled(); + return mNavigationDelegate.isOpenInNewWindowEnabled(); case ID_OPEN_IN_NEW_TAB: return true; case ID_OPEN_IN_INCOGNITO_TAB: - return mManager.isOpenInIncognitoEnabled(); + return mNavigationDelegate.isOpenInIncognitoEnabled(); case ID_SAVE_FOR_OFFLINE: { if (!SnippetsConfig.isSaveToOfflineEnabled()) return false; String itemUrl = delegate.getUrl();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java index c6cc0ea..75c3f19 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
@@ -9,9 +9,7 @@ import android.graphics.Canvas; import android.graphics.Point; import android.graphics.Rect; -import android.net.Uri; import android.os.Build; -import android.os.SystemClock; import android.support.v4.view.ViewCompat; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; @@ -19,12 +17,9 @@ import android.view.View; import org.chromium.base.ApiCompatibilityUtils; -import org.chromium.base.Callback; import org.chromium.base.CommandLine; import org.chromium.base.ContextUtils; import org.chromium.base.Log; -import org.chromium.base.ObserverList; -import org.chromium.base.ThreadUtils; import org.chromium.base.VisibleForTesting; import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordUserAction; @@ -34,28 +29,15 @@ import org.chromium.chrome.browser.ChromeSwitches; import org.chromium.chrome.browser.NativePage; import org.chromium.chrome.browser.UrlConstants; -import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.compositor.layouts.content.InvalidationAwareThumbnailProvider; import org.chromium.chrome.browser.download.DownloadManagerService; -import org.chromium.chrome.browser.download.DownloadUtils; -import org.chromium.chrome.browser.favicon.FaviconHelper; -import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; -import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback; -import org.chromium.chrome.browser.favicon.LargeIconBridge; -import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; import org.chromium.chrome.browser.metrics.StartupMetrics; -import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; import org.chromium.chrome.browser.ntp.LogoBridge.Logo; import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; -import org.chromium.chrome.browser.ntp.snippets.KnownCategories; -import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; import org.chromium.chrome.browser.ntp.snippets.SnippetsBridge; import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig; import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; -import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; -import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; -import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.profiles.MostVisitedSites; import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObserver; import org.chromium.chrome.browser.profiles.Profile; @@ -64,27 +46,25 @@ import org.chromium.chrome.browser.snackbar.Snackbar; import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter; +import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; +import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegateImpl; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegateImpl; import org.chromium.chrome.browser.sync.SyncSessionsMetrics; import org.chromium.chrome.browser.tab.EmptyTabObserver; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabObserver; import org.chromium.chrome.browser.tabmodel.TabModel; -import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.TabModelUtils; -import org.chromium.chrome.browser.tabmodel.document.TabDelegate; import org.chromium.chrome.browser.util.UrlUtilities; import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.browser.NavigationController; import org.chromium.content_public.browser.NavigationEntry; -import org.chromium.content_public.common.Referrer; import org.chromium.net.NetworkChangeNotifier; import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.PageTransition; import org.chromium.ui.mojom.WindowOpenDisposition; -import java.util.HashSet; -import java.util.Set; import java.util.concurrent.TimeUnit; import jp.tomorrowkey.android.gifplayer.BaseGifImage; @@ -109,27 +89,21 @@ // Key for the scroll position data that may be stored in a navigation entry. private static final String NAVIGATION_ENTRY_SCROLL_POSITION_KEY = "NewTabPageScrollPosition"; - private static final String CHROME_CONTENT_SUGGESTIONS_REFERRER = - "https://www.googleapis.com/auth/chrome-content-suggestions"; - private static MostVisitedSites sMostVisitedSitesForTests; private static SuggestionsSource sSuggestionsSourceForTests; private final Tab mTab; private final TabModelSelector mTabModelSelector; - private final ChromeActivity mActivity; - private final Profile mProfile; private final String mTitle; private final int mBackgroundColor; private final int mThemeColor; private final NewTabPageView mNewTabPageView; + private final NewTabPageManagerImpl mNewTabPageManager; private TabObserver mTabObserver; private MostVisitedSites mMostVisitedSites; private SnackbarController mMostVisitedItemRemovedController; - private FaviconHelper mFaviconHelper; - private LargeIconBridge mLargeIconBridge; private LogoBridge mLogoBridge; private boolean mSearchProviderHasLogo; private String mOnLogoClickUrl; @@ -148,8 +122,6 @@ // Whether destroy() has been called. private boolean mIsDestroyed; - private final ObserverList<DestructionObserver> mDestructionObservers = new ObserverList<>(); - /** * Allows clients to listen for updates to the scroll changes of the search box on the * NTP. @@ -228,11 +200,16 @@ sSuggestionsSourceForTests = suggestionsSource; } - private final NewTabPageManager mNewTabPageManager = new NewTabPageManager() { - private static final String NTP_OFFLINE_PAGES_FEATURE_NAME = "NTPOfflinePages"; + private class NewTabPageManagerImpl + extends SuggestionsUiDelegateImpl implements NewTabPageManager { + public NewTabPageManagerImpl(SuggestionsSource suggestionsSource, + SuggestionsMetricsReporter metricsReporter, + SuggestionsNavigationDelegate navigationDelegate, Profile profile, Tab currentTab) { + super(suggestionsSource, metricsReporter, navigationDelegate, profile, currentTab); + } private boolean isNtpOfflinePagesEnabled() { - return ChromeFeatureList.isEnabled(NTP_OFFLINE_PAGES_FEATURE_NAME); + return ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_OFFLINE_PAGES_FEATURE_NAME); } @Override @@ -281,7 +258,8 @@ return; } - openUrl(windowDisposition, new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK)); + getNavigationDelegate().openUrl( + windowDisposition, new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK)); } @Override @@ -290,16 +268,6 @@ showMostVisitedItemRemovedSnackbar(item.getUrl()); } - @Override - public void onLearnMoreClicked() { - if (mIsDestroyed) return; - NewTabPageUma.recordAction(NewTabPageUma.ACTION_CLICKED_LEARN_MORE); - String url = "https://support.google.com/chrome/?p=new_tab"; - // TODO(mastiz): Change this to LINK? - openUrl(WindowOpenDisposition.CURRENT_TAB, - new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK)); - } - @TargetApi(Build.VERSION_CODES.LOLLIPOP) private boolean switchToExistingTab(String url) { String matchPattern = CommandLine.getInstance().getSwitchValue( @@ -328,148 +296,6 @@ return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals(url2); } - public SuggestionsMetricsReporter getSuggestionsMetricsReporter() { - return mSnippetsBridge; - } - - public void trackSnippetOpened(int windowOpenDisposition, SnippetArticle article) { - mSnippetsBridge.onSuggestionOpened(article, windowOpenDisposition); - } - - @Override - public void openSnippet(int windowOpenDisposition, SnippetArticle article) { - trackSnippetOpened(windowOpenDisposition, article); - NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET); - - if (article.mIsAssetDownload) { - assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB - || windowOpenDisposition == WindowOpenDisposition.NEW_WINDOW - || windowOpenDisposition == WindowOpenDisposition.NEW_FOREGROUND_TAB; - DownloadUtils.openFile( - article.getAssetDownloadFile(), article.getAssetDownloadMimeType(), false); - return; - } - - if (article.isRecentTab()) { - assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB; - // TODO(vitaliii): Add a debug check that the result is true after crbug.com/662924 - // is resolved. - openRecentTabSnippet(article); - return; - } - - // TODO(treib): Also track other dispositions. crbug.com/665915 - if (windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB) { - NewTabPageUma.monitorContentSuggestionVisit(mTab, article.mCategory); - } - - LoadUrlParams loadUrlParams; - // We explicitly open an offline page only for offline page downloads. For all other - // sections the URL is opened and it is up to Offline Pages whether to open its offline - // page (e.g. when offline). - if (article.isDownload() && !article.mIsAssetDownload) { - assert article.getOfflinePageOfflineId() != null; - assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB - || windowOpenDisposition == WindowOpenDisposition.NEW_WINDOW - || windowOpenDisposition == WindowOpenDisposition.NEW_FOREGROUND_TAB; - loadUrlParams = OfflinePageUtils.getLoadUrlParamsForOpeningOfflineVersion( - article.mUrl, article.getOfflinePageOfflineId()); - // Extra headers are not read in loadUrl, but verbatim headers are. - loadUrlParams.setVerbatimHeaders(loadUrlParams.getExtraHeadersString()); - } else { - loadUrlParams = new LoadUrlParams(article.mUrl, PageTransition.AUTO_BOOKMARK); - } - - // For article suggestions, we set the referrer. This is exploited - // to filter out these history entries for NTP tiles. - // TODO(mastiz): Extend this with support for other categories. - if (article.mCategory == KnownCategories.ARTICLES) { - loadUrlParams.setReferrer(new Referrer( - CHROME_CONTENT_SUGGESTIONS_REFERRER, Referrer.REFERRER_POLICY_ALWAYS)); - } - - openUrl(windowOpenDisposition, loadUrlParams); - } - - private boolean openRecentTabSnippet(SnippetArticle recentTabArticle) { - TabModel tabModel = mTabModelSelector.getModel(false); - int tabId = Integer.parseInt(recentTabArticle.getRecentTabId()); - int tabIndex = TabModelUtils.getTabIndexById(tabModel, tabId); - if (tabIndex == TabModel.INVALID_TAB_INDEX) return false; - TabModelUtils.setIndex(tabModel, tabIndex); - return true; - } - - private void openUrl(int windowOpenDisposition, LoadUrlParams loadUrlParams) { - assert !mIsDestroyed; - switch (windowOpenDisposition) { - case WindowOpenDisposition.CURRENT_TAB: - mTab.loadUrl(loadUrlParams); - break; - case WindowOpenDisposition.NEW_FOREGROUND_TAB: - openUrlInNewTab(loadUrlParams, false); - break; - case WindowOpenDisposition.OFF_THE_RECORD: - openUrlInNewTab(loadUrlParams, true); - break; - case WindowOpenDisposition.NEW_WINDOW: - openUrlInNewWindow(loadUrlParams); - break; - case WindowOpenDisposition.SAVE_TO_DISK: - saveUrlForOffline(loadUrlParams.getUrl()); - break; - default: - assert false; - } - } - - @Override - public boolean isOpenInNewWindowEnabled() { - return MultiWindowUtils.getInstance().isOpenInOtherWindowSupported(mActivity); - } - - @Override - public boolean isOpenInIncognitoEnabled() { - return PrefServiceBridge.getInstance().isIncognitoModeEnabled(); - } - - private void openUrlInNewWindow(LoadUrlParams loadUrlParams) { - TabDelegate tabDelegate = new TabDelegate(false); - tabDelegate.createTabInOtherWindow(loadUrlParams, mActivity, mTab.getParentId()); - } - - private void openUrlInNewTab(LoadUrlParams loadUrlParams, boolean incognito) { - mTabModelSelector.openNewTab( - loadUrlParams, TabLaunchType.FROM_LONGPRESS_BACKGROUND, mTab, incognito); - } - - private void saveUrlForOffline(String url) { - OfflinePageBridge.getForProfile(mProfile) - .savePageLater(url, "ntp_suggestions", true /* userRequested */); - } - - @Override - public void navigateToBookmarks() { - if (mIsDestroyed) return; - RecordUserAction.record("MobileNTPSwitchToBookmarks"); - BookmarkUtils.showBookmarkManager(mActivity); - } - - @Override - public void navigateToRecentTabs() { - if (mIsDestroyed) return; - RecordUserAction.record("MobileNTPSwitchToOpenTabs"); - mTab.loadUrl(new LoadUrlParams(UrlConstants.RECENT_TABS_URL)); - } - - @Override - public void navigateToDownloadManager() { - if (mIsDestroyed) return; - assert DownloadUtils.isDownloadHomeEnabled(); - RecordUserAction.record("MobileNTPSwitchToDownloadManager"); - DownloadUtils.showDownloadManager(mActivity, mTab); - } - @Override public void focusSearchBox(boolean beginVoiceSearch, String pastedText) { if (mIsDestroyed) return; @@ -489,83 +315,6 @@ } @Override - public void getLocalFaviconImageForURL( - String url, int size, FaviconImageCallback faviconCallback) { - if (mIsDestroyed) return; - if (mFaviconHelper == null) mFaviconHelper = new FaviconHelper(); - mFaviconHelper.getLocalFaviconImageForURL(mProfile, url, size, faviconCallback); - } - - @Override - public void getLargeIconForUrl(String url, int size, LargeIconCallback callback) { - if (mIsDestroyed) return; - if (mLargeIconBridge == null) mLargeIconBridge = new LargeIconBridge(mProfile); - mLargeIconBridge.getLargeIconForUrl(url, size, callback); - } - - @Override - public void ensureIconIsAvailable(String pageUrl, String iconUrl, boolean isLargeIcon, - boolean isTemporary, IconAvailabilityCallback callback) { - if (mIsDestroyed) return; - if (mFaviconHelper == null) mFaviconHelper = new FaviconHelper(); - mFaviconHelper.ensureIconIsAvailable(mProfile, mTab.getWebContents(), pageUrl, iconUrl, - isLargeIcon, isTemporary, callback); - } - - private boolean isLocalUrl(String url) { - return "file".equals(Uri.parse(url).getScheme()); - } - - @Override - public void getUrlsAvailableOffline( - Set<String> pageUrls, final Callback<Set<String>> callback) { - final Set<String> urlsAvailableOffline = new HashSet<>(); - if (mIsDestroyed || !isNtpOfflinePagesEnabled()) { - callback.onResult(urlsAvailableOffline); - return; - } - - HashSet<String> urlsToCheckForOfflinePage = new HashSet<>(); - - for (String pageUrl : pageUrls) { - if (isLocalUrl(pageUrl)) { - urlsAvailableOffline.add(pageUrl); - } else { - urlsToCheckForOfflinePage.add(pageUrl); - } - } - - final long offlineQueryStartTime = SystemClock.elapsedRealtime(); - - OfflinePageBridge offlinePageBridge = OfflinePageBridge.getForProfile(mProfile); - - // TODO(dewittj): Remove this code by making the NTP badging available after the NTP is - // fully loaded. - if (offlinePageBridge == null || !offlinePageBridge.isOfflinePageModelLoaded()) { - // Posting a task to avoid potential re-entrancy issues. - ThreadUtils.postOnUiThread(new Runnable() { - @Override - public void run() { - callback.onResult(urlsAvailableOffline); - } - }); - return; - } - - offlinePageBridge.checkPagesExistOffline( - urlsToCheckForOfflinePage, new Callback<Set<String>>() { - @Override - public void onResult(Set<String> urlsWithOfflinePages) { - urlsAvailableOffline.addAll(urlsWithOfflinePages); - callback.onResult(urlsAvailableOffline); - RecordHistogram.recordTimesHistogram("NewTabPage.OfflineUrlsLoadTime", - SystemClock.elapsedRealtime() - offlineQueryStartTime, - TimeUnit.MILLISECONDS); - } - }); - } - - @Override public void onLogoClicked(boolean isAnimatedLogoShowing) { if (mIsDestroyed) return; @@ -649,12 +398,6 @@ } @Override - public void addDestructionObserver(DestructionObserver destructionObserver) { - if (mIsDestroyed) return; - mDestructionObservers.addObserver(destructionObserver); - } - - @Override public boolean isCurrentPage() { if (mIsDestroyed) return false; if (mFakeboxDelegate == null) return false; @@ -678,9 +421,17 @@ mConstructedTimeNs = System.nanoTime(); mTab = tab; - mActivity = activity; mTabModelSelector = tabModelSelector; - mProfile = tab.getProfile(); + Profile profile = tab.getProfile(); + + if (SnippetsConfig.isEnabled()) { + mSnippetsBridge = new SnippetsBridge(profile); + } + + SuggestionsNavigationDelegateImpl navigationDelegate = + new SuggestionsNavigationDelegateImpl(activity, profile, tab, tabModelSelector); + mNewTabPageManager = new NewTabPageManagerImpl( + mSnippetsBridge, mSnippetsBridge, navigationDelegate, profile, tab); mTitle = activity.getResources().getString(R.string.button_new_tab); mBackgroundColor = ApiCompatibilityUtils.getColor(activity.getResources(), R.color.ntp_bg); @@ -724,14 +475,10 @@ } }; mTab.addObserver(mTabObserver); - mMostVisitedSites = buildMostVisitedSites(mProfile); - mLogoBridge = new LogoBridge(mProfile); + mMostVisitedSites = buildMostVisitedSites(profile); + mLogoBridge = new LogoBridge(profile); updateSearchProviderHasLogo(); - if (SnippetsConfig.isEnabled()) { - mSnippetsBridge = new SnippetsBridge(mProfile); - } - LayoutInflater inflater = LayoutInflater.from(activity); mNewTabPageView = (NewTabPageView) inflater.inflate(R.layout.new_tab_page_view, null); mNewTabPageView.initialize(mNewTabPageManager, mTab, mSearchProviderHasLogo, @@ -746,7 +493,7 @@ RecordHistogram.recordBooleanHistogram( "NewTabPage.MobileIsUserOnline", NetworkChangeNotifier.isOnline()); - NewTabPageUma.recordLoadType(mActivity); + NewTabPageUma.recordLoadType(activity); } private static MostVisitedSites buildMostVisitedSites(Profile profile) { @@ -948,14 +695,6 @@ .isAttachedToWindow(getView()) : "Destroy called before removed from window"; if (mIsLoaded && !mTab.isHidden()) recordNTPInteractionTime(); - if (mFaviconHelper != null) { - mFaviconHelper.destroy(); - mFaviconHelper = null; - } - if (mLargeIconBridge != null) { - mLargeIconBridge.destroy(); - mLargeIconBridge = null; - } if (mMostVisitedSites != null) { mMostVisitedSites.destroy(); mMostVisitedSites = null; @@ -971,10 +710,7 @@ if (mMostVisitedItemRemovedController != null) { mTab.getSnackbarManager().dismissSnackbars(mMostVisitedItemRemovedController); } - for (DestructionObserver observer : mDestructionObservers) { - observer.onDestroy(); - } - mDestructionObservers.clear(); + mNewTabPageManager.onDestroy(); TemplateUrlService.getInstance().removeObserver(this); mTab.removeObserver(mTabObserver); mTabObserver = null;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java index 141dbabca..94afdaf 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageView.java
@@ -42,8 +42,6 @@ import org.chromium.base.VisibleForTesting; import org.chromium.chrome.R; import org.chromium.chrome.browser.ChromeActivity; -import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; -import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback; import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; import org.chromium.chrome.browser.ntp.LogoBridge.Logo; import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; @@ -53,13 +51,11 @@ import org.chromium.chrome.browser.ntp.cards.CardsVariationParameters; import org.chromium.chrome.browser.ntp.cards.NewTabPageAdapter; import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView; -import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig; -import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObserver; import org.chromium.chrome.browser.profiles.Profile; -import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.util.MathUtils; import org.chromium.chrome.browser.util.ViewUtils; @@ -102,9 +98,6 @@ private View mMostVisitedPlaceholder; private View mNoSearchLogoSpacer; - /** Adapter for {@link #mRecyclerView}. Will be {@code null} when using the old UI */ - private NewTabPageAdapter mNewTabPageAdapter; - private OnSearchBoxScrollListener mSearchBoxScrollListener; private ChromeActivity mActivity; @@ -139,7 +132,7 @@ /** * Manages the view interaction with the rest of the system. */ - public interface NewTabPageManager extends MostVisitedItemManager { + public interface NewTabPageManager extends MostVisitedItemManager, SuggestionsUiDelegate { /** @return Whether the location bar is shown in the NTP. */ boolean isLocationBarShownInNTP(); @@ -149,28 +142,6 @@ /** @return Whether the omnibox 'Search or type URL' text should be shown. */ boolean isFakeOmniboxTextEnabledTablet(); - /** @return Whether context menus should allow the option to open a link in a new window. */ - boolean isOpenInNewWindowEnabled(); - - /** @return Whether context menus should allow the option to open a link in incognito. */ - boolean isOpenInIncognitoEnabled(); - - /** Opens the bookmarks page in the current tab. */ - void navigateToBookmarks(); - - /** Opens the recent tabs page in the current tab. */ - void navigateToRecentTabs(); - - /** Opens the Download Manager UI in the current tab. */ - void navigateToDownloadManager(); - - /** - * Opens a content suggestion and records related metrics. - * @param windowOpenDisposition How to open (current tab, new tab, new window etc). - * @param article The content suggestion to open. - */ - void openSnippet(int windowOpenDisposition, SnippetArticle article); - /** * Animates the search box up into the omnibox and bring up the keyboard. * @param beginVoiceSearch Whether to begin a voice search. @@ -186,41 +157,6 @@ void setMostVisitedURLsObserver(MostVisitedURLsObserver observer, int numResults); /** - * Gets the favicon image for a given URL. - * @param url The URL of the site whose favicon is being requested. - * @param size The desired size of the favicon in pixels. - * @param faviconCallback The callback to be notified when the favicon is available. - */ - void getLocalFaviconImageForURL( - String url, int size, FaviconImageCallback faviconCallback); - - /** - * Gets the large icon (e.g. favicon or touch icon) for a given URL. - * @param url The URL of the site whose icon is being requested. - * @param size The desired size of the icon in pixels. - * @param callback The callback to be notified when the icon is available. - */ - void getLargeIconForUrl(String url, int size, LargeIconCallback callback); - - /** - * Checks if an icon with the given URL is available. If not, - * downloads it and stores it as a favicon/large icon for the given {@code pageUrl}. - * @param pageUrl The URL of the site whose icon is being requested. - * @param iconUrl The URL of the favicon/large icon. - * @param isLargeIcon Whether the {@code iconUrl} represents a large icon or favicon. - * @param callback The callback to be notified when the favicon has been checked. - */ - void ensureIconIsAvailable(String pageUrl, String iconUrl, boolean isLargeIcon, - boolean isTemporary, IconAvailabilityCallback callback); - - /** - * Checks if the pages with the given URLs are available offline. - * @param pageUrls The URLs of the sites whose offline availability is requested. - * @param callback Fired when the results are available. - */ - void getUrlsAvailableOffline(Set<String> pageUrls, Callback<Set<String>> callback); - - /** * Called when the user clicks on the logo. * @param isAnimatedLogoShowing Whether the animated GIF logo is playing. */ @@ -240,23 +176,6 @@ void onLoadingComplete(MostVisitedItem[] mostVisitedItems); /** - * Handles clicks on the "learn more" link in the footer. - */ - void onLearnMoreClicked(); - - /** - * Returns the SuggestionsSource or null if it doesn't exist. The SuggestionsSource is - * invalidated (has destroy() called) when the NewTabPage is destroyed so use this method - * instead of keeping your own reference. - */ - @Nullable SuggestionsSource getSuggestionsSource(); - - /** - * Registers a {@link DestructionObserver}, notified when the New Tab Page goes away. - */ - void addDestructionObserver(DestructionObserver destructionObserver); - - /** * @return whether the {@link NewTabPage} associated with this manager is the current page * displayed to the user. */ @@ -268,13 +187,6 @@ */ @Nullable ContextMenuManager getContextMenuManager(); - - /** - * @return The suggestion metrics reporter. Will be {@code null} if the - * {@link NewTabPageView} is not done initialising. - */ - @Nullable - SuggestionsMetricsReporter getSuggestionsMetricsReporter(); } /** @@ -336,7 +248,7 @@ mScrollView.enableBottomShadow(SHADOW_COLOR); mNewTabPageLayout = (NewTabPageLayout) findViewById(R.id.ntp_content); } - mContextMenuManager = new ContextMenuManager(mActivity, mManager, + mContextMenuManager = new ContextMenuManager(mActivity, mManager.getNavigationDelegate(), mUseCardsUi ? mRecyclerView : mScrollView); mActivity.getWindowAndroid().addContextMenuCloseListener(mContextMenuManager); manager.addDestructionObserver(new DestructionObserver() { @@ -369,13 +281,14 @@ // Set up snippets if (mUseCardsUi) { - mNewTabPageAdapter = new NewTabPageAdapter(mManager, mNewTabPageLayout, mUiConfig, - OfflinePageBridge.getForProfile(Profile.getLastUsedProfile())); - mRecyclerView.setAdapter(mNewTabPageAdapter); + NewTabPageAdapter newTabPageAdapter = new NewTabPageAdapter(mManager, mNewTabPageLayout, + mUiConfig, OfflinePageBridge.getForProfile(Profile.getLastUsedProfile()), + mContextMenuManager); + mRecyclerView.setAdapter(newTabPageAdapter); int scrollOffset; if (CardsVariationParameters.isScrollBelowTheFoldEnabled()) { - scrollPosition = mNewTabPageAdapter.getFirstHeaderPosition(); + scrollPosition = newTabPageAdapter.getFirstHeaderPosition(); scrollOffset = getResources().getDimensionPixelSize(R.dimen.ntp_search_box_height); } else { scrollOffset = 0; @@ -389,7 +302,7 @@ // When the NewTabPageAdapter's data changes we need to invalidate any previous // screen captures of the NewTabPageView. - mNewTabPageAdapter.registerAdapterDataObserver(new AdapterDataObserver() { + newTabPageAdapter.registerAdapterDataObserver(new AdapterDataObserver() { @Override public void onChanged() { mNewTabPageRecyclerViewChanged = true; @@ -482,14 +395,14 @@ @Override public void onClick(View v) { NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_RECENT_TABS_MANAGER); - mManager.navigateToRecentTabs(); + mManager.getNavigationDelegate().navigateToRecentTabs(); } }); toolbar.getBookmarksButton().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_BOOKMARKS_MANAGER); - mManager.navigateToBookmarks(); + mManager.getNavigationDelegate().navigateToBookmarks(); } }); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java index 34e6edc1..786f126 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java
@@ -12,11 +12,11 @@ import org.chromium.chrome.browser.ntp.ContextMenuManager; import org.chromium.chrome.browser.ntp.ContextMenuManager.ContextMenuItemId; import org.chromium.chrome.browser.ntp.ContextMenuManager.Delegate; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.UiConfig; import org.chromium.chrome.browser.ntp.snippets.CategoryInt; import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig; import org.chromium.chrome.browser.suggestions.SuggestionsRanker; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -82,16 +82,16 @@ } @VisibleForTesting - void performAction(NewTabPageManager manager) { - manager.getSuggestionsMetricsReporter().onMoreButtonClicked(this); + void performAction(SuggestionsUiDelegate uiDelegate) { + uiDelegate.getMetricsReporter().onMoreButtonClicked(this); switch (mCurrentAction) { case ACTION_VIEW_ALL: - mCategoryInfo.performViewAllAction(manager); + mCategoryInfo.performViewAllAction(uiDelegate.getNavigationDelegate()); return; case ACTION_FETCH_MORE: case ACTION_RELOAD: - manager.getSuggestionsSource().fetchSuggestions( + uiDelegate.getSuggestionsSource().fetchSuggestions( mCategoryInfo.getCategory(), mParentSection.getDisplayedSuggestionIds()); mParentSection.onFetchStarted(); return; @@ -116,14 +116,15 @@ private ActionItem mActionListItem; public ViewHolder(final NewTabPageRecyclerView recyclerView, - final NewTabPageManager manager, UiConfig uiConfig) { - super(R.layout.new_tab_page_action_card, recyclerView, uiConfig, manager); + ContextMenuManager contextMenuManager, final SuggestionsUiDelegate uiDelegate, + UiConfig uiConfig) { + super(R.layout.new_tab_page_action_card, recyclerView, uiConfig, contextMenuManager); itemView.findViewById(R.id.action_button) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - mActionListItem.performAction(manager); + mActionListItem.performAction(uiDelegate); } }); @@ -132,7 +133,7 @@ public void onImpression() { if (mActionListItem != null && !mActionListItem.mImpressionTracked) { mActionListItem.mImpressionTracked = true; - manager.getSuggestionsMetricsReporter().onMoreButtonShown(mActionListItem); + uiDelegate.getMetricsReporter().onMoreButtonShown(mActionListItem); } } });
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java index 41b37ca..05a102f 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java
@@ -20,7 +20,6 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.ntp.ContextMenuManager; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.UiConfig; import org.chromium.chrome.browser.util.MathUtils; import org.chromium.chrome.browser.util.ViewUtils; @@ -59,7 +58,6 @@ private final UiConfig mUiConfig; private final MarginResizer mMarginResizer; - private final NewTabPageManager mNtpManager; /** * To what extent the card is "peeking". 0 means the card is not peeking at all and spans the @@ -74,9 +72,10 @@ * @param layoutId resource id of the layout to inflate and to use as card. * @param recyclerView ViewGroup that will contain the newly created view. * @param uiConfig The NTP UI configuration object used to adjust the card UI. + * @param contextMenuManager The manager responsible for the context menu. */ public CardViewHolder(int layoutId, final NewTabPageRecyclerView recyclerView, - UiConfig uiConfig, NewTabPageManager ntpManager) { + UiConfig uiConfig, final ContextMenuManager contextMenuManager) { super(inflateView(layoutId, recyclerView)); mCards9PatchAdjustment = recyclerView.getResources().getDimensionPixelSize( @@ -106,7 +105,7 @@ ContextMenuManager.Delegate delegate = getContextMenuDelegate(); if (delegate == null) return; - mNtpManager.getContextMenuManager().createContextMenu(menu, itemView, delegate); + contextMenuManager.createContextMenu(menu, itemView, delegate); } }); @@ -117,8 +116,6 @@ // Configure the resizer to use negative margins on regular display to balance out the // lateral shadow of the card 9-patch and avoid a rounded corner effect. mMarginResizer.setMargins(-mCards9PatchAdjustment); - - mNtpManager = ntpManager; } /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/Footer.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/Footer.java index 9fca3e1..e2b2fb83 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/Footer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/Footer.java
@@ -11,7 +11,7 @@ import android.widget.TextView; import org.chromium.chrome.R; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; +import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; import org.chromium.ui.text.NoUnderlineClickableSpan; import org.chromium.ui.text.SpanApplier; @@ -35,7 +35,7 @@ * The {@code ViewHolder} for the {@link Footer}. */ public static class ViewHolder extends NewTabPageViewHolder { - public ViewHolder(ViewGroup root, final NewTabPageManager manager) { + public ViewHolder(ViewGroup root, final SuggestionsNavigationDelegate navigationDelegate) { super(LayoutInflater.from(root.getContext()) .inflate(R.layout.new_tab_page_footer, root, false)); @@ -43,7 +43,7 @@ @Override public void onClick(View view) { // TODO(mvanouwerkerk): Ensure this can be activated when using TalkBack. - manager.onLearnMoreClicked(); + navigationDelegate.navigateToHelpPage(); } };
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java index eadf900..9ee7337 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java
@@ -13,12 +13,13 @@ import org.chromium.base.Callback; import org.chromium.base.VisibleForTesting; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; +import org.chromium.chrome.browser.ntp.ContextMenuManager; import org.chromium.chrome.browser.ntp.UiConfig; import org.chromium.chrome.browser.ntp.snippets.SectionHeaderViewHolder; import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; import org.chromium.chrome.browser.ntp.snippets.SnippetArticleViewHolder; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import java.util.Collections; import java.util.List; @@ -30,7 +31,9 @@ * elements will be the cards shown to the user */ public class NewTabPageAdapter extends Adapter<NewTabPageViewHolder> implements NodeParent { - private final NewTabPageManager mNewTabPageManager; + private final SuggestionsUiDelegate mUiDelegate; + private final ContextMenuManager mContextMenuManager; + @Nullable private final View mAboveTheFoldView; private final UiConfig mUiConfig; @@ -48,24 +51,26 @@ /** * Creates the adapter that will manage all the cards to display on the NTP. - * - * @param manager the NewTabPageManager to use to interact with the rest of the system. + * @param uiDelegate used to interact with the rest of the system. * @param aboveTheFoldView the layout encapsulating all the above-the-fold elements * (logo, search box, most visited tiles), or null if only suggestions should * be displayed. * @param uiConfig the NTP UI configuration, to be passed to created views. - * @param offlinePageBridge the OfflinePageBridge used to determine if articles are available - * offline. + * @param offlinePageBridge used to determine if articles are available. + * @param contextMenuManager used to build context menus. */ - public NewTabPageAdapter(NewTabPageManager manager, @Nullable View aboveTheFoldView, - UiConfig uiConfig, OfflinePageBridge offlinePageBridge) { - mNewTabPageManager = manager; + public NewTabPageAdapter(SuggestionsUiDelegate uiDelegate, @Nullable View aboveTheFoldView, + UiConfig uiConfig, OfflinePageBridge offlinePageBridge, + ContextMenuManager contextMenuManager) { + mUiDelegate = uiDelegate; + mContextMenuManager = contextMenuManager; + mAboveTheFoldView = aboveTheFoldView; mUiConfig = uiConfig; mRoot = new InnerNode(); - mSections = new SectionList(mNewTabPageManager, offlinePageBridge); - mSigninPromo = new SignInPromo(mNewTabPageManager); + mSections = new SectionList(mUiDelegate, offlinePageBridge); + mSigninPromo = new SignInPromo(mUiDelegate); mAllDismissed = new AllDismissedItem(); mFooter = new Footer(); @@ -105,25 +110,27 @@ return new SectionHeaderViewHolder(mRecyclerView, mUiConfig); case ItemViewType.SNIPPET: - return new SnippetArticleViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig); + return new SnippetArticleViewHolder( + mRecyclerView, mContextMenuManager, mUiDelegate, mUiConfig); case ItemViewType.SPACING: return new NewTabPageViewHolder(SpacingItem.createView(parent)); case ItemViewType.STATUS: - return new StatusCardViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig); + return new StatusCardViewHolder(mRecyclerView, mContextMenuManager, mUiConfig); case ItemViewType.PROGRESS: return new ProgressViewHolder(mRecyclerView); case ItemViewType.ACTION: - return new ActionItem.ViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig); + return new ActionItem.ViewHolder( + mRecyclerView, mContextMenuManager, mUiDelegate, mUiConfig); case ItemViewType.PROMO: - return new SignInPromo.ViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig); + return new SignInPromo.ViewHolder(mRecyclerView, mContextMenuManager, mUiConfig); case ItemViewType.FOOTER: - return new Footer.ViewHolder(mRecyclerView, mNewTabPageManager); + return new Footer.ViewHolder(mRecyclerView, mUiDelegate.getNavigationDelegate()); case ItemViewType.ALL_DISMISSED: return new AllDismissedItem.ViewHolder(mRecyclerView, mSections);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SectionList.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SectionList.java index b7edb85..da91464 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SectionList.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SectionList.java
@@ -6,7 +6,6 @@ import org.chromium.base.Log; import org.chromium.base.VisibleForTesting; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.snippets.CategoryInt; import org.chromium.chrome.browser.ntp.snippets.CategoryStatus; import org.chromium.chrome.browser.ntp.snippets.CategoryStatus.CategoryStatusEnum; @@ -16,6 +15,7 @@ import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; import org.chromium.chrome.browser.suggestions.SuggestionsRanker; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import java.util.LinkedHashMap; import java.util.List; @@ -31,15 +31,15 @@ /** Maps suggestion categories to sections, with stable iteration ordering. */ private final Map<Integer, SuggestionsSection> mSections = new LinkedHashMap<>(); - private final NewTabPageManager mNewTabPageManager; + private final SuggestionsUiDelegate mUiDelegate; private final OfflinePageBridge mOfflinePageBridge; private final SuggestionsRanker mSuggestionsRanker; - public SectionList(NewTabPageManager newTabPageManager, OfflinePageBridge offlinePageBridge) { + public SectionList(SuggestionsUiDelegate uiDelegate, OfflinePageBridge offlinePageBridge) { mSuggestionsRanker = new SuggestionsRanker(); - mNewTabPageManager = newTabPageManager; - mNewTabPageManager.getSuggestionsSource().setObserver(this); - mNewTabPageManager.getSuggestionsMetricsReporter().setRanker(mSuggestionsRanker); + mUiDelegate = uiDelegate; + mUiDelegate.getSuggestionsSource().setObserver(this); + mUiDelegate.getMetricsReporter().setRanker(mSuggestionsRanker); mOfflinePageBridge = offlinePageBridge; resetSections(/* alwaysAllowEmptySections = */ false); } @@ -52,7 +52,7 @@ public void resetSections(boolean alwaysAllowEmptySections) { removeAllSections(); - SuggestionsSource suggestionsSource = mNewTabPageManager.getSuggestionsSource(); + SuggestionsSource suggestionsSource = mUiDelegate.getSuggestionsSource(); int[] categories = suggestionsSource.getCategories(); int[] suggestionsPerCategory = new int[categories.length]; int categoryIndex = 0; @@ -68,8 +68,7 @@ ++categoryIndex; } - mNewTabPageManager.getSuggestionsMetricsReporter().onPageShown( - categories, suggestionsPerCategory); + mUiDelegate.getMetricsReporter().onPageShown(categories, suggestionsPerCategory); } /** @@ -84,7 +83,7 @@ */ private int resetSection(@CategoryInt int category, @CategoryStatusEnum int categoryStatus, boolean alwaysAllowEmptySections) { - SuggestionsSource suggestionsSource = mNewTabPageManager.getSuggestionsSource(); + SuggestionsSource suggestionsSource = mUiDelegate.getSuggestionsSource(); List<SnippetArticle> suggestions = suggestionsSource.getSuggestionsForCategory(category); SuggestionsCategoryInfo info = suggestionsSource.getCategoryInfo(category); @@ -99,7 +98,7 @@ // Create the section if needed. if (section == null) { section = new SuggestionsSection( - this, mNewTabPageManager, mSuggestionsRanker, mOfflinePageBridge, info); + this, mUiDelegate, mSuggestionsRanker, mOfflinePageBridge, info); mSections.put(category, section); mSuggestionsRanker.registerCategory(category); addChild(section); @@ -114,12 +113,12 @@ @Override public void onNewSuggestions(@CategoryInt int category) { @CategoryStatusEnum - int status = mNewTabPageManager.getSuggestionsSource().getCategoryStatus(category); + int status = mUiDelegate.getSuggestionsSource().getCategoryStatus(category); if (!canLoadSuggestions(category, status)) return; List<SnippetArticle> suggestions = - mNewTabPageManager.getSuggestionsSource().getSuggestionsForCategory(category); + mUiDelegate.getSuggestionsSource().getSuggestionsForCategory(category); Log.d(TAG, "Received %d new suggestions for category %d.", suggestions.size(), category); @@ -132,7 +131,7 @@ @Override public void onMoreSuggestions(@CategoryInt int category, List<SnippetArticle> suggestions) { @CategoryStatusEnum - int status = mNewTabPageManager.getSuggestionsSource().getCategoryStatus(category); + int status = mUiDelegate.getSuggestionsSource().getCategoryStatus(category); if (!canLoadSuggestions(category, status)) return; setSuggestions(category, suggestions, status, /* replaceExisting = */ false); @@ -217,7 +216,7 @@ public void dismissSection(SuggestionsSection section) { assert SnippetsConfig.isSectionDismissalEnabled(); - mNewTabPageManager.getSuggestionsSource().dismissCategory(section.getCategory()); + mUiDelegate.getSuggestionsSource().dismissCategory(section.getCategory()); removeSection(section); } @@ -236,9 +235,9 @@ * Restores any sections that have been dismissed and triggers a new fetch. */ public void restoreDismissedSections() { - mNewTabPageManager.getSuggestionsSource().restoreDismissedCategories(); + mUiDelegate.getSuggestionsSource().restoreDismissedCategories(); resetSections(/* allowEmptySections = */ true); - mNewTabPageManager.getSuggestionsSource().fetchRemoteSuggestions(); + mUiDelegate.getSuggestionsSource().fetchRemoteSuggestions(); } /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java index 0a31854..e83e92a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java
@@ -14,8 +14,8 @@ import org.chromium.base.VisibleForTesting; import org.chromium.base.metrics.RecordUserAction; import org.chromium.chrome.R; +import org.chromium.chrome.browser.ntp.ContextMenuManager; import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.UiConfig; import org.chromium.chrome.browser.preferences.ChromePreferenceManager; import org.chromium.chrome.browser.signin.AccountSigninActivity; @@ -23,6 +23,7 @@ import org.chromium.chrome.browser.signin.SigninManager; import org.chromium.chrome.browser.signin.SigninManager.SignInAllowedObserver; import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; /** * Shows a card prompting the user to sign in. This item is also an {@link OptionalLeaf}, and sign @@ -42,7 +43,7 @@ @Nullable private final SigninObserver mObserver; - public SignInPromo(NewTabPageManager newTabPageManager) { + public SignInPromo(SuggestionsUiDelegate uiDelegate) { mDismissed = ChromePreferenceManager.getInstance(ContextUtils.getApplicationContext()) .getNewTabPageSigninPromoDismissed(); @@ -51,7 +52,7 @@ mObserver = null; } else { mObserver = new SigninObserver(signinManager); - newTabPageManager.addDestructionObserver(mObserver); + uiDelegate.addDestructionObserver(mObserver); } setVisible(signinManager.isSignInAllowed() && !signinManager.isSignedInOnNative()); @@ -175,10 +176,9 @@ * View Holder for {@link SignInPromo}. */ public static class ViewHolder extends StatusCardViewHolder { - - public ViewHolder(NewTabPageRecyclerView parent, NewTabPageManager newTabPageManager, + public ViewHolder(NewTabPageRecyclerView parent, ContextMenuManager contextMenuManager, UiConfig config) { - super(parent, newTabPageManager, config); + super(parent, contextMenuManager, config); getParams().topMargin = parent.getResources().getDimensionPixelSize( R.dimen.ntp_sign_in_promo_margin_top); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.java index 0c9dfdd..ace1a32 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.java
@@ -15,7 +15,6 @@ import org.chromium.chrome.browser.ntp.ContextMenuManager; import org.chromium.chrome.browser.ntp.ContextMenuManager.ContextMenuItemId; import org.chromium.chrome.browser.ntp.ContextMenuManager.Delegate; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.UiConfig; import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig; @@ -28,8 +27,8 @@ private final Button mActionView; public StatusCardViewHolder( - NewTabPageRecyclerView parent, NewTabPageManager newTabPageManager, UiConfig config) { - super(R.layout.new_tab_page_status_card, parent, config, newTabPageManager); + NewTabPageRecyclerView parent, ContextMenuManager contextMenuManager, UiConfig config) { + super(R.layout.new_tab_page_status_card, parent, config, contextMenuManager); mTitleView = (TextView) itemView.findViewById(R.id.status_title); mBodyView = (TextView) itemView.findViewById(R.id.status_body); mActionView = (Button) itemView.findViewById(R.id.status_action_button);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java index af300c9..e6c76f0 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfo.java
@@ -5,11 +5,10 @@ package org.chromium.chrome.browser.ntp.cards; import org.chromium.base.Log; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.snippets.CategoryInt; import org.chromium.chrome.browser.ntp.snippets.ContentSuggestionsCardLayout.ContentSuggestionsCardLayoutEnum; - import org.chromium.chrome.browser.ntp.snippets.KnownCategories; +import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; /** * Contains meta information about a Category. Equivalent of the CategoryInfo class in @@ -53,7 +52,7 @@ * Whether the category supports a "ViewAll" action, that triggers displaying all the content * related to the current categories. * @see ActionItem - * @see #performViewAllAction(NewTabPageManager) + * @see #performViewAllAction(SuggestionsNavigationDelegate) */ private final boolean mHasViewAllAction; @@ -121,16 +120,16 @@ * Performs the View All action for the provided category, navigating navigating to the view * showing all the content. */ - public void performViewAllAction(NewTabPageManager manager) { + public void performViewAllAction(SuggestionsNavigationDelegate navigationDelegate) { switch (mCategory) { case KnownCategories.BOOKMARKS: - manager.navigateToBookmarks(); + navigationDelegate.navigateToBookmarks(); break; case KnownCategories.DOWNLOADS: - manager.navigateToDownloadManager(); + navigationDelegate.navigateToDownloadManager(); break; case KnownCategories.FOREIGN_TABS: - manager.navigateToRecentTabs(); + navigationDelegate.navigateToRecentTabs(); break; case KnownCategories.PHYSICAL_WEB_PAGES: case KnownCategories.RECENT_TABS:
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java index 62404a7..d0406d6 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java
@@ -8,7 +8,6 @@ import org.chromium.base.Log; import org.chromium.base.VisibleForTesting; import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.snippets.CategoryInt; import org.chromium.chrome.browser.ntp.snippets.CategoryStatus.CategoryStatusEnum; import org.chromium.chrome.browser.ntp.snippets.SectionHeader; @@ -20,6 +19,7 @@ import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; import org.chromium.chrome.browser.offlinepages.OfflinePageItem; import org.chromium.chrome.browser.suggestions.SuggestionsRanker; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import java.util.ArrayList; import java.util.Iterator; @@ -60,7 +60,7 @@ void dismissSection(SuggestionsSection section); } - public SuggestionsSection(Delegate delegate, NewTabPageManager manager, + public SuggestionsSection(Delegate delegate, SuggestionsUiDelegate uiDelegate, SuggestionsRanker ranker, OfflinePageBridge offlinePageBridge, SuggestionsCategoryInfo info) { mDelegate = delegate; @@ -68,25 +68,27 @@ mOfflinePageBridge = offlinePageBridge; mHeader = new SectionHeader(info.getTitle()); - mSuggestionsList = new SuggestionsList(manager, ranker, info); + mSuggestionsList = new SuggestionsList(uiDelegate, ranker, info); mStatus = StatusItem.createNoSuggestionsItem(info); mMoreButton = new ActionItem(this, ranker); mProgressIndicator = new ProgressItem(); addChildren(mHeader, mSuggestionsList, mStatus, mMoreButton, mProgressIndicator); - setupOfflinePageBridgeObserver(manager); + setupOfflinePageBridgeObserver(uiDelegate); refreshChildrenVisibility(); } private static class SuggestionsList extends ChildNode implements Iterable<SnippetArticle> { private final List<SnippetArticle> mSuggestions = new ArrayList<>(); - private final NewTabPageManager mNewTabPageManager; + + // TODO(crbug.com/677672): Replace by SuggestionSource when it handles destruction. + private final SuggestionsUiDelegate mUiDelegate; private final SuggestionsRanker mSuggestionsRanker; private final SuggestionsCategoryInfo mCategoryInfo; - public SuggestionsList(NewTabPageManager newTabPageManager, - SuggestionsRanker ranker, SuggestionsCategoryInfo categoryInfo) { - mNewTabPageManager = newTabPageManager; + public SuggestionsList(SuggestionsUiDelegate uiDelegate, SuggestionsRanker ranker, + SuggestionsCategoryInfo categoryInfo) { + mUiDelegate = uiDelegate; mSuggestionsRanker = ranker; mCategoryInfo = categoryInfo; } @@ -166,7 +168,7 @@ @Override public void dismissItem(int position, Callback<String> itemRemovedCallback) { checkIndex(position); - SuggestionsSource suggestionsSource = mNewTabPageManager.getSuggestionsSource(); + SuggestionsSource suggestionsSource = mUiDelegate.getSuggestionsSource(); if (suggestionsSource == null) { // It is possible for this method to be called after the NewTabPage has had // destroy() called. This can happen when @@ -194,7 +196,7 @@ } } - private void setupOfflinePageBridgeObserver(NewTabPageManager manager) { + private void setupOfflinePageBridgeObserver(SuggestionsUiDelegate uiDelegate) { final OfflinePageBridge.OfflinePageModelObserver observer = new OfflinePageBridge.OfflinePageModelObserver() { @Override @@ -224,7 +226,7 @@ mOfflinePageBridge.addObserver(observer); - manager.addDestructionObserver(new DestructionObserver() { + uiDelegate.addDestructionObserver(new DestructionObserver() { @Override public void onDestroy() { mIsNtpDestroyed = true;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java index 92cdf2b..a96cbd38 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java
@@ -31,7 +31,6 @@ import org.chromium.chrome.browser.ntp.ContextMenuManager.ContextMenuItemId; import org.chromium.chrome.browser.ntp.ContextMenuManager.Delegate; import org.chromium.chrome.browser.ntp.DisplayStyleObserver; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.UiConfig; import org.chromium.chrome.browser.ntp.cards.CardViewHolder; import org.chromium.chrome.browser.ntp.cards.CardsVariationParameters; @@ -39,6 +38,7 @@ import org.chromium.chrome.browser.ntp.cards.ImpressionTracker; import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView; import org.chromium.chrome.browser.ntp.cards.SuggestionsCategoryInfo; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import org.chromium.ui.mojom.WindowOpenDisposition; import java.net.URI; @@ -59,7 +59,7 @@ public static final int PARTIAL_UPDATE_OFFLINE_ID = 1; - private final NewTabPageManager mNewTabPageManager; + private final SuggestionsUiDelegate mUiDelegate; private final TextView mHeadlineTextView; private final TextView mPublisherTextView; private final TextView mArticleSnippetTextView; @@ -77,16 +77,17 @@ /** * Constructs a {@link SnippetArticleViewHolder} item used to display snippets. - * - * @param parent The NewTabPageRecyclerView that is going to contain the newly created view. - * @param manager The NewTabPageManager object used to open an article. + * @param parent The NewTabPageRecyclerView that is going to contain the newly created view. + * @param contextMenuManager The manager responsible for the context menu. + * @param uiDelegate The delegate object used to open an article, fetch thumbnails, etc. * @param uiConfig The NTP UI configuration object used to adjust the article UI. */ - public SnippetArticleViewHolder(NewTabPageRecyclerView parent, NewTabPageManager manager, + public SnippetArticleViewHolder(NewTabPageRecyclerView parent, + ContextMenuManager contextMenuManager, SuggestionsUiDelegate uiDelegate, UiConfig uiConfig) { - super(R.layout.new_tab_page_snippets_card, parent, uiConfig, manager); + super(R.layout.new_tab_page_snippets_card, parent, uiConfig, contextMenuManager); - mNewTabPageManager = manager; + mUiDelegate = uiDelegate; mThumbnailView = (ImageView) itemView.findViewById(R.id.article_thumbnail); mHeadlineTextView = (TextView) itemView.findViewById(R.id.article_headline); mPublisherTextView = (TextView) itemView.findViewById(R.id.article_publisher); @@ -110,19 +111,22 @@ @Override public void onImpression() { if (mArticle != null && mArticle.trackImpression()) { - mNewTabPageManager.getSuggestionsMetricsReporter().onSuggestionShown(mArticle); + mUiDelegate.getMetricsReporter().onSuggestionShown(mArticle); mRecyclerView.onSnippetImpression(); } } @Override public void onCardTapped() { - mNewTabPageManager.openSnippet(WindowOpenDisposition.CURRENT_TAB, mArticle); + int windowDisposition = WindowOpenDisposition.CURRENT_TAB; + mUiDelegate.getMetricsReporter().onSuggestionOpened(mArticle, windowDisposition); + mUiDelegate.getNavigationDelegate().openSnippet(windowDisposition, mArticle); } @Override public void openItem(int windowDisposition) { - mNewTabPageManager.openSnippet(windowDisposition, mArticle); + mUiDelegate.getMetricsReporter().onSuggestionOpened(mArticle, windowDisposition); + mUiDelegate.getNavigationDelegate().openSnippet(windowDisposition, mArticle); } @Override @@ -151,7 +155,7 @@ @Override public void onContextMenuCreated() { - mNewTabPageManager.getSuggestionsMetricsReporter().onSuggestionMenuOpened(mArticle); + mUiDelegate.getMetricsReporter().onSuggestionMenuOpened(mArticle); } @Override @@ -258,8 +262,7 @@ } else { mThumbnailView.setImageResource(R.drawable.ic_snippet_thumbnail_placeholder); mImageCallback = new FetchImageCallback(this, mArticle); - mNewTabPageManager.getSuggestionsSource() - .fetchSuggestionImage(mArticle, mImageCallback); + mUiDelegate.getSuggestionsSource().fetchSuggestionImage(mArticle, mImageCallback); } } @@ -344,7 +347,7 @@ } private void fetchFaviconFromLocalCache(final URI snippetUri, final boolean fallbackToService) { - mNewTabPageManager.getLocalFaviconImageForURL( + mUiDelegate.getLocalFaviconImageForURL( getSnippetDomain(snippetUri), mPublisherFaviconSizePx, new FaviconImageCallback() { @Override public void onFaviconAvailable(Bitmap image, String iconUrl) { @@ -368,7 +371,7 @@ if (sizePx == 0) return; // Replace the default icon by another one from the service when it is fetched. - mNewTabPageManager.ensureIconIsAvailable( + mUiDelegate.ensureIconIsAvailable( getSnippetDomain(snippetUri), // Store to the cache for the whole domain. String.format(FAVICON_SERVICE_FORMAT, snippetUri.getHost(), sizePx), /*useLargeIcon=*/false, /*isTemporary=*/true, new IconAvailabilityCallback() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java index 0d66ebc7..a4c4f0de 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java
@@ -4,154 +4,44 @@ package org.chromium.chrome.browser.suggestions; -import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; -import org.chromium.base.Callback; -import org.chromium.base.ObserverList; import org.chromium.chrome.R; +import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.SynchronousInitializationActivity; -import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; -import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback; -import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; import org.chromium.chrome.browser.ntp.ContextMenuManager; -import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; -import org.chromium.chrome.browser.ntp.MostVisitedItem; -import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.UiConfig; import org.chromium.chrome.browser.ntp.cards.NewTabPageAdapter; import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView; -import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; import org.chromium.chrome.browser.ntp.snippets.SnippetsBridge; -import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; -import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObserver; import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.tab.Tab; +import org.chromium.chrome.browser.tabmodel.TabModelSelector; -import java.util.Set; +import java.lang.ref.WeakReference; /** * Experimental activity to show content suggestions outside of the New Tab Page. */ public class ContentSuggestionsActivity extends SynchronousInitializationActivity { - private final ObserverList<DestructionObserver> mDestructionObservers = new ObserverList<>(); + private static WeakReference<ChromeActivity> sCallerActivity; private ContextMenuManager mContextMenuManager; + private SuggestionsUiDelegateImpl mSuggestionsManager; private SnippetsBridge mSnippetsBridge; - private NewTabPageRecyclerView mRecyclerView; - public static void launch(Context context) { + public static void launch(ChromeActivity activity) { + sCallerActivity = new WeakReference<>(activity); + Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.setClass(context, ContentSuggestionsActivity.class); - context.startActivity(intent); - } - - private class SuggestionsNewTabPageManager implements NewTabPageManager { - @Override - public void removeMostVisitedItem(MostVisitedItem item) {} - - @Override - public void openMostVisitedItem(int windowDisposition, MostVisitedItem item) {} - - @Override - public boolean isLocationBarShownInNTP() { - return false; - } - - @Override - public boolean isVoiceSearchEnabled() { - return false; - } - - @Override - public boolean isFakeOmniboxTextEnabledTablet() { - return false; - } - - @Override - public boolean isOpenInNewWindowEnabled() { - return true; - } - - @Override - public boolean isOpenInIncognitoEnabled() { - return true; - } - - @Override - public void navigateToBookmarks() {} - - @Override - public void navigateToRecentTabs() {} - - @Override - public void navigateToDownloadManager() {} - - @Override - public void openSnippet(int windowOpenDisposition, SnippetArticle article) {} - - @Override - public void focusSearchBox(boolean beginVoiceSearch, String pastedText) {} - - @Override - public void setMostVisitedURLsObserver(MostVisitedURLsObserver observer, int numResults) {} - - @Override - public void getLocalFaviconImageForURL( - String url, int size, FaviconImageCallback faviconCallback) {} - - @Override - public void getLargeIconForUrl(String url, int size, LargeIconCallback callback) {} - - @Override - public void ensureIconIsAvailable(String pageUrl, String iconUrl, boolean isLargeIcon, - boolean isTemporary, IconAvailabilityCallback callback) {} - - @Override - public void getUrlsAvailableOffline(Set<String> pageUrls, Callback<Set<String>> callback) {} - - @Override - public void onLogoClicked(boolean isAnimatedLogoShowing) {} - - @Override - public void getSearchProviderLogo(LogoObserver logoObserver) {} - - @Override - public void onLoadingComplete(MostVisitedItem[] mostVisitedItems) {} - - @Override - public void onLearnMoreClicked() {} - - @Override - public SuggestionsSource getSuggestionsSource() { - return mSnippetsBridge; - } - - @Override - public void addDestructionObserver(DestructionObserver destructionObserver) { - mDestructionObservers.addObserver(destructionObserver); - } - - @Override - public boolean isCurrentPage() { - return true; - } - - @Override - public ContextMenuManager getContextMenuManager() { - return mContextMenuManager; - } - - @Override - public SuggestionsMetricsReporter getSuggestionsMetricsReporter() { - return mSnippetsBridge; - } + intent.setClass(activity, ContentSuggestionsActivity.class); + activity.startActivity(intent); } @Override @@ -160,21 +50,35 @@ assert ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SUGGESTIONS_STANDALONE_UI); - mRecyclerView = (NewTabPageRecyclerView) LayoutInflater.from(this).inflate( - R.layout.new_tab_page_recycler_view, null, false); + // TODO(dgn): properly handle retrieving the tab information, or the base activity being + // destroyed. (https://crbug.com/677672) + ChromeActivity activity = sCallerActivity.get(); + if (activity == null) throw new IllegalStateException(); + + NewTabPageRecyclerView recyclerView = + (NewTabPageRecyclerView) LayoutInflater.from(this).inflate( + R.layout.new_tab_page_recycler_view, null, false); Profile profile = Profile.getLastUsedProfile(); + UiConfig uiConfig = new UiConfig(recyclerView); + + Tab currentTab = activity.getActivityTab(); + TabModelSelector tabModelSelector = activity.getTabModelSelector(); + mSnippetsBridge = new SnippetsBridge(profile); + SuggestionsNavigationDelegate navigationDelegate = + new SuggestionsNavigationDelegateImpl(this, profile, currentTab, tabModelSelector); - NewTabPageManager manager = new SuggestionsNewTabPageManager(); - mContextMenuManager = new ContextMenuManager(this, manager, mRecyclerView); - UiConfig uiConfig = new UiConfig(mRecyclerView); - NewTabPageAdapter adapter = new NewTabPageAdapter( - manager, null, uiConfig, OfflinePageBridge.getForProfile(profile)); - mRecyclerView.setAdapter(adapter); - mRecyclerView.setUpSwipeToDismiss(); + mSuggestionsManager = new SuggestionsUiDelegateImpl( + mSnippetsBridge, mSnippetsBridge, navigationDelegate, profile, currentTab); + mContextMenuManager = new ContextMenuManager(this, navigationDelegate, recyclerView); - setContentView(mRecyclerView); + NewTabPageAdapter adapter = new NewTabPageAdapter(mSuggestionsManager, null, uiConfig, + OfflinePageBridge.getForProfile(profile), mContextMenuManager); + recyclerView.setAdapter(adapter); + recyclerView.setUpSwipeToDismiss(); + + setContentView(recyclerView); } @Override @@ -184,13 +88,8 @@ @Override protected void onDestroy() { - for (DestructionObserver observer : mDestructionObservers) { - observer.onDestroy(); - } - mSnippetsBridge.destroy(); - mSnippetsBridge = null; - + mSuggestionsManager.onDestroy(); super.onDestroy(); } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java new file mode 100644 index 0000000..22924a31 --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
@@ -0,0 +1,41 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.suggestions; + +import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; +import org.chromium.content_public.browser.LoadUrlParams; + +/** + * Interface exposing to the suggestion surface methods to navigate to other parts of the browser. + */ +public interface SuggestionsNavigationDelegate { + /** @return Whether context menus should allow the option to open a link in incognito. */ + boolean isOpenInIncognitoEnabled(); + + /** @return Whether context menus should allow the option to open a link in a new window. */ + boolean isOpenInNewWindowEnabled(); + + /** Opens the bookmarks page in the current tab. */ + void navigateToBookmarks(); + + /** Opens the Download Manager UI in the current tab. */ + void navigateToDownloadManager(); + + /** Opens the recent tabs page in the current tab. */ + void navigateToRecentTabs(); + + /** Opens the help page for the content suggestions in the current tab. */ + void navigateToHelpPage(); + + /** + * Opens a content suggestion and records related metrics. + * @param windowOpenDisposition How to open (current tab, new tab, new window etc). + * @param article The content suggestion to open. + */ + void openSnippet(int windowOpenDisposition, SnippetArticle article); + + /** Opens an url with the desired disposition. */ + void openUrl(int windowOpenDisposition, LoadUrlParams loadUrlParams); +} \ No newline at end of file
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java new file mode 100644 index 0000000..40fc5277 --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java
@@ -0,0 +1,192 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.suggestions; + +import android.app.Activity; + +import org.chromium.base.metrics.RecordUserAction; +import org.chromium.chrome.browser.UrlConstants; +import org.chromium.chrome.browser.bookmarks.BookmarkUtils; +import org.chromium.chrome.browser.download.DownloadUtils; +import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; +import org.chromium.chrome.browser.ntp.NewTabPageUma; +import org.chromium.chrome.browser.ntp.snippets.KnownCategories; +import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; +import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; +import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; +import org.chromium.chrome.browser.preferences.PrefServiceBridge; +import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.tab.Tab; +import org.chromium.chrome.browser.tabmodel.TabModel; +import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; +import org.chromium.chrome.browser.tabmodel.TabModelSelector; +import org.chromium.chrome.browser.tabmodel.TabModelUtils; +import org.chromium.chrome.browser.tabmodel.document.TabDelegate; +import org.chromium.content_public.browser.LoadUrlParams; +import org.chromium.content_public.common.Referrer; +import org.chromium.ui.base.PageTransition; +import org.chromium.ui.mojom.WindowOpenDisposition; + +/** + * {@link SuggestionsUiDelegate} implementation. + */ +public class SuggestionsNavigationDelegateImpl implements SuggestionsNavigationDelegate { + private static final String CHROME_CONTENT_SUGGESTIONS_REFERRER = + "https://www.googleapis.com/auth/chrome-content-suggestions"; + + private final Activity mActivity; + private final Profile mProfile; + + private final Tab mTab; + private final TabModelSelector mTabModelSelector; + + public SuggestionsNavigationDelegateImpl( + Activity activity, Profile profile, Tab currentTab, TabModelSelector tabModelSelector) { + mActivity = activity; + mProfile = profile; + mTab = currentTab; + mTabModelSelector = tabModelSelector; + } + + @Override + public boolean isOpenInNewWindowEnabled() { + return MultiWindowUtils.getInstance().isOpenInOtherWindowSupported(mActivity); + } + + @Override + public boolean isOpenInIncognitoEnabled() { + return PrefServiceBridge.getInstance().isIncognitoModeEnabled(); + } + + @Override + public void navigateToBookmarks() { + RecordUserAction.record("MobileNTPSwitchToBookmarks"); + BookmarkUtils.showBookmarkManager(mActivity); + } + + @Override + public void navigateToRecentTabs() { + RecordUserAction.record("MobileNTPSwitchToOpenTabs"); + mTab.loadUrl(new LoadUrlParams(UrlConstants.RECENT_TABS_URL)); + } + + @Override + public void navigateToDownloadManager() { + assert DownloadUtils.isDownloadHomeEnabled(); + + RecordUserAction.record("MobileNTPSwitchToDownloadManager"); + DownloadUtils.showDownloadManager(mActivity, mTab); + } + + @Override + public void navigateToHelpPage() { + NewTabPageUma.recordAction(NewTabPageUma.ACTION_CLICKED_LEARN_MORE); + String url = "https://support.google.com/chrome/?p=new_tab"; + // TODO(mastiz): Change this to LINK? + openUrl(WindowOpenDisposition.CURRENT_TAB, + new LoadUrlParams(url, PageTransition.AUTO_BOOKMARK)); + } + + @Override + public void openSnippet(int windowOpenDisposition, SnippetArticle article) { + NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET); + + if (article.mIsAssetDownload) { + assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB + || windowOpenDisposition == WindowOpenDisposition.NEW_WINDOW + || windowOpenDisposition == WindowOpenDisposition.NEW_FOREGROUND_TAB; + DownloadUtils.openFile( + article.getAssetDownloadFile(), article.getAssetDownloadMimeType(), false); + return; + } + + if (article.isRecentTab()) { + assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB; + // TODO(vitaliii): Add a debug check that the result is true after crbug.com/662924 + // is resolved. + openRecentTabSnippet(article); + return; + } + + // TODO(treib): Also track other dispositions. crbug.com/665915 + if (windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB) { + NewTabPageUma.monitorContentSuggestionVisit(mTab, article.mCategory); + } + + LoadUrlParams loadUrlParams; + // We explicitly open an offline page only for offline page downloads. For all other + // sections the URL is opened and it is up to Offline Pages whether to open its offline + // page (e.g. when offline). + if (article.isDownload() && !article.mIsAssetDownload) { + assert article.getOfflinePageOfflineId() != null; + assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TAB + || windowOpenDisposition == WindowOpenDisposition.NEW_WINDOW + || windowOpenDisposition == WindowOpenDisposition.NEW_FOREGROUND_TAB; + loadUrlParams = OfflinePageUtils.getLoadUrlParamsForOpeningOfflineVersion( + article.mUrl, article.getOfflinePageOfflineId()); + // Extra headers are not read in loadUrl, but verbatim headers are. + loadUrlParams.setVerbatimHeaders(loadUrlParams.getExtraHeadersString()); + } else { + loadUrlParams = new LoadUrlParams(article.mUrl, PageTransition.AUTO_BOOKMARK); + } + + // For article suggestions, we set the referrer. This is exploited + // to filter out these history entries for NTP tiles. + // TODO(mastiz): Extend this with support for other categories. + if (article.mCategory == KnownCategories.ARTICLES) { + loadUrlParams.setReferrer(new Referrer( + CHROME_CONTENT_SUGGESTIONS_REFERRER, Referrer.REFERRER_POLICY_ALWAYS)); + } + + openUrl(windowOpenDisposition, loadUrlParams); + } + + @Override + public void openUrl(int windowOpenDisposition, LoadUrlParams loadUrlParams) { + switch (windowOpenDisposition) { + case WindowOpenDisposition.CURRENT_TAB: + mTab.loadUrl(loadUrlParams); + break; + case WindowOpenDisposition.NEW_FOREGROUND_TAB: + openUrlInNewTab(loadUrlParams, false); + break; + case WindowOpenDisposition.OFF_THE_RECORD: + openUrlInNewTab(loadUrlParams, true); + break; + case WindowOpenDisposition.NEW_WINDOW: + openUrlInNewWindow(loadUrlParams); + break; + case WindowOpenDisposition.SAVE_TO_DISK: + saveUrlForOffline(loadUrlParams.getUrl()); + break; + default: + assert false; + } + } + + private boolean openRecentTabSnippet(SnippetArticle article) { + TabModel tabModel = mTabModelSelector.getModel(false); + int tabId = Integer.parseInt(article.getRecentTabId()); + int tabIndex = TabModelUtils.getTabIndexById(tabModel, tabId); + if (tabIndex == TabModel.INVALID_TAB_INDEX) return false; + TabModelUtils.setIndex(tabModel, tabIndex); + return true; + } + + private void openUrlInNewWindow(LoadUrlParams loadUrlParams) { + TabDelegate tabDelegate = new TabDelegate(false); + tabDelegate.createTabInOtherWindow(loadUrlParams, mActivity, mTab.getParentId()); + } + + private void openUrlInNewTab(LoadUrlParams loadUrlParams, boolean incognito) { + mTabModelSelector.openNewTab( + loadUrlParams, TabLaunchType.FROM_LONGPRESS_BACKGROUND, mTab, incognito); + } + + private void saveUrlForOffline(String url) { + OfflinePageBridge.getForProfile(mProfile).savePageLater( + url, "ntp_suggestions", true /* userRequested */); + } +}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsUiDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsUiDelegate.java new file mode 100644 index 0000000..64a68505a --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsUiDelegate.java
@@ -0,0 +1,77 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.suggestions; + +import org.chromium.base.Callback; +import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; +import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback; +import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; +import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver; +import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; + +import java.util.Set; + +/** + * Interface between the suggestion surface and the rest of the browser. + */ +public interface SuggestionsUiDelegate { + // Dependency injection + // TODO(dgn): remove these methods once the users have a different way to get a reference + // to these objects (https://crbug.com/677672) + + /** Convenience method to access the {@link SuggestionsSource}. */ + SuggestionsSource getSuggestionsSource(); + + /** Convenience method to access the {@link SuggestionsMetricsReporter}. */ + SuggestionsMetricsReporter getMetricsReporter(); + + /** Convenience method to access the {@link SuggestionsNavigationDelegate}. */ + SuggestionsNavigationDelegate getNavigationDelegate(); + + // Favicons + + /** + * Checks if an icon with the given URL is available. If not, + * downloads it and stores it as a favicon/large icon for the given {@code pageUrl}. + * @param pageUrl The URL of the site whose icon is being requested. + * @param iconUrl The URL of the favicon/large icon. + * @param isLargeIcon Whether the {@code iconUrl} represents a large icon or favicon. + * @param callback The callback to be notified when the favicon has been checked. + */ + void ensureIconIsAvailable(String pageUrl, String iconUrl, boolean isLargeIcon, + boolean isTemporary, IconAvailabilityCallback callback); + + /** + * Gets the large icon (e.g. favicon or touch icon) for a given URL. + * @param url The URL of the site whose icon is being requested. + * @param size The desired size of the icon in pixels. + * @param callback The callback to be notified when the icon is available. + */ + void getLargeIconForUrl(String url, int size, LargeIconCallback callback); + + /** + * Gets the favicon image for a given URL. + * @param url The URL of the site whose favicon is being requested. + * @param size The desired size of the favicon in pixels. + * @param faviconCallback The callback to be notified when the favicon is available. + */ + void getLocalFaviconImageForURL(String url, int size, FaviconImageCallback faviconCallback); + + // Feature/State checks + + /** + * Registers a {@link DestructionObserver}, notified when the New Tab Page goes away. + */ + void addDestructionObserver(DestructionObserver destructionObserver); + + // Offline + + /** + * Checks if the pages with the given URLs are available offline. + * @param pageUrls The URLs of the sites whose offline availability is requested. + * @param callback Fired when the results are available. + */ + void getUrlsAvailableOffline(Set<String> pageUrls, Callback<Set<String>> callback); +} \ No newline at end of file
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsUiDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsUiDelegateImpl.java new file mode 100644 index 0000000..74490ce --- /dev/null +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsUiDelegateImpl.java
@@ -0,0 +1,197 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package org.chromium.chrome.browser.suggestions; + +import android.net.Uri; +import android.os.SystemClock; +import android.support.annotation.Nullable; + +import org.chromium.base.Callback; +import org.chromium.base.ThreadUtils; +import org.chromium.base.metrics.RecordHistogram; +import org.chromium.chrome.browser.ChromeFeatureList; +import org.chromium.chrome.browser.favicon.FaviconHelper; +import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; +import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback; +import org.chromium.chrome.browser.favicon.LargeIconBridge; +import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; +import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver; +import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; +import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; +import org.chromium.chrome.browser.profiles.Profile; +import org.chromium.chrome.browser.tab.Tab; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +/** + * {@link SuggestionsUiDelegate} implementation. + */ +public class SuggestionsUiDelegateImpl implements SuggestionsUiDelegate { + private final List<DestructionObserver> mDestructionObservers = new ArrayList<>(); + private final SuggestionsSource mSuggestionsSource; + private final SuggestionsMetricsReporter mSuggestionsMetricsReporter; + private final SuggestionsNavigationDelegate mSuggestionsNavigationDelegate; + + private final Profile mProfile; + + private final Tab mTab; + + private FaviconHelper mFaviconHelper; + private LargeIconBridge mLargeIconBridge; + + private boolean mIsDestroyed; + + public SuggestionsUiDelegateImpl(SuggestionsSource suggestionsSource, + SuggestionsMetricsReporter metricsReporter, + SuggestionsNavigationDelegate navigationDelegate, Profile profile, Tab currentTab) { + mSuggestionsSource = suggestionsSource; + mSuggestionsMetricsReporter = metricsReporter; + mSuggestionsNavigationDelegate = navigationDelegate; + + mProfile = profile; + mTab = currentTab; + } + + @Override + public void getLocalFaviconImageForURL( + String url, int size, FaviconImageCallback faviconCallback) { + if (mIsDestroyed) return; + getFaviconHelper().getLocalFaviconImageForURL(mProfile, url, size, faviconCallback); + } + + @Override + public void getLargeIconForUrl(String url, int size, LargeIconCallback callback) { + if (mIsDestroyed) return; + getLargeIconBridge().getLargeIconForUrl(url, size, callback); + } + + @Override + public void ensureIconIsAvailable(String pageUrl, String iconUrl, boolean isLargeIcon, + boolean isTemporary, IconAvailabilityCallback callback) { + if (mIsDestroyed) return; + getFaviconHelper().ensureIconIsAvailable(mProfile, mTab.getWebContents(), pageUrl, iconUrl, + isLargeIcon, isTemporary, callback); + } + + @Override + public void getUrlsAvailableOffline( + Set<String> pageUrls, final Callback<Set<String>> callback) { + final Set<String> urlsAvailableOffline = new HashSet<>(); + if (mIsDestroyed || !isNtpOfflinePagesEnabled()) { + callback.onResult(urlsAvailableOffline); + return; + } + + HashSet<String> urlsToCheckForOfflinePage = new HashSet<>(); + + for (String pageUrl : pageUrls) { + if (isLocalUrl(pageUrl)) { + urlsAvailableOffline.add(pageUrl); + } else { + urlsToCheckForOfflinePage.add(pageUrl); + } + } + + final long offlineQueryStartTime = SystemClock.elapsedRealtime(); + + OfflinePageBridge offlinePageBridge = OfflinePageBridge.getForProfile(mProfile); + + // TODO(dewittj): Remove this code by making the NTP badging available after the NTP is + // fully loaded. + if (offlinePageBridge == null || !offlinePageBridge.isOfflinePageModelLoaded()) { + // Posting a task to avoid potential re-entrancy issues. + ThreadUtils.postOnUiThread(new Runnable() { + @Override + public void run() { + callback.onResult(urlsAvailableOffline); + } + }); + return; + } + + offlinePageBridge.checkPagesExistOffline( + urlsToCheckForOfflinePage, new Callback<Set<String>>() { + @Override + public void onResult(Set<String> urlsWithOfflinePages) { + urlsAvailableOffline.addAll(urlsWithOfflinePages); + callback.onResult(urlsAvailableOffline); + RecordHistogram.recordTimesHistogram("NewTabPage.OfflineUrlsLoadTime", + SystemClock.elapsedRealtime() - offlineQueryStartTime, + TimeUnit.MILLISECONDS); + } + }); + } + + @Override + public SuggestionsSource getSuggestionsSource() { + return mSuggestionsSource; + } + + @Nullable + @Override + public SuggestionsMetricsReporter getMetricsReporter() { + return mSuggestionsMetricsReporter; + } + + @Nullable + @Override + public SuggestionsNavigationDelegate getNavigationDelegate() { + return mSuggestionsNavigationDelegate; + } + + @Override + public void addDestructionObserver(DestructionObserver destructionObserver) { + mDestructionObservers.add(destructionObserver); + } + + /** Invalidates the delegate and calls the registered destruction observers. */ + public void onDestroy() { + assert !mIsDestroyed; + + for (DestructionObserver observer : mDestructionObservers) observer.onDestroy(); + + if (mFaviconHelper != null) { + mFaviconHelper.destroy(); + mFaviconHelper = null; + } + if (mLargeIconBridge != null) { + mLargeIconBridge.destroy(); + mLargeIconBridge = null; + } + mIsDestroyed = true; + } + + /** + * Utility method to lazily create the {@link FaviconHelper}, and avoid unnecessary native + * calls in tests. + */ + private FaviconHelper getFaviconHelper() { + assert !mIsDestroyed; + if (mFaviconHelper == null) mFaviconHelper = new FaviconHelper(); + return mFaviconHelper; + } + + /** + * Utility method to lazily create the {@link LargeIconBridge}, and avoid unnecessary native + * calls in tests. + */ + private LargeIconBridge getLargeIconBridge() { + assert !mIsDestroyed; + if (mLargeIconBridge == null) mLargeIconBridge = new LargeIconBridge(mProfile); + return mLargeIconBridge; + } + + private boolean isNtpOfflinePagesEnabled() { + return ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_OFFLINE_PAGES_FEATURE_NAME); + } + + private boolean isLocalUrl(String url) { + return "file".equals(Uri.parse(url).getScheme()); + } +}
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni index f84fd8e..98256ba 100644 --- a/chrome/android/java_sources.gni +++ b/chrome/android/java_sources.gni
@@ -918,6 +918,10 @@ "java/src/org/chromium/chrome/browser/snackbar/undo/UndoBarController.java", "java/src/org/chromium/chrome/browser/ssl/SecurityStateModel.java", "java/src/org/chromium/chrome/browser/suggestions/ContentSuggestionsActivity.java", + "java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java", + "java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegateImpl.java", + "java/src/org/chromium/chrome/browser/suggestions/SuggestionsUiDelegate.java", + "java/src/org/chromium/chrome/browser/suggestions/SuggestionsUiDelegateImpl.java", "java/src/org/chromium/chrome/browser/suggestions/SuggestionsMetricsReporter.java", "java/src/org/chromium/chrome/browser/suggestions/SuggestionsRanker.java", "java/src/org/chromium/chrome/browser/superviseduser/SupervisedUserContentProvider.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java index 091e335..77f946e 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/snippets/ArticleSnippetsTest.java
@@ -20,21 +20,18 @@ import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback; import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; -import org.chromium.chrome.browser.ntp.ContextMenuManager; -import org.chromium.chrome.browser.ntp.LogoBridge.LogoObserver; -import org.chromium.chrome.browser.ntp.MostVisitedItem; import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.UiConfig; import org.chromium.chrome.browser.ntp.cards.ActionItem; import org.chromium.chrome.browser.ntp.cards.NewTabPageAdapter; import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView; import org.chromium.chrome.browser.ntp.cards.SuggestionsCategoryInfo; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; -import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObserver; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter; +import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; import org.chromium.chrome.browser.suggestions.SuggestionsRanker; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import org.chromium.chrome.test.ChromeActivityTestCaseBase; import org.chromium.chrome.test.util.RenderUtils.ViewRenderer; @@ -48,7 +45,7 @@ public class ArticleSnippetsTest extends ChromeActivityTestCaseBase<ChromeActivity> { private ViewRenderer mViewRenderer; - private NewTabPageManager mNtpManager; + private SuggestionsUiDelegate mUiDelegate; private FakeSuggestionsSource mSnippetsSource; private NewTabPageRecyclerView mRecyclerView; private NewTabPageAdapter mAdapter; @@ -81,8 +78,9 @@ View aboveTheFold = new View(getActivity()); mRecyclerView.setAboveTheFoldView(aboveTheFold); - mAdapter = new NewTabPageAdapter(mNtpManager, aboveTheFold, mUiConfig, - OfflinePageBridge.getForProfile(Profile.getLastUsedProfile())); + mAdapter = new NewTabPageAdapter(mUiDelegate, aboveTheFold, mUiConfig, + OfflinePageBridge.getForProfile(Profile.getLastUsedProfile()), + /* contextMenuManager = */null); mRecyclerView.setAdapter(mAdapter); } }); @@ -183,17 +181,14 @@ @Override protected void setUp() throws Exception { super.setUp(); - mNtpManager = new MockNewTabPageManager(); + mUiDelegate = new MockUiDelegate(); mSnippetsSource = new FakeSuggestionsSource(); } /** - * A NewTabPageManager to initialize our Adapter. + * A SuggestionsUiDelegate to initialize our Adapter. */ - private class MockNewTabPageManager implements NewTabPageManager { - // TODO(dgn): provide a RecyclerView if we need to test the context menu. - private ContextMenuManager mContextMenuManager = - new ContextMenuManager(getActivity(), this, null); + private class MockUiDelegate implements SuggestionsUiDelegate { private SuggestionsMetricsReporter mSuggestionsMetricsReporter = new DummySuggestionsMetricsReporter(); @@ -214,56 +209,6 @@ } @Override - public void removeMostVisitedItem(MostVisitedItem item) { - throw new UnsupportedOperationException(); - } - - @Override - public void openMostVisitedItem(int windowDisposition, MostVisitedItem item) { - throw new UnsupportedOperationException(); - } - - @Override - public boolean isLocationBarShownInNTP() { - throw new UnsupportedOperationException(); - } - - @Override - public boolean isVoiceSearchEnabled() { - throw new UnsupportedOperationException(); - } - - @Override - public boolean isFakeOmniboxTextEnabledTablet() { - throw new UnsupportedOperationException(); - } - - @Override - public void navigateToBookmarks() { - throw new UnsupportedOperationException(); - } - - @Override - public void navigateToRecentTabs() { - throw new UnsupportedOperationException(); - } - - @Override - public void openSnippet(int windowOpenDisposition, SnippetArticle article) { - throw new UnsupportedOperationException(); - } - - @Override - public void focusSearchBox(boolean beginVoiceSearch, String pastedText) { - throw new UnsupportedOperationException(); - } - - @Override - public void setMostVisitedURLsObserver(MostVisitedURLsObserver observer, int numResults) { - throw new UnsupportedOperationException(); - } - - @Override public void getLargeIconForUrl(String url, int size, LargeIconCallback callback) { throw new UnsupportedOperationException(); } @@ -280,41 +225,6 @@ } @Override - public void onLogoClicked(boolean isAnimatedLogoShowing) { - throw new UnsupportedOperationException(); - } - - @Override - public void getSearchProviderLogo(LogoObserver logoObserver) { - throw new UnsupportedOperationException(); - } - - @Override - public void onLoadingComplete(MostVisitedItem[] mostVisitedItems) { - throw new UnsupportedOperationException(); - } - - @Override - public boolean isOpenInNewWindowEnabled() { - throw new UnsupportedOperationException(); - } - - @Override - public boolean isOpenInIncognitoEnabled() { - throw new UnsupportedOperationException(); - } - - @Override - public void navigateToDownloadManager() { - throw new UnsupportedOperationException(); - } - - @Override - public void onLearnMoreClicked() { - throw new UnsupportedOperationException(); - } - - @Override public SuggestionsSource getSuggestionsSource() { return mSnippetsSource; } @@ -323,17 +233,13 @@ public void addDestructionObserver(DestructionObserver destructionObserver) {} @Override - public boolean isCurrentPage() { - return true; + public SuggestionsMetricsReporter getMetricsReporter() { + return mSuggestionsMetricsReporter; } @Override - public ContextMenuManager getContextMenuManager() { - return mContextMenuManager; - } - - public SuggestionsMetricsReporter getSuggestionsMetricsReporter() { - return mSuggestionsMetricsReporter; + public SuggestionsNavigationDelegate getNavigationDelegate() { + return null; } }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java index 6b3fa15..b3414961 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java
@@ -53,8 +53,8 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.EnableFeatures; +import org.chromium.chrome.browser.ntp.ContextMenuManager; import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.cards.ContentSuggestionsTestUtils.CategoryInfoBuilder; import org.chromium.chrome.browser.ntp.cards.SignInPromo.SigninObserver; import org.chromium.chrome.browser.ntp.snippets.CategoryInt; @@ -68,6 +68,7 @@ import org.chromium.chrome.browser.signin.SigninManager.SignInAllowedObserver; import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver; import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import org.chromium.testing.local.LocalRobolectricTestRunner; import java.util.ArrayList; @@ -92,7 +93,7 @@ @Mock private OfflinePageBridge mOfflinePageBridge; @Mock - private NewTabPageManager mNewTabPageManager; + private SuggestionsUiDelegate mUiDelegate; /** * Stores information about a section that should be present in the adapter. @@ -210,10 +211,8 @@ mSource.setInfoForCategory(category, new CategoryInfoBuilder(category).showIfEmpty().build()); - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(mSource); - when(mNewTabPageManager.getSuggestionsMetricsReporter()) - .thenReturn(mock(SuggestionsMetricsReporter.class)); - when(mNewTabPageManager.isCurrentPage()).thenReturn(true); + when(mUiDelegate.getSuggestionsSource()).thenReturn(mSource); + when(mUiDelegate.getMetricsReporter()).thenReturn(mock(SuggestionsMetricsReporter.class)); reloadNtp(); } @@ -481,7 +480,7 @@ new CategoryInfoBuilder(category).showIfEmpty().build()); // 1.1 - Initial state - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(suggestionsSource); + when(mUiDelegate.getSuggestionsSource()).thenReturn(suggestionsSource); reloadNtp(); assertItemsFor(sectionWithStatusCard().withProgress()); @@ -507,7 +506,7 @@ suggestionsSource.setInfoForCategory(category, new CategoryInfoBuilder(category).build()); // 2.1 - Initial state - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(suggestionsSource); + when(mUiDelegate.getSuggestionsSource()).thenReturn(suggestionsSource); reloadNtp(); assertItemsFor(); @@ -537,7 +536,7 @@ .build()); // 1.1 - Initial state. - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(suggestionsSource); + when(mUiDelegate.getSuggestionsSource()).thenReturn(suggestionsSource); reloadNtp(); assertItemsFor(sectionWithStatusCard().withActionButton().withProgress()); @@ -564,7 +563,7 @@ new CategoryInfoBuilder(category).showIfEmpty().build()); // 2.1 - Initial state. - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(suggestionsSource); + when(mUiDelegate.getSuggestionsSource()).thenReturn(suggestionsSource); reloadNtp(); assertItemsFor(sectionWithStatusCard().withProgress()); @@ -638,7 +637,7 @@ @Feature({"Ntp"}) public void testCategoryOrder() { FakeSuggestionsSource suggestionsSource = new FakeSuggestionsSource(); - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(suggestionsSource); + when(mUiDelegate.getSuggestionsSource()).thenReturn(suggestionsSource); registerCategory(suggestionsSource, KnownCategories.ARTICLES, 0); registerCategory(suggestionsSource, KnownCategories.BOOKMARKS, 0); registerCategory(suggestionsSource, KnownCategories.PHYSICAL_WEB_PAGES, 0); @@ -658,7 +657,7 @@ // With a different order. suggestionsSource = new FakeSuggestionsSource(); - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(suggestionsSource); + when(mUiDelegate.getSuggestionsSource()).thenReturn(suggestionsSource); registerCategory(suggestionsSource, KnownCategories.ARTICLES, 0); registerCategory(suggestionsSource, KnownCategories.PHYSICAL_WEB_PAGES, 0); registerCategory(suggestionsSource, KnownCategories.DOWNLOADS, 0); @@ -678,7 +677,7 @@ // With unknown categories. suggestionsSource = new FakeSuggestionsSource(); - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(suggestionsSource); + when(mUiDelegate.getSuggestionsSource()).thenReturn(suggestionsSource); registerCategory(suggestionsSource, KnownCategories.ARTICLES, 0); registerCategory(suggestionsSource, KnownCategories.PHYSICAL_WEB_PAGES, 0); registerCategory(suggestionsSource, KnownCategories.DOWNLOADS, 0); @@ -703,7 +702,7 @@ public void testChangeNotifications() { FakeSuggestionsSource suggestionsSource = spy(new FakeSuggestionsSource()); registerCategory(suggestionsSource, KnownCategories.ARTICLES, 3); - when(mNewTabPageManager.getSuggestionsSource()).thenReturn(suggestionsSource); + when(mUiDelegate.getSuggestionsSource()).thenReturn(suggestionsSource); @SuppressWarnings("unchecked") Callback<String> itemDismissedCallback = mock(Callback.class); @@ -799,7 +798,7 @@ ArgumentCaptor<DestructionObserver> observers = ArgumentCaptor.forClass(DestructionObserver.class); - doNothing().when(mNewTabPageManager).addDestructionObserver(observers.capture()); + doNothing().when(mUiDelegate).addDestructionObserver(observers.capture()); reloadNtp(); assertTrue(isSignInPromoVisible()); @@ -868,7 +867,7 @@ ArgumentCaptor<DestructionObserver> observers = ArgumentCaptor.forClass(DestructionObserver.class); - verify(mNewTabPageManager, atLeastOnce()).addDestructionObserver(observers.capture()); + verify(mUiDelegate, atLeastOnce()).addDestructionObserver(observers.capture()); SigninObserver signinObserver = null; for (DestructionObserver observer : observers.getAllValues()) { @@ -1046,8 +1045,8 @@ } private void reloadNtp() { - mAdapter = new NewTabPageAdapter(mNewTabPageManager, mock(View.class), null, - mOfflinePageBridge); + mAdapter = new NewTabPageAdapter(mUiDelegate, mock(View.class), null, mOfflinePageBridge, + mock(ContextMenuManager.class)); } private void assertArticlesEqual(List<SnippetArticle> articles, int start, int end) {
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SectionListTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SectionListTest.java index a477c2c..608ddc3 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SectionListTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SectionListTest.java
@@ -21,7 +21,6 @@ import org.chromium.base.Callback; import org.chromium.base.test.util.Feature; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.cards.ContentSuggestionsTestUtils.CategoryInfoBuilder; import org.chromium.chrome.browser.ntp.snippets.CategoryInt; import org.chromium.chrome.browser.ntp.snippets.FakeSuggestionsSource; @@ -31,6 +30,7 @@ import org.chromium.chrome.browser.ntp.snippets.SnippetArticleViewHolder; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import org.chromium.testing.local.LocalRobolectricTestRunner; import java.util.Collections; @@ -43,7 +43,7 @@ @Config(manifest = Config.NONE) public class SectionListTest { @Mock - private NewTabPageManager mNtpManager; + private SuggestionsUiDelegate mUiDelegate; @Mock private OfflinePageBridge mOfflinePageBridge; @Mock @@ -55,8 +55,8 @@ MockitoAnnotations.initMocks(this); mSuggestionSource = new FakeSuggestionsSource(); - when(mNtpManager.getSuggestionsSource()).thenReturn(mSuggestionSource); - when(mNtpManager.getSuggestionsMetricsReporter()).thenReturn(mMetricsReporter); + when(mUiDelegate.getSuggestionsSource()).thenReturn(mSuggestionSource); + when(mUiDelegate.getMetricsReporter()).thenReturn(mMetricsReporter); } @Test @@ -83,7 +83,7 @@ List<SnippetArticle> bookmarks = registerCategory(mSuggestionSource, KnownCategories.BOOKMARKS, 4); - SectionList sectionList = new SectionList(mNtpManager, mOfflinePageBridge); + SectionList sectionList = new SectionList(mUiDelegate, mOfflinePageBridge); bindViewHolders(sectionList); @@ -119,7 +119,7 @@ List<SnippetArticle> bookmarks = registerCategory(mSuggestionSource, KnownCategories.BOOKMARKS, 4); - SectionList sectionList = new SectionList(mNtpManager, mOfflinePageBridge); + SectionList sectionList = new SectionList(mUiDelegate, mOfflinePageBridge); bindViewHolders(sectionList, 0, 5); // Bind until after the third article. @@ -219,7 +219,7 @@ registerCategory(mSuggestionSource, new CategoryInfoBuilder(KnownCategories.DOWNLOADS).withViewAllAction().build(), 3); - SectionList sectionList = new SectionList(mNtpManager, mOfflinePageBridge); + SectionList sectionList = new SectionList(mUiDelegate, mOfflinePageBridge); bindViewHolders(sectionList); assertThat(sectionList.getSectionForTesting(KnownCategories.ARTICLES)
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java index 5d965e1..7e750c2 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java
@@ -33,14 +33,15 @@ import org.chromium.base.test.util.Feature; import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.EnableFeatures; -import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; import org.chromium.chrome.browser.ntp.cards.ContentSuggestionsTestUtils.CategoryInfoBuilder; import org.chromium.chrome.browser.ntp.snippets.CategoryStatus; import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; import org.chromium.chrome.browser.offlinepages.OfflinePageItem; import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter; +import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; import org.chromium.chrome.browser.suggestions.SuggestionsRanker; +import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; import org.chromium.testing.local.LocalRobolectricTestRunner; import java.util.Arrays; @@ -57,7 +58,8 @@ private SuggestionsSection.Delegate mDelegate; @Mock private NodeParent mParent; - @Mock private NewTabPageManager mManager; + @Mock + private SuggestionsUiDelegate mUiDelegate; private FakeOfflinePageBridge mBridge; @Before @@ -465,7 +467,7 @@ private SuggestionsSection createSection(SuggestionsCategoryInfo info) { SuggestionsSection section = new SuggestionsSection( - mDelegate, mManager, mock(SuggestionsRanker.class), mBridge, info); + mDelegate, mUiDelegate, mock(SuggestionsRanker.class), mBridge, info); section.setParent(mParent); return section; } @@ -476,10 +478,11 @@ private static void verifyAction(SuggestionsSection section, @ActionItem.Action int action) { SuggestionsSource suggestionsSource = mock(SuggestionsSource.class); - NewTabPageManager manager = mock(NewTabPageManager.class); + SuggestionsUiDelegate manager = mock(SuggestionsUiDelegate.class); + SuggestionsNavigationDelegate navDelegate = mock(SuggestionsNavigationDelegate.class); when(manager.getSuggestionsSource()).thenReturn(suggestionsSource); - when(manager.getSuggestionsMetricsReporter()) - .thenReturn(mock(SuggestionsMetricsReporter.class)); + when(manager.getNavigationDelegate()).thenReturn(navDelegate); + when(manager.getMetricsReporter()).thenReturn(mock(SuggestionsMetricsReporter.class)); if (action != ActionItem.ACTION_NONE) { section.getActionItem().performAction(manager); @@ -487,7 +490,7 @@ verify(section.getCategoryInfo(), (action == ActionItem.ACTION_VIEW_ALL ? times(1) : never())) - .performViewAllAction(manager); + .performViewAllAction(navDelegate); verify(suggestionsSource, action == ActionItem.ACTION_RELOAD || action == ActionItem.ACTION_FETCH_MORE ? times(1)
diff --git a/chrome/browser/resources/chromeos/login/offline_ad_login.js b/chrome/browser/resources/chromeos/login/offline_ad_login.js index 4847247..f722ecf 100644 --- a/chrome/browser/resources/chromeos/login/offline_ad_login.js +++ b/chrome/browser/resources/chromeos/login/offline_ad_login.js
@@ -83,6 +83,8 @@ * @param {string|undefined} machineName */ setUser: function(user, machineName) { + if (this.userRealm && user) + user = user.replace(this.userRealm, ''); this.$.userInput.value = user || ''; this.$.machineNameInput.value = machineName || ''; this.$.passwordInput.value = '';
diff --git a/chrome/browser/resources/chromeos/login/screen_gaia_signin.js b/chrome/browser/resources/chromeos/login/screen_gaia_signin.js index cc35df7c..8b09ce1 100644 --- a/chrome/browser/resources/chromeos/login/screen_gaia_signin.js +++ b/chrome/browser/resources/chromeos/login/screen_gaia_signin.js
@@ -50,6 +50,7 @@ 'monitorOfflineIdle', 'updateControlsState', 'showWhitelistCheckFailedError', + 'invalidateAd', ], /** @@ -1090,6 +1091,8 @@ ADAuthUI.realm = params['realm']; ADAuthUI.userRealm = '@' + params['realm']; } + if ('email' in params) + ADAuthUI.setUser(params['email']); this.onAuthReady_(); }, @@ -1116,6 +1119,15 @@ Oobe.showSigninUI(); this.updateControlsState(); + }, + + invalidateAd: function(username) { + if (this.screenMode_ != ScreenMode.AD_AUTH) + return; + var adAuthUI = this.getSigninFrame_(); + adAuthUI.setUser(username); + adAuthUI.setInvalid(ACTIVE_DIRECTORY_ERROR_STATE.BAD_PASSWORD); + this.loading = false; } }; });
diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc index efacc14..ba67796 100644 --- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
@@ -522,11 +522,13 @@ case authpolicy::ERROR_PASSWORD_EXPIRED: core_oobe_actor_->ShowActiveDirectoryPasswordChangeScreen(username); break; - case authpolicy::ERROR_UNKNOWN: - case authpolicy::ERROR_DBUS_FAILURE: case authpolicy::ERROR_PARSE_UPN_FAILED: case authpolicy::ERROR_BAD_USER_NAME: case authpolicy::ERROR_BAD_PASSWORD: + CallJS("invalidateAd", username); + return; + case authpolicy::ERROR_UNKNOWN: + case authpolicy::ERROR_DBUS_FAILURE: case authpolicy::ERROR_CANNOT_RESOLVE_KDC: case authpolicy::ERROR_KINIT_FAILED: case authpolicy::ERROR_NET_FAILED:
diff --git a/components/ntp_snippets/BUILD.gn b/components/ntp_snippets/BUILD.gn index c29c9133..00db4c0 100644 --- a/components/ntp_snippets/BUILD.gn +++ b/components/ntp_snippets/BUILD.gn
@@ -47,12 +47,10 @@ "pref_names.h", "pref_util.cc", "pref_util.h", + "remote/json_request.cc", + "remote/json_request.h", "remote/ntp_snippet.cc", "remote/ntp_snippet.h", - "remote/ntp_snippets_json_request.cc", - "remote/ntp_snippets_json_request.h", - "remote/ntp_snippets_request_params.cc", - "remote/ntp_snippets_request_params.h", "remote/persistent_scheduler.h", "remote/remote_suggestions_database.cc", "remote/remote_suggestions_database.h", @@ -65,6 +63,8 @@ "remote/remote_suggestions_scheduler.h", "remote/remote_suggestions_status_service.cc", "remote/remote_suggestions_status_service.h", + "remote/request_params.cc", + "remote/request_params.h", "remote/request_throttler.cc", "remote/request_throttler.h", "remote/scheduling_remote_suggestions_provider.cc", @@ -137,8 +137,8 @@ "content_suggestions_service_unittest.cc", "offline_pages/recent_tab_suggestions_provider_unittest.cc", "physical_web_pages/physical_web_page_suggestions_provider_unittest.cc", + "remote/json_request_unittest.cc", "remote/ntp_snippet_unittest.cc", - "remote/ntp_snippets_json_request_unittest.cc", "remote/remote_suggestions_database_unittest.cc", "remote/remote_suggestions_fetcher_unittest.cc", "remote/remote_suggestions_provider_impl_unittest.cc",
diff --git a/components/ntp_snippets/remote/ntp_snippets_json_request.cc b/components/ntp_snippets/remote/json_request.cc similarity index 86% rename from components/ntp_snippets/remote/ntp_snippets_json_request.cc rename to components/ntp_snippets/remote/json_request.cc index bf511098..9c24b7f8 100644 --- a/components/ntp_snippets/remote/ntp_snippets_json_request.cc +++ b/components/ntp_snippets/remote/json_request.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "components/ntp_snippets/remote/ntp_snippets_json_request.h" +#include "components/ntp_snippets/remote/json_request.h" #include <algorithm> #include <utility> @@ -20,7 +20,7 @@ #include "components/data_use_measurement/core/data_use_user_data.h" #include "components/ntp_snippets/category_info.h" #include "components/ntp_snippets/features.h" -#include "components/ntp_snippets/remote/ntp_snippets_request_params.h" +#include "components/ntp_snippets/remote/request_params.h" #include "components/ntp_snippets/user_classifier.h" #include "components/signin/core/browser/profile_oauth2_token_service.h" #include "components/signin/core/browser/signin_manager.h" @@ -165,7 +165,7 @@ l10n_util::GetStringUTF16(IDS_NTP_ARTICLE_SUGGESTIONS_SECTION_EMPTY)); } -NTPSnippetsJsonRequest::NTPSnippetsJsonRequest( +JsonRequest::JsonRequest( base::Optional<Category> exclusive_category, base::TickClock* tick_clock, // Needed until destruction of the request. const ParseJSONCallback& callback) @@ -176,21 +176,21 @@ creation_time_ = tick_clock_->NowTicks(); } -NTPSnippetsJsonRequest::~NTPSnippetsJsonRequest() { +JsonRequest::~JsonRequest() { LOG_IF(DFATAL, !request_completed_callback_.is_null()) << "The CompletionCallback was never called!"; } -void NTPSnippetsJsonRequest::Start(CompletedCallback callback) { +void JsonRequest::Start(CompletedCallback callback) { request_completed_callback_ = std::move(callback); url_fetcher_->Start(); } -base::TimeDelta NTPSnippetsJsonRequest::GetFetchDuration() const { +base::TimeDelta JsonRequest::GetFetchDuration() const { return tick_clock_->NowTicks() - creation_time_; } -std::string NTPSnippetsJsonRequest::GetResponseString() const { +std::string JsonRequest::GetResponseString() const { std::string response; url_fetcher_->GetResponseAsString(&response); return response; @@ -198,7 +198,7 @@ //////////////////////////////////////////////////////////////////////////////// // URLFetcherDelegate overrides -void NTPSnippetsJsonRequest::OnURLFetchComplete(const net::URLFetcher* source) { +void JsonRequest::OnURLFetchComplete(const net::URLFetcher* source) { DCHECK_EQ(url_fetcher_.get(), source); const URLRequestStatus& status = url_fetcher_->GetStatus(); int response = url_fetcher_->GetResponseCode(); @@ -224,26 +224,25 @@ } } -void NTPSnippetsJsonRequest::ParseJsonResponse() { +void JsonRequest::ParseJsonResponse() { std::string json_string; bool stores_result_to_string = url_fetcher_->GetResponseAsString(&json_string); DCHECK(stores_result_to_string); - parse_json_callback_.Run(json_string, - base::Bind(&NTPSnippetsJsonRequest::OnJsonParsed, - weak_ptr_factory_.GetWeakPtr()), - base::Bind(&NTPSnippetsJsonRequest::OnJsonError, - weak_ptr_factory_.GetWeakPtr())); + parse_json_callback_.Run( + json_string, + base::Bind(&JsonRequest::OnJsonParsed, weak_ptr_factory_.GetWeakPtr()), + base::Bind(&JsonRequest::OnJsonError, weak_ptr_factory_.GetWeakPtr())); } -void NTPSnippetsJsonRequest::OnJsonParsed(std::unique_ptr<base::Value> result) { +void JsonRequest::OnJsonParsed(std::unique_ptr<base::Value> result) { std::move(request_completed_callback_) .Run(std::move(result), FetchResult::SUCCESS, /*error_details=*/std::string()); } -void NTPSnippetsJsonRequest::OnJsonError(const std::string& error) { +void JsonRequest::OnJsonError(const std::string& error) { std::string json_string; url_fetcher_->GetResponseAsString(&json_string); LOG(WARNING) << "Received invalid JSON (" << error << "): " << json_string; @@ -252,20 +251,18 @@ /*error_details=*/base::StringPrintf(" (error %s)", error.c_str())); } -NTPSnippetsJsonRequest::Builder::Builder() +JsonRequest::Builder::Builder() : fetch_api_(CHROME_READER_API), personalization_(Personalization::kBoth), language_model_(nullptr) {} -NTPSnippetsJsonRequest::Builder::Builder(NTPSnippetsJsonRequest::Builder&&) = - default; -NTPSnippetsJsonRequest::Builder::~Builder() = default; +JsonRequest::Builder::Builder(JsonRequest::Builder&&) = default; +JsonRequest::Builder::~Builder() = default; -std::unique_ptr<NTPSnippetsJsonRequest> NTPSnippetsJsonRequest::Builder::Build() - const { +std::unique_ptr<JsonRequest> JsonRequest::Builder::Build() const { DCHECK(!url_.is_empty()); DCHECK(url_request_context_getter_); DCHECK(tick_clock_); - auto request = base::MakeUnique<NTPSnippetsJsonRequest>( + auto request = base::MakeUnique<JsonRequest>( params_.exclusive_category, tick_clock_, parse_json_callback_); std::string body = BuildBody(); std::string headers = BuildHeaders(); @@ -279,8 +276,7 @@ return request; } -NTPSnippetsJsonRequest::Builder& -NTPSnippetsJsonRequest::Builder::SetAuthentication( +JsonRequest::Builder& JsonRequest::Builder::SetAuthentication( const std::string& account_id, const std::string& auth_header) { obfuscated_gaia_id_ = account_id; @@ -288,60 +284,53 @@ return *this; } -NTPSnippetsJsonRequest::Builder& NTPSnippetsJsonRequest::Builder::SetFetchAPI( - FetchAPI fetch_api) { +JsonRequest::Builder& JsonRequest::Builder::SetFetchAPI(FetchAPI fetch_api) { fetch_api_ = fetch_api; return *this; } -NTPSnippetsJsonRequest::Builder& -NTPSnippetsJsonRequest::Builder::SetLanguageModel( +JsonRequest::Builder& JsonRequest::Builder::SetLanguageModel( const translate::LanguageModel* language_model) { language_model_ = language_model; return *this; } -NTPSnippetsJsonRequest::Builder& NTPSnippetsJsonRequest::Builder::SetParams( - const NTPSnippetsRequestParams& params) { +JsonRequest::Builder& JsonRequest::Builder::SetParams( + const RequestParams& params) { params_ = params; return *this; } -NTPSnippetsJsonRequest::Builder& -NTPSnippetsJsonRequest::Builder::SetParseJsonCallback( +JsonRequest::Builder& JsonRequest::Builder::SetParseJsonCallback( ParseJSONCallback callback) { parse_json_callback_ = callback; return *this; } -NTPSnippetsJsonRequest::Builder& -NTPSnippetsJsonRequest::Builder::SetPersonalization( +JsonRequest::Builder& JsonRequest::Builder::SetPersonalization( Personalization personalization) { personalization_ = personalization; return *this; } -NTPSnippetsJsonRequest::Builder& NTPSnippetsJsonRequest::Builder::SetTickClock( +JsonRequest::Builder& JsonRequest::Builder::SetTickClock( base::TickClock* tick_clock) { tick_clock_ = tick_clock; return *this; } -NTPSnippetsJsonRequest::Builder& NTPSnippetsJsonRequest::Builder::SetUrl( - const GURL& url) { +JsonRequest::Builder& JsonRequest::Builder::SetUrl(const GURL& url) { url_ = url; return *this; } -NTPSnippetsJsonRequest::Builder& -NTPSnippetsJsonRequest::Builder::SetUrlRequestContextGetter( +JsonRequest::Builder& JsonRequest::Builder::SetUrlRequestContextGetter( const scoped_refptr<net::URLRequestContextGetter>& context_getter) { url_request_context_getter_ = context_getter; return *this; } -NTPSnippetsJsonRequest::Builder& -NTPSnippetsJsonRequest::Builder::SetUserClassifier( +JsonRequest::Builder& JsonRequest::Builder::SetUserClassifier( const UserClassifier& user_classifier) { if (IsSendingUserClassEnabled()) { user_class_ = GetUserClassString(user_classifier.GetUserClass()); @@ -349,7 +338,7 @@ return *this; } -std::string NTPSnippetsJsonRequest::Builder::BuildHeaders() const { +std::string JsonRequest::Builder::BuildHeaders() const { net::HttpRequestHeaders headers; headers.SetHeader("Content-Type", "application/json; charset=UTF-8"); if (!auth_header_.empty()) { @@ -366,7 +355,7 @@ return headers.ToString(); } -std::string NTPSnippetsJsonRequest::Builder::BuildBody() const { +std::string JsonRequest::Builder::BuildBody() const { auto request = base::MakeUnique<base::DictionaryValue>(); std::string user_locale = PosixLocaleFromBCP47Language(params_.language_code); switch (fetch_api_) { @@ -460,8 +449,7 @@ return request_json; } -std::unique_ptr<net::URLFetcher> -NTPSnippetsJsonRequest::Builder::BuildURLFetcher( +std::unique_ptr<net::URLFetcher> JsonRequest::Builder::BuildURLFetcher( net::URLFetcherDelegate* delegate, const std::string& headers, const std::string& body) const { @@ -483,7 +471,7 @@ return url_fetcher; } -void NTPSnippetsJsonRequest::Builder::PrepareLanguages( +void JsonRequest::Builder::PrepareLanguages( translate::LanguageModel::LanguageInfo* ui_language, translate::LanguageModel::LanguageInfo* other_top_language) const { // TODO(jkrcal): Add language model factory for iOS and add fakes to tests so
diff --git a/components/ntp_snippets/remote/ntp_snippets_json_request.h b/components/ntp_snippets/remote/json_request.h similarity index 84% rename from components/ntp_snippets/remote/ntp_snippets_json_request.h rename to components/ntp_snippets/remote/json_request.h index 84aa89b..c7c73c7 100644 --- a/components/ntp_snippets/remote/ntp_snippets_json_request.h +++ b/components/ntp_snippets/remote/json_request.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef COMPONENTS_NTP_SNIPPETS_REMOTE_NTP_SNIPPETS_JSON_REQUEST_H_ -#define COMPONENTS_NTP_SNIPPETS_REMOTE_NTP_SNIPPETS_JSON_REQUEST_H_ +#ifndef COMPONENTS_NTP_SNIPPETS_REMOTE_JSON_REQUEST_H_ +#define COMPONENTS_NTP_SNIPPETS_REMOTE_JSON_REQUEST_H_ #include <memory> #include <string> @@ -12,7 +12,7 @@ #include "base/callback.h" #include "base/memory/weak_ptr.h" #include "base/optional.h" -#include "components/ntp_snippets/remote/ntp_snippets_request_params.h" +#include "components/ntp_snippets/remote/request_params.h" #include "components/ntp_snippets/status.h" #include "components/translate/core/browser/language_model.h" #include "google_apis/gaia/oauth2_token_service.h" @@ -52,8 +52,9 @@ CHROME_CONTENT_SUGGESTIONS_API, }; -// A single request to query snippets. -class NTPSnippetsJsonRequest : public net::URLFetcherDelegate { +// A single request to query remote suggestions. On success, the suggestions are +// returned in parsed JSON form (base::Value). +class JsonRequest : public net::URLFetcherDelegate { public: // A client can expect error_details only, if there was any error during the // fetching or parsing. In successful cases, it will be an empty string. @@ -62,7 +63,7 @@ FetchResult result_code, const std::string& error_details)>; - // Builds authenticated and non-authenticated NTPSnippetsJsonRequests. + // Builds authenticated and non-authenticated JsonRequests. class Builder { public: Builder(); @@ -70,7 +71,7 @@ ~Builder(); // Builds a Request object that contains all data to fetch new snippets. - std::unique_ptr<NTPSnippetsJsonRequest> Build() const; + std::unique_ptr<JsonRequest> Build() const; Builder& SetAuthentication(const std::string& account_id, const std::string& auth_header); @@ -79,7 +80,7 @@ // The language_model borrowed from the fetcher needs to stay alive until // the request body is built. Builder& SetLanguageModel(const translate::LanguageModel* language_model); - Builder& SetParams(const NTPSnippetsRequestParams& params); + Builder& SetParams(const RequestParams& params); Builder& SetParseJsonCallback(ParseJSONCallback callback); Builder& SetPersonalization(Personalization personalization); // The tick_clock borrowed from the fetcher will be injected into the @@ -123,7 +124,7 @@ std::string auth_header_; base::TickClock* tick_clock_; FetchAPI fetch_api_; - NTPSnippetsRequestParams params_; + RequestParams params_; ParseJSONCallback parse_json_callback_; Personalization personalization_; GURL url_; @@ -137,11 +138,11 @@ DISALLOW_COPY_AND_ASSIGN(Builder); }; - NTPSnippetsJsonRequest(base::Optional<Category> exclusive_category, - base::TickClock* tick_clock, - const ParseJSONCallback& callback); - NTPSnippetsJsonRequest(NTPSnippetsJsonRequest&&); - ~NTPSnippetsJsonRequest() override; + JsonRequest(base::Optional<Category> exclusive_category, + base::TickClock* tick_clock, + const ParseJSONCallback& callback); + JsonRequest(JsonRequest&&); + ~JsonRequest() override; void Start(CompletedCallback callback); @@ -180,13 +181,13 @@ // The callback to notify when URLFetcher finished and results are available. CompletedCallback request_completed_callback_; - base::WeakPtrFactory<NTPSnippetsJsonRequest> weak_ptr_factory_; + base::WeakPtrFactory<JsonRequest> weak_ptr_factory_; - DISALLOW_COPY_AND_ASSIGN(NTPSnippetsJsonRequest); + DISALLOW_COPY_AND_ASSIGN(JsonRequest); }; } // namespace internal } // namespace ntp_snippets -#endif // COMPONENTS_NTP_SNIPPETS_REMOTE_NTP_SNIPPETS_JSON_REQUEST_H_ +#endif // COMPONENTS_NTP_SNIPPETS_REMOTE_JSON_REQUEST_H_
diff --git a/components/ntp_snippets/remote/ntp_snippets_json_request_unittest.cc b/components/ntp_snippets/remote/json_request_unittest.cc similarity index 90% rename from components/ntp_snippets/remote/ntp_snippets_json_request_unittest.cc rename to components/ntp_snippets/remote/json_request_unittest.cc index 8e42d97..909f7cc 100644 --- a/components/ntp_snippets/remote/ntp_snippets_json_request_unittest.cc +++ b/components/ntp_snippets/remote/json_request_unittest.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "components/ntp_snippets/remote/ntp_snippets_json_request.h" +#include "components/ntp_snippets/remote/json_request.h" #include <set> #include <utility> @@ -16,7 +16,7 @@ #include "base/values.h" #include "components/ntp_snippets/features.h" #include "components/ntp_snippets/ntp_snippets_constants.h" -#include "components/ntp_snippets/remote/ntp_snippets_request_params.h" +#include "components/ntp_snippets/remote/request_params.h" #include "components/prefs/testing_pref_service.h" #include "components/variations/variations_params_manager.h" #include "net/url_request/test_url_fetcher_factory.h" @@ -57,9 +57,9 @@ } // namespace -class NTPSnippetsJsonRequestTest : public testing::Test { +class JsonRequestTest : public testing::Test { public: - NTPSnippetsJsonRequestTest() + JsonRequestTest() : params_manager_( ntp_snippets::kStudyName, {{"send_top_languages", "true"}, {"send_user_class", "true"}}, @@ -85,8 +85,8 @@ return language_model; } - NTPSnippetsJsonRequest::Builder CreateMinimalBuilder() { - NTPSnippetsJsonRequest::Builder builder; + JsonRequest::Builder CreateMinimalBuilder() { + JsonRequest::Builder builder; builder.SetUrl(GURL("http://valid-url.test")) .SetTickClock(tick_clock_.get()) .SetUrlRequestContextGetter(request_context_getter_.get()); @@ -101,12 +101,12 @@ scoped_refptr<net::TestURLRequestContextGetter> request_context_getter_; net::TestURLFetcherFactory fetcher_factory_; - DISALLOW_COPY_AND_ASSIGN(NTPSnippetsJsonRequestTest); + DISALLOW_COPY_AND_ASSIGN(JsonRequestTest); }; -TEST_F(NTPSnippetsJsonRequestTest, BuildRequestAuthenticated) { - NTPSnippetsJsonRequest::Builder builder = CreateMinimalBuilder(); - NTPSnippetsRequestParams params; +TEST_F(JsonRequestTest, BuildRequestAuthenticated) { + JsonRequest::Builder builder = CreateMinimalBuilder(); + RequestParams params; params.excluded_ids = {"1234567890"}; params.count_to_fetch = 25; params.interactive_request = false; @@ -166,9 +166,9 @@ "}")); } -TEST_F(NTPSnippetsJsonRequestTest, BuildRequestUnauthenticated) { - NTPSnippetsJsonRequest::Builder builder; - NTPSnippetsRequestParams params; +TEST_F(JsonRequestTest, BuildRequestUnauthenticated) { + JsonRequest::Builder builder; + RequestParams params; params.interactive_request = true; params.count_to_fetch = 10; builder.SetParams(params) @@ -218,9 +218,9 @@ "}")); } -TEST_F(NTPSnippetsJsonRequestTest, BuildRequestExcludedIds) { - NTPSnippetsJsonRequest::Builder builder; - NTPSnippetsRequestParams params; +TEST_F(JsonRequestTest, BuildRequestExcludedIds) { + JsonRequest::Builder builder; + RequestParams params; params.interactive_request = false; for (int i = 0; i < 200; ++i) { params.excluded_ids.insert(base::StringPrintf("%03d", i)); @@ -261,9 +261,9 @@ "}")); } -TEST_F(NTPSnippetsJsonRequestTest, BuildRequestNoUserClass) { - NTPSnippetsJsonRequest::Builder builder; - NTPSnippetsRequestParams params; +TEST_F(JsonRequestTest, BuildRequestNoUserClass) { + JsonRequest::Builder builder; + RequestParams params; params.interactive_request = false; builder.SetPersonalization(Personalization::kNonPersonal) .SetParams(params) @@ -276,11 +276,11 @@ "}")); } -TEST_F(NTPSnippetsJsonRequestTest, BuildRequestWithTwoLanguages) { - NTPSnippetsJsonRequest::Builder builder; +TEST_F(JsonRequestTest, BuildRequestWithTwoLanguages) { + JsonRequest::Builder builder; std::unique_ptr<translate::LanguageModel> language_model = MakeLanguageModel({"de", "en"}); - NTPSnippetsRequestParams params; + RequestParams params; params.interactive_request = true; params.language_code = "en"; builder.SetParams(params) @@ -306,11 +306,11 @@ "}")); } -TEST_F(NTPSnippetsJsonRequestTest, BuildRequestWithUILanguageOnly) { - NTPSnippetsJsonRequest::Builder builder; +TEST_F(JsonRequestTest, BuildRequestWithUILanguageOnly) { + JsonRequest::Builder builder; std::unique_ptr<translate::LanguageModel> language_model = MakeLanguageModel({"en"}); - NTPSnippetsRequestParams params; + RequestParams params; params.interactive_request = true; params.language_code = "en"; builder.SetParams(params)
diff --git a/components/ntp_snippets/remote/ntp_snippets_request_params.cc b/components/ntp_snippets/remote/ntp_snippets_request_params.cc deleted file mode 100644 index e25035e..0000000 --- a/components/ntp_snippets/remote/ntp_snippets_request_params.cc +++ /dev/null
@@ -1,14 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/ntp_snippets/remote/ntp_snippets_request_params.h" - -namespace ntp_snippets { - -NTPSnippetsRequestParams::NTPSnippetsRequestParams() = default; -NTPSnippetsRequestParams::NTPSnippetsRequestParams( - const NTPSnippetsRequestParams&) = default; -NTPSnippetsRequestParams::~NTPSnippetsRequestParams() = default; - -} // namespace ntp_snippets
diff --git a/components/ntp_snippets/remote/remote_suggestions_fetcher.cc b/components/ntp_snippets/remote/remote_suggestions_fetcher.cc index 44392e7..fedd35a 100644 --- a/components/ntp_snippets/remote/remote_suggestions_fetcher.cc +++ b/components/ntp_snippets/remote/remote_suggestions_fetcher.cc
@@ -22,7 +22,7 @@ #include "components/ntp_snippets/category.h" #include "components/ntp_snippets/features.h" #include "components/ntp_snippets/ntp_snippets_constants.h" -#include "components/ntp_snippets/remote/ntp_snippets_request_params.h" +#include "components/ntp_snippets/remote/request_params.h" #include "components/ntp_snippets/user_classifier.h" #include "components/signin/core/browser/signin_manager.h" #include "components/signin/core/browser/signin_manager_base.h" @@ -39,7 +39,7 @@ namespace ntp_snippets { -using internal::NTPSnippetsJsonRequest; +using internal::JsonRequest; using internal::FetchAPI; using internal::FetchResult; @@ -307,7 +307,7 @@ } void RemoteSuggestionsFetcher::FetchSnippets( - const NTPSnippetsRequestParams& params, + const RequestParams& params, SnippetsAvailableCallback callback) { if (!DemandQuotaForRequest(params.interactive_request)) { FetchFinished(OptionalFetchedCategories(), std::move(callback), @@ -327,7 +327,7 @@ /*reduced_resolution=*/true)); } - NTPSnippetsJsonRequest::Builder builder; + JsonRequest::Builder builder; builder.SetFetchAPI(fetch_api_) .SetFetchAPI(fetch_api_) .SetLanguageModel(language_model_) @@ -359,7 +359,7 @@ } void RemoteSuggestionsFetcher::FetchSnippetsNonAuthenticated( - NTPSnippetsJsonRequest::Builder builder, + JsonRequest::Builder builder, SnippetsAvailableCallback callback) { // When not providing OAuth token, we need to pass the Google API key. builder.SetUrl( @@ -369,7 +369,7 @@ } void RemoteSuggestionsFetcher::FetchSnippetsAuthenticated( - NTPSnippetsJsonRequest::Builder builder, + JsonRequest::Builder builder, SnippetsAvailableCallback callback, const std::string& account_id, const std::string& oauth_access_token) { @@ -382,10 +382,10 @@ } void RemoteSuggestionsFetcher::StartRequest( - NTPSnippetsJsonRequest::Builder builder, + JsonRequest::Builder builder, SnippetsAvailableCallback callback) { - std::unique_ptr<NTPSnippetsJsonRequest> request = builder.Build(); - NTPSnippetsJsonRequest* raw_request = request.get(); + std::unique_ptr<JsonRequest> request = builder.Build(); + JsonRequest* raw_request = request.get(); raw_request->Start(base::BindOnce(&RemoteSuggestionsFetcher::JsonRequestDone, base::Unretained(this), std::move(request), std::move(callback))); @@ -413,7 +413,7 @@ << "Got tokens from some previous request"; while (!pending_requests_.empty()) { - std::pair<NTPSnippetsJsonRequest::Builder, SnippetsAvailableCallback> + std::pair<JsonRequest::Builder, SnippetsAvailableCallback> builder_and_callback = std::move(pending_requests_.front()); pending_requests_.pop(); FetchSnippetsAuthenticated(std::move(builder_and_callback.first), @@ -438,7 +438,7 @@ DLOG(ERROR) << "Unable to get token: " << error.ToString(); while (!pending_requests_.empty()) { - std::pair<NTPSnippetsJsonRequest::Builder, SnippetsAvailableCallback> + std::pair<JsonRequest::Builder, SnippetsAvailableCallback> builder_and_callback = std::move(pending_requests_.front()); FetchFinished(OptionalFetchedCategories(), @@ -466,7 +466,7 @@ } void RemoteSuggestionsFetcher::JsonRequestDone( - std::unique_ptr<NTPSnippetsJsonRequest> request, + std::unique_ptr<JsonRequest> request, SnippetsAvailableCallback callback, std::unique_ptr<base::Value> result, FetchResult status_code,
diff --git a/components/ntp_snippets/remote/remote_suggestions_fetcher.h b/components/ntp_snippets/remote/remote_suggestions_fetcher.h index 44fcd6e..79135e84 100644 --- a/components/ntp_snippets/remote/remote_suggestions_fetcher.h +++ b/components/ntp_snippets/remote/remote_suggestions_fetcher.h
@@ -17,9 +17,9 @@ #include "base/time/tick_clock.h" #include "components/ntp_snippets/category.h" #include "components/ntp_snippets/category_info.h" +#include "components/ntp_snippets/remote/json_request.h" #include "components/ntp_snippets/remote/ntp_snippet.h" -#include "components/ntp_snippets/remote/ntp_snippets_json_request.h" -#include "components/ntp_snippets/remote/ntp_snippets_request_params.h" +#include "components/ntp_snippets/remote/request_params.h" #include "components/ntp_snippets/remote/request_throttler.h" #include "components/ntp_snippets/status.h" #include "components/translate/core/browser/language_model.h" @@ -95,7 +95,7 @@ // // If an ongoing fetch exists, both fetches won't influence each other (i.e. // every callback will be called exactly once). - void FetchSnippets(const NTPSnippetsRequestParams& params, + void FetchSnippets(const RequestParams& params, SnippetsAvailableCallback callback); std::string PersonalizationModeString() const; @@ -135,15 +135,13 @@ BuildRequestWithOtherLanguageOnly); friend class ChromeReaderSnippetsFetcherTest; - void FetchSnippetsNonAuthenticated( - internal::NTPSnippetsJsonRequest::Builder builder, - SnippetsAvailableCallback callback); - void FetchSnippetsAuthenticated( - internal::NTPSnippetsJsonRequest::Builder builder, - SnippetsAvailableCallback callback, - const std::string& account_id, - const std::string& oauth_access_token); - void StartRequest(internal::NTPSnippetsJsonRequest::Builder builder, + void FetchSnippetsNonAuthenticated(internal::JsonRequest::Builder builder, + SnippetsAvailableCallback callback); + void FetchSnippetsAuthenticated(internal::JsonRequest::Builder builder, + SnippetsAvailableCallback callback, + const std::string& account_id, + const std::string& oauth_access_token); + void StartRequest(internal::JsonRequest::Builder builder, SnippetsAvailableCallback callback); void StartTokenRequest(); @@ -158,12 +156,11 @@ // OAuth2TokenService::Observer overrides: void OnRefreshTokenAvailable(const std::string& account_id) override; - void JsonRequestDone( - std::unique_ptr<internal::NTPSnippetsJsonRequest> request, - SnippetsAvailableCallback callback, - std::unique_ptr<base::Value> result, - internal::FetchResult status_code, - const std::string& error_details); + void JsonRequestDone(std::unique_ptr<internal::JsonRequest> request, + SnippetsAvailableCallback callback, + std::unique_ptr<base::Value> result, + internal::FetchResult status_code, + const std::string& error_details); void FetchFinished(OptionalFetchedCategories categories, SnippetsAvailableCallback callback, internal::FetchResult status_code, @@ -190,8 +187,8 @@ scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; // Stores requests that wait for an access token. - std::queue<std::pair<internal::NTPSnippetsJsonRequest::Builder, - SnippetsAvailableCallback>> + std::queue< + std::pair<internal::JsonRequest::Builder, SnippetsAvailableCallback>> pending_requests_; // Weak reference, not owned.
diff --git a/components/ntp_snippets/remote/remote_suggestions_fetcher_unittest.cc b/components/ntp_snippets/remote/remote_suggestions_fetcher_unittest.cc index f5f4aa6..ec046cf 100644 --- a/components/ntp_snippets/remote/remote_suggestions_fetcher_unittest.cc +++ b/components/ntp_snippets/remote/remote_suggestions_fetcher_unittest.cc
@@ -22,7 +22,7 @@ #include "components/ntp_snippets/features.h" #include "components/ntp_snippets/ntp_snippets_constants.h" #include "components/ntp_snippets/remote/ntp_snippet.h" -#include "components/ntp_snippets/remote/ntp_snippets_request_params.h" +#include "components/ntp_snippets/remote/request_params.h" #include "components/ntp_snippets/user_classifier.h" #include "components/prefs/testing_pref_service.h" #include "components/signin/core/browser/account_tracker_service.h" @@ -322,8 +322,8 @@ } base::HistogramTester& histogram_tester() { return histogram_tester_; } - NTPSnippetsRequestParams test_params() { - NTPSnippetsRequestParams result; + RequestParams test_params() { + RequestParams result; result.count_to_fetch = 1; result.interactive_request = true; return result; @@ -670,7 +670,7 @@ EXPECT_CALL(mock_callback(), Run(IsSuccess(), _)) .WillOnce(MoveArgument1PointeeTo(&fetched_categories)); - NTPSnippetsRequestParams params = test_params(); + RequestParams params = test_params(); params.exclusive_category = base::Optional<Category>(Category::FromRemoteCategory(2)); @@ -726,7 +726,7 @@ TEST_F(ChromeReaderSnippetsFetcherTest, RetryOnInteractiveRequests) { DelegateCallingTestURLFetcherFactory fetcher_factory; - NTPSnippetsRequestParams params = test_params(); + RequestParams params = test_params(); params.interactive_request = true; snippets_fetcher().FetchSnippets( @@ -750,7 +750,7 @@ {"-1", 0, "Do not retry on negative param values."}, {"4", 4, "Retry as set in param value."}}; - NTPSnippetsRequestParams params = test_params(); + RequestParams params = test_params(); params.interactive_request = false; for (const auto& retry_config : retry_config_expectation) {
diff --git a/components/ntp_snippets/remote/remote_suggestions_provider_impl.cc b/components/ntp_snippets/remote/remote_suggestions_provider_impl.cc index dcdbe065..4aec9ba9 100644 --- a/components/ntp_snippets/remote/remote_suggestions_provider_impl.cc +++ b/components/ntp_snippets/remote/remote_suggestions_provider_impl.cc
@@ -367,7 +367,7 @@ MarkEmptyCategoriesAsLoading(); - NTPSnippetsRequestParams params = BuildFetchParams(); + RequestParams params = BuildFetchParams(); params.interactive_request = interactive_request; suggestions_fetcher_->FetchSnippets( params, base::BindOnce(&RemoteSuggestionsProviderImpl::OnFetchFinished, @@ -385,7 +385,7 @@ "RemoteSuggestionsProvider is not ready!")); return; } - NTPSnippetsRequestParams params = BuildFetchParams(); + RequestParams params = BuildFetchParams(); params.excluded_ids.insert(known_suggestion_ids.begin(), known_suggestion_ids.end()); params.interactive_request = true; @@ -398,9 +398,8 @@ } // Builds default fetcher params. -NTPSnippetsRequestParams RemoteSuggestionsProviderImpl::BuildFetchParams() - const { - NTPSnippetsRequestParams result; +RequestParams RemoteSuggestionsProviderImpl::BuildFetchParams() const { + RequestParams result; result.language_code = application_language_code_; result.count_to_fetch = kMaxSnippetCount; for (const auto& map_entry : category_contents_) {
diff --git a/components/ntp_snippets/remote/remote_suggestions_provider_impl.h b/components/ntp_snippets/remote/remote_suggestions_provider_impl.h index e7d28fe..53a7564 100644 --- a/components/ntp_snippets/remote/remote_suggestions_provider_impl.h +++ b/components/ntp_snippets/remote/remote_suggestions_provider_impl.h
@@ -25,10 +25,10 @@ #include "components/ntp_snippets/content_suggestion.h" #include "components/ntp_snippets/content_suggestions_provider.h" #include "components/ntp_snippets/remote/ntp_snippet.h" -#include "components/ntp_snippets/remote/ntp_snippets_request_params.h" #include "components/ntp_snippets/remote/remote_suggestions_fetcher.h" #include "components/ntp_snippets/remote/remote_suggestions_provider.h" #include "components/ntp_snippets/remote/remote_suggestions_status_service.h" +#include "components/ntp_snippets/remote/request_params.h" #include "components/ntp_snippets/remote/request_throttler.h" class PrefRegistrySimple; @@ -397,7 +397,7 @@ void RestoreCategoriesFromPrefs(); void StoreCategoriesToPrefs(); - NTPSnippetsRequestParams BuildFetchParams() const; + RequestParams BuildFetchParams() const; void MarkEmptyCategoriesAsLoading();
diff --git a/components/ntp_snippets/remote/request_params.cc b/components/ntp_snippets/remote/request_params.cc new file mode 100644 index 0000000..b661a90 --- /dev/null +++ b/components/ntp_snippets/remote/request_params.cc
@@ -0,0 +1,13 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/ntp_snippets/remote/request_params.h" + +namespace ntp_snippets { + +RequestParams::RequestParams() = default; +RequestParams::RequestParams(const RequestParams&) = default; +RequestParams::~RequestParams() = default; + +} // namespace ntp_snippets
diff --git a/components/ntp_snippets/remote/ntp_snippets_request_params.h b/components/ntp_snippets/remote/request_params.h similarity index 78% rename from components/ntp_snippets/remote/ntp_snippets_request_params.h rename to components/ntp_snippets/remote/request_params.h index e0f9011a..02289dd3 100644 --- a/components/ntp_snippets/remote/ntp_snippets_request_params.h +++ b/components/ntp_snippets/remote/request_params.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef COMPONENTS_NTP_SNIPPETS_REMOTE_NTP_SNIPPETS_REQUEST_PARAMS_H_ -#define COMPONENTS_NTP_SNIPPETS_REMOTE_NTP_SNIPPETS_REQUEST_PARAMS_H_ +#ifndef COMPONENTS_NTP_SNIPPETS_REMOTE_REQUEST_PARAMS_H_ +#define COMPONENTS_NTP_SNIPPETS_REMOTE_REQUEST_PARAMS_H_ #include <memory> #include <set> @@ -19,11 +19,11 @@ // Enumeration listing all possible variants of dealing with personalization. enum class Personalization { kPersonal, kNonPersonal, kBoth }; -// Contains all parameters for fetching NTPSnippets. -struct NTPSnippetsRequestParams { - NTPSnippetsRequestParams(); - NTPSnippetsRequestParams(const NTPSnippetsRequestParams&); - ~NTPSnippetsRequestParams(); +// Contains all parameters for fetching remote suggestions. +struct RequestParams { + RequestParams(); + RequestParams(const RequestParams&); + ~RequestParams(); // BCP 47 language code specifying the user's UI language. std::string language_code; @@ -54,4 +54,4 @@ } // namespace ntp_snippets -#endif // COMPONENTS_NTP_SNIPPETS_REMOTE_NTP_SNIPPETS_REQUEST_PARAMS_H_ +#endif // COMPONENTS_NTP_SNIPPETS_REMOTE_REQUEST_PARAMS_H_
diff --git a/ios/build/chrome_build.gni b/ios/build/chrome_build.gni index a5a1394..af4b46c 100644 --- a/ios/build/chrome_build.gni +++ b/ios/build/chrome_build.gni
@@ -9,6 +9,7 @@ declare_args() { # Enable today extension. ios_enable_today_extension = true + ios_enable_widget_extension = false # Enable share extension. ios_enable_share_extension = true @@ -24,6 +25,8 @@ # List of plist templates to merge when generating chrome entitlements. ios_chrome_entitlements_additions = [] } +assert(!(ios_enable_today_extension && ios_enable_widget_extension), + "Both today extensions cannot be enabled simultaneously.") # Configure whether breakpad support is enabled. breakpad_enabled = is_official_build && is_chrome_branded
diff --git a/ios/chrome/app/BUILD.gn b/ios/chrome/app/BUILD.gn index 78fd194..9b17b92 100644 --- a/ios/chrome/app/BUILD.gn +++ b/ios/chrome/app/BUILD.gn
@@ -273,12 +273,16 @@ bundle_deps = [ "//ios/chrome/app/resources" ] - if (ios_enable_today_extension && current_toolchain == default_toolchain) { - deps += [ ":today_extension_bundle" ] - } - - if (ios_enable_share_extension && current_toolchain == default_toolchain) { - deps += [ ":share_extension_bundle" ] + if (current_toolchain == default_toolchain) { + if (ios_enable_today_extension) { + deps += [ ":today_extension_bundle" ] + } + if (ios_enable_widget_extension) { + deps += [ ":widget_extension_bundle" ] + } + if (ios_enable_share_extension) { + deps += [ ":share_extension_bundle" ] + } } extra_substitutions = [ @@ -298,30 +302,52 @@ } } -if (ios_enable_today_extension && current_toolchain == default_toolchain) { - bundle_data("today_extension_bundle") { - public_deps = [ - "//ios/chrome/today_extension", - ] - sources = [ - "$root_out_dir/today_extension.appex", - ] - outputs = [ - "{{bundle_plugins_dir}}/{{source_file_part}}", - ] +if (current_toolchain == default_toolchain) { + if (ios_enable_today_extension) { + bundle_data("today_extension_bundle") { + public_deps = [ + "//ios/chrome/today_extension", + ] + sources = [ + "$root_out_dir/today_extension.appex", + ] + outputs = [ + "{{bundle_plugins_dir}}/{{source_file_part}}", + ] + } } -} -if (ios_enable_share_extension && current_toolchain == default_toolchain) { - bundle_data("share_extension_bundle") { - public_deps = [ - "//ios/chrome/share_extension", - ] - sources = [ - "$root_out_dir/share_extension.appex", - ] - outputs = [ - "{{bundle_plugins_dir}}/{{source_file_part}}", - ] + if (ios_enable_widget_extension) { + bundle_data("widget_extension_bundle") { + public_deps = [ + "//ios/chrome/widget_extension", + ] + sources = [ + "$root_out_dir/widget_extension.appex", + ] + + # The output is renamed today_extension.appex so that signing in canary + # works and clobbering is not necessary when switching between this + # extension and the today extension. + # TODO(crbug.com/682230) : Rename this when widget gets its own + # mobileprovision. + outputs = [ + "{{bundle_plugins_dir}}/today_extension.appex", + ] + } + } + + if (ios_enable_share_extension) { + bundle_data("share_extension_bundle") { + public_deps = [ + "//ios/chrome/share_extension", + ] + sources = [ + "$root_out_dir/share_extension.appex", + ] + outputs = [ + "{{bundle_plugins_dir}}/{{source_file_part}}", + ] + } } }
diff --git a/ios/chrome/browser/ui/history/history_panel_view_controller.mm b/ios/chrome/browser/ui/history/history_panel_view_controller.mm index a39bfa4..2989f1e 100644 --- a/ios/chrome/browser/ui/history/history_panel_view_controller.mm +++ b/ios/chrome/browser/ui/history/history_panel_view_controller.mm
@@ -295,6 +295,13 @@ [self exitSearchMode]; } +#pragma mark UIAccessibilityAction + +- (BOOL)accessibilityPerformEscape { + [self closeHistory]; + return YES; +} + #pragma mark - Private methods - (void)closeHistory {
diff --git a/ios/chrome/browser/ui/reading_list/reading_list_view_controller.mm b/ios/chrome/browser/ui/reading_list/reading_list_view_controller.mm index f4ca8cb..808e0ac 100644 --- a/ios/chrome/browser/ui/reading_list/reading_list_view_controller.mm +++ b/ios/chrome/browser/ui/reading_list/reading_list_view_controller.mm
@@ -243,6 +243,13 @@ [audience setCollectionHasItems:self.readingListModel->size() > 0]; } +#pragma mark UIAccessibilityAction + +- (BOOL)accessibilityPerformEscape { + [self dismiss]; + return YES; +} + #pragma mark - UIViewController - (void)viewDidLoad {
diff --git a/ios/chrome/widget_extension/BUILD.gn b/ios/chrome/widget_extension/BUILD.gn new file mode 100644 index 0000000..1316fa9 --- /dev/null +++ b/ios/chrome/widget_extension/BUILD.gn
@@ -0,0 +1,50 @@ +# Copyright 2017 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/ios/rules.gni") +import("//build/mac/tweak_info_plist.gni") +import("//ios/build/chrome_build.gni") + +tweak_info_plist("tweak_info_plist") { + info_plist = "Info.plist" +} + +compile_plist("entitlements") { + format = "xml1" + substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ] + output_name = "$target_gen_dir/today_extension.appex.entitlements" + plist_templates = + [ "entitlements/external/widget_extension.appex.entitlements" ] + + ios_chrome_entitlements_additions +} + +ios_appex_bundle("widget_extension") { + sources = [ + "widget_view.h", + "widget_view.mm", + "widget_view_controller.h", + "widget_view_controller.mm", + ] + + libs = [ + "Foundation.framework", + "NotificationCenter.framework", + "UIKit.framework", + ] + + extra_substitutions = [ + "CHROME_CHANNEL_SCHEME=$url_channel_scheme", + "CHROMIUM_SHORT_NAME=$chromium_short_name", + + # The widget_extension and today_extension are using the same provisioning + # profile during development work. + # TODO(crbug.com/682238) : Request provisioning profile if widget is kept. + "WIDGET_EXTENSION_BUNDLE_ID=$chromium_bundle_id.TodayExtension", + ] + + configs += [ "//build/config/compiler:enable_arc" ] + + entitlements_target = ":entitlements" + info_plist_target = ":tweak_info_plist" +}
diff --git a/ios/chrome/widget_extension/Info.plist b/ios/chrome/widget_extension/Info.plist new file mode 100644 index 0000000..915460e2 --- /dev/null +++ b/ios/chrome/widget_extension/Info.plist
@@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleDisplayName</key> + <string>${CHROMIUM_SHORT_NAME}</string> + <key>CFBundleExecutable</key> + <string>widget_extension</string> + <key>CFBundleIdentifier</key> + <string>${IOS_BUNDLE_ID_PREFIX}.${WIDGET_EXTENSION_BUNDLE_ID}</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>widget_extension</string> + <key>CFBundlePackageType</key> + <string>XPC!</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1</string> + <key>NSExtension</key> + <dict> + <key>NSExtensionPrincipalClass</key> + <string>WidgetViewController</string> + <key>NSExtensionPointIdentifier</key> + <string>com.apple.widget-extension</string> + </dict> + <key>KSChannelChromeScheme</key> + <string>${CHROME_CHANNEL_SCHEME}</string> +</dict> +</plist>
diff --git a/ios/chrome/widget_extension/OWNERS b/ios/chrome/widget_extension/OWNERS new file mode 100644 index 0000000..55fb7e49 --- /dev/null +++ b/ios/chrome/widget_extension/OWNERS
@@ -0,0 +1 @@ +lod@chromium.org \ No newline at end of file
diff --git a/ios/chrome/widget_extension/entitlements/external/widget_extension.appex.entitlements b/ios/chrome/widget_extension/entitlements/external/widget_extension.appex.entitlements new file mode 100644 index 0000000..ece1274 --- /dev/null +++ b/ios/chrome/widget_extension/entitlements/external/widget_extension.appex.entitlements
@@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>application-identifier</key> + <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> + <key>com.apple.security.application-groups</key> + <array> + <string>group.${IOS_BUNDLE_ID_PREFIX}.chrome</string> + </array> +</dict> +</plist>
diff --git a/ios/chrome/widget_extension/widget_view.h b/ios/chrome/widget_extension/widget_view.h new file mode 100644 index 0000000..a13f35e --- /dev/null +++ b/ios/chrome/widget_extension/widget_view.h
@@ -0,0 +1,18 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_CHROME_WIDGET_EXTENSION_WIDGET_VIEW_H_ +#define IOS_CHROME_WIDGET_EXTENSION_WIDGET_VIEW_H_ + +#import <UIKit/UIKit.h> + +@interface WidgetView : UIView + +- (instancetype)init NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE; +- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_UNAVAILABLE; + +@end + +#endif // IOS_CHROME_WIDGET_EXTENSION_WIDGET_VIEW_H_
diff --git a/ios/chrome/widget_extension/widget_view.mm b/ios/chrome/widget_extension/widget_view.mm new file mode 100644 index 0000000..843adccd3 --- /dev/null +++ b/ios/chrome/widget_extension/widget_view.mm
@@ -0,0 +1,20 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/chrome/widget_extension/widget_view.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +@implementation WidgetView + +#pragma mark - Lifecycle + +- (instancetype)init { + self = [super initWithFrame:CGRectZero]; + return self; +} + +@end
diff --git a/ios/chrome/widget_extension/widget_view_controller.h b/ios/chrome/widget_extension/widget_view_controller.h new file mode 100644 index 0000000..57cb0af --- /dev/null +++ b/ios/chrome/widget_extension/widget_view_controller.h
@@ -0,0 +1,14 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_CHROME_WIDGET_EXTENSION_WIDGET_VIEW_CONTROLLER_H_ +#define IOS_CHROME_WIDGET_EXTENSION_WIDGET_VIEW_CONTROLLER_H_ + +#import <UIKit/UIKit.h> + +@interface WidgetViewController : UIViewController + +@end + +#endif // IOS_CHROME_WIDGET_EXTENSION_WIDGET_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/widget_extension/widget_view_controller.mm b/ios/chrome/widget_extension/widget_view_controller.mm new file mode 100644 index 0000000..dfe050a --- /dev/null +++ b/ios/chrome/widget_extension/widget_view_controller.mm
@@ -0,0 +1,35 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/chrome/widget_extension/widget_view_controller.h" + +#import <NotificationCenter/NotificationCenter.h> + +#import "ios/chrome/widget_extension/widget_view.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +@interface WidgetViewController () +@property(nonatomic, weak) WidgetView* widgetView; +@end + +@implementation WidgetViewController + +@synthesize widgetView = _widgetView; + +#pragma mark - UIViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + + // A local variable is necessary here as the property is declared weak and the + // object would be deallocated before being retained by the addSubview call. + WidgetView* widgetView = [[WidgetView alloc] init]; + self.widgetView = widgetView; + [self.view addSubview:self.widgetView]; +} + +@end
diff --git a/ios/net/crn_http_protocol_handler.mm b/ios/net/crn_http_protocol_handler.mm index 20fe4db..81617f7 100644 --- a/ios/net/crn_http_protocol_handler.mm +++ b/ios/net/crn_http_protocol_handler.mm
@@ -581,27 +581,9 @@ if (![request_ HTTPShouldHandleCookies]) load_flags |= LOAD_DO_NOT_SEND_COOKIES | LOAD_DO_NOT_SAVE_COOKIES; - // Cache flags. - if (tracker_) { - RequestTracker::CacheMode cache_mode = tracker_->GetCacheMode(); - switch (cache_mode) { - case RequestTracker::CACHE_RELOAD: - load_flags |= LOAD_VALIDATE_CACHE; - break; - case RequestTracker::CACHE_HISTORY: - load_flags |= LOAD_SKIP_CACHE_VALIDATION; - break; - case RequestTracker::CACHE_BYPASS: - load_flags |= LOAD_DISABLE_CACHE | LOAD_BYPASS_CACHE; - break; - case RequestTracker::CACHE_ONLY: - load_flags |= LOAD_ONLY_FROM_CACHE | LOAD_SKIP_CACHE_VALIDATION; - break; - case RequestTracker::CACHE_NORMAL: - // Do nothing, normal load. - break; - } - } else { + // If a RequestTracker is defined, always use normal load, otherwise + // respect the cache policy from the request. + if (!tracker_) { switch ([request_ cachePolicy]) { case NSURLRequestReloadIgnoringLocalAndRemoteCacheData: load_flags |= LOAD_BYPASS_CACHE;
diff --git a/ios/net/request_tracker.h b/ios/net/request_tracker.h index 098dbc92..c172fefa 100644 --- a/ios/net/request_tracker.h +++ b/ios/net/request_tracker.h
@@ -27,14 +27,6 @@ // The RequestTracker can be created on one thread and used on a different one. class RequestTracker { public: - enum CacheMode { - CACHE_NORMAL, - CACHE_RELOAD, - CACHE_HISTORY, - CACHE_BYPASS, - CACHE_ONLY, - }; - typedef base::Callback<void(bool)> SSLCallback; class RequestTrackerFactory { @@ -108,10 +100,6 @@ bool recoverable, const SSLCallback& should_continue) = 0; - // Gets and sets the cache mode. - CacheMode GetCacheMode() const; - void SetCacheMode(RequestTracker::CacheMode mode); - protected: virtual ~RequestTracker(); @@ -119,7 +107,6 @@ private: bool initialized_; - CacheMode cache_mode_; base::ThreadChecker thread_checker_; base::WeakPtrFactory<RequestTracker> weak_ptr_factory_;
diff --git a/ios/net/request_tracker.mm b/ios/net/request_tracker.mm index a28c739..b29c39b6e 100644 --- a/ios/net/request_tracker.mm +++ b/ios/net/request_tracker.mm
@@ -41,7 +41,6 @@ RequestTracker::RequestTracker() : initialized_(false), - cache_mode_(CACHE_NORMAL), weak_ptr_factory_(this) { // RequestTracker can be created from the main thread and used from another // thread. @@ -65,14 +64,4 @@ initialized_ = true; } -RequestTracker::CacheMode RequestTracker::GetCacheMode() const { - DCHECK(thread_checker_.CalledOnValidThread()); - return cache_mode_; -} - -void RequestTracker::SetCacheMode(RequestTracker::CacheMode mode) { - DCHECK(thread_checker_.CalledOnValidThread()); - cache_mode_ = mode; -} - } // namespace net
diff --git a/ios/web/net/request_tracker_impl.h b/ios/web/net/request_tracker_impl.h index 582d615..17b9340 100644 --- a/ios/web/net/request_tracker_impl.h +++ b/ios/web/net/request_tracker_impl.h
@@ -182,9 +182,6 @@ static void PostUITaskIfOpen(const base::WeakPtr<RequestTracker> tracker, const base::Closure& task); - // Sets the cache mode. Must be called from the UI thread. - void SetCacheModeFromUIThread(RequestTracker::CacheMode mode); - #pragma mark Testing methods void SetCertificatePolicyCacheForTest(web::CertificatePolicyCache* cache);
diff --git a/ios/web/net/request_tracker_impl.mm b/ios/web/net/request_tracker_impl.mm index 81de5d5..b5a2c52b 100644 --- a/ios/web/net/request_tracker_impl.mm +++ b/ios/web/net/request_tracker_impl.mm
@@ -658,14 +658,6 @@ web::WebThread::PostTask(web::WebThread::IO, FROM_HERE, task); } -void RequestTrackerImpl::SetCacheModeFromUIThread( - RequestTracker::CacheMode mode) { - DCHECK_CURRENTLY_ON(web::WebThread::UI); - web::WebThread::PostTask( - web::WebThread::IO, FROM_HERE, - base::Bind(&RequestTracker::SetCacheMode, this, mode)); -} - #pragma mark Private Object Lifecycle API RequestTrackerImpl::RequestTrackerImpl(
diff --git a/ios/web/web_state/ui/crw_web_controller.mm b/ios/web/web_state/ui/crw_web_controller.mm index a62a61bb..88e3349 100644 --- a/ios/web/web_state/ui/crw_web_controller.mm +++ b/ios/web/web_state/ui/crw_web_controller.mm
@@ -2273,14 +2273,6 @@ - (void)didFinishWithURL:(const GURL&)currentURL loadSuccess:(BOOL)loadSuccess { DCHECK(_loadPhase == web::PAGE_LOADED); _webStateImpl->GetRequestTracker()->FinishPageLoad(currentURL, loadSuccess); - // Reset the navigation type to the default value. - // Note: it is possible that the web view has already started loading the - // next page when this is called. In that case the cache mode can leak to - // (some of) the requests of the next page. It's expected to be an edge case, - // but if it becomes a problem it should be possible to notice it afterwards - // and react to it (by warning the user or reloading the page for example). - _webStateImpl->GetRequestTracker()->SetCacheModeFromUIThread( - net::RequestTracker::CACHE_NORMAL); // Rather than creating a new WKBackForwardListItem when loading WebUI pages, // WKWebView will cache the WebUI HTML in the previous WKBackForwardListItem
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation b/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation index 93bc938..034a4d1 100644 --- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation +++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation
@@ -1,13 +1,12 @@ # These tests currently fail when run with --enable-browser-side-navigation # See https://crbug.com/576261 # https://crbug.com/608372: PlzNavigate: support POST navigations -crbug.com/608372 fast/forms/submit-to-url-fragment.html [ Failure ] crbug.com/608372 fast/forms/xss-auditor-doesnt-crash-on-post-submit.html [ Timeout ] +# Layout test does not end for unknown reasons. crbug.com/608372 http/tests/history/back-to-post.html [ Timeout ] -crbug.com/608372 http/tests/navigation/post-goback-same-url.html [ Failure ] -crbug.com/608372 virtual/stable/http/tests/navigation/post-goback-same-url.html [ Failure ] crbug.com/608372 virtual/mojo-loading/http/tests/history/back-to-post.html [ Timeout ] -crbug.com/608372 virtual/mojo-loading/http/tests/navigation/post-goback-same-url.html [ Failure ] +# Layout test ending too soon. +crbug.com/608372 fast/forms/submit-to-url-fragment.html [ Failure ] # https://crbug.com/575210: PlzNavigate: history navigation support crbug.com/575210 fast/history/history-length-append-subframe-with-hash.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/media/video-no-controls-events-not-absorbed.html b/third_party/WebKit/LayoutTests/media/video-no-controls-events-not-absorbed.html new file mode 100644 index 0000000..13bdfc8d --- /dev/null +++ b/third_party/WebKit/LayoutTests/media/video-no-controls-events-not-absorbed.html
@@ -0,0 +1,27 @@ +<!DOCTYPE html> +<title>Video elements without controls should not absborb click events</title> +<script src="../resources/testharness.js"></script> +<script src="../resources/testharnessreport.js"></script> +<script src="media-file.js"></script> +<video></video> +<script> +test(_ => { + assert_true('eventSender' in window); +}, 'eventSender required'); + +async_test(t => { + var video = document.querySelector('video'); + video.addEventListener('loadedmetadata', t.step_func(_ => { + var rect = video.getBoundingClientRect(); + eventSender.gestureTap(rect.left + rect.width / 2, + rect.top + rect.height / 2); + })); + + addEventListener('click', t.step_func(_ => { + assert_true(true, 'Received click'); + t.done(); + })); + + video.src = findMediaFile('video', 'content/test'); +}); +</script>
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.png index 866d51ac..dfeb09f8 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.txt index ce14211..7af7cd85 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/emphasis-complex-expected.txt
@@ -7,8 +7,8 @@ LayoutText {#text} at (0,17) size 180x34 text run at (0,17) width 180 RTL: "\x{643}\x{62A}\x{627}\x{628} \x{623}\x{644}\x{641} \x{644}\x{64A}\x{644}\x{629} \x{648}\x{644}\x{64A}\x{644}\x{629}" LayoutBlockFlow {P} at (0,82) size 784x52 - LayoutText {#text} at (0,17) size 545x34 - text run at (0,17) width 545: "\x{1797}\x{17B6}\x{179F}\x{17B6}\x{1781}\x{17D2}\x{1798}\x{17C2}\x{179A} \x{1797}\x{17B6}\x{179F}\x{17B6}\x{1781}\x{17D2}\x{1798}\x{17C2}\x{179A} \x{17A2}\x{178F}\x{17D2}\x{1790}\x{1794}\x{1791}\x{200B}\x{1782}\x{17C6}\x{179A}\x{17BC}" + LayoutText {#text} at (0,17) size 591x34 + text run at (0,17) width 591: "\x{1797}\x{17B6}\x{179F}\x{17B6}\x{1781}\x{17D2}\x{1798}\x{17C2}\x{179A} \x{1797}\x{17B6}\x{179F}\x{17B6}\x{1781}\x{17D2}\x{1798}\x{17C2}\x{179A} \x{17A2}\x{178F}\x{17D2}\x{1790}\x{1794}\x{1791}\x{200B}\x{1782}\x{17C6}\x{179A}\x{17BC}" LayoutBlockFlow {P} at (0,164) size 784x63 LayoutText {#text} at (0,17) size 245x34 text run at (0,17) width 245: "Mixed\x{926}\x{947}\x{935}\x{928}\x{93E}\x{917}\x{930}\x{940}Mixed"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/international/khmer-selection-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/text/international/khmer-selection-expected.png index 44d5d620..0e31d8c9 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/international/khmer-selection-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/international/khmer-selection-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/international/khmer-selection-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/text/international/khmer-selection-expected.txt index f2b6cb0..35cf8841 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/international/khmer-selection-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/international/khmer-selection-expected.txt
@@ -4,25 +4,25 @@ LayoutBlockFlow {HTML} at (0,0) size 800x128 LayoutBlockFlow {BODY} at (8,16) size 784x96 LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutInline {NOBR} at (0,0) size 228x19 - LayoutInline {B} at (0,0) size 36x19 - LayoutText {#text} at (0,0) size 36x19 - text run at (0,0) width 36: "\x{179C}\x{17C9}\x{17C2}\x{1794}" - LayoutText {#text} at (36,0) size 4x19 - text run at (36,0) width 4: " " - LayoutInline {A} at (0,0) size 60x19 [color=#0000EE] - LayoutText {#text} at (40,0) size 60x19 - text run at (40,0) width 60: "\x{179A}\x{17BC}\x{1794}\x{1797}\x{17B6}\x{1796}" - LayoutText {#text} at (100,0) size 4x19 - text run at (100,0) width 4: " " - LayoutInline {A} at (0,0) size 36x19 [color=#0000EE] - LayoutText {#text} at (104,0) size 36x19 - text run at (104,0) width 36: "\x{1780}\x{17D2}\x{179A}\x{17BB}\x{1798}" - LayoutText {#text} at (140,0) size 4x19 - text run at (140,0) width 4: " " + LayoutInline {NOBR} at (0,0) size 264x19 + LayoutInline {B} at (0,0) size 48x19 + LayoutText {#text} at (0,0) size 48x19 + text run at (0,0) width 48: "\x{179C}\x{17C9}\x{17C2}\x{1794}" + LayoutText {#text} at (48,0) size 4x19 + text run at (48,0) width 4: " " + LayoutInline {A} at (0,0) size 72x19 [color=#0000EE] + LayoutText {#text} at (52,0) size 72x19 + text run at (52,0) width 72: "\x{179A}\x{17BC}\x{1794}\x{1797}\x{17B6}\x{1796}" + LayoutText {#text} at (124,0) size 4x19 + text run at (124,0) width 4: " " + LayoutInline {A} at (0,0) size 48x19 [color=#0000EE] + LayoutText {#text} at (128,0) size 48x19 + text run at (128,0) width 48: "\x{1780}\x{17D2}\x{179A}\x{17BB}\x{1798}" + LayoutText {#text} at (176,0) size 4x19 + text run at (176,0) width 4: " " LayoutInline {A} at (0,0) size 84x19 [color=#0000EE] - LayoutText {#text} at (144,0) size 84x19 - text run at (144,0) width 84: "\x{1790}\x{178F}\x{17AF}\x{1780}\x{179F}\x{17B6}\x{179A}" + LayoutText {#text} at (180,0) size 84x19 + text run at (180,0) width 84: "\x{1790}\x{178F}\x{17AF}\x{1780}\x{179F}\x{17B6}\x{179A}" LayoutText {#text} at (0,0) size 0x0 LayoutBlockFlow {P} at (0,36) size 784x60 LayoutText {#text} at (0,0) size 501x19
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/text/large-text-composed-char-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/text/large-text-composed-char-expected.txt index c32bf6e..df1f776 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/text/large-text-composed-char-expected.txt +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/text/large-text-composed-char-expected.txt
@@ -1,4 +1,4 @@ -layer at (0,0) size 800x600 scrollWidth 1064 scrollHeight 8486 +layer at (0,0) size 800x600 scrollWidth 1072 scrollHeight 8486 LayoutView at (0,0) size 800x600 layer at (0,0) size 800x8486 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600 LayoutBlockFlow {HTML} at (0,0) size 800x8486 @@ -343,9 +343,9 @@ text run at (0,2656) width 1056: "e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}" text run at (1056,2656) width 0: " " text run at (0,2672) width 968: "e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e" - LayoutText {#text} at (968,2672) size 1056x2720 - text run at (968,2672) width 88: "\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}" - text run at (1056,2672) width 0: " " + LayoutText {#text} at (968,2672) size 1064x2720 + text run at (968,2672) width 96: "\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}" + text run at (1064,2672) width 0: " " text run at (0,2688) width 1056: "e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}" text run at (1056,2688) width 0: " " text run at (0,2704) width 1056: "e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301} e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}e\x{301}"
diff --git a/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl index a2cfd7a..7550a07 100644 --- a/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl +++ b/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl
@@ -188,7 +188,7 @@ {##############################################################################} {% macro attribute_getter_callback(attribute, world_suffix) %} -void {{attribute.name}}AttributeGetterCallback{{world_suffix}}( +{{exported}}void {{attribute.name}}AttributeGetterCallback{{world_suffix}}( {%- if attribute.is_data_type_property %} v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info {%- else %} @@ -229,7 +229,7 @@ {##############################################################################} {% macro attribute_cache_property_callback(attribute) %} -v8::Local<v8::Private> {{attribute.name}}CachedAccessorCallback(v8::Isolate* isolate) +{{exported}}v8::Local<v8::Private> {{attribute.name}}CachedAccessorCallback(v8::Isolate* isolate) { return V8PrivateProperty::get{{attribute.cached_accessor_name}}(isolate).getPrivate(); } @@ -238,7 +238,7 @@ {##############################################################################} {% macro constructor_getter_callback(attribute, world_suffix) %} -void {{attribute.name}}ConstructorGetterCallback{{world_suffix}}(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void {{attribute.name}}ConstructorGetterCallback{{world_suffix}}(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info) { {% if attribute.deprecate_as %} Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseCounter::{{attribute.deprecate_as}}); {% endif %} @@ -366,7 +366,7 @@ {##############################################################################} {% macro attribute_setter_callback(attribute, world_suffix) %} -void {{attribute.name}}AttributeSetterCallback{{world_suffix}}( +{{exported}}void {{attribute.name}}AttributeSetterCallback{{world_suffix}}( {%- if attribute.is_data_type_property %} v8::Local<v8::Name>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info {%- else %}
diff --git a/third_party/WebKit/Source/bindings/templates/constants.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/constants.cpp.tmpl index 40b7bc2..c49a238 100644 --- a/third_party/WebKit/Source/bindings/templates/constants.cpp.tmpl +++ b/third_party/WebKit/Source/bindings/templates/constants.cpp.tmpl
@@ -1,6 +1,6 @@ {##############################################################################} {% macro constant_getter_callback(constant) %} -void {{constant.name}}ConstantGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void {{constant.name}}ConstantGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { {% if constant.deprecate_as %} Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseCounter::{{constant.deprecate_as}}); {% endif %}
diff --git a/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl index ffa4afa..1d1db395 100644 --- a/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl +++ b/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
@@ -48,7 +48,7 @@ {% block indexed_property_getter_callback %} {% if indexed_property_getter or named_property_getter %} {% set getter = indexed_property_getter or named_property_getter %} -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { {% if indexed_property_getter %} {% if getter.is_custom %} @@ -122,7 +122,7 @@ {% block indexed_property_setter_callback %} {% if indexed_property_setter or named_property_setter %} {% set setter = indexed_property_setter or named_property_setter %} -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { {% if setter.is_ce_reactions %} CEReactionsScope ceReactionsScope; {% endif %} @@ -190,7 +190,7 @@ {% block indexed_property_deleter_callback %} {% if indexed_property_deleter or named_property_deleter %} {% set deleter = indexed_property_deleter or named_property_deleter %} -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +{{exported}}void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { {% if deleter.is_ce_reactions %} CEReactionsScope ceReactionsScope; {% endif %} @@ -253,7 +253,7 @@ {% block named_property_getter_callback %} {% if named_property_getter %} {% set getter = named_property_getter %} -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -320,7 +320,7 @@ {% block named_property_setter_callback %} {% if named_property_setter %} {% set setter = named_property_setter %} -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -381,7 +381,7 @@ {% block named_property_deleter_callback %} {% if named_property_deleter %} {% set deleter = named_property_deleter %} -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +{{exported}}void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -435,7 +435,7 @@ {% block named_property_query_callback %} {% if named_property_getter and named_property_getter.is_enumerable %} {% set getter = named_property_getter %} -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +{{exported}}void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -475,7 +475,7 @@ {% block named_property_enumerator_callback %} {% if named_property_getter and named_property_getter.is_enumerable %} {% set getter = named_property_getter %} -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +{{exported}}void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { {% if getter.is_custom_property_enumerator %} {{v8_class}}::namedPropertyEnumeratorCustom(info); {% else %} @@ -510,7 +510,7 @@ V8HiddenValue::setHiddenValue(ScriptState::current(info.GetIsolate()), v8::Local<v8::Object>::Cast(info.Holder()), name.As<v8::String>(), v8Value); } -void {{cpp_class}}OriginSafeMethodSetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) { +{{exported}}void {{cpp_class}}OriginSafeMethodSetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) { {{cpp_class}}V8Internal::{{cpp_class}}OriginSafeMethodSetter(name, v8Value, info); }
diff --git a/third_party/WebKit/Source/bindings/templates/interface.h.tmpl b/third_party/WebKit/Source/bindings/templates/interface.h.tmpl index 8f6e6d6..a828a5d 100644 --- a/third_party/WebKit/Source/bindings/templates/interface.h.tmpl +++ b/third_party/WebKit/Source/bindings/templates/interface.h.tmpl
@@ -21,7 +21,7 @@ STATIC_ONLY({{v8_class}}Constructor); public: static v8::Local<v8::FunctionTemplate> domTemplate(v8::Isolate*, const DOMWrapperWorld&); - static const WrapperTypeInfo wrapperTypeInfo; + {{exported}}static const WrapperTypeInfo wrapperTypeInfo; }; {% endif %}
diff --git a/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl index d32da99..16bb616 100644 --- a/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl +++ b/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl
@@ -189,7 +189,7 @@ {##############################################################################} {% block security_check_functions %} {% if has_access_check_callbacks and not is_partial %} -bool securityCheck(v8::Local<v8::Context> accessingContext, v8::Local<v8::Object> accessedObject, v8::Local<v8::Value> data) { +{{exported}}bool securityCheck(v8::Local<v8::Context> accessingContext, v8::Local<v8::Object> accessedObject, v8::Local<v8::Value> data) { {% if interface_name == 'Window' %} v8::Isolate* isolate = v8::Isolate::GetCurrent(); v8::Local<v8::Object> window = V8Window::findInstanceInPrototypeChain(accessedObject, isolate); @@ -230,7 +230,7 @@ {% endif %} {% if has_cross_origin_named_getter %} -void crossOriginNamedGetter(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void crossOriginNamedGetter(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -257,7 +257,7 @@ {% endif %} {% if has_cross_origin_named_setter %} -void crossOriginNamedSetter(v8::Local<v8::Name> name, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void crossOriginNamedSetter(v8::Local<v8::Name> name, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -280,7 +280,7 @@ {% endif %} {% if has_cross_origin_named_enumerator %} -void crossOriginNamedEnumerator(const v8::PropertyCallbackInfo<v8::Array>& info) { +{{exported}}void crossOriginNamedEnumerator(const v8::PropertyCallbackInfo<v8::Array>& info) { Vector<String> names; for (const auto& attribute : kCrossOriginAttributeTable) names.push_back(attribute.name); @@ -292,7 +292,7 @@ {% endif %} {% if has_cross_origin_indexed_getter %} -void crossOriginIndexedGetter(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}}void crossOriginIndexedGetter(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { {% if indexed_property_getter.is_custom %} {{v8_class}}::indexedPropertyGetterCustom(index, info); {% else %}
diff --git a/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl index a0a4779..d212e1e 100644 --- a/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl +++ b/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
@@ -483,7 +483,7 @@ {##############################################################################} {% macro method_callback(method, world_suffix) %} -void {{method.name}}MethodCallback{{world_suffix}}(const v8::FunctionCallbackInfo<v8::Value>& info) { +{{exported}} void {{method.name}}MethodCallback{{world_suffix}}(const v8::FunctionCallbackInfo<v8::Value>& info) { {% if not method.overloads %}{# Overloaded methods are measured in overload_resolution_method() #} {% if method.measure_as %} UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::{{method.measure_as('Method')}}); @@ -546,7 +546,7 @@ } } -void {{method.name}}OriginSafeMethodGetterCallback{{world_suffix}}(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +{{exported}} void {{method.name}}OriginSafeMethodGetterCallback{{world_suffix}}(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { {{cpp_class}}V8Internal::{{method.name}}OriginSafeMethodGetter{{world_suffix}}(info); } {% endmacro %}
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp index 0384cde..5730545 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
@@ -62,7 +62,7 @@ v8SetReturnValueString(info, impl->fastGetAttribute(SVGNames::typeAttr), info.GetIsolate()); } -void typeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void typeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { SVGTestInterfaceV8Internal::typeAttributeGetter(info); } @@ -81,7 +81,7 @@ impl->setAttribute(SVGNames::typeAttr, cppValue); } -void typeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void typeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope;
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp index bd85132..fb0ab0f2 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
@@ -64,7 +64,7 @@ v8SetReturnValueFast(info, impl->voidCallbackFunctionAttribute(), impl); } -void voidCallbackFunctionAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidCallbackFunctionAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::voidCallbackFunctionAttributeAttributeGetter(info); } @@ -78,7 +78,7 @@ impl->setVoidCallbackFunctionAttribute(cppValue); } -void voidCallbackFunctionAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidCallbackFunctionAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestCallbackFunctionsV8Internal::voidCallbackFunctionAttributeAttributeSetter(v8Value, info); @@ -92,7 +92,7 @@ v8SetReturnValueFast(info, impl->anyCallbackFunctionOptionalAnyArgAttribute(), impl); } -void anyCallbackFunctionOptionalAnyArgAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void anyCallbackFunctionOptionalAnyArgAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::anyCallbackFunctionOptionalAnyArgAttributeAttributeGetter(info); } @@ -106,7 +106,7 @@ impl->setAnyCallbackFunctionOptionalAnyArgAttribute(cppValue); } -void anyCallbackFunctionOptionalAnyArgAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void anyCallbackFunctionOptionalAnyArgAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestCallbackFunctionsV8Internal::anyCallbackFunctionOptionalAnyArgAttributeAttributeSetter(v8Value, info); @@ -120,7 +120,7 @@ v8SetReturnValueInt(info, impl->customElementsCallbacksReadonlyAttribute()); } -void customElementsCallbacksReadonlyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customElementsCallbacksReadonlyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::customElementsCallbacksReadonlyAttributeAttributeGetter(info); } @@ -130,7 +130,7 @@ v8SetReturnValue(info, impl->returnCallbackFunctionMethod()); } -void returnCallbackFunctionMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void returnCallbackFunctionMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::returnCallbackFunctionMethodMethod(info); } @@ -140,7 +140,7 @@ v8SetReturnValue(info, impl->returnCallbackFunctionMethod2()); } -void returnCallbackFunctionMethod2MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void returnCallbackFunctionMethod2MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::returnCallbackFunctionMethod2Method(info); } @@ -163,7 +163,7 @@ impl->voidMethodCallbackFunctionInArg(voidCallbackFunctionArg); } -void voidMethodCallbackFunctionInArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodCallbackFunctionInArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::voidMethodCallbackFunctionInArgMethod(info); } @@ -186,7 +186,7 @@ impl->voidMethodCallbackFunctionInArg2(anyCallbackFunctionOptionalAnyArgArg); } -void voidMethodCallbackFunctionInArg2MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodCallbackFunctionInArg2MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::voidMethodCallbackFunctionInArg2Method(info); } @@ -209,7 +209,7 @@ impl->voidMethodCallbackFunctionWithReturnValueInArg(longCallbackFunctionArg); } -void voidMethodCallbackFunctionWithReturnValueInArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodCallbackFunctionWithReturnValueInArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::voidMethodCallbackFunctionWithReturnValueInArgMethod(info); } @@ -237,7 +237,7 @@ impl->voidMethodOptionalCallbackFunctionInArg(voidCallbackFunctionArg); } -void voidMethodOptionalCallbackFunctionInArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodOptionalCallbackFunctionInArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::voidMethodOptionalCallbackFunctionInArgMethod(info); } @@ -260,7 +260,7 @@ impl->voidMethodNullableCallbackFunctionInArg(voidCallbackFunctionArg); } -void voidMethodNullableCallbackFunctionInArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodNullableCallbackFunctionInArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::voidMethodNullableCallbackFunctionInArgMethod(info); } @@ -272,7 +272,7 @@ impl->customElementCallbacksMethod(); } -void customElementCallbacksMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customElementCallbacksMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestCallbackFunctionsV8Internal::customElementCallbacksMethodMethod(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp index 70cb4011..f83df0c 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp
@@ -57,12 +57,12 @@ namespace TestConstantsV8Internal { -void DEPRECATED_CONSTANTConstantGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void DEPRECATED_CONSTANTConstantGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseCounter::Constant); v8SetReturnValueInt(info, 1); } -void MEASURED_CONSTANTConstantGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void MEASURED_CONSTANTConstantGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::Constant); v8SetReturnValueInt(info, 1); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp index ec12c7d5..c5181c7 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
@@ -61,7 +61,7 @@ v8SetReturnValueUnsigned(info, impl->readonlyUnsignedShortAttribute()); } -void readonlyUnsignedShortAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyUnsignedShortAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestExceptionV8Internal::readonlyUnsignedShortAttributeAttributeGetter(info); } @@ -73,7 +73,7 @@ v8SetReturnValueString(info, impl->readonlyStringAttribute(), info.GetIsolate()); } -void readonlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestExceptionV8Internal::readonlyStringAttributeAttributeGetter(info); } @@ -83,7 +83,7 @@ v8SetReturnValueString(info, impl->toString(), info.GetIsolate()); } -void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestExceptionV8Internal::toStringMethod(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp index 7de5c0c6..a298256 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
@@ -62,7 +62,7 @@ v8SetReturnValueInt(info, impl->length()); } -void lengthAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void lengthAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestIntegerIndexedV8Internal::lengthAttributeGetter(info); } @@ -80,7 +80,7 @@ impl->setLength(cppValue); } -void lengthAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void lengthAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestIntegerIndexedV8Internal::lengthAttributeSetter(v8Value, info); @@ -105,11 +105,11 @@ impl->voidMethodDocument(document); } -void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestIntegerIndexedV8Internal::voidMethodDocumentMethod(info); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -117,7 +117,7 @@ V8TestIntegerIndexed::namedPropertyGetterCustom(propertyName, info); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -125,7 +125,7 @@ V8TestIntegerIndexed::namedPropertySetterCustom(propertyName, v8Value, info); } -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -133,7 +133,7 @@ V8TestIntegerIndexed::namedPropertyDeleterCustom(propertyName, info); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +CORE_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -141,19 +141,19 @@ V8TestIntegerIndexed::namedPropertyQueryCustom(propertyName, info); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { V8TestIntegerIndexed::namedPropertyEnumeratorCustom(info); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { V8TestIntegerIndexed::indexedPropertyGetterCustom(index, info); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { V8TestIntegerIndexed::indexedPropertySetterCustom(index, v8Value, info); } -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { V8TestIntegerIndexed::indexedPropertyDeleterCustom(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp index e31c251..4996191c 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
@@ -62,7 +62,7 @@ v8SetReturnValue(info, static_cast<double>(impl->length())); } -void lengthAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void lengthAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestIntegerIndexedGlobalV8Internal::lengthAttributeGetter(info); } @@ -80,7 +80,7 @@ impl->setLength(cppValue); } -void lengthAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void lengthAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestIntegerIndexedGlobalV8Internal::lengthAttributeSetter(v8Value, info); @@ -105,11 +105,11 @@ impl->voidMethodDocument(document); } -void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestIntegerIndexedGlobalV8Internal::voidMethodDocumentMethod(info); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -117,7 +117,7 @@ V8TestIntegerIndexedGlobal::namedPropertyGetterCustom(propertyName, info); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -125,7 +125,7 @@ V8TestIntegerIndexedGlobal::namedPropertySetterCustom(propertyName, v8Value, info); } -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -133,7 +133,7 @@ V8TestIntegerIndexedGlobal::namedPropertyDeleterCustom(propertyName, info); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +CORE_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -141,19 +141,19 @@ V8TestIntegerIndexedGlobal::namedPropertyQueryCustom(propertyName, info); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { V8TestIntegerIndexedGlobal::namedPropertyEnumeratorCustom(info); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { V8TestIntegerIndexedGlobal::indexedPropertyGetterCustom(index, info); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { V8TestIntegerIndexedGlobal::indexedPropertySetterCustom(index, v8Value, info); } -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { V8TestIntegerIndexedGlobal::indexedPropertyDeleterCustom(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp index 00a245b..e43b8fd 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
@@ -62,7 +62,7 @@ v8SetReturnValueInt(info, impl->length()); } -void lengthAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void lengthAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestIntegerIndexedPrimaryGlobalV8Internal::lengthAttributeGetter(info); } @@ -80,7 +80,7 @@ impl->setLength(cppValue); } -void lengthAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void lengthAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestIntegerIndexedPrimaryGlobalV8Internal::lengthAttributeSetter(v8Value, info); @@ -105,11 +105,11 @@ impl->voidMethodDocument(document); } -void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestIntegerIndexedPrimaryGlobalV8Internal::voidMethodDocumentMethod(info); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -117,7 +117,7 @@ V8TestIntegerIndexedPrimaryGlobal::namedPropertyGetterCustom(propertyName, info); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -125,7 +125,7 @@ V8TestIntegerIndexedPrimaryGlobal::namedPropertySetterCustom(propertyName, v8Value, info); } -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -133,7 +133,7 @@ V8TestIntegerIndexedPrimaryGlobal::namedPropertyDeleterCustom(propertyName, info); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +CORE_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -141,19 +141,19 @@ V8TestIntegerIndexedPrimaryGlobal::namedPropertyQueryCustom(propertyName, info); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { V8TestIntegerIndexedPrimaryGlobal::namedPropertyEnumeratorCustom(info); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { V8TestIntegerIndexedPrimaryGlobal::indexedPropertyGetterCustom(index, info); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { V8TestIntegerIndexedPrimaryGlobal::indexedPropertySetterCustom(index, v8Value, info); } -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { V8TestIntegerIndexedPrimaryGlobal::indexedPropertyDeleterCustom(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp index c698c8f..59a9445 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
@@ -86,7 +86,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceAttribute()), impl); } -void testInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::V8TestInterface_TestInterfaceAttribute_AttributeGetter); TestInterfaceImplementationV8Internal::testInterfaceAttributeAttributeGetter(info); @@ -110,7 +110,7 @@ impl->setTestInterfaceAttribute(cppValue); } -void testInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::V8TestInterface_TestInterfaceAttribute_AttributeSetter); @@ -126,7 +126,7 @@ v8SetReturnValue(info, impl->doubleAttribute()); } -void doubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::doubleAttributeAttributeGetter(info); } @@ -144,7 +144,7 @@ impl->setDoubleAttribute(cppValue); } -void doubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::doubleAttributeAttributeSetter(v8Value, info); @@ -158,7 +158,7 @@ v8SetReturnValue(info, impl->floatAttribute()); } -void floatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void floatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::floatAttributeAttributeGetter(info); } @@ -176,7 +176,7 @@ impl->setFloatAttribute(cppValue); } -void floatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void floatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::floatAttributeAttributeSetter(v8Value, info); @@ -190,7 +190,7 @@ v8SetReturnValue(info, impl->unrestrictedDoubleAttribute()); } -void unrestrictedDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::unrestrictedDoubleAttributeAttributeGetter(info); } @@ -208,7 +208,7 @@ impl->setUnrestrictedDoubleAttribute(cppValue); } -void unrestrictedDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::unrestrictedDoubleAttributeAttributeSetter(v8Value, info); @@ -222,7 +222,7 @@ v8SetReturnValue(info, impl->unrestrictedFloatAttribute()); } -void unrestrictedFloatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedFloatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::unrestrictedFloatAttributeAttributeGetter(info); } @@ -240,7 +240,7 @@ impl->setUnrestrictedFloatAttribute(cppValue); } -void unrestrictedFloatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedFloatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::unrestrictedFloatAttributeAttributeSetter(v8Value, info); @@ -254,7 +254,7 @@ v8SetReturnValueString(info, impl->testEnumAttribute(), info.GetIsolate()); } -void testEnumAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::testEnumAttributeAttributeGetter(info); } @@ -286,7 +286,7 @@ impl->setTestEnumAttribute(cppValue); } -void testEnumAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::testEnumAttributeAttributeSetter(v8Value, info); @@ -303,7 +303,7 @@ v8SetReturnValue(info, result); } -void stringOrDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringOrDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::stringOrDoubleAttributeAttributeGetter(info); } @@ -322,7 +322,7 @@ impl->setStringOrDoubleAttribute(cppValue); } -void stringOrDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringOrDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::stringOrDoubleAttributeAttributeSetter(v8Value, info); @@ -336,7 +336,7 @@ v8SetReturnValueInt(info, impl->conditionalLongAttribute()); } -void conditionalLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void conditionalLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::conditionalLongAttributeAttributeGetter(info); } @@ -354,7 +354,7 @@ impl->setConditionalLongAttribute(cppValue); } -void conditionalLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void conditionalLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::conditionalLongAttributeAttributeSetter(v8Value, info); @@ -368,7 +368,7 @@ v8SetReturnValueInt(info, impl->conditionalReadOnlyLongAttribute()); } -void conditionalReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void conditionalReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::conditionalReadOnlyLongAttributeAttributeGetter(info); } @@ -376,7 +376,7 @@ v8SetReturnValueString(info, TestInterfaceImplementation::staticStringAttribute(), info.GetIsolate()); } -void staticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::staticStringAttributeAttributeGetter(info); } @@ -389,7 +389,7 @@ TestInterfaceImplementation::setStaticStringAttribute(cppValue); } -void staticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::staticStringAttributeAttributeSetter(v8Value, info); @@ -399,7 +399,7 @@ v8SetReturnValue(info, WTF::getPtr(TestInterfaceImplementation::staticReturnDOMWrapperAttribute()), info.GetIsolate()->GetCurrentContext()->Global()); } -void staticReturnDOMWrapperAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticReturnDOMWrapperAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::staticReturnDOMWrapperAttributeAttributeGetter(info); } @@ -418,7 +418,7 @@ TestInterfaceImplementation::setStaticReturnDOMWrapperAttribute(cppValue); } -void staticReturnDOMWrapperAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticReturnDOMWrapperAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::staticReturnDOMWrapperAttributeAttributeSetter(v8Value, info); @@ -428,7 +428,7 @@ v8SetReturnValueString(info, TestInterfaceImplementation::staticReadOnlyStringAttribute(), info.GetIsolate()); } -void staticReadOnlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticReadOnlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::staticReadOnlyStringAttributeAttributeGetter(info); } @@ -446,7 +446,7 @@ v8SetReturnValue(info, v8Value); } -void staticReadOnlyReturnDOMWrapperAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticReadOnlyReturnDOMWrapperAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::staticReadOnlyReturnDOMWrapperAttributeAttributeGetter(info); } @@ -454,7 +454,7 @@ v8SetReturnValueInt(info, TestInterfaceImplementation::staticConditionalReadOnlyLongAttribute()); } -void staticConditionalReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticConditionalReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::staticConditionalReadOnlyLongAttributeAttributeGetter(info); } @@ -466,7 +466,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->legacyInterfaceTypeCheckingAttribute()), impl); } -void legacyInterfaceTypeCheckingAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::legacyInterfaceTypeCheckingAttributeAttributeGetter(info); } @@ -480,7 +480,7 @@ impl->setLegacyInterfaceTypeCheckingAttribute(cppValue); } -void legacyInterfaceTypeCheckingAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::legacyInterfaceTypeCheckingAttributeAttributeSetter(v8Value, info); @@ -494,7 +494,7 @@ v8SetReturnValueInt(info, impl->alwaysExposedAttribute()); } -void alwaysExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void alwaysExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::alwaysExposedAttributeAttributeGetter(info); } @@ -512,7 +512,7 @@ impl->setAlwaysExposedAttribute(cppValue); } -void alwaysExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void alwaysExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::alwaysExposedAttributeAttributeSetter(v8Value, info); @@ -526,7 +526,7 @@ v8SetReturnValueInt(info, impl->workerExposedAttribute()); } -void workerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void workerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::workerExposedAttributeAttributeGetter(info); } @@ -544,7 +544,7 @@ impl->setWorkerExposedAttribute(cppValue); } -void workerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void workerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::workerExposedAttributeAttributeSetter(v8Value, info); @@ -558,7 +558,7 @@ v8SetReturnValueInt(info, impl->windowExposedAttribute()); } -void windowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void windowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::windowExposedAttributeAttributeGetter(info); } @@ -576,7 +576,7 @@ impl->setWindowExposedAttribute(cppValue); } -void windowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void windowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::windowExposedAttributeAttributeSetter(v8Value, info); @@ -595,7 +595,7 @@ v8SetReturnValue(info, impl->lenientThisAttribute().v8Value()); } -void lenientThisAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void lenientThisAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::lenientThisAttributeAttributeGetter(info); } @@ -614,7 +614,7 @@ impl->setLenientThisAttribute(cppValue); } -void lenientThisAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void lenientThisAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::lenientThisAttributeAttributeSetter(v8Value, info); @@ -628,7 +628,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextAttribute()), impl); } -void secureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextAttributeAttributeGetter(info); } @@ -650,7 +650,7 @@ impl->setSecureContextAttribute(cppValue); } -void secureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::secureContextAttributeAttributeSetter(v8Value, info); @@ -664,7 +664,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextRuntimeEnabledAttribute()), impl); } -void secureContextRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextRuntimeEnabledAttributeAttributeGetter(info); } @@ -686,7 +686,7 @@ impl->setSecureContextRuntimeEnabledAttribute(cppValue); } -void secureContextRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::secureContextRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -700,7 +700,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextWindowExposedAttribute()), impl); } -void secureContextWindowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextWindowExposedAttributeAttributeGetter(info); } @@ -722,7 +722,7 @@ impl->setSecureContextWindowExposedAttribute(cppValue); } -void secureContextWindowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::secureContextWindowExposedAttributeAttributeSetter(v8Value, info); @@ -736,7 +736,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextWorkerExposedAttribute()), impl); } -void secureContextWorkerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextWorkerExposedAttributeAttributeGetter(info); } @@ -758,7 +758,7 @@ impl->setSecureContextWorkerExposedAttribute(cppValue); } -void secureContextWorkerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::secureContextWorkerExposedAttributeAttributeSetter(v8Value, info); @@ -772,7 +772,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextWindowExposedRuntimeEnabledAttribute()), impl); } -void secureContextWindowExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextWindowExposedRuntimeEnabledAttributeAttributeGetter(info); } @@ -794,7 +794,7 @@ impl->setSecureContextWindowExposedRuntimeEnabledAttribute(cppValue); } -void secureContextWindowExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::secureContextWindowExposedRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -808,7 +808,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextWorkerExposedRuntimeEnabledAttribute()), impl); } -void secureContextWorkerExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextWorkerExposedRuntimeEnabledAttributeAttributeGetter(info); } @@ -830,7 +830,7 @@ impl->setSecureContextWorkerExposedRuntimeEnabledAttribute(cppValue); } -void secureContextWorkerExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::secureContextWorkerExposedRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -840,7 +840,7 @@ v8SetReturnValueInt(info, TestInterfaceImplementation::implementsStaticReadOnlyLongAttribute()); } -void implementsStaticReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsStaticReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsStaticReadOnlyLongAttributeAttributeGetter(info); } @@ -848,7 +848,7 @@ v8SetReturnValueString(info, TestInterfaceImplementation::implementsStaticStringAttribute(), info.GetIsolate()); } -void implementsStaticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsStaticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsStaticStringAttributeAttributeGetter(info); } @@ -861,7 +861,7 @@ TestInterfaceImplementation::setImplementsStaticStringAttribute(cppValue); } -void implementsStaticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsStaticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implementsStaticStringAttributeAttributeSetter(v8Value, info); @@ -875,7 +875,7 @@ v8SetReturnValueString(info, impl->implementsReadonlyStringAttribute(), info.GetIsolate()); } -void implementsReadonlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsReadonlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsReadonlyStringAttributeAttributeGetter(info); } @@ -887,7 +887,7 @@ v8SetReturnValueString(info, impl->implementsStringAttribute(), info.GetIsolate()); } -void implementsStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsStringAttributeAttributeGetter(info); } @@ -903,7 +903,7 @@ impl->setImplementsStringAttribute(cppValue); } -void implementsStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implementsStringAttributeAttributeSetter(v8Value, info); @@ -917,7 +917,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->implementsNodeAttribute()), impl); } -void implementsNodeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsNodeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsNodeAttributeAttributeGetter(info); } @@ -939,7 +939,7 @@ impl->setImplementsNodeAttribute(cppValue); } -void implementsNodeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsNodeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implementsNodeAttributeAttributeSetter(v8Value, info); @@ -955,7 +955,7 @@ v8SetReturnValue(info, cppValue ? V8AbstractEventListener::cast(cppValue)->getListenerOrNull(info.GetIsolate(), impl->getExecutionContext()) : v8::Null(info.GetIsolate()).As<v8::Value>()); } -void implementsEventHandlerAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsEventHandlerAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsEventHandlerAttributeAttributeGetter(info); } @@ -969,7 +969,7 @@ impl->setImplementsEventHandlerAttribute(V8EventListenerHelper::getEventListener(ScriptState::forReceiverObject(info), v8Value, true, ListenerFindOrCreate)); } -void implementsEventHandlerAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsEventHandlerAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implementsEventHandlerAttributeAttributeSetter(v8Value, info); @@ -983,7 +983,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->implementsRuntimeEnabledNodeAttribute()), impl); } -void implementsRuntimeEnabledNodeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsRuntimeEnabledNodeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsRuntimeEnabledNodeAttributeAttributeGetter(info); } @@ -1005,7 +1005,7 @@ impl->setImplementsRuntimeEnabledNodeAttribute(cppValue); } -void implementsRuntimeEnabledNodeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsRuntimeEnabledNodeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implementsRuntimeEnabledNodeAttributeAttributeSetter(v8Value, info); @@ -1015,7 +1015,7 @@ v8SetReturnValueString(info, TestImplements2::implements2StaticStringAttribute(), info.GetIsolate()); } -void implements2StaticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements2StaticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implements2StaticStringAttributeAttributeGetter(info); } @@ -1028,7 +1028,7 @@ TestImplements2::setImplements2StaticStringAttribute(cppValue); } -void implements2StaticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements2StaticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implements2StaticStringAttributeAttributeSetter(v8Value, info); @@ -1042,7 +1042,7 @@ v8SetReturnValueString(info, TestImplements2::implements2StringAttribute(*impl), info.GetIsolate()); } -void implements2StringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements2StringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implements2StringAttributeAttributeGetter(info); } @@ -1058,7 +1058,7 @@ TestImplements2::setImplements2StringAttribute(*impl, cppValue); } -void implements2StringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements2StringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implements2StringAttributeAttributeSetter(v8Value, info); @@ -1072,7 +1072,7 @@ v8SetReturnValueString(info, TestImplements3Implementation::implements3StringAttribute(*impl), info.GetIsolate()); } -void implements3StringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements3StringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implements3StringAttributeAttributeGetter(info); } @@ -1088,7 +1088,7 @@ TestImplements3Implementation::setImplements3StringAttribute(*impl, cppValue); } -void implements3StringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements3StringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implements3StringAttributeAttributeSetter(v8Value, info); @@ -1098,7 +1098,7 @@ v8SetReturnValueString(info, TestImplements3Implementation::implements3StaticStringAttribute(), info.GetIsolate()); } -void implements3StaticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements3StaticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implements3StaticStringAttributeAttributeGetter(info); } @@ -1111,7 +1111,7 @@ TestImplements3Implementation::setImplements3StaticStringAttribute(cppValue); } -void implements3StaticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements3StaticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::implements3StaticStringAttributeAttributeSetter(v8Value, info); @@ -1125,7 +1125,7 @@ v8SetReturnValueInt(info, TestInterfacePartial::partialLongAttribute(*impl)); } -void partialLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialLongAttributeAttributeGetter(info); } @@ -1143,7 +1143,7 @@ TestInterfacePartial::setPartialLongAttribute(*impl, cppValue); } -void partialLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialLongAttributeAttributeSetter(v8Value, info); @@ -1153,7 +1153,7 @@ v8SetReturnValueInt(info, TestInterfacePartial::partialStaticLongAttribute()); } -void partialStaticLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialStaticLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialStaticLongAttributeAttributeGetter(info); } @@ -1168,7 +1168,7 @@ TestInterfacePartial::setPartialStaticLongAttribute(cppValue); } -void partialStaticLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialStaticLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialStaticLongAttributeAttributeSetter(v8Value, info); @@ -1184,7 +1184,7 @@ v8SetReturnValueInt(info, TestInterfacePartial::partialCallWithExecutionContextLongAttribute(executionContext, *impl)); } -void partialCallWithExecutionContextLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialCallWithExecutionContextLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialCallWithExecutionContextLongAttributeAttributeGetter(info); } @@ -1204,7 +1204,7 @@ TestInterfacePartial::setPartialCallWithExecutionContextLongAttribute(executionContext, *impl, cppValue); } -void partialCallWithExecutionContextLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialCallWithExecutionContextLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialCallWithExecutionContextLongAttributeAttributeSetter(v8Value, info); @@ -1218,7 +1218,7 @@ v8SetReturnValueString(info, TestInterfacePartial::partialPartialEnumTypeAttribute(*impl), info.GetIsolate()); } -void partialPartialEnumTypeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialPartialEnumTypeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialPartialEnumTypeAttributeAttributeGetter(info); } @@ -1248,7 +1248,7 @@ TestInterfacePartial::setPartialPartialEnumTypeAttribute(*impl, cppValue); } -void partialPartialEnumTypeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialPartialEnumTypeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialPartialEnumTypeAttributeAttributeSetter(v8Value, info); @@ -1262,7 +1262,7 @@ v8SetReturnValueInt(info, TestInterfacePartial2Implementation::partial2LongAttribute(*impl)); } -void partial2LongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2LongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partial2LongAttributeAttributeGetter(info); } @@ -1280,7 +1280,7 @@ TestInterfacePartial2Implementation::setPartial2LongAttribute(*impl, cppValue); } -void partial2LongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2LongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partial2LongAttributeAttributeSetter(v8Value, info); @@ -1290,7 +1290,7 @@ v8SetReturnValueInt(info, TestInterfacePartial2Implementation::partial2StaticLongAttribute()); } -void partial2StaticLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2StaticLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partial2StaticLongAttributeAttributeGetter(info); } @@ -1305,7 +1305,7 @@ TestInterfacePartial2Implementation::setPartial2StaticLongAttribute(cppValue); } -void partial2StaticLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2StaticLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partial2StaticLongAttributeAttributeSetter(v8Value, info); @@ -1319,7 +1319,7 @@ v8SetReturnValueFast(info, TestInterfacePartial2Implementation::partial2SecureContextAttribute(*impl), impl); } -void partial2SecureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2SecureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partial2SecureContextAttributeAttributeGetter(info); } @@ -1341,7 +1341,7 @@ TestInterfacePartial2Implementation::setPartial2SecureContextAttribute(*impl, cppValue); } -void partial2SecureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2SecureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partial2SecureContextAttributeAttributeSetter(v8Value, info); @@ -1355,7 +1355,7 @@ v8SetReturnValueFast(info, TestInterfacePartialSecureContext::partialSecureContextAttribute(*impl), impl); } -void partialSecureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextAttributeAttributeGetter(info); } @@ -1377,7 +1377,7 @@ TestInterfacePartialSecureContext::setPartialSecureContextAttribute(*impl, cppValue); } -void partialSecureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialSecureContextAttributeAttributeSetter(v8Value, info); @@ -1391,7 +1391,7 @@ v8SetReturnValueFast(info, TestInterfacePartialSecureContext::partialSecureContextRuntimeEnabledAttribute(*impl), impl); } -void partialSecureContextRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextRuntimeEnabledAttributeAttributeGetter(info); } @@ -1413,7 +1413,7 @@ TestInterfacePartialSecureContext::setPartialSecureContextRuntimeEnabledAttribute(*impl, cppValue); } -void partialSecureContextRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialSecureContextRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -1427,7 +1427,7 @@ v8SetReturnValueFast(info, TestInterfacePartialSecureContext::partialSecureContextWindowExposedAttribute(*impl), impl); } -void partialSecureContextWindowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWindowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextWindowExposedAttributeAttributeGetter(info); } @@ -1449,7 +1449,7 @@ TestInterfacePartialSecureContext::setPartialSecureContextWindowExposedAttribute(*impl, cppValue); } -void partialSecureContextWindowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWindowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialSecureContextWindowExposedAttributeAttributeSetter(v8Value, info); @@ -1463,7 +1463,7 @@ v8SetReturnValueFast(info, TestInterfacePartialSecureContext::partialSecureContextWorkerExposedAttribute(*impl), impl); } -void partialSecureContextWorkerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWorkerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextWorkerExposedAttributeAttributeGetter(info); } @@ -1485,7 +1485,7 @@ TestInterfacePartialSecureContext::setPartialSecureContextWorkerExposedAttribute(*impl, cppValue); } -void partialSecureContextWorkerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWorkerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialSecureContextWorkerExposedAttributeAttributeSetter(v8Value, info); @@ -1499,7 +1499,7 @@ v8SetReturnValueFast(info, TestInterfacePartialSecureContext::partialSecureContextWindowExposedRuntimeEnabledAttribute(*impl), impl); } -void partialSecureContextWindowExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWindowExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextWindowExposedRuntimeEnabledAttributeAttributeGetter(info); } @@ -1521,7 +1521,7 @@ TestInterfacePartialSecureContext::setPartialSecureContextWindowExposedRuntimeEnabledAttribute(*impl, cppValue); } -void partialSecureContextWindowExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWindowExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialSecureContextWindowExposedRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -1535,7 +1535,7 @@ v8SetReturnValueFast(info, TestInterfacePartialSecureContext::partialSecureContextWorkerExposedRuntimeEnabledAttribute(*impl), impl); } -void partialSecureContextWorkerExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWorkerExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextWorkerExposedRuntimeEnabledAttributeAttributeGetter(info); } @@ -1557,7 +1557,7 @@ TestInterfacePartialSecureContext::setPartialSecureContextWorkerExposedRuntimeEnabledAttribute(*impl, cppValue); } -void partialSecureContextWorkerExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWorkerExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceImplementationV8Internal::partialSecureContextWorkerExposedRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -1582,7 +1582,7 @@ impl->voidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); } -void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::voidMethodTestInterfaceEmptyArgMethod(info); } @@ -1609,7 +1609,7 @@ impl->voidMethodDoubleArgFloatArg(doubleArg, floatArg); } -void voidMethodDoubleArgFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDoubleArgFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::voidMethodDoubleArgFloatArgMethod(info); } @@ -1636,7 +1636,7 @@ impl->voidMethodUnrestrictedDoubleArgUnrestrictedFloatArg(unrestrictedDoubleArg, unrestrictedFloatArg); } -void voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethod(info); } @@ -1667,7 +1667,7 @@ impl->voidMethodTestEnumArg(testEnumArg); } -void voidMethodTestEnumArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestEnumArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::voidMethodTestEnumArgMethod(info); } @@ -1677,7 +1677,7 @@ impl->voidMethod(); } -void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::voidMethodMethod(info); } @@ -1687,7 +1687,7 @@ impl->voidMethod(); } -void voidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::voidMethodMethodForMainWorld(info); } @@ -1697,7 +1697,7 @@ impl->alwaysExposedMethod(); } -void alwaysExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void alwaysExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::alwaysExposedMethodMethod(info); } @@ -1707,7 +1707,7 @@ impl->workerExposedMethod(); } -void workerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void workerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::workerExposedMethodMethod(info); } @@ -1717,7 +1717,7 @@ impl->windowExposedMethod(); } -void windowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void windowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::windowExposedMethodMethod(info); } @@ -1725,7 +1725,7 @@ TestInterfaceImplementation::alwaysExposedStaticMethod(); } -void alwaysExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void alwaysExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::alwaysExposedStaticMethodMethod(info); } @@ -1733,7 +1733,7 @@ TestInterfaceImplementation::workerExposedStaticMethod(); } -void workerExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void workerExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::workerExposedStaticMethodMethod(info); } @@ -1741,7 +1741,7 @@ TestInterfaceImplementation::windowExposedStaticMethod(); } -void windowExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void windowExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::windowExposedStaticMethodMethod(info); } @@ -1749,7 +1749,7 @@ v8SetReturnValue(info, TestInterfaceImplementation::staticReturnDOMWrapperMethod(), info.GetIsolate()->GetCurrentContext()->Global()); } -void staticReturnDOMWrapperMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticReturnDOMWrapperMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::staticReturnDOMWrapperMethodMethod(info); } @@ -1759,7 +1759,7 @@ impl->methodWithExposedAndRuntimeEnabledFlag(); } -void methodWithExposedAndRuntimeEnabledFlagMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void methodWithExposedAndRuntimeEnabledFlagMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::methodWithExposedAndRuntimeEnabledFlagMethod(info); } @@ -1841,7 +1841,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadMethodWithExposedAndRuntimeEnabledFlagMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadMethodWithExposedAndRuntimeEnabledFlagMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::overloadMethodWithExposedAndRuntimeEnabledFlagMethod(info); } @@ -1851,7 +1851,7 @@ impl->methodWithExposedHavingRuntimeEnabldFlag(); } -void methodWithExposedHavingRuntimeEnabldFlagMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void methodWithExposedHavingRuntimeEnabldFlagMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::methodWithExposedHavingRuntimeEnabldFlagMethod(info); } @@ -1861,7 +1861,7 @@ impl->windowAndServiceWorkerExposedMethod(); } -void windowAndServiceWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void windowAndServiceWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::windowAndServiceWorkerExposedMethodMethod(info); } @@ -1944,7 +1944,7 @@ impl->legacyInterfaceTypeCheckingMethod(testInterfaceEmptyArg); } -void legacyInterfaceTypeCheckingMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::legacyInterfaceTypeCheckingMethodMethod(info); } @@ -1954,7 +1954,7 @@ impl->secureContextMethod(); } -void secureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextMethodMethod(info); } @@ -1964,7 +1964,7 @@ impl->secureContextRuntimeEnabledMethod(); } -void secureContextRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextRuntimeEnabledMethodMethod(info); } @@ -1974,7 +1974,7 @@ impl->secureContextWindowExposedMethod(); } -void secureContextWindowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextWindowExposedMethodMethod(info); } @@ -1984,7 +1984,7 @@ impl->secureContextWorkerExposedMethod(); } -void secureContextWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextWorkerExposedMethodMethod(info); } @@ -1994,7 +1994,7 @@ impl->secureContextWindowExposedRuntimeEnabledMethod(); } -void secureContextWindowExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextWindowExposedRuntimeEnabledMethodMethod(info); } @@ -2004,7 +2004,7 @@ impl->secureContextWorkerExposedRuntimeEnabledMethod(); } -void secureContextWorkerExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::secureContextWorkerExposedRuntimeEnabledMethodMethod(info); } @@ -2014,7 +2014,7 @@ impl->implementsVoidMethod(); } -void implementsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsVoidMethodMethod(info); } @@ -2049,11 +2049,11 @@ v8SetReturnValue(info, result); } -void implementsComplexMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsComplexMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsComplexMethodMethod(info); } -void implementsCustomVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsCustomVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { V8TestInterface::implementsCustomVoidMethodMethodCustom(info); } @@ -2061,7 +2061,7 @@ TestInterfaceImplementation::implementsStaticVoidMethod(); } -void implementsStaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementsStaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implementsStaticVoidMethodMethod(info); } @@ -2071,7 +2071,7 @@ TestImplements2::implements2VoidMethod(*impl); } -void implements2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implements2VoidMethodMethod(info); } @@ -2081,7 +2081,7 @@ TestImplements3Implementation::implements3VoidMethod(*impl); } -void implements3VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements3VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implements3VoidMethodMethod(info); } @@ -2089,7 +2089,7 @@ TestImplements3Implementation::implements3StaticVoidMethod(); } -void implements3StaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implements3StaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::implements3StaticVoidMethodMethod(info); } @@ -2099,7 +2099,7 @@ TestInterfacePartial::partialVoidMethod(*impl); } -void partialVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialVoidMethodMethod(info); } @@ -2107,7 +2107,7 @@ TestInterfacePartial::partialStaticVoidMethod(); } -void partialStaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialStaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialStaticVoidMethodMethod(info); } @@ -2129,7 +2129,7 @@ TestInterfacePartial::partialVoidMethodLongArg(*impl, longArg); } -void partialVoidMethodLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialVoidMethodLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialVoidMethodLongArgMethod(info); } @@ -2145,7 +2145,7 @@ } } -void partialCallWithExecutionContextRaisesExceptionVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialCallWithExecutionContextRaisesExceptionVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialCallWithExecutionContextRaisesExceptionVoidMethodMethod(info); } @@ -2168,7 +2168,7 @@ TestInterfacePartial::partialVoidMethodPartialCallbackTypeArg(*impl, partialCallbackTypeArg); } -void partialVoidMethodPartialCallbackTypeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialVoidMethodPartialCallbackTypeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialVoidMethodPartialCallbackTypeArgMethod(info); } @@ -2188,7 +2188,7 @@ TestInterfacePartial2Implementation::partial2SecureContextMethod(*impl); } -void partial2SecureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2SecureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partial2SecureContextMethodMethod(info); } @@ -2198,7 +2198,7 @@ TestInterfacePartialSecureContext::partialSecureContextMethod(*impl); } -void partialSecureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextMethodMethod(info); } @@ -2208,7 +2208,7 @@ TestInterfacePartialSecureContext::partialSecureContextRuntimeEnabledMethod(*impl); } -void partialSecureContextRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextRuntimeEnabledMethodMethod(info); } @@ -2218,7 +2218,7 @@ TestInterfacePartialSecureContext::partialSecureContextWindowExposedMethod(*impl); } -void partialSecureContextWindowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWindowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextWindowExposedMethodMethod(info); } @@ -2228,7 +2228,7 @@ TestInterfacePartialSecureContext::partialSecureContextWorkerExposedMethod(*impl); } -void partialSecureContextWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextWorkerExposedMethodMethod(info); } @@ -2238,7 +2238,7 @@ TestInterfacePartialSecureContext::partialSecureContextWindowExposedRuntimeEnabledMethod(*impl); } -void partialSecureContextWindowExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWindowExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextWindowExposedRuntimeEnabledMethodMethod(info); } @@ -2248,7 +2248,7 @@ TestInterfacePartialSecureContext::partialSecureContextWorkerExposedRuntimeEnabledMethod(*impl); } -void partialSecureContextWorkerExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partialSecureContextWorkerExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partialSecureContextWorkerExposedRuntimeEnabledMethodMethod(info); } @@ -2276,7 +2276,7 @@ (voidMethodPartialOverloadMethodForPartialInterface)(info); } -void voidMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::voidMethodPartialOverloadMethod(info); } @@ -2296,7 +2296,7 @@ (staticVoidMethodPartialOverloadMethodForPartialInterface)(info); } -void staticVoidMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticVoidMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::staticVoidMethodPartialOverloadMethod(info); } @@ -2320,7 +2320,7 @@ (promiseMethodPartialOverloadMethodForPartialInterface)(info); } -void promiseMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void promiseMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::promiseMethodPartialOverloadMethod(info); } @@ -2340,7 +2340,7 @@ (staticPromiseMethodPartialOverloadMethodForPartialInterface)(info); } -void staticPromiseMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticPromiseMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::staticPromiseMethodPartialOverloadMethod(info); } @@ -2360,7 +2360,7 @@ (partial2VoidMethodMethodForPartialInterface)(info); } -void partial2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partial2VoidMethodMethod(info); } @@ -2380,7 +2380,7 @@ (partial2StaticVoidMethodMethodForPartialInterface)(info); } -void partial2StaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partial2StaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::partial2StaticVoidMethodMethod(info); } @@ -2398,7 +2398,7 @@ v8SetReturnValue(info, result.v8Value()); } -void toJSONMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void toJSONMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::toJSONMethod(info); } @@ -2408,7 +2408,7 @@ v8SetReturnValueString(info, impl->toString(), info.GetIsolate()); } -void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::toStringMethod(info); } @@ -2426,7 +2426,7 @@ v8SetReturnValue(info, result); } -void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::iteratorMethod(info); } @@ -2438,7 +2438,7 @@ v8SetReturnValueString(info, result, info.GetIsolate()); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -2458,7 +2458,7 @@ v8SetReturnValue(info, v8Value); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -2475,7 +2475,7 @@ v8SetReturnValue(info, result == DeleteSuccess); } -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -2495,7 +2495,7 @@ v8SetReturnValueInt(info, v8::None); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +CORE_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -2515,7 +2515,7 @@ v8SetReturnValue(info, ToV8(names, info.Holder(), info.GetIsolate()).As<v8::Array>()); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { TestInterfaceImplementationV8Internal::namedPropertyEnumerator(info); } @@ -2533,7 +2533,7 @@ v8SetReturnValueString(info, result, info.GetIsolate()); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::indexedPropertyGetter(index, info); } @@ -2549,7 +2549,7 @@ v8SetReturnValue(info, v8Value); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceImplementationV8Internal::indexedPropertySetter(index, v8Value, info); } @@ -2562,7 +2562,7 @@ v8SetReturnValue(info, result == DeleteSuccess); } -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { TestInterfaceImplementationV8Internal::indexedPropertyDeleter(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp index edd0f2b..0f985325 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
@@ -78,7 +78,7 @@ v8SetReturnValue(info, impl->legacyCaller(index)); } -void legacyCallerMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyCallerMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::legacyCallerMethod(info); } @@ -104,7 +104,7 @@ v8SetReturnValue(info, result); } -void itemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void itemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::itemMethod(info); } @@ -138,7 +138,7 @@ v8SetReturnValue(info, result); } -void setItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::setItemMethod(info); } @@ -164,7 +164,7 @@ v8SetReturnValueBool(info, result); } -void deleteItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deleteItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::deleteItemMethod(info); } @@ -190,7 +190,7 @@ v8SetReturnValue(info, result); } -void namedItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::namedItemMethod(info); } @@ -224,7 +224,7 @@ v8SetReturnValue(info, result); } -void setNamedItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setNamedItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::setNamedItemMethod(info); } @@ -250,7 +250,7 @@ v8SetReturnValueBool(info, result); } -void deleteNamedItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deleteNamedItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::deleteNamedItemMethod(info); } @@ -260,7 +260,7 @@ v8SetReturnValueString(info, impl->stringifierMethod(), info.GetIsolate()); } -void stringifierMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringifierMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::stringifierMethodMethod(info); } @@ -278,7 +278,7 @@ v8SetReturnValue(info, result); } -void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::keysMethod(info); } @@ -296,7 +296,7 @@ v8SetReturnValue(info, result); } -void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::valuesMethod(info); } @@ -314,7 +314,7 @@ v8SetReturnValue(info, result); } -void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::entriesMethod(info); } @@ -347,7 +347,7 @@ } } -void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::forEachMethod(info); } @@ -378,7 +378,7 @@ v8SetReturnValueBool(info, result); } -void hasMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hasMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::hasMethod(info); } @@ -388,7 +388,7 @@ v8SetReturnValueString(info, impl->stringifierMethod(), info.GetIsolate()); } -void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::toStringMethod(info); } @@ -406,7 +406,7 @@ v8SetReturnValue(info, result); } -void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::iteratorMethod(info); } @@ -428,7 +428,7 @@ v8SetReturnValueFast(info, result, impl); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -455,7 +455,7 @@ v8SetReturnValue(info, v8Value); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -477,7 +477,7 @@ v8SetReturnValue(info, result == DeleteSuccess); } -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -497,7 +497,7 @@ v8SetReturnValueInt(info, v8::None); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +CORE_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -517,7 +517,7 @@ v8SetReturnValue(info, ToV8(names, info.Holder(), info.GetIsolate()).As<v8::Array>()); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { TestInterface2V8Internal::namedPropertyEnumerator(info); } @@ -537,7 +537,7 @@ v8SetReturnValueFast(info, result, impl); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::indexedPropertyGetter(index, info); } @@ -559,7 +559,7 @@ v8SetReturnValue(info, v8Value); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterface2V8Internal::indexedPropertySetter(index, v8Value, info); } @@ -576,7 +576,7 @@ v8SetReturnValue(info, result == DeleteSuccess); } -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { TestInterface2V8Internal::indexedPropertyDeleter(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp index fedb667..a289996 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
@@ -66,7 +66,7 @@ v8SetReturnValueString(info, impl->readonlyStringifierAttribute(), info.GetIsolate()); } -void readonlyStringifierAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyStringifierAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface3V8Internal::readonlyStringifierAttributeAttributeGetter(info); } @@ -89,7 +89,7 @@ impl->voidMethodDocument(document); } -void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface3V8Internal::voidMethodDocumentMethod(info); } @@ -107,7 +107,7 @@ v8SetReturnValue(info, result); } -void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface3V8Internal::keysMethod(info); } @@ -125,7 +125,7 @@ v8SetReturnValue(info, result); } -void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface3V8Internal::valuesMethod(info); } @@ -143,7 +143,7 @@ v8SetReturnValue(info, result); } -void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface3V8Internal::entriesMethod(info); } @@ -176,7 +176,7 @@ } } -void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface3V8Internal::forEachMethod(info); } @@ -186,7 +186,7 @@ v8SetReturnValueString(info, impl->readonlyStringifierAttribute(), info.GetIsolate()); } -void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface3V8Internal::toStringMethod(info); } @@ -204,11 +204,11 @@ v8SetReturnValue(info, result); } -void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface3V8Internal::iteratorMethod(info); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -216,7 +216,7 @@ V8TestInterface3::namedPropertyGetterCustom(propertyName, info); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -224,7 +224,7 @@ V8TestInterface3::namedPropertySetterCustom(propertyName, v8Value, info); } -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -232,7 +232,7 @@ V8TestInterface3::namedPropertyDeleterCustom(propertyName, info); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +CORE_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -240,19 +240,19 @@ V8TestInterface3::namedPropertyQueryCustom(propertyName, info); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { V8TestInterface3::namedPropertyEnumeratorCustom(info); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { V8TestInterface3::indexedPropertyGetterCustom(index, info); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { V8TestInterface3::indexedPropertySetterCustom(index, v8Value, info); } -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { V8TestInterface3::indexedPropertyDeleterCustom(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp index da7325d..b187205 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
@@ -63,7 +63,7 @@ v8SetReturnValueInt(info, impl->readonlyLongAttribute()); } -void readonlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::readonlyLongAttributeAttributeGetter(info); } @@ -75,7 +75,7 @@ v8SetReturnValueInt(info, impl->longAttribute()); } -void longAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::longAttributeAttributeGetter(info); } @@ -93,7 +93,7 @@ impl->setLongAttribute(cppValue); } -void longAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceCheckSecurityV8Internal::longAttributeAttributeSetter(v8Value, info); @@ -107,7 +107,7 @@ v8SetReturnValueInt(info, impl->doNotCheckSecurityLongAttribute()); } -void doNotCheckSecurityLongAttributeAttributeGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityLongAttributeAttributeGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityLongAttributeAttributeGetter(info); } @@ -125,7 +125,7 @@ impl->setDoNotCheckSecurityLongAttribute(cppValue); } -void doNotCheckSecurityLongAttributeAttributeSetterCallback(v8::Local<v8::Name>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) { +CORE_EXPORT void doNotCheckSecurityLongAttributeAttributeSetterCallback(v8::Local<v8::Name>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityLongAttributeAttributeSetter(v8Value, info); } @@ -137,7 +137,7 @@ v8SetReturnValueInt(info, impl->doNotCheckSecurityReadonlyLongAttribute()); } -void doNotCheckSecurityReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadonlyLongAttributeAttributeGetter(info); } @@ -149,7 +149,7 @@ v8SetReturnValueInt(info, impl->doNotCheckSecurityOnSetterLongAttribute()); } -void doNotCheckSecurityOnSetterLongAttributeAttributeGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityOnSetterLongAttributeAttributeGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityOnSetterLongAttributeAttributeGetter(info); } @@ -167,7 +167,7 @@ impl->setDoNotCheckSecurityOnSetterLongAttribute(cppValue); } -void doNotCheckSecurityOnSetterLongAttributeAttributeSetterCallback(v8::Local<v8::Name>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) { +CORE_EXPORT void doNotCheckSecurityOnSetterLongAttributeAttributeSetterCallback(v8::Local<v8::Name>, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityOnSetterLongAttributeAttributeSetter(v8Value, V8CrossOriginSetterInfo(info.GetIsolate(), info.Holder())); } @@ -179,7 +179,7 @@ v8SetReturnValueInt(info, impl->doNotCheckSecurityReplaceableReadonlyLongAttribute()); } -void doNotCheckSecurityReplaceableReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityReplaceableReadonlyLongAttributeAttributeGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReplaceableReadonlyLongAttributeAttributeGetter(info); } @@ -194,7 +194,7 @@ impl->voidMethod(); } -void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::voidMethodMethod(info); } @@ -204,7 +204,7 @@ impl->doNotCheckSecurityVoidMethod(); } -void doNotCheckSecurityVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityVoidMethodMethod(info); } @@ -230,7 +230,7 @@ } } -void doNotCheckSecurityVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityVoidMethodOriginSafeMethodGetter(info); } @@ -240,7 +240,7 @@ impl->doNotCheckSecurityPerWorldBindingsVoidMethod(); } -void doNotCheckSecurityPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityPerWorldBindingsVoidMethodMethod(info); } @@ -266,7 +266,7 @@ } } -void doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetter(info); } @@ -276,7 +276,7 @@ impl->doNotCheckSecurityPerWorldBindingsVoidMethod(); } -void doNotCheckSecurityPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityPerWorldBindingsVoidMethodMethodForMainWorld(info); } @@ -302,7 +302,7 @@ } } -void doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCallbackForMainWorld(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCallbackForMainWorld(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterForMainWorld(info); } @@ -312,7 +312,7 @@ impl->doNotCheckSecurityUnforgeableVoidMethod(); } -void doNotCheckSecurityUnforgeableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityUnforgeableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodMethod(info); } @@ -338,7 +338,7 @@ } } -void doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetter(info); } @@ -358,11 +358,11 @@ V8HiddenValue::setHiddenValue(ScriptState::current(info.GetIsolate()), v8::Local<v8::Object>::Cast(info.Holder()), name.As<v8::String>(), v8Value); } -void TestInterfaceCheckSecurityOriginSafeMethodSetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) { +CORE_EXPORT void TestInterfaceCheckSecurityOriginSafeMethodSetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<void>& info) { TestInterfaceCheckSecurityV8Internal::TestInterfaceCheckSecurityOriginSafeMethodSetter(name, v8Value, info); } -bool securityCheck(v8::Local<v8::Context> accessingContext, v8::Local<v8::Object> accessedObject, v8::Local<v8::Value> data) { +CORE_EXPORT bool securityCheck(v8::Local<v8::Context> accessingContext, v8::Local<v8::Object> accessedObject, v8::Local<v8::Value> data) { TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toImpl(accessedObject); return BindingSecurity::shouldAllowAccessTo(toLocalDOMWindow(toDOMWindow(accessingContext)), impl, BindingSecurity::ErrorReportOption::DoNotReport); } @@ -400,7 +400,7 @@ {"doNotCheckSecurityUnforgeableVoidMethod", &TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetter, nullptr}, }; -void crossOriginNamedGetter(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void crossOriginNamedGetter(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -417,7 +417,7 @@ V8TestInterfaceCheckSecurity::toImpl(info.Holder())->frame()); } -void crossOriginNamedSetter(v8::Local<v8::Name> name, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void crossOriginNamedSetter(v8::Local<v8::Name> name, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -434,7 +434,7 @@ V8TestInterfaceCheckSecurity::toImpl(info.Holder())->frame()); } -void crossOriginNamedEnumerator(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void crossOriginNamedEnumerator(const v8::PropertyCallbackInfo<v8::Array>& info) { Vector<String> names; for (const auto& attribute : kCrossOriginAttributeTable) names.push_back(attribute.name);
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h index e6b1ffe..dbe6b7a 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h
@@ -28,7 +28,7 @@ STATIC_ONLY(V8TestInterfaceConstructorConstructor); public: static v8::Local<v8::FunctionTemplate> domTemplate(v8::Isolate*, const DOMWrapperWorld&); - static const WrapperTypeInfo wrapperTypeInfo; + CORE_EXPORT static const WrapperTypeInfo wrapperTypeInfo; }; class V8TestInterfaceConstructor {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp index 7abe8b3..cb8dae6 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
@@ -66,7 +66,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->location()), impl); } -void locationAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceDocumentV8Internal::locationAttributeGetter(info); } @@ -87,7 +87,7 @@ impl->setHref(currentDOMWindow(info.GetIsolate()), enteredDOMWindow(info.GetIsolate()), cppValue, exceptionState); } -void locationAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceDocumentV8Internal::locationAttributeSetter(v8Value, info);
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp index 57a35cd..1ef87291 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
@@ -62,7 +62,7 @@ v8SetReturnValueString(info, impl->readonlyStringAttribute(), info.GetIsolate()); } -void readonlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceEventInitConstructorV8Internal::readonlyStringAttributeAttributeGetter(info); } @@ -74,7 +74,7 @@ v8SetReturnValueBool(info, impl->isTrusted()); } -void isTrustedAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void isTrustedAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceEventInitConstructorV8Internal::isTrustedAttributeGetter(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h index 11588cb7..39fd0fb 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h
@@ -28,7 +28,7 @@ STATIC_ONLY(V8TestInterfaceEventTargetConstructor); public: static v8::Local<v8::FunctionTemplate> domTemplate(v8::Isolate*, const DOMWrapperWorld&); - static const WrapperTypeInfo wrapperTypeInfo; + CORE_EXPORT static const WrapperTypeInfo wrapperTypeInfo; }; class V8TestInterfaceEventTarget {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp index df42d4b..8303d04 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
@@ -65,7 +65,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->attr1()), impl); } -void attr1AttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void attr1AttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::attr1AttributeGetter(info); } @@ -87,7 +87,7 @@ impl->setAttr1(cppValue); } -void attr1AttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void attr1AttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceGarbageCollectedV8Internal::attr1AttributeSetter(v8Value, info); @@ -112,7 +112,7 @@ impl->func(arg); } -void funcMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void funcMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::funcMethod(info); } @@ -130,7 +130,7 @@ v8SetReturnValue(info, result); } -void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::keysMethod(info); } @@ -148,7 +148,7 @@ v8SetReturnValue(info, result); } -void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::valuesMethod(info); } @@ -166,7 +166,7 @@ v8SetReturnValue(info, result); } -void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::entriesMethod(info); } @@ -199,7 +199,7 @@ } } -void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::forEachMethod(info); } @@ -227,7 +227,7 @@ v8SetReturnValueBool(info, result); } -void hasMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hasMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::hasMethod(info); } @@ -255,7 +255,7 @@ v8SetReturnValue(info, result); } -void addMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void addMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::addMethod(info); } @@ -272,7 +272,7 @@ } } -void clearMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void clearMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::clearMethod(info); } @@ -300,7 +300,7 @@ v8SetReturnValueBool(info, result); } -void deleteMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deleteMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::deleteMethod(info); } @@ -318,7 +318,7 @@ v8SetReturnValue(info, result); } -void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceGarbageCollectedV8Internal::iteratorMethod(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h index 20b61d80..99aaedd 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h
@@ -27,7 +27,7 @@ STATIC_ONLY(V8TestInterfaceNamedConstructorConstructor); public: static v8::Local<v8::FunctionTemplate> domTemplate(v8::Isolate*, const DOMWrapperWorld&); - static const WrapperTypeInfo wrapperTypeInfo; + CORE_EXPORT static const WrapperTypeInfo wrapperTypeInfo; }; class V8TestInterfaceNamedConstructor {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h index 23888fe..4b25630 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h
@@ -27,7 +27,7 @@ STATIC_ONLY(V8TestInterfaceNamedConstructor2Constructor); public: static v8::Local<v8::FunctionTemplate> domTemplate(v8::Isolate*, const DOMWrapperWorld&); - static const WrapperTypeInfo wrapperTypeInfo; + CORE_EXPORT static const WrapperTypeInfo wrapperTypeInfo; }; class V8TestInterfaceNamedConstructor2 {
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp index 15d3f122..2694f86 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
@@ -65,7 +65,7 @@ v8SetReturnValueString(info, impl->nodeName(), info.GetIsolate()); } -void nodeNameAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nodeNameAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::nodeNameAttributeGetter(info); } @@ -81,7 +81,7 @@ impl->setNodeName(cppValue); } -void nodeNameAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nodeNameAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceNodeV8Internal::nodeNameAttributeSetter(v8Value, info); @@ -95,7 +95,7 @@ v8SetReturnValueString(info, impl->stringAttribute(), info.GetIsolate()); } -void stringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::stringAttributeAttributeGetter(info); } @@ -111,7 +111,7 @@ impl->setStringAttribute(cppValue); } -void stringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceNodeV8Internal::stringAttributeAttributeSetter(v8Value, info); @@ -125,7 +125,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->readonlyTestInterfaceEmptyAttribute()), impl); } -void readonlyTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::readonlyTestInterfaceEmptyAttributeAttributeGetter(info); } @@ -139,7 +139,7 @@ v8SetReturnValue(info, cppValue ? V8AbstractEventListener::cast(cppValue)->getListenerOrNull(info.GetIsolate(), impl->getExecutionContext()) : v8::Null(info.GetIsolate()).As<v8::Value>()); } -void eventHandlerAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void eventHandlerAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::eventHandlerAttributeAttributeGetter(info); } @@ -152,7 +152,7 @@ impl->setEventHandlerAttribute(V8EventListenerHelper::getEventListener(ScriptState::forReceiverObject(info), v8Value, true, ListenerFindOrCreate)); } -void eventHandlerAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void eventHandlerAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceNodeV8Internal::eventHandlerAttributeAttributeSetter(v8Value, info); @@ -166,7 +166,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->perWorldBindingsReadonlyTestInterfaceEmptyAttribute()), impl); } -void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetter(info); } @@ -178,7 +178,7 @@ v8SetReturnValueForMainWorld(info, WTF::getPtr(impl->perWorldBindingsReadonlyTestInterfaceEmptyAttribute())); } -void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterForMainWorld(info); } @@ -190,7 +190,7 @@ v8SetReturnValueString(info, impl->fastGetAttribute(HTMLNames::reflectstringattributeAttr), info.GetIsolate()); } -void reflectStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::reflectStringAttributeAttributeGetter(info); } @@ -206,7 +206,7 @@ impl->setAttribute(HTMLNames::reflectstringattributeAttr, cppValue); } -void reflectStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -222,7 +222,7 @@ v8SetReturnValueString(info, impl->getURLAttribute(HTMLNames::reflecturlstringattributeAttr), info.GetIsolate()); } -void reflectUrlStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectUrlStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::reflectUrlStringAttributeAttributeGetter(info); } @@ -238,7 +238,7 @@ impl->setAttribute(HTMLNames::reflecturlstringattributeAttr, cppValue); } -void reflectUrlStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectUrlStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -252,7 +252,7 @@ v8SetReturnValueFast(info, impl->testInterfaceEmptyMethod(), impl); } -void testInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::testInterfaceEmptyMethodMethod(info); } @@ -262,7 +262,7 @@ v8SetReturnValueFast(info, impl->perWorldBindingsTestInterfaceEmptyMethod(), impl); } -void perWorldBindingsTestInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsTestInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::perWorldBindingsTestInterfaceEmptyMethodMethod(info); } @@ -272,7 +272,7 @@ v8SetReturnValueForMainWorld(info, impl->perWorldBindingsTestInterfaceEmptyMethod()); } -void perWorldBindingsTestInterfaceEmptyMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsTestInterfaceEmptyMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::perWorldBindingsTestInterfaceEmptyMethodMethodForMainWorld(info); } @@ -299,7 +299,7 @@ v8SetReturnValueFast(info, impl->perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArg(optionalBooleanArgument), impl); } -void perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethod(info); } @@ -326,7 +326,7 @@ v8SetReturnValueForMainWorld(info, impl->perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArg(optionalBooleanArgument)); } -void perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceNodeV8Internal::perWorldBindingsTestInterfaceEmptyMethodOptionalBooleanArgMethodForMainWorld(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp index fec0b1e00..d83fb7a 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
@@ -61,7 +61,7 @@ v8SetReturnValue(info, impl->doubleAttribute()); } -void doubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceOriginTrialEnabledV8Internal::doubleAttributeAttributeGetter(info); } @@ -79,7 +79,7 @@ impl->setDoubleAttribute(cppValue); } -void doubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceOriginTrialEnabledV8Internal::doubleAttributeAttributeSetter(v8Value, info); @@ -93,7 +93,7 @@ v8SetReturnValueInt(info, impl->conditionalLongAttribute()); } -void conditionalLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void conditionalLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceOriginTrialEnabledV8Internal::conditionalLongAttributeAttributeGetter(info); } @@ -111,7 +111,7 @@ impl->setConditionalLongAttribute(cppValue); } -void conditionalLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void conditionalLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceOriginTrialEnabledV8Internal::conditionalLongAttributeAttributeSetter(v8Value, info); @@ -125,7 +125,7 @@ v8SetReturnValueInt(info, impl->conditionalReadOnlyLongAttribute()); } -void conditionalReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void conditionalReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceOriginTrialEnabledV8Internal::conditionalReadOnlyLongAttributeAttributeGetter(info); } @@ -133,7 +133,7 @@ v8SetReturnValueString(info, TestInterfaceOriginTrialEnabled::staticStringAttribute(), info.GetIsolate()); } -void staticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceOriginTrialEnabledV8Internal::staticStringAttributeAttributeGetter(info); } @@ -146,7 +146,7 @@ TestInterfaceOriginTrialEnabled::setStaticStringAttribute(cppValue); } -void staticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceOriginTrialEnabledV8Internal::staticStringAttributeAttributeSetter(v8Value, info); @@ -156,7 +156,7 @@ v8SetReturnValueInt(info, TestInterfaceOriginTrialEnabled::staticConditionalReadOnlyLongAttribute()); } -void staticConditionalReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticConditionalReadOnlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceOriginTrialEnabledV8Internal::staticConditionalReadOnlyLongAttributeAttributeGetter(info); } @@ -183,7 +183,7 @@ impl->voidMethodDoubleArgFloatArg(doubleArg, floatArg); } -void voidMethodDoubleArgFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDoubleArgFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceOriginTrialEnabledV8Internal::voidMethodDoubleArgFloatArgMethod(info); } @@ -232,7 +232,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void voidMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodPartialOverloadMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceOriginTrialEnabledV8Internal::voidMethodPartialOverloadMethod(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp index d95fc51..e7bfe3d 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
@@ -61,7 +61,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextAttribute()), impl); } -void secureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextAttributeAttributeGetter(info); } @@ -83,7 +83,7 @@ impl->setSecureContextAttribute(cppValue); } -void secureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceSecureContextV8Internal::secureContextAttributeAttributeSetter(v8Value, info); @@ -97,7 +97,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextRuntimeEnabledAttribute()), impl); } -void secureContextRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextRuntimeEnabledAttributeAttributeGetter(info); } @@ -119,7 +119,7 @@ impl->setSecureContextRuntimeEnabledAttribute(cppValue); } -void secureContextRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceSecureContextV8Internal::secureContextRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -133,7 +133,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextWindowExposedAttribute()), impl); } -void secureContextWindowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextWindowExposedAttributeAttributeGetter(info); } @@ -155,7 +155,7 @@ impl->setSecureContextWindowExposedAttribute(cppValue); } -void secureContextWindowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceSecureContextV8Internal::secureContextWindowExposedAttributeAttributeSetter(v8Value, info); @@ -169,7 +169,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextWorkerExposedAttribute()), impl); } -void secureContextWorkerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextWorkerExposedAttributeAttributeGetter(info); } @@ -191,7 +191,7 @@ impl->setSecureContextWorkerExposedAttribute(cppValue); } -void secureContextWorkerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceSecureContextV8Internal::secureContextWorkerExposedAttributeAttributeSetter(v8Value, info); @@ -205,7 +205,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextWindowExposedRuntimeEnabledAttribute()), impl); } -void secureContextWindowExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextWindowExposedRuntimeEnabledAttributeAttributeGetter(info); } @@ -227,7 +227,7 @@ impl->setSecureContextWindowExposedRuntimeEnabledAttribute(cppValue); } -void secureContextWindowExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceSecureContextV8Internal::secureContextWindowExposedRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -241,7 +241,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->secureContextWorkerExposedRuntimeEnabledAttribute()), impl); } -void secureContextWorkerExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextWorkerExposedRuntimeEnabledAttributeAttributeGetter(info); } @@ -263,7 +263,7 @@ impl->setSecureContextWorkerExposedRuntimeEnabledAttribute(cppValue); } -void secureContextWorkerExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterfaceSecureContextV8Internal::secureContextWorkerExposedRuntimeEnabledAttributeAttributeSetter(v8Value, info); @@ -275,7 +275,7 @@ impl->secureContextMethod(); } -void secureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextMethodMethod(info); } @@ -285,7 +285,7 @@ impl->secureContextRuntimeEnabledMethod(); } -void secureContextRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextRuntimeEnabledMethodMethod(info); } @@ -295,7 +295,7 @@ impl->secureContextWindowExposedMethod(); } -void secureContextWindowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextWindowExposedMethodMethod(info); } @@ -305,7 +305,7 @@ impl->secureContextWorkerExposedMethod(); } -void secureContextWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextWorkerExposedMethodMethod(info); } @@ -315,7 +315,7 @@ impl->secureContextWindowExposedRuntimeEnabledMethod(); } -void secureContextWindowExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWindowExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextWindowExposedRuntimeEnabledMethodMethod(info); } @@ -325,7 +325,7 @@ impl->secureContextWorkerExposedRuntimeEnabledMethod(); } -void secureContextWorkerExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void secureContextWorkerExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceSecureContextV8Internal::secureContextWorkerExposedRuntimeEnabledMethodMethod(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp index f3d131ce..9f2d5546 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
@@ -61,7 +61,7 @@ v8SetReturnValueString(info, impl->href(), info.GetIsolate()); } -void hrefAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hrefAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestNodeV8Internal::hrefAttributeGetter(info); } @@ -77,7 +77,7 @@ impl->setHref(cppValue); } -void hrefAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hrefAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestNodeV8Internal::hrefAttributeSetter(v8Value, info); @@ -91,7 +91,7 @@ v8SetReturnValueString(info, impl->hrefThrows(), info.GetIsolate()); } -void hrefThrowsAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hrefThrowsAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestNodeV8Internal::hrefThrowsAttributeGetter(info); } @@ -109,7 +109,7 @@ impl->setHrefThrows(cppValue, exceptionState); } -void hrefThrowsAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hrefThrowsAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestNodeV8Internal::hrefThrowsAttributeSetter(v8Value, info); @@ -123,7 +123,7 @@ v8SetReturnValueString(info, impl->hrefCallWith(), info.GetIsolate()); } -void hrefCallWithAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hrefCallWithAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestNodeV8Internal::hrefCallWithAttributeGetter(info); } @@ -141,7 +141,7 @@ impl->setHrefCallWith(executionContext, currentDOMWindow(info.GetIsolate()), enteredDOMWindow(info.GetIsolate()), cppValue); } -void hrefCallWithAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hrefCallWithAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestNodeV8Internal::hrefCallWithAttributeSetter(v8Value, info); @@ -155,7 +155,7 @@ v8SetReturnValueString(info, impl->hrefByteString(), info.GetIsolate()); } -void hrefByteStringAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hrefByteStringAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestNodeV8Internal::hrefByteStringAttributeGetter(info); } @@ -173,7 +173,7 @@ impl->setHrefByteString(cppValue); } -void hrefByteStringAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hrefByteStringAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestNodeV8Internal::hrefByteStringAttributeSetter(v8Value, info);
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp index 61e99e2..b5bd8aa 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
@@ -127,7 +127,7 @@ v8SetReturnValueString(info, impl->stringifierAttribute(), info.GetIsolate()); } -void stringifierAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringifierAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringifierAttributeAttributeGetter(info); } @@ -143,7 +143,7 @@ impl->setStringifierAttribute(cppValue); } -void stringifierAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringifierAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::stringifierAttributeAttributeSetter(v8Value, info); @@ -157,7 +157,7 @@ v8SetReturnValueString(info, impl->readonlyStringAttribute(), info.GetIsolate()); } -void readonlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::readonlyStringAttributeAttributeGetter(info); } @@ -179,7 +179,7 @@ v8SetReturnValue(info, v8Value); } -void readonlyTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::readonlyTestInterfaceEmptyAttributeAttributeGetter(info); } @@ -191,7 +191,7 @@ v8SetReturnValueInt(info, impl->readonlyLongAttribute()); } -void readonlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::readonlyLongAttributeAttributeGetter(info); } @@ -203,7 +203,7 @@ v8SetReturnValue(info, v8DateOrNaN(info.GetIsolate(), impl->dateAttribute())); } -void dateAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void dateAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::dateAttributeAttributeGetter(info); } @@ -221,7 +221,7 @@ impl->setDateAttribute(cppValue); } -void dateAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void dateAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::dateAttributeAttributeSetter(v8Value, info); @@ -235,7 +235,7 @@ v8SetReturnValueString(info, impl->stringAttribute(), info.GetIsolate()); } -void stringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringAttributeAttributeGetter(info); } @@ -251,7 +251,7 @@ impl->setStringAttribute(cppValue); } -void stringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::stringAttributeAttributeSetter(v8Value, info); @@ -265,7 +265,7 @@ v8SetReturnValueString(info, impl->byteStringAttribute(), info.GetIsolate()); } -void byteStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void byteStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::byteStringAttributeAttributeGetter(info); } @@ -283,7 +283,7 @@ impl->setByteStringAttribute(cppValue); } -void byteStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void byteStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::byteStringAttributeAttributeSetter(v8Value, info); @@ -297,7 +297,7 @@ v8SetReturnValueString(info, impl->usvStringAttribute(), info.GetIsolate()); } -void usvStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void usvStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::usvStringAttributeAttributeGetter(info); } @@ -315,7 +315,7 @@ impl->setUsvStringAttribute(cppValue); } -void usvStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void usvStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::usvStringAttributeAttributeSetter(v8Value, info); @@ -329,7 +329,7 @@ v8SetReturnValue(info, static_cast<double>(impl->domTimeStampAttribute())); } -void domTimeStampAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void domTimeStampAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::domTimeStampAttributeAttributeGetter(info); } @@ -347,7 +347,7 @@ impl->setDomTimeStampAttribute(cppValue); } -void domTimeStampAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void domTimeStampAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::domTimeStampAttributeAttributeSetter(v8Value, info); @@ -361,7 +361,7 @@ v8SetReturnValueBool(info, impl->booleanAttribute()); } -void booleanAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void booleanAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::booleanAttributeAttributeGetter(info); } @@ -379,7 +379,7 @@ impl->setBooleanAttribute(cppValue); } -void booleanAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void booleanAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::booleanAttributeAttributeSetter(v8Value, info); @@ -393,7 +393,7 @@ v8SetReturnValueInt(info, impl->byteAttribute()); } -void byteAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void byteAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::byteAttributeAttributeGetter(info); } @@ -411,7 +411,7 @@ impl->setByteAttribute(cppValue); } -void byteAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void byteAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::byteAttributeAttributeSetter(v8Value, info); @@ -425,7 +425,7 @@ v8SetReturnValue(info, impl->doubleAttribute()); } -void doubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::doubleAttributeAttributeGetter(info); } @@ -443,7 +443,7 @@ impl->setDoubleAttribute(cppValue); } -void doubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::doubleAttributeAttributeSetter(v8Value, info); @@ -457,7 +457,7 @@ v8SetReturnValue(info, impl->floatAttribute()); } -void floatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void floatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::floatAttributeAttributeGetter(info); } @@ -475,7 +475,7 @@ impl->setFloatAttribute(cppValue); } -void floatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void floatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::floatAttributeAttributeSetter(v8Value, info); @@ -489,7 +489,7 @@ v8SetReturnValueInt(info, impl->longAttribute()); } -void longAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longAttributeAttributeGetter(info); } @@ -507,7 +507,7 @@ impl->setLongAttribute(cppValue); } -void longAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::longAttributeAttributeSetter(v8Value, info); @@ -521,7 +521,7 @@ v8SetReturnValue(info, static_cast<double>(impl->longLongAttribute())); } -void longLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longLongAttributeAttributeGetter(info); } @@ -539,7 +539,7 @@ impl->setLongLongAttribute(cppValue); } -void longLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::longLongAttributeAttributeSetter(v8Value, info); @@ -553,7 +553,7 @@ v8SetReturnValueUnsigned(info, impl->octetAttribute()); } -void octetAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void octetAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::octetAttributeAttributeGetter(info); } @@ -571,7 +571,7 @@ impl->setOctetAttribute(cppValue); } -void octetAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void octetAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::octetAttributeAttributeSetter(v8Value, info); @@ -585,7 +585,7 @@ v8SetReturnValueInt(info, impl->shortAttribute()); } -void shortAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void shortAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::shortAttributeAttributeGetter(info); } @@ -603,7 +603,7 @@ impl->setShortAttribute(cppValue); } -void shortAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void shortAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::shortAttributeAttributeSetter(v8Value, info); @@ -617,7 +617,7 @@ v8SetReturnValue(info, impl->unrestrictedDoubleAttribute()); } -void unrestrictedDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unrestrictedDoubleAttributeAttributeGetter(info); } @@ -635,7 +635,7 @@ impl->setUnrestrictedDoubleAttribute(cppValue); } -void unrestrictedDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unrestrictedDoubleAttributeAttributeSetter(v8Value, info); @@ -649,7 +649,7 @@ v8SetReturnValue(info, impl->unrestrictedFloatAttribute()); } -void unrestrictedFloatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedFloatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unrestrictedFloatAttributeAttributeGetter(info); } @@ -667,7 +667,7 @@ impl->setUnrestrictedFloatAttribute(cppValue); } -void unrestrictedFloatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedFloatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unrestrictedFloatAttributeAttributeSetter(v8Value, info); @@ -681,7 +681,7 @@ v8SetReturnValueUnsigned(info, impl->unsignedLongAttribute()); } -void unsignedLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unsignedLongAttributeAttributeGetter(info); } @@ -699,7 +699,7 @@ impl->setUnsignedLongAttribute(cppValue); } -void unsignedLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unsignedLongAttributeAttributeSetter(v8Value, info); @@ -713,7 +713,7 @@ v8SetReturnValue(info, static_cast<double>(impl->unsignedLongLongAttribute())); } -void unsignedLongLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedLongLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unsignedLongLongAttributeAttributeGetter(info); } @@ -731,7 +731,7 @@ impl->setUnsignedLongLongAttribute(cppValue); } -void unsignedLongLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedLongLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unsignedLongLongAttributeAttributeSetter(v8Value, info); @@ -745,7 +745,7 @@ v8SetReturnValueUnsigned(info, impl->unsignedShortAttribute()); } -void unsignedShortAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedShortAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unsignedShortAttributeAttributeGetter(info); } @@ -763,7 +763,7 @@ impl->setUnsignedShortAttribute(cppValue); } -void unsignedShortAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedShortAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unsignedShortAttributeAttributeSetter(v8Value, info); @@ -777,7 +777,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceEmptyAttribute()), impl); } -void testInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceEmptyAttributeAttributeGetter(info); } @@ -799,7 +799,7 @@ impl->setTestInterfaceEmptyAttribute(cppValue); } -void testInterfaceEmptyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testInterfaceEmptyAttributeAttributeSetter(v8Value, info); @@ -813,7 +813,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->testObjectAttribute()), impl); } -void testObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testObjectAttributeAttributeGetter(info); } @@ -835,7 +835,7 @@ impl->setTestObjectAttribute(cppValue); } -void testObjectAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testObjectAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testObjectAttributeAttributeSetter(v8Value, info); @@ -849,7 +849,7 @@ v8SetReturnValueInt(info, impl->cssAttribute()); } -void cssAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cssAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::cssAttributeAttributeGetter(info); } @@ -867,7 +867,7 @@ impl->setCSSAttribute(cppValue); } -void cssAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cssAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::cssAttributeAttributeSetter(v8Value, info); @@ -881,7 +881,7 @@ v8SetReturnValueInt(info, impl->imeAttribute()); } -void imeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void imeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::imeAttributeAttributeGetter(info); } @@ -899,7 +899,7 @@ impl->setIMEAttribute(cppValue); } -void imeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void imeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::imeAttributeAttributeSetter(v8Value, info); @@ -913,7 +913,7 @@ v8SetReturnValueInt(info, impl->svgAttribute()); } -void svgAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void svgAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::svgAttributeAttributeGetter(info); } @@ -931,7 +931,7 @@ impl->setSVGAttribute(cppValue); } -void svgAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void svgAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::svgAttributeAttributeSetter(v8Value, info); @@ -945,7 +945,7 @@ v8SetReturnValueInt(info, impl->xmlAttribute()); } -void xmlAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void xmlAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::xmlAttributeAttributeGetter(info); } @@ -963,7 +963,7 @@ impl->setXMLAttribute(cppValue); } -void xmlAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void xmlAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::xmlAttributeAttributeSetter(v8Value, info); @@ -977,7 +977,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->nodeFilterAttribute()), impl); } -void nodeFilterAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nodeFilterAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nodeFilterAttributeAttributeGetter(info); } @@ -991,7 +991,7 @@ impl->setNodeFilterAttribute(cppValue); } -void nodeFilterAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nodeFilterAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::nodeFilterAttributeAttributeSetter(v8Value, info); @@ -1005,7 +1005,7 @@ v8SetReturnValue(info, v8Deserialize(info.GetIsolate(), WTF::getPtr(impl->serializedScriptValueAttribute()))); } -void serializedScriptValueAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void serializedScriptValueAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::serializedScriptValueAttributeAttributeGetter(info); } @@ -1023,7 +1023,7 @@ impl->setSerializedScriptValueAttribute(cppValue); } -void serializedScriptValueAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void serializedScriptValueAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::serializedScriptValueAttributeAttributeSetter(v8Value, info); @@ -1037,7 +1037,7 @@ v8SetReturnValue(info, impl->anyAttribute().v8Value()); } -void anyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void anyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::anyAttributeAttributeGetter(info); } @@ -1051,7 +1051,7 @@ impl->setAnyAttribute(cppValue); } -void anyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void anyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::anyAttributeAttributeSetter(v8Value, info); @@ -1065,7 +1065,7 @@ v8SetReturnValue(info, impl->promiseAttribute().v8Value()); } -void promiseAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void promiseAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::promiseAttributeAttributeGetter(info); } @@ -1079,7 +1079,7 @@ impl->setPromiseAttribute(cppValue); } -void promiseAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void promiseAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::promiseAttributeAttributeSetter(v8Value, info); @@ -1093,7 +1093,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->windowAttribute()), impl); } -void windowAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void windowAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::windowAttributeAttributeGetter(info); } @@ -1115,7 +1115,7 @@ impl->setWindowAttribute(cppValue); } -void windowAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void windowAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::windowAttributeAttributeSetter(v8Value, info); @@ -1129,7 +1129,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->documentAttribute()), impl); } -void documentAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void documentAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::documentAttributeAttributeGetter(info); } @@ -1151,7 +1151,7 @@ impl->setDocumentAttribute(cppValue); } -void documentAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void documentAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::documentAttributeAttributeSetter(v8Value, info); @@ -1165,7 +1165,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->documentFragmentAttribute()), impl); } -void documentFragmentAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void documentFragmentAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::documentFragmentAttributeAttributeGetter(info); } @@ -1187,7 +1187,7 @@ impl->setDocumentFragmentAttribute(cppValue); } -void documentFragmentAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void documentFragmentAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::documentFragmentAttributeAttributeSetter(v8Value, info); @@ -1201,7 +1201,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->documentTypeAttribute()), impl); } -void documentTypeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void documentTypeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::documentTypeAttributeAttributeGetter(info); } @@ -1223,7 +1223,7 @@ impl->setDocumentTypeAttribute(cppValue); } -void documentTypeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void documentTypeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::documentTypeAttributeAttributeSetter(v8Value, info); @@ -1237,7 +1237,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->elementAttribute()), impl); } -void elementAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void elementAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::elementAttributeAttributeGetter(info); } @@ -1259,7 +1259,7 @@ impl->setElementAttribute(cppValue); } -void elementAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void elementAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::elementAttributeAttributeSetter(v8Value, info); @@ -1273,7 +1273,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->nodeAttribute()), impl); } -void nodeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nodeAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nodeAttributeAttributeGetter(info); } @@ -1295,7 +1295,7 @@ impl->setNodeAttribute(cppValue); } -void nodeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nodeAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::nodeAttributeAttributeSetter(v8Value, info); @@ -1309,7 +1309,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->shadowRootAttribute()), impl); } -void shadowRootAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void shadowRootAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::shadowRootAttributeAttributeGetter(info); } @@ -1331,7 +1331,7 @@ impl->setShadowRootAttribute(cppValue); } -void shadowRootAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void shadowRootAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::shadowRootAttributeAttributeSetter(v8Value, info); @@ -1345,7 +1345,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->arrayBufferAttribute()), impl); } -void arrayBufferAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void arrayBufferAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::arrayBufferAttributeAttributeGetter(info); } @@ -1367,7 +1367,7 @@ impl->setArrayBufferAttribute(cppValue); } -void arrayBufferAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void arrayBufferAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::arrayBufferAttributeAttributeSetter(v8Value, info); @@ -1381,7 +1381,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->float32ArrayAttribute()), impl); } -void float32ArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void float32ArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::float32ArrayAttributeAttributeGetter(info); } @@ -1403,7 +1403,7 @@ impl->setFloat32ArrayAttribute(cppValue); } -void float32ArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void float32ArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::float32ArrayAttributeAttributeSetter(v8Value, info); @@ -1417,7 +1417,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->uint8ArrayAttribute()), impl); } -void uint8ArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void uint8ArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::uint8ArrayAttributeAttributeGetter(info); } @@ -1439,7 +1439,7 @@ impl->setUint8ArrayAttribute(cppValue); } -void uint8ArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void uint8ArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::uint8ArrayAttributeAttributeSetter(v8Value, info); @@ -1453,7 +1453,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->self()), impl); } -void selfAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void selfAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::selfAttributeGetter(info); } @@ -1465,7 +1465,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->readonlyEventTargetAttribute()), impl); } -void readonlyEventTargetAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyEventTargetAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::readonlyEventTargetAttributeAttributeGetter(info); } @@ -1477,7 +1477,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->readonlyEventTargetOrNullAttribute()), impl); } -void readonlyEventTargetOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyEventTargetOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::readonlyEventTargetOrNullAttributeAttributeGetter(info); } @@ -1489,7 +1489,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->readonlyWindowAttribute()), impl); } -void readonlyWindowAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyWindowAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::readonlyWindowAttributeAttributeGetter(info); } @@ -1501,7 +1501,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->htmlCollectionAttribute()), impl); } -void htmlCollectionAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void htmlCollectionAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::htmlCollectionAttributeAttributeGetter(info); } @@ -1513,7 +1513,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->htmlElementAttribute()), impl); } -void htmlElementAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void htmlElementAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::htmlElementAttributeAttributeGetter(info); } @@ -1525,7 +1525,7 @@ v8SetReturnValue(info, ToV8(impl->stringArrayAttribute(), info.Holder(), info.GetIsolate())); } -void stringArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringArrayAttributeAttributeGetter(info); } @@ -1543,7 +1543,7 @@ impl->setStringArrayAttribute(cppValue); } -void stringArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::stringArrayAttributeAttributeSetter(v8Value, info); @@ -1557,7 +1557,7 @@ v8SetReturnValue(info, ToV8(impl->testInterfaceEmptyArrayAttribute(), info.Holder(), info.GetIsolate())); } -void testInterfaceEmptyArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceEmptyArrayAttributeAttributeGetter(info); } @@ -1575,7 +1575,7 @@ impl->setTestInterfaceEmptyArrayAttribute(cppValue); } -void testInterfaceEmptyArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testInterfaceEmptyArrayAttributeAttributeSetter(v8Value, info); @@ -1589,7 +1589,7 @@ v8SetReturnValue(info, ToV8(impl->floatArrayAttribute(), info.Holder(), info.GetIsolate())); } -void floatArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void floatArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::floatArrayAttributeAttributeGetter(info); } @@ -1607,7 +1607,7 @@ impl->setFloatArrayAttribute(cppValue); } -void floatArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void floatArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::floatArrayAttributeAttributeSetter(v8Value, info); @@ -1621,7 +1621,7 @@ v8SetReturnValue(info, freezeV8Object(ToV8(impl->stringFrozenArrayAttribute(), info.Holder(), info.GetIsolate()), info.GetIsolate())); } -void stringFrozenArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringFrozenArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringFrozenArrayAttributeAttributeGetter(info); } @@ -1639,7 +1639,7 @@ impl->setStringFrozenArrayAttribute(cppValue); } -void stringFrozenArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringFrozenArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::stringFrozenArrayAttributeAttributeSetter(v8Value, info); @@ -1653,7 +1653,7 @@ v8SetReturnValue(info, freezeV8Object(ToV8(impl->testInterfaceEmptyFrozenArrayAttribute(), info.Holder(), info.GetIsolate()), info.GetIsolate())); } -void testInterfaceEmptyFrozenArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyFrozenArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceEmptyFrozenArrayAttributeAttributeGetter(info); } @@ -1671,7 +1671,7 @@ impl->setTestInterfaceEmptyFrozenArrayAttribute(cppValue); } -void testInterfaceEmptyFrozenArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyFrozenArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testInterfaceEmptyFrozenArrayAttributeAttributeSetter(v8Value, info); @@ -1685,7 +1685,7 @@ v8SetReturnValueStringOrNull(info, impl->stringOrNullAttribute(), info.GetIsolate()); } -void stringOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringOrNullAttributeAttributeGetter(info); } @@ -1701,7 +1701,7 @@ impl->setStringOrNullAttribute(cppValue); } -void stringOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::stringOrNullAttributeAttributeSetter(v8Value, info); @@ -1724,7 +1724,7 @@ v8SetReturnValueInt(info, cppValue); } -void longOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longOrNullAttributeAttributeGetter(info); } @@ -1742,7 +1742,7 @@ impl->setLongOrNullAttribute(cppValue); } -void longOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::longOrNullAttributeAttributeSetter(v8Value, info); @@ -1756,7 +1756,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceOrNullAttribute()), impl); } -void testInterfaceOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceOrNullAttributeAttributeGetter(info); } @@ -1778,7 +1778,7 @@ impl->setTestInterfaceOrNullAttribute(cppValue); } -void testInterfaceOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testInterfaceOrNullAttributeAttributeSetter(v8Value, info); @@ -1792,7 +1792,7 @@ v8SetReturnValueString(info, impl->testEnumAttribute(), info.GetIsolate()); } -void testEnumAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testEnumAttributeAttributeGetter(info); } @@ -1824,7 +1824,7 @@ impl->setTestEnumAttribute(cppValue); } -void testEnumAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testEnumAttributeAttributeSetter(v8Value, info); @@ -1838,7 +1838,7 @@ v8SetReturnValueStringOrNull(info, impl->testEnumOrNullAttribute(), info.GetIsolate()); } -void testEnumOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testEnumOrNullAttributeAttributeGetter(info); } @@ -1870,7 +1870,7 @@ impl->setTestEnumOrNullAttribute(cppValue); } -void testEnumOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testEnumOrNullAttributeAttributeSetter(v8Value, info); @@ -1880,7 +1880,7 @@ v8SetReturnValueString(info, TestObject::staticStringAttribute(), info.GetIsolate()); } -void staticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::staticStringAttributeAttributeGetter(info); } @@ -1893,7 +1893,7 @@ TestObject::setStaticStringAttribute(cppValue); } -void staticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::staticStringAttributeAttributeSetter(v8Value, info); @@ -1903,7 +1903,7 @@ v8SetReturnValueInt(info, TestObject::staticLongAttribute()); } -void staticLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::staticLongAttributeAttributeGetter(info); } @@ -1918,7 +1918,7 @@ TestObject::setStaticLongAttribute(cppValue); } -void staticLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::staticLongAttributeAttributeSetter(v8Value, info); @@ -1934,7 +1934,7 @@ v8SetReturnValue(info, cppValue ? V8AbstractEventListener::cast(cppValue)->getListenerOrNull(info.GetIsolate(), impl->getExecutionContext()) : v8::Null(info.GetIsolate()).As<v8::Value>()); } -void eventHandlerAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void eventHandlerAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::eventHandlerAttributeAttributeGetter(info); } @@ -1948,7 +1948,7 @@ impl->setEventHandlerAttribute(V8EventListenerHelper::getEventListener(ScriptState::forReceiverObject(info), v8Value, true, ListenerFindOrCreate)); } -void eventHandlerAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void eventHandlerAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::eventHandlerAttributeAttributeSetter(v8Value, info); @@ -1965,7 +1965,7 @@ v8SetReturnValue(info, result); } -void doubleOrStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleOrStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::doubleOrStringAttributeAttributeGetter(info); } @@ -1984,7 +1984,7 @@ impl->setDoubleOrStringAttribute(cppValue); } -void doubleOrStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleOrStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::doubleOrStringAttributeAttributeSetter(v8Value, info); @@ -2001,7 +2001,7 @@ v8SetReturnValue(info, result); } -void doubleOrStringOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleOrStringOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::doubleOrStringOrNullAttributeAttributeGetter(info); } @@ -2020,7 +2020,7 @@ impl->setDoubleOrStringOrNullAttribute(cppValue); } -void doubleOrStringOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleOrStringOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::doubleOrStringOrNullAttributeAttributeSetter(v8Value, info); @@ -2037,7 +2037,7 @@ v8SetReturnValue(info, result); } -void doubleOrNullStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleOrNullStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::doubleOrNullStringAttributeAttributeGetter(info); } @@ -2056,7 +2056,7 @@ impl->setDoubleOrNullStringAttribute(cppValue); } -void doubleOrNullStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleOrNullStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::doubleOrNullStringAttributeAttributeSetter(v8Value, info); @@ -2073,7 +2073,7 @@ v8SetReturnValue(info, result); } -void stringOrStringSequenceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringOrStringSequenceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringOrStringSequenceAttributeAttributeGetter(info); } @@ -2092,7 +2092,7 @@ impl->setStringOrStringSequenceAttribute(cppValue); } -void stringOrStringSequenceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringOrStringSequenceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::stringOrStringSequenceAttributeAttributeSetter(v8Value, info); @@ -2109,7 +2109,7 @@ v8SetReturnValue(info, result); } -void testEnumOrDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumOrDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testEnumOrDoubleAttributeAttributeGetter(info); } @@ -2128,7 +2128,7 @@ impl->setTestEnumOrDoubleAttribute(cppValue); } -void testEnumOrDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumOrDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testEnumOrDoubleAttributeAttributeSetter(v8Value, info); @@ -2145,7 +2145,7 @@ v8SetReturnValue(info, result); } -void unrestrictedDoubleOrStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedDoubleOrStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unrestrictedDoubleOrStringAttributeAttributeGetter(info); } @@ -2164,7 +2164,7 @@ impl->setUnrestrictedDoubleOrStringAttribute(cppValue); } -void unrestrictedDoubleOrStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unrestrictedDoubleOrStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unrestrictedDoubleOrStringAttributeAttributeSetter(v8Value, info); @@ -2178,7 +2178,7 @@ v8SetReturnValueInt(info, impl->activityLoggingAccessForAllWorldsLongAttribute()); } -void activityLoggingAccessForAllWorldsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessForAllWorldsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -2202,7 +2202,7 @@ impl->setActivityLoggingAccessForAllWorldsLongAttribute(cppValue); } -void activityLoggingAccessForAllWorldsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessForAllWorldsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; ScriptState* scriptState = ScriptState::forReceiverObject(info); @@ -2222,7 +2222,7 @@ v8SetReturnValueInt(info, impl->activityLoggingGetterForAllWorldsLongAttribute()); } -void activityLoggingGetterForAllWorldsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterForAllWorldsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -2246,7 +2246,7 @@ impl->setActivityLoggingGetterForAllWorldsLongAttribute(cppValue); } -void activityLoggingGetterForAllWorldsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterForAllWorldsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::activityLoggingGetterForAllWorldsLongAttributeAttributeSetter(v8Value, info); @@ -2260,7 +2260,7 @@ v8SetReturnValueInt(info, impl->activityLoggingSetterForAllWorldsLongAttribute()); } -void activityLoggingSetterForAllWorldsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingSetterForAllWorldsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::activityLoggingSetterForAllWorldsLongAttributeAttributeGetter(info); } @@ -2278,7 +2278,7 @@ impl->setActivityLoggingSetterForAllWorldsLongAttribute(cppValue); } -void activityLoggingSetterForAllWorldsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingSetterForAllWorldsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; ScriptState* scriptState = ScriptState::forReceiverObject(info); @@ -2314,7 +2314,7 @@ v8SetReturnValue(info, v8Value); } -void cachedAttributeAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cachedAttributeAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::cachedAttributeAnyAttributeAttributeGetter(info); } @@ -2332,7 +2332,7 @@ V8HiddenValue::deleteHiddenValue(ScriptState::forFunctionObject(info), holder, v8AtomicString(info.GetIsolate(), "cachedAttributeAnyAttribute")); } -void cachedAttributeAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cachedAttributeAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::cachedAttributeAnyAttributeAttributeSetter(v8Value, info); @@ -2362,7 +2362,7 @@ v8SetReturnValue(info, v8Value); } -void cachedArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cachedArrayAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::cachedArrayAttributeAttributeGetter(info); } @@ -2384,7 +2384,7 @@ V8HiddenValue::deleteHiddenValue(ScriptState::forFunctionObject(info), holder, v8AtomicString(info.GetIsolate(), "cachedArrayAttribute")); } -void cachedArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cachedArrayAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::cachedArrayAttributeAttributeSetter(v8Value, info); @@ -2414,7 +2414,7 @@ v8SetReturnValue(info, v8Value); } -void cachedStringOrNoneAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cachedStringOrNoneAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::cachedStringOrNoneAttributeAttributeGetter(info); } @@ -2434,7 +2434,7 @@ V8HiddenValue::deleteHiddenValue(ScriptState::forFunctionObject(info), holder, v8AtomicString(info.GetIsolate(), "cachedStringOrNoneAttribute")); } -void cachedStringOrNoneAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cachedStringOrNoneAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::cachedStringOrNoneAttributeAttributeSetter(v8Value, info); @@ -2450,7 +2450,7 @@ v8SetReturnValue(info, impl->callWithExecutionContextAnyAttribute(executionContext).v8Value()); } -void callWithExecutionContextAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithExecutionContextAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithExecutionContextAnyAttributeAttributeGetter(info); } @@ -2466,7 +2466,7 @@ impl->setCallWithExecutionContextAnyAttribute(executionContext, cppValue); } -void callWithExecutionContextAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithExecutionContextAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::callWithExecutionContextAnyAttributeAttributeSetter(v8Value, info); @@ -2482,7 +2482,7 @@ v8SetReturnValue(info, impl->callWithScriptStateAnyAttribute(scriptState).v8Value()); } -void callWithScriptStateAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithScriptStateAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithScriptStateAnyAttributeAttributeGetter(info); } @@ -2498,7 +2498,7 @@ impl->setCallWithScriptStateAnyAttribute(scriptState, cppValue); } -void callWithScriptStateAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithScriptStateAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::callWithScriptStateAnyAttributeAttributeSetter(v8Value, info); @@ -2515,7 +2515,7 @@ v8SetReturnValue(info, impl->callWithExecutionContextAndScriptStateAnyAttribute(scriptState, executionContext).v8Value()); } -void callWithExecutionContextAndScriptStateAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithExecutionContextAndScriptStateAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithExecutionContextAndScriptStateAnyAttributeAttributeGetter(info); } @@ -2533,7 +2533,7 @@ impl->setCallWithExecutionContextAndScriptStateAnyAttribute(scriptState, executionContext, cppValue); } -void callWithExecutionContextAndScriptStateAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithExecutionContextAndScriptStateAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::callWithExecutionContextAndScriptStateAnyAttributeAttributeSetter(v8Value, info); @@ -2554,33 +2554,33 @@ v8SetReturnValue(info, ToV8(WTF::getPtr(impl->checkSecurityForNodeReadonlyDocumentAttribute()), ToV8(impl->contentWindow(), v8::Local<v8::Object>(), info.GetIsolate()).As<v8::Object>(), info.GetIsolate())); } -void checkSecurityForNodeReadonlyDocumentAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void checkSecurityForNodeReadonlyDocumentAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::checkSecurityForNodeReadonlyDocumentAttributeAttributeGetter(info); } -void testInterfaceEmptyConstructorAttributeConstructorGetterCallback(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyConstructorAttributeConstructorGetterCallback(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info) { Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseCounter::deprecatedTestInterfaceEmptyConstructorAttribute); v8ConstructorAttributeGetter(property, info); } -void measureAsFeatureNameTestInterfaceEmptyConstructorAttributeConstructorGetterCallback(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measureAsFeatureNameTestInterfaceEmptyConstructorAttributeConstructorGetterCallback(v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value>& info) { UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::FeatureName); v8ConstructorAttributeGetter(property, info); } -void customObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { V8TestObject::customObjectAttributeAttributeGetterCustom(info); } -void customObjectAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customObjectAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V8TestObject::customObjectAttributeAttributeSetterCustom(v8Value, info); } -void customGetterLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customGetterLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { V8TestObject::customGetterLongAttributeAttributeGetterCustom(info); } @@ -2598,13 +2598,13 @@ impl->setCustomGetterLongAttribute(cppValue); } -void customGetterLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customGetterLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::customGetterLongAttributeAttributeSetter(v8Value, info); } -void customGetterReadonlyObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customGetterReadonlyObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { V8TestObject::customGetterReadonlyObjectAttributeAttributeGetterCustom(info); } @@ -2616,11 +2616,11 @@ v8SetReturnValueInt(info, impl->customSetterLongAttribute()); } -void customSetterLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customSetterLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::customSetterLongAttributeAttributeGetter(info); } -void customSetterLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customSetterLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V8TestObject::customSetterLongAttributeAttributeSetterCustom(v8Value, info); @@ -2634,7 +2634,7 @@ v8SetReturnValueInt(info, impl->deprecatedLongAttribute()); } -void deprecatedLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deprecatedLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseCounter::LongAttribute); TestObjectV8Internal::deprecatedLongAttributeAttributeGetter(info); @@ -2654,7 +2654,7 @@ impl->setDeprecatedLongAttribute(cppValue); } -void deprecatedLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deprecatedLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseCounter::LongAttribute); @@ -2670,7 +2670,7 @@ v8SetReturnValueInt(info, impl->enforceRangeLongAttribute()); } -void enforceRangeLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void enforceRangeLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::enforceRangeLongAttributeAttributeGetter(info); } @@ -2688,7 +2688,7 @@ impl->setEnforceRangeLongAttribute(cppValue); } -void enforceRangeLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void enforceRangeLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::enforceRangeLongAttributeAttributeSetter(v8Value, info); @@ -2702,7 +2702,7 @@ v8SetReturnValueInt(info, impl->implementedAsName()); } -void implementedAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementedAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::implementedAsLongAttributeAttributeGetter(info); } @@ -2720,23 +2720,23 @@ impl->setImplementedAsName(cppValue); } -void implementedAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementedAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::implementedAsLongAttributeAttributeSetter(v8Value, info); } -void customImplementedAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customImplementedAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { V8TestObject::customImplementedAsLongAttributeAttributeGetterCustom(info); } -void customImplementedAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customImplementedAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V8TestObject::customImplementedAsLongAttributeAttributeSetterCustom(v8Value, info); } -void customGetterImplementedAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customGetterImplementedAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { V8TestObject::customGetterImplementedAsLongAttributeAttributeGetterCustom(info); } @@ -2754,7 +2754,7 @@ impl->setImplementedAsNameWithCustomGetter(cppValue); } -void customGetterImplementedAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customGetterImplementedAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::customGetterImplementedAsLongAttributeAttributeSetter(v8Value, info); @@ -2768,11 +2768,11 @@ v8SetReturnValueInt(info, impl->implementedAsNameWithCustomGetter()); } -void customSetterImplementedAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customSetterImplementedAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::customSetterImplementedAsLongAttributeAttributeGetter(info); } -void customSetterImplementedAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customSetterImplementedAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V8TestObject::customSetterImplementedAsLongAttributeAttributeSetterCustom(v8Value, info); @@ -2786,7 +2786,7 @@ v8SetReturnValueInt(info, impl->measureAsLongAttribute()); } -void measureAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measureAsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::TestFeature); TestObjectV8Internal::measureAsLongAttributeAttributeGetter(info); @@ -2806,7 +2806,7 @@ impl->setMeasureAsLongAttribute(cppValue); } -void measureAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measureAsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::TestFeature); @@ -2822,7 +2822,7 @@ v8SetReturnValueInt(info, impl->notEnumerableLongAttribute()); } -void notEnumerableLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void notEnumerableLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::notEnumerableLongAttributeAttributeGetter(info); } @@ -2840,7 +2840,7 @@ impl->setNotEnumerableLongAttribute(cppValue); } -void notEnumerableLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void notEnumerableLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::notEnumerableLongAttributeAttributeSetter(v8Value, info); @@ -2854,7 +2854,7 @@ v8SetReturnValueInt(info, impl->originTrialEnabledLongAttribute()); } -void originTrialEnabledLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void originTrialEnabledLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::originTrialEnabledLongAttributeAttributeGetter(info); } @@ -2872,7 +2872,7 @@ impl->setOriginTrialEnabledLongAttribute(cppValue); } -void originTrialEnabledLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void originTrialEnabledLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::originTrialEnabledLongAttributeAttributeSetter(v8Value, info); @@ -2896,7 +2896,7 @@ v8SetReturnValue(info, v8Value); } -void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetter(info); } @@ -2918,7 +2918,7 @@ v8SetReturnValue(info, v8Value); } -void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsReadonlyTestInterfaceEmptyAttributeAttributeGetterForMainWorld(info); } @@ -2930,7 +2930,7 @@ v8SetReturnValueInt(info, impl->activityLoggingAccessPerWorldBindingsLongAttribute()); } -void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -2954,7 +2954,7 @@ impl->setActivityLoggingAccessPerWorldBindingsLongAttribute(cppValue); } -void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; ScriptState* scriptState = ScriptState::forReceiverObject(info); @@ -2974,7 +2974,7 @@ v8SetReturnValueInt(info, impl->activityLoggingAccessPerWorldBindingsLongAttribute()); } -void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -2998,7 +2998,7 @@ impl->setActivityLoggingAccessPerWorldBindingsLongAttribute(cppValue); } -void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; ScriptState* scriptState = ScriptState::forReceiverObject(info); @@ -3018,7 +3018,7 @@ v8SetReturnValueInt(info, impl->activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute()); } -void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -3042,7 +3042,7 @@ impl->setActivityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue); } -void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; ScriptState* scriptState = ScriptState::forReceiverObject(info); @@ -3062,7 +3062,7 @@ v8SetReturnValueInt(info, impl->activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute()); } -void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info); } @@ -3080,7 +3080,7 @@ impl->setActivityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue); } -void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::activityLoggingAccessForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8Value, info); @@ -3094,7 +3094,7 @@ v8SetReturnValueInt(info, impl->activityLoggingGetterPerWorldBindingsLongAttribute()); } -void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -3118,7 +3118,7 @@ impl->setActivityLoggingGetterPerWorldBindingsLongAttribute(cppValue); } -void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetter(v8Value, info); @@ -3132,7 +3132,7 @@ v8SetReturnValueInt(info, impl->activityLoggingGetterPerWorldBindingsLongAttribute()); } -void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -3156,7 +3156,7 @@ impl->setActivityLoggingGetterPerWorldBindingsLongAttribute(cppValue); } -void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::activityLoggingGetterPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8Value, info); @@ -3170,7 +3170,7 @@ v8SetReturnValueInt(info, impl->activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute()); } -void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -3194,7 +3194,7 @@ impl->setActivityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue); } -void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetter(v8Value, info); @@ -3208,7 +3208,7 @@ v8SetReturnValueInt(info, impl->activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute()); } -void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeGetterForMainWorld(info); } @@ -3226,7 +3226,7 @@ impl->setActivityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttribute(cppValue); } -void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::activityLoggingGetterForIsolatedWorldsPerWorldBindingsLongAttributeAttributeSetterForMainWorld(v8Value, info); @@ -3240,7 +3240,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->location()), impl); } -void locationAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationAttributeGetter(info); } @@ -3259,7 +3259,7 @@ impl->setHref(cppValue); } -void locationAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationAttributeSetter(v8Value, info); @@ -3273,7 +3273,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->locationWithException()), impl); } -void locationWithExceptionAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationWithExceptionAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationWithExceptionAttributeGetter(info); } @@ -3294,7 +3294,7 @@ impl->setHrefThrows(cppValue, exceptionState); } -void locationWithExceptionAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationWithExceptionAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationWithExceptionAttributeSetter(v8Value, info); @@ -3308,7 +3308,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->locationWithCallWith()), impl); } -void locationWithCallWithAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationWithCallWithAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationWithCallWithAttributeGetter(info); } @@ -3329,7 +3329,7 @@ impl->setHrefCallWith(executionContext, currentDOMWindow(info.GetIsolate()), enteredDOMWindow(info.GetIsolate()), cppValue); } -void locationWithCallWithAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationWithCallWithAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationWithCallWithAttributeSetter(v8Value, info); @@ -3343,7 +3343,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->locationByteString()), impl); } -void locationByteStringAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationByteStringAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationByteStringAttributeGetter(info); } @@ -3364,7 +3364,7 @@ impl->setHrefByteString(cppValue); } -void locationByteStringAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationByteStringAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationByteStringAttributeSetter(v8Value, info); @@ -3378,7 +3378,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->locationWithPerWorldBindings()), impl); } -void locationWithPerWorldBindingsAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationWithPerWorldBindingsAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationWithPerWorldBindingsAttributeGetter(info); } @@ -3397,7 +3397,7 @@ impl->setHref(cppValue); } -void locationWithPerWorldBindingsAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationWithPerWorldBindingsAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationWithPerWorldBindingsAttributeSetter(v8Value, info); @@ -3411,7 +3411,7 @@ v8SetReturnValueForMainWorld(info, WTF::getPtr(impl->locationWithPerWorldBindings())); } -void locationWithPerWorldBindingsAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationWithPerWorldBindingsAttributeGetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationWithPerWorldBindingsAttributeGetterForMainWorld(info); } @@ -3430,7 +3430,7 @@ impl->setHref(cppValue); } -void locationWithPerWorldBindingsAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationWithPerWorldBindingsAttributeSetterCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationWithPerWorldBindingsAttributeSetterForMainWorld(v8Value, info); @@ -3444,7 +3444,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->locationLegacyInterfaceTypeChecking()), impl); } -void locationLegacyInterfaceTypeCheckingAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationLegacyInterfaceTypeCheckingAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationLegacyInterfaceTypeCheckingAttributeGetter(info); } @@ -3463,7 +3463,7 @@ impl->setHref(cppValue); } -void locationLegacyInterfaceTypeCheckingAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationLegacyInterfaceTypeCheckingAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationLegacyInterfaceTypeCheckingAttributeSetter(v8Value, info); @@ -3487,7 +3487,7 @@ v8SetReturnValue(info, v8Value); } -void locationGarbageCollectedAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationGarbageCollectedAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationGarbageCollectedAttributeGetter(info); } @@ -3512,7 +3512,7 @@ impl->setAttr1(cppValue); } -void locationGarbageCollectedAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationGarbageCollectedAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationGarbageCollectedAttributeSetter(v8Value, info); @@ -3533,7 +3533,7 @@ v8SetReturnValueInt(info, cppValue); } -void raisesExceptionLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionLongAttributeAttributeGetter(info); } @@ -3551,7 +3551,7 @@ impl->setRaisesExceptionLongAttribute(cppValue, exceptionState); } -void raisesExceptionLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::raisesExceptionLongAttributeAttributeSetter(v8Value, info); @@ -3572,7 +3572,7 @@ v8SetReturnValueInt(info, cppValue); } -void raisesExceptionGetterLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionGetterLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionGetterLongAttributeAttributeGetter(info); } @@ -3590,7 +3590,7 @@ impl->setRaisesExceptionGetterLongAttribute(cppValue); } -void raisesExceptionGetterLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionGetterLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::raisesExceptionGetterLongAttributeAttributeSetter(v8Value, info); @@ -3604,7 +3604,7 @@ v8SetReturnValueInt(info, impl->setterRaisesExceptionLongAttribute()); } -void setterRaisesExceptionLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setterRaisesExceptionLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::setterRaisesExceptionLongAttributeAttributeGetter(info); } @@ -3622,7 +3622,7 @@ impl->setSetterRaisesExceptionLongAttribute(cppValue, exceptionState); } -void setterRaisesExceptionLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setterRaisesExceptionLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::setterRaisesExceptionLongAttributeAttributeSetter(v8Value, info); @@ -3643,7 +3643,7 @@ v8SetReturnValueFast(info, cppValue, impl); } -void raisesExceptionTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionTestInterfaceEmptyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionTestInterfaceEmptyAttributeAttributeGetter(info); } @@ -3665,7 +3665,7 @@ impl->setRaisesExceptionTestInterfaceEmptyAttribute(cppValue, exceptionState); } -void raisesExceptionTestInterfaceEmptyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionTestInterfaceEmptyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::raisesExceptionTestInterfaceEmptyAttributeAttributeSetter(v8Value, info); @@ -3700,7 +3700,7 @@ v8SetReturnValue(info, v8Value); } -void cachedAttributeRaisesExceptionGetterAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cachedAttributeRaisesExceptionGetterAnyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::cachedAttributeRaisesExceptionGetterAnyAttributeAttributeGetter(info); } @@ -3720,7 +3720,7 @@ V8HiddenValue::deleteHiddenValue(ScriptState::forFunctionObject(info), holder, v8AtomicString(info.GetIsolate(), "cachedAttributeRaisesExceptionGetterAnyAttribute")); } -void cachedAttributeRaisesExceptionGetterAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void cachedAttributeRaisesExceptionGetterAnyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::cachedAttributeRaisesExceptionGetterAnyAttributeAttributeSetter(v8Value, info); @@ -3734,7 +3734,7 @@ v8SetReturnValueFast(info, impl->fastGetAttribute(HTMLNames::reflecttestinterfaceattributeAttr), impl); } -void reflectTestInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectTestInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectTestInterfaceAttributeAttributeGetter(info); } @@ -3759,7 +3759,7 @@ impl->setAttribute(HTMLNames::reflecttestinterfaceattributeAttr, cppValue); } -void reflectTestInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectTestInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -3775,7 +3775,7 @@ v8SetReturnValueFast(info, impl->fastGetAttribute(HTMLNames::reflectedNameAttributeAttr), impl); } -void reflectReflectedNameAttributeTestAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectReflectedNameAttributeTestAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectReflectedNameAttributeTestAttributeAttributeGetter(info); } @@ -3800,7 +3800,7 @@ impl->setAttribute(HTMLNames::reflectedNameAttributeAttr, cppValue); } -void reflectReflectedNameAttributeTestAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectReflectedNameAttributeTestAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -3816,7 +3816,7 @@ v8SetReturnValueBool(info, impl->fastHasAttribute(HTMLNames::reflectbooleanattributeAttr)); } -void reflectBooleanAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectBooleanAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectBooleanAttributeAttributeGetter(info); } @@ -3837,7 +3837,7 @@ impl->setBooleanAttribute(HTMLNames::reflectbooleanattributeAttr, cppValue); } -void reflectBooleanAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectBooleanAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -3853,7 +3853,7 @@ v8SetReturnValueInt(info, impl->getIntegralAttribute(HTMLNames::reflectlongattributeAttr)); } -void reflectLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectLongAttributeAttributeGetter(info); } @@ -3874,7 +3874,7 @@ impl->setIntegralAttribute(HTMLNames::reflectlongattributeAttr, cppValue); } -void reflectLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -3890,7 +3890,7 @@ v8SetReturnValueUnsigned(info, std::max(0, static_cast<int>(impl->fastGetAttribute(HTMLNames::reflectunsignedshortattributeAttr)))); } -void reflectUnsignedShortAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectUnsignedShortAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectUnsignedShortAttributeAttributeGetter(info); } @@ -3911,7 +3911,7 @@ impl->setAttribute(HTMLNames::reflectunsignedshortattributeAttr, cppValue); } -void reflectUnsignedShortAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectUnsignedShortAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -3927,7 +3927,7 @@ v8SetReturnValueUnsigned(info, std::max(0, static_cast<int>(impl->getIntegralAttribute(HTMLNames::reflectunsignedlongattributeAttr)))); } -void reflectUnsignedLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectUnsignedLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectUnsignedLongAttributeAttributeGetter(info); } @@ -3948,7 +3948,7 @@ impl->setUnsignedIntegralAttribute(HTMLNames::reflectunsignedlongattributeAttr, cppValue); } -void reflectUnsignedLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectUnsignedLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -3964,7 +3964,7 @@ v8SetReturnValueString(info, impl->getIdAttribute(), info.GetIsolate()); } -void idAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void idAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::idAttributeGetter(info); } @@ -3983,7 +3983,7 @@ impl->setAttribute(HTMLNames::idAttr, cppValue); } -void idAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void idAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -3999,7 +3999,7 @@ v8SetReturnValueString(info, impl->getNameAttribute(), info.GetIsolate()); } -void nameAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nameAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nameAttributeGetter(info); } @@ -4018,7 +4018,7 @@ impl->setAttribute(HTMLNames::nameAttr, cppValue); } -void nameAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nameAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4034,7 +4034,7 @@ v8SetReturnValueString(info, impl->getClassAttribute(), info.GetIsolate()); } -void classAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void classAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::classAttributeGetter(info); } @@ -4053,7 +4053,7 @@ impl->setAttribute(HTMLNames::classAttr, cppValue); } -void classAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void classAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4069,7 +4069,7 @@ v8SetReturnValueString(info, impl->getIdAttribute(), info.GetIsolate()); } -void reflectedIdAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectedIdAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectedIdAttributeGetter(info); } @@ -4088,7 +4088,7 @@ impl->setAttribute(HTMLNames::idAttr, cppValue); } -void reflectedIdAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectedIdAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4104,7 +4104,7 @@ v8SetReturnValueString(info, impl->getNameAttribute(), info.GetIsolate()); } -void reflectedNameAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectedNameAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectedNameAttributeGetter(info); } @@ -4123,7 +4123,7 @@ impl->setAttribute(HTMLNames::nameAttr, cppValue); } -void reflectedNameAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectedNameAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4139,7 +4139,7 @@ v8SetReturnValueString(info, impl->getClassAttribute(), info.GetIsolate()); } -void reflectedClassAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectedClassAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::reflectedClassAttributeGetter(info); } @@ -4158,7 +4158,7 @@ impl->setAttribute(HTMLNames::classAttr, cppValue); } -void reflectedClassAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void reflectedClassAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4184,7 +4184,7 @@ v8SetReturnValueString(info, cppValue, info.GetIsolate()); } -void limitedToOnlyOneAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedToOnlyOneAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::limitedToOnlyOneAttributeAttributeGetter(info); } @@ -4203,7 +4203,7 @@ impl->setAttribute(HTMLNames::limitedtoonlyoneattributeAttr, cppValue); } -void limitedToOnlyOneAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedToOnlyOneAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4233,7 +4233,7 @@ v8SetReturnValueString(info, cppValue, info.GetIsolate()); } -void limitedToOnlyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedToOnlyAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::limitedToOnlyAttributeAttributeGetter(info); } @@ -4252,7 +4252,7 @@ impl->setAttribute(HTMLNames::limitedtoonlyattributeAttr, cppValue); } -void limitedToOnlyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedToOnlyAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4280,7 +4280,7 @@ v8SetReturnValueString(info, cppValue, info.GetIsolate()); } -void limitedToOnlyOtherAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedToOnlyOtherAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::limitedToOnlyOtherAttributeAttributeGetter(info); } @@ -4299,7 +4299,7 @@ impl->setAttribute(HTMLNames::otherAttr, cppValue); } -void limitedToOnlyOtherAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedToOnlyOtherAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4327,7 +4327,7 @@ v8SetReturnValueString(info, cppValue, info.GetIsolate()); } -void limitedWithMissingDefaultAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedWithMissingDefaultAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::limitedWithMissingDefaultAttributeAttributeGetter(info); } @@ -4346,7 +4346,7 @@ impl->setAttribute(HTMLNames::limitedwithmissingdefaultattributeAttr, cppValue); } -void limitedWithMissingDefaultAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedWithMissingDefaultAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4376,7 +4376,7 @@ v8SetReturnValueString(info, cppValue, info.GetIsolate()); } -void limitedWithInvalidMissingDefaultAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedWithInvalidMissingDefaultAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::limitedWithInvalidMissingDefaultAttributeAttributeGetter(info); } @@ -4395,7 +4395,7 @@ impl->setAttribute(HTMLNames::limitedwithinvalidmissingdefaultattributeAttr, cppValue); } -void limitedWithInvalidMissingDefaultAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedWithInvalidMissingDefaultAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4425,7 +4425,7 @@ v8SetReturnValueString(info, cppValue, info.GetIsolate()); } -void corsSettingAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void corsSettingAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::corsSettingAttributeAttributeGetter(info); } @@ -4455,7 +4455,7 @@ v8SetReturnValueString(info, cppValue, info.GetIsolate()); } -void limitedWithEmptyMissingInvalidAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void limitedWithEmptyMissingInvalidAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::limitedWithEmptyMissingInvalidAttributeAttributeGetter(info); } @@ -4467,7 +4467,7 @@ v8SetReturnValueInt(info, impl->replaceableReadonlyLongAttribute()); } -void replaceableReadonlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void replaceableReadonlyLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::replaceableReadonlyLongAttributeAttributeGetter(info); } @@ -4478,7 +4478,7 @@ v8CallBoolean(info.Holder()->CreateDataProperty(info.GetIsolate()->GetCurrentContext(), propertyName, v8Value)); } -void replaceableReadonlyLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void replaceableReadonlyLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::replaceableReadonlyLongAttributeAttributeSetter(v8Value, info); @@ -4492,7 +4492,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->locationPutForwards()), impl); } -void locationPutForwardsAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationPutForwardsAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::locationPutForwardsAttributeGetter(info); } @@ -4511,7 +4511,7 @@ impl->setHref(cppValue); } -void locationPutForwardsAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void locationPutForwardsAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::locationPutForwardsAttributeSetter(v8Value, info); @@ -4525,7 +4525,7 @@ v8SetReturnValueInt(info, impl->runtimeEnabledLongAttribute()); } -void runtimeEnabledLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void runtimeEnabledLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::runtimeEnabledLongAttributeAttributeGetter(info); } @@ -4543,7 +4543,7 @@ impl->setRuntimeEnabledLongAttribute(cppValue); } -void runtimeEnabledLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void runtimeEnabledLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::runtimeEnabledLongAttributeAttributeSetter(v8Value, info); @@ -4557,7 +4557,7 @@ v8SetReturnValueString(info, impl->setterCallWithCurrentWindowAndEnteredWindowStringAttribute(), info.GetIsolate()); } -void setterCallWithCurrentWindowAndEnteredWindowStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setterCallWithCurrentWindowAndEnteredWindowStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::setterCallWithCurrentWindowAndEnteredWindowStringAttributeAttributeGetter(info); } @@ -4573,7 +4573,7 @@ impl->setSetterCallWithCurrentWindowAndEnteredWindowStringAttribute(currentDOMWindow(info.GetIsolate()), enteredDOMWindow(info.GetIsolate()), cppValue); } -void setterCallWithCurrentWindowAndEnteredWindowStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setterCallWithCurrentWindowAndEnteredWindowStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::setterCallWithCurrentWindowAndEnteredWindowStringAttributeAttributeSetter(v8Value, info); @@ -4587,7 +4587,7 @@ v8SetReturnValueString(info, impl->setterCallWithExecutionContextStringAttribute(), info.GetIsolate()); } -void setterCallWithExecutionContextStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setterCallWithExecutionContextStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::setterCallWithExecutionContextStringAttributeAttributeGetter(info); } @@ -4605,7 +4605,7 @@ impl->setSetterCallWithExecutionContextStringAttribute(executionContext, cppValue); } -void setterCallWithExecutionContextStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setterCallWithExecutionContextStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::setterCallWithExecutionContextStringAttributeAttributeSetter(v8Value, info); @@ -4619,7 +4619,7 @@ v8SetReturnValueString(info, impl->treatNullAsEmptyStringStringAttribute(), info.GetIsolate()); } -void treatNullAsEmptyStringStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void treatNullAsEmptyStringStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::treatNullAsEmptyStringStringAttributeAttributeGetter(info); } @@ -4635,7 +4635,7 @@ impl->setTreatNullAsEmptyStringStringAttribute(cppValue); } -void treatNullAsEmptyStringStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void treatNullAsEmptyStringStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::treatNullAsEmptyStringStringAttributeAttributeSetter(v8Value, info); @@ -4649,7 +4649,7 @@ v8SetReturnValueString(info, impl->treatNullAsNullStringStringAttribute(), info.GetIsolate()); } -void treatNullAsNullStringStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void treatNullAsNullStringStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::treatNullAsNullStringStringAttributeAttributeGetter(info); } @@ -4665,7 +4665,7 @@ impl->setTreatNullAsNullStringStringAttribute(cppValue); } -void treatNullAsNullStringStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void treatNullAsNullStringStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::treatNullAsNullStringStringAttributeAttributeSetter(v8Value, info); @@ -4679,7 +4679,7 @@ v8SetReturnValue(info, impl->legacyInterfaceTypeCheckingFloatAttribute()); } -void legacyInterfaceTypeCheckingFloatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingFloatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::legacyInterfaceTypeCheckingFloatAttributeAttributeGetter(info); } @@ -4697,7 +4697,7 @@ impl->setLegacyInterfaceTypeCheckingFloatAttribute(cppValue); } -void legacyInterfaceTypeCheckingFloatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingFloatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::legacyInterfaceTypeCheckingFloatAttributeAttributeSetter(v8Value, info); @@ -4711,7 +4711,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->legacyInterfaceTypeCheckingTestInterfaceAttribute()), impl); } -void legacyInterfaceTypeCheckingTestInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingTestInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::legacyInterfaceTypeCheckingTestInterfaceAttributeAttributeGetter(info); } @@ -4725,7 +4725,7 @@ impl->setLegacyInterfaceTypeCheckingTestInterfaceAttribute(cppValue); } -void legacyInterfaceTypeCheckingTestInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingTestInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::legacyInterfaceTypeCheckingTestInterfaceAttributeAttributeSetter(v8Value, info); @@ -4739,7 +4739,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->legacyInterfaceTypeCheckingTestInterfaceOrNullAttribute()), impl); } -void legacyInterfaceTypeCheckingTestInterfaceOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingTestInterfaceOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::legacyInterfaceTypeCheckingTestInterfaceOrNullAttributeAttributeGetter(info); } @@ -4753,7 +4753,7 @@ impl->setLegacyInterfaceTypeCheckingTestInterfaceOrNullAttribute(cppValue); } -void legacyInterfaceTypeCheckingTestInterfaceOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingTestInterfaceOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::legacyInterfaceTypeCheckingTestInterfaceOrNullAttributeAttributeSetter(v8Value, info); @@ -4767,7 +4767,7 @@ v8SetReturnValueString(info, impl->getURLAttribute(HTMLNames::urlstringattributeAttr), info.GetIsolate()); } -void urlStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void urlStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::urlStringAttributeAttributeGetter(info); } @@ -4786,7 +4786,7 @@ impl->setAttribute(HTMLNames::urlstringattributeAttr, cppValue); } -void urlStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void urlStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4802,7 +4802,7 @@ v8SetReturnValueString(info, impl->getURLAttribute(HTMLNames::reflectUrlAttributeAttr), info.GetIsolate()); } -void urlStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void urlStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::urlStringAttributeAttributeGetter(info); } @@ -4821,7 +4821,7 @@ impl->setAttribute(HTMLNames::reflectUrlAttributeAttr, cppValue); } -void urlStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void urlStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; V0CustomElementProcessingStack::CallbackDeliveryScope deliveryScope; @@ -4837,7 +4837,7 @@ v8SetReturnValueInt(info, impl->unforgeableLongAttribute()); } -void unforgeableLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unforgeableLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unforgeableLongAttributeAttributeGetter(info); } @@ -4855,7 +4855,7 @@ impl->setUnforgeableLongAttribute(cppValue); } -void unforgeableLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unforgeableLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unforgeableLongAttributeAttributeSetter(v8Value, info); @@ -4869,7 +4869,7 @@ v8SetReturnValueInt(info, impl->measuredLongAttribute()); } -void measuredLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measuredLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::V8TestObject_MeasuredLongAttribute_AttributeGetter); TestObjectV8Internal::measuredLongAttributeAttributeGetter(info); @@ -4889,7 +4889,7 @@ impl->setMeasuredLongAttribute(cppValue); } -void measuredLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measuredLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::V8TestObject_MeasuredLongAttribute_AttributeSetter); @@ -4915,7 +4915,7 @@ v8SetReturnValue(info, v8Value); } -void sameObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void sameObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::sameObjectAttributeAttributeGetter(info); } @@ -4955,7 +4955,7 @@ privateSameObject.set(info.GetIsolate()->GetCurrentContext(), holder, info.GetReturnValue().Get()); } -void saveSameObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void saveSameObjectAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::saveSameObjectAttributeAttributeGetter(info); } @@ -4967,7 +4967,7 @@ v8SetReturnValueInt(info, impl->unscopableLongAttribute()); } -void unscopableLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unscopableLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unscopableLongAttributeAttributeGetter(info); } @@ -4985,7 +4985,7 @@ impl->setUnscopableLongAttribute(cppValue); } -void unscopableLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unscopableLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unscopableLongAttributeAttributeSetter(v8Value, info); @@ -4999,7 +4999,7 @@ v8SetReturnValueInt(info, impl->unscopableOriginTrialEnabledLongAttribute()); } -void unscopableOriginTrialEnabledLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unscopableOriginTrialEnabledLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unscopableOriginTrialEnabledLongAttributeAttributeGetter(info); } @@ -5017,7 +5017,7 @@ impl->setUnscopableOriginTrialEnabledLongAttribute(cppValue); } -void unscopableOriginTrialEnabledLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unscopableOriginTrialEnabledLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unscopableOriginTrialEnabledLongAttributeAttributeSetter(v8Value, info); @@ -5031,7 +5031,7 @@ v8SetReturnValueInt(info, impl->unscopableRuntimeEnabledLongAttribute()); } -void unscopableRuntimeEnabledLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unscopableRuntimeEnabledLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unscopableRuntimeEnabledLongAttributeAttributeGetter(info); } @@ -5049,7 +5049,7 @@ impl->setUnscopableRuntimeEnabledLongAttribute(cppValue); } -void unscopableRuntimeEnabledLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unscopableRuntimeEnabledLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::unscopableRuntimeEnabledLongAttributeAttributeSetter(v8Value, info); @@ -5063,7 +5063,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceAttribute()), impl); } -void testInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceAttributeAttributeGetter(info); } @@ -5085,7 +5085,7 @@ impl->setTestInterfaceAttribute(cppValue); } -void testInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testInterfaceAttributeAttributeSetter(v8Value, info); @@ -5099,7 +5099,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceGarbageCollectedAttribute()), impl); } -void testInterfaceGarbageCollectedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceGarbageCollectedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceGarbageCollectedAttributeAttributeGetter(info); } @@ -5121,7 +5121,7 @@ impl->setTestInterfaceGarbageCollectedAttribute(cppValue); } -void testInterfaceGarbageCollectedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceGarbageCollectedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testInterfaceGarbageCollectedAttributeAttributeSetter(v8Value, info); @@ -5135,7 +5135,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceGarbageCollectedOrNullAttribute()), impl); } -void testInterfaceGarbageCollectedOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceGarbageCollectedOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceGarbageCollectedOrNullAttributeAttributeGetter(info); } @@ -5157,7 +5157,7 @@ impl->setTestInterfaceGarbageCollectedOrNullAttribute(cppValue); } -void testInterfaceGarbageCollectedOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceGarbageCollectedOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestObjectV8Internal::testInterfaceGarbageCollectedOrNullAttributeAttributeSetter(v8Value, info); @@ -5169,7 +5169,7 @@ impl->unscopableVoidMethod(); } -void unscopableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unscopableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unscopableVoidMethodMethod(info); } @@ -5179,7 +5179,7 @@ impl->unscopableRuntimeEnabledVoidMethod(); } -void unscopableRuntimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unscopableRuntimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unscopableRuntimeEnabledVoidMethodMethod(info); } @@ -5189,7 +5189,7 @@ impl->voidMethod(); } -void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodMethod(info); } @@ -5197,7 +5197,7 @@ TestObject::staticVoidMethod(); } -void staticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void staticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::staticVoidMethodMethod(info); } @@ -5207,7 +5207,7 @@ v8SetReturnValue(info, v8DateOrNaN(info.GetIsolate(), impl->dateMethod())); } -void dateMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void dateMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::dateMethodMethod(info); } @@ -5217,7 +5217,7 @@ v8SetReturnValueString(info, impl->stringMethod(), info.GetIsolate()); } -void stringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringMethodMethod(info); } @@ -5227,7 +5227,7 @@ v8SetReturnValueString(info, impl->byteStringMethod(), info.GetIsolate()); } -void byteStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void byteStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::byteStringMethodMethod(info); } @@ -5237,7 +5237,7 @@ v8SetReturnValueString(info, impl->usvStringMethod(), info.GetIsolate()); } -void usvStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void usvStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::usvStringMethodMethod(info); } @@ -5247,7 +5247,7 @@ v8SetReturnValue(info, static_cast<double>(impl->readonlyDOMTimeStampMethod())); } -void readonlyDOMTimeStampMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void readonlyDOMTimeStampMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::readonlyDOMTimeStampMethodMethod(info); } @@ -5257,7 +5257,7 @@ v8SetReturnValueBool(info, impl->booleanMethod()); } -void booleanMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void booleanMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::booleanMethodMethod(info); } @@ -5267,7 +5267,7 @@ v8SetReturnValueInt(info, impl->byteMethod()); } -void byteMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void byteMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::byteMethodMethod(info); } @@ -5277,7 +5277,7 @@ v8SetReturnValue(info, impl->doubleMethod()); } -void doubleMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void doubleMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::doubleMethodMethod(info); } @@ -5287,7 +5287,7 @@ v8SetReturnValue(info, impl->floatMethod()); } -void floatMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void floatMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::floatMethodMethod(info); } @@ -5297,7 +5297,7 @@ v8SetReturnValueInt(info, impl->longMethod()); } -void longMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longMethodMethod(info); } @@ -5307,7 +5307,7 @@ v8SetReturnValue(info, static_cast<double>(impl->longLongMethod())); } -void longLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longLongMethodMethod(info); } @@ -5317,7 +5317,7 @@ v8SetReturnValueUnsigned(info, impl->octetMethod()); } -void octetMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void octetMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::octetMethodMethod(info); } @@ -5327,7 +5327,7 @@ v8SetReturnValueInt(info, impl->shortMethod()); } -void shortMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void shortMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::shortMethodMethod(info); } @@ -5337,7 +5337,7 @@ v8SetReturnValueUnsigned(info, impl->unsignedLongMethod()); } -void unsignedLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unsignedLongMethodMethod(info); } @@ -5347,7 +5347,7 @@ v8SetReturnValue(info, static_cast<double>(impl->unsignedLongLongMethod())); } -void unsignedLongLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedLongLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unsignedLongLongMethodMethod(info); } @@ -5357,7 +5357,7 @@ v8SetReturnValueUnsigned(info, impl->unsignedShortMethod()); } -void unsignedShortMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unsignedShortMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unsignedShortMethodMethod(info); } @@ -5379,7 +5379,7 @@ impl->voidMethodDateArg(dateArg); } -void voidMethodDateArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDateArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDateArgMethod(info); } @@ -5399,7 +5399,7 @@ impl->voidMethodStringArg(stringArg); } -void voidMethodStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodStringArgMethod(info); } @@ -5421,7 +5421,7 @@ impl->voidMethodByteStringArg(stringArg); } -void voidMethodByteStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodByteStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodByteStringArgMethod(info); } @@ -5443,7 +5443,7 @@ impl->voidMethodUSVStringArg(usvStringArg); } -void voidMethodUSVStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodUSVStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodUSVStringArgMethod(info); } @@ -5465,7 +5465,7 @@ impl->voidMethodDOMTimeStampArg(domTimeStampArg); } -void voidMethodDOMTimeStampArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDOMTimeStampArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDOMTimeStampArgMethod(info); } @@ -5487,7 +5487,7 @@ impl->voidMethodBooleanArg(booleanArg); } -void voidMethodBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodBooleanArgMethod(info); } @@ -5509,7 +5509,7 @@ impl->voidMethodByteArg(byteArg); } -void voidMethodByteArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodByteArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodByteArgMethod(info); } @@ -5531,7 +5531,7 @@ impl->voidMethodDoubleArg(doubleArg); } -void voidMethodDoubleArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDoubleArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDoubleArgMethod(info); } @@ -5553,7 +5553,7 @@ impl->voidMethodFloatArg(floatArg); } -void voidMethodFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodFloatArgMethod(info); } @@ -5575,7 +5575,7 @@ impl->voidMethodLongArg(longArg); } -void voidMethodLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodLongArgMethod(info); } @@ -5597,7 +5597,7 @@ impl->voidMethodLongLongArg(longLongArg); } -void voidMethodLongLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodLongLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodLongLongArgMethod(info); } @@ -5619,7 +5619,7 @@ impl->voidMethodOctetArg(octetArg); } -void voidMethodOctetArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodOctetArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodOctetArgMethod(info); } @@ -5641,7 +5641,7 @@ impl->voidMethodShortArg(shortArg); } -void voidMethodShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodShortArgMethod(info); } @@ -5663,7 +5663,7 @@ impl->voidMethodUnsignedLongArg(unsignedLongArg); } -void voidMethodUnsignedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodUnsignedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodUnsignedLongArgMethod(info); } @@ -5685,7 +5685,7 @@ impl->voidMethodUnsignedLongLongArg(unsignedLongLongArg); } -void voidMethodUnsignedLongLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodUnsignedLongLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodUnsignedLongLongArgMethod(info); } @@ -5707,7 +5707,7 @@ impl->voidMethodUnsignedShortArg(unsignedShortArg); } -void voidMethodUnsignedShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodUnsignedShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodUnsignedShortArgMethod(info); } @@ -5717,7 +5717,7 @@ v8SetReturnValue(info, impl->testInterfaceEmptyMethod()); } -void testInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceEmptyMethodMethod(info); } @@ -5740,7 +5740,7 @@ impl->voidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); } -void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestInterfaceEmptyArgMethod(info); } @@ -5770,7 +5770,7 @@ impl->voidMethodLongArgTestInterfaceEmptyArg(longArg, testInterfaceEmptyArg); } -void voidMethodLongArgTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodLongArgTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodLongArgTestInterfaceEmptyArgMethod(info); } @@ -5780,7 +5780,7 @@ v8SetReturnValue(info, impl->anyMethod().v8Value()); } -void anyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void anyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::anyMethodMethod(info); } @@ -5803,7 +5803,7 @@ impl->voidMethodEventTargetArg(eventTargetArg); } -void voidMethodEventTargetArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodEventTargetArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodEventTargetArgMethod(info); } @@ -5821,7 +5821,7 @@ impl->voidMethodAnyArg(anyArg); } -void voidMethodAnyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodAnyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodAnyArgMethod(info); } @@ -5844,7 +5844,7 @@ impl->voidMethodAttrArg(attrArg); } -void voidMethodAttrArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodAttrArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodAttrArgMethod(info); } @@ -5867,7 +5867,7 @@ impl->voidMethodDocumentArg(documentArg); } -void voidMethodDocumentArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDocumentArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDocumentArgMethod(info); } @@ -5890,7 +5890,7 @@ impl->voidMethodDocumentTypeArg(documentTypeArg); } -void voidMethodDocumentTypeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDocumentTypeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDocumentTypeArgMethod(info); } @@ -5913,7 +5913,7 @@ impl->voidMethodElementArg(elementArg); } -void voidMethodElementArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodElementArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodElementArgMethod(info); } @@ -5936,7 +5936,7 @@ impl->voidMethodNodeArg(nodeArg); } -void voidMethodNodeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodNodeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodNodeArgMethod(info); } @@ -5946,7 +5946,7 @@ v8SetReturnValue(info, impl->arrayBufferMethod()); } -void arrayBufferMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void arrayBufferMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::arrayBufferMethodMethod(info); } @@ -5956,7 +5956,7 @@ v8SetReturnValue(info, impl->arrayBufferViewMethod()); } -void arrayBufferViewMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void arrayBufferViewMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::arrayBufferViewMethodMethod(info); } @@ -5966,7 +5966,7 @@ v8SetReturnValue(info, impl->float32ArrayMethod()); } -void float32ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void float32ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::float32ArrayMethodMethod(info); } @@ -5976,7 +5976,7 @@ v8SetReturnValue(info, impl->int32ArrayMethod()); } -void int32ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void int32ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::int32ArrayMethodMethod(info); } @@ -5986,7 +5986,7 @@ v8SetReturnValue(info, impl->uint8ArrayMethod()); } -void uint8ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void uint8ArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::uint8ArrayMethodMethod(info); } @@ -6009,7 +6009,7 @@ impl->voidMethodArrayBufferArg(arrayBufferArg); } -void voidMethodArrayBufferArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayBufferArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodArrayBufferArgMethod(info); } @@ -6032,7 +6032,7 @@ impl->voidMethodArrayBufferOrNullArg(arrayBufferArg); } -void voidMethodArrayBufferOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayBufferOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodArrayBufferOrNullArgMethod(info); } @@ -6055,7 +6055,7 @@ impl->voidMethodArrayBufferViewArg(arrayBufferViewArg); } -void voidMethodArrayBufferViewArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayBufferViewArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodArrayBufferViewArgMethod(info); } @@ -6078,7 +6078,7 @@ impl->voidMethodFlexibleArrayBufferViewArg(arrayBufferViewArg); } -void voidMethodFlexibleArrayBufferViewArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodFlexibleArrayBufferViewArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodFlexibleArrayBufferViewArgMethod(info); } @@ -6101,7 +6101,7 @@ impl->voidMethodFlexibleArrayBufferViewTypedArg(typedArrayBufferViewArg); } -void voidMethodFlexibleArrayBufferViewTypedArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodFlexibleArrayBufferViewTypedArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodFlexibleArrayBufferViewTypedArgMethod(info); } @@ -6124,7 +6124,7 @@ impl->voidMethodFloat32ArrayArg(float32ArrayArg); } -void voidMethodFloat32ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodFloat32ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodFloat32ArrayArgMethod(info); } @@ -6147,7 +6147,7 @@ impl->voidMethodInt32ArrayArg(int32ArrayArg); } -void voidMethodInt32ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodInt32ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodInt32ArrayArgMethod(info); } @@ -6170,7 +6170,7 @@ impl->voidMethodUint8ArrayArg(uint8ArrayArg); } -void voidMethodUint8ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodUint8ArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodUint8ArrayArgMethod(info); } @@ -6180,7 +6180,7 @@ v8SetReturnValue(info, ToV8(impl->longArrayMethod(), info.Holder(), info.GetIsolate())); } -void longArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longArrayMethodMethod(info); } @@ -6190,7 +6190,7 @@ v8SetReturnValue(info, ToV8(impl->stringArrayMethod(), info.Holder(), info.GetIsolate())); } -void stringArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringArrayMethodMethod(info); } @@ -6200,7 +6200,7 @@ v8SetReturnValue(info, ToV8(impl->testInterfaceEmptyArrayMethod(), info.Holder(), info.GetIsolate())); } -void testInterfaceEmptyArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceEmptyArrayMethodMethod(info); } @@ -6222,7 +6222,7 @@ impl->voidMethodArrayLongArg(arrayLongArg); } -void voidMethodArrayLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodArrayLongArgMethod(info); } @@ -6244,7 +6244,7 @@ impl->voidMethodArrayStringArg(arrayStringArg); } -void voidMethodArrayStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodArrayStringArgMethod(info); } @@ -6266,7 +6266,7 @@ impl->voidMethodArrayTestInterfaceEmptyArg(arrayTestInterfaceEmptyArg); } -void voidMethodArrayTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodArrayTestInterfaceEmptyArgMethod(info); } @@ -6290,7 +6290,7 @@ impl->voidMethodNullableArrayLongArg(arrayLongArg); } -void voidMethodNullableArrayLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodNullableArrayLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodNullableArrayLongArgMethod(info); } @@ -6300,7 +6300,7 @@ v8SetReturnValue(info, ToV8(impl->longSequenceMethod(), info.Holder(), info.GetIsolate())); } -void longSequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longSequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longSequenceMethodMethod(info); } @@ -6310,7 +6310,7 @@ v8SetReturnValue(info, ToV8(impl->stringSequenceMethod(), info.Holder(), info.GetIsolate())); } -void stringSequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringSequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringSequenceMethodMethod(info); } @@ -6320,7 +6320,7 @@ v8SetReturnValue(info, ToV8(impl->testInterfaceEmptySequenceMethod(), info.Holder(), info.GetIsolate())); } -void testInterfaceEmptySequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptySequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceEmptySequenceMethodMethod(info); } @@ -6342,7 +6342,7 @@ impl->voidMethodSequenceLongArg(longSequenceArg); } -void voidMethodSequenceLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodSequenceLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodSequenceLongArgMethod(info); } @@ -6364,7 +6364,7 @@ impl->voidMethodSequenceStringArg(stringSequenceArg); } -void voidMethodSequenceStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodSequenceStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodSequenceStringArgMethod(info); } @@ -6386,7 +6386,7 @@ impl->voidMethodSequenceTestInterfaceEmptyArg(testInterfaceEmptySequenceArg); } -void voidMethodSequenceTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodSequenceTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodSequenceTestInterfaceEmptyArgMethod(info); } @@ -6408,7 +6408,7 @@ impl->voidMethodSequenceSequenceDOMStringArg(stringSequenceSequenceArg); } -void voidMethodSequenceSequenceDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodSequenceSequenceDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodSequenceSequenceDOMStringArgMethod(info); } @@ -6432,7 +6432,7 @@ impl->voidMethodNullableSequenceLongArg(longSequenceArg); } -void voidMethodNullableSequenceLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodNullableSequenceLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodNullableSequenceLongArgMethod(info); } @@ -6442,7 +6442,7 @@ v8SetReturnValue(info, freezeV8Object(ToV8(impl->longFrozenArrayMethod(), info.Holder(), info.GetIsolate()), info.GetIsolate())); } -void longFrozenArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longFrozenArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longFrozenArrayMethodMethod(info); } @@ -6464,7 +6464,7 @@ impl->voidMethodStringFrozenArrayMethod(stringFrozenArrayArg); } -void voidMethodStringFrozenArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodStringFrozenArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodStringFrozenArrayMethodMethod(info); } @@ -6486,7 +6486,7 @@ impl->voidMethodTestInterfaceEmptyFrozenArrayMethod(testInterfaceEmptyFrozenArrayArg); } -void voidMethodTestInterfaceEmptyFrozenArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestInterfaceEmptyFrozenArrayMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestInterfaceEmptyFrozenArrayMethodMethod(info); } @@ -6500,7 +6500,7 @@ v8SetReturnValueInt(info, result.get()); } -void nullableLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nullableLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nullableLongMethodMethod(info); } @@ -6510,7 +6510,7 @@ v8SetReturnValueStringOrNull(info, impl->nullableStringMethod(), info.GetIsolate()); } -void nullableStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nullableStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nullableStringMethodMethod(info); } @@ -6520,7 +6520,7 @@ v8SetReturnValue(info, impl->nullableTestInterfaceMethod()); } -void nullableTestInterfaceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nullableTestInterfaceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nullableTestInterfaceMethodMethod(info); } @@ -6534,7 +6534,7 @@ v8SetReturnValue(info, ToV8(result.get(), info.Holder(), info.GetIsolate())); } -void nullableLongSequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nullableLongSequenceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nullableLongSequenceMethodMethod(info); } @@ -6546,7 +6546,7 @@ v8SetReturnValue(info, result); } -void testInterfaceGarbageCollectedOrDOMStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceGarbageCollectedOrDOMStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceGarbageCollectedOrDOMStringMethodMethod(info); } @@ -6558,7 +6558,7 @@ v8SetReturnValue(info, result); } -void booleanOrDOMStringOrUnrestrictedDoubleMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void booleanOrDOMStringOrUnrestrictedDoubleMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::booleanOrDOMStringOrUnrestrictedDoubleMethodMethod(info); } @@ -6570,7 +6570,7 @@ v8SetReturnValue(info, result); } -void testInterfaceOrLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceOrLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceOrLongMethodMethod(info); } @@ -6592,7 +6592,7 @@ impl->voidMethodDoubleOrDOMStringArg(arg); } -void voidMethodDoubleOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDoubleOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDoubleOrDOMStringArgMethod(info); } @@ -6614,7 +6614,7 @@ impl->voidMethodDoubleOrDOMStringOrNullArg(arg); } -void voidMethodDoubleOrDOMStringOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDoubleOrDOMStringOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDoubleOrDOMStringOrNullArgMethod(info); } @@ -6636,7 +6636,7 @@ impl->voidMethodDoubleOrNullOrDOMStringArg(arg); } -void voidMethodDoubleOrNullOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDoubleOrNullOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDoubleOrNullOrDOMStringArgMethod(info); } @@ -6658,7 +6658,7 @@ impl->voidMethodDOMStringOrArrayBufferOrArrayBufferViewArg(arg); } -void voidMethodDOMStringOrArrayBufferOrArrayBufferViewArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDOMStringOrArrayBufferOrArrayBufferViewArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDOMStringOrArrayBufferOrArrayBufferViewArgMethod(info); } @@ -6680,7 +6680,7 @@ impl->voidMethodArrayBufferOrArrayBufferViewOrDictionaryArg(arg); } -void voidMethodArrayBufferOrArrayBufferViewOrDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayBufferOrArrayBufferViewOrDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodArrayBufferOrArrayBufferViewOrDictionaryArgMethod(info); } @@ -6697,7 +6697,7 @@ impl->voidMethodArrayOfDoubleOrDOMStringArg(arg); } -void voidMethodArrayOfDoubleOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayOfDoubleOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodArrayOfDoubleOrDOMStringArgMethod(info); } @@ -6720,7 +6720,7 @@ impl->voidMethodTestInterfaceEmptyOrNullArg(nullableTestInterfaceEmptyArg); } -void voidMethodTestInterfaceEmptyOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestInterfaceEmptyOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestInterfaceEmptyOrNullArgMethod(info); } @@ -6743,7 +6743,7 @@ impl->voidMethodTestCallbackInterfaceArg(testCallbackInterfaceArg); } -void voidMethodTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestCallbackInterfaceArgMethod(info); } @@ -6765,7 +6765,7 @@ impl->voidMethodOptionalTestCallbackInterfaceArg(optionalTestCallbackInterfaceArg); } -void voidMethodOptionalTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodOptionalTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodOptionalTestCallbackInterfaceArgMethod(info); } @@ -6788,7 +6788,7 @@ impl->voidMethodTestCallbackInterfaceOrNullArg(testCallbackInterfaceArg); } -void voidMethodTestCallbackInterfaceOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestCallbackInterfaceOrNullArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestCallbackInterfaceOrNullArgMethod(info); } @@ -6798,7 +6798,7 @@ v8SetReturnValueString(info, impl->testEnumMethod(), info.GetIsolate()); } -void testEnumMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testEnumMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testEnumMethodMethod(info); } @@ -6829,7 +6829,7 @@ impl->voidMethodTestEnumArg(testEnumTypeArg); } -void voidMethodTestEnumArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestEnumArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestEnumArgMethod(info); } @@ -6874,7 +6874,7 @@ impl->voidMethodTestMultipleEnumArg(testEnumTypeArg, testEnumTypeArg2); } -void voidMethodTestMultipleEnumArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestMultipleEnumArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestMultipleEnumArgMethod(info); } @@ -6884,7 +6884,7 @@ v8SetReturnValue(info, impl->dictionaryMethod()); } -void dictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void dictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::dictionaryMethodMethod(info); } @@ -6896,7 +6896,7 @@ v8SetReturnValue(info, result); } -void testDictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testDictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testDictionaryMethodMethod(info); } @@ -6911,7 +6911,7 @@ v8SetReturnValue(info, result.get()); } -void nullableTestDictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nullableTestDictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nullableTestDictionaryMethodMethod(info); } @@ -6928,7 +6928,7 @@ impl->passPermissiveDictionaryMethod(arg); } -void passPermissiveDictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void passPermissiveDictionaryMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::passPermissiveDictionaryMethodMethod(info); } @@ -6938,7 +6938,7 @@ v8SetReturnValue(info, impl->nodeFilterMethod()); } -void nodeFilterMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void nodeFilterMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::nodeFilterMethodMethod(info); } @@ -6987,7 +6987,7 @@ v8SetReturnValue(info, impl->promiseMethod(arg1, arg2, arg3, variadic).v8Value()); } -void promiseMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void promiseMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::promiseMethodMethod(info); } @@ -7021,7 +7021,7 @@ v8SetReturnValue(info, impl->promiseMethodWithoutExceptionState(arg1).v8Value()); } -void promiseMethodWithoutExceptionStateMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void promiseMethodWithoutExceptionStateMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::promiseMethodWithoutExceptionStateMethod(info); } @@ -7031,7 +7031,7 @@ v8SetReturnValue(info, v8Deserialize(info.GetIsolate(), impl->serializedScriptValueMethod())); } -void serializedScriptValueMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void serializedScriptValueMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::serializedScriptValueMethodMethod(info); } @@ -7041,7 +7041,7 @@ v8SetReturnValue(info, impl->xPathNSResolverMethod()); } -void xPathNSResolverMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void xPathNSResolverMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::xPathNSResolverMethodMethod(info); } @@ -7068,7 +7068,7 @@ impl->voidMethodDictionaryArg(dictionaryArg); } -void voidMethodDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDictionaryArgMethod(info); } @@ -7086,7 +7086,7 @@ impl->voidMethodNodeFilterArg(nodeFilterArg); } -void voidMethodNodeFilterArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodNodeFilterArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodNodeFilterArgMethod(info); } @@ -7109,7 +7109,7 @@ impl->voidMethodPromiseArg(promiseArg); } -void voidMethodPromiseArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodPromiseArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodPromiseArgMethod(info); } @@ -7131,7 +7131,7 @@ impl->voidMethodSerializedScriptValueArg(serializedScriptValueArg); } -void voidMethodSerializedScriptValueArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodSerializedScriptValueArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodSerializedScriptValueArgMethod(info); } @@ -7154,7 +7154,7 @@ impl->voidMethodXPathNSResolverArg(xPathNSResolverArg); } -void voidMethodXPathNSResolverArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodXPathNSResolverArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodXPathNSResolverArgMethod(info); } @@ -7176,7 +7176,7 @@ impl->voidMethodDictionarySequenceArg(dictionarySequenceArg); } -void voidMethodDictionarySequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDictionarySequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDictionarySequenceArgMethod(info); } @@ -7203,7 +7203,7 @@ impl->voidMethodStringArgLongArg(stringArg, longArg); } -void voidMethodStringArgLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodStringArgLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodStringArgLongArgMethod(info); } @@ -7228,7 +7228,7 @@ impl->voidMethodOptionalStringArg(optionalStringArg); } -void voidMethodOptionalStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodOptionalStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodOptionalStringArgMethod(info); } @@ -7256,7 +7256,7 @@ impl->voidMethodOptionalTestInterfaceEmptyArg(optionalTestInterfaceEmptyArg); } -void voidMethodOptionalTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodOptionalTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodOptionalTestInterfaceEmptyArgMethod(info); } @@ -7283,7 +7283,7 @@ impl->voidMethodOptionalLongArg(optionalLongArg); } -void voidMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodOptionalLongArgMethod(info); } @@ -7310,7 +7310,7 @@ v8SetReturnValueString(info, impl->stringMethodOptionalLongArg(optionalLongArg), info.GetIsolate()); } -void stringMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::stringMethodOptionalLongArgMethod(info); } @@ -7337,7 +7337,7 @@ v8SetReturnValue(info, impl->testInterfaceEmptyMethodOptionalLongArg(optionalLongArg)); } -void testInterfaceEmptyMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceEmptyMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::testInterfaceEmptyMethodOptionalLongArgMethod(info); } @@ -7364,7 +7364,7 @@ v8SetReturnValueInt(info, impl->longMethodOptionalLongArg(optionalLongArg)); } -void longMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void longMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::longMethodOptionalLongArgMethod(info); } @@ -7401,7 +7401,7 @@ impl->voidMethodLongArgOptionalLongArg(longArg, optionalLongArg); } -void voidMethodLongArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodLongArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodLongArgOptionalLongArgMethod(info); } @@ -7447,7 +7447,7 @@ impl->voidMethodLongArgOptionalLongArgOptionalLongArg(longArg, optionalLongArg1, optionalLongArg2); } -void voidMethodLongArgOptionalLongArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodLongArgOptionalLongArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodLongArgOptionalLongArgOptionalLongArgMethod(info); } @@ -7487,7 +7487,7 @@ impl->voidMethodLongArgOptionalTestInterfaceEmptyArg(longArg, optionalTestInterfaceEmpty); } -void voidMethodLongArgOptionalTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodLongArgOptionalTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodLongArgOptionalTestInterfaceEmptyArgMethod(info); } @@ -7527,7 +7527,7 @@ impl->voidMethodTestInterfaceEmptyArgOptionalLongArg(optionalTestInterfaceEmpty, longArg); } -void voidMethodTestInterfaceEmptyArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestInterfaceEmptyArgOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestInterfaceEmptyArgOptionalLongArgMethod(info); } @@ -7549,7 +7549,7 @@ impl->voidMethodOptionalDictionaryArg(optionalDictionaryArg); } -void voidMethodOptionalDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodOptionalDictionaryArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodOptionalDictionaryArgMethod(info); } @@ -7570,7 +7570,7 @@ impl->voidMethodDefaultByteStringArg(defaultByteStringArg); } -void voidMethodDefaultByteStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultByteStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultByteStringArgMethod(info); } @@ -7589,7 +7589,7 @@ impl->voidMethodDefaultStringArg(defaultStringArg); } -void voidMethodDefaultStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultStringArgMethod(info); } @@ -7626,7 +7626,7 @@ impl->voidMethodDefaultIntegerArgs(defaultLongArg, defaultLongLongArg, defaultUnsignedArg); } -void voidMethodDefaultIntegerArgsMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultIntegerArgsMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultIntegerArgsMethod(info); } @@ -7647,7 +7647,7 @@ impl->voidMethodDefaultDoubleArg(defaultDoubleArg); } -void voidMethodDefaultDoubleArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultDoubleArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultDoubleArgMethod(info); } @@ -7668,7 +7668,7 @@ impl->voidMethodDefaultTrueBooleanArg(defaultBooleanArg); } -void voidMethodDefaultTrueBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultTrueBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultTrueBooleanArgMethod(info); } @@ -7689,7 +7689,7 @@ impl->voidMethodDefaultFalseBooleanArg(defaultBooleanArg); } -void voidMethodDefaultFalseBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultFalseBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultFalseBooleanArgMethod(info); } @@ -7710,7 +7710,7 @@ impl->voidMethodDefaultNullableByteStringArg(defaultStringArg); } -void voidMethodDefaultNullableByteStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultNullableByteStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultNullableByteStringArgMethod(info); } @@ -7729,7 +7729,7 @@ impl->voidMethodDefaultNullableStringArg(defaultStringArg); } -void voidMethodDefaultNullableStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultNullableStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultNullableStringArgMethod(info); } @@ -7751,7 +7751,7 @@ impl->voidMethodDefaultNullableTestInterfaceArg(defaultTestInterfaceArg); } -void voidMethodDefaultNullableTestInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultNullableTestInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultNullableTestInterfaceArgMethod(info); } @@ -7788,7 +7788,7 @@ impl->voidMethodDefaultDoubleOrStringArgs(defaultLongArg, defaultStringArg, defaultNullArg); } -void voidMethodDefaultDoubleOrStringArgsMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultDoubleOrStringArgsMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultDoubleOrStringArgsMethod(info); } @@ -7809,7 +7809,7 @@ impl->voidMethodDefaultStringSequenceArg(defaultStringSequenceArg); } -void voidMethodDefaultStringSequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultStringSequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultStringSequenceArgMethod(info); } @@ -7826,7 +7826,7 @@ impl->voidMethodVariadicStringArg(variadicStringArgs); } -void voidMethodVariadicStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodVariadicStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodVariadicStringArgMethod(info); } @@ -7853,7 +7853,7 @@ impl->voidMethodStringArgVariadicStringArg(stringArg, variadicStringArgs); } -void voidMethodStringArgVariadicStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodStringArgVariadicStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodStringArgVariadicStringArgMethod(info); } @@ -7875,7 +7875,7 @@ impl->voidMethodVariadicTestInterfaceEmptyArg(variadicTestInterfaceEmptyArgs); } -void voidMethodVariadicTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodVariadicTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodVariadicTestInterfaceEmptyArgMethod(info); } @@ -7910,7 +7910,7 @@ impl->voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArg(testInterfaceEmptyArg, variadicTestInterfaceEmptyArgs); } -void voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestInterfaceEmptyArgVariadicTestInterfaceEmptyArgMethod(info); } @@ -7932,7 +7932,7 @@ impl->voidMethodVariadicTestInterfaceGarbageCollectedArg(variadicTestInterfaceGarbageCollectedArg); } -void voidMethodVariadicTestInterfaceGarbageCollectedArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodVariadicTestInterfaceGarbageCollectedArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodVariadicTestInterfaceGarbageCollectedArgMethod(info); } @@ -7997,7 +7997,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodAMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodAMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodAMethod(info); } @@ -8080,7 +8080,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodBMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodBMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodBMethod(info); } @@ -8139,7 +8139,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodCMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodCMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodCMethod(info); } @@ -8197,7 +8197,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodDMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodDMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodDMethod(info); } @@ -8260,7 +8260,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodEMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodEMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodEMethod(info); } @@ -8336,7 +8336,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodFMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodFMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodFMethod(info); } @@ -8409,7 +8409,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodGMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodGMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodGMethod(info); } @@ -8469,7 +8469,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodHMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodHMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodHMethod(info); } @@ -8529,7 +8529,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodIMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodIMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodIMethod(info); } @@ -8590,7 +8590,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodJMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodJMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodJMethod(info); } @@ -8647,7 +8647,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodKMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodKMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodKMethod(info); } @@ -8733,7 +8733,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodLMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodLMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodLMethod(info); } @@ -8793,7 +8793,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedMethodNMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedMethodNMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedMethodNMethod(info); } @@ -8903,7 +8903,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void promiseOverloadMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void promiseOverloadMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::promiseOverloadMethodMethod(info); } @@ -8958,7 +8958,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedPerWorldBindingsMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedPerWorldBindingsMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedPerWorldBindingsMethodMethod(info); } @@ -9001,7 +9001,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedPerWorldBindingsMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedPerWorldBindingsMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedPerWorldBindingsMethodMethodForMainWorld(info); } @@ -9062,7 +9062,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void overloadedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void overloadedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::overloadedStaticMethodMethod(info); } @@ -9087,7 +9087,7 @@ v8SetReturnValue(info, result.v8Value()); } -void itemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void itemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::itemMethod(info); } @@ -9117,7 +9117,7 @@ v8SetReturnValueString(info, result, info.GetIsolate()); } -void setItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::setItemMethod(info); } @@ -9139,7 +9139,7 @@ impl->voidMethodClampUnsignedShortArg(clampUnsignedShortArg); } -void voidMethodClampUnsignedShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodClampUnsignedShortArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodClampUnsignedShortArgMethod(info); } @@ -9161,7 +9161,7 @@ impl->voidMethodClampUnsignedLongArg(clampUnsignedLongArg); } -void voidMethodClampUnsignedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodClampUnsignedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodClampUnsignedLongArgMethod(info); } @@ -9179,7 +9179,7 @@ impl->voidMethodDefaultUndefinedTestInterfaceEmptyArg(defaultUndefinedTestInterfaceEmptyArg); } -void voidMethodDefaultUndefinedTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultUndefinedTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultUndefinedTestInterfaceEmptyArgMethod(info); } @@ -9196,7 +9196,7 @@ impl->voidMethodDefaultUndefinedLongArg(defaultUndefinedLongArg); } -void voidMethodDefaultUndefinedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultUndefinedLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultUndefinedLongArgMethod(info); } @@ -9211,7 +9211,7 @@ impl->voidMethodDefaultUndefinedStringArg(defaultUndefinedStringArg); } -void voidMethodDefaultUndefinedStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodDefaultUndefinedStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodDefaultUndefinedStringArgMethod(info); } @@ -9233,7 +9233,7 @@ impl->voidMethodEnforceRangeLongArg(enforceRangeLongArg); } -void voidMethodEnforceRangeLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodEnforceRangeLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodEnforceRangeLongArgMethod(info); } @@ -9253,7 +9253,7 @@ impl->voidMethodTreatNullAsEmptyStringStringArg(treatNullAsEmptyStringStringArg); } -void voidMethodTreatNullAsEmptyStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTreatNullAsEmptyStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTreatNullAsEmptyStringStringArgMethod(info); } @@ -9273,7 +9273,7 @@ impl->voidMethodTreatNullAsNullStringStringArg(treatNullAsNullStringStringArg); } -void voidMethodTreatNullAsNullStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTreatNullAsNullStringStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTreatNullAsNullStringStringArgMethod(info); } @@ -9283,7 +9283,7 @@ impl->activityLoggingAccessForAllWorldsMethod(); } -void activityLoggingAccessForAllWorldsMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingAccessForAllWorldsMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -9301,7 +9301,7 @@ impl->callWithExecutionContextVoidMethod(executionContext); } -void callWithExecutionContextVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithExecutionContextVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithExecutionContextVoidMethodMethod(info); } @@ -9313,7 +9313,7 @@ impl->callWithScriptStateVoidMethod(scriptState); } -void callWithScriptStateVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithScriptStateVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithScriptStateVoidMethodMethod(info); } @@ -9326,7 +9326,7 @@ v8SetReturnValueInt(info, result); } -void callWithScriptStateLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithScriptStateLongMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithScriptStateLongMethodMethod(info); } @@ -9339,7 +9339,7 @@ impl->callWithScriptStateExecutionContextVoidMethod(scriptState, executionContext); } -void callWithScriptStateExecutionContextVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithScriptStateExecutionContextVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithScriptStateExecutionContextVoidMethodMethod(info); } @@ -9352,7 +9352,7 @@ impl->callWithScriptStateScriptArgumentsVoidMethod(scriptState, scriptArguments); } -void callWithScriptStateScriptArgumentsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithScriptStateScriptArgumentsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithScriptStateScriptArgumentsVoidMethodMethod(info); } @@ -9383,7 +9383,7 @@ impl->callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArg(scriptState, scriptArguments, optionalBooleanArg); } -void callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithScriptStateScriptArgumentsVoidMethodOptionalBooleanArgMethod(info); } @@ -9393,7 +9393,7 @@ impl->callWithCurrentWindow(currentDOMWindow(info.GetIsolate())); } -void callWithCurrentWindowMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithCurrentWindowMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithCurrentWindowMethod(info); } @@ -9403,7 +9403,7 @@ impl->callWithCurrentWindowScriptWindow(currentDOMWindow(info.GetIsolate()), enteredDOMWindow(info.GetIsolate())); } -void callWithCurrentWindowScriptWindowMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithCurrentWindowScriptWindowMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithCurrentWindowScriptWindowMethod(info); } @@ -9415,7 +9415,7 @@ impl->callWithThisValue(ScriptValue(scriptState, info.Holder())); } -void callWithThisValueMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithThisValueMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithThisValueMethod(info); } @@ -9431,11 +9431,11 @@ impl->checkSecurityForNodeVoidMethod(); } -void checkSecurityForNodeVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void checkSecurityForNodeVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::checkSecurityForNodeVoidMethodMethod(info); } -void customVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { V8TestObject::customVoidMethodMethodCustom(info); } @@ -9446,7 +9446,7 @@ impl->customCallPrologueVoidMethod(); } -void customCallPrologueVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customCallPrologueVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::customCallPrologueVoidMethodMethod(info); } @@ -9457,7 +9457,7 @@ V8TestObject::customCallEpilogueVoidMethodMethodEpilogueCustom(info, impl); } -void customCallEpilogueVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void customCallEpilogueVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::customCallEpilogueVoidMethodMethod(info); } @@ -9467,7 +9467,7 @@ impl->deprecatedVoidMethod(); } -void deprecatedVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deprecatedVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { Deprecation::countDeprecation(currentExecutionContext(info.GetIsolate()), UseCounter::voidMethod); TestObjectV8Internal::deprecatedVoidMethodMethod(info); } @@ -9478,7 +9478,7 @@ impl->implementedAsMethodName(); } -void implementedAsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void implementedAsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::implementedAsVoidMethodMethod(info); } @@ -9488,7 +9488,7 @@ impl->measureAsVoidMethod(); } -void measureAsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measureAsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::TestFeature); TestObjectV8Internal::measureAsVoidMethodMethod(info); } @@ -9499,7 +9499,7 @@ impl->measureMethod(); } -void measureMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measureMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { UseCounter::count(currentExecutionContext(info.GetIsolate()), UseCounter::V8TestObject_MeasureMethod_Method); TestObjectV8Internal::measureMethodMethod(info); } @@ -9551,7 +9551,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void measureOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measureOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::measureOverloadedMethodMethod(info); } @@ -9602,7 +9602,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void DeprecateAsOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void DeprecateAsOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::DeprecateAsOverloadedMethodMethod(info); } @@ -9653,7 +9653,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void DeprecateAsSameValueOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void DeprecateAsSameValueOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::DeprecateAsSameValueOverloadedMethodMethod(info); } @@ -9704,7 +9704,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void measureAsOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measureAsOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::measureAsOverloadedMethodMethod(info); } @@ -9755,7 +9755,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void measureAsSameValueOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void measureAsSameValueOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::measureAsSameValueOverloadedMethodMethod(info); } @@ -9808,7 +9808,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void deprecateAsMeasureAsSameValueOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deprecateAsMeasureAsSameValueOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::deprecateAsMeasureAsSameValueOverloadedMethodMethod(info); } @@ -9861,7 +9861,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void deprecateAsSameValueMeasureAsOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deprecateAsSameValueMeasureAsOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::deprecateAsSameValueMeasureAsOverloadedMethodMethod(info); } @@ -9914,7 +9914,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void deprecateAsSameValueMeasureAsSameValueOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deprecateAsSameValueMeasureAsSameValueOverloadedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::deprecateAsSameValueMeasureAsSameValueOverloadedMethodMethod(info); } @@ -9924,7 +9924,7 @@ impl->notEnumerableVoidMethod(); } -void notEnumerableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void notEnumerableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::notEnumerableVoidMethodMethod(info); } @@ -9934,7 +9934,7 @@ impl->originTrialEnabledVoidMethod(); } -void originTrialEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void originTrialEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::originTrialEnabledVoidMethodMethod(info); } @@ -9944,7 +9944,7 @@ impl->perWorldBindingsOriginTrialEnabledVoidMethod(); } -void perWorldBindingsOriginTrialEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsOriginTrialEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsOriginTrialEnabledVoidMethodMethod(info); } @@ -9954,7 +9954,7 @@ impl->perWorldBindingsOriginTrialEnabledVoidMethod(); } -void perWorldBindingsOriginTrialEnabledVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsOriginTrialEnabledVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsOriginTrialEnabledVoidMethodMethodForMainWorld(info); } @@ -9964,7 +9964,7 @@ impl->perWorldBindingsVoidMethod(); } -void perWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsVoidMethodMethod(info); } @@ -9974,7 +9974,7 @@ impl->perWorldBindingsVoidMethod(); } -void perWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsVoidMethodMethodForMainWorld(info); } @@ -9997,7 +9997,7 @@ impl->perWorldBindingsVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); } -void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethod(info); } @@ -10020,7 +10020,7 @@ impl->perWorldBindingsVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); } -void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsVoidMethodTestInterfaceEmptyArgMethodForMainWorld(info); } @@ -10077,7 +10077,7 @@ instance->postMessage(context, message.release(), transferables.messagePorts, exceptionState); } -void postMessageMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void postMessageMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { postMessageImpl("TestObject", V8TestObject::toImpl(info.Holder()), info); } @@ -10087,7 +10087,7 @@ impl->activityLoggingForAllWorldsPerWorldBindingsVoidMethod(); } -void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -10104,7 +10104,7 @@ impl->activityLoggingForAllWorldsPerWorldBindingsVoidMethod(); } -void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingForAllWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -10121,7 +10121,7 @@ impl->activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod(); } -void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { ScriptState* scriptState = ScriptState::forReceiverObject(info); V8PerContextData* contextData = scriptState->perContextData(); if (contextData && contextData->activityLogger()) { @@ -10138,7 +10138,7 @@ impl->activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethod(); } -void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::activityLoggingForIsolatedWorldsPerWorldBindingsVoidMethodMethodForMainWorld(info); } @@ -10153,7 +10153,7 @@ } } -void raisesExceptionVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionVoidMethodMethod(info); } @@ -10169,7 +10169,7 @@ v8SetReturnValueString(info, result, info.GetIsolate()); } -void raisesExceptionStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionStringMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionStringMethodMethod(info); } @@ -10202,7 +10202,7 @@ } } -void raisesExceptionVoidMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionVoidMethodOptionalLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionVoidMethodOptionalLongArgMethod(info); } @@ -10230,7 +10230,7 @@ } } -void raisesExceptionVoidMethodTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionVoidMethodTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionVoidMethodTestCallbackInterfaceArgMethod(info); } @@ -10257,7 +10257,7 @@ } } -void raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionVoidMethodOptionalTestCallbackInterfaceArgMethod(info); } @@ -10273,7 +10273,7 @@ v8SetReturnValue(info, result); } -void raisesExceptionTestInterfaceEmptyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionTestInterfaceEmptyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionTestInterfaceEmptyVoidMethodMethod(info); } @@ -10289,7 +10289,7 @@ v8SetReturnValue(info, result); } -void raisesExceptionXPathNSResolverVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void raisesExceptionXPathNSResolverVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::raisesExceptionXPathNSResolverVoidMethodMethod(info); } @@ -10315,7 +10315,7 @@ } } -void callWithExecutionContextRaisesExceptionVoidMethodLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void callWithExecutionContextRaisesExceptionVoidMethodLongArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::callWithExecutionContextRaisesExceptionVoidMethodLongArgMethod(info); } @@ -10325,7 +10325,7 @@ impl->runtimeEnabledVoidMethod(); } -void runtimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void runtimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::runtimeEnabledVoidMethodMethod(info); } @@ -10335,7 +10335,7 @@ impl->perWorldBindingsRuntimeEnabledVoidMethod(); } -void perWorldBindingsRuntimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsRuntimeEnabledVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethod(info); } @@ -10345,7 +10345,7 @@ impl->perWorldBindingsRuntimeEnabledVoidMethod(); } -void perWorldBindingsRuntimeEnabledVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void perWorldBindingsRuntimeEnabledVoidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::perWorldBindingsRuntimeEnabledVoidMethodMethodForMainWorld(info); } @@ -10405,7 +10405,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void runtimeEnabledOverloadedVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void runtimeEnabledOverloadedVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::runtimeEnabledOverloadedVoidMethodMethod(info); } @@ -10541,7 +10541,7 @@ exceptionState.throwTypeError("No function was found that matched the signature provided."); } -void partiallyRuntimeEnabledOverloadedVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void partiallyRuntimeEnabledOverloadedVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::partiallyRuntimeEnabledOverloadedVoidMethodMethod(info); } @@ -10559,7 +10559,7 @@ impl->legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); } -void legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyArgMethod(info); } @@ -10581,7 +10581,7 @@ impl->legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyVariadicArg(testInterfaceEmptyArg); } -void legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyVariadicArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyVariadicArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::legacyInterfaceTypeCheckingVoidMethodTestInterfaceEmptyVariadicArgMethod(info); } @@ -10622,7 +10622,7 @@ impl->useToImpl4ArgumentsCheckingIfPossibleWithOptionalArg(node1, node2); } -void useToImpl4ArgumentsCheckingIfPossibleWithOptionalArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void useToImpl4ArgumentsCheckingIfPossibleWithOptionalArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::useToImpl4ArgumentsCheckingIfPossibleWithOptionalArgMethod(info); } @@ -10653,7 +10653,7 @@ impl->useToImpl4ArgumentsCheckingIfPossibleWithNullableArg(node1, node2); } -void useToImpl4ArgumentsCheckingIfPossibleWithNullableArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void useToImpl4ArgumentsCheckingIfPossibleWithNullableArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::useToImpl4ArgumentsCheckingIfPossibleWithNullableArgMethod(info); } @@ -10684,7 +10684,7 @@ impl->useToImpl4ArgumentsCheckingIfPossibleWithUndefinedArg(node1, node2); } -void useToImpl4ArgumentsCheckingIfPossibleWithUndefinedArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void useToImpl4ArgumentsCheckingIfPossibleWithUndefinedArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::useToImpl4ArgumentsCheckingIfPossibleWithUndefinedArgMethod(info); } @@ -10694,7 +10694,7 @@ impl->unforgeableVoidMethod(); } -void unforgeableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void unforgeableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::unforgeableVoidMethodMethod(info); } @@ -10716,7 +10716,7 @@ impl->voidMethodTestInterfaceGarbageCollectedSequenceArg(testInterfaceGarbageCollectedSequenceArg); } -void voidMethodTestInterfaceGarbageCollectedSequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestInterfaceGarbageCollectedSequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestInterfaceGarbageCollectedSequenceArgMethod(info); } @@ -10738,7 +10738,7 @@ impl->voidMethodTestInterfaceGarbageCollectedArrayArg(testInterfaceGarbageCollectedArrayArg); } -void voidMethodTestInterfaceGarbageCollectedArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestInterfaceGarbageCollectedArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::voidMethodTestInterfaceGarbageCollectedArrayArgMethod(info); } @@ -10752,7 +10752,7 @@ v8SetReturnValue(info, result); } -void newObjectTestInterfaceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void newObjectTestInterfaceMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::newObjectTestInterfaceMethodMethod(info); } @@ -10762,7 +10762,7 @@ v8SetReturnValueString(info, impl->serializerMethod(), info.GetIsolate()); } -void serializerMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void serializerMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::serializerMethodMethod(info); } @@ -10780,7 +10780,7 @@ v8SetReturnValue(info, result); } -void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::keysMethod(info); } @@ -10798,7 +10798,7 @@ v8SetReturnValue(info, result); } -void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::valuesMethod(info); } @@ -10816,7 +10816,7 @@ v8SetReturnValue(info, result); } -void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::entriesMethod(info); } @@ -10849,7 +10849,7 @@ } } -void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::forEachMethod(info); } @@ -10877,7 +10877,7 @@ v8SetReturnValueBool(info, result); } -void hasMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void hasMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::hasMethod(info); } @@ -10905,7 +10905,7 @@ v8SetReturnValue(info, result.v8Value()); } -void getMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void getMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::getMethod(info); } @@ -10922,7 +10922,7 @@ } } -void clearMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void clearMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::clearMethod(info); } @@ -10950,7 +10950,7 @@ v8SetReturnValueBool(info, result); } -void deleteMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void deleteMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::deleteMethod(info); } @@ -10983,7 +10983,7 @@ v8SetReturnValue(info, result); } -void setMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void setMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::setMethod(info); } @@ -10993,7 +10993,7 @@ v8SetReturnValueString(info, impl->serializerMethod(), info.GetIsolate()); } -void toJSONMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void toJSONMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::toJSONMethod(info); } @@ -11003,7 +11003,7 @@ v8SetReturnValueString(info, impl->stringifierAttribute(), info.GetIsolate()); } -void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::toStringMethod(info); } @@ -11021,7 +11021,7 @@ v8SetReturnValue(info, result); } -void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestObjectV8Internal::iteratorMethod(info); } @@ -11035,7 +11035,7 @@ v8SetReturnValue(info, result.v8Value()); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -11057,7 +11057,7 @@ v8SetReturnValue(info, v8Value); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -11076,7 +11076,7 @@ v8SetReturnValue(info, result == DeleteSuccess); } -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -11097,7 +11097,7 @@ v8SetReturnValueInt(info, v8::None); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +CORE_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -11117,7 +11117,7 @@ v8SetReturnValue(info, ToV8(names, info.Holder(), info.GetIsolate()).As<v8::Array>()); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { TestObjectV8Internal::namedPropertyEnumerator(info); } @@ -11136,7 +11136,7 @@ v8SetReturnValue(info, result.v8Value()); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { TestObjectV8Internal::indexedPropertyGetter(index, info); } @@ -11153,7 +11153,7 @@ v8SetReturnValue(info, v8Value); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { TestObjectV8Internal::indexedPropertySetter(index, v8Value, info); } @@ -11171,7 +11171,7 @@ v8SetReturnValue(info, result == DeleteSuccess); } -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +CORE_EXPORT void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { TestObjectV8Internal::indexedPropertyDeleter(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp index bba2b50..61a67c10 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
@@ -77,7 +77,7 @@ v8SetReturnValue(info, result); } -void namedItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedItemMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestSpecialOperationsV8Internal::namedItemMethod(info); } @@ -90,7 +90,7 @@ v8SetReturnValue(info, result); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -112,7 +112,7 @@ v8SetReturnValue(info, v8Value); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -132,7 +132,7 @@ v8SetReturnValueInt(info, v8::None); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +CORE_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -152,17 +152,17 @@ v8SetReturnValue(info, ToV8(names, info.Holder(), info.GetIsolate()).As<v8::Array>()); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +CORE_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { TestSpecialOperationsV8Internal::namedPropertyEnumerator(info); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { const AtomicString& propertyName = AtomicString::number(index); TestSpecialOperationsV8Internal::namedPropertyGetter(propertyName, info); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { const AtomicString& propertyName = AtomicString::number(index); TestSpecialOperationsV8Internal::namedPropertySetter(propertyName, v8Value, info);
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp index d3d2319..267df7c 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
@@ -60,7 +60,7 @@ v8SetReturnValueString(info, result, info.GetIsolate()); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -82,7 +82,7 @@ v8SetReturnValueString(info, result, info.GetIsolate()); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +CORE_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { TestSpecialOperationsNotEnumerableV8Internal::indexedPropertyGetter(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp index a7638b60..41e0fa9 100644 --- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
@@ -66,7 +66,7 @@ v8SetReturnValue(info, static_cast<double>(impl->uLongLongAttribute())); } -void uLongLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void uLongLongAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::uLongLongAttributeAttributeGetter(info); } @@ -84,7 +84,7 @@ impl->setULongLongAttribute(cppValue); } -void uLongLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void uLongLongAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestTypedefsV8Internal::uLongLongAttributeAttributeSetter(v8Value, info); @@ -101,7 +101,7 @@ v8SetReturnValue(info, result); } -void domStringOrDoubleOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void domStringOrDoubleOrNullAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::domStringOrDoubleOrNullAttributeAttributeGetter(info); } @@ -120,7 +120,7 @@ impl->setDomStringOrDoubleOrNullAttribute(cppValue); } -void domStringOrDoubleOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void domStringOrDoubleOrNullAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestTypedefsV8Internal::domStringOrDoubleOrNullAttributeAttributeSetter(v8Value, info); @@ -149,7 +149,7 @@ impl->voidMethodArrayOfLongsArg(arrayOfLongsArg); } -void voidMethodArrayOfLongsArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodArrayOfLongsArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::voidMethodArrayOfLongsArgMethod(info); } @@ -176,7 +176,7 @@ impl->voidMethodFloatArgStringArg(floatArg, stringArg); } -void voidMethodFloatArgStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodFloatArgStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::voidMethodFloatArgStringArgMethod(info); } @@ -199,7 +199,7 @@ impl->voidMethodTestCallbackInterfaceTypeArg(testCallbackInterfaceTypeArg); } -void voidMethodTestCallbackInterfaceTypeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void voidMethodTestCallbackInterfaceTypeArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::voidMethodTestCallbackInterfaceTypeArgMethod(info); } @@ -221,7 +221,7 @@ v8SetReturnValue(info, static_cast<double>(impl->uLongLongMethodTestInterfaceEmptyTypeSequenceArg(testInterfaceEmptyTypeSequenceArg))); } -void uLongLongMethodTestInterfaceEmptyTypeSequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void uLongLongMethodTestInterfaceEmptyTypeSequenceArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::uLongLongMethodTestInterfaceEmptyTypeSequenceArgMethod(info); } @@ -233,7 +233,7 @@ v8SetReturnValue(info, result); } -void testInterfaceOrTestInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void testInterfaceOrTestInterfaceEmptyMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::testInterfaceOrTestInterfaceEmptyMethodMethod(info); } @@ -245,7 +245,7 @@ v8SetReturnValue(info, result); } -void domStringOrDoubleMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void domStringOrDoubleMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::domStringOrDoubleMethodMethod(info); } @@ -267,7 +267,7 @@ v8SetReturnValue(info, ToV8(impl->arrayOfStringsMethodArrayOfStringsArg(arrayOfStringsArg), info.Holder(), info.GetIsolate())); } -void arrayOfStringsMethodArrayOfStringsArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void arrayOfStringsMethodArrayOfStringsArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::arrayOfStringsMethodArrayOfStringsArgMethod(info); } @@ -289,7 +289,7 @@ v8SetReturnValue(info, ToV8(impl->stringArrayMethodStringArrayArg(stringArrayArg), info.Holder(), info.GetIsolate())); } -void stringArrayMethodStringArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +CORE_EXPORT void stringArrayMethodStringArrayArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestTypedefsV8Internal::stringArrayMethodStringArrayArgMethod(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp index 84203557..fdd8eb1 100644 --- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
@@ -45,7 +45,7 @@ TestInterface2Partial::voidMethodPartial1(*impl, value); } -void voidMethodPartial1MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { + void voidMethodPartial1MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2PartialV8Internal::voidMethodPartial1Method(info); } @@ -65,7 +65,7 @@ TestInterface2Partial2::voidMethodPartial2(*impl, value); } -void voidMethodPartial2MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { + void voidMethodPartial2MethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface2PartialV8Internal::voidMethodPartial2Method(info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp index 9c2d7bf..ac6487c 100644 --- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
@@ -69,7 +69,7 @@ v8SetReturnValueFast(info, WTF::getPtr(impl->testInterfaceAttribute()), impl); } -void testInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void testInterfaceAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::testInterfaceAttributeAttributeGetter(info); } @@ -91,7 +91,7 @@ impl->setTestInterfaceAttribute(cppValue); } -void testInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void testInterfaceAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::testInterfaceAttributeAttributeSetter(v8Value, info); @@ -105,7 +105,7 @@ v8SetReturnValue(info, impl->doubleAttribute()); } -void doubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void doubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::doubleAttributeAttributeGetter(info); } @@ -123,7 +123,7 @@ impl->setDoubleAttribute(cppValue); } -void doubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void doubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::doubleAttributeAttributeSetter(v8Value, info); @@ -137,7 +137,7 @@ v8SetReturnValue(info, impl->floatAttribute()); } -void floatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void floatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::floatAttributeAttributeGetter(info); } @@ -155,7 +155,7 @@ impl->setFloatAttribute(cppValue); } -void floatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void floatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::floatAttributeAttributeSetter(v8Value, info); @@ -169,7 +169,7 @@ v8SetReturnValue(info, impl->unrestrictedDoubleAttribute()); } -void unrestrictedDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void unrestrictedDoubleAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::unrestrictedDoubleAttributeAttributeGetter(info); } @@ -187,7 +187,7 @@ impl->setUnrestrictedDoubleAttribute(cppValue); } -void unrestrictedDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void unrestrictedDoubleAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::unrestrictedDoubleAttributeAttributeSetter(v8Value, info); @@ -201,7 +201,7 @@ v8SetReturnValue(info, impl->unrestrictedFloatAttribute()); } -void unrestrictedFloatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void unrestrictedFloatAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::unrestrictedFloatAttributeAttributeGetter(info); } @@ -219,7 +219,7 @@ impl->setUnrestrictedFloatAttribute(cppValue); } -void unrestrictedFloatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void unrestrictedFloatAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::unrestrictedFloatAttributeAttributeSetter(v8Value, info); @@ -229,7 +229,7 @@ v8SetReturnValueString(info, TestInterface5Implementation::staticStringAttribute(), info.GetIsolate()); } -void staticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void staticStringAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::staticStringAttributeAttributeGetter(info); } @@ -242,7 +242,7 @@ TestInterface5Implementation::setStaticStringAttribute(cppValue); } -void staticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void staticStringAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::staticStringAttributeAttributeSetter(v8Value, info); @@ -256,7 +256,7 @@ v8SetReturnValueInt(info, impl->alwaysExposedAttribute()); } -void alwaysExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void alwaysExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::alwaysExposedAttributeAttributeGetter(info); } @@ -274,7 +274,7 @@ impl->setAlwaysExposedAttribute(cppValue); } -void alwaysExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void alwaysExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::alwaysExposedAttributeAttributeSetter(v8Value, info); @@ -288,7 +288,7 @@ v8SetReturnValueInt(info, impl->workerExposedAttribute()); } -void workerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void workerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::workerExposedAttributeAttributeGetter(info); } @@ -306,7 +306,7 @@ impl->setWorkerExposedAttribute(cppValue); } -void workerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void workerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::workerExposedAttributeAttributeSetter(v8Value, info); @@ -320,7 +320,7 @@ v8SetReturnValueInt(info, impl->windowExposedAttribute()); } -void windowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void windowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::windowExposedAttributeAttributeGetter(info); } @@ -338,7 +338,7 @@ impl->setWindowExposedAttribute(cppValue); } -void windowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void windowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { v8::Local<v8::Value> v8Value = info[0]; TestInterface5ImplementationV8Internal::windowExposedAttributeAttributeSetter(v8Value, info); @@ -363,7 +363,7 @@ impl->voidMethodTestInterfaceEmptyArg(testInterfaceEmptyArg); } -void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodTestInterfaceEmptyArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodTestInterfaceEmptyArgMethod(info); } @@ -390,7 +390,7 @@ impl->voidMethodDoubleArgFloatArg(doubleArg, floatArg); } -void voidMethodDoubleArgFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodDoubleArgFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodDoubleArgFloatArgMethod(info); } @@ -417,7 +417,7 @@ impl->voidMethodUnrestrictedDoubleArgUnrestrictedFloatArg(unrestrictedDoubleArg, unrestrictedFloatArg); } -void voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodUnrestrictedDoubleArgUnrestrictedFloatArgMethod(info); } @@ -427,7 +427,7 @@ impl->voidMethod(); } -void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodMethod(info); } @@ -437,7 +437,7 @@ impl->voidMethod(); } -void voidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodMethodCallbackForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodMethodForMainWorld(info); } @@ -447,7 +447,7 @@ impl->alwaysExposedMethod(); } -void alwaysExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void alwaysExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::alwaysExposedMethodMethod(info); } @@ -457,7 +457,7 @@ impl->workerExposedMethod(); } -void workerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void workerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::workerExposedMethodMethod(info); } @@ -467,7 +467,7 @@ impl->windowExposedMethod(); } -void windowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void windowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::windowExposedMethodMethod(info); } @@ -475,7 +475,7 @@ TestInterface5Implementation::alwaysExposedStaticMethod(); } -void alwaysExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void alwaysExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::alwaysExposedStaticMethodMethod(info); } @@ -483,7 +483,7 @@ TestInterface5Implementation::workerExposedStaticMethod(); } -void workerExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void workerExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::workerExposedStaticMethodMethod(info); } @@ -491,7 +491,7 @@ TestInterface5Implementation::windowExposedStaticMethod(); } -void windowExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void windowExposedStaticMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::windowExposedStaticMethodMethod(info); } @@ -501,7 +501,7 @@ impl->windowAndServiceWorkerExposedMethod(); } -void windowAndServiceWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void windowAndServiceWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::windowAndServiceWorkerExposedMethodMethod(info); } @@ -523,7 +523,7 @@ impl->voidMethodBooleanOrDOMStringArg(arg); } -void voidMethodBooleanOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodBooleanOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodBooleanOrDOMStringArgMethod(info); } @@ -545,7 +545,7 @@ impl->voidMethodDoubleOrDOMStringArg(arg); } -void voidMethodDoubleOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodDoubleOrDOMStringArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodDoubleOrDOMStringArgMethod(info); } @@ -568,7 +568,7 @@ impl->voidMethodVoidExperimentalCallbackFunction(arg); } -void voidMethodVoidExperimentalCallbackFunctionMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodVoidExperimentalCallbackFunctionMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodVoidExperimentalCallbackFunctionMethod(info); } @@ -591,7 +591,7 @@ impl->voidMethodVoidCallbackFunctionModulesArg(arg); } -void voidMethodVoidCallbackFunctionModulesArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void voidMethodVoidCallbackFunctionModulesArgMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::voidMethodVoidCallbackFunctionModulesArgMethod(info); } @@ -609,7 +609,7 @@ v8SetReturnValue(info, result); } -void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::keysMethod(info); } @@ -627,7 +627,7 @@ v8SetReturnValue(info, result); } -void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void valuesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::valuesMethod(info); } @@ -645,7 +645,7 @@ v8SetReturnValue(info, result); } -void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void entriesMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::entriesMethod(info); } @@ -678,7 +678,7 @@ } } -void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void forEachMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::forEachMethod(info); } @@ -688,7 +688,7 @@ v8SetReturnValueString(info, impl->toString(), info.GetIsolate()); } -void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void toStringMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::toStringMethod(info); } @@ -706,7 +706,7 @@ v8SetReturnValue(info, result); } -void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void iteratorMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::iteratorMethod(info); } @@ -718,7 +718,7 @@ v8SetReturnValueString(info, result, info.GetIsolate()); } -void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void namedPropertyGetterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -738,7 +738,7 @@ v8SetReturnValue(info, v8Value); } -void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void namedPropertySetterCallback(v8::Local<v8::Name> name, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -755,7 +755,7 @@ v8SetReturnValue(info, result == DeleteSuccess); } -void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +MODULES_EXPORT void namedPropertyDeleterCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Boolean>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -775,7 +775,7 @@ v8SetReturnValueInt(info, v8::None); } -void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { +MODULES_EXPORT void namedPropertyQueryCallback(v8::Local<v8::Name> name, const v8::PropertyCallbackInfo<v8::Integer>& info) { if (!name->IsString()) return; const AtomicString& propertyName = toCoreAtomicString(name.As<v8::String>()); @@ -795,7 +795,7 @@ v8SetReturnValue(info, ToV8(names, info.Holder(), info.GetIsolate()).As<v8::Array>()); } -void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { +MODULES_EXPORT void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::Array>& info) { TestInterface5ImplementationV8Internal::namedPropertyEnumerator(info); } @@ -813,7 +813,7 @@ v8SetReturnValueString(info, result, info.GetIsolate()); } -void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::indexedPropertyGetter(index, info); } @@ -829,7 +829,7 @@ v8SetReturnValue(info, v8Value); } -void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { +MODULES_EXPORT void indexedPropertySetterCallback(uint32_t index, v8::Local<v8::Value> v8Value, const v8::PropertyCallbackInfo<v8::Value>& info) { TestInterface5ImplementationV8Internal::indexedPropertySetter(index, v8Value, info); } @@ -842,7 +842,7 @@ v8SetReturnValue(info, result == DeleteSuccess); } -void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { +MODULES_EXPORT void indexedPropertyDeleterCallback(uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean>& info) { TestInterface5ImplementationV8Internal::indexedPropertyDeleter(index, info); }
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp index 5d4b26a8..51d79566 100644 --- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp +++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
@@ -310,7 +310,7 @@ TestInterfacePartial3Implementation::partialVoidTestEnumModulesArgMethod(*impl, arg); } -void partialVoidTestEnumModulesArgMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { + void partialVoidTestEnumModulesArgMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationPartialV8Internal::partialVoidTestEnumModulesArgMethodMethod(info); } @@ -351,7 +351,7 @@ TestInterfacePartial3Implementation::unscopableVoidMethod(*impl); } -void unscopableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { + void unscopableVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationPartialV8Internal::unscopableVoidMethodMethod(info); } @@ -361,7 +361,7 @@ TestInterfacePartial4::partial4VoidMethod(*impl); } -void partial4VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { + void partial4VoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationPartialV8Internal::partial4VoidMethodMethod(info); } @@ -369,7 +369,7 @@ TestInterfacePartial4::partial4StaticVoidMethod(); } -void partial4StaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { + void partial4StaticVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceImplementationPartialV8Internal::partial4StaticVoidMethodMethod(info); }
diff --git a/third_party/WebKit/Source/core/css/BUILD.gn b/third_party/WebKit/Source/core/css/BUILD.gn index eeeb3df..9bc7288 100644 --- a/third_party/WebKit/Source/core/css/BUILD.gn +++ b/third_party/WebKit/Source/core/css/BUILD.gn
@@ -349,9 +349,11 @@ "properties/CSSPropertyAPIClip.cpp", "properties/CSSPropertyAPIColumnGap.cpp", "properties/CSSPropertyAPIContain.cpp", + "properties/CSSPropertyAPIContent.cpp", "properties/CSSPropertyAPICursor.cpp", "properties/CSSPropertyAPIFlexBasis.cpp", "properties/CSSPropertyAPIFontSizeAdjust.cpp", + "properties/CSSPropertyAPIFontVariantCaps.cpp", "properties/CSSPropertyAPIFontVariantLigatures.cpp", "properties/CSSPropertyAPIFontVariationSettings.cpp", "properties/CSSPropertyAPILetterAndWordSpacing.cpp",
diff --git a/third_party/WebKit/Source/core/css/CSSProperties.in b/third_party/WebKit/Source/core/css/CSSProperties.in index 6f45c528..e60f292 100644 --- a/third_party/WebKit/Source/core/css/CSSProperties.in +++ b/third_party/WebKit/Source/core/css/CSSProperties.in
@@ -175,7 +175,7 @@ font-stretch inherited, font, type_name=FontStretch, name_for_methods=Stretch, priority=High font-style inherited, font, type_name=FontStyle, name_for_methods=Style, priority=High font-variant-ligatures inherited, font, type_name=VariantLigatures, name_for_methods=VariantLigatures, converter=convertFontVariantLigatures, priority=High, api_class -font-variant-caps inherited, font, name_for_methods=VariantCaps, converter=convertFontVariantCaps, priority=High +font-variant-caps inherited, font, name_for_methods=VariantCaps, converter=convertFontVariantCaps, priority=High, api_class font-variant-numeric inherited, font, name_for_methods=VariantNumeric, converter=convertFontVariantNumeric, priority=High font-weight interpolable, inherited, font, type_name=FontWeight, name_for_methods=Weight, converter=convertFontWeight, priority=High font-feature-settings inherited, font, name_for_methods=FeatureSettings, converter=convertFontFeatureSettings, priority=High @@ -247,7 +247,7 @@ color-rendering inherited, svg column-fill type_name=ColumnFill contain runtime_flag=CSSContainment, converter=convertFlags<Containment>, api_class -content custom_all, typedom_types=[Image], repeated +content custom_all, typedom_types=[Image], repeated, api_class counter-increment custom_all counter-reset custom_all cursor inherited, custom_all, api_class
diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp index a0887600..84588d20 100644 --- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp +++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
@@ -8,7 +8,6 @@ #include "core/css/CSSBasicShapeValues.h" #include "core/css/CSSBorderImage.h" #include "core/css/CSSContentDistributionValue.h" -#include "core/css/CSSCounterValue.h" #include "core/css/CSSCursorImageValue.h" #include "core/css/CSSCustomIdentValue.h" #include "core/css/CSSFontFaceSrcValue.h" @@ -337,12 +336,6 @@ return consumeString(range); } -static CSSIdentifierValue* consumeFontVariantCaps(CSSParserTokenRange& range) { - return consumeIdent<CSSValueNormal, CSSValueSmallCaps, CSSValueAllSmallCaps, - CSSValuePetiteCaps, CSSValueAllPetiteCaps, - CSSValueUnicase, CSSValueTitlingCaps>(range); -} - class FontVariantNumericParser { STACK_ALLOCATED(); @@ -1475,89 +1468,6 @@ UnitlessQuirk::Forbid); } -static CSSValue* consumeAttr(CSSParserTokenRange args, - const CSSParserContext* context) { - if (args.peek().type() != IdentToken) - return nullptr; - - AtomicString attrName = - args.consumeIncludingWhitespace().value().toAtomicString(); - if (!args.atEnd()) - return nullptr; - - // TODO(esprehn): This should be lowerASCII(). - if (context->isHTMLDocument()) - attrName = attrName.lower(); - - CSSFunctionValue* attrValue = CSSFunctionValue::create(CSSValueAttr); - attrValue->append(*CSSCustomIdentValue::create(attrName)); - return attrValue; -} - -static CSSValue* consumeCounterContent(CSSParserTokenRange args, - bool counters) { - CSSCustomIdentValue* identifier = consumeCustomIdent(args); - if (!identifier) - return nullptr; - - CSSStringValue* separator = nullptr; - if (!counters) { - separator = CSSStringValue::create(String()); - } else { - if (!consumeCommaIncludingWhitespace(args) || - args.peek().type() != StringToken) - return nullptr; - separator = CSSStringValue::create( - args.consumeIncludingWhitespace().value().toString()); - } - - CSSIdentifierValue* listStyle = nullptr; - if (consumeCommaIncludingWhitespace(args)) { - CSSValueID id = args.peek().id(); - if ((id != CSSValueNone && - (id < CSSValueDisc || id > CSSValueKatakanaIroha))) - return nullptr; - listStyle = consumeIdent(args); - } else { - listStyle = CSSIdentifierValue::create(CSSValueDecimal); - } - - if (!args.atEnd()) - return nullptr; - return CSSCounterValue::create(identifier, listStyle, separator); -} - -static CSSValue* consumeContent(CSSParserTokenRange& range, - const CSSParserContext* context) { - if (identMatches<CSSValueNone, CSSValueNormal>(range.peek().id())) - return consumeIdent(range); - - CSSValueList* values = CSSValueList::createSpaceSeparated(); - - do { - CSSValue* parsedValue = consumeImage(range, context); - if (!parsedValue) - parsedValue = - consumeIdent<CSSValueOpenQuote, CSSValueCloseQuote, - CSSValueNoOpenQuote, CSSValueNoCloseQuote>(range); - if (!parsedValue) - parsedValue = consumeString(range); - if (!parsedValue) { - if (range.peek().functionId() == CSSValueAttr) - parsedValue = consumeAttr(consumeFunction(range), context); - else if (range.peek().functionId() == CSSValueCounter) - parsedValue = consumeCounterContent(consumeFunction(range), false); - else if (range.peek().functionId() == CSSValueCounters) - parsedValue = consumeCounterContent(consumeFunction(range), true); - if (!parsedValue) - return nullptr; - } - values->append(*parsedValue); - } while (!range.atEnd()); - - return values; -} - static CSSValue* consumePerspective(CSSParserTokenRange& range, const CSSParserContext* context, CSSPropertyID unresolvedProperty) { @@ -2733,8 +2643,6 @@ switch (property) { case CSSPropertyWebkitHighlight: return consumeWebkitHighlight(m_range); - case CSSPropertyFontVariantCaps: - return consumeFontVariantCaps(m_range); case CSSPropertyFontVariantNumeric: return consumeFontVariantNumeric(m_range); case CSSPropertyFontFeatureSettings: @@ -2963,8 +2871,6 @@ case CSSPropertyRx: case CSSPropertyRy: return consumeRxOrRy(m_range); - case CSSPropertyContent: - return consumeContent(m_range, m_context); case CSSPropertyListStyleImage: case CSSPropertyBorderImageSource: case CSSPropertyWebkitMaskBoxImageSource:
diff --git a/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIContent.cpp b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIContent.cpp new file mode 100644 index 0000000..401b6250 --- /dev/null +++ b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIContent.cpp
@@ -0,0 +1,112 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "core/css/properties/CSSPropertyAPIContent.h" + +#include "core/CSSValueKeywords.h" +#include "core/css/CSSCounterValue.h" +#include "core/css/CSSFunctionValue.h" +#include "core/css/CSSStringValue.h" +#include "core/css/CSSValueList.h" +#include "core/css/parser/CSSParserContext.h" +#include "core/css/parser/CSSPropertyParserHelpers.h" + +namespace blink { + +namespace { + +CSSValue* consumeAttr(CSSParserTokenRange args, + const CSSParserContext* context) { + if (args.peek().type() != IdentToken) + return nullptr; + + AtomicString attrName = + args.consumeIncludingWhitespace().value().toAtomicString(); + if (!args.atEnd()) + return nullptr; + + // TODO(esprehn): This should be lowerASCII(). + if (context->isHTMLDocument()) + attrName = attrName.lower(); + + CSSFunctionValue* attrValue = CSSFunctionValue::create(CSSValueAttr); + attrValue->append(*CSSCustomIdentValue::create(attrName)); + return attrValue; +} + +CSSValue* consumeCounterContent(CSSParserTokenRange args, bool counters) { + CSSCustomIdentValue* identifier = + CSSPropertyParserHelpers::consumeCustomIdent(args); + if (!identifier) + return nullptr; + + CSSStringValue* separator = nullptr; + if (!counters) { + separator = CSSStringValue::create(String()); + } else { + if (!CSSPropertyParserHelpers::consumeCommaIncludingWhitespace(args) || + args.peek().type() != StringToken) + return nullptr; + separator = CSSStringValue::create( + args.consumeIncludingWhitespace().value().toString()); + } + + CSSIdentifierValue* listStyle = nullptr; + if (CSSPropertyParserHelpers::consumeCommaIncludingWhitespace(args)) { + CSSValueID id = args.peek().id(); + if ((id != CSSValueNone && + (id < CSSValueDisc || id > CSSValueKatakanaIroha))) + return nullptr; + listStyle = CSSPropertyParserHelpers::consumeIdent(args); + } else { + listStyle = CSSIdentifierValue::create(CSSValueDecimal); + } + + if (!args.atEnd()) + return nullptr; + return CSSCounterValue::create(identifier, listStyle, separator); +} + +} // namespace + +const CSSValue* CSSPropertyAPIContent::parseSingleValue( + CSSParserTokenRange& range, + const CSSParserContext* context) { + if (CSSPropertyParserHelpers::identMatches<CSSValueNone, CSSValueNormal>( + range.peek().id())) + return CSSPropertyParserHelpers::consumeIdent(range); + + CSSValueList* values = CSSValueList::createSpaceSeparated(); + + do { + CSSValue* parsedValue = + CSSPropertyParserHelpers::consumeImage(range, context); + if (!parsedValue) { + parsedValue = CSSPropertyParserHelpers::consumeIdent< + CSSValueOpenQuote, CSSValueCloseQuote, CSSValueNoOpenQuote, + CSSValueNoCloseQuote>(range); + } + if (!parsedValue) + parsedValue = CSSPropertyParserHelpers::consumeString(range); + if (!parsedValue) { + if (range.peek().functionId() == CSSValueAttr) { + parsedValue = consumeAttr( + CSSPropertyParserHelpers::consumeFunction(range), context); + } else if (range.peek().functionId() == CSSValueCounter) { + parsedValue = consumeCounterContent( + CSSPropertyParserHelpers::consumeFunction(range), false); + } else if (range.peek().functionId() == CSSValueCounters) { + parsedValue = consumeCounterContent( + CSSPropertyParserHelpers::consumeFunction(range), true); + } + if (!parsedValue) + return nullptr; + } + values->append(*parsedValue); + } while (!range.atEnd()); + + return values; +} + +} // namespace blink
diff --git a/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIFontVariantCaps.cpp b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIFontVariantCaps.cpp new file mode 100644 index 0000000..de5e2b8 --- /dev/null +++ b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPIFontVariantCaps.cpp
@@ -0,0 +1,21 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "core/css/properties/CSSPropertyAPIFontVariantCaps.h" + +#include "core/CSSValueKeywords.h" +#include "core/css/parser/CSSPropertyParserHelpers.h" + +namespace blink { + +const CSSValue* CSSPropertyAPIFontVariantCaps::parseSingleValue( + CSSParserTokenRange& range, + const CSSParserContext* context) { + return CSSPropertyParserHelpers::consumeIdent< + CSSValueNormal, CSSValueSmallCaps, CSSValueAllSmallCaps, + CSSValuePetiteCaps, CSSValueAllPetiteCaps, CSSValueUnicase, + CSSValueTitlingCaps>(range); +} + +} // namespace blink
diff --git a/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp b/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp index c3c805e..89f8b67 100644 --- a/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp +++ b/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp
@@ -570,6 +570,11 @@ void MediaControls::defaultEventHandler(Event* event) { HTMLDivElement::defaultEventHandler(event); + // Do not handle events to not interfere with the rest of the page if no + // controls should be visible. + if (!mediaElement().shouldShowControls()) + return; + // Add IgnoreControlsHover to m_hideTimerBehaviorFlags when we see a touch // event, to allow the hide-timer to do the right thing when it fires. // FIXME: Preferably we would only do this when we're actually handling the
diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp index 0610418f..669c20a 100644 --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
@@ -948,11 +948,11 @@ return FrameLoadTypeReplaceCurrentItem; if (request.resourceRequest().url() == m_documentLoader->urlForHistory()) { + if (request.resourceRequest().httpMethod() == HTTPNames::POST) + return FrameLoadTypeStandard; if (!request.originDocument()) return FrameLoadTypeReloadMainResource; - return request.resourceRequest().httpMethod() == HTTPNames::POST - ? FrameLoadTypeStandard - : FrameLoadTypeReplaceCurrentItem; + return FrameLoadTypeReplaceCurrentItem; } if (request.substituteData().failingURL() ==
diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc b/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc index a0bc142..949a51ae 100644 --- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc +++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
@@ -183,7 +183,6 @@ } bool TaskQueueImpl::RunsTasksOnCurrentThread() const { - base::AutoLock lock(any_thread_lock_); return base::PlatformThread::CurrentId() == thread_id_; }
diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn index 1d2b1932b3..78a1c30 100644 --- a/third_party/harfbuzz-ng/BUILD.gn +++ b/third_party/harfbuzz-ng/BUILD.gn
@@ -101,6 +101,7 @@ "src/hb-ot-layout.h", "src/hb-ot-map-private.hh", "src/hb-ot-map.cc", + "src/hb-ot-math.cc", "src/hb-ot-maxp-table.hh", "src/hb-ot-name-table.hh", "src/hb-ot-shape-complex-arabic-fallback.hh",
diff --git a/third_party/harfbuzz-ng/NEWS b/third_party/harfbuzz-ng/NEWS index fb84c88..8c3ef11 100644 --- a/third_party/harfbuzz-ng/NEWS +++ b/third_party/harfbuzz-ng/NEWS
@@ -1,3 +1,47 @@ +Overview of changes leading to 1.4.1 +Thursday, January 5, 2017 +==================================== + +- Always build and use UCDN for Unicode data by default. + Reduces dependence on version of Unicode data in glib, + specially in the Windows bundles we are shipping, which + have very old glib. + + +Overview of changes leading to 1.4.0 +Thursday, January 5, 2017 +==================================== + +- Merged "OpenType GX" branch which adds core of support for + OpenType 1.8 Font Variations. To that extent, the relevant + new API is: + +New API: +hb_font_set_var_coords_normalized() + + with supporting API: + +New API: +HB_OT_LAYOUT_NO_VARIATIONS_INDEX +hb_ot_layout_table_find_feature_variations() +hb_ot_layout_feature_with_variations_get_lookups() +hb_shape_plan_create2() +hb_shape_plan_create_cached2() + + Currently variations in GSUB/GPOS/GDEF are fully supported, + and no other tables are supported. In particular, fvar/avar + are NOT supported, hence the hb_font_set_var_coords_normalized() + taking normalized coordinates. API to take design coordinates + will be added in the future. + + HVAR/VVAR/MVAR support will also be added to hb-ot-font in the + future. + +- Fix regression in GDEF glyph class processing. +- Add decompositions for Chakma, Limbu, and Balinese in USE shaper. +- Misc fixes. + + Overview of changes leading to 1.3.4 Monday, December 5, 2016 ====================================
diff --git a/third_party/harfbuzz-ng/README.chromium b/third_party/harfbuzz-ng/README.chromium index f667f66..2b05002 100644 --- a/third_party/harfbuzz-ng/README.chromium +++ b/third_party/harfbuzz-ng/README.chromium
@@ -1,8 +1,8 @@ Name: harfbuzz-ng Short Name: harfbuzz-ng URL: http://harfbuzz.org -Version: 1.3.4 -Date: 20161205 +Version: 1.4.1 +Date: 20170105 Security Critical: yes License: MIT License File: COPYING
diff --git a/third_party/harfbuzz-ng/src/hb-coretext.cc b/third_party/harfbuzz-ng/src/hb-coretext.cc index 507581b..e857dfa 100644 --- a/third_party/harfbuzz-ng/src/hb-coretext.cc +++ b/third_party/harfbuzz-ng/src/hb-coretext.cc
@@ -288,7 +288,9 @@ hb_coretext_shaper_shape_plan_data_t * _hb_coretext_shaper_shape_plan_data_create (hb_shape_plan_t *shape_plan HB_UNUSED, const hb_feature_t *user_features HB_UNUSED, - unsigned int num_user_features HB_UNUSED) + unsigned int num_user_features HB_UNUSED, + const int *coords HB_UNUSED, + unsigned int num_coords HB_UNUSED) { return (hb_coretext_shaper_shape_plan_data_t *) HB_SHAPER_DATA_SUCCEEDED; } @@ -1280,7 +1282,9 @@ hb_coretext_aat_shaper_shape_plan_data_t * _hb_coretext_aat_shaper_shape_plan_data_create (hb_shape_plan_t *shape_plan HB_UNUSED, const hb_feature_t *user_features HB_UNUSED, - unsigned int num_user_features HB_UNUSED) + unsigned int num_user_features HB_UNUSED, + const int *coords HB_UNUSED, + unsigned int num_coords HB_UNUSED) { return (hb_coretext_aat_shaper_shape_plan_data_t *) HB_SHAPER_DATA_SUCCEEDED; }
diff --git a/third_party/harfbuzz-ng/src/hb-fallback-shape.cc b/third_party/harfbuzz-ng/src/hb-fallback-shape.cc index e2ad240..ac6d4b0 100644 --- a/third_party/harfbuzz-ng/src/hb-fallback-shape.cc +++ b/third_party/harfbuzz-ng/src/hb-fallback-shape.cc
@@ -73,7 +73,9 @@ hb_fallback_shaper_shape_plan_data_t * _hb_fallback_shaper_shape_plan_data_create (hb_shape_plan_t *shape_plan HB_UNUSED, const hb_feature_t *user_features HB_UNUSED, - unsigned int num_user_features HB_UNUSED) + unsigned int num_user_features HB_UNUSED, + const int *coords HB_UNUSED, + unsigned int num_coords HB_UNUSED) { return (hb_fallback_shaper_shape_plan_data_t *) HB_SHAPER_DATA_SUCCEEDED; }
diff --git a/third_party/harfbuzz-ng/src/hb-font-private.hh b/third_party/harfbuzz-ng/src/hb-font-private.hh index cda97a6..53671d78 100644 --- a/third_party/harfbuzz-ng/src/hb-font-private.hh +++ b/third_party/harfbuzz-ng/src/hb-font-private.hh
@@ -108,6 +108,10 @@ unsigned int x_ppem; unsigned int y_ppem; + /* Font variation coordinates. */ + unsigned int num_coords; + int *coords; + hb_font_funcs_t *klass; void *user_data; hb_destroy_func_t destroy; @@ -120,6 +124,8 @@ { return HB_DIRECTION_IS_VERTICAL(direction) ? y_scale : x_scale; } inline hb_position_t em_scale_x (int16_t v) { return em_scale (v, x_scale); } inline hb_position_t em_scale_y (int16_t v) { return em_scale (v, y_scale); } + inline hb_position_t em_scalef_x (float v) { return em_scalef (v, this->x_scale); } + inline hb_position_t em_scalef_y (float v) { return em_scalef (v, this->y_scale); } inline hb_position_t em_scale_dir (int16_t v, hb_direction_t direction) { return em_scale (v, dir_scale (direction)); } @@ -531,6 +537,10 @@ scaled += scaled >= 0 ? upem/2 : -upem/2; /* Round. */ return (hb_position_t) (scaled / upem); } + inline hb_position_t em_scalef (float v, int scale) + { + return (hb_position_t) (v * scale / face->get_upem ()); + } }; #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS
diff --git a/third_party/harfbuzz-ng/src/hb-font.cc b/third_party/harfbuzz-ng/src/hb-font.cc index 08fcd647..2935c4b4 100644 --- a/third_party/harfbuzz-ng/src/hb-font.cc +++ b/third_party/harfbuzz-ng/src/hb-font.cc
@@ -1165,6 +1165,8 @@ font->x_ppem = parent->x_ppem; font->y_ppem = parent->y_ppem; + /* TODO: copy variation coordinates. */ + return font; } @@ -1194,6 +1196,9 @@ 0, /* x_ppem */ 0, /* y_ppem */ + 0, /* num_coords */ + NULL, /* coords */ + const_cast<hb_font_funcs_t *> (&_hb_font_funcs_nil), /* klass */ NULL, /* user_data */ NULL, /* destroy */ @@ -1248,6 +1253,8 @@ hb_face_destroy (font->face); hb_font_funcs_destroy (font->klass); + free (font->coords); + free (font); } @@ -1537,6 +1544,32 @@ } +void +hb_font_set_var_coords_normalized (hb_font_t *font, + int *coords, /* XXX 2.14 normalized */ + unsigned int coords_length) +{ + if (font->immutable) + return; + + /* Skip tail zero entries. */ + while (coords_length && !coords[coords_length - 1]) + coords_length--; + + int *copy = coords_length ? (int *) calloc (coords_length, sizeof (coords[0])) : NULL; + if (unlikely (coords_length && !copy)) + return; + + free (font->coords); + + if (coords_length) + memcpy (copy, coords, coords_length * sizeof (coords[0])); + + font->coords = copy; + font->num_coords = coords_length; +} + + #ifndef HB_DISABLE_DEPRECATED /*
diff --git a/third_party/harfbuzz-ng/src/hb-font.h b/third_party/harfbuzz-ng/src/hb-font.h index 2b6ab50..8813286 100644 --- a/third_party/harfbuzz-ng/src/hb-font.h +++ b/third_party/harfbuzz-ng/src/hb-font.h
@@ -604,6 +604,11 @@ unsigned int *y_ppem); +HB_EXTERN void +hb_font_set_var_coords_normalized (hb_font_t *font, + int *coords, /* XXX 2.14 normalized */ + unsigned int coords_length); + HB_END_DECLS #endif /* HB_FONT_H */
diff --git a/third_party/harfbuzz-ng/src/hb-ft.cc b/third_party/harfbuzz-ng/src/hb-ft.cc index 2b06c59b..f127066a 100644 --- a/third_party/harfbuzz-ng/src/hb-ft.cc +++ b/third_party/harfbuzz-ng/src/hb-ft.cc
@@ -36,6 +36,7 @@ #include "hb-cache-private.hh" // Maybe use in the future? #include FT_ADVANCES_H +#include FT_MULTIPLE_MASTERS_H #include FT_TRUETYPE_TABLES_H @@ -616,6 +617,23 @@ ft_face->size->metrics.y_ppem); #endif +#ifdef HAVE_FT_GET_VAR_BLEND_COORDINATES + FT_MM_Var *mm_var = NULL; + if (!FT_Get_MM_Var (ft_face, &mm_var)) + { + FT_Fixed coords[mm_var->num_axis]; + int hbCoords[mm_var->num_axis]; + if (!FT_Get_Var_Blend_Coordinates (ft_face, mm_var->num_axis, coords)) + { + for (int i = 0; i < mm_var->num_axis; ++i) + hbCoords[i] = coords[i] >> 2; + + hb_font_set_var_coords_normalized (font, hbCoords, mm_var->num_axis); + } + } + free (mm_var); +#endif + return font; }
diff --git a/third_party/harfbuzz-ng/src/hb-glib.cc b/third_party/harfbuzz-ng/src/hb-glib.cc index e203524..2b91b5b 100644 --- a/third_party/harfbuzz-ng/src/hb-glib.cc +++ b/third_party/harfbuzz-ng/src/hb-glib.cc
@@ -382,6 +382,7 @@ return const_cast<hb_unicode_funcs_t *> (&_hb_glib_unicode_funcs); } +#if GLIB_CHECK_VERSION(2,31,10) /** * hb_glib_blob_create: * @@ -398,3 +399,4 @@ g_bytes_ref (gbytes), (hb_destroy_func_t) g_bytes_unref); } +#endif
diff --git a/third_party/harfbuzz-ng/src/hb-glib.h b/third_party/harfbuzz-ng/src/hb-glib.h index 12c3e3b..5f04183 100644 --- a/third_party/harfbuzz-ng/src/hb-glib.h +++ b/third_party/harfbuzz-ng/src/hb-glib.h
@@ -46,9 +46,10 @@ HB_EXTERN hb_unicode_funcs_t * hb_glib_get_unicode_funcs (void); +#if GLIB_CHECK_VERSION(2,31,10) HB_EXTERN hb_blob_t * hb_glib_blob_create (GBytes *gbytes); - +#endif HB_END_DECLS
diff --git a/third_party/harfbuzz-ng/src/hb-graphite2.cc b/third_party/harfbuzz-ng/src/hb-graphite2.cc index c32318d..a2d90db 100644 --- a/third_party/harfbuzz-ng/src/hb-graphite2.cc +++ b/third_party/harfbuzz-ng/src/hb-graphite2.cc
@@ -195,7 +195,9 @@ hb_graphite2_shaper_shape_plan_data_t * _hb_graphite2_shaper_shape_plan_data_create (hb_shape_plan_t *shape_plan HB_UNUSED, const hb_feature_t *user_features HB_UNUSED, - unsigned int num_user_features HB_UNUSED) + unsigned int num_user_features HB_UNUSED, + const int *coords HB_UNUSED, + unsigned int num_coords HB_UNUSED) { return (hb_graphite2_shaper_shape_plan_data_t *) HB_SHAPER_DATA_SUCCEEDED; }
diff --git a/third_party/harfbuzz-ng/src/hb-open-type-private.hh b/third_party/harfbuzz-ng/src/hb-open-type-private.hh index 66f1c08..2cc1fb2 100644 --- a/third_party/harfbuzz-ng/src/hb-open-type-private.hh +++ b/third_party/harfbuzz-ng/src/hb-open-type-private.hh
@@ -105,7 +105,7 @@ inline unsigned int get_size (void) const { return (size); } #define DEFINE_SIZE_UNION(size, _member) \ - DEFINE_INSTANCE_ASSERTION (this->u._member.static_size == (size)); \ + DEFINE_INSTANCE_ASSERTION (0*sizeof(this->u._member.static_size) + sizeof(this->u._member) == (size)); \ static const unsigned int min_size = (size) #define DEFINE_SIZE_MIN(size) \ @@ -652,6 +652,7 @@ typedef IntType<int8_t , 1> CHAR; /* 8-bit signed integer. */ typedef IntType<uint8_t , 1> BYTE; /* 8-bit unsigned integer. */ +typedef IntType<int8_t , 1> INT8; /* 8-bit signed integer. */ typedef IntType<uint16_t, 2> USHORT; /* 16-bit unsigned integer. */ typedef IntType<int16_t, 2> SHORT; /* 16-bit signed integer. */ typedef IntType<uint32_t, 4> ULONG; /* 32-bit unsigned integer. */ @@ -951,8 +952,8 @@ }; /* Array of Offset's */ -template <typename Type> -struct OffsetArrayOf : ArrayOf<OffsetTo<Type> > {}; +template <typename Type, typename OffsetType=USHORT> +struct OffsetArrayOf : ArrayOf<OffsetTo<Type, OffsetType> > {}; /* Array of offsets relative to the beginning of the array itself. */ template <typename Type>
diff --git a/third_party/harfbuzz-ng/src/hb-ot-font.cc b/third_party/harfbuzz-ng/src/hb-ot-font.cc index df01bc9..5be055d3 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-font.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-font.cc
@@ -355,7 +355,11 @@ if (!subtable) subtable = cmap->find_subtable (0, 2); if (!subtable) subtable = cmap->find_subtable (0, 1); if (!subtable) subtable = cmap->find_subtable (0, 0); - if (!subtable)(subtable = cmap->find_subtable (3, 0)) && (symbol = true); + if (!subtable) + { + subtable = cmap->find_subtable (3, 0); + if (subtable) symbol = true; + } /* Meh. */ if (!subtable) subtable = &OT::Null(OT::CmapSubtable);
diff --git a/third_party/harfbuzz-ng/src/hb-ot-layout-common-private.hh b/third_party/harfbuzz-ng/src/hb-ot-layout-common-private.hh index 34fa1b77..62ca7a3 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-layout-common-private.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-layout-common-private.hh
@@ -507,7 +507,7 @@ { return this+featureParams; } inline bool sanitize (hb_sanitize_context_t *c, - const Record<Feature>::sanitize_closure_t *closure) const + const Record<Feature>::sanitize_closure_t *closure = NULL) const { TRACE_SANITIZE (this); if (unlikely (!(c->check_struct (this) && lookupIndex.sanitize (c)))) @@ -731,8 +731,8 @@ inline void init (const struct CoverageFormat1 &c_) { c = &c_; i = 0; }; inline bool more (void) { return i < c->glyphArray.len; } inline void next (void) { i++; } - inline uint16_t get_glyph (void) { return c->glyphArray[i]; } - inline uint16_t get_coverage (void) { return i; } + inline hb_codepoint_t get_glyph (void) { return c->glyphArray[i]; } + inline unsigned int get_coverage (void) { return i; } private: const struct CoverageFormat1 *c; @@ -829,26 +829,33 @@ public: /* Older compilers need this to be public. */ - struct Iter { - inline void init (const CoverageFormat2 &c_) { + struct Iter + { + inline void init (const CoverageFormat2 &c_) + { c = &c_; coverage = 0; i = 0; j = c->rangeRecord.len ? c_.rangeRecord[0].start : 0; } inline bool more (void) { return i < c->rangeRecord.len; } - inline void next (void) { - coverage++; - if (j == c->rangeRecord[i].end) { + inline void next (void) + { + if (j >= c->rangeRecord[i].end) + { i++; if (more ()) + { j = c->rangeRecord[i].start; + coverage = c->rangeRecord[i].value; + } return; } + coverage++; j++; } - inline uint16_t get_glyph (void) { return j; } - inline uint16_t get_coverage (void) { return coverage; } + inline hb_codepoint_t get_glyph (void) { return j; } + inline unsigned int get_coverage (void) { return coverage; } private: const struct CoverageFormat2 *c; @@ -957,14 +964,14 @@ default: break; } } - inline uint16_t get_glyph (void) { + inline hb_codepoint_t get_glyph (void) { switch (format) { case 1: return u.format1.get_glyph (); case 2: return u.format2.get_glyph (); default:return 0; } } - inline uint16_t get_coverage (void) { + inline unsigned int get_coverage (void) { switch (format) { case 1: return u.format1.get_coverage (); case 2: return u.format2.get_coverage (); @@ -1162,11 +1169,380 @@ /* + * Item Variation Store + */ + +struct VarRegionAxis +{ + inline float evaluate (int coord) const + { + int start = startCoord, peak = peakCoord, end = endCoord; + + /* TODO Move these to sanitize(). */ + if (unlikely (start > peak || peak > end)) + return 1.; + if (unlikely (start < 0 && end > 0 && peak != 0)) + return 1.; + + if (peak == 0 || coord == peak) + return 1.; + + if (coord <= start || end <= coord) + return 0.; + + /* Interpolate */ + if (coord < peak) + return float (coord - start) / (peak - start); + else + return float (end - coord) / (end - peak); + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (c->check_struct (this)); + /* TODO Handle invalid start/peak/end configs, so we don't + * have to do that at runtime. */ + } + + public: + F2DOT14 startCoord; + F2DOT14 peakCoord; + F2DOT14 endCoord; + public: + DEFINE_SIZE_STATIC (6); +}; + +struct VarRegionList +{ + inline float evaluate (unsigned int region_index, + int *coords, unsigned int coord_len) const + { + if (unlikely (region_index >= regionCount)) + return 0.; + + const VarRegionAxis *axes = axesZ + (region_index * axisCount); + + float v = 1.; + unsigned int count = MIN (coord_len, (unsigned int) axisCount); + for (unsigned int i = 0; i < count; i++) + { + float factor = axes[i].evaluate (coords[i]); + if (factor == 0.) + return 0.; + v *= factor; + } + return v; + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (c->check_struct (this) && + c->check_array (axesZ, axesZ[0].static_size, + (unsigned int) axisCount * (unsigned int) regionCount)); + } + + protected: + USHORT axisCount; + USHORT regionCount; + VarRegionAxis axesZ[VAR]; + public: + DEFINE_SIZE_ARRAY (4, axesZ); +}; + +struct VarData +{ + inline unsigned int get_row_size (void) const + { return shortCount + regionIndices.len; } + + inline unsigned int get_size (void) const + { return itemCount * get_row_size (); } + + inline float get_delta (unsigned int inner, + int *coords, unsigned int coord_count, + const VarRegionList ®ions) const + { + if (unlikely (inner >= itemCount)) + return 0.; + + unsigned int count = regionIndices.len; + unsigned int scount = shortCount; + + const BYTE *bytes = &StructAfter<BYTE> (regionIndices); + const BYTE *row = bytes + inner * (scount + count); + + float delta = 0.; + unsigned int i = 0; + + const SHORT *scursor = reinterpret_cast<const SHORT *> (row); + for (; i < scount; i++) + { + float scalar = regions.evaluate (regionIndices.array[i], coords, coord_count); + delta += scalar * *scursor++; + } + const INT8 *bcursor = reinterpret_cast<const INT8 *> (scursor); + for (; i < count; i++) + { + float scalar = regions.evaluate (regionIndices.array[i], coords, coord_count); + delta += scalar * *bcursor++; + } + + return delta; + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (c->check_struct (this) && + regionIndices.sanitize(c) && + shortCount <= regionIndices.len && + c->check_array (&StructAfter<BYTE> (regionIndices), + get_row_size (), itemCount)); + } + + protected: + USHORT itemCount; + USHORT shortCount; + ArrayOf<USHORT> regionIndices; + BYTE bytesX[VAR]; + public: + DEFINE_SIZE_ARRAY2 (6, regionIndices, bytesX); +}; + +struct VariationStore +{ + inline float get_delta (unsigned int outer, unsigned int inner, + int *coords, unsigned int coord_count) const + { + if (unlikely (outer >= dataSets.len)) + return 0.; + + return (this+dataSets[outer]).get_delta (inner, + coords, coord_count, + this+regions); + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (c->check_struct (this) && + format == 1 && + regions.sanitize (c, this) && + dataSets.sanitize (c, this)); + } + + protected: + USHORT format; + OffsetTo<VarRegionList, ULONG> regions; + OffsetArrayOf<VarData, ULONG> dataSets; + public: + DEFINE_SIZE_ARRAY (8, dataSets); +}; + +/* + * Feature Variations + */ + +struct ConditionFormat1 +{ + friend struct Condition; + + private: + inline bool evaluate (const int *coords, unsigned int coord_len) const + { + int coord = axisIndex < coord_len ? coords[axisIndex] : 0; + return filterRangeMinValue <= coord && coord <= filterRangeMaxValue; + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (c->check_struct (this)); + } + + protected: + USHORT format; /* Format identifier--format = 1 */ + USHORT axisIndex; + F2DOT14 filterRangeMinValue; + F2DOT14 filterRangeMaxValue; + public: + DEFINE_SIZE_STATIC (8); +}; + +struct Condition +{ + inline bool evaluate (const int *coords, unsigned int coord_len) const + { + switch (u.format) { + case 1: return u.format1.evaluate (coords, coord_len); + default:return false; + } + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + if (!u.format.sanitize (c)) return_trace (false); + switch (u.format) { + case 1: return_trace (u.format1.sanitize (c)); + default:return_trace (true); + } + } + + protected: + union { + USHORT format; /* Format identifier */ + ConditionFormat1 format1; + } u; + public: + DEFINE_SIZE_UNION (2, format); +}; + +struct ConditionSet +{ + inline bool evaluate (const int *coords, unsigned int coord_len) const + { + unsigned int count = conditions.len; + for (unsigned int i = 0; i < count; i++) + if (!(this+conditions.array[i]).evaluate (coords, coord_len)) + return false; + return true; + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (conditions.sanitize (c, this)); + } + + protected: + OffsetArrayOf<Condition, ULONG> conditions; + public: + DEFINE_SIZE_ARRAY (2, conditions); +}; + +struct FeatureTableSubstitutionRecord +{ + friend struct FeatureTableSubstitution; + + inline bool sanitize (hb_sanitize_context_t *c, const void *base) const + { + TRACE_SANITIZE (this); + return_trace (c->check_struct (this) && feature.sanitize (c, base)); + } + + protected: + USHORT featureIndex; + OffsetTo<Feature, ULONG> feature; + public: + DEFINE_SIZE_STATIC (6); +}; + +struct FeatureTableSubstitution +{ + inline const Feature *find_substitute (unsigned int feature_index) const + { + unsigned int count = substitutions.len; + for (unsigned int i = 0; i < count; i++) + { + const FeatureTableSubstitutionRecord &record = substitutions.array[i]; + if (record.featureIndex == feature_index) + return &(this+record.feature); + } + return NULL; + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (version.sanitize (c) && + likely (version.major == 1) && + substitutions.sanitize (c, this)); + } + + protected: + FixedVersion<> version; /* Version--0x00010000u */ + ArrayOf<FeatureTableSubstitutionRecord> + substitutions; + public: + DEFINE_SIZE_ARRAY (6, substitutions); +}; + +struct FeatureVariationRecord +{ + friend struct FeatureVariations; + + inline bool sanitize (hb_sanitize_context_t *c, const void *base) const + { + TRACE_SANITIZE (this); + return_trace (conditions.sanitize (c, base) && + substitutions.sanitize (c, base)); + } + + protected: + OffsetTo<ConditionSet, ULONG> + conditions; + OffsetTo<FeatureTableSubstitution, ULONG> + substitutions; + public: + DEFINE_SIZE_STATIC (8); +}; + +struct FeatureVariations +{ + static const unsigned int NOT_FOUND_INDEX = 0xFFFFFFFFu; + + inline bool find_index (const int *coords, unsigned int coord_len, + unsigned int *index) const + { + unsigned int count = varRecords.len; + for (unsigned int i = 0; i < count; i++) + { + const FeatureVariationRecord &record = varRecords.array[i]; + if ((this+record.conditions).evaluate (coords, coord_len)) + { + *index = i; + return true; + } + } + *index = NOT_FOUND_INDEX; + return false; + } + + inline const Feature *find_substitute (unsigned int variations_index, + unsigned int feature_index) const + { + const FeatureVariationRecord &record = varRecords[variations_index]; + return (this+record.substitutions).find_substitute (feature_index); + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (version.sanitize (c) && + likely (version.major == 1) && + varRecords.sanitize (c, this)); + } + + protected: + FixedVersion<> version; /* Version--0x00010000u */ + ArrayOf<FeatureVariationRecord, ULONG> + varRecords; + public: + DEFINE_SIZE_ARRAY (8, varRecords); +}; + + +/* * Device Tables */ -struct Device +struct HintingDevice { + friend struct Device; + + private: inline hb_position_t get_x_delta (hb_font_t *font) const { return get_delta (font->x_ppem, font->x_scale); } @@ -1235,6 +1611,101 @@ DEFINE_SIZE_ARRAY (6, deltaValue); }; +struct VariationDevice +{ + friend struct Device; + + private: + + inline hb_position_t get_x_delta (hb_font_t *font, const VariationStore &store) const + { return font->em_scalef_x (get_delta (font, store)); } + + inline hb_position_t get_y_delta (hb_font_t *font, const VariationStore &store) const + { return font->em_scalef_y (get_delta (font, store)); } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + return_trace (c->check_struct (this)); + } + + private: + + inline float get_delta (hb_font_t *font, const VariationStore &store) const + { + return store.get_delta (outerIndex, innerIndex, font->coords, font->num_coords); + } + + protected: + USHORT outerIndex; + USHORT innerIndex; + USHORT deltaFormat; /* Format identifier for this table: 0x0x8000 */ + public: + DEFINE_SIZE_STATIC (6); +}; + +struct DeviceHeader +{ + protected: + USHORT reserved1; + USHORT reserved2; + public: + USHORT format; /* Format identifier */ + public: + DEFINE_SIZE_STATIC (6); +}; + +struct Device +{ + inline hb_position_t get_x_delta (hb_font_t *font, const VariationStore &store=Null(VariationStore)) const + { + switch (u.b.format) + { + case 1: case 2: case 3: + return u.hinting.get_x_delta (font); + case 0x8000: + return u.variation.get_x_delta (font, store); + default: + return 0; + } + } + inline hb_position_t get_y_delta (hb_font_t *font, const VariationStore &store=Null(VariationStore)) const + { + switch (u.b.format) + { + case 1: case 2: case 3: + return u.hinting.get_y_delta (font); + case 0x8000: + return u.variation.get_y_delta (font, store); + default: + return 0; + } + } + + inline bool sanitize (hb_sanitize_context_t *c) const + { + TRACE_SANITIZE (this); + if (!u.b.format.sanitize (c)) return_trace (false); + switch (u.b.format) { + case 1: case 2: case 3: + return_trace (u.hinting.sanitize (c)); + case 0x8000: + return_trace (u.variation.sanitize (c)); + default: + return_trace (true); + } + } + + protected: + union { + DeviceHeader b; + HintingDevice hinting; + VariationDevice variation; + } u; + public: + DEFINE_SIZE_UNION (6, b); +}; + } /* namespace OT */
diff --git a/third_party/harfbuzz-ng/src/hb-ot-layout-gdef-table.hh b/third_party/harfbuzz-ng/src/hb-ot-layout-gdef-table.hh index 2b4bc5a..b70cbb7a 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-layout-gdef-table.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-layout-gdef-table.hh
@@ -97,7 +97,7 @@ friend struct CaretValue; private: - inline hb_position_t get_caret_value (hb_font_t *font, hb_direction_t direction, hb_codepoint_t glyph_id HB_UNUSED) const + inline hb_position_t get_caret_value (hb_font_t *font, hb_direction_t direction) const { return HB_DIRECTION_IS_HORIZONTAL (direction) ? font->em_scale_x (coordinate) : font->em_scale_y (coordinate); } @@ -146,11 +146,11 @@ { friend struct CaretValue; - inline hb_position_t get_caret_value (hb_font_t *font, hb_direction_t direction, hb_codepoint_t glyph_id HB_UNUSED) const + inline hb_position_t get_caret_value (hb_font_t *font, hb_direction_t direction, const VariationStore &var_store) const { return HB_DIRECTION_IS_HORIZONTAL (direction) ? - font->em_scale_x (coordinate) + (this+deviceTable).get_x_delta (font) : - font->em_scale_y (coordinate) + (this+deviceTable).get_y_delta (font); + font->em_scale_x (coordinate) + (this+deviceTable).get_x_delta (font, var_store) : + font->em_scale_y (coordinate) + (this+deviceTable).get_y_delta (font, var_store); } inline bool sanitize (hb_sanitize_context_t *c) const @@ -172,12 +172,15 @@ struct CaretValue { - inline hb_position_t get_caret_value (hb_font_t *font, hb_direction_t direction, hb_codepoint_t glyph_id) const + inline hb_position_t get_caret_value (hb_font_t *font, + hb_direction_t direction, + hb_codepoint_t glyph_id, + const VariationStore &var_store) const { switch (u.format) { - case 1: return u.format1.get_caret_value (font, direction, glyph_id); + case 1: return u.format1.get_caret_value (font, direction); case 2: return u.format2.get_caret_value (font, direction, glyph_id); - case 3: return u.format3.get_caret_value (font, direction, glyph_id); + case 3: return u.format3.get_caret_value (font, direction, var_store); default:return 0; } } @@ -210,6 +213,7 @@ inline unsigned int get_lig_carets (hb_font_t *font, hb_direction_t direction, hb_codepoint_t glyph_id, + const VariationStore &var_store, unsigned int start_offset, unsigned int *caret_count /* IN/OUT */, hb_position_t *caret_array /* OUT */) const @@ -218,7 +222,7 @@ const OffsetTo<CaretValue> *array = carets.sub_array (start_offset, caret_count); unsigned int count = *caret_count; for (unsigned int i = 0; i < count; i++) - caret_array[i] = (this+array[i]).get_caret_value (font, direction, glyph_id); + caret_array[i] = (this+array[i]).get_caret_value (font, direction, glyph_id, var_store); } return carets.len; @@ -244,6 +248,7 @@ inline unsigned int get_lig_carets (hb_font_t *font, hb_direction_t direction, hb_codepoint_t glyph_id, + const VariationStore &var_store, unsigned int start_offset, unsigned int *caret_count /* IN/OUT */, hb_position_t *caret_array /* OUT */) const @@ -256,7 +261,7 @@ return 0; } const LigGlyph &lig_glyph = this+ligGlyph[index]; - return lig_glyph.get_lig_carets (font, direction, glyph_id, start_offset, caret_count, caret_array); + return lig_glyph.get_lig_carets (font, direction, glyph_id, var_store, start_offset, caret_count, caret_array); } inline bool sanitize (hb_sanitize_context_t *c) const @@ -367,11 +372,17 @@ unsigned int start_offset, unsigned int *caret_count /* IN/OUT */, hb_position_t *caret_array /* OUT */) const - { return (this+ligCaretList).get_lig_carets (font, direction, glyph_id, start_offset, caret_count, caret_array); } + { return (this+ligCaretList).get_lig_carets (font, + direction, glyph_id, get_var_store(), + start_offset, caret_count, caret_array); } - inline bool has_mark_sets (void) const { return version.to_int () >= 0x00010002u && markGlyphSetsDef[0] != 0; } + inline bool has_mark_sets (void) const { return version.to_int () >= 0x00010002u && markGlyphSetsDef != 0; } inline bool mark_set_covers (unsigned int set_index, hb_codepoint_t glyph_id) const - { return version.to_int () >= 0x00010002u && (this+markGlyphSetsDef[0]).covers (set_index, glyph_id); } + { return version.to_int () >= 0x00010002u && (this+markGlyphSetsDef).covers (set_index, glyph_id); } + + inline bool has_var_store (void) const { return version.to_int () >= 0x00010003u && varStore != 0; } + inline const VariationStore &get_var_store (void) const + { return version.to_int () >= 0x00010003u ? this+varStore : Null(VariationStore); } inline bool sanitize (hb_sanitize_context_t *c) const { @@ -382,10 +393,10 @@ attachList.sanitize (c, this) && ligCaretList.sanitize (c, this) && markAttachClassDef.sanitize (c, this) && - (version.to_int () < 0x00010002u || markGlyphSetsDef[0].sanitize (c, this))); + (version.to_int () < 0x00010002u || markGlyphSetsDef.sanitize (c, this)) && + (version.to_int () < 0x00010003u || varStore.sanitize (c, this))); } - /* glyph_props is a 16-bit integer where the lower 8-bit have bits representing * glyph class and other bits, and high 8-bit gthe mark attachment type (if any). * Not to be confused with lookup_props which is very similar. */ @@ -410,7 +421,7 @@ protected: FixedVersion<>version; /* Version of the GDEF table--currently - * 0x00010002u */ + * 0x00010003u */ OffsetTo<ClassDef> glyphClassDef; /* Offset to class definition table * for glyph type--from beginning of @@ -428,12 +439,17 @@ * mark attachment type--from beginning * of GDEF header (may be Null) */ OffsetTo<MarkGlyphSets> - markGlyphSetsDef[VAR]; /* Offset to the table of mark set + markGlyphSetsDef; /* Offset to the table of mark set * definitions--from beginning of GDEF * header (may be NULL). Introduced - * in version 00010002. */ + * in version 0x00010002. */ + OffsetTo<VariationStore, ULONG> + varStore; /* Offset to the table of Item Variation + * Store--from beginning of GDEF + * header (may be NULL). Introduced + * in version 0x00010003. */ public: - DEFINE_SIZE_ARRAY (12, markGlyphSetsDef); + DEFINE_SIZE_MIN (12); };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-layout-gpos-table.hh b/third_party/harfbuzz-ng/src/hb-ot-layout-gpos-table.hh index bbe390c..952fd60fe 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-layout-gpos-table.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-layout-gpos-table.hh
@@ -103,18 +103,17 @@ inline unsigned int get_size (void) const { return get_len () * Value::static_size; } - void apply_value (hb_font_t *font, - hb_direction_t direction, + void apply_value (hb_apply_context_t *c, const void *base, const Value *values, hb_glyph_position_t &glyph_pos) const { - unsigned int x_ppem, y_ppem; unsigned int format = *this; - hb_bool_t horizontal = HB_DIRECTION_IS_HORIZONTAL (direction); - if (!format) return; + hb_font_t *font = c->font; + hb_bool_t horizontal = HB_DIRECTION_IS_HORIZONTAL (c->direction); + if (format & xPlacement) glyph_pos.x_offset += font->em_scale_x (get_short (values++)); if (format & yPlacement) glyph_pos.y_offset += font->em_scale_y (get_short (values++)); if (format & xAdvance) { @@ -129,27 +128,29 @@ if (!has_device ()) return; - x_ppem = font->x_ppem; - y_ppem = font->y_ppem; + bool use_x_device = font->x_ppem || font->num_coords; + bool use_y_device = font->y_ppem || font->num_coords; - if (!x_ppem && !y_ppem) return; + if (!use_x_device && !use_y_device) return; + + const VariationStore &store = c->var_store; /* pixel -> fractional pixel */ if (format & xPlaDevice) { - if (x_ppem) glyph_pos.x_offset += (base + get_device (values)).get_x_delta (font); + if (use_x_device) glyph_pos.x_offset += (base + get_device (values)).get_x_delta (font, store); values++; } if (format & yPlaDevice) { - if (y_ppem) glyph_pos.y_offset += (base + get_device (values)).get_y_delta (font); + if (use_y_device) glyph_pos.y_offset += (base + get_device (values)).get_y_delta (font, store); values++; } if (format & xAdvDevice) { - if (horizontal && x_ppem) glyph_pos.x_advance += (base + get_device (values)).get_x_delta (font); + if (horizontal && use_x_device) glyph_pos.x_advance += (base + get_device (values)).get_x_delta (font, store); values++; } if (format & yAdvDevice) { /* y_advance values grow downward but font-space grows upward, hence negation */ - if (!horizontal && y_ppem) glyph_pos.y_advance -= (base + get_device (values)).get_y_delta (font); + if (!horizontal && use_y_device) glyph_pos.y_advance -= (base + get_device (values)).get_y_delta (font, store); values++; } } @@ -231,11 +232,12 @@ struct AnchorFormat1 { - inline void get_anchor (hb_font_t *font, hb_codepoint_t glyph_id HB_UNUSED, + inline void get_anchor (hb_apply_context_t *c, hb_codepoint_t glyph_id HB_UNUSED, hb_position_t *x, hb_position_t *y) const { - *x = font->em_scale_x (xCoordinate); - *y = font->em_scale_y (yCoordinate); + hb_font_t *font = c->font; + *x = font->em_scale_x (xCoordinate); + *y = font->em_scale_y (yCoordinate); } inline bool sanitize (hb_sanitize_context_t *c) const @@ -254,18 +256,19 @@ struct AnchorFormat2 { - inline void get_anchor (hb_font_t *font, hb_codepoint_t glyph_id, + inline void get_anchor (hb_apply_context_t *c, hb_codepoint_t glyph_id, hb_position_t *x, hb_position_t *y) const { - unsigned int x_ppem = font->x_ppem; - unsigned int y_ppem = font->y_ppem; - hb_position_t cx, cy; - hb_bool_t ret; + hb_font_t *font = c->font; + unsigned int x_ppem = font->x_ppem; + unsigned int y_ppem = font->y_ppem; + hb_position_t cx, cy; + hb_bool_t ret; - ret = (x_ppem || y_ppem) && - font->get_glyph_contour_point_for_origin (glyph_id, anchorPoint, HB_DIRECTION_LTR, &cx, &cy); - *x = ret && x_ppem ? cx : font->em_scale_x (xCoordinate); - *y = ret && y_ppem ? cy : font->em_scale_y (yCoordinate); + ret = (x_ppem || y_ppem) && + font->get_glyph_contour_point_for_origin (glyph_id, anchorPoint, HB_DIRECTION_LTR, &cx, &cy); + *x = ret && x_ppem ? cx : font->em_scale_x (xCoordinate); + *y = ret && y_ppem ? cy : font->em_scale_y (yCoordinate); } inline bool sanitize (hb_sanitize_context_t *c) const @@ -285,16 +288,17 @@ struct AnchorFormat3 { - inline void get_anchor (hb_font_t *font, hb_codepoint_t glyph_id HB_UNUSED, + inline void get_anchor (hb_apply_context_t *c, hb_codepoint_t glyph_id HB_UNUSED, hb_position_t *x, hb_position_t *y) const { - *x = font->em_scale_x (xCoordinate); - *y = font->em_scale_y (yCoordinate); + hb_font_t *font = c->font; + *x = font->em_scale_x (xCoordinate); + *y = font->em_scale_y (yCoordinate); - if (font->x_ppem) - *x += (this+xDeviceTable).get_x_delta (font); - if (font->y_ppem) - *y += (this+yDeviceTable).get_x_delta (font); + if (font->x_ppem || font->num_coords) + *x += (this+xDeviceTable).get_x_delta (font, c->var_store); + if (font->y_ppem || font->num_coords) + *y += (this+yDeviceTable).get_y_delta (font, c->var_store); } inline bool sanitize (hb_sanitize_context_t *c) const @@ -321,14 +325,14 @@ struct Anchor { - inline void get_anchor (hb_font_t *font, hb_codepoint_t glyph_id, + inline void get_anchor (hb_apply_context_t *c, hb_codepoint_t glyph_id, hb_position_t *x, hb_position_t *y) const { *x = *y = 0; switch (u.format) { - case 1: u.format1.get_anchor (font, glyph_id, x, y); return; - case 2: u.format2.get_anchor (font, glyph_id, x, y); return; - case 3: u.format3.get_anchor (font, glyph_id, x, y); return; + case 1: u.format1.get_anchor (c, glyph_id, x, y); return; + case 2: u.format2.get_anchor (c, glyph_id, x, y); return; + case 3: u.format3.get_anchor (c, glyph_id, x, y); return; default: return; } } @@ -370,7 +374,7 @@ { TRACE_SANITIZE (this); if (!c->check_struct (this)) return_trace (false); - if (unlikely (rows > 0 && cols >= ((unsigned int) -1) / rows)) return_trace (false); + if (unlikely (_hb_unsigned_int_mul_overflows (rows, cols))) return_trace (false); unsigned int count = rows * cols; if (!c->check_array (matrixZ, matrixZ[0].static_size, count)) return_trace (false); for (unsigned int i = 0; i < count; i++) @@ -428,8 +432,8 @@ hb_position_t mark_x, mark_y, base_x, base_y; - mark_anchor.get_anchor (c->font, buffer->cur().codepoint, &mark_x, &mark_y); - glyph_anchor.get_anchor (c->font, buffer->info[glyph_pos].codepoint, &base_x, &base_y); + mark_anchor.get_anchor (c, buffer->cur().codepoint, &mark_x, &mark_y); + glyph_anchor.get_anchor (c, buffer->info[glyph_pos].codepoint, &base_x, &base_y); hb_glyph_position_t &o = buffer->cur_pos(); o.x_offset = base_x - mark_x; @@ -472,8 +476,7 @@ unsigned int index = (this+coverage).get_coverage (buffer->cur().codepoint); if (likely (index == NOT_COVERED)) return_trace (false); - valueFormat.apply_value (c->font, c->direction, this, - values, buffer->cur_pos()); + valueFormat.apply_value (c, this, values, buffer->cur_pos()); buffer->idx++; return_trace (true); @@ -523,7 +526,7 @@ if (likely (index >= valueCount)) return_trace (false); - valueFormat.apply_value (c->font, c->direction, this, + valueFormat.apply_value (c, this, &values[index * valueFormat.get_len ()], buffer->cur_pos()); @@ -640,10 +643,8 @@ min = mid + 1; else { - valueFormats[0].apply_value (c->font, c->direction, this, - &record->values[0], buffer->cur_pos()); - valueFormats[1].apply_value (c->font, c->direction, this, - &record->values[len1], buffer->pos[pos]); + valueFormats[0].apply_value (c, this, &record->values[0], buffer->cur_pos()); + valueFormats[1].apply_value (c, this, &record->values[len1], buffer->pos[pos]); if (len2) pos++; buffer->idx = pos; @@ -689,7 +690,7 @@ (this+coverage).add_coverage (c->input); unsigned int count = pairSet.len; for (unsigned int i = 0; i < count; i++) - (this+pairSet[i]).collect_glyphs (c, &valueFormat1); + (this+pairSet[i]).collect_glyphs (c, valueFormat); } inline const Coverage &get_coverage (void) const @@ -708,7 +709,7 @@ skippy_iter.reset (buffer->idx, 1); if (!skippy_iter.next ()) return_trace (false); - return_trace ((this+pairSet[index]).apply (c, &valueFormat1, skippy_iter.idx)); + return_trace ((this+pairSet[index]).apply (c, valueFormat, skippy_iter.idx)); } inline bool sanitize (hb_sanitize_context_t *c) const @@ -717,11 +718,11 @@ if (!c->check_struct (this)) return_trace (false); - unsigned int len1 = valueFormat1.get_len (); - unsigned int len2 = valueFormat2.get_len (); + unsigned int len1 = valueFormat[0].get_len (); + unsigned int len2 = valueFormat[1].get_len (); PairSet::sanitize_closure_t closure = { this, - &valueFormat1, + valueFormat, len1, 1 + len1 + len2 }; @@ -734,10 +735,10 @@ OffsetTo<Coverage> coverage; /* Offset to Coverage table--from * beginning of subtable */ - ValueFormat valueFormat1; /* Defines the types of data in + ValueFormat valueFormat[2]; /* [0] Defines the types of data in * ValueRecord1--for the first glyph * in the pair--may be zero (0) */ - ValueFormat valueFormat2; /* Defines the types of data in + /* [1] Defines the types of data in * ValueRecord2--for the second glyph * in the pair--may be zero (0) */ OffsetArrayOf<PairSet> @@ -790,10 +791,8 @@ if (unlikely (klass1 >= class1Count || klass2 >= class2Count)) return_trace (false); const Value *v = &values[record_len * (klass1 * class2Count + klass2)]; - valueFormat1.apply_value (c->font, c->direction, this, - v, buffer->cur_pos()); - valueFormat2.apply_value (c->font, c->direction, this, - v + len1, buffer->pos[skippy_iter.idx]); + valueFormat1.apply_value (c, this, v, buffer->cur_pos()); + valueFormat2.apply_value (c, this, v + len1, buffer->pos[skippy_iter.idx]); buffer->idx = skippy_iter.idx; if (len2) @@ -931,8 +930,8 @@ unsigned int j = skippy_iter.idx; hb_position_t entry_x, entry_y, exit_x, exit_y; - (this+this_record.exitAnchor).get_anchor (c->font, buffer->info[i].codepoint, &exit_x, &exit_y); - (this+next_record.entryAnchor).get_anchor (c->font, buffer->info[j].codepoint, &entry_x, &entry_y); + (this+this_record.exitAnchor).get_anchor (c, buffer->info[i].codepoint, &exit_x, &exit_y); + (this+next_record.entryAnchor).get_anchor (c, buffer->info[j].codepoint, &entry_x, &entry_y); hb_glyph_position_t *pos = buffer->pos; @@ -1519,8 +1518,6 @@ const OffsetTo<PosLookupList> &list = CastR<OffsetTo<PosLookupList> > (lookupList); return_trace (list.sanitize (c, this)); } - public: - DEFINE_SIZE_STATIC (10); };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-layout-gsub-table.hh b/third_party/harfbuzz-ng/src/hb-ot-layout-gsub-table.hh index 22031f4..66fcb3f3 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-layout-gsub-table.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-layout-gsub-table.hh
@@ -41,7 +41,10 @@ { TRACE_CLOSURE (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + /* TODO Switch to range-based API to work around malicious fonts. + * https://github.com/behdad/harfbuzz/issues/363 */ hb_codepoint_t glyph_id = iter.get_glyph (); if (c->glyphs->has (glyph_id)) c->glyphs->add ((glyph_id + deltaGlyphID) & 0xFFFFu); @@ -52,7 +55,10 @@ { TRACE_COLLECT_GLYPHS (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + /* TODO Switch to range-based API to work around malicious fonts. + * https://github.com/behdad/harfbuzz/issues/363 */ hb_codepoint_t glyph_id = iter.get_glyph (); c->input->add (glyph_id); c->output->add ((glyph_id + deltaGlyphID) & 0xFFFFu); @@ -120,7 +126,11 @@ { TRACE_CLOSURE (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + unsigned int count = substitute.len; + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + if (unlikely (iter.get_coverage () >= count)) + break; /* Work around malicious fonts. https://github.com/behdad/harfbuzz/issues/363 */ if (c->glyphs->has (iter.get_glyph ())) c->glyphs->add (substitute[iter.get_coverage ()]); } @@ -130,7 +140,11 @@ { TRACE_COLLECT_GLYPHS (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + unsigned int count = substitute.len; + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + if (unlikely (iter.get_coverage () >= count)) + break; /* Work around malicious fonts. https://github.com/behdad/harfbuzz/issues/363 */ c->input->add (iter.get_glyph ()); c->output->add (substitute[iter.get_coverage ()]); } @@ -321,7 +335,11 @@ { TRACE_CLOSURE (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + unsigned int count = sequence.len; + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + if (unlikely (iter.get_coverage () >= count)) + break; /* Work around malicious fonts. https://github.com/behdad/harfbuzz/issues/363 */ if (c->glyphs->has (iter.get_glyph ())) (this+sequence[iter.get_coverage ()]).closure (c); } @@ -439,7 +457,11 @@ { TRACE_CLOSURE (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + unsigned int count = alternateSet.len; + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + if (unlikely (iter.get_coverage () >= count)) + break; /* Work around malicious fonts. https://github.com/behdad/harfbuzz/issues/363 */ if (c->glyphs->has (iter.get_glyph ())) { const AlternateSet &alt_set = this+alternateSet[iter.get_coverage ()]; unsigned int count = alt_set.len; @@ -453,7 +475,11 @@ { TRACE_COLLECT_GLYPHS (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + unsigned int count = alternateSet.len; + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + if (unlikely (iter.get_coverage () >= count)) + break; /* Work around malicious fonts. https://github.com/behdad/harfbuzz/issues/363 */ c->input->add (iter.get_glyph ()); const AlternateSet &alt_set = this+alternateSet[iter.get_coverage ()]; unsigned int count = alt_set.len; @@ -762,7 +788,11 @@ { TRACE_CLOSURE (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + unsigned int count = ligatureSet.len; + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + if (unlikely (iter.get_coverage () >= count)) + break; /* Work around malicious fonts. https://github.com/behdad/harfbuzz/issues/363 */ if (c->glyphs->has (iter.get_glyph ())) (this+ligatureSet[iter.get_coverage ()]).closure (c); } @@ -772,7 +802,11 @@ { TRACE_COLLECT_GLYPHS (this); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + unsigned int count = ligatureSet.len; + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + if (unlikely (iter.get_coverage () >= count)) + break; /* Work around malicious fonts. https://github.com/behdad/harfbuzz/issues/363 */ c->input->add (iter.get_glyph ()); (this+ligatureSet[iter.get_coverage ()]).collect_glyphs (c); } @@ -923,7 +957,11 @@ const ArrayOf<GlyphID> &substitute = StructAfter<ArrayOf<GlyphID> > (lookahead); Coverage::Iter iter; - for (iter.init (this+coverage); iter.more (); iter.next ()) { + count = substitute.len; + for (iter.init (this+coverage); iter.more (); iter.next ()) + { + if (unlikely (iter.get_coverage () >= count)) + break; /* Work around malicious fonts. https://github.com/behdad/harfbuzz/issues/363 */ if (c->glyphs->has (iter.get_glyph ())) c->glyphs->add (substitute[iter.get_coverage ()]); } @@ -1273,8 +1311,6 @@ const OffsetTo<SubstLookupList> &list = CastR<OffsetTo<SubstLookupList> > (lookupList); return_trace (list.sanitize (c, this)); } - public: - DEFINE_SIZE_STATIC (10); }; @@ -1285,28 +1321,10 @@ const GDEF &gdef = *hb_ot_layout_from_face (font->face)->gdef; unsigned int count = buffer->len; - hb_glyph_info_t *info = buffer->info; for (unsigned int i = 0; i < count; i++) { - unsigned int props = gdef.get_glyph_props (info[i].codepoint); - if (!props) - { - /* Never mark default-ignorables as marks. - * They won't get in the way of lookups anyway, - * but having them as mark will cause them to be skipped - * over if the lookup-flag says so, but at least for the - * Mongolian variation selectors, looks like Uniscribe - * marks them as non-mark. Some Mongolian fonts without - * GDEF rely on this. Another notable character that - * this applies to is COMBINING GRAPHEME JOINER. */ - props = (_hb_glyph_info_get_general_category (&info[i]) != - HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK || - _hb_glyph_info_is_default_ignorable (&info[i])) ? - HB_OT_LAYOUT_GLYPH_PROPS_BASE_GLYPH : - HB_OT_LAYOUT_GLYPH_PROPS_MARK; - } - _hb_glyph_info_set_glyph_props (&info[i], props); - _hb_glyph_info_clear_lig_props (&info[i]); + _hb_glyph_info_set_glyph_props (&buffer->info[i], gdef.get_glyph_props (buffer->info[i].codepoint)); + _hb_glyph_info_clear_lig_props (&buffer->info[i]); buffer->info[i].syllable() = 0; } }
diff --git a/third_party/harfbuzz-ng/src/hb-ot-layout-gsubgpos-private.hh b/third_party/harfbuzz-ng/src/hb-ot-layout-gsubgpos-private.hh index 997d225..fd75c54 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-layout-gsubgpos-private.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-layout-gsubgpos-private.hh
@@ -469,6 +469,7 @@ unsigned int lookup_props; const GDEF &gdef; bool has_glyph_classes; + const VariationStore &var_store; skipping_iterator_t iter_input, iter_context; unsigned int lookup_index; unsigned int debug_depth; @@ -487,6 +488,7 @@ lookup_props (0), gdef (*hb_ot_layout_from_face (face)->gdef), has_glyph_classes (gdef.has_glyph_classes ()), + var_store (gdef.get_var_store ()), iter_input (), iter_context (), lookup_index ((unsigned int) -1), @@ -999,8 +1001,12 @@ end = int (end) + delta; if (end <= match_positions[idx]) { + /* End might end up being smaller than match_positions[idx] if the recursed + * lookup ended up removing many items, more than we have had matched. + * Just never rewind end back and get out of here. + * https://bugs.chromium.org/p/chromium/issues/detail?id=659496 */ + end = match_positions[idx]; /* There can't be any further changes. */ - assert (end == match_positions[idx]); break; } @@ -2269,6 +2275,24 @@ inline const Lookup& get_lookup (unsigned int i) const { return (this+lookupList)[i]; } + inline bool find_variations_index (const int *coords, unsigned int num_coords, + unsigned int *index) const + { return (version.to_int () >= 0x00010001u ? this+featureVars : Null(FeatureVariations)) + .find_index (coords, num_coords, index); } + inline const Feature& get_feature_variation (unsigned int feature_index, + unsigned int variations_index) const + { + if (FeatureVariations::NOT_FOUND_INDEX != variations_index && + version.to_int () >= 0x00010001u) + { + const Feature *feature = (this+featureVars).find_substitute (variations_index, + feature_index); + if (feature) + return *feature; + } + return get_feature (feature_index); + } + inline bool sanitize (hb_sanitize_context_t *c) const { TRACE_SANITIZE (this); @@ -2276,7 +2300,8 @@ likely (version.major == 1) && scriptList.sanitize (c, this) && featureList.sanitize (c, this) && - lookupList.sanitize (c, this)); + lookupList.sanitize (c, this) && + (version.to_int () < 0x00010001u || featureVars.sanitize (c, this))); } protected: @@ -2288,8 +2313,13 @@ featureList; /* FeatureList table */ OffsetTo<LookupList> lookupList; /* LookupList table */ + OffsetTo<FeatureVariations, ULONG> + featureVars; /* Offset to Feature Variations + table--from beginning of table + * (may be NULL). Introduced + * in version 0x00010001. */ public: - DEFINE_SIZE_STATIC (10); + DEFINE_SIZE_MIN (10); };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-layout.cc b/third_party/harfbuzz-ng/src/hb-ot-layout.cc index 0501181a..145ec76 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-layout.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-layout.cc
@@ -35,7 +35,6 @@ #include "hb-ot-layout-gsub-table.hh" #include "hb-ot-layout-gpos-table.hh" #include "hb-ot-layout-jstf-table.hh" -#include "hb-ot-layout-math-table.hh" #include "hb-ot-map-private.hh" @@ -205,31 +204,6 @@ if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return OT::Null(OT::GPOS); return *hb_ot_layout_from_face (face)->gpos; } -static inline const OT::MATH& -_get_math (hb_face_t *face) -{ - if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return OT::Null(OT::MATH); - - hb_ot_layout_t * layout = hb_ot_layout_from_face (face); - -retry: - const OT::MATH *math = (const OT::MATH *) hb_atomic_ptr_get (&layout->math); - - if (unlikely (!math)) - { - hb_blob_t *blob = OT::Sanitizer<OT::MATH>::sanitize (face->reference_table (HB_OT_TAG_MATH)); - math = OT::Sanitizer<OT::MATH>::lock_instance (blob); - if (!hb_atomic_ptr_cmpexch (&layout->math, NULL, math)) - { - hb_blob_destroy (blob); - goto retry; - } - layout->math_blob = blob; - } - - return *math; -} - /* * GDEF @@ -582,10 +556,13 @@ unsigned int *lookup_count /* IN/OUT */, unsigned int *lookup_indexes /* OUT */) { - const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); - const OT::Feature &f = g.get_feature (feature_index); - - return f.get_lookup_indexes (start_offset, lookup_count, lookup_indexes); + return hb_ot_layout_feature_with_variations_get_lookups (face, + table_tag, + feature_index, + HB_OT_LAYOUT_NO_VARIATIONS_INDEX, + start_offset, + lookup_count, + lookup_indexes); } /** @@ -836,6 +813,38 @@ } +/* Variations support */ + +hb_bool_t +hb_ot_layout_table_find_feature_variations (hb_face_t *face, + hb_tag_t table_tag, + const int *coords, + unsigned int num_coords, + unsigned int *variations_index /* out */) +{ + const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); + + return g.find_variations_index (coords, num_coords, variations_index); +} + +unsigned int +hb_ot_layout_feature_with_variations_get_lookups (hb_face_t *face, + hb_tag_t table_tag, + unsigned int feature_index, + unsigned int variations_index, + unsigned int start_offset, + unsigned int *lookup_count /* IN/OUT */, + unsigned int *lookup_indexes /* OUT */) +{ + ASSERT_STATIC (OT::FeatureVariations::NOT_FOUND_INDEX == HB_OT_LAYOUT_NO_VARIATIONS_INDEX); + const OT::GSUBGPOS &g = get_gsubgpos_table (face, table_tag); + + const OT::Feature &f = g.get_feature_variation (feature_index, variations_index); + + return f.get_lookup_indexes (start_offset, lookup_count, lookup_indexes); +} + + /* * OT::GSUB */ @@ -1220,221 +1229,3 @@ { apply_string<GSUBProxy> (c, lookup, accel); } - - -/* - * MATH - */ -/* TODO Move this to hb-ot-math.cc and separate it from hb_ot_layout_t. */ - -/** - * hb_ot_math_has_data: - * @face: #hb_face_t to test - * - * This function allows to verify the presence of an OpenType MATH table on the - * face. If so, such a table will be loaded into memory and sanitized. You can - * then safely call other functions for math layout and shaping. - * - * Return value: #TRUE if face has a MATH table and #FALSE otherwise - * - * Since: 1.3.3 - **/ -hb_bool_t -hb_ot_math_has_data (hb_face_t *face) -{ - return &_get_math (face) != &OT::Null(OT::MATH); -} - -/** - * hb_ot_math_get_constant: - * @font: #hb_font_t from which to retrieve the value - * @constant: #hb_ot_math_constant_t the constant to retrieve - * - * This function returns the requested math constants as a #hb_position_t. - * If the request constant is HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN, - * HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN or - * HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN then the return value is - * actually an integer between 0 and 100 representing that percentage. - * - * Return value: the requested constant or 0 - * - * Since: 1.3.3 - **/ -hb_position_t -hb_ot_math_get_constant (hb_font_t *font, - hb_ot_math_constant_t constant) -{ - const OT::MATH &math = _get_math (font->face); - return math.get_constant(constant, font); -} - -/** - * hb_ot_math_get_glyph_italics_correction: - * @font: #hb_font_t from which to retrieve the value - * @glyph: glyph index from which to retrieve the value - * - * Return value: the italics correction of the glyph or 0 - * - * Since: 1.3.3 - **/ -hb_position_t -hb_ot_math_get_glyph_italics_correction (hb_font_t *font, - hb_codepoint_t glyph) -{ - const OT::MATH &math = _get_math (font->face); - return math.get_math_glyph_info().get_italics_correction (glyph, font); -} - -/** - * hb_ot_math_get_glyph_top_accent_attachment: - * @font: #hb_font_t from which to retrieve the value - * @glyph: glyph index from which to retrieve the value - * - * Return value: the top accent attachment of the glyph or 0 - * - * Since: 1.3.3 - **/ -hb_position_t -hb_ot_math_get_glyph_top_accent_attachment (hb_font_t *font, - hb_codepoint_t glyph) -{ - const OT::MATH &math = _get_math (font->face); - return math.get_math_glyph_info().get_top_accent_attachment (glyph, font); -} - -/** - * hb_ot_math_is_glyph_extended_shape: - * @font: a #hb_font_t to test - * @glyph: a glyph index to test - * - * Return value: #TRUE if the glyph is an extended shape and #FALSE otherwise - * - * Since: 1.3.3 - **/ -hb_bool_t -hb_ot_math_is_glyph_extended_shape (hb_face_t *face, - hb_codepoint_t glyph) -{ - const OT::MATH &math = _get_math (face); - return math.get_math_glyph_info().is_extended_shape (glyph); -} - -/** - * hb_ot_math_get_glyph_kerning: - * @font: #hb_font_t from which to retrieve the value - * @glyph: glyph index from which to retrieve the value - * @kern: the #hb_ot_math_kern_t from which to retrieve the value - * @correction_height: the correction height to use to determine the kerning. - * - * This function tries to retrieve the MathKern table for the specified font, - * glyph and #hb_ot_math_kern_t. Then it browses the list of heights from the - * MathKern table to find one value that is greater or equal to specified - * correction_height. If one is found the corresponding value from the list of - * kerns is returned and otherwise the last kern value is returned. - * - * Return value: requested kerning or 0 - * - * Since: 1.3.3 - **/ -hb_position_t -hb_ot_math_get_glyph_kerning (hb_font_t *font, - hb_codepoint_t glyph, - hb_ot_math_kern_t kern, - hb_position_t correction_height) -{ - const OT::MATH &math = _get_math (font->face); - return math.get_math_glyph_info().get_kerning (glyph, kern, correction_height, font); -} - -/** - * hb_ot_math_get_glyph_variants: - * @font: #hb_font_t from which to retrieve the values - * @glyph: index of the glyph to stretch - * @direction: direction of the stretching - * @start_offset: offset of the first variant to retrieve - * @variants_count: maximum number of variants to retrieve after start_offset - * (IN) and actual number of variants retrieved (OUT) - * @variants: array of size at least @variants_count to store the result - * - * This function tries to retrieve the MathGlyphConstruction for the specified - * font, glyph and direction. Note that only the value of - * #HB_DIRECTION_IS_HORIZONTAL is considered. It provides the corresponding list - * of size variants as an array of hb_ot_math_glyph_variant_t structs. - * - * Return value: the total number of size variants available or 0 - * - * Since: 1.3.3 - **/ -unsigned int -hb_ot_math_get_glyph_variants (hb_font_t *font, - hb_codepoint_t glyph, - hb_direction_t direction, - unsigned int start_offset, - unsigned int *variants_count, /* IN/OUT */ - hb_ot_math_glyph_variant_t *variants /* OUT */) -{ - const OT::MATH &math = _get_math (font->face); - return math.get_math_variants().get_glyph_variants (glyph, direction, font, - start_offset, - variants_count, - variants); -} - -/** - * hb_ot_math_get_min_connector_overlap: - * @font: #hb_font_t from which to retrieve the value - * @direction: direction of the stretching - * - * This function tries to retrieve the MathVariants table for the specified - * font and returns the minimum overlap of connecting glyphs to draw a glyph - * assembly in the specified direction. Note that only the value of - * #HB_DIRECTION_IS_HORIZONTAL is considered. - * - * Return value: requested min connector overlap or 0 - * - * Since: 1.3.3 - **/ -hb_position_t -hb_ot_math_get_min_connector_overlap (hb_font_t *font, - hb_direction_t direction) -{ - const OT::MATH &math = _get_math (font->face); - return math.get_math_variants().get_min_connector_overlap (direction, font); -} - -/** - * hb_ot_math_get_glyph_assembly: - * @font: #hb_font_t from which to retrieve the values - * @glyph: index of the glyph to stretch - * @direction: direction of the stretching - * @start_offset: offset of the first glyph part to retrieve - * @parts_count: maximum number of glyph parts to retrieve after start_offset - * (IN) and actual number of parts retrieved (OUT) - * @parts: array of size at least @parts_count to store the result - * @italics_correction: italic correction of the glyph assembly - * - * This function tries to retrieve the GlyphAssembly for the specified font, - * glyph and direction. Note that only the value of #HB_DIRECTION_IS_HORIZONTAL - * is considered. It provides the information necessary to draw the glyph - * assembly as an array of #hb_ot_math_glyph_part_t. - * - * Return value: the total number of parts in the glyph assembly - * - * Since: 1.3.3 - **/ -unsigned int -hb_ot_math_get_glyph_assembly (hb_font_t *font, - hb_codepoint_t glyph, - hb_direction_t direction, - unsigned int start_offset, - unsigned int *parts_count, /* IN/OUT */ - hb_ot_math_glyph_part_t *parts, /* OUT */ - hb_position_t *italics_correction /* OUT */) -{ - const OT::MATH &math = _get_math (font->face); - return math.get_math_variants().get_glyph_parts (glyph, direction, font, - start_offset, - parts_count, - parts, - italics_correction); -}
diff --git a/third_party/harfbuzz-ng/src/hb-ot-layout.h b/third_party/harfbuzz-ng/src/hb-ot-layout.h index eb23d45b..9861f0f 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-layout.h +++ b/third_party/harfbuzz-ng/src/hb-ot-layout.h
@@ -95,6 +95,7 @@ #define HB_OT_LAYOUT_NO_SCRIPT_INDEX 0xFFFFu #define HB_OT_LAYOUT_NO_FEATURE_INDEX 0xFFFFu #define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX 0xFFFFu +#define HB_OT_LAYOUT_NO_VARIATIONS_INDEX 0xFFFFFFFFu HB_EXTERN unsigned int hb_ot_layout_table_get_script_tags (hb_face_t *face, @@ -236,6 +237,24 @@ void *user_data); #endif +/* Variations support */ + +HB_EXTERN hb_bool_t +hb_ot_layout_table_find_feature_variations (hb_face_t *face, + hb_tag_t table_tag, + const int *coords, + unsigned int num_coords, + unsigned int *variations_index /* out */); + +HB_EXTERN unsigned int +hb_ot_layout_feature_with_variations_get_lookups (hb_face_t *face, + hb_tag_t table_tag, + unsigned int feature_index, + unsigned int variations_index, + unsigned int start_offset, + unsigned int *lookup_count /* IN/OUT */, + unsigned int *lookup_indexes /* OUT */); + /* * GSUB
diff --git a/third_party/harfbuzz-ng/src/hb-ot-map-private.hh b/third_party/harfbuzz-ng/src/hb-ot-map-private.hh index 8692caa9..0395c9c 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-map-private.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-map-private.hh
@@ -139,12 +139,6 @@ private: - HB_INTERNAL void add_lookups (hb_face_t *face, - unsigned int table_index, - unsigned int feature_index, - hb_mask_t mask, - bool auto_zwj); - hb_mask_t global_mask; hb_prealloced_array_t<feature_map_t, 8> features; @@ -182,7 +176,9 @@ inline void add_gpos_pause (hb_ot_map_t::pause_func_t pause_func) { add_pause (1, pause_func); } - HB_INTERNAL void compile (struct hb_ot_map_t &m); + HB_INTERNAL void compile (hb_ot_map_t &m, + const int *coords, + unsigned int num_coords); inline void finish (void) { feature_infos.finish (); @@ -194,6 +190,14 @@ private: + HB_INTERNAL void add_lookups (hb_ot_map_t &m, + hb_face_t *face, + unsigned int table_index, + unsigned int feature_index, + unsigned int variations_index, + hb_mask_t mask, + bool auto_zwj); + struct feature_info_t { hb_tag_t tag; unsigned int seq; /* sequence#, used for stable sorting only */
diff --git a/third_party/harfbuzz-ng/src/hb-ot-map.cc b/third_party/harfbuzz-ng/src/hb-ot-map.cc index 17e3f406..9b331d52 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-map.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-map.cc
@@ -31,44 +31,13 @@ #include "hb-ot-layout-private.hh" -void -hb_ot_map_t::add_lookups (hb_face_t *face, - unsigned int table_index, - unsigned int feature_index, - hb_mask_t mask, - bool auto_zwj) +void hb_ot_map_t::collect_lookups (unsigned int table_index, hb_set_t *lookups_out) const { - unsigned int lookup_indices[32]; - unsigned int offset, len; - unsigned int table_lookup_count; - - table_lookup_count = hb_ot_layout_table_get_lookup_count (face, table_tags[table_index]); - - offset = 0; - do { - len = ARRAY_LENGTH (lookup_indices); - hb_ot_layout_feature_get_lookups (face, - table_tags[table_index], - feature_index, - offset, &len, - lookup_indices); - - for (unsigned int i = 0; i < len; i++) - { - if (lookup_indices[i] >= table_lookup_count) - continue; - hb_ot_map_t::lookup_map_t *lookup = lookups[table_index].push (); - if (unlikely (!lookup)) - return; - lookup->mask = mask; - lookup->index = lookup_indices[i]; - lookup->auto_zwj = auto_zwj; - } - - offset += len; - } while (len == ARRAY_LENGTH (lookup_indices)); + for (unsigned int i = 0; i < lookups[table_index].len; i++) + hb_set_add (lookups_out, lookups[table_index][i].index); } + hb_ot_map_builder_t::hb_ot_map_builder_t (hb_face_t *face_, const hb_segment_properties_t *props_) { @@ -109,13 +78,48 @@ info->stage[1] = current_stage[1]; } - -void hb_ot_map_t::collect_lookups (unsigned int table_index, hb_set_t *lookups_out) const +void +hb_ot_map_builder_t::add_lookups (hb_ot_map_t &m, + hb_face_t *face, + unsigned int table_index, + unsigned int feature_index, + unsigned int variations_index, + hb_mask_t mask, + bool auto_zwj) { - for (unsigned int i = 0; i < lookups[table_index].len; i++) - hb_set_add (lookups_out, lookups[table_index][i].index); + unsigned int lookup_indices[32]; + unsigned int offset, len; + unsigned int table_lookup_count; + + table_lookup_count = hb_ot_layout_table_get_lookup_count (face, table_tags[table_index]); + + offset = 0; + do { + len = ARRAY_LENGTH (lookup_indices); + hb_ot_layout_feature_with_variations_get_lookups (face, + table_tags[table_index], + feature_index, + variations_index, + offset, &len, + lookup_indices); + + for (unsigned int i = 0; i < len; i++) + { + if (lookup_indices[i] >= table_lookup_count) + continue; + hb_ot_map_t::lookup_map_t *lookup = m.lookups[table_index].push (); + if (unlikely (!lookup)) + return; + lookup->mask = mask; + lookup->index = lookup_indices[i]; + lookup->auto_zwj = auto_zwj; + } + + offset += len; + } while (len == ARRAY_LENGTH (lookup_indices)); } + void hb_ot_map_builder_t::add_pause (unsigned int table_index, hb_ot_map_t::pause_func_t pause_func) { stage_info_t *s = stages[table_index].push (); @@ -128,7 +132,9 @@ } void -hb_ot_map_builder_t::compile (hb_ot_map_t &m) +hb_ot_map_builder_t::compile (hb_ot_map_t &m, + const int *coords, + unsigned int num_coords) { m.global_mask = 1; @@ -262,23 +268,32 @@ { /* Collect lookup indices for features */ + unsigned int variations_index; + hb_ot_layout_table_find_feature_variations (face, + table_tags[table_index], + coords, + num_coords, + &variations_index); + unsigned int stage_index = 0; unsigned int last_num_lookups = 0; for (unsigned stage = 0; stage < current_stage[table_index]; stage++) { if (required_feature_index[table_index] != HB_OT_LAYOUT_NO_FEATURE_INDEX && required_feature_stage[table_index] == stage) - m.add_lookups (face, table_index, - required_feature_index[table_index], - 1 /* mask */, - true /* auto_zwj */); + add_lookups (m, face, table_index, + required_feature_index[table_index], + variations_index, + 1 /* mask */, + true /* auto_zwj */); for (unsigned i = 0; i < m.features.len; i++) if (m.features[i].stage[table_index] == stage) - m.add_lookups (face, table_index, - m.features[i].index[table_index], - m.features[i].mask, - m.features[i].auto_zwj); + add_lookups (m, face, table_index, + m.features[i].index[table_index], + variations_index, + m.features[i].mask, + m.features[i].auto_zwj); /* Sort lookups and merge duplicates */ if (last_num_lookups < m.lookups[table_index].len)
diff --git a/third_party/harfbuzz-ng/src/hb-ot-math.cc b/third_party/harfbuzz-ng/src/hb-ot-math.cc new file mode 100644 index 0000000..9ef21d29 --- /dev/null +++ b/third_party/harfbuzz-ng/src/hb-ot-math.cc
@@ -0,0 +1,272 @@ +/* + * Copyright © 2016 Igalia S.L. + * + * This is part of HarfBuzz, a text shaping library. + * + * Permission is hereby granted, without written agreement and without + * license or royalty fees, to use, copy, modify, and distribute this + * software and its documentation for any purpose, provided that the + * above copyright notice and the following two paragraphs appear in + * all copies of this software. + * + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Igalia Author(s): Frédéric Wang + */ + +#include "hb-open-type-private.hh" + +#include "hb-ot-layout-math-table.hh" + +HB_SHAPER_DATA_ENSURE_DECLARE(ot, face) + +static inline const OT::MATH& +_get_math (hb_face_t *face) +{ + if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return OT::Null(OT::MATH); + + hb_ot_layout_t * layout = hb_ot_layout_from_face (face); + +retry: + const OT::MATH *math = (const OT::MATH *) hb_atomic_ptr_get (&layout->math); + + if (unlikely (!math)) + { + hb_blob_t *blob = OT::Sanitizer<OT::MATH>::sanitize (face->reference_table (HB_OT_TAG_MATH)); + math = OT::Sanitizer<OT::MATH>::lock_instance (blob); + if (!hb_atomic_ptr_cmpexch (&layout->math, NULL, math)) + { + hb_blob_destroy (blob); + goto retry; + } + layout->math_blob = blob; + } + + return *math; +} + +/* + * OT::MATH + */ + +/** + * hb_ot_math_has_data: + * @face: #hb_face_t to test + * + * This function allows to verify the presence of an OpenType MATH table on the + * face. If so, such a table will be loaded into memory and sanitized. You can + * then safely call other functions for math layout and shaping. + * + * Return value: #TRUE if face has a MATH table and #FALSE otherwise + * + * Since: 1.3.3 + **/ +hb_bool_t +hb_ot_math_has_data (hb_face_t *face) +{ + return &_get_math (face) != &OT::Null(OT::MATH); +} + +/** + * hb_ot_math_get_constant: + * @font: #hb_font_t from which to retrieve the value + * @constant: #hb_ot_math_constant_t the constant to retrieve + * + * This function returns the requested math constants as a #hb_position_t. + * If the request constant is HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN, + * HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN or + * HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN then the return value is + * actually an integer between 0 and 100 representing that percentage. + * + * Return value: the requested constant or 0 + * + * Since: 1.3.3 + **/ +hb_position_t +hb_ot_math_get_constant (hb_font_t *font, + hb_ot_math_constant_t constant) +{ + const OT::MATH &math = _get_math (font->face); + return math.get_constant(constant, font); +} + +/** + * hb_ot_math_get_glyph_italics_correction: + * @font: #hb_font_t from which to retrieve the value + * @glyph: glyph index from which to retrieve the value + * + * Return value: the italics correction of the glyph or 0 + * + * Since: 1.3.3 + **/ +hb_position_t +hb_ot_math_get_glyph_italics_correction (hb_font_t *font, + hb_codepoint_t glyph) +{ + const OT::MATH &math = _get_math (font->face); + return math.get_math_glyph_info().get_italics_correction (glyph, font); +} + +/** + * hb_ot_math_get_glyph_top_accent_attachment: + * @font: #hb_font_t from which to retrieve the value + * @glyph: glyph index from which to retrieve the value + * + * Return value: the top accent attachment of the glyph or 0 + * + * Since: 1.3.3 + **/ +hb_position_t +hb_ot_math_get_glyph_top_accent_attachment (hb_font_t *font, + hb_codepoint_t glyph) +{ + const OT::MATH &math = _get_math (font->face); + return math.get_math_glyph_info().get_top_accent_attachment (glyph, font); +} + +/** + * hb_ot_math_is_glyph_extended_shape: + * @font: a #hb_font_t to test + * @glyph: a glyph index to test + * + * Return value: #TRUE if the glyph is an extended shape and #FALSE otherwise + * + * Since: 1.3.3 + **/ +hb_bool_t +hb_ot_math_is_glyph_extended_shape (hb_face_t *face, + hb_codepoint_t glyph) +{ + const OT::MATH &math = _get_math (face); + return math.get_math_glyph_info().is_extended_shape (glyph); +} + +/** + * hb_ot_math_get_glyph_kerning: + * @font: #hb_font_t from which to retrieve the value + * @glyph: glyph index from which to retrieve the value + * @kern: the #hb_ot_math_kern_t from which to retrieve the value + * @correction_height: the correction height to use to determine the kerning. + * + * This function tries to retrieve the MathKern table for the specified font, + * glyph and #hb_ot_math_kern_t. Then it browses the list of heights from the + * MathKern table to find one value that is greater or equal to specified + * correction_height. If one is found the corresponding value from the list of + * kerns is returned and otherwise the last kern value is returned. + * + * Return value: requested kerning or 0 + * + * Since: 1.3.3 + **/ +hb_position_t +hb_ot_math_get_glyph_kerning (hb_font_t *font, + hb_codepoint_t glyph, + hb_ot_math_kern_t kern, + hb_position_t correction_height) +{ + const OT::MATH &math = _get_math (font->face); + return math.get_math_glyph_info().get_kerning (glyph, kern, correction_height, font); +} + +/** + * hb_ot_math_get_glyph_variants: + * @font: #hb_font_t from which to retrieve the values + * @glyph: index of the glyph to stretch + * @direction: direction of the stretching + * @start_offset: offset of the first variant to retrieve + * @variants_count: maximum number of variants to retrieve after start_offset + * (IN) and actual number of variants retrieved (OUT) + * @variants: array of size at least @variants_count to store the result + * + * This function tries to retrieve the MathGlyphConstruction for the specified + * font, glyph and direction. Note that only the value of + * #HB_DIRECTION_IS_HORIZONTAL is considered. It provides the corresponding list + * of size variants as an array of hb_ot_math_glyph_variant_t structs. + * + * Return value: the total number of size variants available or 0 + * + * Since: 1.3.3 + **/ +unsigned int +hb_ot_math_get_glyph_variants (hb_font_t *font, + hb_codepoint_t glyph, + hb_direction_t direction, + unsigned int start_offset, + unsigned int *variants_count, /* IN/OUT */ + hb_ot_math_glyph_variant_t *variants /* OUT */) +{ + const OT::MATH &math = _get_math (font->face); + return math.get_math_variants().get_glyph_variants (glyph, direction, font, + start_offset, + variants_count, + variants); +} + +/** + * hb_ot_math_get_min_connector_overlap: + * @font: #hb_font_t from which to retrieve the value + * @direction: direction of the stretching + * + * This function tries to retrieve the MathVariants table for the specified + * font and returns the minimum overlap of connecting glyphs to draw a glyph + * assembly in the specified direction. Note that only the value of + * #HB_DIRECTION_IS_HORIZONTAL is considered. + * + * Return value: requested min connector overlap or 0 + * + * Since: 1.3.3 + **/ +hb_position_t +hb_ot_math_get_min_connector_overlap (hb_font_t *font, + hb_direction_t direction) +{ + const OT::MATH &math = _get_math (font->face); + return math.get_math_variants().get_min_connector_overlap (direction, font); +} + +/** + * hb_ot_math_get_glyph_assembly: + * @font: #hb_font_t from which to retrieve the values + * @glyph: index of the glyph to stretch + * @direction: direction of the stretching + * @start_offset: offset of the first glyph part to retrieve + * @parts_count: maximum number of glyph parts to retrieve after start_offset + * (IN) and actual number of parts retrieved (OUT) + * @parts: array of size at least @parts_count to store the result + * @italics_correction: italic correction of the glyph assembly + * + * This function tries to retrieve the GlyphAssembly for the specified font, + * glyph and direction. Note that only the value of #HB_DIRECTION_IS_HORIZONTAL + * is considered. It provides the information necessary to draw the glyph + * assembly as an array of #hb_ot_math_glyph_part_t. + * + * Return value: the total number of parts in the glyph assembly + * + * Since: 1.3.3 + **/ +unsigned int +hb_ot_math_get_glyph_assembly (hb_font_t *font, + hb_codepoint_t glyph, + hb_direction_t direction, + unsigned int start_offset, + unsigned int *parts_count, /* IN/OUT */ + hb_ot_math_glyph_part_t *parts, /* OUT */ + hb_position_t *italics_correction /* OUT */) +{ + const OT::MATH &math = _get_math (font->face); + return math.get_math_variants().get_glyph_parts (glyph, direction, font, + start_offset, + parts_count, + parts, + italics_correction); +}
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc index 4da899055..56ec5cd 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc
@@ -618,6 +618,7 @@ NULL, /* decompose */ NULL, /* compose */ setup_masks_arabic, + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, true, /* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-default.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-default.cc index be60e56..42830ab 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-default.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-default.cc
@@ -40,6 +40,7 @@ NULL, /* decompose */ NULL, /* compose */ NULL, /* setup_masks */ + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, true, /* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc index 5f4d98b7..eb95a28 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc
@@ -419,6 +419,7 @@ NULL, /* decompose */ NULL, /* compose */ setup_masks_hangul, + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_NONE, false, /* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hebrew.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hebrew.cc index 32159002..96f24946 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hebrew.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-hebrew.cc
@@ -154,6 +154,18 @@ return found; } +static bool +disable_otl_hebrew (const hb_ot_shape_plan_t *plan) +{ + /* For Hebrew shaper, use fallback if GPOS does not have 'hebr' + * script. This matches Uniscribe better, and makes fonts like + * Arial that have GSUB/GPOS/GDEF but no data for Hebrew work. + * See: + * https://github.com/behdad/harfbuzz/issues/347#issuecomment-267838368 + */ + return plan->map.chosen_script[1] != HB_TAG ('h','e','b','r'); +} + const hb_ot_complex_shaper_t _hb_ot_complex_shaper_hebrew = { @@ -168,6 +180,7 @@ NULL, /* decompose */ compose_hebrew, NULL, /* setup_masks */ + disable_otl_hebrew, HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, true, /* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc index 94556f6..b48fb561 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc
@@ -1713,33 +1713,28 @@ switch (ab) { /* Don't decompose these. */ - case 0x0931u : return false; - case 0x0B94u : return false; + case 0x0931u : return false; /* DEVANAGARI LETTER RRA */ + case 0x0B94u : return false; /* TAMIL LETTER AU */ /* * Decompose split matras that don't have Unicode decompositions. */ - case 0x0F77u : *a = 0x0FB2u; *b= 0x0F81u; return true; - case 0x0F79u : *a = 0x0FB3u; *b= 0x0F81u; return true; + /* Khmer */ case 0x17BEu : *a = 0x17C1u; *b= 0x17BEu; return true; case 0x17BFu : *a = 0x17C1u; *b= 0x17BFu; return true; case 0x17C0u : *a = 0x17C1u; *b= 0x17C0u; return true; case 0x17C4u : *a = 0x17C1u; *b= 0x17C4u; return true; case 0x17C5u : *a = 0x17C1u; *b= 0x17C5u; return true; - case 0x1925u : *a = 0x1920u; *b= 0x1923u; return true; - case 0x1926u : *a = 0x1920u; *b= 0x1924u; return true; - case 0x1B3Cu : *a = 0x1B42u; *b= 0x1B3Cu; return true; - case 0x1112Eu : *a = 0x11127u; *b= 0x11131u; return true; - case 0x1112Fu : *a = 0x11127u; *b= 0x11132u; return true; + #if 0 + /* Gujarati */ /* This one has no decomposition in Unicode, but needs no decomposition either. */ /* case 0x0AC9u : return false; */ + + /* Oriya */ case 0x0B57u : *a = no decomp, -> RIGHT; return true; - case 0x1C29u : *a = no decomp, -> LEFT; return true; - case 0xA9C0u : *a = no decomp, -> RIGHT; return true; - case 0x111BuF : *a = no decomp, -> ABOVE; return true; #endif } @@ -1819,6 +1814,7 @@ decompose_indic, compose_indic, setup_masks_indic, + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_NONE, false, /* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar-machine.hh b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar-machine.hh index 29fdf9a..d2fe742 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar-machine.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar-machine.hh
@@ -1,5 +1,5 @@ -#line 1 "hb-ot-shape-complex-myanmar-machine.rl" +#line 1 "../../src/hb-ot-shape-complex-myanmar-machine.rl" /* * Copyright © 2011,2012 Google, Inc. * @@ -32,7 +32,7 @@ #include "hb-private.hh" -#line 36 "hb-ot-shape-complex-myanmar-machine.hh" +#line 36 "../../src/hb-ot-shape-complex-myanmar-machine.hh.tmp" static const unsigned char _myanmar_syllable_machine_trans_keys[] = { 1u, 31u, 3u, 30u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 1u, 16u, 3u, 29u, 3u, 29u, 3u, 29u, @@ -261,11 +261,11 @@ static const int myanmar_syllable_machine_en_main = 0; -#line 36 "hb-ot-shape-complex-myanmar-machine.rl" +#line 36 "../../src/hb-ot-shape-complex-myanmar-machine.rl" -#line 93 "hb-ot-shape-complex-myanmar-machine.rl" +#line 93 "../../src/hb-ot-shape-complex-myanmar-machine.rl" #define found_syllable(syllable_type) \ @@ -285,7 +285,7 @@ int cs; hb_glyph_info_t *info = buffer->info; -#line 289 "hb-ot-shape-complex-myanmar-machine.hh" +#line 289 "../../src/hb-ot-shape-complex-myanmar-machine.hh.tmp" { cs = myanmar_syllable_machine_start; ts = 0; @@ -293,7 +293,7 @@ act = 0; } -#line 114 "hb-ot-shape-complex-myanmar-machine.rl" +#line 114 "../../src/hb-ot-shape-complex-myanmar-machine.rl" p = 0; @@ -302,7 +302,7 @@ unsigned int last = 0; unsigned int syllable_serial = 1; -#line 306 "hb-ot-shape-complex-myanmar-machine.hh" +#line 306 "../../src/hb-ot-shape-complex-myanmar-machine.hh.tmp" { int _slen; int _trans; @@ -316,7 +316,7 @@ #line 1 "NONE" {ts = p;} break; -#line 320 "hb-ot-shape-complex-myanmar-machine.hh" +#line 320 "../../src/hb-ot-shape-complex-myanmar-machine.hh.tmp" } _keys = _myanmar_syllable_machine_trans_keys + (cs<<1); @@ -335,38 +335,38 @@ switch ( _myanmar_syllable_machine_trans_actions[_trans] ) { case 7: -#line 85 "hb-ot-shape-complex-myanmar-machine.rl" +#line 85 "../../src/hb-ot-shape-complex-myanmar-machine.rl" {te = p+1;{ found_syllable (consonant_syllable); }} break; case 5: -#line 86 "hb-ot-shape-complex-myanmar-machine.rl" +#line 86 "../../src/hb-ot-shape-complex-myanmar-machine.rl" {te = p+1;{ found_syllable (non_myanmar_cluster); }} break; case 10: -#line 87 "hb-ot-shape-complex-myanmar-machine.rl" +#line 87 "../../src/hb-ot-shape-complex-myanmar-machine.rl" {te = p+1;{ found_syllable (punctuation_cluster); }} break; case 4: -#line 88 "hb-ot-shape-complex-myanmar-machine.rl" +#line 88 "../../src/hb-ot-shape-complex-myanmar-machine.rl" {te = p+1;{ found_syllable (broken_cluster); }} break; case 3: -#line 89 "hb-ot-shape-complex-myanmar-machine.rl" +#line 89 "../../src/hb-ot-shape-complex-myanmar-machine.rl" {te = p+1;{ found_syllable (non_myanmar_cluster); }} break; case 6: -#line 85 "hb-ot-shape-complex-myanmar-machine.rl" +#line 85 "../../src/hb-ot-shape-complex-myanmar-machine.rl" {te = p;p--;{ found_syllable (consonant_syllable); }} break; case 8: -#line 88 "hb-ot-shape-complex-myanmar-machine.rl" +#line 88 "../../src/hb-ot-shape-complex-myanmar-machine.rl" {te = p;p--;{ found_syllable (broken_cluster); }} break; case 9: -#line 89 "hb-ot-shape-complex-myanmar-machine.rl" +#line 89 "../../src/hb-ot-shape-complex-myanmar-machine.rl" {te = p;p--;{ found_syllable (non_myanmar_cluster); }} break; -#line 370 "hb-ot-shape-complex-myanmar-machine.hh" +#line 370 "../../src/hb-ot-shape-complex-myanmar-machine.hh.tmp" } _again: @@ -375,7 +375,7 @@ #line 1 "NONE" {ts = 0;} break; -#line 379 "hb-ot-shape-complex-myanmar-machine.hh" +#line 379 "../../src/hb-ot-shape-complex-myanmar-machine.hh.tmp" } if ( ++p != pe ) @@ -391,7 +391,7 @@ } -#line 123 "hb-ot-shape-complex-myanmar-machine.rl" +#line 123 "../../src/hb-ot-shape-complex-myanmar-machine.rl" }
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc index 577d790..bb68622e 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc
@@ -521,6 +521,7 @@ NULL, /* decompose */ NULL, /* compose */ NULL, /* setup_masks */ + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, true, /* fallback_position */ }; @@ -538,6 +539,7 @@ NULL, /* decompose */ NULL, /* compose */ setup_masks_myanmar, + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_EARLY, false, /* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-private.hh b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-private.hh index fb0c7040..39572df 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-private.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-private.hh
@@ -146,6 +146,14 @@ hb_buffer_t *buffer, hb_font_t *font); + /* disable_otl() + * Called during shape(). + * If set and returns true, GDEF/GSUB/GPOS of the font are ignored + * and fallback operations used. + * May be NULL. + */ + bool (*disable_otl) (const hb_ot_shape_plan_t *plan); + hb_ot_shape_zero_width_marks_type_t zero_width_marks; bool fallback_position;
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-thai.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-thai.cc index 4322b0d..e6f80f5 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-thai.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-thai.cc
@@ -376,6 +376,7 @@ NULL, /* decompose */ NULL, /* compose */ NULL, /* setup_masks */ + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, false,/* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-tibetan.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-tibetan.cc index a77b531..aadf59f 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-tibetan.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-tibetan.cc
@@ -57,6 +57,7 @@ NULL, /* decompose */ NULL, /* compose */ NULL, /* setup_masks */ + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, true, /* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc index 045ead52..5b19d5d7 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-complex-use.cc
@@ -559,6 +559,47 @@ } static bool +decompose_use (const hb_ot_shape_normalize_context_t *c, + hb_codepoint_t ab, + hb_codepoint_t *a, + hb_codepoint_t *b) +{ + switch (ab) + { + /* Chakma: + * Special case where the Unicode decomp gives matras in the wrong order + * for cluster validation. + */ + case 0x1112Eu : *a = 0x11127u; *b= 0x11131u; return true; + case 0x1112Fu : *a = 0x11127u; *b= 0x11132u; return true; + + /* + * Decompose split matras that don't have Unicode decompositions. + */ + + /* Limbu */ + case 0x1925u : *a = 0x1920u; *b= 0x1923u; return true; + case 0x1926u : *a = 0x1920u; *b= 0x1924u; return true; + + /* Balinese */ + case 0x1B3Cu : *a = 0x1B42u; *b= 0x1B3Cu; return true; + +#if 0 + /* Lepcha */ + case 0x1C29u : *a = no decomp, -> LEFT; return true; + + /* Javanese */ + case 0xA9C0u : *a = no decomp, -> RIGHT; return true; + + /* Sharada */ + case 0x111BFu : *a = no decomp, -> ABOVE; return true; +#endif + } + + return (bool) c->unicode->decompose (ab, a, b); +} + +static bool compose_use (const hb_ot_shape_normalize_context_t *c, hb_codepoint_t a, hb_codepoint_t b, @@ -582,9 +623,10 @@ NULL, /* preprocess_text */ NULL, /* postprocess_glyphs */ HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, - NULL, /* decompose */ + decompose_use, compose_use, setup_masks_use, + NULL, /* disable_otl */ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_EARLY, false, /* fallback_position */ };
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape-private.hh b/third_party/harfbuzz-ng/src/hb-ot-shape-private.hh index 54ac2c3..594e54c 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape-private.hh +++ b/third_party/harfbuzz-ng/src/hb-ot-shape-private.hh
@@ -77,11 +77,13 @@ map (face, &props) {} ~hb_ot_shape_planner_t (void) { map.finish (); } - inline void compile (hb_ot_shape_plan_t &plan) + inline void compile (hb_ot_shape_plan_t &plan, + const int *coords, + unsigned int num_coords) { plan.props = props; plan.shaper = shaper; - map.compile (plan.map); + map.compile (plan.map, coords, num_coords); plan.rtlm_mask = plan.map.get_1_mask (HB_TAG ('r','t','l','m')); plan.frac_mask = plan.map.get_1_mask (HB_TAG ('f','r','a','c'));
diff --git a/third_party/harfbuzz-ng/src/hb-ot-shape.cc b/third_party/harfbuzz-ng/src/hb-ot-shape.cc index 7811cb7..ddd6662 100644 --- a/third_party/harfbuzz-ng/src/hb-ot-shape.cc +++ b/third_party/harfbuzz-ng/src/hb-ot-shape.cc
@@ -69,6 +69,9 @@ { hb_ot_map_builder_t *map = &planner->map; + map->add_global_bool_feature (HB_TAG('r','v','r','n')); + map->add_gsub_pause (NULL); + switch (props->direction) { case HB_DIRECTION_LTR: map->add_global_bool_feature (HB_TAG ('l','t','r','a')); @@ -163,7 +166,9 @@ hb_ot_shaper_shape_plan_data_t * _hb_ot_shaper_shape_plan_data_create (hb_shape_plan_t *shape_plan, const hb_feature_t *user_features, - unsigned int num_user_features) + unsigned int num_user_features, + const int *coords, + unsigned int num_coords) { hb_ot_shape_plan_t *plan = (hb_ot_shape_plan_t *) calloc (1, sizeof (hb_ot_shape_plan_t)); if (unlikely (!plan)) @@ -173,9 +178,10 @@ planner.shaper = hb_ot_shape_complex_categorize (&planner); - hb_ot_shape_collect_features (&planner, &shape_plan->props, user_features, num_user_features); + hb_ot_shape_collect_features (&planner, &shape_plan->props, + user_features, num_user_features); - planner.compile (*plan); + planner.compile (*plan, coords, num_coords); if (plan->shaper->data_create) { plan->data = plan->shaper->data_create (plan); @@ -212,6 +218,8 @@ unsigned int num_user_features; /* Transient stuff */ + bool fallback_positioning; + bool fallback_glyph_classes; hb_direction_t target_direction; }; @@ -524,6 +532,32 @@ } static inline void +hb_synthesize_glyph_classes (hb_ot_shape_context_t *c) +{ + unsigned int count = c->buffer->len; + hb_glyph_info_t *info = c->buffer->info; + for (unsigned int i = 0; i < count; i++) + { + hb_ot_layout_glyph_props_flags_t klass; + + /* Never mark default-ignorables as marks. + * They won't get in the way of lookups anyway, + * but having them as mark will cause them to be skipped + * over if the lookup-flag says so, but at least for the + * Mongolian variation selectors, looks like Uniscribe + * marks them as non-mark. Some Mongolian fonts without + * GDEF rely on this. Another notable character that + * this applies to is COMBINING GRAPHEME JOINER. */ + klass = (_hb_glyph_info_get_general_category (&info[i]) != + HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK || + _hb_glyph_info_is_default_ignorable (&info[i])) ? + HB_OT_LAYOUT_GLYPH_PROPS_BASE_GLYPH : + HB_OT_LAYOUT_GLYPH_PROPS_MARK; + _hb_glyph_info_set_glyph_props (&info[i], klass); + } +} + +static inline void hb_ot_substitute_default (hb_ot_shape_context_t *c) { hb_buffer_t *buffer = c->buffer; @@ -539,7 +573,7 @@ hb_ot_shape_setup_masks (c); /* This is unfortunate to go here, but necessary... */ - if (!hb_ot_layout_has_positioning (c->face)) + if (c->fallback_positioning) _hb_ot_shape_fallback_position_recategorize_marks (c->plan, c->font, buffer); hb_ot_map_glyphs_fast (buffer); @@ -554,6 +588,9 @@ hb_ot_layout_substitute_start (c->font, buffer); + if (!hb_ot_layout_has_glyph_classes (c->face)) + hb_synthesize_glyph_classes (c); + c->plan->substitute (c->font, buffer); return; @@ -632,14 +669,12 @@ _hb_ot_shape_fallback_spaces (c->plan, c->font, c->buffer); } -static inline bool +static inline void hb_ot_position_complex (hb_ot_shape_context_t *c) { hb_ot_layout_position_start (c->font, c->buffer); - bool ret = false; unsigned int count = c->buffer->len; - bool has_positioning = (bool) hb_ot_layout_has_positioning (c->face); /* If the font has no GPOS, AND, no fallback positioning will * happen, AND, direction is forward, then when zeroing mark @@ -650,8 +685,9 @@ * If fallback positinoing happens or GPOS is present, we don't * care. */ - bool adjust_offsets_when_zeroing = !(has_positioning || c->plan->shaper->fallback_position || - HB_DIRECTION_IS_BACKWARD (c->buffer->props.direction)); + bool adjust_offsets_when_zeroing = c->fallback_positioning && + !c->plan->shaper->fallback_position && + HB_DIRECTION_IS_FORWARD (c->buffer->props.direction); switch (c->plan->shaper->zero_width_marks) { @@ -665,7 +701,7 @@ break; } - if (has_positioning) + if (likely (!c->fallback_positioning)) { hb_glyph_info_t *info = c->buffer->info; hb_glyph_position_t *pos = c->buffer->pos; @@ -688,7 +724,6 @@ &pos[i].x_offset, &pos[i].y_offset); - ret = true; } switch (c->plan->shaper->zero_width_marks) @@ -707,8 +742,6 @@ hb_ot_layout_position_finish_advances (c->font, c->buffer); hb_ot_zero_width_default_ignorables (c); hb_ot_layout_position_finish_offsets (c->font, c->buffer); - - return ret; } static inline void @@ -718,9 +751,9 @@ hb_ot_position_default (c); - hb_bool_t fallback = !hb_ot_position_complex (c); + hb_ot_position_complex (c); - if (fallback && c->plan->shaper->fallback_position) + if (c->fallback_positioning && c->plan->shaper->fallback_position) _hb_ot_shape_fallback_position (c->plan, c->font, c->buffer); if (HB_DIRECTION_IS_BACKWARD (c->buffer->props.direction)) @@ -728,7 +761,7 @@ /* Visual fallback goes here. */ - if (fallback) + if (c->fallback_positioning) _hb_ot_shape_fallback_kern (c->plan, c->font, c->buffer); _hb_buffer_deallocate_gsubgpos_vars (c->buffer); @@ -748,6 +781,11 @@ (unsigned) HB_BUFFER_MAX_LEN_MIN); } + bool disable_otl = c->plan->shaper->disable_otl && c->plan->shaper->disable_otl (c->plan); + //c->fallback_substitute = disable_otl || !hb_ot_layout_has_substitution (c->face); + c->fallback_positioning = disable_otl || !hb_ot_layout_has_positioning (c->face); + c->fallback_glyph_classes = disable_otl || !hb_ot_layout_has_glyph_classes (c->face); + /* Save the original direction, we use it later. */ c->target_direction = c->buffer->props.direction;
diff --git a/third_party/harfbuzz-ng/src/hb-private.hh b/third_party/harfbuzz-ng/src/hb-private.hh index c45be6f2..666af62 100644 --- a/third_party/harfbuzz-ng/src/hb-private.hh +++ b/third_party/harfbuzz-ng/src/hb-private.hh
@@ -689,17 +689,20 @@ fprintf (stderr, " %*s ", (unsigned int) (2 * sizeof (void *)), ""); if (indented) { -/* One may want to add ASCII version of these. See: - * https://bugs.freedesktop.org/show_bug.cgi?id=50970 */ #define VBAR "\342\224\202" /* U+2502 BOX DRAWINGS LIGHT VERTICAL */ #define VRBAR "\342\224\234" /* U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ #define DLBAR "\342\225\256" /* U+256E BOX DRAWINGS LIGHT ARC DOWN AND LEFT */ #define ULBAR "\342\225\257" /* U+256F BOX DRAWINGS LIGHT ARC UP AND LEFT */ #define LBAR "\342\225\264" /* U+2574 BOX DRAWINGS LIGHT LEFT */ - static const char bars[] = VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR; + static const char bars[] = + VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR + VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR + VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR + VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR + VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR VBAR; fprintf (stderr, "%2u %s" VRBAR "%s", level, - bars + sizeof (bars) - 1 - MIN ((unsigned int) sizeof (bars), (unsigned int) (sizeof (VBAR) - 1) * level), + bars + sizeof (bars) - 1 - MIN ((unsigned int) sizeof (bars) - 1, (unsigned int) (sizeof (VBAR) - 1) * level), level_dir ? (level_dir > 0 ? DLBAR : ULBAR) : LBAR); } else fprintf (stderr, " " VRBAR LBAR);
diff --git a/third_party/harfbuzz-ng/src/hb-shape-plan-private.hh b/third_party/harfbuzz-ng/src/hb-shape-plan-private.hh index 607da5e..aa0413a 100644 --- a/third_party/harfbuzz-ng/src/hb-shape-plan-private.hh +++ b/third_party/harfbuzz-ng/src/hb-shape-plan-private.hh
@@ -47,12 +47,17 @@ hb_feature_t *user_features; unsigned int num_user_features; + int *coords; + unsigned int num_coords; + struct hb_shaper_data_t shaper_data; }; #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS \ - , const hb_feature_t *user_features \ - , unsigned int num_user_features + , const hb_feature_t *user_features \ + , unsigned int num_user_features \ + , const int *coords \ + , unsigned int num_coords #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, shape_plan); #include "hb-shaper-list.hh" #undef HB_SHAPER_IMPLEMENT
diff --git a/third_party/harfbuzz-ng/src/hb-shape-plan.cc b/third_party/harfbuzz-ng/src/hb-shape-plan.cc index 87231fb3..600faaeb 100644 --- a/third_party/harfbuzz-ng/src/hb-shape-plan.cc +++ b/third_party/harfbuzz-ng/src/hb-shape-plan.cc
@@ -46,11 +46,14 @@ hb_shape_plan_plan (hb_shape_plan_t *shape_plan, const hb_feature_t *user_features, unsigned int num_user_features, + const int *coords, + unsigned int num_coords, const char * const *shaper_list) { DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan, - "num_features=%d shaper_list=%p", + "num_features=%d num_coords=%d shaper_list=%p", num_user_features, + num_coords, shaper_list); const hb_shaper_pair_t *shapers = _hb_shapers_get (); @@ -59,7 +62,9 @@ HB_STMT_START { \ if (hb_##shaper##_shaper_face_data_ensure (shape_plan->face_unsafe)) { \ HB_SHAPER_DATA (shaper, shape_plan) = \ - HB_SHAPER_DATA_CREATE_FUNC (shaper, shape_plan) (shape_plan, user_features, num_user_features); \ + HB_SHAPER_DATA_CREATE_FUNC (shaper, shape_plan) (shape_plan, \ + user_features, num_user_features, \ + coords, num_coords); \ shape_plan->shaper_func = _hb_##shaper##_shape; \ shape_plan->shaper_name = #shaper; \ return; \ @@ -115,14 +120,31 @@ unsigned int num_user_features, const char * const *shaper_list) { + return hb_shape_plan_create2 (face, props, + user_features, num_user_features, + NULL, 0, + shaper_list); +} + +hb_shape_plan_t * +hb_shape_plan_create2 (hb_face_t *face, + const hb_segment_properties_t *props, + const hb_feature_t *user_features, + unsigned int num_user_features, + const int *orig_coords, + unsigned int num_coords, + const char * const *shaper_list) +{ DEBUG_MSG_FUNC (SHAPE_PLAN, NULL, - "face=%p num_features=%d shaper_list=%p", + "face=%p num_features=%d num_coords=%d shaper_list=%p", face, num_user_features, + num_coords, shaper_list); hb_shape_plan_t *shape_plan; hb_feature_t *features = NULL; + int *coords = NULL; if (unlikely (!face)) face = hb_face_get_empty (); @@ -130,7 +152,14 @@ return hb_shape_plan_get_empty (); if (num_user_features && !(features = (hb_feature_t *) calloc (num_user_features, sizeof (hb_feature_t)))) return hb_shape_plan_get_empty (); - if (!(shape_plan = hb_object_create<hb_shape_plan_t> ())) { + if (num_coords && !(coords = (int *) calloc (num_coords, sizeof (int)))) + { + free (features); + return hb_shape_plan_get_empty (); + } + if (!(shape_plan = hb_object_create<hb_shape_plan_t> ())) + { + free (coords); free (features); return hb_shape_plan_get_empty (); } @@ -145,8 +174,15 @@ shape_plan->user_features = features; if (num_user_features) memcpy (features, user_features, num_user_features * sizeof (hb_feature_t)); + shape_plan->num_coords = num_coords; + shape_plan->coords = coords; + if (num_coords) + memcpy (coords, orig_coords, num_coords * sizeof (int)); - hb_shape_plan_plan (shape_plan, user_features, num_user_features, shaper_list); + hb_shape_plan_plan (shape_plan, + user_features, num_user_features, + coords, num_coords, + shaper_list); return shape_plan; } @@ -176,6 +212,9 @@ NULL, /* user_features */ 0, /* num_user_featurs */ + NULL, /* coords */ + 0, /* num_coords */ + { #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_INVALID, #include "hb-shaper-list.hh" @@ -220,6 +259,7 @@ #undef HB_SHAPER_IMPLEMENT free (shape_plan->user_features); + free (shape_plan->coords); free (shape_plan); } @@ -351,6 +391,8 @@ const char * const *shaper_list; const hb_feature_t *user_features; unsigned int num_user_features; + const int *coords; + unsigned int num_coords; hb_shape_func_t *shaper_func; }; @@ -358,12 +400,26 @@ hb_shape_plan_user_features_match (const hb_shape_plan_t *shape_plan, const hb_shape_plan_proposal_t *proposal) { - if (proposal->num_user_features != shape_plan->num_user_features) return false; + if (proposal->num_user_features != shape_plan->num_user_features) + return false; for (unsigned int i = 0, n = proposal->num_user_features; i < n; i++) if (proposal->user_features[i].tag != shape_plan->user_features[i].tag || proposal->user_features[i].value != shape_plan->user_features[i].value || proposal->user_features[i].start != shape_plan->user_features[i].start || - proposal->user_features[i].end != shape_plan->user_features[i].end) return false; + proposal->user_features[i].end != shape_plan->user_features[i].end) + return false; + return true; +} + +static inline hb_bool_t +hb_shape_plan_coords_match (const hb_shape_plan_t *shape_plan, + const hb_shape_plan_proposal_t *proposal) +{ + if (proposal->num_coords != shape_plan->num_coords) + return false; + for (unsigned int i = 0, n = proposal->num_coords; i < n; i++) + if (proposal->coords[i] != shape_plan->coords[i]) + return false; return true; } @@ -373,6 +429,7 @@ { return hb_segment_properties_equal (&shape_plan->props, &proposal->props) && hb_shape_plan_user_features_match (shape_plan, proposal) && + hb_shape_plan_coords_match (shape_plan, proposal) && ((shape_plan->default_shaper_list && proposal->shaper_list == NULL) || (shape_plan->shaper_func == proposal->shaper_func)); } @@ -389,6 +446,13 @@ return false; } +static inline hb_bool_t +hb_coords_present (const int *coords, + unsigned int num_coords) +{ + return num_coords != 0; +} + /** * hb_shape_plan_create_cached: * @face: @@ -410,6 +474,21 @@ unsigned int num_user_features, const char * const *shaper_list) { + return hb_shape_plan_create_cached2 (face, props, + user_features, num_user_features, + NULL, 0, + shaper_list); +} + +hb_shape_plan_t * +hb_shape_plan_create_cached2 (hb_face_t *face, + const hb_segment_properties_t *props, + const hb_feature_t *user_features, + unsigned int num_user_features, + const int *coords, + unsigned int num_coords, + const char * const *shaper_list) +{ DEBUG_MSG_FUNC (SHAPE_PLAN, NULL, "face=%p num_features=%d shaper_list=%p", face, @@ -456,16 +535,21 @@ /* Not found. */ - hb_shape_plan_t *shape_plan = hb_shape_plan_create (face, props, user_features, num_user_features, shaper_list); + hb_shape_plan_t *shape_plan = hb_shape_plan_create2 (face, props, + user_features, num_user_features, + coords, num_coords, + shaper_list); /* Don't add to the cache if face is inert. */ if (unlikely (hb_object_is_inert (face))) return shape_plan; /* Don't add the plan to the cache if there were user features with non-global ranges */ - if (hb_non_global_user_features_present (user_features, num_user_features)) return shape_plan; + /* Don't add the plan to the cache if there were variation coordinates XXX Fix me. */ + if (hb_coords_present (coords, num_coords)) + return shape_plan; hb_face_t::plan_node_t *node = (hb_face_t::plan_node_t *) calloc (1, sizeof (hb_face_t::plan_node_t)); if (unlikely (!node))
diff --git a/third_party/harfbuzz-ng/src/hb-shape-plan.h b/third_party/harfbuzz-ng/src/hb-shape-plan.h index aa5e0c7..b62ae7c 100644 --- a/third_party/harfbuzz-ng/src/hb-shape-plan.h +++ b/third_party/harfbuzz-ng/src/hb-shape-plan.h
@@ -53,6 +53,25 @@ const char * const *shaper_list); HB_EXTERN hb_shape_plan_t * +hb_shape_plan_create2 (hb_face_t *face, + const hb_segment_properties_t *props, + const hb_feature_t *user_features, + unsigned int num_user_features, + const int *coords, + unsigned int num_coords, + const char * const *shaper_list); + +HB_EXTERN hb_shape_plan_t * +hb_shape_plan_create_cached2 (hb_face_t *face, + const hb_segment_properties_t *props, + const hb_feature_t *user_features, + unsigned int num_user_features, + const int *coords, + unsigned int num_coords, + const char * const *shaper_list); + + +HB_EXTERN hb_shape_plan_t * hb_shape_plan_get_empty (void); HB_EXTERN hb_shape_plan_t *
diff --git a/third_party/harfbuzz-ng/src/hb-shape.cc b/third_party/harfbuzz-ng/src/hb-shape.cc index 41a4fc5..706f144 100644 --- a/third_party/harfbuzz-ng/src/hb-shape.cc +++ b/third_party/harfbuzz-ng/src/hb-shape.cc
@@ -373,7 +373,10 @@ unsigned int num_features, const char * const *shaper_list) { - hb_shape_plan_t *shape_plan = hb_shape_plan_create_cached (font->face, &buffer->props, features, num_features, shaper_list); + hb_shape_plan_t *shape_plan = hb_shape_plan_create_cached2 (font->face, &buffer->props, + features, num_features, + font->coords, font->num_coords, + shaper_list); hb_bool_t res = hb_shape_plan_execute (shape_plan, font, buffer, features, num_features); hb_shape_plan_destroy (shape_plan);
diff --git a/third_party/harfbuzz-ng/src/hb-unicode.cc b/third_party/harfbuzz-ng/src/hb-unicode.cc index 487d10b..d553a71 100644 --- a/third_party/harfbuzz-ng/src/hb-unicode.cc +++ b/third_party/harfbuzz-ng/src/hb-unicode.cc
@@ -131,12 +131,12 @@ #define HB_UNICODE_FUNCS_IMPLEMENT(set) \ return hb_##set##_get_unicode_funcs (); -#ifdef HAVE_GLIB +#if defined(HAVE_UCDN) + HB_UNICODE_FUNCS_IMPLEMENT(ucdn) +#elif defined(HAVE_GLIB) HB_UNICODE_FUNCS_IMPLEMENT(glib) #elif defined(HAVE_ICU) && defined(HAVE_ICU_BUILTIN) HB_UNICODE_FUNCS_IMPLEMENT(icu) -#elif defined(HAVE_UCDN) - HB_UNICODE_FUNCS_IMPLEMENT(ucdn) #else #define HB_UNICODE_FUNCS_NIL 1 HB_UNICODE_FUNCS_IMPLEMENT(nil)
diff --git a/third_party/harfbuzz-ng/src/hb-version.h b/third_party/harfbuzz-ng/src/hb-version.h index 65359fdc..0cbe9470 100644 --- a/third_party/harfbuzz-ng/src/hb-version.h +++ b/third_party/harfbuzz-ng/src/hb-version.h
@@ -37,10 +37,10 @@ #define HB_VERSION_MAJOR 1 -#define HB_VERSION_MINOR 3 -#define HB_VERSION_MICRO 4 +#define HB_VERSION_MINOR 4 +#define HB_VERSION_MICRO 1 -#define HB_VERSION_STRING "1.3.4" +#define HB_VERSION_STRING "1.4.1" #define HB_VERSION_ATLEAST(major,minor,micro) \ ((major)*10000+(minor)*100+(micro) <= \
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index aae008f2..78a0d5c2 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -59413,6 +59413,16 @@ </summary> </histogram> +<histogram name="Search.GsaAccountChangeNotificationSource" + enum="GsaAccountChangeNotificationSource"> + <owner>lizeb@chromium.org</owner> + <summary> + On Android, when GSA tells Chrome about an account change, what is the + notification mechanism used, which is either the service connection, or a + broadcast. Recorded once per account change. + </summary> +</histogram> + <histogram name="Search.GsaBroadcastsAccountChanges" enum="BooleanAccountChange"> <owner>lizeb@chromium.org</owner> @@ -91777,6 +91787,11 @@ </int> </enum> +<enum name="GsaAccountChangeNotificationSource" type="int"> + <int value="0" label="Service"/> + <int value="1" label="Broadcast"/> +</enum> + <enum name="GzipEncodingFixupResult" type="int"> <int value="0" label="Gzip encoding left as-is"/> <int value="1" label="MIME type indicated GZIP content"/>