Index: default-filters.php
===================================================================
--- default-filters.php	(revision 35553)
+++ default-filters.php	(working copy)
@@ -458,9 +458,12 @@
 add_action( 'embed_head',             'rel_canonical'                         );
 add_action( 'embed_head',             'locale_stylesheet'                     );
 
+add_action( 'embed_footer',           'print_embed_sharing_dialog'            );
 add_action( 'embed_footer',           'print_embed_scripts'                   );
 add_action( 'embed_footer',           'wp_print_footer_scripts',        20    );
 
+add_filter( 'embed_content_share',    'print_embed_sharing_buttons'           );
+
 add_filter( 'excerpt_more',           'wp_embed_excerpt_more',          20    );
 add_filter( 'the_excerpt_embed',      'wptexturize'                           );
 add_filter( 'the_excerpt_embed',      'convert_chars'                         );
Index: embed-functions.php
===================================================================
--- embed-functions.php	(revision 35552)
+++ embed-functions.php	(working copy)
@@ -958,3 +958,218 @@
 function _oembed_filter_feed_content( $content ) {
 	return str_replace( '<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="display:none;"', '<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"', $content );
 }
+
+/**
+ * Prints the heading area of the embed template.
+ *
+ * This includes the post's title and the featured image
+ * if available. On 404, it only displays a 'Not found' heading.
+ *
+ * @since 4.4.0
+ */
+function the_embed_header() {
+	if ( is_404() ) {
+		?>
+		<p class="wp-embed-heading"><?php _e( 'Oops! That embed can&#8217;t be found.' ); ?></p>
+		<?php
+		return;
+	}
+
+	// Add post thumbnail to response if available.
+	$thumbnail_id = $shape = $image_size = false;
+
+	if ( has_post_thumbnail() ) {
+		$thumbnail_id = get_post_thumbnail_id();
+	}
+
+	if ( 'attachment' === get_post_type() && wp_attachment_is_image() ) {
+		$thumbnail_id = get_the_ID();
+	}
+
+	if ( $thumbnail_id ) {
+		$aspect_ratio = 1;
+		$measurements = array( 1, 1 );
+		$image_size   = 'full'; // Fallback.
+
+		$meta = wp_get_attachment_metadata( $thumbnail_id );
+		if ( is_array( $meta ) ) {
+			foreach ( $meta['sizes'] as $size => $data ) {
+				if ( $data['width'] / $data['height'] > $aspect_ratio ) {
+					$aspect_ratio = $data['width'] / $data['height'];
+					$measurements = array( $data['width'], $data['height'] );
+					$image_size   = $size;
+				}
+			}
+		}
+
+		/**
+		 * Filter the thumbnail image size for use in the embed template.
+		 *
+		 * @since 4.4.0
+		 *
+		 * @param string $image_size Thumbnail image size.
+		 */
+		$image_size = apply_filters( 'embed_thumbnail_image_size', $image_size );
+
+		$shape = $measurements[0] / $measurements[1] >= 1.75 ? 'rectangular' : 'square';
+
+		/**
+		 * Filter the thumbnail shape for use in the embed template.
+		 *
+		 * Rectangular images are shown above the title
+		 * while square images are shown next to the content.
+		 *
+		 * @since 4.4.0
+		 *
+		 * @param string $shape Thumbnail image shape. Either 'rectangular' or 'square'.
+		 */
+		$shape = apply_filters( 'embed_thumbnail_image_shape', $shape );
+	}
+
+	if ( $thumbnail_id && 'rectangular' === $shape ) {
+		?>
+		<div class="wp-embed-featured-image rectangular">
+			<a href="<?php the_permalink(); ?>" target="_top">
+				<?php echo wp_get_attachment_image( $thumbnail_id, $image_size ); ?>
+			</a>
+		</div>
+	<?php } ?>
+
+	<p class="wp-embed-heading"><a href="<?php the_permalink(); ?>" target="_top"><?php the_title(); ?></a></p>
+
+	<?php if ( $thumbnail_id && 'square' === $shape ) { ?>
+		<div class="wp-embed-featured-image square">
+			<a href="<?php the_permalink(); ?>" target="_top">
+				<?php echo wp_get_attachment_image( $thumbnail_id, $image_size ); ?>
+			</a>
+		</div>
+	<?php }
+}
+
+/**
+ * Prints the footer area of the embed template.
+ *
+ * This includes the site's title and
+ * sharing options if available.
+ *
+ * @since 4.4.0
+ */
+function the_embed_footer() {
+	$site_title = sprintf(
+		'<a href="%s" target="_top"><img src="%s" srcset="%s 2x" width="32" height="32" alt="" class="wp-embed-site-icon"/><span>%s</span></a>',
+		esc_url( home_url() ),
+		esc_url( get_site_icon_url( 32, admin_url( 'images/w-logo-blue.png' ) ) ),
+		esc_url( get_site_icon_url( 64, admin_url( 'images/w-logo-blue.png' ) ) ),
+		esc_html( get_bloginfo( 'name' ) )
+	);
+
+	/**
+	 * Filter the site title in the embed footer.
+	 *
+	 * @since 4.4.0
+	 *
+	 * @param string $site_title The site title markup.
+	 */
+	$site_title = apply_filters( 'embed_site_title', $site_title );
+	?>
+	<div class="wp-embed-footer">
+		<div class="wp-embed-site-title">
+			<?php echo $site_title; ?>
+		</div>
+		<?php if ( ! is_404() ) : ?>
+			<div class="wp-embed-meta">
+				<?php
+				/**
+				 * Print additional meta content in the embed template.
+				 *
+				 * @since 4.4.0
+				 */
+				do_action( 'embed_content_meta' );
+				?>
+				<?php if ( get_comments_number() || comments_open() ) : ?>
+					<div class="wp-embed-comments">
+						<a href="<?php comments_link(); ?>" target="_top">
+							<span class="dashicons dashicons-admin-comments"></span>
+							<?php
+							printf(
+								_n(
+									'%s <span class="screen-reader-text">Comment</span>',
+									'%s <span class="screen-reader-text">Comments</span>',
+									get_comments_number()
+								),
+								number_format_i18n( get_comments_number() )
+							);
+							?>
+						</a>
+					</div>
+				<?php 
+				endif;
+				do_action( 'embed_content_share' );
+				?>
+			</div>
+		<?php endif; ?>
+	</div>
+<?php
+}
+
+/**
+ * Prints the necessary markup for the embed sharing buttons.
+ *
+ * @since 4.4.0
+ */
+function print_embed_sharing_buttons() {
+	if ( is_404() ) {
+		return;
+	} ?>
+	<div class="wp-embed-share">
+		<button type="button" class="wp-embed-share-dialog-open" aria-label="<?php esc_attr_e( 'Open sharing dialog' ); ?>">
+			<span class="dashicons dashicons-share"></span>
+		</button>
+	</div>
+<?php 
+}
+
+/**
+ * Prints the necessary markup for the embed sharing dialog.
+ *
+ * @since 4.4.0
+ */
+function print_embed_sharing_dialog() {
+	if ( is_404() ) {
+		return;
+	}
+	?>
+	<div class="wp-embed-share-dialog hidden" role="dialog" aria-label="<?php esc_attr_e( 'Sharing options' ); ?>">
+		<div class="wp-embed-share-dialog-content">
+			<div class="wp-embed-share-dialog-text">
+				<ul class="wp-embed-share-tabs" role="tablist">
+					<li class="wp-embed-share-tab-button wp-embed-share-tab-button-wordpress" role="presentation">
+						<button type="button" role="tab" aria-controls="wp-embed-share-tab-wordpress" aria-selected="true" tabindex="0"><?php esc_html_e( 'WordPress Embed' ); ?></button>
+					</li>
+					<li class="wp-embed-share-tab-button wp-embed-share-tab-button-html" role="presentation">
+						<button type="button" role="tab" aria-controls="wp-embed-share-tab-html" aria-selected="false" tabindex="-1"><?php esc_html_e( 'HTML Embed' ); ?></button>
+					</li>
+				</ul>
+				<div id="wp-embed-share-tab-wordpress" class="wp-embed-share-tab" role="tabpanel" aria-hidden="false">
+					<input type="text" value="<?php the_permalink(); ?>" class="wp-embed-share-input" aria-describedby="wp-embed-share-description-wordpress" tabindex="0" readonly/>
+
+					<p class="wp-embed-share-description" id="wp-embed-share-description-wordpress">
+						<?php _e( 'Copy and paste this URL into your WordPress site to embed' ); ?>
+					</p>
+				</div>
+				<div id="wp-embed-share-tab-html" class="wp-embed-share-tab" role="tabpanel" aria-hidden="true">
+					<textarea class="wp-embed-share-input" aria-describedby="wp-embed-share-description-html" tabindex="0" readonly><?php echo esc_textarea( get_post_embed_html( 600, 400 ) ); ?></textarea>
+
+					<p class="wp-embed-share-description" id="wp-embed-share-description-html">
+						<?php _e( 'Copy and paste this code into your site to embed' ); ?>
+					</p>
+				</div>
+			</div>
+
+			<button type="button" class="wp-embed-share-dialog-close" aria-label="<?php esc_attr_e( 'Close sharing dialog' ); ?>">
+				<span class="dashicons dashicons-no"></span>
+			</button>
+		</div>
+	</div>
+	<?php
+}
