Unreviewed, rolling out r182247.
[WebKit-https.git] / Source / WebCore / ChangeLog
index afb9107..ec4697c 100644 (file)
@@ -1,3 +1,166 @@
+2015-04-01  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r182247.
+        https://bugs.webkit.org/show_bug.cgi?id=143326
+
+        unfortunately broke some tests (Requested by dino on #webkit).
+
+        Reverted changeset:
+
+        "Async loading of image resources"
+        https://bugs.webkit.org/show_bug.cgi?id=134488
+        http://trac.webkit.org/changeset/182247
+
+2015-04-01  Alex Christensen  <achristensen@webkit.org>
+
+        [Content Extensions] Only add unique universal action locations.
+        https://bugs.webkit.org/show_bug.cgi?id=143325
+
+        Reviewed by Benjamin Poulain.
+
+        * contentextensions/ContentExtensionCompiler.cpp:
+        (WebCore::ContentExtensions::compileRuleList):
+        Use a HashSet instead of a Vector for the universal action locations to remove duplicates.
+
+2015-04-01  Roger Fong  <roger_fong@apple.com>
+
+        Fixes to material of inline media controls on OSX.
+        https://bugs.webkit.org/show_bug.cgi?id=143317
+        <rdar://problem/20357847>
+
+        Reviewed by Dean Jackson.
+
+        There are many existing tests for the media controls appearance.
+        They are currently skipped while we are still updating the controls.
+
+        Expand backgrounds of control panel and volume box.
+        Clip the darker edges away.
+        * Modules/mediacontrols/mediaControlsApple.css:
+        (audio::-webkit-media-controls-panel):
+        (audio::-webkit-media-controls-panel-background-container):
+        (audio::-webkit-media-controls-panel-tint):
+        (audio::-webkit-media-controls-panel-background):
+        (audio::-webkit-media-controls-panel .volume-box):
+        (audio::-webkit-media-controls-volume-slider-container-background):
+        (audio::-webkit-media-controls-volume-slider-container-tint):
+        (audio::-webkit-media-controls-panel .volume-box:active):
+        (video::-webkit-media-controls-volume-slider): 
+        This needs to be above the background so it can be interacted with.
+        (video:-webkit-full-screen::-webkit-media-controls-panel .volume-box):
+        * Modules/mediacontrols/mediaControlsApple.js:
+        (Controller.prototype.createControls): Create a new div for the control material.
+        We need to clip the material and not the controls themselves.
+        (Controller.prototype.configureInlineControls): Use new div.
+        Remove some unnecessary logic involving hiding materials here.
+        It just causes the materials to turn on and off at the wrong times. 
+        (Controller.prototype.handlePanelTransitionEnd):
+        (Controller.prototype.setPlaying):
+        (Controller.prototype.showControls):
+        (Controller.prototype.hideControls):
+
+2015-04-01  Eric Carlson  <eric.carlson@apple.com>
+
+        Media controls should not always auto-hide
+        https://bugs.webkit.org/show_bug.cgi?id=143322
+
+        Reviewed by Dean Jackson.
+
+        * Modules/mediacontrols/mediaControlsApple.js:
+        (Controller): Intialize new properties.
+        (Controller.prototype.hideControls): Do nothing if controlsAlwaysVisible() returns true;
+        (Controller.prototype.controlsAlwaysVisible): New.
+        (Controller.prototype.controlsAreHidden): Consult controlsAlwaysVisible().
+        (Controller.prototype.currentPlaybackTargetIsWireless): Use new properties.
+        (Controller.prototype.updateWirelessTargetAvailable): Cache video.webkitCurrentPlaybackTargetIsWireless
+            and video.webkitWirelessVideoPlaybackDisabled because we know when they change and
+            use them frequently.
+        * Modules/mediacontrols/mediaControlsiOS.js:
+        (ControllerIOS.prototype.controlsAlwaysVisible): New.
+        * platform/graphics/MediaPlaybackTarget.h:
+
+2015-04-01  Alexey Proskuryakov  <ap@apple.com>
+
+        REGRESSION (r182121): SVG animation macros cause warnings in MSVC
+        https://bugs.webkit.org/show_bug.cgi?id=143313
+
+        Reviewed by Darin Adler.
+
+        * svg/SVGExternalResourcesRequired.h: Undo the change that caused a type mismatch.
+
+2015-04-01  Eric Carlson  <eric.carlson@apple.com>
+
+        Another attempt to fixi the iOS build after r182240.
+
+        Reviewed by Dean Jackson.
+
+        * platform/graphics/MediaPlaybackTarget.h:
+        (WebCore::MediaPlaybackTarget::hasActiveRoute):
+
+2015-04-01  Eric Carlson  <eric.carlson@apple.com>
+
+        Fix the iOS build after r182240.
+
+        * platform/graphics/MediaPlaybackTarget.h:
+
+2015-04-01  Yoav Weiss  <yoav@yoav.ws>
+
+        Async loading of image resources
+        https://bugs.webkit.org/show_bug.cgi?id=134488
+
+        Reviewed by Dean Jackson.
+
+        This patch changes image loading to be asynchronous (per spec), in order
+        for it to be agnostic to property setting order when it comes to src, srcset and crossorigin,
+        as well as to enable future hooking of the <picture>-based selection logic on top of it.
+
+        Tests: fast/dom/HTMLImageElement/image-load-post-onload.html
+        fast/dom/HTMLImageElement/sizes/image-sizes-js-change-reverse.html
+
+        * WebCore.xcodeproj/project.pbxproj: Change MicroTask.h to be private.
+        * bindings/js/JSEventListener.cpp:
+        (WebCore::JSEventListener::handleEvent): Add a microtask checkpoint after event handling.
+        * bindings/js/ScheduledAction.cpp:
+        (WebCore::ScheduledAction::execute): Add a microtask checkpoint after running of a scheduled action.
+        * html/HTMLImageElement.cpp:
+        (WebCore::HTMLImageElement::didMoveToNewDocument): Add the old document to call of elementDidMoveToNewDocument.
+        * html/HTMLImageLoader.cpp:
+        (WebCore::HTMLImageLoader::notifyFinished): Avoid a crash when notifyFinished is called and there's no CachedImage.
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::didMoveToNewDocument): Add the old document to call of elementDidMoveToNewDocument.
+        * html/HTMLPlugInImageElement.cpp:
+        (WebCore::HTMLPlugInImageElement::didMoveToNewDocument): Add the old document to call of elementDidMoveToNewDocument.
+        * html/HTMLVideoElement.cpp:
+        (WebCore::HTMLVideoElement::didMoveToNewDocument): Add the old document to call of elementDidMoveToNewDocument.
+        * html/parser/HTMLDocumentParser.cpp:
+        (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Add a microtask checkpoint.
+        * loader/ImageLoader.cpp: Move image resource loading to be asynchronous.
+        (WebCore::ImageLoader::ImageLoaderTask::create):
+        (WebCore::ImageLoader::ImageLoaderTask::run): Run the image loading microtask and called doUpdateFromElement.
+        (WebCore::ImageLoader::ImageLoaderTask::ImageLoaderTask):
+        (WebCore::ImageLoader::ImageLoader):
+        (WebCore::ImageLoader::doUpdateFromElement): This is split from the previous updateFromElement, and performs the actual resource loading.
+        (WebCore::ImageLoader::updateFromElement): Now only prepares the stage for the actual image resource loading.
+        (WebCore::ImageLoader::shouldLoadImmediately): If this returns true, the image resource is loaded immediately, without queueing a microtask.
+        (WebCore::ImageLoader::notifyFinished): Add asserts.
+        (WebCore::ImageLoader::elementDidMoveToNewDocument): Handle document load event counters decrementing and incrementing.
+        * loader/ImageLoader.h:
+        (WebCore::ImageLoader::imageComplete): Make sure that the image is complete only if there aren't any pending tasks.
+        (WebCore::ImageLoader::hasPendingActivity): Make sure that pending activity takes pending tasks into account.
+        (WebCore::ImageLoader::hasPendingTask): Getter to know if an ImageLoader has a pending task. (Used by the image loading microtask)
+        (WebCore::ImageLoader::createWeakPtr): Create a weakPtr to be used by the microtask, so it can called back the loader if it's still alive.
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::canRequest): Add a 'shouldBypassMainWorldContentSecurityPolicy' flag and act upon it.
+        (WebCore::CachedResourceLoader::requestImage): Add a 'shouldBypassMainWorldContentSecurityPolicy' flag.
+        (WebCore::CachedResourceLoader::requestResource): Add a 'shouldBypassMainWorldContentSecurityPolicy' flag.
+        * loader/cache/CachedResourceLoader.h:
+        (WebCore::CachedResourceLoader::canRequest): Add a 'shouldBypassMainWorldContentSecurityPolicy' flag and act upon it.
+        (WebCore::CachedResourceLoader::requestImage): Add a 'shouldBypassMainWorldContentSecurityPolicy' flag.
+        (WebCore::CachedResourceLoader::requestResource): Add a 'shouldBypassMainWorldContentSecurityPolicy' flag.
+        * svg/SVGImageElement.cpp:
+        (WebCore::SVGImageElement::didMoveToNewDocument): Add the old document to call of elementDidMoveToNewDocument.
+        * xml/parser/XMLDocumentParser.cpp:
+        (WebCore::XMLDocumentParser::end): Add a microtask checkpoint after XML finishes parsing.
+
 2015-04-01  Alex Christensen  <achristensen@webkit.org>
 
         Unreviewed build fix when using content extensions performance reporting.