Timeline
Dec 31, 2011:
- 9:54 PM Changeset in webkit [103873] by
-
- 16 edits2 adds in trunk
Make HTMLCollections play nice after their base node is gone.
<http://webkit.org/b/75410>
Reviewed by Anders Carlsson.
Source/WebCore:
Added HTMLCollection::detachFromNode() and call that from destructors of nodes
with cached collections.
Sprinkled checks/assertions where applicable to make sure HTMLCollections are
empty after their associated node has been destroyed.
This is a slight change in behavior, as collections would previously keep
their nodes alive indefinitely. Added a test to document this.
Test: fast/dom/htmlcollection-zombies.html
- dom/Document.cpp:
(WebCore::Document::~Document):
- html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::namedItemWithIndex):
- html/HTMLCollection.cpp:
(WebCore::HTMLCollection::detachFromNode):
(WebCore::HTMLCollection::resetCollectionInfo):
(WebCore::HTMLCollection::itemAfter):
(WebCore::HTMLCollection::calcLength):
(WebCore::HTMLCollection::length):
(WebCore::HTMLCollection::item):
(WebCore::HTMLCollection::nextItem):
(WebCore::HTMLCollection::namedItem):
(WebCore::HTMLCollection::updateNameCache):
(WebCore::HTMLCollection::hasNamedItem):
(WebCore::HTMLCollection::namedItems):
(WebCore::HTMLCollection::tags):
- html/HTMLCollection.h:
- html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::calcLength):
(WebCore::HTMLFormCollection::item):
(WebCore::HTMLFormCollection::getNamedItem):
(WebCore::HTMLFormCollection::getNamedFormItem):
(WebCore::HTMLFormCollection::namedItem):
(WebCore::HTMLFormCollection::updateNameCache):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::~HTMLFormElement):
- html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::itemAfter):
- html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::add):
(WebCore::HTMLOptionsCollection::remove):
(WebCore::HTMLOptionsCollection::selectedIndex):
(WebCore::HTMLOptionsCollection::setSelectedIndex):
(WebCore::HTMLOptionsCollection::setLength):
- html/HTMLPropertiesCollection.cpp:
(WebCore::HTMLPropertiesCollection::length):
(WebCore::HTMLPropertiesCollection::item):
(WebCore::HTMLPropertiesCollection::names):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::~HTMLSelectElement):
- html/HTMLSelectElement.h:
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::~HTMLTableElement):
- html/HTMLTableElement.h:
- html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::itemAfter):
LayoutTests:
- fast/dom/htmlcollection-zombies-expected.txt: Added.
- fast/dom/htmlcollection-zombies.html: Added.
- 8:34 PM Changeset in webkit [103872] by
-
- 7 edits in trunk/Source/WebCore
HTMLCollection: Remove the constructor's custom CollectionCache* argument.
<http://webkit.org/b/75414>
Reviewed by Anders Carlsson.
We no longer need to initialize HTMLCollections with a custom CollectionCache,
so remove the argument from the constructor.
- html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
- html/HTMLCollection.h:
- html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::HTMLFormCollection):
- html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::HTMLNameCollection):
- html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
- html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
- 6:19 PM Changeset in webkit [103871] by
-
- 2 edits in trunk/Source/WebKit2
Continue trying to fix the ASSERT-enabled Windows build after r103858.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawRectToPDF):
(WebKit::WebPage::drawPagesToPDF):
- 6:07 PM Changeset in webkit [103870] by
-
- 2 edits in trunk/Source/JavaScriptCore
Continue trying to fix the Windows build after r103823.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- 5:59 PM Changeset in webkit [103869] by
-
- 2 edits in trunk/Source/WebKit2
Start trying to fix the Windows build after r103858.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::drawPDFPage):
- 5:23 PM Changeset in webkit [103868] by
-
- 2 edits in trunk/Source/JavaScriptCore
Start trying to fix the Windows build after r103823.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- 5:04 PM Changeset in webkit [103867] by
-
- 5 edits1 copy1 add in trunk
Source/WebCore: WebCore changes for: REGRESSION (WebKit2): Cursor, hover states not updated when page scrolls under stationary mouse pointer
https://bugs.webkit.org/show_bug.cgi?id=75405
Reviewed by Anders Carlsson.
Test: fast/events/frame-scroll-fake-mouse-move.html
- page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged): Added a call to
EventHandler::dispatchFakeMouseMoveEventSoon().
Source/WebKit/mac: WebKit/mac changes for: REGRESSION (WebKit2): Cursor, hover states not updated when page scrolls under stationary mouse pointer
https://bugs.webkit.org/show_bug.cgi?id=75405
Reviewed by Anders Carlsson.
Removed the WebKit/mac mechanism for dispatching fake mouse moved events
when an HTML frame scrolls, since FrameView now does this.
- WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate dealloc]): Removed an assertion about a removed ivar.
(-[WebHTMLView _updateMouseoverWithFakeEvent]): Removed call to
-_cancelUpdateMouseoverTimer.
(-[WebHTMLView _frameOrBoundsChanged]): Removed code to schedule a timer
for dispatching a mouse moved event on scroll.
(-[WebHTMLView close]): Removed call to _cancelUpdateMouseoverTimer.
(-[WebHTMLView viewWillMoveToWindow:]): Ditto.
(-[WebHTMLView mouseDown:]): Ditto.
LayoutTests: REGRESSION (WebKit2): Cursor, hover states not updated when page scrolls under stationary mouse pointer
https://bugs.webkit.org/show_bug.cgi?id=75405
Reviewed by Anders Carlsson.
- fast/events/frame-scroll-fake-mouse-move-expected.txt: Added.
- fast/events/frame-scroll-fake-mouse-move.html: Copied from
LayoutTests/fast/events/overflow-scroll-fake-mouse-move.html and adapted to page scrolling.
- 4:58 PM Changeset in webkit [103866] by
-
- 3 edits1 delete in trunk/Tools
MiniBrowser sets the WKView’s frame incorrectly
https://bugs.webkit.org/show_bug.cgi?id=75393
Reviewed by Anders Carlsson.
- MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Removed Make Launchable build phase,
which is not needed since the binray is linked with the frameworks search path set to the
built products directory.
- MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]): Changed to set the WKView’s frame to its
container’s bounds rather than its frame.
- MiniBrowser/mac/make-launchable.sh: Removed.
- 4:56 PM Changeset in webkit [103865] by
-
- 8 edits in trunk/Source/WebCore
Cache named item collections on Document, not just their caches.
<http://webkit.org/b/75403>
Reviewed by Anders Carlsson.
Keep two maps of name -> RefPtr<HTMLNameCollection> on Document. We already
had maps for the CollectionCaches and were creating the HTMLNameCollections
every time they were accessed. We now let the collections create and manage
the CollectionCaches instead of Document.
No new tests since these collections are not exposed to the web.
- dom/Document.h:
- dom/Document.cpp:
(WebCore::Document::windowNamedItems):
(WebCore::Document::documentNamedItems):
Replace the name/CollectionCache maps by name/HTMLNameCollection maps.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
Pass names as AtomicStrings to Document's collection getters.
- html/HTMLNameCollection.h:
(WebCore::HTMLNameCollection::create):
- html/HTMLNameCollection.cpp:
(WebCore::HTMLNameCollection::HTMLNameCollection):
Store the name in an AtomicString instead of a String, incidentally
making traversal of HTMLNameCollections more efficient.
- html/CollectionType.h:
Remove two now-unneeded constants.
- 4:50 PM Changeset in webkit [103864] by
-
- 5 edits in trunk/Source/WebCore
Remove Document::collectionInfo() and let collections manage their caches.
<http://webkit.org/b/75401>
Reviewed by Anders Carlsson.
Remove the CollectionCaches from Document and have the document's collections
create and manage the caches on-demand instead. This is a step towards merging
CollectionCache into HTMLCollection.
- dom/Document.h:
- dom/Document.cpp:
- html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
- html/HTMLOptionsCollection.cpp:
- 3:41 PM Changeset in webkit [103863] by
-
- 2 edits in trunk/Source/WebCore
RenderThemeMac: Avoid double hash lookup in systemColor().
<http://webkit.org/b/75409>
Reviewed by Anders Carlsson.
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor):
- 3:39 PM Changeset in webkit [103862] by
-
- 2 edits in trunk/Source/WebCore
CSSStyleSelector: Avoid double hash lookup in keyframeStylesForAnimation().
<http://webkit.org/b/75408>
Reviewed by Anders Carlsson.
- css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::keyframeStylesForAnimation):
- 3:36 PM Changeset in webkit [103861] by
-
- 2 edits in trunk/Source/WebCore
KeyframeAnimation: Use hash lookups to determine if property is animated.
<http://webkit.org/b/75407>
Reviewed by Anders Carlsson.
Clean out an old FIXME about using hash lookups instead of iterating over
the properties.
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::hasAnimationForProperty):
(WebCore::KeyframeAnimation::affectsProperty):
- 12:58 PM Changeset in webkit [103860] by
-
- 8 edits in trunk/Source
Source/WebCore: WebCore change for <rdar://problem/10463059> Cannot print USPS shipping labels
http://webkit.org/b/72801
Reviewed by Anders Carlsson and Alexey Proskuryakov.
- WebCore.exp.in: Exported Chrome::print().
Source/WebKit2: <rdar://problem/10463059> Cannot print USPS shipping labels
http://webkit.org/b/72801
Reviewed by Anders Carlsson and Alexey Proskuryakov.
- WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
(appendValuesInPDFNameSubtreeToVector): Copied from WebKit/mac/WebView/WebPDFDocumentExtras.mm.
(getAllValuesInPDFNameTree): Ditto.
(getAllScriptsInPDFDocument): Copied allScriptsInPDFDocument() from WebPDFDocumentExtras.mm
and changed it to append to a Vector<RetainPtr<CFStringRef> >.
(WebKit::BuiltInPDFView::create): Changed to take a WebFrame* rather than a Page*.
(WebKit::BuiltInPDFView::BuiltInPDFView): Ditto. Updated initializer accordingly.
(WebKit::BuiltInPDFView::pdfDocumentDidLoad): Copied and adapted code from
-[WebPDFRepresentation finishedLoadingWithDataSource:] to run scripts from the PDF with a
Doc object as the this object.
(WebKit::BuiltInPDFView::initialize): Adapted for the change from having a Page* to having
a WebFrame*.
(WebKit::BuiltInPDFView::destroy): Ditto.
(WebKit::BuiltInPDFView::isActive): Ditto.
(WebKit::jsPDFDocInitialize): Added. Refs the BuiltInPDFView which is the private object for
this Doc.
(WebKit::jsPDFDocFinalize): Added. Derefs the BuiltInPDFView for this Doc.
(WebKit::BuiltInPDFView::jsPDFDocPrint): Added. Calls WebCore::Chrome::print().
(WebKit::BuiltInPDFView::makeJSPDFDoc): Copied from WebKit/mac/WebView/WebJSPDFDoc.mm and
modified to use this BuiltInPDFView as the private object of the Doc being made.
- WebProcess/Plugins/PDF/BuiltInPDFView.h:
(WebKit::BuiltInPDFView::disconnectFromPage): Adapted for the change from having a Page* to
having a WebFrame*.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin): Pass the WebFrame to WebPage::createPlugin().
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin): Added a WebFrame* parameter, which is used when creating
a BuiltInPDFView.
- WebProcess/WebPage/WebPage.h:
- 12:44 PM Changeset in webkit [103859] by
-
- 2 edits in trunk/Source/WebKit2
<rdar://problem/8553040> REGRESSION (WebKit2): Safari status text doesn't change when you change the modifier keys without moving the mouse
https://bugs.webkit.org/show_bug.cgi?id=75404
Reviewed by Jon Honeycutt.
- UIProcess/API/mac/WKView.mm:
(-[WKView dealloc]): Remove the flags changed event monitor.
(-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Added. Similarly to
-[WebHTMLView _postFlagsChangedEvent:], creates a mouse moved event and passes it to
-mouseMoved:.
(-[WKView initWithFrame:contextRef:pageGroupRef:]): Create a local event monitor for flags
changed events.
- 12:29 PM Changeset in webkit [103858] by
-
- 19 edits in trunk/Source
Source/WebCore: WebCore changes for <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document
<http://webkit.org/b/75232>
Reviewed by Alexey Proskuryakov.
- WebCore.exp.in: Exported PluginDocument::pluginWidget().
- WebCore.xcodeproj/project.pbxproj: Promoted PluginDocument.h to private.
- html/PluginDocument.h: Fixed a typo in a comment.
Source/WebKit2: <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document
<http://webkit.org/b/75232>
Reviewed by Alexey Proskuryakov.
- UIProcess/API/C/WKPage.cpp:
(WKPageDrawPagesToPDF): Added WKPrintInfo parameter, which is passed through as a PrintInfo
to the WebPageProxy.
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/mac/WKPrintingView.mm:
(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Changed to pass the PrintInfo
down to WebPageProxy::drawPagesToPDF.
(-[WKPrintingView _drawPreview:]): Changed to pass the PrintInfo down to
WebPageProxy::drawRectToPDF.
- UIProcess/API/mac/WKView.mm:
(-[WKView canChangeFrameLayout:]): Changed to use WebFrameProxy::isDisplayingPDFDocument, which
works for subframes as well.
(-[WKView printOperationWithPrintInfo:forFrame:]): Added a FIXME.
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::isDisplayingPDFDocument): Added.
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::drawRectToPDF): Added a PrintInfo parameter, which is passed through to
the Web process.
(WebKit::WebPageProxy::drawPagesToPDF): Ditto.
- UIProcess/WebPageProxy.h:
- WebProcess/Plugins/PDF/BuiltInPDFView.h:
Added an override of pdfDocumentForPrinting() which returns the PDFDocument.
- WebProcess/Plugins/Plugin.h:
(WebKit::Plugin::pdfDocumentForPrinting): Added. This base class implementation returns 0.
- WebProcess/Plugins/PluginView.h:
(WebKit::PluginView::pdfDocumentForPrinting): Added. Calls through to the Plugin.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::pdfDocumentForPrintingFrame): Added this helper function. If the frame is displaying
a plug-in document, allows the plug-in to provide a PDF document for printing.
(WebKit::WebPage::beginPrinting): Added an early return if the frame provides a PDF document
for printing.
(WebKit::WebPage::computePagesForPrinting): If the frame provides a PDF document for printing,
create for each page in the PDF document a page rect with the size available for printing.
(WebKit::drawPDFPage): Added this helper function, which draws a page from the PDF document
into one of the aforementioned page rects. It rotates the PDF page 90 degrees if necessary to
better match the aspect ratio of the paper, then it centers it on the paper. This matches the
behavior of a PDFView when printed with default settings.
(WebKit::WebPage::drawRectToPDF): If the frame provides a PDF document for printing, draw the
PDF pages falling within the requested rect.
(WebKit::WebPage::drawPagesToPDF): If the frame provides a PDF document for printing, draw
the requested pages.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Added a PrintInfo parameter to DrawRectToPDF and
DrawPagesToPDF.
Dec 30, 2011:
- 10:02 PM Changeset in webkit [103857] by
-
- 4 edits in trunk/Source/WebKit/chromium
Allow disabling accelerated compositing in WebMediaPlayerClient (so audio-only <video> isn't accelerated).
https://bugs.webkit.org/show_bug.cgi?id=75261
Patch by Ami Fischman <fischman@chromium.org> on 2011-12-30
Reviewed by Darin Fisher.
- public/WebMediaPlayerClient.h:
- src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::disableAcceleratedCompositing):
(WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::setClient):
- src/WebMediaPlayerClientImpl.h:
- 6:56 PM Changeset in webkit [103856] by
-
- 8 edits2 adds in trunk
Cache and reuse the HTMLTableElement.rows collection.
<http://webkit.org/b/75398>
Reviewed by Anders Carlsson.
Source/WebCore:
Let HTMLTableElement::rows() cache the returned collection and tie it to the
lifetime of the form.
Test: fast/dom/table-rows-collection-idempotence.html
fast/dom/gc-9.html
- html/HTMLTableElement.h:
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::rows):
Cache the HTMLTableRowsCollection returned by rows() on the HTMLTableElement.
Remove the per-table CollectionCache and let the collection manage that.
- html/HTMLTableRowsCollection.h:
- html/HTMLTableRowsCollection.cpp:
(WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
(WebCore::HTMLTableRowsCollection::create):
Tell the base class constructor to not retain the back-pointer to the table.
LayoutTests:
- Update gc-9.html to document the new lifetime characteristics of HTMLTableElement.rows.
- Add a test to verify that HTMLTableElement.rows returns the same object when called repeatedly.
- fast/dom/gc-9-expected.txt:
- fast/dom/gc-9.html:
- fast/dom/table-rows-collection-idempotence-expected.txt: Added.
- fast/dom/table-rows-collection-idempotence.html: Added.
- 6:43 PM Changeset in webkit [103855] by
-
- 8 edits2 adds in trunk
Cache and reuse the HTMLSelectElement.options collection.
<http://webkit.org/b/75399>
Reviewed by Anders Carlsson.
Source/WebCore:
Let HTMLSelectElement::options() cache the returned collection and tie it to the
lifetime of the form. This shrinks HTMLSelectElement by sizeof(CollectionCache)
minus one pointer.
Test: fast/dom/select-options-collection-idempotence.html
fast/gc-9.html
- html/HTMLSelectElement.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::options):
Cache the HTMLOptionsCollection returned by options() on the HTMLSelectElement.
Remove the per-select CollectionCache and let the collection manage that.
- html/HTMLOptionsCollection.h:
- html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::create):
(WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
Tell the base class constructor to not retain the back-pointer to the element.
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setRecalcListItems):
- html/HTMLOptionsCollection.cpp:
(WebCore::HTMLOptionsCollection::invalidateCache):
Added so HTMLSelectElement can invalidate the collection without triggering
unnecessary instantiation of a CollectionCache.
LayoutTests:
- Update gc-9.html to document the new lifetime characteristics of HTMLSelectElement.options.
- Add a test to verify that HTMLSelectElement.options returns the same object when called repeatedly.
- fast/dom/gc-9-expected.txt:
- fast/dom/gc-9.html:
- fast/dom/select-options-collection-idempotence-expected.txt: Added.
- fast/dom/select-options-collection-idempotence.html: Added.
- 5:10 PM Changeset in webkit [103854] by
-
- 4 edits in trunk/Source/WebCore
Enable the [Supplemental] IDL on CMake
https://bugs.webkit.org/show_bug.cgi?id=75345
Reviewed by Daniel Bates.
This patch enables the [Supplemental] IDL on CMake by changing the build
flow of CMake as follows.
- Previous build flow:
foreach $idl (all IDL files) {
generate-bindings.pl depends on $idl;
generate-bindings.pl reads $idl;
generate-bindings.pl generates .h and .cpp files for $idl;
}
- New build flow (See the discussions in bug 72138 for more details):
resolve-supplemental.pl depends on all IDL files;
resolve-supplemental.pl reads all IDL files;
resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
resolve-supplemental.pl outputs supplemental_dependency.tmp;
foreach $idl (all IDL files) {
generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
generate-bindings.pl reads $idl;
generate-bindings.pl reads supplemental_dependency.tmp;
generate-bindings.pl generates .h and .cpp files for $idl,
including all attributes in the IDL files that are implementing $idl;
}
Tests: Confirm that build succeeds.
http/tests/websocket/tests/*
- CMakeLists.txt:
- UseJSC.cmake: Modified to reflect the new build flow as described above.
- UseV8.cmake: Ditto.
- 4:20 PM Changeset in webkit [103853] by
-
- 2 edits in trunk/LayoutTests
[Qt] fast/css/absolute-inline-alignment.html fails
https://bugs.webkit.org/show_bug.cgi?id=75400
Unreviewed, skipping 2 new tests on Qt after r103851.
- platform/qt/Skipped:
- 1:27 PM Changeset in webkit [103852] by
-
- 6 edits in trunk/LayoutTests
[chromium] media/track/track-cue-rendering.html fails
https://bugs.webkit.org/show_bug.cgi?id=75098
Reviewed by Dan Bernstein.
- media/media-controls.js:
(textTrackDisplayElement): Don't assume there is only one shadow DOM element used to
display captions.
- media/track/track-cue-nothing-to-render-expected.txt: Updated.
- media/track/track-cue-nothing-to-render.html: Fix the test so it checks the track
container and cue text pseudo element properties separately.
- media/track/track-cue-rendering-expected.txt: Updated for textTrackDisplayElement change.
- media/track/track-cue-rendering.html: Ditto.
- 12:58 PM Changeset in webkit [103851] by
-
- 3 edits4 adds in trunk
REGRESSION (r94492): Text is shifted to the right in some buttons in the Mac App Store
https://bugs.webkit.org/show_bug.cgi?id=74723
Reviewed by Dan Bernstein.
Source/WebCore:
Tests: fast/css/absolute-inline-alignment-2.html
fast/css/absolute-inline-alignment.html
Inline positioned elements in the leading spaces of an inline run need to align to
adjacent text, so add them to the run as they're encountered.
- rendering/RenderBlockLineLayout.cpp:
(WebCore::LineInfo::LineInfo): Keep a count of positioned objects encountered when
skipping leading whitespace.
(WebCore::LineInfo::runsFromLeadingWhitespace):
(WebCore::LineInfo::resetRunsFromLeadingWhitespace):
(WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
(WebCore::RenderBlock::constructLine): Leading positioned objects should not be considered
when deciding the number of runs in a line. Otherwise they would contribute towards line
height themselves and prevent a free-standing BR following the positioned object from providing a full
20px of height.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Since a run containing line-breaks will enter
skipLeadingWhitespace for each new line we reset the count every time so that the count of positioned
objects we encounter only affects the line they appear on. This case is covered by
fast/inline/styledEmptyInlinesWithBRs.html
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): Add a run for each inline positioned object
encountered in leading white space. Keep a count of them so that they can be excluded from
the total number of runs in constructLine.
LayoutTests:
- fast/css/absolute-inline-alignment-2-expected.html: Added.
- fast/css/absolute-inline-alignment-2.html: Added.
- fast/css/absolute-inline-alignment-expected.html: Added.
- fast/css/absolute-inline-alignment.html: Added.
- 12:53 PM Changeset in webkit [103850] by
-
- 2 edits2 moves in trunk/LayoutTests
media/video-scales-in-media-document.html is Chromium specific
https://bugs.webkit.org/show_bug.cgi?id=75079
Moves the test into platform/chromium/media and removes the Skipped
entry for gtk.
Patch by Dale Curtis <dalecurtis@chromium.org> on 2011-12-30
Reviewed by Eric Carlson.
- platform/chromium/media/video-scales-in-media-document-expected.txt: Renamed from LayoutTests/media/video-scales-in-media-document-expected.txt.
- platform/chromium/media/video-scales-in-media-document.html: Renamed from LayoutTests/media/video-scales-in-media-document.html.
- platform/gtk/Skipped:
- 12:40 PM Changeset in webkit [103849] by
-
- 3 edits in trunk/Source/WebCore
Remove unnecessary [Custom] attribute in CanvasRenderingContext2D.idl
https://bugs.webkit.org/show_bug.cgi?id=75376
Patch by Raymond Liu <raymond.liu@intel.com> on 2011-12-30
Reviewed by Adam Barth.
No new tests required.
- bindings/js/JSCanvasRenderingContext2DCustom.cpp:
- html/canvas/CanvasRenderingContext2D.idl:
- 12:15 PM Changeset in webkit [103848] by
-
- 10 edits2 adds in trunk
Cache and reuse the HTMLFormElement.elements collection.
<http://webkit.org/b/75375>
Reviewed by Anders Carlsson.
Source/WebCore:
Let HTMLFormElement::elements() cache the returned collection and tie it to the
lifetime of the form. This reduces memory consumption by ~70 kB (on 64-bit) when
viewing your average popular post on reddit.com.
Test: fast/dom/form-elements-collection-idempotence.html
fast/dom/gc-9.html
- html/HTMLFormElement.h:
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::elements):
Cache the HTMLFormCollection returned by elements() on the HTMLFormElement.
Remove the per-form CollectionCache and let the collection manage that.
- html/HTMLCollection.h:
- html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
(WebCore::HTMLCollection::create):
Have the HTMLCollection constructor take a bool argument that decides whether
we retain the base node pointer or not. This mechanism is a temporary measure
until all collection types are owned by their respective base nodes.
- html/HTMLFormCollection.h:
- html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::HTMLFormCollection):
(WebCore::HTMLFormCollection::create):
Tell the base class constructor to not retain the back-pointer to the form.
LayoutTests:
- Update gc-9.html to document the new lifetime characteristics of HTMLFormElement.elements.
- Add a test to verify that HTMLFormElement.elements returns the same object when called repeatedly.
- fast/dom/form-elements-collection-idempotence-expected.txt: Added.
- fast/dom/form-elements-collection-idempotence.html: Added.
- fast/dom/gc-9-expected.txt:
- fast/dom/gc-9.html:
- 11:08 AM Changeset in webkit [103847] by
-
- 3 edits in trunk/Source/JavaScriptCore
Add a ParamStorageTraits specialization for RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=75392
Reviewed by Daniel Bates.
- wtf/Functional.h:
Add a partial specialization of ParamStorageTraits for RetainPtr<T>.
- wtf/RetainPtr.h:
Bring in the retainPtr function template from WTF.
- 11:07 AM Changeset in webkit [103846] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed buildfix after r103841.
- inspector/InspectorMemoryAgent.cpp:
- 10:35 AM Changeset in webkit [103845] by
-
- 5 edits in trunk/Source/WebCore
CSSStyleDeclaration: Only allow setting parent rule at construction.
<http://webkit.org/b/75391>
Reviewed by Dan Bernstein.
A CSSStyleDeclaration should only ever belong to one CSSRule. Enforce this
at compile-time by replacing setParentRule(CSSRule*) with clearParentRule().
- css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::~CSSFontFaceRule):
- css/CSSStyleDeclaration.h:
(WebCore::CSSStyleDeclaration::clearParentRule):
- css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::~CSSStyleRule):
- css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
- 9:32 AM Changeset in webkit [103844] by
-
- 5 edits2 adds in trunk
WebKitCSSKeyframeRule.style.parentRule should point to the keyframe rule.
<http://webkit.org/b/75336>
Reviewed by Antti Koivisto.
Source/WebCore:
Let CSS animation keyframe rules .style.parentRule point back to the keyframe
board, rather than the keyframes rule containing it.
Test: fast/css/css-keyframe-style-parentRule.html
- css/CSSParser.cpp:
(WebCore::CSSParser::createKeyframeRule):
- css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::setDeclaration):
Set the CSSMutableStyleDeclaration's parent rule when creating it instead
of in WebKitCSSKeyframeRule::setDeclaration(). Add assertion to make sure
it's only called with declarations already parented to the keyframe rule.
- css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
(WebCore::WebKitCSSKeyframesRule::append):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
Stop reparenting keyframe rules' style declarations to the keyframes rule.
LayoutTests:
- fast/css/css-keyframe-style-parentRule-expected.txt: Added.
- fast/css/css-keyframe-style-parentRule.html: Added.
- 9:01 AM Changeset in webkit [103843] by
-
- 2 edits in trunk/Source/WebKit2
EnvironmentUtilities::stripValuesEndingWithString fails when the variable ends with the search value
https://bugs.webkit.org/show_bug.cgi?id=75389
Reviewed by Anders Carlsson.
- Platform/unix/EnvironmentUtilities.cpp:
(WebKit::EnvironmentUtilities::stripValuesEndingWithString): Fixed an off-by-1 error when
examining the character after the match.
- 5:11 AM Changeset in webkit [103842] by
-
- 2 edits in trunk/Source/WebKit/chromium
Unreviewed. Rolled DEPS.
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-30
- DEPS:
- 2:30 AM Changeset in webkit [103841] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: use typed front-end API in the memory agent
https://bugs.webkit.org/show_bug.cgi?id=75382
Memory agent now uses generate C++ API for communicating to the front-end.
Reviewed by Pavel Feldman.
- inspector/InspectorMemoryAgent.cpp:
(WebCore::DOMTreeStatistics::CounterVisitor::CounterVisitor):
(WebCore::DOMTreeStatistics::CounterVisitor::counters):
(WebCore::DOMTreeStatistics::CounterVisitor::visitNode):
- 2:29 AM Changeset in webkit [103840] by
-
- 2 edits in trunk/LayoutTests
[Chromium] Unreviewed test expectations change for nested-reflection tests.
- platform/chromium/test_expectations.txt:
- 2:17 AM Changeset in webkit [103839] by
-
- 9 edits in trunk/Source
Web Inspector: migrate from "attached" to "compact" styles.
https://bugs.webkit.org/show_bug.cgi?id=75381
Source/WebCore:
When front-end is docked to right, it should look like "detached", but is still "attached".
Use "compact" mode instead of "attached" mode in the styles to mitigate it.
Reviewed by Yury Semikhatsky.
- inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype.updateSearchLabel):
- inspector/front-end/Toolbar.js:
(WebInspector.Toolbar.prototype.set compact):
(WebInspector.Toolbar.prototype._toolbarDragStart):
(WebInspector.Toolbar.prototype._toolbarDrag):
- inspector/front-end/helpScreen.css:
(body.compact .help-window-outer):
(body.compact .help-window-main):
(body.compact .help-window-caption):
(body.compact .help-close-button):
(body.compact .help-content):
- inspector/front-end/inspector.css:
(body.compact #toolbar):
(body.compact.port-qt #toolbar):
(body.compact.inactive #toolbar):
(body.compact #search-toolbar-label):
(body.compact #toolbar-dropdown-arrow):
(body.compact #search):
(body.compact.port-qt .toolbar-item.close-left, body.compact.port-qt .toolbar-item.close-right):
(body.compact #main):
- inspector/front-end/inspector.js:
(WebInspector.set attached):
(WebInspector.get isCompactMode):
(WebInspector.get _setCompactMode):
(WebInspector._installDockToRight.listener.get if):
(WebInspector._installDockToRight.listener):
- inspector/front-end/inspectorCommon.css:
(body.dock-to-right):
(body.dock-to-right.inactive):
Source/WebKit/chromium:
Reviewed by Yury Semikhatsky.
When front-end is docked to right, it should look like "detached", but is still "attached".
Use "compact" mode instead of "attached" mode in the styles to mitigate it.
- src/js/devTools.css:
(body.compact #toolbar):
- 1:20 AM Changeset in webkit [103838] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r103794.
http://trac.webkit.org/changeset/103794
https://bugs.webkit.org/show_bug.cgi?id=75379
the ASSERT is triggered by several tests (Requested by
jchaffraix on #webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-30
- rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::addChild):
(WebCore::RenderTable::layout):
(WebCore::RenderTable::recalcSections):
(WebCore::RenderTable::outerBorderAfter):
(WebCore::RenderTable::sectionAbove):
(WebCore::RenderTable::sectionBelow):
- rendering/RenderTable.h:
(WebCore::RenderTable::header):
(WebCore::RenderTable::footer):
(WebCore::RenderTable::firstBody):
(WebCore::RenderTable::hasSections):
(WebCore::RenderTable::topSection):
- 12:43 AM Changeset in webkit [103837] by
-
- 6 edits1 delete in trunk/Source/WebKit/chromium
https://bugs.webkit.org/show_bug.cgi?id=75373
[Chromium] Remove WebWorkerClient.h
After coordinated patch in chromium, WebWorkerClient alias for WebSharedWorkerClient is no longer needed.
Reviewed by Adam Barth.
- WebKit.gyp:
- public/WebFrameClient.h:
- public/WebWorkerClient.h: Removed.
- src/WebSharedWorkerImpl.h:
- src/WebWorkerBase.cpp:
- src/WebWorkerClientImpl.h: