1 2013-02-14 Ojan Vafai <ojan@chromium.org>
3 Implement RenderGrid::computeIntrinsicLogicalWidths
4 https://bugs.webkit.org/show_bug.cgi?id=109881
6 Reviewed by Tony Chang.
8 For now this is not observable due to the FIXMEs for unimplemented bits
9 of computePreferredLogicalWidths. But, soon, I'll be removing the computePreferredLogicalWidths
10 override entirely and instead use RenderBlock's, which will also address the
13 * rendering/RenderGrid.cpp:
14 (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
15 const_cast the usages of m_grid. Alternately, we could stack allocate it, but there's disagreement on
16 whether that's the right choice. See https://bugs.webkit.org/show_bug.cgi?id=109880.
18 (WebCore::RenderGrid::computePreferredLogicalWidths):
19 * rendering/RenderGrid.h:
22 2013-02-15 Xueqing Huang <huangxueqing@baidu.com>
24 Flexbox should ignore firstLine pseudo element.
25 https://bugs.webkit.org/show_bug.cgi?id=104485
27 Reviewed by Tony Chang.
29 Spec[1] said that "None of the properties defined in this module
30 apply to '::first-line' or '::first-letter' pseudo-elements." and
31 css2[2] define "The :first-line pseudo-element can only be attached
32 to a block container element."
33 [1]http://dev.w3.org/csswg/css3-flexbox/#display-flex
34 [2]http://www.w3.org/TR/CSS2/selector.html#first-line-pseudo
37 css3/flexbox/flexbox-ignore-firstLine.html
38 css3/flexbox/flexitem-firstLine-valid.html
39 css3/flexbox/inline-flexbox-ignore-firstLine.html
41 * rendering/RenderBlock.cpp:
42 (WebCore::RenderBlock::firstLineBlock):
44 2013-02-15 Alec Flett <alecflett@chromium.org>
46 IndexedDB: Implement SharedBuffer version of put()
47 https://bugs.webkit.org/show_bug.cgi?id=109092
49 Reviewed by Adam Barth.
51 Switch IDBDatabaseBackendInterface::put over
52 to SharedBuffer, to avoid buffer copies of the value.
54 No new tests, this is a refactor.
56 * Modules/indexeddb/IDBBackingStore.cpp:
57 (WebCore::IDBBackingStore::putRecord):
58 * Modules/indexeddb/IDBBackingStore.h:
61 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
62 (WebCore::PutOperation::create):
63 (WebCore::PutOperation::PutOperation):
65 (WebCore::IDBDatabaseBackendImpl::put):
66 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
67 (IDBDatabaseBackendImpl):
68 * Modules/indexeddb/IDBDatabaseBackendInterface.h:
70 * Modules/indexeddb/IDBObjectStore.cpp:
71 (WebCore::IDBObjectStore::put):
73 2013-02-15 Anders Carlsson <andersca@apple.com>
75 Implement StorageAreaProxy::length
76 https://bugs.webkit.org/show_bug.cgi?id=109962
78 Reviewed by Andreas Kling.
80 Export a symbol needed by WebKit2.
84 2013-02-15 Anders Carlsson <andersca@apple.com>
86 Remove const from a bunch of StorageArea member functions
87 https://bugs.webkit.org/show_bug.cgi?id=109957
89 Reviewed by Beth Dakin.
91 StorageArea is an abstract base class, and its subclasses might want to mutate the object
92 when certain member functions are called so remove const from all member functions.
94 * storage/StorageArea.h:
97 (WebCore::StorageArea::~StorageArea):
98 (WebCore::StorageArea::incrementAccessCount):
99 (WebCore::StorageArea::decrementAccessCount):
100 (WebCore::StorageArea::closeDatabaseIfIdle):
101 * storage/StorageAreaImpl.cpp:
102 (WebCore::StorageAreaImpl::canAccessStorage):
103 (WebCore::StorageAreaImpl::length):
104 (WebCore::StorageAreaImpl::key):
105 (WebCore::StorageAreaImpl::getItem):
106 (WebCore::StorageAreaImpl::contains):
107 (WebCore::StorageAreaImpl::memoryBytesUsedByCache):
108 * storage/StorageAreaImpl.h:
111 2013-02-13 Ryosuke Niwa <rniwa@webkit.org>
113 DeleteButtonController::enable and disable should be called via a RAII object
114 https://bugs.webkit.org/show_bug.cgi?id=109550
116 Reviewed by Enrica Casucci.
118 Added DeleteButtonControllerDisableScope, a friend class of DeleteButtonController,
119 and made DeleteButtonController::enable/disable private.
121 * dom/ContainerNode.cpp:
122 * editing/CompositeEditCommand.cpp:
123 (WebCore::EditCommandComposition::unapply):
124 (WebCore::EditCommandComposition::reapply):
125 (WebCore::CompositeEditCommand::apply):
126 * editing/DeleteButtonController.h:
128 (DeleteButtonController):
129 (DeleteButtonControllerDisableScope):
130 (WebCore::DeleteButtonControllerDisableScope::DeleteButtonControllerDisableScope):
131 (WebCore::DeleteButtonControllerDisableScope::~DeleteButtonControllerDisableScope):
132 * editing/markup.cpp:
133 (WebCore::createMarkup):
134 (WebCore::createFragmentFromNodes):
136 2013-02-15 Max Vujovic <mvujovic@adobe.com>
138 Add code from other branch.
140 [CSS Shaders] Parse src property in @-webkit-filter at-rules
141 https://bugs.webkit.org/show_bug.cgi?id=109770
143 Reviewed by Dean Jackson.
145 This patch implements the parsing for the CSS src property in @-webkit-filter at-rules.
147 The Filter Effects spec [1] specifies its syntax:
148 src: [ <uri> [format(<string>)]?]#
150 In practice, it can look like:
151 src: url(shader.vs) format('x-shader/x-vertex'),
152 url(shader.fs) format('x-shader/x-fragment');
154 This src property is similar to the src property in CSS font-face rules, but a little
155 different. The CSS Fonts spec [2] specifies:
156 src: [ <uri> [format(<string>#)]? | <font-face-name> ]#
157 The syntax for a <font-face-name> is a unique font face name enclosed by "local("
160 Unlike the filter src property, the font face src property accepts the local function
161 [e.g. src: local("SomeFont");]. Also, the font face src property accepts a list of strings
162 instead of just one string in its format function.
164 [1]: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-src
165 [2]: http://www.w3.org/TR/css3-fonts/#src-desc
167 Tests: css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html
168 css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html
170 * css/CSSGrammar.y.in:
171 Set (and unset) a flag called "m_inFilterRule", which tells us if we are in a
172 @-webkit-filter at-rule or in a @font-face at-rule when we encounter a src property.
173 We parse the two variants of the src property separately so that we can create different
174 objects (WebKitCSSShaderValue vs. CSSFontFaceSrcValue) and because their syntax is a
177 (WebCore::CSSParser::CSSParser):
178 (WebCore::CSSParser::parseValue):
179 (WebCore::CSSParser::parseFilterRuleSrcUriAndFormat):
180 Parses a URI and format pair found in the @-webkit-filter src property.
181 (WebCore::CSSParser::parseFilterRuleSrc):
182 Parse the @-webkit-filter src property.
185 * css/WebKitCSSShaderValue.cpp:
186 (WebCore::WebKitCSSShaderValue::customCssText):
187 WebKitCSSShaderValue now has an m_format member, which needs to be included in its
189 (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
190 * css/WebKitCSSShaderValue.h:
191 (WebCore::WebKitCSSShaderValue::format):
192 (WebCore::WebKitCSSShaderValue::setFormat):
193 (WebKitCSSShaderValue):
195 2013-02-15 Eric Carlson <eric.carlson@apple.com>
197 Crash occurs at WebCore::TextTrackList::length() when enabling closed captions in movie
198 https://bugs.webkit.org/show_bug.cgi?id=109886
200 Reviewed by Dean Jackson.
202 No new tests, media/media-captions.html does not crash with this change.
204 * html/HTMLMediaElement.cpp:
205 (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Early return when
206 m_textTracks is NULL.
208 2013-02-15 Adam Barth <abarth@webkit.org>
210 TokenPreloadScanner should be able to scan CompactHTMLTokens
211 https://bugs.webkit.org/show_bug.cgi?id=109861
213 Reviewed by Eric Seidel.
215 This patch moves the main scanning logic for the TokenPreloadScanner to
216 a templated scanCommon routine that can scan either an HTMLToken or a
217 CompactHTMLToken. This patch will let the BackgroundHTMLParser preload
218 scan its CompactHTMLTokens.
220 * html/parser/CSSPreloadScanner.cpp:
222 (WebCore::CSSPreloadScanner::scanCommon):
223 (WebCore::CSSPreloadScanner::scan):
224 * html/parser/CSSPreloadScanner.h:
226 - Tweak the CSSPreloadScanner API slightly to make it easier to
227 call from templated code.
228 * html/parser/HTMLPreloadScanner.cpp:
229 (WebCore::TokenPreloadScanner::tagIdFor):
231 (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
232 (TokenPreloadScanner::StartTagScanner):
233 (WebCore::TokenPreloadScanner::scan):
234 (WebCore::TokenPreloadScanner::scanCommon):
235 (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
236 (WebCore::HTMLPreloadScanner::scan):
237 * html/parser/HTMLPreloadScanner.h:
238 (TokenPreloadScanner):
240 2013-02-15 Alexis Menard <alexis@webkit.org>
242 WebKit shouldn't accept "none, none" in transition shorthand property.
243 https://bugs.webkit.org/show_bug.cgi?id=108751
245 Reviewed by Dean Jackson.
247 http://dev.w3.org/csswg/css3-transitions/#transition-shorthand-property
248 specifies that if there is more than one transition defined in the
249 shorthand and any of them has a value of 'none' then the declaration is
250 invalid. This patch fixes the problem by passing a parsing context to
251 track if a keyword has been set for the transition-property and if so
252 then use it to invalidate or not the declaration.
254 Test: transitions/transitions-parsing.html
257 (AnimationParseContext):
258 (WebCore::AnimationParseContext::AnimationParseContext):
259 (WebCore::AnimationParseContext::commitFirstAnimation): track whether
260 it's the first <single-transition/animation> or not defined in the
262 (WebCore::AnimationParseContext::hasCommittedFirstAnimation):
263 (WebCore::AnimationParseContext::commitAnimationPropertyKeywordInShorthand):
264 In the shorthand as soon as a keyword has been found then the parsing
265 is 'finished', if any other animation/transition declaration part of
266 the shorthand are with a keyword then it's invalid.
267 (WebCore::AnimationParseContext::animationPropertyKeywordInShorthandAllowed):
268 (WebCore::AnimationParseContext::hasSeenAnimationPropertyKeyword):
269 (WebCore::AnimationParseContext::sawAnimationPropertyKeyword):
271 (WebCore::CSSParser::parseValue):
272 (WebCore::CSSParser::parseAnimationShorthand):
273 (WebCore::CSSParser::parseTransitionShorthand):
274 (WebCore::CSSParser::parseAnimationProperty):
278 2013-02-15 Andreas Kling <akling@apple.com>
280 ElementData: Move leafy things out of the base class.
281 <http://webkit.org/b/109888>
283 Reviewed by Antti Koivisto.
285 - Moved functions for mutating/adding/removing attributes into UniqueElementData.
286 Attempts to modify shared element data will now fail at compile-time.
288 - Removed mutableAttributeVector() and have call sites access the vector directly.
290 - Move immutableAttributeArray() to ShareableElementData.
292 - Move some function bodies from Element.h to Element.cpp since all clients are in there.
295 (WebCore::Element::addAttributeInternal):
296 (WebCore::ShareableElementData::ShareableElementData):
297 (WebCore::UniqueElementData::makeShareableCopy):
298 (WebCore::UniqueElementData::addAttribute):
299 (WebCore::UniqueElementData::removeAttribute):
300 (WebCore::ElementData::reportMemoryUsage):
301 (WebCore::UniqueElementData::getAttributeItem):
302 (WebCore::UniqueElementData::attributeItem):
305 (WebCore::ShareableElementData::immutableAttributeArray):
306 (ShareableElementData):
308 (WebCore::ElementData::length):
309 (WebCore::ElementData::attributeItem):
311 2013-02-15 Hans Muller <hmuller@adobe.com>
313 [CSS Exclusions] Enable shape-inside support for circles
314 https://bugs.webkit.org/show_bug.cgi?id=109713
316 Reviewed by Dirk Schulze.
318 Removed the test that disabled circle values for shape-inside.
319 The remaining support for circles, which is based on rounded rectangles
320 whose width/height is equal to their radiusX/radiusY, has not changed.
322 Test: fast/exclusions/shape-inside/shape-inside-circle.html
324 * rendering/ExclusionShapeInsideInfo.h:
325 (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Now only disallows ellipse.
327 2013-02-15 Christophe Dumez <ch.dumez@sisa.samsung.com>
329 [Soup] Leverage new soup_cookie_jar_get_cookie_list() API
330 https://bugs.webkit.org/show_bug.cgi?id=109931
332 Reviewed by Kenneth Rohde Christiansen.
334 In several cases, the CookieJarSoup implementation was retrieving / copying ALL the
335 cookies using soup_cookie_jar_all_cookies() and then using soup_cookie_applies_to_uri()
336 to filter out cookies it is not interested in. This was inefficient.
338 In libsoup 2.40, soup_cookie_jar_get_cookie_list() was introduced to retrieve only the
339 cookies that apply to a given URI. This patch leverages this new API in CookieJarSoup's
340 getRawCookies() and deleteCookie(). This way, only the cookies we are interested in
341 are retrieved and copied. Libsoup does not need to iterate over all the cookies itself
342 because it keeps the cookies in a hash table using the host names as key.
344 No new tests, no behavior change.
346 * platform/network/soup/CookieJarSoup.cpp:
347 (WebCore::getRawCookies):
348 (WebCore::deleteCookie):
350 2013-02-15 Vladislav Kaznacheev <kaznacheev@chromium.org>
352 Web Inspector: Added an option to split Elements and Sources sidebars in two panes.
353 https://bugs.webkit.org/show_bug.cgi?id=109298.
355 Reviewed by Vsevolod Vlasov.
357 Introduced the "Split sidebar" context menu option that splits the horizontal sidebar into two panes.
358 The width split ratio is 1:1 by default and is preserved when the Inspector window is resized.
359 Elements sidebar is split into two tabbed panes, Sources sidebar is split into a pane stack and a tabbed pane.
363 * inspector/front-end/DOMBreakpointsSidebarPane.js:
364 (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
365 * inspector/front-end/ElementsPanel.js:
366 (WebInspector.ElementsPanel.get this):
367 (WebInspector.ElementsPanel):
368 (WebInspector.ElementsPanel.prototype._sidebarContextMenuEventFired):
369 (WebInspector.ElementsPanel.prototype._populateContextMenuForSidebar.toggleSetting):
370 (WebInspector.ElementsPanel.prototype.get _arrangeSidebarPanes.get this):
371 (WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):
372 * inspector/front-end/ExtensionServer.js:
373 (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
374 * inspector/front-end/ScriptsPanel.js:
375 (WebInspector.ScriptsPanel):
376 (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
377 (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
378 (WebInspector.ScriptsPanel.prototype._sidebarContextMenuEventFired):
379 (WebInspector.ScriptsPanel.prototype._populateContextMenuForSidebar.toggleSetting):
380 (WebInspector.ScriptsPanel.prototype.get _arrangeSidebarPanes.get this):
381 * inspector/front-end/SidebarPane.js:
382 (WebInspector.SidebarPane):
383 (WebInspector.SidebarPane.prototype.expand):
384 (WebInspector.SidebarPane.prototype.onContentReady):
385 (WebInspector.SidebarPane.prototype._setExpandCallback):
386 (WebInspector.SidebarPane.prototype.wasShown):
387 (WebInspector.SidebarPaneTitle):
388 (WebInspector.SidebarPaneTitle.prototype._expand):
389 (WebInspector.SidebarPaneTitle.prototype._collapse):
390 (WebInspector.SidebarPaneTitle.prototype._toggleExpanded):
391 (WebInspector.SidebarPaneTitle.prototype._onTitleKeyDown):
392 (WebInspector.SidebarPaneStack):
393 (WebInspector.SidebarPaneStack.prototype.addPane):
394 (WebInspector.SidebarTabbedPane):
395 (WebInspector.SidebarTabbedPane.prototype.addPane):
396 * inspector/front-end/SidebarView.js:
397 * inspector/front-end/SplitView.js:
398 (WebInspector.SplitView):
399 (WebInspector.SplitView.prototype.get mainElement):
400 (WebInspector.SplitView.prototype.get sidebarElement):
402 2013-02-15 Vsevolod Vlasov <vsevik@chromium.org>
404 Web Inspector: Several consecutive Backspace or Delete strikes should not be marked as undoable state.
405 https://bugs.webkit.org/show_bug.cgi?id=109915
407 Reviewed by Pavel Feldman.
409 Extracted _isEditRangeUndoBoundary() and _isEditRangeAdjacentToLastCommand() in TextEditorModel
410 to detect if markUndoableState() call is needed before and after editRange.
412 * inspector/front-end/TextEditorModel.js:
413 (WebInspector.TextRange.prototype.immediatelyPrecedes):
414 (WebInspector.TextRange.prototype.immediatelyFollows):
415 (WebInspector.TextEditorModel.endsWithBracketRegex.):
417 2013-02-15 Andrey Adaikin <aandrey@chromium.org>
419 Fix inconsistency in WebGLRenderingContext.idl for getAttribLocation
420 https://bugs.webkit.org/show_bug.cgi?id=109892
422 Reviewed by Kentaro Hara.
424 * html/canvas/WebGLRenderingContext.idl:
426 2013-02-15 Andrey Adaikin <aandrey@chromium.org>
428 Web Inspector: [Canvas] show replay log grouped by draw calls
429 https://bugs.webkit.org/show_bug.cgi?id=109592
431 Reviewed by Pavel Feldman.
433 Show canvas capturing log grouped by drawing calls.
434 Drive-by: extended Array.prototype with a handy peekLast function.
435 Drive-by: removed code dups in few places.
437 * inspector/front-end/CanvasProfileView.js:
438 (WebInspector.CanvasProfileView):
439 (WebInspector.CanvasProfileView.prototype.dispose):
440 (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
441 (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
442 (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
443 (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
444 (WebInspector.CanvasProfileView.prototype._replayTraceLog):
445 (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
446 (WebInspector.CanvasProfileView.prototype._selectedCallIndex):
447 (WebInspector.CanvasProfileView.prototype._selectedDrawCallGroupIndex):
448 (WebInspector.CanvasProfileView.prototype._appendCallNode):
449 * inspector/front-end/DataGrid.js:
450 (WebInspector.DataGrid.prototype.setColumnVisible):
451 (WebInspector.DataGridNode.prototype.set hasChildren):
452 (WebInspector.DataGridNode.prototype.set revealed):
453 (WebInspector.DataGridNode.prototype.get leftPadding):
454 * inspector/front-end/externs.js:
455 (Array.prototype.peekLast):
456 * inspector/front-end/utilities.js:
458 2013-02-15 Yury Semikhatsky <yurys@chromium.org>
460 Web Inspector: highlight record revealed in Timeline
461 https://bugs.webkit.org/show_bug.cgi?id=109930
463 Reviewed by Pavel Feldman.
465 Revealed timeline record is now highlighted with yellow background
466 that fades out in 2 seconds.
468 * inspector/front-end/TimelinePanel.js:
469 (WebInspector.TimelinePanel.prototype._revealRecord):
470 (WebInspector.TimelinePanel.prototype._refreshRecords):
471 (WebInspector.TimelinePanel.prototype._clearRecordHighlight):
472 * inspector/front-end/timelinePanel.css:
473 (.highlighted-timeline-record):
474 (@-webkit-keyframes timeline_record_highlight):
477 2013-02-15 Vsevolod Vlasov <vsevik@chromium.org>
479 Web Inspector: Pass original selection to textModel to correctly restore it after undo.
480 https://bugs.webkit.org/show_bug.cgi?id=109911
482 Reviewed by Pavel Feldman.
484 We can distinguish backspace pressed with and without selection now.
486 * inspector/front-end/DefaultTextEditor.js:
487 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
488 (WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlBackspace):
489 * inspector/front-end/TextEditorModel.js:
490 (WebInspector.TextEditorCommand):
491 (WebInspector.TextEditorModel.endsWithBracketRegex.):
493 2013-02-15 Joe Mason <jmason@rim.com>
495 [BlackBerry] Remove redundant requireAuth parameter of NetworkJob::notifyAuthReceived
496 https://bugs.webkit.org/show_bug.cgi?id=109855
501 Internally Reviewed By: Leo Yang
503 Code cleanup: The requireAuth parameter of NetworkJob::notifyAuthReceived is redundant as its value
504 can be determined from "result" - if result is AuthResultRetry, requireAuth is false, otherwise it
507 No new tests as there is no behaviour change.
509 * platform/network/blackberry/NetworkJob.cpp:
510 (WebCore::NetworkJob::notifyAuthReceived):
511 * platform/network/blackberry/NetworkJob.h:
514 2013-02-15 Vsevolod Vlasov <vsevik@chromium.org>
516 Web Inspector: Redo in text editor should always collapse selection to end.
517 https://bugs.webkit.org/show_bug.cgi?id=109907
519 Reviewed by Pavel Feldman.
521 * inspector/front-end/TextEditorModel.js:
522 (WebInspector.TextEditorModel.endsWithBracketRegex.):
524 2013-02-15 Dan Carney <dcarney@google.com>
526 [v8] persistent handle dispose before last use
527 https://bugs.webkit.org/show_bug.cgi?id=109927
529 Reviewed by Jochen Eisinger.
531 No new tests. No change in functionality.
533 * bindings/v8/ScriptWrappable.h:
534 (WebCore::ScriptWrappable::weakCallback):
536 2013-02-15 Keishi Hattori <keishi@webkit.org>
538 PagePopupController.formatMonth should support short month format
539 https://bugs.webkit.org/show_bug.cgi?id=109530
541 Reviewed by Kent Tamura.
543 PagePopupController.formatMonth should support short month format so we
544 can use it in the new calendar picker.
546 Tested by LocaleMacTest::formatMonth.
548 * page/PagePopupController.cpp:
549 (WebCore::PagePopupController::formatMonth): Take an extra bool argument to switch to short month format.
550 * page/PagePopupController.h:
551 (PagePopupController):
552 * page/PagePopupController.idl:
553 * platform/text/LocaleICU.cpp:
554 (WebCore::LocaleICU::shortMonthFormat):
556 * platform/text/LocaleICU.h:
558 * platform/text/LocaleNone.cpp:
559 (WebCore::shortMonthFormat):
561 * platform/text/PlatformLocale.cpp:
562 (WebCore::DateTimeStringBuilder::visitField):
563 (WebCore::Locale::formatDateTime):
564 * platform/text/PlatformLocale.h:
566 * platform/text/mac/LocaleMac.h:
568 * platform/text/mac/LocaleMac.mm:
569 (WebCore::LocaleMac::shortMonthFormat):
571 * platform/text/win/LocaleWin.cpp:
572 (WebCore::LocaleWin::shortMonthFormat): Windows doesn't have a short
573 month format so we just replace MMMM with MMM.
575 * platform/text/win/LocaleWin.h:
578 2013-02-15 Keishi Hattori <keishi@webkit.org>
580 Add setValue and closePopup methods to PagePopupController
581 https://bugs.webkit.org/show_bug.cgi?id=109897
583 Reviewed by Kent Tamura.
585 The new calendar picker (Bug 109439) needs to set a value without
586 closing the popup. We can't do that with the existing
587 setValueAndClosePopup.
589 No new tests. Existing calendar picker and color suggestion picker tests
590 that closing and setting values work properly.
592 * Resources/pagepopups/pickerCommon.js:
593 (Picker.prototype.submitValue): Stop using setValueAndClosePopup.
594 (Picker.prototype.handleCancel): Ditto.
595 * page/PagePopupClient.h:
597 * page/PagePopupController.cpp:
598 (WebCore::PagePopupController::setValue): Sets value to element without closing popup.
600 (WebCore::PagePopupController::closePopup): Just closes popup.
601 * page/PagePopupController.h:
602 (PagePopupController):
603 * page/PagePopupController.idl:
605 2013-02-15 Mihnea Ovidenie <mihnea@adobe.com>
607 [CSS Regions] RenderRegion should inherit from RenderBlock
608 https://bugs.webkit.org/show_bug.cgi?id=74132
610 Reviewed by Julien Chaffraix.
612 Change the base class for RenderRegion to be RenderBlock instead of RenderReplaced.
613 Per spec http://dev.w3.org/csswg/css3-regions/#the-flow-from-property, a region is a non-replaced block container.
614 This change is covered by the existing regions tests (in fast/region and fast/repaint).
616 The RenderFlowThread object is a self-painting layer (it requires layer and is positioned).
617 Because of that, the RenderFlowThread object is responsible for painting its children,
618 the collected objects. When the RenderRegion::paintObject is called during paint, it delegates painting
619 of content collected inside the flow thread to the associated RenderFlowThread object.
620 Since we do not want to paint the flow thread content multiple times (for each paint phase
621 in which the RenderRegion::paintObject is called), we allow RenderFlowThread painting only for
622 selection and foreground paint phases.
624 * rendering/RenderBox.cpp: Clean-up the code from regions specific stuff, now that the regions are render blocks.
625 (WebCore::RenderBox::computePositionedLogicalWidth):
626 (WebCore::RenderBox::computePositionedLogicalHeight):
627 * rendering/RenderLayerBacking.cpp: A region should always render content from its associated flow thread,
628 even when it does not have children of its own.
629 (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
630 * rendering/RenderMultiColumnSet.cpp: Make changes to match the new inheritance for RenderRegion.
631 (WebCore::RenderMultiColumnSet::paint):
632 (WebCore::RenderMultiColumnSet::paintColumnRules):
633 * rendering/RenderMultiColumnSet.h:
634 * rendering/RenderRegion.cpp:
635 (WebCore::RenderRegion::RenderRegion):
636 (WebCore::RenderRegion::paintObject):
637 (WebCore::RenderRegion::styleDidChange):
638 (WebCore::RenderRegion::layoutBlock):
639 (WebCore::RenderRegion::insertedIntoTree):
640 (WebCore::RenderRegion::willBeRemovedFromTree):
641 (WebCore::RenderRegion::computePreferredLogicalWidths): Use this method instead of min/maxPreferredLogicalWidth.
642 (WebCore::RenderRegion::updateLogicalHeight):
643 * rendering/RenderRegion.h: For now, assume the region is not allowed to have children.
644 When we will implement the processing model for pseudo-elements http://dev.w3.org/csswg/css3-regions/#processing-model,
645 we will have to remove this function. By having this function return false i was able to leave some tests unchanged.
647 2013-02-15 Andrey Lushnikov <lushnikov@chromium.org>
649 Web Inspector: implement smart braces functionality
650 https://bugs.webkit.org/show_bug.cgi?id=109200
652 Reviewed by Pavel Feldman.
654 - implement SmartBraceController which will handle character insertions
655 and override them if brace character was inserted. Additionally it
656 should handle Backspace key and override it if a cursor is located
657 inside of a bracket pair.
658 - guard smart brace functionality via experiment checkbox.
660 New test: inspector/editor/text-editor-smart-braces.html
662 * inspector/front-end/DefaultTextEditor.js:
663 (WebInspector.TextEditorMainPanel):
664 (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
665 (WebInspector.TextEditorMainPanel.prototype._handleKeyPress):
666 (WebInspector.TextEditorMainPanel.SmartBraceController):
667 (WebInspector.TextEditorMainPanel.SmartBraceController.prototype.registerShortcuts):
668 (WebInspector.TextEditorMainPanel.SmartBraceController.prototype.registerCharOverrides):
669 (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleBackspace):
670 (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleBracePairInsertion):
671 (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleClosingBraceOverride):
672 * inspector/front-end/Settings.js:
673 (WebInspector.ExperimentsSettings):
675 2013-02-15 Andrei Bucur <abucur@adobe.com>
677 [CSS Regions][Mac] fast/regions/full-screen-video-from-region.html hits an assertion in RenderFlowThread::removeRenderBoxRegionInfo
678 https://bugs.webkit.org/show_bug.cgi?id=106075
680 Reviewed by Tony Chang.
682 The crash is caused by two issues.
684 The first problem is how a block inside a flow thread determines if the children needs relayout or not.
685 When the region chain is invalidated, the information is lost so we need to return true, even for the
686 enclosing RenderFlowThread. Because the video renderer is the first child of the flow thread this doesn't
689 The patch implements this behaviour by inspecting both if the region chain has changed and
690 if the block has no range computed yet.
692 The second problem is RenderMedia not inheriting from RenderBlock. The logic of child relayout doesn't apply
693 to it. In the test case, when the full screen button is pressed, the region changes width to fill the viewport,
694 the chain is invalidated and the box info hash map is cleared. When the video is laid out again (after fixing
695 the first issue) it has the same size so the controls don't do a layout. They remain without box info inside
696 the flow thread, thus causing the assertion.
698 The patch forces the controls to relayout if the region chain was invalidated. We can't use the
699 logicalWidthChangedInRegions method because it is block specific. This will be fixed in a later patch.
701 Tests: No new tests. fast/regions/full-screen-video-from-region.html no longer crashes.
703 * rendering/RenderBlock.cpp:
704 (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
705 * rendering/RenderFlowThread.cpp:
706 (WebCore::RenderFlowThread::RenderFlowThread):
707 (WebCore::RenderFlowThread::layout):
708 (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
709 * rendering/RenderFlowThread.h: Renamed pageLogicalHeightChanged to pageLogicalSizeChanged.
710 * rendering/RenderMedia.cpp:
711 (WebCore::RenderMedia::layout):
713 2013-02-13 Allan Sandfeld Jensen <allan.jensen@digia.com>
715 [CoordGfx] Regression from r135212: big layers with transform animations sometime fail to render tiles
716 https://bugs.webkit.org/show_bug.cgi?id=109179
718 Reviewed by Jocelyn Turcotte.
720 Fix adjustForContentsRect logic for AC layers that are higher or wider than the visible rect.
722 Force updates of the visible rect while it is animating, and until we have done one last update after
725 Test: compositing/transitions/transform-on-large-layer.html
727 * platform/graphics/TiledBackingStore.cpp:
728 (WebCore::TiledBackingStore::adjustForContentsRect):
729 (WebCore::TiledBackingStore::computeCoverAndKeepRect):
730 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
731 (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
732 (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
733 (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
734 (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
735 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
736 (CoordinatedGraphicsLayer):
738 2013-02-15 Sheriff Bot <webkit.review.bot@gmail.com>
740 Unreviewed, rolling out r142876.
741 http://trac.webkit.org/changeset/142876
742 https://bugs.webkit.org/show_bug.cgi?id=109920
744 Broke relative URL linkification in the computed styles pane
745 (Requested by apavlov on #webkit).
747 * inspector/front-end/StylesSidebarPane.js:
748 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
750 2013-02-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
752 Simplify hitTestResultAtPoint and nodesFromRect APIs
753 https://bugs.webkit.org/show_bug.cgi?id=95720
755 Reviewed by Julien Chaffraix.
757 The existing API was overloaded and could be simplified by passing all the bool arguments in
758 a HitTestRequest argument. This should also help clarify the call as the enum values explicitely
764 (WebCore::Document::nodesFromRect):
767 * page/ContextMenuController.cpp:
768 (WebCore::ContextMenuController::createContextMenu):
769 * page/DragController.cpp:
770 (WebCore::DragController::canProcessDrag):
771 (WebCore::DragController::startDrag):
772 * page/EventHandler.cpp:
773 (WebCore::EventHandler::hitTestResultAtPoint):
774 (WebCore::EventHandler::handleMousePressEvent):
775 (WebCore::EventHandler::handleGestureEvent):
776 (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
777 (WebCore::EventHandler::bestClickableNodeForTouchPoint):
778 (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
779 (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
780 (WebCore::EventHandler::handleTouchEvent):
781 * page/EventHandler.h:
784 * page/FocusController.cpp:
785 (WebCore::updateFocusCandidateIfNeeded):
787 (WebCore::Frame::visiblePositionForPoint):
788 (WebCore::Frame::documentAtPoint):
789 * page/TouchDisambiguation.cpp:
790 (WebCore::findGoodTouchTargets):
791 * rendering/HitTestRequest.h:
792 (WebCore::HitTestRequest::allowsFrameScrollbars):
793 * testing/Internals.cpp:
794 (WebCore::Internals::nodesFromRect):
796 2013-02-14 Pavel Feldman <pfeldman@chromium.org>
798 Web Inspector: make component-based compile-front-end happy
799 https://bugs.webkit.org/show_bug.cgi?id=109798
801 Reviewed by Vsevolod Vlasov.
803 * inspector/Inspector.json:
804 * inspector/InspectorDebuggerAgent.cpp:
805 (WebCore::InspectorDebuggerAgent::setVariableValue):
806 * inspector/InspectorDebuggerAgent.h:
807 (InspectorDebuggerAgent):
808 * inspector/compile-front-end.py:
809 * inspector/front-end/AuditResultView.js:
810 * inspector/front-end/CPUProfileView.js:
811 * inspector/front-end/DataGrid.js:
812 * inspector/front-end/InspectorFrontendAPI.js:
813 (InspectorFrontendAPI.loadTimelineFromURL):
815 2013-02-14 Alexander Pavlov <apavlov@chromium.org>
817 Web Inspector: Implement tracking of active stylesheets in the frontend
818 https://bugs.webkit.org/show_bug.cgi?id=105828
820 Reviewed by Pavel Feldman.
822 - This change introduces the CSS.styleSheetAdded() and CSS.styleSheetRemoved() events
823 that update the frontend with all active stylesheet changes in the inspected page.
824 As such, fetching stylesheet headers from the backend manually is no longer needed,
825 and many asynchronous methods have been turned into normal accessors.
826 - One notable change to the stylesheet binding process is that when a via-inspector stylesheet
827 is created, it is instantly reported through the instrumentation, and the viaInspectorStyleSheet() method
828 is [indirectly] called recursively from bindStyleSheet(). Thus, the actual creation and registration
829 of the respective InspectorStyleSheet have been moved into bindStyleSheet(),
830 which relies upon the m_creatingViaInspectorStyleSheet flag.
832 Test: inspector/styles/stylesheet-tracking.html
834 * dom/DocumentStyleSheetCollection.cpp:
835 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): Instrumented.
836 * inspector/Inspector.json: Add events, update the CSS domain description.
837 * inspector/InspectorCSSAgent.cpp:
838 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
839 (WebCore::InspectorCSSAgent::clearFrontend):
840 (WebCore::InspectorCSSAgent::enable): Push all existing stylesheet headers into the frontend.
841 (WebCore::InspectorCSSAgent::activeStyleSheetsUpdated): Push added/removed stylesheet into the frontend.
842 (WebCore::InspectorCSSAgent::getAllStyleSheets): Slightly refactored to make use of collectAllStyleSheets().
843 (WebCore::InspectorCSSAgent::collectAllStyleSheets): Added to collect InspectorStyleSheets rather than headers.
844 (WebCore::InspectorCSSAgent::collectStyleSheets):
845 (WebCore::InspectorCSSAgent::bindStyleSheet): Binds via-inspector stylesheets, too.
846 (WebCore::InspectorCSSAgent::unbindStyleSheet): Now we can unbind stylesheets upon their removal from the document.
847 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): Modifies m_creatingViaInspectorStyleSheet when necessary.
848 (WebCore::InspectorCSSAgent::detectOrigin): Modified to make use of m_creatingViaInspectorStyleSheet.
849 (WebCore::InspectorCSSAgent::buildObjectForRule): Removed extraneous bound InspectorStyleSheet 0-check.
850 * inspector/InspectorCSSAgent.h:
851 * inspector/InspectorInstrumentation.cpp: Instrumentation of active stylesheet set updates.
852 (WebCore::InspectorInstrumentation::activeStyleSheetsUpdatedImpl):
853 * inspector/InspectorInstrumentation.h: Ditto.
854 (WebCore::InspectorInstrumentation::activeStyleSheetsUpdated):
855 * inspector/front-end/CSSStyleModel.js:
856 (WebInspector.CSSStyleModel.prototype.styleSheetHeaders):
857 (WebInspector.CSSStyleModel.prototype._styleSheetAdded): Added.
858 (WebInspector.CSSStyleModel.prototype._styleSheetRemoved): Added.
859 (WebInspector.CSSStyleModel.prototype.viaInspectorResourceForRule):
860 (WebInspector.CSSStyleModelResourceBinding.prototype._setHeaderForStyleSheetId):
861 (WebInspector.CSSStyleModelResourceBinding.prototype.resourceURLForStyleSheetId):
862 (WebInspector.CSSStyleModelResourceBinding.prototype.styleSheetIdForResource):
863 (WebInspector.CSSStyleModelResourceBinding.prototype._headerKey): Calculate the (frameID + URL) key for CSSStyleSheetHeader.
864 (WebInspector.CSSStyleModelResourceBinding.prototype._createInspectorResource):
865 (WebInspector.CSSStyleModelResourceBinding.prototype._inspectorResource):
866 (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
867 (WebInspector.CSSDispatcher.prototype.styleSheetAdded): Added.
868 (WebInspector.CSSDispatcher.prototype.styleSheetRemoved): Added.
869 * inspector/front-end/SASSSourceMapping.js: Get rid of async implementations.
870 (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
871 * inspector/front-end/StylesSidebarPane.js: Ditto.
872 (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
873 * inspector/front-end/StylesSourceMapping.js: Ditto.
874 (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
876 2013-02-15 Andrei Bucur <abucur@adobe.com>
878 Implement the -webkit-margin-collapse properties correct rendering
879 https://bugs.webkit.org/show_bug.cgi?id=108168
881 Reviewed by David Hyatt.
883 The patch implements the correct behavior for the -webkit-margin-collapse properties:
884 - a value of "discard" on a margin will truncate all the margins collapsing with it;
885 - a value of "separate" will prevent the margin to collapse;
886 - a value of "collapse" is the default collapse behavior.
888 The implementation is aware of multiple writing-modes:
889 - if the writing mode of a child is parallel with the writing mode of the container and has the same direction,
890 the -webkit-margin-collapse properties on the child are left as is;
891 - if the writing mode of a child is parallel with the writing mode of the container but has a different direction,
892 the -webkit-margin-collapse properties on the child are reversed;
893 - if the writing mode of a child is perpendicular on the writing mode of the container,
894 the -webkit-margin-collapse properties on the child are ignored;
896 I. The "discard" value implementation
897 There are two new bits (before and after) added on the RenderBlockRareData structure specifying if the margins
898 of the block will be discarded or not. We can't rely only on the value from style() because
899 it's possible a block to discard it's margins because it has collapsed with a children that
900 specified "discard" for -webkit-margin-collapse. However, the bits are set only if it is
902 Another bit is added on the MarginInfo structure specifying if the margin has to be discarded or not. When
903 collapsing at the before side of a block it will hold information if the container block needs to discard
904 or not. If the collapsing happens between siblings/with after side of the container it will tell if the previous
905 child discards the margin or not. The self collapsing blocks are a special case. If any of its margins
906 discards then both its margins discard and all the other margins collapsing with it.
907 To ensure an optimal behavior it is asserted margin values can't be set on the MarginInfo object if the
908 discard flag is active. If this happens it may indicate someone ignored the possibility of the margin being
909 discarded altogether and incorrectly updated the margin values.
910 Float clearing also needs to change because it may force margins to stop collapsing. If this happens the discard
911 flags and margins needs to be restored to their values before the collapse.
913 II. The "separate" value implementation
914 The implementation for separate was not changed too much. I've added new accessor methods for the property
915 that take writing mode into consideration and I've removed some code that didn't work correctly in layoutBlockChild.
916 The problem was the marginInfo structure was cleared if the child was specifying the "separate" value for before.
917 This is wrong because you lose the margin information of the previous child/before side.
919 Tests: fast/block/margin-collapse/webkit-margin-collapse-container.html
920 fast/block/margin-collapse/webkit-margin-collapse-floats.html
921 fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html
922 fast/block/margin-collapse/webkit-margin-collapse-siblings.html
924 * rendering/RenderBlock.cpp:
925 (WebCore::RenderBlock::MarginInfo::MarginInfo):
926 (WebCore::RenderBlock::layoutBlock):
927 (WebCore::RenderBlock::collapseMargins):
928 (WebCore::RenderBlock::clearFloatsIfNeeded):
929 (WebCore::RenderBlock::marginBeforeEstimateForChild):
930 (WebCore::RenderBlock::estimateLogicalTopPosition):
931 (WebCore::RenderBlock::setCollapsedBottomMargin):
932 (WebCore::RenderBlock::handleAfterSideOfBlock):
933 (WebCore::RenderBlock::layoutBlockChild):
934 (WebCore::RenderBlock::setMustDiscardMarginBefore):
936 (WebCore::RenderBlock::setMustDiscardMarginAfter):
937 (WebCore::RenderBlock::mustDiscardMarginBefore):
938 (WebCore::RenderBlock::mustDiscardMarginAfter):
939 (WebCore::RenderBlock::mustDiscardMarginBeforeForChild):
940 (WebCore::RenderBlock::mustDiscardMarginAfterForChild):
941 (WebCore::RenderBlock::mustSeparateMarginBeforeForChild):
942 (WebCore::RenderBlock::mustSeparateMarginAfterForChild):
943 * rendering/RenderBlock.h:
945 (WebCore::RenderBlock::initMaxMarginValues):
947 (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
948 (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
949 (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
950 (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
951 (WebCore::RenderBlock::MarginInfo::setMargin):
952 (WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren):
953 (WebCore::RenderBlock::MarginInfo::setDiscardMargin):
954 (WebCore::RenderBlock::MarginInfo::discardMargin):
955 (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
956 (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
957 (RenderBlockRareData):
958 * rendering/style/RenderStyle.h:
960 2013-02-14 Yury Semikhatsky <yurys@chromium.org>
962 Web Inspector: always show memory size in Mb on the native memory graph
963 https://bugs.webkit.org/show_bug.cgi?id=109813
965 Reviewed by Pavel Feldman.
967 Memory size vlue is alway shown in Mb on the native memory graph.
969 * inspector/front-end/NativeMemoryGraph.js:
970 (WebInspector.NativeMemoryCounterUI.prototype.updateCurrentValue):
972 2013-02-14 Andrey Adaikin <aandrey@chromium.org>
974 Use GL typedefs in WebGLRenderingContext.idl
975 https://bugs.webkit.org/show_bug.cgi?id=109060
977 Reviewed by Kenneth Russell.
979 Use GL typedefs in WebGLRenderingContext.idl according to the specs.
980 Added a FIXME about inconsistency with the current WebGL spec for getAttribLocation.
982 Tested manually that generators V8, JS, ObjC, GObject, CPP produce same output.
984 * html/canvas/WebGLRenderingContext.idl:
986 2013-02-14 Vsevolod Vlasov <vsevik@chromium.org>
988 Web Inspector: Copy-pasting selected text over itself should be an undoable state.
989 https://bugs.webkit.org/show_bug.cgi?id=109830
991 Reviewed by Pavel Feldman.
993 * inspector/front-end/TextEditorModel.js:
994 (WebInspector.TextEditorModel.endsWithBracketRegex.):
996 2013-02-14 Sheriff Bot <webkit.review.bot@gmail.com>
998 Unreviewed, rolling out r142889.
999 http://trac.webkit.org/changeset/142889
1000 https://bugs.webkit.org/show_bug.cgi?id=109891
1002 It caused an assertion failure in scrollbars/overflow-
1003 scrollbar-combinations.html (Requested by tkent on #webkit).
1005 * rendering/RenderBox.cpp:
1006 (WebCore::borderWidthChanged):
1007 (WebCore::RenderBox::styleDidChange):
1009 2013-02-14 Arpita Bahuguna <arpitabahuguna@gmail.com>
1011 Caret positioned at the end of a text line (followed by an empty block) in vertical writing mode disappears when pressing the right/down arrow key.
1012 https://bugs.webkit.org/show_bug.cgi?id=106452
1014 Reviewed by Ryosuke Niwa.
1016 Pressing the down or the right arrow key at the end of a text line in
1017 vertical writing mode would make the caret dissapear. This occurs only
1018 when the text line is followed by an empty block.
1020 When trying to compute the next position for placing the caret (for
1021 down/right key), we try to ascertain whether the renderer (in this
1022 case the empty block) is a valid candidate or not. For blockFlow
1023 elements we check against their height.
1024 In vertical writing mode though we would fail such a check since we
1025 should instead be comparing against the renderer's width and not
1026 it's height. Thus, a valid position for the placement of the caret
1027 was not found in such a case.
1029 Test: editing/selection/caret-at-end-of-text-line-followed-by-empty-block-in-vertical-mode.html
1032 (WebCore::Position::isCandidate):
1033 * dom/PositionIterator.cpp:
1034 (WebCore::PositionIterator::isCandidate):
1035 Instead of checking against the height(), check against the
1036 logicalHeight() of the renderer has been added. logicalHeight()
1037 on blockFlow renderer's returns a value in accordance with
1040 2013-02-14 Ryosuke Niwa <rniwa@webkit.org>
1042 Windows build fix after r142957.
1044 * dom/DOMAllInOne.cpp:
1046 2013-02-14 Ryosuke Niwa <rniwa@webkit.org>
1048 Fix a typo introduced in r142705.
1050 Without this fix, text-input-controller.html can fail when DeleteButtonController is enabled.
1051 e.g. "run-webkit-tests platform/mac/editing/deleting/deletionUI-single-instance.html
1052 platform/mac/editing/input/text-input-controller.html --child-processes=1"
1054 * editing/Editor.cpp:
1055 (WebCore::Editor::avoidIntersectionWithDeleteButtonController):
1057 2013-02-14 Hayato Ito <hayato@chromium.org>
1059 Factor Event retargeting code.
1060 https://bugs.webkit.org/show_bug.cgi?id=109156
1062 Reviewed by Dimitri Glazkov.
1064 To supoort Touch event retargeting (bug 107800), we have to factor
1065 event retargeting code so that it can support not only MouseEvent,
1066 but also other events.
1068 New class, EventRetargeter, was introduced. From now,
1069 EventDispatchMediator (and its subclasses) should call, if event
1070 retargeting is required, an appropriate function provided in
1071 EventRetargeter rather than calling
1072 EventDispatcher::adjustRelatedTarget(), which was removed in this
1075 No tests. No change in behavior.
1078 * GNUmakefile.list.am:
1081 * WebCore.xcodeproj/project.pbxproj:
1082 * dom/EventDispatchMediator.cpp:
1083 * dom/EventDispatcher.cpp:
1085 (WebCore::EventDispatcher::ensureEventPath): Changed to return an EventPath, which will be used by EventRetargeter.
1086 (WebCore::EventDispatcher::dispatchScopedEvent):
1087 (WebCore::EventDispatcher::dispatchEvent):
1088 (WebCore::EventDispatcher::dispatchEventPostProcess):
1089 * dom/EventDispatcher.h:
1092 * dom/EventRetargeter.cpp: Added.
1094 (WebCore::inTheSameScope):
1095 (WebCore::determineDispatchBehavior):
1096 (WebCore::EventRetargeter::calculateEventPath): Factored out from EventDispatcher::ensureEventPath().
1097 (WebCore::EventRetargeter::adjustForMouseEvent):
1098 (WebCore::EventRetargeter::adjustForFocusEvent):
1099 (WebCore::EventRetargeter::adjustForRelatedTarget):
1100 (WebCore::EventRetargeter::calculateAdjustedNodes): Factored out from EventRelatedTargetAjuster::adjustRelatedTarget().
1101 (WebCore::EventRetargeter::buildRelatedNodeMap): Factored out from EventRelatedTargetAjuster::adjustRelatedTarget().
1102 (WebCore::EventRetargeter::findRelatedNode):
1103 * dom/EventRetargeter.h: Added.
1106 (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
1107 * dom/FocusEvent.cpp:
1108 (WebCore::FocusEventDispatchMediator::dispatchEvent): Changed to call EventRetargeter::adjustForFocusEvent().
1109 (WebCore::BlurEventDispatchMediator::dispatchEvent): Ditto.
1110 (WebCore::FocusInEventDispatchMediator::dispatchEvent): Ditto.
1111 (WebCore::FocusOutEventDispatchMediator::dispatchEvent): Ditto.
1112 * dom/MouseEvent.cpp:
1113 (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to call EventRetargeter::adjustForMouseEvent().
1115 2013-02-14 Simon Fraser <simon.fraser@apple.com>
1117 Reverting r142861. Hit testing inside of style recalc is fundamentally wrong
1119 * page/EventHandler.cpp:
1120 (WebCore::EventHandler::selectCursor):
1121 (WebCore::EventHandler::handleMouseMoveEvent):
1122 * page/EventHandler.h:
1123 * rendering/RenderObject.cpp:
1124 (WebCore::RenderObject::setStyle):
1125 (WebCore::areNonIdenticalCursorListsEqual):
1126 (WebCore::areCursorsEqual):
1127 (WebCore::RenderObject::styleDidChange):
1129 2013-02-14 Florin Malita <fmalita@chromium.org>
1131 [SVG] Cached filter results are not invalidated on repaint rect change
1132 https://bugs.webkit.org/show_bug.cgi?id=106221
1134 Reviewed by Dean Jackson.
1136 Since the cached filter results are not invalidated for different repaint rects, we need
1137 to render the content of the whole filter region upfront (otherwise elements not visible
1138 during the initial paint due to scrolling/window size/etc. are never redrawn).
1140 Tests: svg/filters/filter-hidden-content-expected.svg
1141 svg/filters/filter-hidden-content.svg
1143 * rendering/svg/RenderSVGResourceFilter.cpp:
1144 (WebCore::RenderSVGResourceFilter::applyResource):
1145 (WebCore::RenderSVGResourceFilter::drawingRegion):
1147 * rendering/svg/RenderSVGResourceFilter.h:
1149 (RenderSVGResourceFilter):
1150 Track the filter drawing region in FilterData.
1152 * rendering/svg/SVGRenderingContext.cpp:
1153 (WebCore::SVGRenderingContext::~SVGRenderingContext):
1154 (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1155 * rendering/svg/SVGRenderingContext.h:
1156 Update paintInfo.rect to cover the whole drawing region while rendering filter content, and
1157 restore it when done.
1159 2013-02-14 Jinwoo Song <jinwoo7.song@samsung.com>
1161 [EFL] Correct the mismatched cursor map
1162 https://bugs.webkit.org/show_bug.cgi?id=109655
1164 Reviewed by Laszlo Gombos.
1166 Correct the mismatched ECORE_X_CURSOR values in the cursor map.
1168 * platform/efl/EflScreenUtilities.cpp:
1169 (WebCore::CursorMap::CursorMap):
1171 2013-02-14 Kentaro Hara <haraken@chromium.org>
1173 Unreviewed. Rebaselined run-bindings-tests.
1175 * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1176 (WebDOMTestObj::anyAttribute):
1177 (WebDOMTestObj::setAnyAttribute):
1178 * bindings/scripts/test/CPP/WebDOMTestObj.h:
1179 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1180 (webkit_dom_test_obj_get_any_attribute):
1181 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1182 (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
1183 * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1184 (WebCore::TestTypedefsV8Internal::funcWithClampCallback):
1186 2013-02-14 Christian Biesinger <cbiesinger@chromium.org>
1188 Convert media controls from DeprecatedFlexibleBox to FlexibleBox
1189 https://bugs.webkit.org/show_bug.cgi?id=109775
1191 Reviewed by Ojan Vafai.
1193 Covered by existing tests in media/.
1195 * css/mediaControls.css:
1196 * css/mediaControlsBlackBerry.css:
1197 * css/mediaControlsChromium.css:
1198 * css/mediaControlsChromiumAndroid.css:
1199 * css/mediaControlsEfl.css:
1200 * css/mediaControlsGtk.css:
1201 * css/mediaControlsQt.css:
1202 * css/mediaControlsQuickTime.css:
1203 Automated search and replace of old flexbox CSS rules to new ones.
1204 Minor tuning of the chromium rules.
1206 * rendering/RenderMediaControlElements.cpp:
1207 (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
1208 (WebCore::RenderMediaControlTimeDisplay::layout):
1209 * rendering/RenderMediaControlElements.h:
1210 Make media controls inherit from RenderFlexibleBox
1212 2013-02-14 Roger Fong <roger_fong@apple.com>
1214 Build fix for Windows.
1216 * Modules/webdatabase/SQLTransactionStateMachine.cpp:
1217 (WebCore::nameForSQLTransactionState):
1219 2013-02-14 Dean Jackson <dino@apple.com>
1221 Inspector doesn't show rules from pluginsStyleSheet
1222 https://bugs.webkit.org/show_bug.cgi?id=109872
1224 Reviewed by Darin Adler.
1226 Make sure getWrapperForRuleInSheets collects the rules
1227 from CSSDefaultStyleSheets::plugInsStyleSheet.
1229 Making a test for this is difficult because the rules in
1230 this sheet only apply to snapshotted plugins at the moment,
1231 which are disabled in DRT, and would require a fairly long
1232 timeout in the test.
1234 * css/InspectorCSSOMWrappers.cpp:
1235 (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
1237 2013-02-14 Hayato Ito <hayato@chromium.org>
1239 Recover edge names used in MemoryInstrumentation for DocumentRuleSets.
1240 https://bugs.webkit.org/show_bug.cgi?id=109800
1242 Reviewed by Hajime Morita.
1244 This is a following patch for r142573.
1245 r142563 accidentally removes edge names for MemoryInstrumentation. We should recover edge names.
1247 No tests. No change in behavior.
1249 * css/DocumentRuleSets.cpp:
1250 (WebCore::DocumentRuleSets::reportMemoryUsage):
1252 2013-02-14 Hajime Morrita <morrita@google.com>
1254 [V8] Assertion failure on an exception is thrown
1255 https://bugs.webkit.org/show_bug.cgi?id=109129
1257 An assertion in V8AbstractEventListener is wrong. This change turns it into an error check.
1259 Reviewed by Kentaro Hara.
1261 Test: fast/events/onerror-no-constructor.html
1263 * bindings/v8/V8AbstractEventListener.cpp:
1264 (WebCore::V8AbstractEventListener::handleEvent):
1266 2013-02-14 Kentaro Hara <haraken@chromium.org>
1268 [V8] CodeGeneratorV8.pm can assume that DOMWindow has [CheckSecurity]
1269 https://bugs.webkit.org/show_bug.cgi?id=109788
1271 Reviewed by Adam Barth.
1273 There is code like this:
1275 if ($extendedAttr{"CheckSecurity"} || $interfaceName eq "DOMWindow")
1277 This check is redundant. DOMWindow has [CheckSecurity]. We can remove the
1280 No tests. No change in behavior.
1282 * bindings/scripts/CodeGeneratorV8.pm:
1283 (GenerateReplaceableAttrSetter):
1284 (GenerateFunctionCallback):
1285 (GenerateNonStandardFunction):
1286 (GenerateImplementation):
1288 2013-02-14 Joshua Bell <jsbell@chromium.org>
1290 [V8] IndexedDB: Remove unused creationContext paramter from idbKeyToV8Value
1291 https://bugs.webkit.org/show_bug.cgi?id=109870
1293 Reviewed by Kentaro Hara.
1295 This parameter was left over from when the function was toV8(IDBKey). Remove it.
1297 No new tests - just removing dead code.
1299 * bindings/v8/IDBBindingUtilities.cpp:
1300 (WebCore::idbKeyToV8Value): Remove unused parameter.
1301 (WebCore::injectIDBKeyIntoScriptValue): No need for dummy handle.
1302 (WebCore::idbKeyToScriptValue): No need for dummy handle.
1304 2013-02-14 Kondapally Kalyan <kalyan.kondapally@intel.com>
1306 [WebGL][Qt] regression:r142786 Qt Build fix for Arm and Windows.
1307 https://bugs.webkit.org/show_bug.cgi?id=109797
1309 Reviewed by Csaba Osztrogonác.
1311 After r142786, we use OpenGLShims to load necessary GL functions
1312 exposed by ARB_vertex_array_object extension. Qt uses OpenGLShims
1313 to load functions with GLES too. This patch adds support for loading the
1314 equivalent functions on GLES exposed by OES_vertex_array_object.
1316 * platform/graphics/OpenGLShims.cpp:
1317 (WebCore::initializeOpenGLShims):
1318 * platform/graphics/OpenGLShims.h:
1320 2013-02-14 Alexey Proskuryakov <ap@apple.com>
1322 <rdar://problem/13210723> CORS preflight broken with NetworkProcess
1323 https://bugs.webkit.org/show_bug.cgi?id=109753
1325 Reviewed by Brady Eidson.
1327 * loader/DocumentThreadableLoader.h:
1328 * loader/DocumentThreadableLoader.cpp:
1329 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1330 (WebCore::DocumentThreadableLoader::cancel):
1331 (WebCore::DocumentThreadableLoader::didReceiveResponse):
1332 (WebCore::DocumentThreadableLoader::dataReceived):
1333 (WebCore::DocumentThreadableLoader::didReceiveData):
1334 (WebCore::DocumentThreadableLoader::notifyFinished):
1335 (WebCore::DocumentThreadableLoader::didFinishLoading):
1336 (WebCore::DocumentThreadableLoader::didFail):
1337 (WebCore::DocumentThreadableLoader::preflightFailure): Notify InspectorInstrumentation
1338 immediately. In addition to keeping up eith other changes, this means that an accurate
1339 error will be passed now, not a cancellation.
1340 (WebCore::DocumentThreadableLoader::loadRequest):
1341 Get rid of m_preflightRequestIdentifier. Every loader has an identifier, and tracking
1342 identifiers twice is wrong.
1343 Pass identifier explicitly to more internal functions, so that they would not have to
1344 second-guess callers.
1346 * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSendRequest):
1347 Create an identifier for all loaders, not just those that we expect to have client
1348 callbacks about. Both Inspector and NetworkProcess need identifiers everywhere.
1350 * loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource):
1351 * loader/TextTrackLoader.h:
1352 * loader/cache/CachedResourceClient.h:
1353 (WebCore::CachedResourceClient::deprecatedDidReceiveCachedResource):
1354 * loader/cache/CachedTextTrack.cpp: (WebCore::CachedTextTrack::data):
1355 Renamed didReceiveData to avoid conflict with the new DocumentThreadableLoader::didReceiveData.
1356 And we should really get rid of this CachedResourceClient function anyway.
1358 2013-02-14 Kentaro Hara <haraken@chromium.org>
1360 Replace 'DOMObject' with 'any'
1361 https://bugs.webkit.org/show_bug.cgi?id=109793
1363 Reviewed by Dimitri Glazkov.
1365 In the Web IDL spec, there is no type named 'DOMObject'.
1366 It should be 'any'. We should replace all 'DOMObject's in WebKit IDLs with 'any's.
1368 * Modules/webdatabase/SQLResultSetRowList.idl:
1369 * bindings/scripts/CodeGeneratorCPP.pm:
1371 (AddIncludesForType):
1372 * bindings/scripts/CodeGeneratorGObject.pm:
1374 * bindings/scripts/CodeGeneratorJS.pm:
1375 (AddIncludesForType):
1376 (GenerateImplementation):
1379 * bindings/scripts/CodeGeneratorV8.pm:
1383 * dom/CustomEvent.idl:
1384 * dom/MessageEvent.idl:
1385 * dom/PopStateEvent.idl:
1386 * fileapi/FileReader.idl:
1387 * html/HTMLCanvasElement.idl:
1388 * html/HTMLElement.idl:
1389 * html/canvas/DataView.idl:
1390 * inspector/InjectedScriptHost.idl:
1391 * inspector/InspectorFrontendHost.idl:
1392 * inspector/JavaScriptCallFrame.idl:
1393 * page/DOMWindow.idl:
1394 * page/Location.idl:
1396 2013-02-14 Kentaro Hara <haraken@chromium.org>
1398 [V8] Remove GenerateEventListenerCallback() from CodeGeneratorV8.pm
1399 https://bugs.webkit.org/show_bug.cgi?id=109786
1401 Reviewed by Adam Barth.
1403 Some code is duplicated between GenerateEventListenerCallback()
1404 and GenerateFunctionCallback(). By inlining GenerateEventListenerCallback()
1405 into GenerateFunctionCallback(), we can remove the duplication.
1407 No tests. No change in behavior.
1409 * bindings/scripts/CodeGeneratorV8.pm:
1410 (GenerateFunctionCallback):
1412 2013-02-14 Ojan Vafai <ojan@chromium.org>
1414 Intrinsic and preferred widths on replaced elements are wrong in many cases
1415 https://bugs.webkit.org/show_bug.cgi?id=109859
1417 Reviewed by Levi Weintraub.
1419 Test: fast/replaced/preferred-widths.html
1421 * rendering/RenderReplaced.cpp:
1422 (WebCore::RenderReplaced::computeIntrinsicLogicalWidths):
1423 Separate out computing the intrinsic widths. Eventually,
1424 we should be able to share computePreferredLogicalWidth implementations
1425 for all replaced elements and form controls since only the intrinsic width
1428 (WebCore::RenderReplaced::computePreferredLogicalWidths):
1429 -Apply min-width and max-width constraints and then add borderAndPaddingLogicalWidth
1430 at the end to make sure it's always applied. This matches all our other
1431 computePreferredLogicalWidths override and makes use match Gecko's/Opera's rendering.
1432 -Only set the minPreferredLogicalWidth to 0 if the width or max-width is a percent value.
1433 Doing it for height values and for min-width doesn't make any sense and doesn't
1434 match other browsers. Doing this for max-width still doesn't match other browsers,
1435 but it sounds like Gecko at least would like to change that.
1437 * rendering/RenderReplaced.h:
1438 (WebCore::RenderReplaced::hasRelativeIntrinsicLogicalWidth):
1439 * rendering/svg/RenderSVGRoot.cpp:
1440 (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
1441 Add a way to check if the logicalWidth is relative so that we only check
1442 the width in computePreferredLogicalWidths instead of also checking the height.
1444 * rendering/svg/RenderSVGRoot.h:
1446 2013-02-14 Stephen Chenney <schenney@chromium.org>
1448 Crash when selecting a HarfBuzz text run with SVG fonts included
1449 https://bugs.webkit.org/show_bug.cgi?id=109833
1451 Reviewed by Tony Chang.
1453 There is an assert in SimpleFontData::applyTransforms that should not
1454 be there, as the code is valid for SVG fonts. If we get past this,
1455 then the HarfBuzz text run shaping code assumes that font data has a
1456 SkTypeface member, and SVG fonts do not. So we crash there too.
1458 For now, we fix the crashes. This still leaves incorrect selection
1459 rectangles in this situation, on all platforms, tracked in
1460 https://bugs.webkit.org/show_bug.cgi?id=108133
1462 Test: svg/css/font-face-crash.html
1464 * platform/graphics/SimpleFontData.h:
1465 (WebCore::SimpleFontData::applyTransforms): Remove ASSERT_NOT_REACHED as the code can legally be reached for SVG fonts.
1466 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1467 (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Check for SVG fonts in the text run, and abort if we find them.
1469 2013-02-13 Joe Mason <jmason@rim.com>
1471 [BlackBerry] Notify platform layer of failing to get authentication credentials
1472 https://bugs.webkit.org/show_bug.cgi?id=109751
1474 Reviewed by Yong Li.
1475 Reviewed internally by Leo Yang
1478 The BlackBerry platform network layer needs to know if a stream failed to get authentication credentials.
1479 This patch is using newly added stream API to do it.
1481 No functionality changed no new tests.
1483 * platform/network/blackberry/NetworkJob.cpp:
1484 (WebCore::NetworkJob::notifyAuthReceived):
1485 (WebCore::NetworkJob::sendRequestWithCredentials):
1486 (WebCore::NetworkJob::notifyChallengeResult):
1487 * platform/network/blackberry/NetworkJob.h:
1488 * platform/network/blackberry/NetworkManager.cpp:
1489 (WebCore::protectionSpaceToPlatformAuth):
1491 (WebCore::setAuthCredentials):
1492 * platform/network/blackberry/NetworkManager.h:
1495 2013-02-14 Kondapally Kalyan <kalyan.kondapally@intel.com>
1497 [GTK] Fix indentation in GNUmakefile.list.am.
1498 https://bugs.webkit.org/show_bug.cgi?id=109854
1500 Reviewed by Martin Robinson.
1502 This patch fixes indentation in GNUmakefile.list.am.
1504 * GNUmakefile.list.am:
1506 2013-02-14 Tony Chang <tony@chromium.org>
1508 Unreviewed, set svn:eol-style native for .sln, .vcproj, and .vsprops files.
1509 https://bugs.webkit.org/show_bug.cgi?id=96934
1511 * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
1512 * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
1514 2013-02-14 Abhishek Arya <inferno@chromium.org>
1516 Bad cast in RenderBlock::splitBlocks.
1517 https://bugs.webkit.org/show_bug.cgi?id=108691
1519 Reviewed by Levi Weintraub.
1521 Test: fast/multicol/remove-child-split-flow-crash.html
1523 * rendering/RenderBlock.cpp:
1525 (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): rename gIsInColumnFlowSplit to gColumnFlowSplitEnabled
1526 and use it to decide when to do the column flow split or not.
1527 (WebCore::RenderBlock::removeChild): Do not allow column flow split inside removeChild
1528 since we might be merging anonymous blocks.
1530 2013-02-14 Mark Lam <mark.lam@apple.com>
1532 Split SQLTransaction work between the frontend and backend.
1533 https://bugs.webkit.org/show_bug.cgi?id=104750.
1535 Reviewed by Sam Weinig.
1537 This is part of the webdatabase refactoring for webkit2.
1539 1. Changed how transactions are created.
1541 - Database::runTransaction() first creates a SQLTransaction frontend
1542 which encapsulates the 3 script callbacks. It then passes the
1543 SQLTransaction to the backend database to create the
1544 SQLTransactionBackend.
1545 - The SQLTransactionBackend manages all SQLiteTransaction work.
1547 2. Introduced SQLTransactionState and SQLTransactionStateMachine.
1549 - Instead of tracking the transaction phases as "steps" in m_nextStep,
1550 we now use m_nextState which is of enum class SQLTransactionState.
1551 Unlike m_nextStep which is a pointer to a "step" function,
1552 m_nextState is a state variable which is used to index into a
1553 state dispatch table.
1555 - Both SQLTransaction and SQLTransactionBackend now extends
1556 SQLTransactionStateMachine, and uses its dispatch mechanism based on
1557 the SQLTransactionState.
1559 - Instead of having 1 state machine instances, there are 2: 1 in the
1560 frontend, and 1 in the backend. The 2 have mirrored states, and
1561 transfers work to the other state machine when needed.
1563 - Previously, state functions can be called inline from other states.
1564 They are now only called from the state machines runStateMachine()
1565 method. This makes it possible to isolate the state transition
1566 mechanism going between the sides (frontend and backend) to 2
1567 functions only: SQLTransaction::sendToBackendState() and
1568 SQLTransactionBackend::sendToFrontendState().
1570 3. Consolidated cleanup work (mostly) to a unified cleanup function.
1572 4. Changed the frontend Database::runTransaction() to use a
1573 ChangeVersionData* (instead of a ChangeVersionWrapper ref ptr).
1575 - This is necessary because ChangeVersionWrapper contains functionality
1576 used in processing a transaction (to be invoked in the backend).
1577 Instead, what we want is to simply pass the 2 old and new version
1578 strings to the backend. The new ChangeVersionData simply packages up
1580 - This makes ChangeVersionData easy to serialize for IPC messaging later.
1582 5. Moved some transaction functions back to the frontend SQLTransaction
1583 because they belong there.
1585 6. Moved some Database functions to its DatabaseBackendAsync backend
1586 now that the transaction has been split up.
1588 - This is driven naturally by those functions being used exclusively
1589 in the backend for transaction work.
1590 - SQLTransactionClient, SQLTransactionCoordinator, and
1591 SQLTransactionWrapper are now exclusively backend data structures.
1592 SQLTransactionClient still has some frontend "pollution" that I'll
1595 7. Made the few database report functions used only by Chromium conditional
1596 on PLATFORM(chromium).
1598 - The report functions gets re-routed to Chromium's DatabaseObserver
1599 which further routes them elsewhere. It is unclear how Chromium uses
1600 these routed messages, and I am therefore not able to determine how
1601 they should work in a frontend/backend world. So, I'm #ifdef'ing
1602 them out. They still work like in the old way for Chromium.
1604 8. Added new files to the build / project files.
1606 9. Updated / added comments about how the transaction and its states work.
1611 * GNUmakefile.list.am:
1612 * Modules/webdatabase/AbstractDatabaseServer.h:
1613 * Modules/webdatabase/ChangeVersionData.h: Added.
1614 (ChangeVersionData):
1615 (WebCore::ChangeVersionData::ChangeVersionData):
1616 (WebCore::ChangeVersionData::oldVersion):
1617 (WebCore::ChangeVersionData::newVersion):
1618 * Modules/webdatabase/ChangeVersionWrapper.cpp:
1619 (WebCore::ChangeVersionWrapper::performPreflight):
1620 (WebCore::ChangeVersionWrapper::performPostflight):
1621 (WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):
1622 * Modules/webdatabase/ChangeVersionWrapper.h:
1623 (ChangeVersionWrapper):
1624 * Modules/webdatabase/Database.cpp:
1625 (WebCore::Database::Database):
1626 (WebCore::Database::close):
1627 (WebCore::Database::changeVersion):
1628 (WebCore::Database::transaction):
1629 (WebCore::Database::readTransaction):
1630 (WebCore::Database::runTransaction):
1631 (WebCore::Database::reportStartTransactionResult):
1632 (WebCore::Database::reportCommitTransactionResult):
1633 (WebCore::Database::reportExecuteStatementResult):
1634 * Modules/webdatabase/Database.h:
1635 (WebCore::Database::databaseContext):
1637 (WebCore::Database::reportStartTransactionResult):
1638 (WebCore::Database::reportCommitTransactionResult):
1639 (WebCore::Database::reportExecuteStatementResult):
1640 * Modules/webdatabase/DatabaseBackend.cpp:
1641 * Modules/webdatabase/DatabaseBackend.h:
1643 (WebCore::DatabaseBackend::reportOpenDatabaseResult):
1644 (WebCore::DatabaseBackend::reportChangeVersionResult):
1645 (WebCore::DatabaseBackend::reportStartTransactionResult):
1646 (WebCore::DatabaseBackend::reportCommitTransactionResult):
1647 (WebCore::DatabaseBackend::reportExecuteStatementResult):
1648 (WebCore::DatabaseBackend::reportVacuumDatabaseResult):
1649 * Modules/webdatabase/DatabaseBackendAsync.cpp:
1650 (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
1651 (WebCore::DatabaseBackendAsync::runTransaction):
1652 (WebCore::DatabaseBackendAsync::inProgressTransactionCompleted): Moved from frontend.
1653 (WebCore::DatabaseBackendAsync::scheduleTransaction): Moved from frontend.
1654 (WebCore::DatabaseBackendAsync::scheduleTransactionStep): Moved from frontend.
1655 (WebCore::DatabaseBackendAsync::transactionClient): Moved from frontend.
1656 (WebCore::DatabaseBackendAsync::transactionCoordinator): Moved from frontend.
1657 * Modules/webdatabase/DatabaseBackendAsync.h:
1658 (DatabaseBackendAsync):
1659 * Modules/webdatabase/DatabaseBackendContext.cpp:
1660 (WebCore::DatabaseBackendContext::frontend):
1661 * Modules/webdatabase/DatabaseBackendContext.h:
1662 (DatabaseBackendContext):
1663 * Modules/webdatabase/DatabaseManager.cpp:
1664 * Modules/webdatabase/DatabaseManager.h:
1666 * Modules/webdatabase/DatabaseServer.cpp:
1667 * Modules/webdatabase/DatabaseServer.h:
1668 * Modules/webdatabase/DatabaseTask.cpp:
1669 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::doPerformTask):
1670 * Modules/webdatabase/SQLTransaction.cpp:
1671 (WebCore::SQLTransaction::create):
1672 (WebCore::SQLTransaction::SQLTransaction):
1673 (WebCore::SQLTransaction::setBackend):
1674 (WebCore::SQLTransaction::stateFunctionFor):
1675 (WebCore::SQLTransaction::requestTransitToState):
1676 (WebCore::SQLTransaction::nextStateForTransactionError):
1677 - was handleTransactionError(). There's also a backend version.
1678 (WebCore::SQLTransaction::deliverTransactionCallback): Moved from backend.
1679 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Moved from backend.
1680 (WebCore::SQLTransaction::deliverStatementCallback): Moved from backend.
1681 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Moved from backend.
1682 (WebCore::SQLTransaction::deliverSuccessCallback): Moved from backend.
1683 (WebCore::SQLTransaction::unreachableState):
1684 (WebCore::SQLTransaction::sendToBackendState):
1685 (WebCore::SQLTransaction::performPendingCallback): Moved from backend.
1686 (WebCore::SQLTransaction::executeSQL): Moved from backend.
1687 (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
1688 (WebCore::SQLTransaction::clearCallbackWrappers):
1689 * Modules/webdatabase/SQLTransaction.h:
1691 (WebCore::SQLTransaction::database):
1692 (WebCore::SQLTransaction::hasCallback):
1693 (WebCore::SQLTransaction::hasSuccessCallback):
1694 (WebCore::SQLTransaction::hasErrorCallback):
1695 * Modules/webdatabase/SQLTransactionBackend.cpp:
1696 (WebCore::SQLTransactionBackend::create):
1697 (WebCore::SQLTransactionBackend::SQLTransactionBackend):
1698 (WebCore::SQLTransactionBackend::doCleanup):
1699 (WebCore::SQLTransactionBackend::transactionError):
1700 (WebCore::SQLTransactionBackend::setShouldRetryCurrentStatement):
1701 (WebCore::SQLTransactionBackend::stateFunctionFor):
1702 (WebCore::SQLTransactionBackend::enqueueStatement):
1703 (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
1704 (WebCore::SQLTransactionBackend::performNextStep):
1705 (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
1706 (WebCore::SQLTransactionBackend::acquireLock):
1707 (WebCore::SQLTransactionBackend::lockAcquired):
1708 (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1709 (WebCore::SQLTransactionBackend::runStatements):
1710 (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
1711 - was runCurrentStatement().
1712 (WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):
1713 - was handleCurrentStatementError().
1714 (WebCore::SQLTransactionBackend::postflightAndCommit):
1715 (WebCore::SQLTransactionBackend::cleanupAndTerminate):
1716 (WebCore::SQLTransactionBackend::nextStateForTransactionError):
1717 - was handleTransactionError(). There's also a frontend version.
1718 (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
1719 (WebCore::SQLTransactionBackend::requestTransitToState):
1720 (WebCore::SQLTransactionBackend::unreachableState):
1721 (WebCore::SQLTransactionBackend::sendToFrontendState):
1722 * Modules/webdatabase/SQLTransactionBackend.h:
1723 (SQLTransactionWrapper):
1724 (SQLTransactionBackend):
1725 (WebCore::SQLTransactionBackend::database):
1726 * Modules/webdatabase/SQLTransactionClient.cpp:
1727 (WebCore::SQLTransactionClient::didCommitWriteTransaction):
1728 (WebCore::SQLTransactionClient::didExecuteStatement):
1729 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1730 (WebCore::getDatabaseIdentifier):
1731 * Modules/webdatabase/SQLTransactionState.h: Added.
1732 * Modules/webdatabase/SQLTransactionStateMachine.cpp: Added.
1733 (WebCore::nameForSQLTransactionState):
1734 - was debugStepName().
1735 * Modules/webdatabase/SQLTransactionStateMachine.h: Added.
1736 (SQLTransactionStateMachine):
1737 (WebCore::SQLTransactionStateMachine::~SQLTransactionStateMachine):
1738 (WebCore::::SQLTransactionStateMachine):
1739 (WebCore::::setStateToRequestedState):
1740 (WebCore::::runStateMachine):
1743 * WebCore.vcproj/WebCore.vcproj:
1744 * WebCore.vcxproj/WebCore.vcxproj:
1745 * WebCore.vcxproj/WebCore.vcxproj.filters:
1746 * WebCore.xcodeproj/project.pbxproj:
1747 * inspector/InspectorDatabaseAgent.cpp:
1749 2013-02-14 Jer Noble <jer.noble@apple.com>
1751 EME: replace MediaKeySession.addKey() -> update()
1752 https://bugs.webkit.org/show_bug.cgi?id=109461
1754 Reviewed by Eric Carlson.
1756 No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html test.
1758 In the latest draft of the Encrypted Media Spec, the addKeys() method has been replaced
1761 * Modules/encryptedmedia/CDM.h:
1762 * Modules/encryptedmedia/MediaKeySession.cpp:
1763 (WebCore::MediaKeySession::update):
1764 (WebCore::MediaKeySession::addKeyTimerFired):
1765 * Modules/encryptedmedia/MediaKeySession.h:
1766 * Modules/encryptedmedia/MediaKeySession.idl:
1767 * html/HTMLMediaElement.cpp:
1768 (WebCore::HTMLMediaElement::webkitAddKey):
1769 * testing/MockCDM.cpp:
1770 (WebCore::MockCDMSession::update):
1772 2013-02-14 Tony Chang <tony@chromium.org>
1774 Unreviewed, set svn:eol-style CRLF for .sln files.
1776 * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
1777 * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
1779 2013-02-14 Eric Carlson <eric.carlson@apple.com>
1781 [Mac] adjust caption color user preference calculation
1782 https://bugs.webkit.org/show_bug.cgi?id=109840
1784 Reviewed by Dean Jackson.
1786 No new tests, it isn't possible to test this with DRT.
1788 * page/CaptionUserPreferencesMac.mm:
1789 (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): The color is "important" if either the
1790 color or opacity are supposed to override.
1791 (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Ditto.
1792 (WebCore::CaptionUserPreferencesMac::captionsTextColor): Ditto.
1794 * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
1795 * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
1797 2013-02-14 Cosmin Truta <ctruta@rim.com>
1799 Numeric identifiers of events are not guaranteed to be unique
1800 https://bugs.webkit.org/show_bug.cgi?id=103259
1802 Reviewed by Alexey Proskuryakov.
1804 The results of setTimeout, setInterval and navigator.geolocation.watchPosition
1805 are positive integer values extracted from a simple circular sequential number
1806 generator, whose uniqueness can be guaranteed for no more than 2^31 calls to
1807 any of these functions. In order to provide this guarantee beyond this limit,
1808 we repeatedly ask for the next sequential id until we get one that's not used
1811 This solution works instantly under normal circumstances, when there are few
1812 live timeout ids or geolocation ids at any given moment. Handling millions of
1813 live ids will require another solution.
1815 No new tests. Brief tests of uniqueness already exist.
1816 Moreover, reproducing this particular issue would require 2^31 set/clear
1817 function calls, which is prohibitively expensive.
1819 * Modules/geolocation/Geolocation.cpp:
1820 (WebCore::Geolocation::Watchers::add): Rename from Watchers::set; return false if watch id already exists.
1821 (WebCore::Geolocation::watchPosition): Repeat until the new watch id is unique.
1822 * Modules/geolocation/Geolocation.h:
1823 (Watchers): Rename Watchers::set to Watchers::add.
1824 * Modules/geolocation/Geolocation.idl: Rename the argument of Geolocation::clearWatch to WatchID.
1825 * dom/ScriptExecutionContext.cpp:
1826 (WebCore::ScriptExecutionContext::ScriptExecutionContext): Update initialization.
1827 (WebCore::ScriptExecutionContext::circularSequentialID): Rename from newUniqueID; remove FIXME note.
1828 * dom/ScriptExecutionContext.h:
1829 (ScriptExecutionContext): Rename ScriptExecutionContext::newUniqueID to ScriptExecutionContext::circularSequentialID.
1830 (WebCore::ScriptExecutionContext::addTimeout): Return false (do not assert) if timeout id already exists.
1831 * page/DOMTimer.cpp:
1832 (WebCore::DOMTimer::DOMTimer): Repeat until the new timeout id is unique.
1834 2013-02-14 Sheriff Bot <webkit.review.bot@gmail.com>
1836 Unreviewed, rolling out r142825.
1837 http://trac.webkit.org/changeset/142825
1838 https://bugs.webkit.org/show_bug.cgi?id=109856
1840 Causes some inspector tests to time out (Requested by anttik
1843 * platform/mac/SharedTimerMac.mm:
1845 (WebCore::PowerObserver::restartSharedTimer):
1846 (WebCore::setSharedTimerFireInterval):
1847 (WebCore::stopSharedTimer):
1849 2013-02-14 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
1851 Support the ch unit from css3-values
1852 https://bugs.webkit.org/show_bug.cgi?id=85755
1854 Reviewed by David Hyatt.
1856 Original patch by Sumedha Widyadharma <sumedha.widyadharma@basyskom.com>.
1858 Test: fast/css/css3-ch-unit.html
1860 * css/CSSCalculationValue.cpp:
1861 (WebCore::unitCategory):
1862 * css/CSSGrammar.y.in:
1863 * css/CSSParser.cpp:
1864 (WebCore::CSSParser::validUnit):
1865 (WebCore::CSSParser::createPrimitiveNumericValue):
1866 (WebCore::CSSParser::parseValidPrimitive):
1867 (WebCore::CSSParser::detectNumberToken):
1868 * css/CSSParserValues.cpp:
1869 (WebCore::CSSParserValue::createCSSValue):
1870 * css/CSSPrimitiveValue.cpp:
1871 (WebCore::isValidCSSUnitTypeForDoubleConversion):
1872 (WebCore::CSSPrimitiveValue::cleanup):
1873 (WebCore::CSSPrimitiveValue::computeLengthDouble):
1874 (WebCore::CSSPrimitiveValue::customCssText):
1875 (WebCore::CSSPrimitiveValue::cloneForCSSOM):
1876 * css/CSSPrimitiveValue.h:
1877 (WebCore::CSSPrimitiveValue::isFontRelativeLength):
1878 (WebCore::CSSPrimitiveValue::isLength):
1879 * platform/graphics/FontMetrics.h:
1880 (WebCore::FontMetrics::FontMetrics):
1881 (WebCore::FontMetrics::zeroWidth):
1882 (WebCore::FontMetrics::setZeroWidth):
1884 (WebCore::FontMetrics::hasZeroWidth):
1885 (WebCore::FontMetrics::setHasZeroWidth):
1886 * platform/graphics/SimpleFontData.cpp:
1887 (WebCore::SimpleFontData::platformGlyphInit):
1888 * platform/graphics/SimpleFontData.h:
1889 (WebCore::SimpleFontData::zeroGlyph):
1890 (WebCore::SimpleFontData::setZeroGlyph):
1892 * platform/graphics/qt/SimpleFontDataQt.cpp:
1893 (WebCore::SimpleFontData::platformInit):
1895 2013-02-14 David Kilzer <ddkilzer@apple.com>
1897 [Mac] Clean up WARNING_CFLAGS
1898 <http://webkit.org/b/109747>
1899 <rdar://problem/13208373>
1901 Reviewed by Mark Rowe.
1903 * Configurations/Base.xcconfig: Use
1904 GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
1905 -Wshorten-64-to-32 rather than WARNING_CFLAGS.
1907 2013-02-14 Christophe Dumez <ch.dumez@sisa.samsung.com>
1909 Add addHTTPHeaderField() method to ResourceResponse
1910 https://bugs.webkit.org/show_bug.cgi?id=109844
1912 Reviewed by Adam Barth.
1914 ResourceRequestBase provides both setHTTPHeaderField() and addHTTPHeaderField(). However,
1915 ResourceResponseBase only provides setHTTPHeaderField(). This is a bit inconsistent. As a
1916 result, the addHTTPHeaderField() functionality's implementation is duplicated in several
1917 ports (at least chromium and soup).
1919 This patch introduces addHTTPHeaderField() to ResourceResponseBase and makes use of it
1920 in Chromium and Soup backends.
1922 No new tests, no behavior change.
1924 * platform/chromium/support/WebURLResponse.cpp:
1925 (WebKit::WebURLResponse::addHTTPHeaderField): Use ResourceResponseBase::addHTTPHeaderField().
1926 * platform/network/ResourceResponseBase.cpp:
1927 (WebCore::ResourceResponseBase::updateHeaderParsedState): Move headers' parsed state update code
1928 from setHTTPHeaderField() to a new updateHeaderParsedState() method to avoid code duplication.
1930 (WebCore::ResourceResponseBase::setHTTPHeaderField):
1931 (WebCore::ResourceResponseBase::addHTTPHeaderField):
1932 * platform/network/ResourceResponseBase.h:
1933 (ResourceResponseBase):
1934 * platform/network/soup/ResourceResponseSoup.cpp:
1935 (WebCore::ResourceResponse::updateFromSoupMessageHeaders): Use ResourceResponseBase::addHTTPHeaderField().
1937 2013-02-14 Philip Rogers <pdr@google.com>
1939 Prevent inconsistent firstChild during document destruction
1940 https://bugs.webkit.org/show_bug.cgi?id=106530
1942 Reviewed by Abhishek Arya.
1944 During document destruction, addChildNodesToDeletionQueue can allow a container
1945 node to have an invalid first child, causing a crash. This patch updates
1946 addChildNodesToDeletionQueue to maintain a valid value for firstChild() even
1947 while updating its children.
1949 Test: svg/custom/animateMotion-path-change-crash.svg
1951 * dom/ContainerNodeAlgorithms.h:
1952 (WebCore::Private::addChildNodesToDeletionQueue):
1953 To ensure prevoiusSibling() is also valid, this code was slightly refactored
1954 to call setPreviousSibling(0) on the next node instead of the current node.
1956 2013-02-14 Julien Chaffraix <jchaffraix@webkit.org>
1958 [CSS Grid Layout] Add an internal 2D grid representation to RenderGrid
1959 https://bugs.webkit.org/show_bug.cgi?id=109714
1961 Reviewed by Ojan Vafai.
1963 This change introduces a 2D grid representation of the grid areas. Our implementation
1964 is a straight Vector of Vectors for the grid areas, each grid area able to hold an
1965 arbitrary number of RenderBox* so they hold a Vector of RenderBoxes. As an optimization,
1966 each grid area has enough inline storage to hold one grid item which should cover
1969 In order to keep the code readable, a GridIterator was introduced to hide the new grid.
1971 Refactoring, covered by existing tests.
1973 * rendering/RenderGrid.cpp:
1974 (RenderGrid::GridIterator):
1975 (WebCore::RenderGrid::GridIterator::GridIterator):
1976 (WebCore::RenderGrid::GridIterator::nextGridItem):
1977 Added a mono-directional iterator. In order to be more aligned with the rest of the code,
1978 this iterator actually walks orthogonally to the |direction| (ie fixing the |direction|'s track).
1980 * rendering/RenderGrid.cpp:
1981 (WebCore::RenderGrid::computePreferredLogicalWidths):
1982 (WebCore::RenderGrid::layoutGridItems):
1983 Updated these 2 functions to place the items on the grid and clear it at the end.
1985 (WebCore::RenderGrid::computePreferredTrackWidth):
1986 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1987 Updated to use the GridIterator to walk over the rows / columns.
1989 (WebCore::RenderGrid::placeItemsOnGrid):
1990 Added this function that inserts the grid items into the right grid area.
1992 * rendering/RenderGrid.h:
1993 (WebCore::RenderGrid::gridColumnCount):
1994 (WebCore::RenderGrid::gridRowCount):
1995 Added these helper functions.
1997 2013-02-14 Sheriff Bot <webkit.review.bot@gmail.com>
1999 Unreviewed, rolling out r141990.
2000 http://trac.webkit.org/changeset/141990
2001 https://bugs.webkit.org/show_bug.cgi?id=109850
2003 ~5% regression on intl2 page cycler (Requested by kling on
2006 * platform/graphics/GlyphPage.h:
2007 (WebCore::GlyphPage::create):
2008 (WebCore::GlyphPage::glyphDataForCharacter):
2009 (WebCore::GlyphPage::glyphDataForIndex):
2010 (WebCore::GlyphPage::fontDataForCharacter):
2011 (WebCore::GlyphPage::setGlyphDataForIndex):
2013 (WebCore::GlyphPage::copyFrom):
2014 (WebCore::GlyphPage::clear):
2015 (WebCore::GlyphPage::clearForFontData):
2016 (WebCore::GlyphPage::GlyphPage):
2017 * platform/graphics/GlyphPageTreeNode.cpp:
2018 (WebCore::GlyphPageTreeNode::initializePage):
2019 * rendering/svg/SVGTextRunRenderingContext.cpp:
2020 (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
2022 2013-02-14 Mark Pilgrim <pilgrim@chromium.org>
2024 [Chromium] Move PlatformMessagePortChannel to WebCore
2025 https://bugs.webkit.org/show_bug.cgi?id=109845
2027 Reviewed by Adam Barth.
2029 Part of a larger refactoring series; see tracking bug 106829.
2031 * WebCore.gyp/WebCore.gyp:
2033 * dom/default/chromium: Added.
2034 * dom/default/chromium/PlatformMessagePortChannelChromium.cpp: Added.
2036 (WebCore::MessagePortChannel::create):
2037 (WebCore::MessagePortChannel::createChannel):
2038 (WebCore::MessagePortChannel::MessagePortChannel):
2039 (WebCore::MessagePortChannel::~MessagePortChannel):
2040 (WebCore::MessagePortChannel::entangleIfOpen):
2041 (WebCore::MessagePortChannel::disentangle):
2042 (WebCore::MessagePortChannel::postMessageToRemote):
2043 (WebCore::MessagePortChannel::tryGetMessageFromRemote):
2044 (WebCore::MessagePortChannel::close):
2045 (WebCore::MessagePortChannel::isConnectedTo):
2046 (WebCore::MessagePortChannel::hasPendingActivity):
2047 (WebCore::MessagePortChannel::locallyEntangledPort):
2048 (WebCore::PlatformMessagePortChannel::create):
2049 (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
2050 (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
2051 (WebCore::PlatformMessagePortChannel::createChannel):
2052 (WebCore::PlatformMessagePortChannel::messageAvailable):
2053 (WebCore::PlatformMessagePortChannel::entangleIfOpen):
2054 (WebCore::PlatformMessagePortChannel::disentangle):
2055 (WebCore::PlatformMessagePortChannel::postMessageToRemote):
2056 (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
2057 (WebCore::PlatformMessagePortChannel::close):
2058 (WebCore::PlatformMessagePortChannel::isConnectedTo):
2059 (WebCore::PlatformMessagePortChannel::hasPendingActivity):
2060 (WebCore::PlatformMessagePortChannel::setEntangledChannel):
2061 (WebCore::PlatformMessagePortChannel::webChannelRelease):
2062 * dom/default/chromium/PlatformMessagePortChannelChromium.h: Added.
2065 (PlatformMessagePortChannel):
2067 2013-02-14 Chris Fleizach <cfleizach@apple.com>
2069 Remove Leopard Accessibility support from WebCore (now that no port builds on Leopard)
2070 https://bugs.webkit.org/show_bug.cgi?id=90250
2072 Reviewed by Eric Seidel.
2074 The Leopard era checks for accessibility lists and accessibility tables can be removed now.
2076 * accessibility/AccessibilityARIAGrid.cpp:
2078 * accessibility/AccessibilityARIAGrid.h:
2079 (AccessibilityARIAGrid):
2080 (WebCore::AccessibilityARIAGrid::isTableExposableThroughAccessibility):
2081 * accessibility/AccessibilityList.cpp:
2082 (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
2083 * accessibility/AccessibilityList.h:
2084 * accessibility/AccessibilityTable.cpp:
2085 (WebCore::AccessibilityTable::AccessibilityTable):
2086 (WebCore::AccessibilityTable::init):
2087 * accessibility/AccessibilityTable.h:
2088 (AccessibilityTable):
2089 * accessibility/mac/AXObjectCacheMac.mm:
2090 (WebCore::AXObjectCache::postPlatformNotification):
2091 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2092 (createAccessibilityRoleMap):
2094 2013-02-14 Bear Travis <betravis@adobe.com>
2096 Make outside-shape the default value for shape-inside
2097 https://bugs.webkit.org/show_bug.cgi?id=109605
2099 Reviewed by Levi Weintraub.
2101 Creating a single reference outside-shape value and setting it as the default
2104 Existing tests cover the default value, just updating them to use outside-shape.
2106 * rendering/style/RenderStyle.cpp:
2107 (WebCore::RenderStyle::initialShapeInside): Define a local static outside-shape
2110 * rendering/style/RenderStyle.h: Move the initialShapeInside method to the .cpp
2113 2013-02-14 Min Qin <qinmin@chromium.org>
2115 Passing alpha to DeferredImageDecoder once decoding completes
2116 https://bugs.webkit.org/show_bug.cgi?id=108892
2118 Reviewed by Stephen White.
2120 We should pass hasAlpha value back to the DeferredImageDecoder once decoding is completed
2121 Added unit tests in ImageFrameGeneratorTest.
2123 * platform/graphics/chromium/DeferredImageDecoder.cpp:
2124 (WebCore::DeferredImageDecoder::frameHasAlphaAtIndex):
2125 * platform/graphics/chromium/ImageFrameGenerator.cpp:
2126 (WebCore::ImageFrameGenerator::tryToScale):
2127 (WebCore::ImageFrameGenerator::decode):
2128 * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
2129 (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
2130 (WebCore::LazyDecodingPixelRef::onUnlockPixels):
2131 * platform/graphics/chromium/LazyDecodingPixelRef.h:
2132 (WebCore::LazyDecodingPixelRef::hasAlpha):
2133 (LazyDecodingPixelRef):
2134 * platform/graphics/chromium/ScaledImageFragment.cpp:
2135 (WebCore::ScaledImageFragment::ScaledImageFragment):
2136 * platform/graphics/chromium/ScaledImageFragment.h:
2137 (WebCore::ScaledImageFragment::create):
2138 (ScaledImageFragment):
2139 (WebCore::ScaledImageFragment::hasAlpha):
2141 2013-02-14 David Grogan <dgrogan@chromium.org>
2143 IndexedDB: Add a few more histogram calls
2144 https://bugs.webkit.org/show_bug.cgi?id=109762
2146 Reviewed by Tony Chang.
2148 A few places where commits could fail weren't being logged.
2150 * Modules/indexeddb/IDBBackingStore.cpp:
2151 (WebCore::IDBBackingStore::deleteDatabase):
2152 (WebCore::IDBBackingStore::Transaction::commit):
2154 2013-02-14 Tony Chang <tony@chromium.org>
2156 Padding and border changes doesn't trigger relayout of children
2157 https://bugs.webkit.org/show_bug.cgi?id=109639
2159 Reviewed by Kent Tamura.
2161 In RenderBlock::layoutBlock, we only relayout our children if our logical width
2162 changes. This misses cases where our logical width doesn't change (i.e., padding
2163 or border changes), but our content width does change.
2165 This is a more general case of bug 104997.
2167 Test: fast/block/dynamic-padding-border.html
2169 * rendering/RenderBox.cpp:
2170 (WebCore::borderOrPaddingLogicalWidthChanged): Only check if the logical width changed.
2171 (WebCore::RenderBox::styleDidChange): Drop the border-box condition since this can happen
2172 even without border-box box sizing.
2174 2013-02-14 Peter Rybin <prybin@chromium.org>
2176 Web Inspector: fix closure compilation warnings caused by setVariableValue change
2177 https://bugs.webkit.org/show_bug.cgi?id=109488
2179 Reviewed by Pavel Feldman.
2181 Annotations are fixed as required by closure compiler.
2182 Parameters in Inspector.json are reordered as required.
2184 * inspector/InjectedScriptExterns.js:
2185 (InjectedScriptHost.prototype.setFunctionVariableValue):
2186 (JavaScriptCallFrame.prototype.setVariableValue):
2187 * inspector/InjectedScriptSource.js:
2189 * inspector/Inspector.json:
2190 * inspector/InspectorDebuggerAgent.cpp:
2191 (WebCore::InspectorDebuggerAgent::setVariableValue):
2192 * inspector/InspectorDebuggerAgent.h:
2193 (InspectorDebuggerAgent):
2195 2013-02-14 Tommy Widenflycht <tommyw@google.com>
2197 MediaStream API: RTCDataChannel triggers a use-after-free
2198 https://bugs.webkit.org/show_bug.cgi?id=109806
2200 Reviewed by Adam Barth.
2202 Making sure RTCPeerConnection::stop() is always called at least once.
2203 Also making sure that RTCDataChannels state gets set to Closed correctly.
2205 Hard to test in WebKit but covered by Chromium tests.
2207 * Modules/mediastream/RTCDataChannel.cpp:
2208 (WebCore::RTCDataChannel::stop):
2209 * Modules/mediastream/RTCPeerConnection.cpp:
2210 (WebCore::RTCPeerConnection::~RTCPeerConnection):
2211 (WebCore::RTCPeerConnection::stop):
2213 2013-02-14 Vsevolod Vlasov <vsevik@chromium.org>
2215 Web Inspector: [Regression] When several consecutive characters are typed each of them is marked as undoable state.
2216 https://bugs.webkit.org/show_bug.cgi?id=109823
2218 Reviewed by Pavel Feldman.
2220 * inspector/front-end/TextEditorModel.js:
2221 (WebInspector.TextEditorModel.endsWithBracketRegex.):
2223 2013-02-14 Sheriff Bot <webkit.review.bot@gmail.com>
2225 Unreviewed, rolling out r142820.
2226 http://trac.webkit.org/changeset/142820
2227 https://bugs.webkit.org/show_bug.cgi?id=109839
2229 Causing crashes on chromium canaries (Requested by atwilson_
2233 (WebCore::Document::updateLayout):
2234 (WebCore::Document::implicitClose):
2235 * rendering/RenderQuote.h:
2237 * rendering/RenderView.cpp:
2238 * rendering/RenderView.h:
2240 2013-02-14 Mario Sanchez Prada <mario.prada@samsung.com>
2242 [GTK] Missing call to g_object_ref while retrieving accessible table cells
2243 https://bugs.webkit.org/show_bug.cgi?id=106903
2245 Reviewed by Martin Robinson.
2247 Add missing extra ref to implementation of atk_table_ref_at().
2249 Test: accessibility/table-cell-for-column-and-row-crash.html
2251 * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2252 (webkitAccessibleTableRefAt): This method transfers full ownership
2253 over the returned AtkObject, so an extra reference is needed here.
2255 2013-02-14 Mike Fenton <mifenton@rim.com>
2257 [BlackBerry] Update keyboard event details to match platform details.
2258 https://bugs.webkit.org/show_bug.cgi?id=109693
2260 Reviewed by Yong Li.
2264 Update the keyboard event details to match the
2265 platform details available.
2267 Rename helper function to better describe the conversion.
2269 Reviewed Internally by Nima Ghanavatian and Gen Mak.
2271 * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
2272 (WebCore::windowsKeyCodeForBlackBerryKeycode):
2273 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2275 2013-02-08 Andrey Kosyakov <caseq@chromium.org>
2277 Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent
2278 https://bugs.webkit.org/show_bug.cgi?id=109192
2280 Reviewed by Pavel Feldman.
2282 - remove frame and compositing instrumentation methods from InspectorInstrumentation;
2283 - expose those methods on InspectorController instead.
2286 * inspector/InspectorController.cpp:
2287 (WebCore::InspectorController::didBeginFrame):
2289 (WebCore::InspectorController::didCancelFrame):
2290 (WebCore::InspectorController::willComposite):
2291 (WebCore::InspectorController::didComposite):
2292 * inspector/InspectorController.h:
2293 (InspectorController):
2294 * inspector/InspectorInstrumentation.cpp:
2296 * inspector/InspectorInstrumentation.h:
2297 (InspectorInstrumentation):
2298 * testing/Internals.cpp:
2299 (WebCore::Internals::emitInspectorDidBeginFrame):
2300 (WebCore::Internals::emitInspectorDidCancelFrame):
2302 2013-02-14 Vladislav Kaznacheev <kaznacheev@chromium.org>
2304 Web Inspector: Fixed a layout regression in CanvasProfileView.
2305 https://bugs.webkit.org/show_bug.cgi?id=109835
2307 Reviewed by Pavel Feldman.
2309 Changed splitView.css to supported nested SplitView instances.
2311 * inspector/front-end/splitView.css:
2312 (.split-view-vertical > .split-view-contents):
2313 (.split-view-vertical > .split-view-contents-first):
2314 (.split-view-vertical > .split-view-contents-first.maximized):
2315 (.split-view-vertical > .split-view-contents-second):
2316 (.split-view-vertical > .split-view-contents-second.maximized):
2317 (.split-view-horizontal > .split-view-contents):
2318 (.split-view-horizontal > .split-view-contents-first):
2319 (.split-view-horizontal > .split-view-contents-first.maximized):
2320 (.split-view-horizontal > .split-view-contents-second):
2321 (.split-view-horizontal > .split-view-contents-second.maximized):
2322 (.split-view-vertical > .split-view-sidebar.split-view-contents-first:not(.maximized)):
2323 (.split-view-vertical > .split-view-sidebar.split-view-contents-second:not(.maximized)):
2324 (.split-view-horizontal > .split-view-sidebar.split-view-contents-first:not(.maximized)):
2325 (.split-view-horizontal > .split-view-sidebar.split-view-contents-second:not(.maximized)):
2326 (.split-view-vertical > .split-view-resizer):
2327 (.split-view-horizontal > .split-view-resizer):
2329 2013-02-14 Vladislav Kaznacheev <kaznacheev@chromium.org>
2331 Web Inspector: Color picker should not be available in Computed Styles pane.
2332 https://bugs.webkit.org/show_bug.cgi?id=109697
2334 Reviewed by Alexander Pavlov.
2336 Changed the parentPane parameter of WebInspector.ComputedStylePropertiesSection to the correct value
2337 (the ComputedStyleSidebarPane instance).
2339 * inspector/front-end/StylesSidebarPane.js:
2340 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2342 2013-02-14 Yury Semikhatsky <yurys@chromium.org>
2344 Web Inspector: don't create static local string for program literal in InspectorTimelineAgent
2345 https://bugs.webkit.org/show_bug.cgi?id=109811
2347 Reviewed by Pavel Feldman.
2349 Use const char* constant value instead of creating String from it in thread-unsafe
2350 static local variable.
2352 * inspector/InspectorTimelineAgent.cpp:
2353 (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2355 2013-02-14 Pan Deng <pan.deng@intel.com>
2357 [Web Inspector] Fix initiator name issue in reload scenario for Network Panel.
2358 https://bugs.webkit.org/show_bug.cgi?id=108746.
2360 Reviewed by Vsevolod Vlasov.
2362 WebInspector.displayNameForURL() does not work as expected in the reload scenario,
2363 for example, "http://www.yahoo.com/" was trimed to "/" at one time, but at another,
2364 the full host name will be displayed.
2365 This fix return host + "/" in the issue scenario, and keep with get displayName() in ParsedURL.
2369 * inspector/front-end/ParsedURL.js:
2370 (WebInspector.ParsedURL.prototype.get displayName): append "/" in the display host scenario.
2371 * inspector/front-end/ResourceUtils.js:
2372 (WebInspector.displayNameForURL): add host in the head if url trimed as a "/".
2374 2013-02-14 Alexei Filippov <alph@chromium.org>
2376 Web Inspector: fix to record button remaining red after heap snapshot is taken
2377 https://bugs.webkit.org/show_bug.cgi?id=109804
2379 Reviewed by Yury Semikhatsky.
2381 Revert part of r142243 fix. Namely heap snapshot taking button made
2382 stateless as it was before.
2384 * inspector/front-end/HeapSnapshotView.js:
2385 (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2386 * inspector/front-end/ProfilesPanel.js:
2387 (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
2389 2013-02-14 Alexander Pavlov <apavlov@chromium.org>
2391 Web Inspector: Consistently use SecurityOrigin::toRawString() for serialization across the backend code
2392 https://bugs.webkit.org/show_bug.cgi?id=109801
2394 Reviewed by Yury Semikhatsky.
2396 No new tests, as existing tests cover the change.
2398 * inspector/InspectorAgent.cpp:
2399 (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2400 * inspector/InspectorIndexedDBAgent.cpp:
2401 (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
2402 * inspector/InspectorPageAgent.cpp:
2403 (WebCore::InspectorPageAgent::buildObjectForFrame):
2404 * inspector/PageRuntimeAgent.cpp:
2405 (WebCore::PageRuntimeAgent::notifyContextCreated):
2407 2013-02-14 Sergio Villar Senin <svillar@igalia.com>
2409 Add logging support to IndexedDB for non-Chromium platforms
2410 https://bugs.webkit.org/show_bug.cgi?id=109809
2412 Reviewed by Kentaro Hara.
2414 Enable logging of IndexedDB through the StorageAPI log channel for
2415 non-Chromium architectures.
2417 No new tests required, we're just enabling logging for IndexedDB
2418 using the currently available logging framework.
2420 * Modules/indexeddb/IDBTracing.h:
2422 2013-02-14 Vsevolod Vlasov <vsevik@chromium.org>
2424 Web Inspector: Remove uriForFile and fileForURI methods from FileSystemMapping.
2425 https://bugs.webkit.org/show_bug.cgi?id=109704
2427 Reviewed by Alexander Pavlov.
2429 Replaced this methods with one line implementation on the only call site.
2431 * inspector/front-end/FileSystemMapping.js:
2432 * inspector/front-end/FileSystemProjectDelegate.js:
2433 (WebInspector.FileSystemProjectDelegate.prototype._filePathForURI):
2434 (WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
2435 (WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
2436 (WebInspector.FileSystemProjectDelegate.prototype._populate):
2438 2013-02-14 Anton Vayvod <avayvod@chromium.org>
2440 [Text Autosizing] Process narrow descendants with the same multiplier for the font size.
2441 https://bugs.webkit.org/show_bug.cgi?id=109573
2443 Reviewed by Julien Chaffraix.
2445 Combine narrow descendants of the same autosizing cluster into a group that is autosized
2446 with the same multiplier.
2448 For example, on sites with a sidebar, sometimes the paragraphs next to the sidebar will have
2449 a large margin individually applied (via a CSS selector), causing them all to individually
2450 appear narrower than their enclosing blockContainingAllText. Rather than making each of
2451 these paragraphs into a separate cluster, we want them all to share the same multiplier, as
2452 if they were a single cluster.
2454 Test: fast/text-autosizing/narrow-descendants-combined.html
2456 * rendering/TextAutosizer.cpp:
2457 (WebCore::TextAutosizer::processClusterInternal):
2459 Common implementation for processCluster() and processCompositeCluster that accepts the
2460 text width and whether the cluster should be autosized as parameters instead of
2461 calculating it inline.
2463 (WebCore::TextAutosizer::processCluster):
2465 Calculates the text width for a single cluster and whether it should be autosized, then
2466 calls processClusterInternal() to apply the multiplier and process the cluster's
2469 (WebCore::TextAutosizer::processCompositeCluster):
2471 Calculates the text width for a group of renderers and if the group should be autosized,
2472 then calls processClusterInternal() repeatedly with the same multiplier to apply it and
2473 process all the descendants of the group.
2475 (WebCore::TextAutosizer::clusterShouldBeAutosized):
2477 Calls the multiple renderers version to avoid code duplication.
2479 (WebCore::TextAutosizer::compositeClusterShouldBeAutosized):
2481 The multiple renderers version of clusterShouldBeAutosized.
2483 * rendering/TextAutosizer.h:
2485 Updated method declarations.
2487 2013-02-14 Andrey Adaikin <aandrey@chromium.org>
2489 Look into possibilities of typedef in webkit idl files
2490 https://bugs.webkit.org/show_bug.cgi?id=52340
2492 Reviewed by Kentaro Hara.
2494 Add typedef support for WebKit IDL parser.
2495 Drive by: fixed a bug of generating "unrestrictedfloat" without a space.
2497 Added a new IDL test TestTypedefs.idl. The results were generated without typedefs.
2499 * bindings/scripts/IDLParser.pm:
2500 (assertNoExtendedAttributesInTypedef):
2503 (applyTypedefsForSignature):
2505 (parseUnrestrictedFloatType):
2506 * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Added.
2507 (WebDOMTestTypedefs::WebDOMTestTypedefsPrivate::WebDOMTestTypedefsPrivate):
2508 (WebDOMTestTypedefs::WebDOMTestTypedefsPrivate):
2509 (WebDOMTestTypedefs::WebDOMTestTypedefs):
2510 (WebDOMTestTypedefs::operator=):
2511 (WebDOMTestTypedefs::impl):
2512 (WebDOMTestTypedefs::~WebDOMTestTypedefs):
2513 (WebDOMTestTypedefs::unsignedLongLongAttr):
2514 (WebDOMTestTypedefs::setUnsignedLongLongAttr):
2515 (WebDOMTestTypedefs::immutableSerializedScriptValue):
2516 (WebDOMTestTypedefs::setImmutableSerializedScriptValue):
2517 (WebDOMTestTypedefs::func):
2518 (WebDOMTestTypedefs::multiTransferList):
2519 (WebDOMTestTypedefs::setShadow):
2520 (WebDOMTestTypedefs::nullableArrayArg):
2521 (WebDOMTestTypedefs::immutablePointFunction):
2524 * bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Added.
2526 (WebDOMTestTypedefs):
2527 * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp: Added.
2528 (_WebKitDOMTestTypedefsPrivate):
2532 (WebKit::wrapTestTypedefs):
2533 (webkit_dom_test_typedefs_finalize):
2534 (webkit_dom_test_typedefs_set_property):
2535 (webkit_dom_test_typedefs_get_property):
2536 (webkit_dom_test_typedefs_constructor):
2537 (webkit_dom_test_typedefs_class_init):
2538 (webkit_dom_test_typedefs_init):
2539 (webkit_dom_test_typedefs_func):
2540 (webkit_dom_test_typedefs_multi_transfer_list):
2541 (webkit_dom_test_typedefs_set_shadow):
2542 (webkit_dom_test_typedefs_nullable_array_arg):
2543 (webkit_dom_test_typedefs_immutable_point_function):
2544 (webkit_dom_test_typedefs_string_array_function):
2545 (webkit_dom_test_typedefs_get_unsigned_long_long_attr):
2546 (webkit_dom_test_typedefs_set_unsigned_long_long_attr):
2547 (webkit_dom_test_typedefs_get_immutable_serialized_script_value):
2548 (webkit_dom_test_typedefs_set_immutable_serialized_script_value):
2549 * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h: Added.
2550 (_WebKitDOMTestTypedefs):
2551 (_WebKitDOMTestTypedefsClass):
2552 * bindings/scripts/test/GObject/WebKitDOMTestTypedefsPrivate.h: Added.
2554 * bindings/scripts/test/JS/JSTestTypedefs.cpp: Added.
2556 (WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
2557 (WebCore::JSTestTypedefsConstructor::JSTestTypedefsConstructor):
2558 (WebCore::JSTestTypedefsConstructor::finishCreation):
2559 (WebCore::JSTestTypedefsConstructor::getOwnPropertySlot):
2560 (WebCore::JSTestTypedefsConstructor::getOwnPropertyDescriptor):
2561 (WebCore::JSTestTypedefsConstructor::getConstructData):
2562 (WebCore::JSTestTypedefsPrototype::self):
2563 (WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
2564 (WebCore::JSTestTypedefsPrototype::getOwnPropertyDescriptor):
2565 (WebCore::JSTestTypedefs::JSTestTypedefs):
2566 (WebCore::JSTestTypedefs::finishCreation):
2567 (WebCore::JSTestTypedefs::createPrototype):
2568 (WebCore::JSTestTypedefs::destroy):
2569 (WebCore::JSTestTypedefs::~JSTestTypedefs):
2570 (WebCore::JSTestTypedefs::getOwnPropertySlot):
2571 (WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
2572 (WebCore::jsTestTypedefsUnsignedLongLongAttr):
2573 (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
2574 (WebCore::jsTestTypedefsConstructorTestSubObj):
2575 (WebCore::jsTestTypedefsConstructor):
2576 (WebCore::JSTestTypedefs::put):
2577 (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
2578 (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
2579 (WebCore::JSTestTypedefs::getConstructor):
2580 (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2581 (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
2582 (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
2583 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
2584 (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
2585 (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
2586 (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
2587 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
2588 (WebCore::isObservable):
2589 (WebCore::JSTestTypedefsOwner::isReachableFromOpaqueRoots):
2590 (WebCore::JSTestTypedefsOwner::finalize):
2592 (WebCore::toTestTypedefs):
2593 * bindings/scripts/test/JS/JSTestTypedefs.h: Added.
2596 (WebCore::JSTestTypedefs::create):
2597 (WebCore::JSTestTypedefs::createStructure):
2598 (WebCore::JSTestTypedefs::impl):
2599 (WebCore::JSTestTypedefs::releaseImpl):
2600 (WebCore::JSTestTypedefs::releaseImplIfNotNull):
2601 (JSTestTypedefsOwner):
2602 (WebCore::wrapperOwner):
2603 (WebCore::wrapperContext):
2604 (JSTestTypedefsPrototype):
2605 (WebCore::JSTestTypedefsPrototype::create):
2606 (WebCore::JSTestTypedefsPrototype::createStructure):
2607 (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
2608 (JSTestTypedefsConstructor):
2609 (WebCore::JSTestTypedefsConstructor::create):
2610 (WebCore::JSTestTypedefsConstructor::createStructure):
2611 * bindings/scripts/test/ObjC/DOMTestTypedefs.h: Added.
2612 * bindings/scripts/test/ObjC/DOMTestTypedefs.mm: Added.
2613 (-[DOMTestTypedefs dealloc]):
2614 (-[DOMTestTypedefs finalize]):
2615 (-[DOMTestTypedefs unsignedLongLongAttr]):
2616 (-[DOMTestTypedefs setUnsignedLongLongAttr:]):
2617 (-[DOMTestTypedefs immutableSerializedScriptValue]):
2618 (-[DOMTestTypedefs setImmutableSerializedScriptValue:]):
2619 (-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
2620 (-[DOMTestTypedefs setShadow:height:blur:color:alpha:]):
2621 (-[DOMTestTypedefs immutablePointFunction]):
2624 * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: Added.
2626 * bindings/scripts/test/TestTypedefs.idl: Added.
2627 * bindings/scripts/test/V8/V8TestTypedefs.cpp: Added.
2629 (WebCore::checkTypeOrDieTrying):
2630 (TestTypedefsV8Internal):
2631 (WebCore::TestTypedefsV8Internal::V8_USE):
2632 (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetter):
2633 (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetter):
2634 (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetter):
2635 (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetter):
2636 (WebCore::TestTypedefsV8Internal::TestTypedefsConstructorGetter):
2637 (WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetter):
2638 (WebCore::TestTypedefsV8Internal::funcCallback):
2639 (WebCore::TestTypedefsV8Internal::multiTransferListCallback):
2640 (WebCore::TestTypedefsV8Internal::setShadowCallback):
2641 (WebCore::TestTypedefsV8Internal::methodWithSequenceArgCallback):
2642 (WebCore::TestTypedefsV8Internal::nullableArrayArgCallback):
2643 (WebCore::TestTypedefsV8Internal::funcWithClampCallback):
2644 (WebCore::TestTypedefsV8Internal::immutablePointFunctionCallback):
2645 (WebCore::TestTypedefsV8Internal::stringArrayFunctionCallback):
2646 (WebCore::V8TestTypedefs::constructorCallback):
2647 (WebCore::ConfigureV8TestTypedefsTemplate):
2648 (WebCore::V8TestTypedefs::GetRawTemplate):
2649 (WebCore::V8TestTypedefs::GetTemplate):
2650 (WebCore::V8TestTypedefs::HasInstance):
2651 (WebCore::V8TestTypedefs::createWrapper):
2652 (WebCore::V8TestTypedefs::derefObject):
2653 * bindings/scripts/test/V8/V8TestTypedefs.h: Added.
2656 (WebCore::V8TestTypedefs::toNative):
2657 (WebCore::V8TestTypedefs::installPerContextProperties):
2658 (WebCore::V8TestTypedefs::installPerContextPrototypeProperties):
2661 (WebCore::toV8Fast):
2663 2013-02-13 Kentaro Hara <haraken@chromium.org>
2665 [V8] Rename XXXAccessorGetter() to XXXAttrGetterCustom(),
2666 and XXXAccessorSetter() to XXXAttrSetterCustom()
2667 https://bugs.webkit.org/show_bug.cgi?id=109679
2669 Reviewed by Adam Barth.
2671 For naming consistency and clarification.
2673 No tests. No change in behavior.
2675 * bindings/scripts/CodeGeneratorV8.pm:
2677 (GenerateHeaderCustomCall):
2678 (GenerateNormalAttrGetter):
2679 (GenerateNormalAttrSetter):
2680 (GenerateImplementation):
2681 * bindings/scripts/test/V8/V8TestInterface.cpp:
2682 (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetter):
2683 (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetter):
2684 * bindings/scripts/test/V8/V8TestObj.cpp:
2685 (WebCore::TestObjV8Internal::customAttrAttrGetter):
2686 (WebCore::TestObjV8Internal::customAttrAttrSetter):
2687 * bindings/scripts/test/V8/V8TestObj.h:
2689 * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
2690 (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
2691 * bindings/v8/custom/V8BiquadFilterNodeCustom.cpp:
2692 (WebCore::V8BiquadFilterNode::typeAttrSetterCustom):
2693 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2694 (WebCore::V8CanvasRenderingContext2D::strokeStyleAttrGetterCustom):
2695 (WebCore::V8CanvasRenderingContext2D::strokeStyleAttrSetterCustom):
2696 (WebCore::V8CanvasRenderingContext2D::fillStyleAttrGetterCustom):
2697 (WebCore::V8CanvasRenderingContext2D::fillStyleAttrSetterCustom):
2698 * bindings/v8/custom/V8ClipboardCustom.cpp:
2699 (WebCore::V8Clipboard::typesAttrGetterCustom):
2700 * bindings/v8/custom/V8CoordinatesCustom.cpp:
2701 (WebCore::V8Coordinates::altitudeAttrGetterCustom):
2702 (WebCore::V8Coordinates::altitudeAccuracyAttrGetterCustom):
2703 (WebCore::V8Coordinates::headingAttrGetterCustom):
2704 (WebCore::V8Coordinates::speedAttrGetterCustom):
2705 * bindings/v8/custom/V8CustomEventCustom.cpp:
2706 (WebCore::V8CustomEvent::detailAttrGetterCustom):
2707 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2708 (WebCore::V8DOMWindow::eventAttrGetterCustom):
2709 (WebCore::V8DOMWindow::eventAttrSetterCustom):
2710 (WebCore::V8DOMWindow::locationAttrSetterCustom):
2711 (WebCore::V8DOMWindow::openerAttrSetterCustom):
2712 * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
2713 (WebCore::V8DeviceMotionEvent::accelerationAttrGetterCustom):
2714 (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAttrGetterCustom):
2715 (WebCore::V8DeviceMotionEvent::rotationRateAttrGetterCustom):
2716 (WebCore::V8DeviceMotionEvent::intervalAttrGetterCustom):
2717 * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
2718 (WebCore::V8DeviceOrientationEvent::alphaAttrGetterCustom):
2719 (WebCore::V8DeviceOrientationEvent::betaAttrGetterCustom):
2720 (WebCore::V8DeviceOrientationEvent::gammaAttrGetterCustom):
2721 (WebCore::V8DeviceOrientationEvent::absoluteAttrGetterCustom):
2722 * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2723 (WebCore::V8Document::locationAttrGetterCustom):
2724 (WebCore::V8Document::locationAttrSetterCustom):
2725 * bindings/v8/custom/V8EventCustom.cpp:
2726 (WebCore::V8Event::dataTransferAttrGetterCustom):
2727 (WebCore::V8Event::clipboardDataAttrGetterCustom):
2728 * bindings/v8/custom/V8FileReaderCustom.cpp:
2729 (WebCore::V8FileReader::resultAttrGetterCustom):
2730 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2731 (WebCore::V8HTMLDocument::allAttrSetterCustom):
2732 * bindings/v8/custom/V8HTMLElementCustom.cpp:
2733 (WebCore::V8HTMLElement::itemValueAttrGetterCustom):
2734 (WebCore::V8HTMLElement::itemValueAttrSetterCustom):
2735 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
2736 (WebCore::V8HTMLFrameElement::locationAttrSetterCustom):
2737 * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2738 (WebCore::V8HTMLInputElement::selectionStartAttrGetterCustom):
2739 (WebCore::V8HTMLInputElement::selectionStartAttrSetterCustom):
2740 (WebCore::V8HTMLInputElement::selectionEndAttrGetterCustom):
2741 (WebCore::V8HTMLInputElement::selectionEndAttrSetterCustom):
2742 (WebCore::V8HTMLInputElement::selectionDirectionAttrGetterCustom):
2743 (WebCore::V8HTMLInputElement::selectionDirectionAttrSetterCustom):
2744 * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
2745 (WebCore::V8HTMLLinkElement::sizesAttrGetterCustom):
2746 (WebCore::V8HTMLLinkElement::sizesAttrSetterCustom):
2747 * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
2748 (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):
2749 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2750 (WebCore::V8HTMLOptionsCollection::lengthAttrSetterCustom):
2751 * bindings/v8/custom/V8HistoryCustom.cpp:
2752 (WebCore::V8History::stateAttrGetterCustom):
2753 * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
2754 (WebCore::V8JavaScriptCallFrame::scopeChainAttrGetterCustom):
2755 (WebCore::V8JavaScriptCallFrame::thisObjectAttrGetterCustom):
2756 (WebCore::V8JavaScriptCallFrame::typeAttrGetterCustom):
2757 * bindings/v8/custom/V8LocationCustom.cpp:
2758 (WebCore::V8Location::hashAttrSetterCustom):
2759 (WebCore::V8Location::hostAttrSetterCustom):
2760 (WebCore::V8Location::hostnameAttrSetterCustom):
2761 (WebCore::V8Location::hrefAttrSetterCustom):
2762 (WebCore::V8Location::pathnameAttrSetterCustom):
2763 (WebCore::V8Location::portAttrSetterCustom):
2764 (WebCore::V8Location::protocolAttrSetterCustom):
2765 (WebCore::V8Location::searchAttrSetterCustom):
2766 (WebCore::V8Location::reloadAttrGetterCustom):
2767 (WebCore::V8Location::replaceAttrGetterCustom):
2768 (WebCore::V8Location::assignAttrGetterCustom):
2769 * bindings/v8/custom/V8MessageEventCustom.cpp:
2770 (WebCore::V8MessageEvent::dataAttrGetterCustom):
2771 (WebCore::V8MessageEvent::portsAttrGetterCustom):
2772 * bindings/v8/custom/V8OscillatorNodeCustom.cpp:
2773 (WebCore::V8OscillatorNode::typeAttrSetterCustom):
2774 * bindings/v8/custom/V8PannerNodeCustom.cpp:
2775 (WebCore::V8PannerNode::panningModelAttrSetterCustom):
2776 (WebCore::V8PannerNode::distanceModelAttrSetterCustom):
2777 * bindings/v8/custom/V8PopStateEventCustom.cpp:
2778 (WebCore::V8PopStateEvent::stateAttrGetterCustom):
2779 * bindings/v8/custom/V8SVGLengthCustom.cpp:
2780 (WebCore::V8SVGLength::valueAttrGetterCustom):
2781 (WebCore::V8SVGLength::valueAttrSetterCustom):
2782 * bindings/v8/custom/V8TrackEventCustom.cpp:
2783 (WebCore::V8TrackEvent::trackAttrGetterCustom):
2784 * bindings/v8/custom/V8WebKitAnimationCustom.cpp:
2785 (WebCore::V8WebKitAnimation::iterationCountAttrGetterCustom):
2786 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2787 (WebCore::V8XMLHttpRequest::responseTextAttrGetterCustom):
2788 (WebCore::V8XMLHttpRequest::responseAttrGetterCustom):
2790 2013-02-14 Yury Semikhatsky <yurys@chromium.org>
2792 Web Inspector: extract DOM counters graph implementation into its own class
2793 https://bugs.webkit.org/show_bug.cgi?id=109796
2795 Reviewed by Alexander Pavlov.
2797 Extracted DOM counters graph implementation into DOMCountersGraph.js leaving
2798 in MemoryStatistics.js only common parts shared with NativeMemoryGraph.js
2799 Added some closure annotations and converted object literals into classes
2800 with named constructors.
2803 * WebCore.vcproj/WebCore.vcproj:
2804 * inspector/compile-front-end.py:
2805 * inspector/front-end/DOMCountersGraph.js: Added.
2806 (WebInspector.DOMCountersGraph):
2807 (WebInspector.DOMCounterUI):
2808 (WebInspector.DOMCountersGraph.Counter):
2809 (WebInspector.DOMCounterUI.prototype.setRange):
2810 (WebInspector.DOMCounterUI.prototype.updateCurrentValue):
2811 (WebInspector.DOMCounterUI.prototype.clearCurrentValueAndMarker):
2812 (WebInspector.DOMCounterUI.prototype.saveImageUnderMarker):
2813 (WebInspector.DOMCounterUI.prototype.restoreImageUnderMarker):
2814 (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
2815 (WebInspector.DOMCountersGraph.prototype._createCurrentValuesBar):
2816 (WebInspector.DOMCountersGraph.prototype._createCounterUIList):
2817 (WebInspector.DOMCountersGraph.prototype._createCounterUIList.getNodeCount):
2818 (WebInspector.DOMCountersGraph.prototype._createCounterUIList.getListenerCount):
2819 (WebInspector.DOMCountersGraph.prototype._canvasHeight):
2820 (WebInspector.DOMCountersGraph.prototype._onRecordAdded):
2821 (WebInspector.DOMCountersGraph.prototype._draw):
2822 (WebInspector.DOMCountersGraph.prototype._restoreImageUnderMarker):
2823 (WebInspector.DOMCountersGraph.prototype._saveImageUnderMarker):
2824 (WebInspector.DOMCountersGraph.prototype._drawMarker):
2825 (WebInspector.DOMCountersGraph.prototype._drawGraph):
2826 (WebInspector.DOMCountersGraph.prototype._discardImageUnderMarker):
2827 * inspector/front-end/MemoryStatistics.js:
2828 (WebInspector.MemoryStatistics):
2829 (WebInspector.MemoryStatistics.Counter):
2830 (WebInspector.MemoryStatistics.prototype._createCurrentValuesBar):
2831 (WebInspector.MemoryStatistics.prototype._createCounterUIList):
2832 (WebInspector.MemoryStatistics.prototype.setTopPosition):
2833 (WebInspector.MemoryStatistics.prototype._canvasHeight):
2834 (WebInspector.MemoryStatistics.prototype._onRecordAdded):
2835 (WebInspector.MemoryStatistics.prototype._draw):
2836 (WebInspector.MemoryStatistics.prototype._onClick):
2837 (WebInspector.MemoryStatistics.prototype._onMouseOut):
2838 (WebInspector.MemoryStatistics.prototype._onMouseOver):
2839 (WebInspector.MemoryStatistics.prototype._onMouseMove):
2840 (WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
2841 (WebInspector.MemoryStatistics.prototype._drawMarker):
2842 (WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):
2843 * inspector/front-end/NativeMemoryGraph.js:
2844 (WebInspector.NativeMemoryGraph.Counter):
2845 (WebInspector.NativeMemoryGraph.prototype._onRecordAdded.addStatistics):
2846 (WebInspector.NativeMemoryGraph.prototype._onRecordAdded):
2847 (WebInspector.NativeMemoryGraph.prototype._draw):
2848 * inspector/front-end/TimelinePanel.js:
2849 * inspector/front-end/WebKit.qrc:
2851 2013-02-13 Ilya Tikhonovsky <loislo@chromium.org>
2853 Web Inspector: Native Memory Instrumentation: Report child nodes as direct members of a container node to make them look like a tree in the snapshot.
2854 https://bugs.webkit.org/show_bug.cgi?id=109703
2856 Also we need to traverse the tree from the top root element down to the leaves.
2858 Reviewed by Yury Semikhatsky.
2860 * dom/ContainerNode.cpp:
2861 (WebCore::ContainerNode::reportMemoryUsage):
2863 (WebCore::Node::reportMemoryUsage):
2864 * inspector/InspectorMemoryAgent.cpp:
2867 2013-02-13 Hayato Ito <hayato@chromium.org>
2869 [Shadow DOM] Implements a '::distributed()' pseudo element.
2870 https://bugs.webkit.org/show_bug.cgi?id=82169
2872 Reviewed by Dimitri Glazkov.
2874 Implements a '::distributed()' pseudo element.
2875 See the Shadow DOM specification and the filed bug for the detail.
2877 - http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#selecting-nodes-distributed-to-insertion-points
2878 - https://www.w3.org/Bugs/Public/show_bug.cgi?id=19684
2880 For example, suppose we are given the following DOM tree and shadow tree:
2889 E content::distributed(B C) { color: green; }
2891 - <content> (Node B is distributed to this insertion point.)
2893 In this case, the style rule defined in the shadow tree matches node 'C'.
2895 A '::distributed()' pseudo element can not be a pseudo class since
2896 an intersection between matched_elements(some_selector) and
2897 matched_elements(some_selector::distributed(...)) is always an
2898 empty set. A '::distributed()' pseudo element is the first-ever
2899 *functional* pseudo element which takes a parameter, which can be
2902 This rule crosses the shadow boundary from a shadow tree to the
2903 tree of its shadow host. That means a rule which includes
2904 '::distributed()' pseudo element is defined in shadow tree, but
2905 the node which is matched in the rule, the subject of the
2906 selector, is outside of the shadow tree. Therefore, we cannot
2907 predict where the subject of the selector will be beforehand.
2908 Current CSS implementation assumes the subject of the selector
2909 must exist in the current scope.
2911 To overcome this issue, DocumentRuleSets now has a instance of
2912 ShadowDistributedRules class. A style rule will be stored in this
2913 instance if the rule includes a '::distributed()' pseudo element.
2914 This class also keeps track of each RuleSet by mapping it with a
2915 scope where the rule was originally defined. In the example, the
2916 scope is A's ShadowRoot. The scope is used to check whether the
2917 left-most matched element (in the example, it's a node 'E') exists
2920 Internally, a '::distributed' pseudo element is represented by a
2921 newly introduced 'ShadowDistributed' relation. That makes an
2922 implementation of SelectorChecker::checkSelector() much simpler.
2923 A transformation from a distributed pseudo element to a
2924 ShadowDistributed is done in parsing stage of CSS.
2926 Since '::distributed()' is an experimental feature, it's actually
2927 prefixed with '-webkit-' and guarded by SHADOW_DOM flag.
2929 Tests: fast/dom/shadow/distributed-pseudo-element-for-shadow-element.html
2930 fast/dom/shadow/distributed-pseudo-element-match-all.html
2931 fast/dom/shadow/distributed-pseudo-element-match-descendant.html
2932 fast/dom/shadow/distributed-pseudo-element-nested.html
2933 fast/dom/shadow/distributed-pseudo-element-no-match.html
2934 fast/dom/shadow/distributed-pseudo-element-reprojection.html
2935 fast/dom/shadow/distributed-pseudo-element-scoped.html
2936 fast/dom/shadow/distributed-pseudo-element-support-selector.html
2937 fast/dom/shadow/distributed-pseudo-element-used-in-selector-list.html
2938 fast/dom/shadow/distributed-pseudo-element-with-any.html
2939 fast/dom/shadow/distributed-pseudo-element.html
2941 * css/CSSGrammar.y.in:
2942 CSS Grammar was updated to support '::distrbuted(selector)'.
2943 This pseudo element is the first pseudo element which can take a selector as a parameter.
2944 * css/CSSParser.cpp:
2945 (WebCore::CSSParser::detectDashToken):
2946 (WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded):
2947 (WebCore::CSSParser::rewriteSpecifiersWithElementName):
2948 Here we are converting a '::distributed' pseudo element into a
2949 ShadowDistributed relation internally. To support the conversion,
2950 these rewriteSpecifiersXXX functions (formally called
2951 updateSpecifiersXXX) now return the specifiers which may be
2953 (WebCore::CSSParser::rewriteSpecifiers):
2955 * css/CSSParserValues.cpp:
2956 (WebCore::CSSParserSelector::CSSParserSelector):
2957 * css/CSSParserValues.h:
2958 (CSSParserSelector):
2959 (WebCore::CSSParserSelector::functionArgumentSelector):
2960 To hold an intermediate selector which appears at the position of an argument in
2961 functional pseudo element when parsing CSS.
2962 (WebCore::CSSParserSelector::setFunctionArgumentSelector):
2963 (WebCore::CSSParserSelector::isDistributedPseudoElement):
2964 * css/CSSSelector.cpp:
2965 Add new pseudo element, PseudoDistributed, and its internal representation, ShadowDistributed relation.
2966 (WebCore::CSSSelector::pseudoId):
2967 (WebCore::nameToPseudoTypeMap):
2968 (WebCore::CSSSelector::extractPseudoType):
2969 (WebCore::CSSSelector::selectorText):
2970 * css/CSSSelector.h:
2973 (WebCore::CSSSelector::isDistributedPseudoElement):
2974 (WebCore::CSSSelector::isShadowDistributed):
2975 * css/CSSSelectorList.cpp:
2977 (SelectorHasShadowDistributed):
2978 (WebCore::SelectorHasShadowDistributed::operator()):
2979 (WebCore::CSSSelectorList::hasShadowDistributedAt):
2980 * css/CSSSelectorList.h:
2982 * css/DocumentRuleSets.cpp:
2984 (WebCore::ShadowDistributedRules::addRule):
2985 Every CSS rule which includes '::distributed(...)' should be managed by calling this function.
2986 (WebCore::ShadowDistributedRules::collectMatchRequests):
2987 (WebCore::DocumentRuleSets::resetAuthorStyle):
2988 * css/DocumentRuleSets.h:
2990 (ShadowDistributedRules):
2991 (WebCore::ShadowDistributedRules::clear):
2993 (WebCore::DocumentRuleSets::shadowDistributedRules)
2994 DocumentRuleSets owns an instance of ShadowDistributedRules.
2996 (WebCore::RuleSet::addChildRules):
2997 Updated to check whether the rule contains '::distributed()' or not.
2998 * css/SelectorChecker.cpp:
2999 (WebCore::SelectorChecker::match):
3000 Support ShadowDistributed relation. Check all possible insertion points where a node is distributed.
3001 * css/SelectorChecker.h:
3002 (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
3003 Adds enum of BehaviorAtBoundary. '::distributed()' is the only
3004 rule which uses 'CrossedBoundary' since it is the only rule which
3005 crosses shadow boundaries.
3006 (SelectorCheckingContext):
3007 * css/SelectorFilter.cpp:
3008 (WebCore::SelectorFilter::collectIdentifierHashes):
3009 * css/StyleResolver.cpp:
3010 (WebCore::StyleResolver::collectMatchingRules):
3011 (WebCore::StyleResolver::matchAuthorRules):
3012 (WebCore::StyleResolver::collectMatchingRulesForList):
3013 (WebCore::StyleResolver::ruleMatches):
3014 * css/StyleResolver.h:
3016 (WebCore::MatchRequest::MatchRequest): Add behaviorAtBoundary field.
3019 * html/shadow/InsertionPoint.cpp:
3020 (WebCore::collectInsertionPointsWhereNodeIsDistributed):
3022 * html/shadow/InsertionPoint.h:
3025 2013-02-13 Kentaro Hara <haraken@chromium.org>
3027 [V8] Generate wrapper methods for custom methods
3028 https://bugs.webkit.org/show_bug.cgi?id=109678
3030 Reviewed by Adam Barth.
3032 Currently V8 directly calls back custom methods written
3033 in custom binding files. This makes it impossible for code
3034 generators to hook custom methods (e.g. Code generators cannot
3035 insert a code for FeatureObservation into custom methods).
3036 To solve the problem, we should generate wrapper methods for
3039 No tests. No change in behavior.
3041 * page/DOMWindow.idl: Removed overloaded methods. The fact that methods in an IDL
3042 file are overloaded but they are not overloaded in custom bindings confuses code
3043 generators. (For some reason, this problem hasn't appeared before this change.)
3044 * xml/XMLHttpRequest.idl: Ditto.
3046 * bindings/scripts/CodeGeneratorV8.pm:
3048 (GenerateDomainSafeFunctionGetter):
3049 (GenerateEventListenerCallback):
3050 (GenerateFunctionCallback):
3051 (GenerateNonStandardFunction):
3052 (GenerateImplementation):
3053 * bindings/scripts/test/V8/V8TestInterface.cpp:
3054 (WebCore::TestInterfaceV8Internal::supplementalMethod3Callback):
3055 (TestInterfaceV8Internal):
3057 * bindings/scripts/test/V8/V8TestObj.cpp:
3058 (WebCore::TestObjV8Internal::customMethodCallback):
3059 (TestObjV8Internal):
3060 (WebCore::TestObjV8Internal::customMethodWithArgsCallback):
3061 (WebCore::TestObjV8Internal::classMethod2Callback):
3063 (WebCore::ConfigureV8TestObjTemplate):
3064 * bindings/scripts/test/V8/V8TestObj.h:
3066 * bindings/v8/custom/V8ClipboardCustom.cpp:
3067 (WebCore::V8Clipboard::clearDataCallbackCustom):
3068 (WebCore::V8Clipboard::setDragImageCallbackCustom):
3069 * bindings/v8/custom/V8ConsoleCustom.cpp:
3070 (WebCore::V8Console::traceCallbackCustom):
3071 (WebCore::V8Console::assertCallbackCustom):
3072 (WebCore::V8Console::profileCallbackCustom):
3073 (WebCore::V8Console::profileEndCallbackCustom):
3074 * bindings/v8/custom/V8CryptoCustom.cpp:
3075 (WebCore::V8Crypto::getRandomValuesCallbackCustom):
3076 * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3077 (WebCore::V8DOMFormData::appendCallbackCustom):
3078 * bindings/v8/custom/V8DOMWindowCustom.cpp:
3079 (WebCore::V8DOMWindow::addEventListenerCallbackCustom):
3080 (WebCore::V8DOMWindow::removeEventListenerCallbackCustom):
3081 (WebCore::V8DOMWindow::postMessageCallbackCustom):
3082 (WebCore::V8DOMWindow::toStringCallbackCustom):
3083 (WebCore::V8DOMWindow::releaseEventsCallbackCustom):
3084 (WebCore::V8DOMWindow::captureEventsCallbackCustom):
3085 (WebCore::V8DOMWindow::showModalDialogCallbackCustom):
3086 (WebCore::V8DOMWindow::openCallbackCustom):
3087 (WebCore::V8DOMWindow::setTimeoutCallbackCustom):
3088 (WebCore::V8DOMWindow::setIntervalCallbackCustom):
3089 * bindings/v8/custom/V8DataViewCustom.cpp:
3090 (WebCore::V8DataView::getInt8CallbackCustom):
3091 (WebCore::V8DataView::getUint8CallbackCustom):
3092 (WebCore::V8DataView::setInt8CallbackCustom):
3093 (WebCore::V8DataView::setUint8CallbackCustom):
3094 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3095 (WebCore::V8DedicatedWorkerContext::postMessageCallbackCustom):
3096 * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
3097 (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallbackCustom):
3098 * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
3099 (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallbackCustom):
3100 * bindings/v8/custom/V8DocumentCustom.cpp:
3101 (WebCore::V8Document::evaluateCallbackCustom):
3102 (WebCore::V8Document::createTouchListCallbackCustom):
3103 * bindings/v8/custom/V8GeolocationCustom.cpp:
3104 (WebCore::V8Geolocation::getCurrentPositionCallbackCustom):
3105 (WebCore::V8Geolocation::watchPositionCallbackCustom):
3106 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
3107 (WebCore::V8HTMLAllCollection::itemCallbackCustom):
3108 (WebCore::V8HTMLAllCollection::namedItemCallbackCustom):
3109 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3110 (WebCore::V8HTMLCanvasElement::getContextCallbackCustom):
3111 (WebCore::V8HTMLCanvasElement::toDataURLCallbackCustom):
3112 * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3113 (WebCore::V8HTMLDocument::writeCallbackCustom):
3114 (WebCore::V8HTMLDocument::writelnCallbackCustom):
3115 (WebCore::V8HTMLDocument::openCallbackCustom):
3116 * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
3117 (WebCore::V8HTMLFormControlsCollection::namedItemCallbackCustom):
3118 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3119 (WebCore::v8HTMLImageElementConstructorCallbackCustom):
3120 (WebCore::V8HTMLImageElementConstructor::GetTemplate):
3121 * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3122 (WebCore::V8HTMLInputElement::setSelectionRangeCallbackCustom):
3123 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3124 (WebCore::V8HTMLOptionsCollection::namedItemCallbackCustom):
3125 (WebCore::V8HTMLOptionsCollection::removeCallbackCustom):
3126 (WebCore::V8HTMLOptionsCollection::addCallbackCustom):
3127 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3128 (WebCore::V8HTMLSelectElement::removeCallbackCustom):
3129 * bindings/v8/custom/V8HistoryCustom.cpp:
3130 (WebCore::V8History::pushStateCallbackCustom):
3131 (WebCore::V8History::replaceStateCallbackCustom):
3132 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3133 (WebCore::V8InjectedScriptHost::inspectedObjectCallbackCustom):
3134 (WebCore::V8InjectedScriptHost::internalConstructorNameCallbackCustom):
3135 (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallbackCustom):
3136 (WebCore::V8InjectedScriptHost::typeCallbackCustom):
3137 (WebCore::V8InjectedScriptHost::functionDetailsCallbackCustom):
3138 (WebCore::V8InjectedScriptHost::getInternalPropertiesCallbackCustom):
3139 (WebCore::V8InjectedScriptHost::getEventListenersCallbackCustom):
3140 (WebCore::V8InjectedScriptHost::inspectCallbackCustom):
3141 (WebCore::V8InjectedScriptHost::databaseIdCallbackCustom):
3142 (WebCore::V8InjectedScriptHost::storageIdCallbackCustom):
3143 (WebCore::V8InjectedScriptHost::evaluateCallbackCustom):
3144 (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallbackCustom):
3145 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
3146 (WebCore::V8InspectorFrontendHost::platformCallbackCustom):
3147 (WebCore::V8InspectorFrontendHost::portCallbackCustom):
3148 (WebCore::V8InspectorFrontendHost::showContextMenuCallbackCustom):
3149 (WebCore::V8InspectorFrontendHost::recordActionTakenCallbackCustom):
3150 (WebCore::V8InspectorFrontendHost::recordPanelShownCallbackCustom):
3151 (WebCore::V8InspectorFrontendHost::recordSettingChangedCallbackCustom):
3152 * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
3153 (WebCore::V8JavaScriptCallFrame::evaluateCallbackCustom):
3154 (WebCore::V8JavaScriptCallFrame::restartCallbackCustom):
3155 (WebCore::V8JavaScriptCallFrame::setVariableValueCallbackCustom):
3156 (WebCore::V8JavaScriptCallFrame::scopeTypeCallbackCustom):
3157 * bindings/v8/custom/V8LocationCustom.cpp:
3158 (WebCore::V8Location::reloadAccessorGetter):
3159 (WebCore::V8Location::replaceAccessorGetter):
3160 (WebCore::V8Location::assignAccessorGetter):
3161 (WebCore::V8Location::reloadCallbackCustom):
3162 (WebCore::V8Location::replaceCallbackCustom):
3163 (WebCore::V8Location::assignCallbackCustom):
3164 (WebCore::V8Location::valueOfCallbackCustom):
3165 (WebCore::V8Location::toStringCallbackCustom):
3166 * bindings/v8/custom/V8MessageEventCustom.cpp:
3167 (WebCore::V8MessageEvent::initMessageEventCallbackCustom):
3168 (WebCore::V8MessageEvent::webkitInitMessageEventCallbackCustom):
3169 * bindings/v8/custom/V8MessagePortCustom.cpp:
3170 (WebCore::V8MessagePort::postMessageCallbackCustom):
3171 * bindings/v8/custom/V8NodeCustom.cpp:
3172 (WebCore::V8Node::insertBeforeCallbackCustom):
3173 (WebCore::V8Node::replaceChildCallbackCustom):
3174 (WebCore::V8Node::removeChildCallbackCustom):
3175 (WebCore::V8Node::appendChildCallbackCustom):
3176 * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3177 (WebCore::V8NotificationCenter::requestPermissionCallbackCustom):
3178 * bindings/v8/custom/V8NotificationCustom.cpp:
3179 (WebCore::V8Notification::requestPermissionCallbackCustom):
3180 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3181 (WebCore::V8SQLResultSetRowList::itemCallbackCustom):
3182 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3183 (WebCore::V8SQLTransaction::executeSqlCallbackCustom):
3184 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3185 (WebCore::V8SQLTransactionSync::executeSqlCallbackCustom):
3186 * bindings/v8/custom/V8SVGLengthCustom.cpp:
3187 (WebCore::V8SVGLength::convertToSpecifiedUnitsCallbackCustom):
3188 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3189 (WebCore::V8WebGLRenderingContext::getAttachedShadersCallbackCustom):
3190 (WebCore::V8WebGLRenderingContext::getBufferParameterCallbackCustom):
3191 (WebCore::V8WebGLRenderingContext::getExtensionCallbackCustom):
3192 (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallbackCustom):
3193 (WebCore::V8WebGLRenderingContext::getParameterCallbackCustom):
3194 (WebCore::V8WebGLRenderingContext::getProgramParameterCallbackCustom):
3195 (WebCore::V8WebGLRenderingContext::getRenderbufferParameterCallbackCustom):
3196 (WebCore::V8WebGLRenderingContext::getShaderParameterCallbackCustom):
3197 (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallbackCustom):
3198 (WebCore::V8WebGLRenderingContext::getTexParameterCallbackCustom):
3199 (WebCore::V8WebGLRenderingContext::getUniformCallbackCustom):
3200 (WebCore::V8WebGLRenderingContext::getVertexAttribCallbackCustom):
3201 (WebCore::V8WebGLRenderingContext::uniform1fvCallbackCustom):
3202 (WebCore::V8WebGLRenderingContext::uniform1ivCallbackCustom):
3203 (WebCore::V8WebGLRenderingContext::uniform2fvCallbackCustom):
3204 (WebCore::V8WebGLRenderingContext::uniform2ivCallbackCustom):
3205 (WebCore::V8WebGLRenderingContext::uniform3fvCallbackCustom):
3206 (WebCore::V8WebGLRenderingContext::uniform3ivCallbackCustom):
3207 (WebCore::V8WebGLRenderingContext::uniform4fvCallbackCustom):
3208 (WebCore::V8WebGLRenderingContext::uniform4ivCallbackCustom):
3209 (WebCore::V8WebGLRenderingContext::uniformMatrix2fvCallbackCustom):
3210 (WebCore::V8WebGLRenderingContext::uniformMatrix3fvCallbackCustom):
3211 (WebCore::V8WebGLRenderingContext::uniformMatrix4fvCallbackCustom):
3212 (WebCore::V8WebGLRenderingContext::vertexAttrib1fvCallbackCustom):
3213 (WebCore::V8WebGLRenderingContext::vertexAttrib2fvCallbackCustom):
3214 (WebCore::V8WebGLRenderingContext::vertexAttrib3fvCallbackCustom):
3215 (WebCore::V8WebGLRenderingContext::vertexAttrib4fvCallbackCustom):
3216 * bindings/v8/custom/V8WorkerContextCustom.cpp:
3217 (WebCore::V8WorkerContext::importScriptsCallbackCustom):
3218 (WebCore::V8WorkerContext::setTimeoutCallbackCustom):
3219 (WebCore::V8WorkerContext::setIntervalCallbackCustom):
3220 * bindings/v8/custom/V8WorkerCustom.cpp:
3221 (WebCore::V8Worker::postMessageCallbackCustom):
3222 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3223 (WebCore::V8XMLHttpRequest::openCallbackCustom):
3224 (WebCore::V8XMLHttpRequest::sendCallbackCustom):
3225 * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3226 (WebCore::V8XSLTProcessor::setParameterCallbackCustom):
3227 (WebCore::V8XSLTProcessor::getParameterCallbackCustom):
3228 (WebCore::V8XSLTProcessor::removeParameterCallbackCustom):
3230 2013-02-13 Praveen R Jadhav <praveen.j@samsung.com>
3232 JSObject for ChannelSplitterNode and ChannelMergerNode are not created.
3233 https://bugs.webkit.org/show_bug.cgi?id=109542
3235 Reviewed by Kentaro Hara.
3237 "JSGenerateToJSObject" should be included in IDL files
3238 of ChannelSplitterNode and ChannelMergerNode in WebAudio.
3239 This ensures html files to access corresponding objects.
3241 * Modules/webaudio/ChannelMergerNode.idl:
3242 * Modules/webaudio/ChannelSplitterNode.idl:
3244 2013-02-13 Vineet Chaudhary <rgf748@motorola.com>
3246 [Regression] After r142831 collection-null-like-arguments.html layout test failing
3247 https://bugs.webkit.org/show_bug.cgi?id=109780
3249 Reviewed by Kentaro Hara.
3251 No new tests. LayoutTests/fast/dom/collection-null-like-arguments.html
3254 * bindings/js/JSHTMLAllCollectionCustom.cpp: Return null for namedItem() only.
3255 (WebCore::getNamedItems):
3256 (WebCore::JSHTMLAllCollection::namedItem):
3257 * bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Ditto.
3258 (WebCore::getNamedItems):
3259 (WebCore::JSHTMLFormControlsCollection::namedItem):
3260 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: Ditto.
3261 (WebCore::getNamedItems):
3262 (WebCore::JSHTMLOptionsCollection::namedItem):
3264 2013-02-13 Soo-Hyun Choi <sh9.choi@samsung.com>
3266 Fix indentation error in MediaPlayerPrivateGStreamer.h
3267 https://bugs.webkit.org/show_bug.cgi?id=109768
3269 Reviewed by Kentaro Hara.
3271 No new tests as this patch just changes indentation style.
3273 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3274 (MediaPlayerPrivateGStreamer):
3275 (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
3276 (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
3277 (WebCore::MediaPlayerPrivateGStreamer::engineDescription):
3278 (WebCore::MediaPlayerPrivateGStreamer::isLiveStream):
3280 2013-02-13 Adam Barth <abarth@webkit.org>
3282 TokenPreloadScanner should be (mostly!) thread-safe
3283 https://bugs.webkit.org/show_bug.cgi?id=109760
3285 Reviewed by Eric Seidel.
3287 This patch makes the bulk of TokenPreloadScanner thread-safe. The one
3288 remaining wart is processPossibleBaseTag because it wants to grub
3289 around in the base tag's attributes. I have a plan for that, but it's
3290 going to need to wait for the next patch.
3292 * html/parser/HTMLPreloadScanner.cpp:
3293 (WebCore::isStartTag):
3294 (WebCore::isStartOrEndTag):
3295 (WebCore::TokenPreloadScanner::identifierFor):
3296 (WebCore::TokenPreloadScanner::inititatorFor):
3297 (WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner):
3298 (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
3299 (TokenPreloadScanner::StartTagScanner):
3300 (WebCore::TokenPreloadScanner::processPossibleTemplateTag):
3301 (WebCore::TokenPreloadScanner::processPossibleStyleTag):
3302 (WebCore::TokenPreloadScanner::processPossibleBaseTag):
3303 (WebCore::TokenPreloadScanner::scan):
3304 (WebCore::HTMLPreloadScanner::scan):
3305 * html/parser/HTMLPreloadScanner.h:
3308 2013-02-13 Adam Barth <abarth@webkit.org>
3310 StartTagScanner should be thread-safe
3311 https://bugs.webkit.org/show_bug.cgi?id=109750
3313 Reviewed by Eric Seidel.
3315 This patch weens the StartTagScanner off AtomicString using two
3318 1) This patch creates an enum to represent the four tag names that the
3319 StartTagScanner needs to understand. Using an enum is better than
3320 using an AtomicString because we can use the enum on both the main
3321 thread and on the background thread.
3323 2) For attributes, this patch uses threadSafeMatch. We're not able to
3324 use threadSafeMatch everywhere due to performance, but using it for
3325 attributes appears to be ok becaues we only call threadSafeMatch on
3326 the attributes of "interesting" tags.
3328 I tested the performance of this patch using
3329 PerformanceTests/Parser/html-parser.html and did not see any slowdown.
3330 (There actually appeared to be a <1% speedup, but I'm attributing that
3333 * html/parser/HTMLPreloadScanner.cpp:
3334 (WebCore::identifierFor):
3336 (WebCore::inititatorFor):
3337 (WebCore::StartTagScanner::StartTagScanner):
3338 (WebCore::StartTagScanner::processAttributes):
3340 (WebCore::StartTagScanner::createPreloadRequest):
3341 (WebCore::StartTagScanner::processAttribute):
3342 (WebCore::StartTagScanner::charset):
3343 (WebCore::StartTagScanner::resourceType):
3344 (WebCore::StartTagScanner::shouldPreload):
3345 (WebCore::HTMLPreloadScanner::processToken):
3347 2013-02-13 Huang Dongsung <luxtella@company100.net>
3349 Coordinated Graphics: a long page is scaled vertically while loading.
3350 https://bugs.webkit.org/show_bug.cgi?id=109645
3352 Reviewed by Noam Rosenthal.
3354 When loading http://www.w3.org/TR/xpath-datamodel/, Coordinated Graphics draws
3355 vertically scaled contents. It is because there is the difference between the
3356 size of a layer and the size of CoordinatedBackingStore.
3358 Currently, CoordinatedGraphicsScene notifies the size to CoordinatedBackingStore
3359 at the moment of creating, updating and removing a tile. However, it is not
3360 necessary to send tile-related messages when the size of layer is changed.
3361 So this patch resets the size of CoordinatedBackingStore when receiving the
3362 message that is created when the size is changed: SyncLayerState.
3364 There is no current way to reliably test flicker issues.
3366 * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
3367 Add m_pendingSize to set m_size at the moment of flushing.
3368 After http://webkit.org/b/108294, m_pendingSize will be removed
3369 because the bug makes CoordinatedGraphicsScene execute all messages at
3370 the moment of flushing.
3371 (WebCore::CoordinatedBackingStore::setSize):
3372 (WebCore::CoordinatedBackingStore::commitTileOperations):
3373 * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
3374 (CoordinatedBackingStore):
3375 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3376 (WebCore::CoordinatedGraphicsScene::prepareContentBackingStore):
3377 (WebCore::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
3378 (WebCore::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize):
3379 (WebCore::CoordinatedGraphicsScene::createTile):
3380 (WebCore::CoordinatedGraphicsScene::removeTile):
3381 (WebCore::CoordinatedGraphicsScene::updateTile):
3383 2013-02-13 Kentaro Hara <haraken@chromium.org>
3385 [V8] Rename XXXAccessorGetter() to XXXAttrGetterCustom(),
3386 and XXXAccessorSetter() to XXXAttrSetterCustom()
3387 https://bugs.webkit.org/show_bug.cgi?id=109679
3389 Reviewed by Adam Barth.
3391 For naming consistency and clarification.
3393 No tests. No change in behavior.
3395 * bindings/scripts/CodeGeneratorV8.pm:
3397 (GenerateHeaderCustomCall):
3398 (GenerateNormalAttrGetter):
3399 (GenerateNormalAttrSetter):
3400 (GenerateImplementation):
3401 * bindings/scripts/test/V8/V8TestInterface.cpp:
3402 (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetter):
3403 (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetter):
3404 * bindings/scripts/test/V8/V8TestObj.cpp:
3405 (WebCore::TestObjV8Internal::customAttrAttrGetter):
3406 (WebCore::TestObjV8Internal::customAttrAttrSetter):
3407 * bindings/scripts/test/V8/V8TestObj.h:
3409 * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
3410 (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
3411 * bindings/v8/custom/V8BiquadFilterNodeCustom.cpp:
3412 (WebCore::V8BiquadFilterNode::typeAttrSetterCustom):
3413 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3414 (WebCore::V8CanvasRenderingContext2D::strokeStyleAttrGetterCustom):
3415 (WebCore::V8CanvasRenderingContext2D::strokeStyleAttrSetterCustom):