1 2013-02-19 Tony Gentilcore <tonyg@chromium.org>
3 Fix checkThatTokensAreSafeToSendToAnotherThread() now that the preload scanner is enabled
4 https://bugs.webkit.org/show_bug.cgi?id=110258
6 Reviewed by Adam Barth.
8 We were hitting this ASSERT on numerous tests with the background parser enabled. This copy fixes the assertion.
10 No new tests becuase covered by existing tests.
12 * html/parser/HTMLResourcePreloader.h:
13 (WebCore::PreloadRequest::setCharset):
15 2013-02-19 Tony Gentilcore <tonyg@chromium.org>
17 Fix typo: inititatorFor->initiatorFor
18 https://bugs.webkit.org/show_bug.cgi?id=110260
20 Reviewed by Adam Barth.
22 No new tests because no changed functionality.
24 * html/parser/HTMLPreloadScanner.cpp:
25 (WebCore::TokenPreloadScanner::initiatorFor):
26 (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
27 * html/parser/HTMLPreloadScanner.h:
29 2013-02-19 Tony Chang <tony@chromium.org>
31 Convert 3 settings to use Settings.in
32 https://bugs.webkit.org/show_bug.cgi?id=109875
34 Reviewed by Ryosuke Niwa.
36 Convert mediaEnabled, applicationChromeMode and DOMPasteAllowed to
37 use Settings.in. They previously had inconsistently named setters.
39 No new tests, this is a refactoring.
41 * Source/WebCore/WebCore.exp.in: Remove symbols that are now inlined from exports.
42 * Source/WebCore/WebCore.order: Remove symbols that no longer exist.
44 (printConstructorInterior): Rename isMediaEnabled to mediaEnabled.
45 (printWrapperFunctions): Rename isMediaEnabled to mediaEnabled.
46 * editing/EditorCommand.cpp:
47 (WebCore::supportedPaste): Rename isDOMPasteAllowed to DOMPasteAllowed.
49 (WebCore::Settings::Settings): Remove custom code.
51 (Settings): Remove custom code.
52 * page/Settings.in: Add entries for mediaEnabled, applicationChromeMode and DOMPasteAllowed.
53 * page/make_settings.pl:
54 (setterFunctionName): Expand uppercase rules to include DOM.
55 * rendering/RenderTheme.cpp:
56 (WebCore::RenderTheme::isDefault): Rename inApplicationChromeMode to applicationChromeMode.
57 * rendering/RenderThemeWin.cpp:
58 (WebCore::documentIsInApplicationChromeMode): Rename inApplicationChromeMode to applicationChromeMode.
60 2013-02-19 Julien Chaffraix <jchaffraix@webkit.org>
62 [CSS Grid Layout] Refactor the code in preparation of auto placement support
63 https://bugs.webkit.org/show_bug.cgi?id=110244
65 Reviewed by Ojan Vafai.
67 Test: fast/css-grid-layout/grid-auto-flow-resolution.html
69 In order to support auto placement, we need to iterate over the grid items with
70 auto row / column several times. This changes makes us do that in a very simple,
71 not-yet-conformant way. While touching this code, the distinction between grid-auto-flow
72 none and row / column was better drawn (and enforced).
74 * rendering/RenderGrid.cpp:
75 (WebCore::RenderGrid::resolveGridPositionFromStyle):
76 Made it illegal to call resolveGridPositionFromStyle if the grid track is auto and
77 grid-auto-flow is not none. This would catch bad use of the function.
79 (WebCore::RenderGrid::maximumIndexInDirection):
80 Updated to bail out if the grid track is auto. Also improved the comment.
82 (WebCore::RenderGrid::placeItemsOnGrid):
83 Updated the function to do several iterations. Also handled the grid-auto-flow: none
84 case differently as it shouldn't need the extra iteration(s).
86 2013-02-19 David Hyatt <hyatt@apple.com>
88 [New Multicolumn] REGRESSION: RenderMultiColumnSets broken by the RenderRegion -> RenderBlock subclassing.
89 https://bugs.webkit.org/show_bug.cgi?id=110239.
91 Reviewed by Simon Fraser.
93 Test: fast/multicol/newmulticol/column-rules-fixed-height.html
95 * rendering/RenderBlock.cpp:
96 (WebCore::RenderBlock::columnRectAt):
97 Make sure the columnGap() in the old multicolumn code is always expressed as a LayoutUnit. This was the
98 one place where it was still an int.
100 * rendering/RenderFlowThread.cpp:
101 (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
102 Rework the painting of flow thread portions to account for the fact that regions paint at an integral
103 translation. This means you have to construct clipping around that integral destination. Subpixel layout
104 regions did not clip correctly as a result of this issue.
106 * rendering/RenderMultiColumnSet.cpp:
107 (WebCore::RenderMultiColumnSet::columnRectAt):
108 Fix the same bug with columnGap() that the old column code has, i.e., one spot where it was an int.
110 (WebCore::RenderMultiColumnSet::paintObject):
111 RenderMultiColumnSet should be using paintObject and not paint and it needs to check for visibility
112 and phases now that it is a RenderBlock subclass.
114 (WebCore::RenderMultiColumnSet::paintColumnRules):
115 Fix the bug that Opera guys fixed in the old multi-column code. They didn't patch the new code, so this
118 * rendering/RenderMultiColumnSet.h:
119 (RenderMultiColumnSet):
120 Change to use paintObject instead of paint.
122 2013-02-19 Branimir Lambov <blambov@google.com>
124 Fix 'slice' aspect ratio calculation
125 https://bugs.webkit.org/show_bug.cgi?id=99984
127 Reviewed by Dirk Schulze.
129 Previously the calculation for the 'slice' aspect ratio would incorrectly calculate the
130 source rect location based on the destination rect offset. This caused our source rect to be
131 incorrect, and sometimes render outside the visible area completely. After this patch
132 our implementation matches the implementation of both Gecko and Presto.
134 The relevant spec section:
135 http://www.w3.org/TR/SVG/single-page.html#coords-PreserveAspectRatioAttribute
137 Tests: svg/as-image/image-preserveAspectRatio-all.svg
138 svg/filters/feImage-preserveAspectRatio-all.svg
140 * svg/SVGPreserveAspectRatio.cpp:
141 (WebCore::SVGPreserveAspectRatio::transformRect):
143 2013-02-19 Kentaro Hara <haraken@google.com>
145 [V8] ScriptRunner::runCompiledScript() should return Handle<Value>() when OOM occurs
146 https://bugs.webkit.org/show_bug.cgi?id=110254
148 Reviewed by Adam Barth.
150 Chromium bug: https://code.google.com/p/chromium/issues/detail?id=176951
152 Currently ScriptRunner::runCompiledScript() calls
153 ASSERT(script.IsEmpty()) when OOM occurs. The Chromium bug is
154 hitting the ASSERT(). The ASSERT() does not make sense at all.
155 Instead, we should return an empty handle when OOM occurs.
157 No tests. The bug happens only when OOM occurs.
159 * bindings/v8/ScriptRunner.cpp:
160 (WebCore::ScriptRunner::runCompiledScript):
162 2013-02-19 Elliott Sprehn <esprehn@chromium.org>
164 Support both MutationObserver and WebKitMutationObserver
165 https://bugs.webkit.org/show_bug.cgi?id=109776
167 Reviewed by Ojan Vafai.
169 We should allow new MutationObserver now that we support parser generated
170 mutations. This leaves the old prefixed constructor in until we decide
171 people don't depend on it.
173 Test: fast/dom/MutationObserver/mutation-observer-prefix.html
175 * page/DOMWindow.idl:
177 2013-02-19 Elliott Sprehn <esprehn@chromium.org>
179 Remove RenderText::updateText
180 https://bugs.webkit.org/show_bug.cgi?id=109991
182 Reviewed by Eric Seidel.
184 There's no reason for the generic RenderText::updateText virtual hook
185 anymore now that r143060 made RenderQuote stop setting dirty bits during
186 layout since the hook is only used by RenderCounter.
188 Instead add updateCounterIfNeeded and make it clear this is a hack for
191 * rendering/RenderBlockLineLayout.cpp:
192 (WebCore::updateCounterIfNeeded): Added, not handles the counter specific hack.
193 (WebCore::dirtyLineBoxesForRenderer):
194 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
195 * rendering/RenderCounter.cpp:
196 (WebCore::RenderCounter::updateCounter):
197 * rendering/RenderCounter.h:
199 * rendering/RenderQuote.cpp:
200 (WebCore::RenderQuote::styleDidChange):
201 (WebCore::RenderQuote::updateDepth):
202 * rendering/RenderQuote.h:
204 * rendering/RenderText.h:
207 2013-02-19 Tony Chang <tony@chromium.org>
209 Border changes on tables with collapsed borders doesn't relayout table cells
210 https://bugs.webkit.org/show_bug.cgi?id=109774
212 Reviewed by David Hyatt.
214 Test: fast/table/border-collapsing/dynamic-border-width-change.html
216 Changes to border top and border bottom on table rows also changes the size
217 of the table cell causing a relayout to be needed.
219 * rendering/RenderTableRow.cpp:
220 (WebCore::borderWidthChanged): Also include border top and bottom.
221 (WebCore::RenderTableRow::styleDidChange): Remove logical from the helper function name.
223 2013-02-19 Kentaro Hara <haraken@chromium.org>
225 Unreviewed. Rebaselined run-bindings-tests.
227 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
228 (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
229 * bindings/scripts/test/JS/JSTestObj.cpp:
230 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
232 2013-02-19 ChangSeok Oh <changseok.oh@collabora.com>
234 [GTK][AC] Implement matrix transform animation with clutter ac backend
235 https://bugs.webkit.org/show_bug.cgi?id=109848
237 Reviewed by Gustavo Noronha Silva.
239 Clutter 1.12 doesn't support additive transform animations yet, so the combination
240 of two or more transformations(such as rotation after translation) runs unexpectedly.
241 So we use a matrix transformation instead for the case.
243 Covered by existing animation tests.
245 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
246 (WebCore::getValueFunctionNameForTransformOperation):
247 (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
248 * platform/graphics/clutter/PlatformClutterAnimation.cpp:
249 (WebCore::toClutterActorPropertyString): Add actor property "transform"
250 (WebCore::clutterMatrixProgress): Handle interpolation between two matrices instead of default clutter_matrix_progress.
252 (WebCore::PlatformClutterAnimation::supportsAdditiveValueFunction):
253 (WebCore::PlatformClutterAnimation::setFromValue): for TransformationMatrix.
254 (WebCore::PlatformClutterAnimation::setToValue): ditto.
255 (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
256 (WebCore::PlatformClutterAnimation::addTransformTransition):
257 * platform/graphics/clutter/PlatformClutterAnimation.h:
258 (PlatformClutterAnimation):
259 * platform/graphics/clutter/TransformationMatrixClutter.cpp: Add copy constructor for CoglMatrix.
260 (WebCore::TransformationMatrix::TransformationMatrix):
262 * platform/graphics/transforms/TransformationMatrix.h:
263 (TransformationMatrix):
265 2013-02-19 Kassy Coan <kassycoan@chromium.org>
267 Update FeatureObserver on top level navigation in addition to page destruction.
268 https://bugs.webkit.org/show_bug.cgi?id=109874
270 Reviewed by Adam Barth.
272 No new tests. Only effect is to histogram more frequently.
274 * loader/FrameLoader.cpp:
275 (WebCore::FrameLoader::dispatchDidCommitLoad):
276 * page/FeatureObserver.cpp:
277 (WebCore::FeatureObserver::~FeatureObserver):
279 (WebCore::FeatureObserver::updateMeasurements):
280 (WebCore::FeatureObserver::didCommitLoad):
281 * page/FeatureObserver.h:
284 2013-02-19 Morten Stenshorne <mstensho@opera.com>
286 Remove unnecessary (and problematic) copy-constructor from LayoutUnit
287 https://bugs.webkit.org/show_bug.cgi?id=110121
289 This copy constructor does what a default copy constructor would do, so
290 it's not necessary. Furthermore, this copy constructor is the only
291 reason why LayoutUnit becomes non-POD, and that triggers a gdb bug,
292 making it impossible to do things like "print location()" when inside
293 some RenderBlock, for instance.
295 Gdb bug http://sourceware.org/bugzilla/show_bug.cgi?id=15154 reported.
297 Reviewed by Benjamin Poulain.
299 No tests. Apart from dealing with buggy debuggers, this is just code cleanup.
301 * platform/LayoutUnit.h:
303 2013-02-19 Emil A Eklund <eae@chromium.org>
305 LayoutUnit::epsilon shouldn't be necessary to place floats
306 https://bugs.webkit.org/show_bug.cgi?id=94000
308 Reviewed by Levi Weintraub.
310 Currently, to get float placement correct, we need to have an
311 epsilon tolerance in RenderBlock::computeLogicalLocationForFloat
312 for the width of the line to fit them on. This really shouldn't
313 be necessary, and probably indicates we're losing precision
316 Remove epsilon as it no longer appears to be needed. All layout
317 tests pass without it.
319 No new tests, covered by existing tests.
321 * rendering/RenderBlock.cpp:
322 (WebCore::RenderBlock::computeLogicalLocationForFloat):
324 2013-02-19 Tim Volodine <timvolodine@chromium.org>
326 Text Autosizing: prevent oscillation of font sizes during autosizing
327 https://bugs.webkit.org/show_bug.cgi?id=108205
329 Reviewed by Kenneth Rohde Christiansen.
331 On some websites autosized font-sizes oscillate due to layouts caused by
332 hovering or incremental page loading (and on other sites font sizes do
333 eventually stabilize, but it takes many layouts before they reach a steady
334 size). To prevent all these cases, we no longer allow the autosizing
335 multiplier to change after it has been set (to a value other than 1).
337 This won't always give exactly the same results, but testing on 2000 top
338 sites shows that this makes little difference in practice, and it prevents
339 these very jarring cases. As a happy side-effect, this speeds up layouts
340 as font sizes change less.
342 Test: fast/text-autosizing/oscillation-javascript-fontsize-change.html
344 * page/FrameView.cpp:
345 (WebCore::FrameView::setFrameRect):
347 (WebCore::Settings::setTextAutosizingFontScaleFactor):
348 * rendering/TextAutosizer.cpp:
349 (WebCore::TextAutosizer::recalculateMultipliers):
351 (WebCore::TextAutosizer::processContainer):
352 * rendering/TextAutosizer.h:
355 2013-02-19 Youenn Fablet <youennf@gmail.com>
357 [EFL][DRT] http/tests/loading/307-after-303-after-post.html times out
358 https://bugs.webkit.org/show_bug.cgi?id=93214
360 Ensured that GET verb is consistently used for any request
361 coming after a redirection that triggers switching to GET.
363 Reviewed by Martin Robinson.
365 * platform/network/soup/ResourceHandleSoup.cpp:
366 (WebCore::doRedirect):
368 2013-02-19 Andras Becsi <andras.becsi@digia.com>
370 [Qt] Fix compilation if Qt was configured with -no-rtti
371 https://bugs.webkit.org/show_bug.cgi?id=110234
373 Reviewed by Noam Rosenthal.
375 Availability of dynamic_cast should be checked.
377 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
378 (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
380 2013-02-18 Alexey Proskuryakov <ap@apple.com>
382 Unregistered blob URLs have incorrect MIME type
383 https://bugs.webkit.org/show_bug.cgi?id=110166
385 Reviewed by Sam Weinig.
387 * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::shouldUseInnerURL): Added a FIXME.
389 * platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::notifyResponseOnError):
390 Pass an accurate MIME type (for a delegate to see).
392 2013-02-19 Joshua Bell <jsbell@chromium.org>
394 IndexedDB: additional checks on LevelDB decoding
395 https://bugs.webkit.org/show_bug.cgi?id=109711
397 Reviewed by Tony Chang.
399 Watch out for decoding errors caused by corrupted data, and exit various
400 decode/compare operations earlier.
402 Covered by existing LayoutTests and Chromium's webkit_unit_tests
404 * Modules/indexeddb/IDBLevelDBCoding.cpp:
405 (WebCore::IDBLevelDBCoding::decodeStringWithLength): Bail if length is negative.
406 (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength): Distinguish error case.
407 (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Bail if length is negative.
408 (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Distinguish error case.
409 (WebCore::IDBLevelDBCoding::compare): Plumb through "ok".
410 (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare): Ditto.
411 (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare): Ditto.
412 (WebCore::IDBLevelDBCoding::IndexDataKey::compare): Ditto.
413 * Modules/indexeddb/IDBLevelDBCoding.h: Updated method signatures.
415 2013-02-19 ChangSeok Oh <changseok.oh@collabora.com>
417 [GTK][AC] Implement keyframe animations with clutter ac backend
418 https://bugs.webkit.org/show_bug.cgi?id=110057
420 Reviewed by Gustavo Noronha Silva.
422 This patch brings accelerated keyframe animation with clutter to WebKitGtk+.
423 Changes of GraphicsLayerClutter are based on GraphicsLayerCA. But major changes
424 of PlatformClutterAnimation are implemented with clutter keyframe transition apis.
425 See http://developer.gnome.org/clutter/stable/ClutterKeyframeTransition.html
427 Covered by existing animation tests.
429 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
430 (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
431 (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
432 (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
433 * platform/graphics/clutter/PlatformClutterAnimation.cpp:
434 (WebCore::toClutterActorPropertyString):
435 (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
436 (WebCore::PlatformClutterAnimation::setTimingFunction):
437 (WebCore::PlatformClutterAnimation::setValues):
438 (WebCore::PlatformClutterAnimation::setKeyTimes):
439 (WebCore::PlatformClutterAnimation::setTimingFunctions):
440 (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
442 (WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
443 (WebCore::PlatformClutterAnimation::addOpacityTransition):
444 (WebCore::PlatformClutterAnimation::addTransformTransition):
445 (WebCore::PlatformClutterAnimation::addAnimationForKey):
446 (WebCore::PlatformClutterAnimation::removeAnimationForKey):
447 * platform/graphics/clutter/PlatformClutterAnimation.h:
448 (PlatformClutterAnimation):
450 2013-02-19 Claudio Saavedra <csaavedra@igalia.com>
452 [harfbuzz] Crash in harfbuzz related code
453 https://bugs.webkit.org/show_bug.cgi?id=110145
455 Reviewed by Martin Robinson.
457 Patch by Behdad Esfahbod <behdad@google.com>
459 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
460 (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Ask harfbuzz
461 to guess the segment properties.
463 2013-02-19 Pavel Podivilov <podivilov@chromium.org>
465 Web Inspector: release backtrace object group on each step.
466 https://bugs.webkit.org/show_bug.cgi?id=110223
468 Reviewed by Pavel Feldman.
470 * inspector/InspectorDebuggerAgent.cpp:
472 (WebCore::InspectorDebuggerAgent::stepOver):
473 (WebCore::InspectorDebuggerAgent::stepInto):
474 (WebCore::InspectorDebuggerAgent::stepOut):
476 2013-02-19 Sheriff Bot <webkit.review.bot@gmail.com>
478 Unreviewed, rolling out r142975.
479 http://trac.webkit.org/changeset/142975
480 https://bugs.webkit.org/show_bug.cgi?id=110225
482 Introduces hard-to-reproduce crashes upon inspected page
483 navigation on Mac (Requested by apavlov on #webkit).
485 * dom/DocumentStyleSheetCollection.cpp:
486 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
487 * inspector/Inspector.json:
488 * inspector/InspectorCSSAgent.cpp:
489 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
490 (WebCore::InspectorCSSAgent::clearFrontend):
491 (WebCore::InspectorCSSAgent::enable):
492 (WebCore::InspectorCSSAgent::getAllStyleSheets):
493 (WebCore::InspectorCSSAgent::collectStyleSheets):
494 (WebCore::InspectorCSSAgent::bindStyleSheet):
495 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
496 (WebCore::InspectorCSSAgent::detectOrigin):
497 (WebCore::InspectorCSSAgent::buildObjectForRule):
498 * inspector/InspectorCSSAgent.h:
500 * inspector/InspectorInstrumentation.cpp:
502 * inspector/InspectorInstrumentation.h:
504 (InspectorInstrumentation):
505 * inspector/front-end/CSSStyleModel.js:
506 (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
507 (WebInspector.CSSStyleModelResourceBinding.prototype.):
508 (WebInspector.CSSStyleModelResourceBinding.prototype.requestStyleSheetIdForResource):
509 (WebInspector.CSSStyleModelResourceBinding.prototype.requestResourceURLForStyleSheetId):
510 (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetIdForResource):
511 (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
512 (WebInspector.CSSStyleModelResourceBinding.prototype.headersLoaded):
513 (WebInspector.CSSStyleModelResourceBinding.prototype._requestViaInspectorResource):
514 (WebInspector.CSSStyleModelResourceBinding.prototype._getOrCreateInspectorResource):
515 (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
516 * inspector/front-end/SASSSourceMapping.js:
517 (WebInspector.SASSSourceMapping.prototype._styleSheetChanged.callback):
518 (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
519 * inspector/front-end/StylesSidebarPane.js:
520 (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode.callback):
521 (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
522 * inspector/front-end/StylesSourceMapping.js:
523 (WebInspector.StyleContentBinding.prototype.callback):
524 (WebInspector.StyleContentBinding.prototype.setStyleContent):
525 (WebInspector.StyleContentBinding.prototype.):
526 (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
528 2013-02-19 Julien Chaffraix <jchaffraix@webkit.org>
530 RenderGrid::computedUsedBreadthOfGridTracks can read past m_grid's size
531 https://bugs.webkit.org/show_bug.cgi?id=110126
533 Reviewed by Ojan Vafai.
535 The issue comes from how we store the column information inside m_grid.
536 Because m_grid is a Vector of rows, we could lose the column information
537 if we had no row, no grid item but some columns defined in CSS. As the
538 logic would assume that our row / column size would be greater than what
539 the style defines explicitely, we would access past our Vector's boundary.
541 The fix is to ensure that we have at least a row so that we can store the
542 column information in every case. This fix is overly broad as it also forces
543 the grid to have one column, which shouldn't be an issue.
545 Test: fast/css-grid-layout/grid-element-empty-row-column.html
547 * rendering/RenderGrid.cpp:
548 (WebCore::RenderGrid::maximumIndexInDirection):
549 Forced this function to return at least one as the maximum index so that
550 m_grid has at least one row / column.
552 (WebCore::RenderGrid::placeItemsOnGrid):
553 Added a ASSERT that m_grid is bigger than the explicit grid-rows / grid-columns.
554 Also changed an existing ASSERT to use gridWasPopulated for consistency and changed
555 the code not to call gridRowCount as it would ASSERT (we are in the middle of populating
558 * rendering/RenderGrid.h:
559 (WebCore::RenderGrid::gridWasPopulated):
560 Added this helper function.
562 (WebCore::RenderGrid::gridColumnCount):
563 Replaced a now unneeded branch with an ASSERT. As placeItemsOnGrid should be called
564 prior to read m_grid, this change should be fine.
566 (WebCore::RenderGrid::gridRowCount):
569 2013-02-19 Sergio Villar Senin <svillar@igalia.com>
571 [Soup] Use synchronous calls to close completely processed streams
572 https://bugs.webkit.org/show_bug.cgi?id=107432
574 Reviewed by Martin Robinson.
576 There is no need to close already processed streams in asynchronous
577 calls since they won't block. Using the synchronous call will save
578 us some code and unnecessary asynchronous burden. This is kind of
579 a code refactor so no new tests needed.
581 * platform/network/soup/ResourceHandleSoup.cpp:
583 (WebCore::redirectSkipCallback):
584 (WebCore::readCallback):
586 2013-02-19 Andrey Adaikin <aandrey@chromium.org>
588 Web Inspector: [Canvas] use timeline's didBeginFrame for marking frame end calls
589 https://bugs.webkit.org/show_bug.cgi?id=110130
591 Reviewed by Pavel Feldman.
593 In Web Inspector canvas profiler use timeline's didBeginFrame for marking frame end calls instead of an ad-hoc timeout-based solution.
595 * inspector/InjectedScriptCanvasModule.cpp:
596 (WebCore::InjectedScriptCanvasModule::markFrameEnd):
598 * inspector/InjectedScriptCanvasModule.h:
599 (InjectedScriptCanvasModule):
600 * inspector/InjectedScriptCanvasModuleSource.js:
602 * inspector/InspectorCanvasAgent.cpp:
603 (WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
604 (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
605 (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
606 (WebCore::InspectorCanvasAgent::frameNavigated):
607 (WebCore::InspectorCanvasAgent::didBeginFrame):
609 * inspector/InspectorCanvasAgent.h:
610 (InspectorCanvasAgent):
611 * inspector/InspectorController.cpp:
612 (WebCore::InspectorController::didBeginFrame):
614 2013-02-19 Vsevolod Vlasov <vsevik@chromium.org>
616 Web Inspector: Decouple various file system project implementation parts for better testability and cover with tests.
617 https://bugs.webkit.org/show_bug.cgi?id=110204
619 Reviewed by Pavel Feldman.
621 Extracted FileSystemWorkspaceProvider from IsolatedFileSystemManager to take care of managing workspace projects and projectDelegates.
622 Replaced FileMapping.urlForURI with urlForPath method that does not need any information about workspace structure anymore.
624 Test: inspector/file-system-project.html
626 * inspector/front-end/FileMapping.js:
627 (WebInspector.FileMapping.prototype.urlForPath):
628 * inspector/front-end/FileSystemProjectDelegate.js:
629 (WebInspector.FileSystemProjectDelegate):
630 (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
631 (WebInspector.FileSystemProjectDelegate.prototype.populate):
632 (WebInspector.FileSystemWorkspaceProvider):
633 (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
634 (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
635 * inspector/front-end/IsolatedFileSystem.js:
636 (WebInspector.IsolatedFileSystem):
637 (WebInspector.IsolatedFileSystem.prototype.name):
638 (WebInspector.IsolatedFileSystem.prototype.rootURL):
639 * inspector/front-end/IsolatedFileSystemManager.js:
640 (WebInspector.IsolatedFileSystemManager):
641 (WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
642 (WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):
643 (WebInspector.IsolatedFileSystemManager.prototype._isolatedFileSystem):
644 (WebInspector.IsolatedFileSystemManager.prototype.requestDOMFileSystem):
645 * inspector/front-end/inspector.js:
647 2013-02-19 Andrey Adaikin <aandrey@chromium.org>
649 Web Inspector: [Canvas] do not replace replay image with spinner icon
650 https://bugs.webkit.org/show_bug.cgi?id=110213
652 Reviewed by Pavel Feldman.
654 Otherwise it's visually hard to see changes in the replay image. Instead show a small spinner icon in the bottom right corner.
656 * inspector/front-end/CanvasProfileView.js:
657 (WebInspector.CanvasProfileView):
658 (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
659 * inspector/front-end/canvasProfiler.css:
660 (#canvas-replay-image-container):
661 (.canvas-debug-info):
662 (.canvas-spinner-icon):
664 2013-02-19 Andrey Adaikin <aandrey@chromium.org>
666 Web Inspector: [Canvas] UI: tweak replay control buttons behavior
667 https://bugs.webkit.org/show_bug.cgi?id=110207
669 Reviewed by Pavel Feldman.
671 New behavior for control buttons in the Canvas profiler.
672 - The NextCall button (~StepInto) on a node group should expand it and move into its first child (instead of expanding and moving into the next node group)
673 - The NextDrawCall button (~StepOver) should move to a next node that has children (instead of just iterating call group nodes, ignoring frame nodes).
674 - The ReplayLast button should select the last expanded node (instead of always selecting last frame group node).
676 * inspector/front-end/CanvasProfileView.js:
677 (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
678 (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
679 (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
681 2013-02-19 Andrei Bucur <abucur@adobe.com>
683 [CSS Regions] Assertion in RenderFlowThread::removeRenderBoxRegionInfo
684 https://bugs.webkit.org/show_bug.cgi?id=109914
686 Reviewed by David Hyatt.
688 This patch moves a part of the invalidation operations inside the RenderFlowThread::invalidateRegions call. The maps
689 are cleared anyway at layout time but doing this earlier makes sure the flow thread is in a more consistent state
690 (the RenderFlowThread object has both the region chain invalidated and the regions information cleared).
692 RenderFlowThread::removeRenderBoxRegionInfo will check if the region chain is invalidated. If true, it means the
693 flow thread has a layout scheduled and the regions information is not yet reliable. In this case we just return from the
694 function and wait for the layout to cleanup the box information.
696 Test: fast/regions/remove-box-info-assert.html
698 * rendering/RenderFlowThread.cpp:
699 (WebCore::RenderFlowThread::removeRegionFromThread):
700 (WebCore::RenderFlowThread::invalidateRegions):
702 (WebCore::RenderFlowThread::layout):
703 (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
704 * rendering/RenderFlowThread.h:
705 * rendering/RenderNamedFlowThread.cpp:
706 (WebCore::RenderNamedFlowThread::removeRegionFromThread):
708 2013-02-19 Alberto Garcia <agarcia@igalia.com>
710 Fix build broekn by r142988.
711 https://bugs.webkit.org/show_bug.cgi?id=109530
713 Unreviewed. Build fix.
715 Properly add shortMonthFormat() to the LocaleNone class.
717 * platform/text/LocaleNone.cpp:
719 (WebCore::LocaleNone::shortMonthFormat):
721 2013-02-19 Anton Vayvod <avayvod@chromium.org>
723 [Text Autosizing] Combine narrow descendants of a cluster into groups that should be autosized with the same multiplier.
724 https://bugs.webkit.org/show_bug.cgi?id=109825
726 Enhancement of the approach introduced in https://bugs.webkit.org/show_bug.cgi?id=109573.
727 Instead of using the same text size multiplier for all narrow descendants of any autosizing
728 cluster, group the descendants by how much narrower they are than the cluster's
729 |blockContainingAllText| and process each group separately with a different multiplier for
731 For example, we want nested comments on the page to be autosized as a group but separately
732 from a sidebar on the same page.
734 Reviewed by Kenneth Rohde Christiansen.
736 Updated the existing test to verify the patch.
738 * rendering/TextAutosizer.cpp:
739 (WebCore::TextAutosizer::processClusterInternal):
741 Splits the narrow descendants of the autosizing cluster into groups before processing
742 each group individually.
744 (WebCore::TextAutosizer::getNarrowDescendantsGroupedByWidth):
746 Sorts the narrow descendants of the given cluster into groups, combining them by the
747 difference between their content widths. If sorted by width, two consecutive nodes
748 belong to the same group if their width difference is no greater than 100 CSS units.
750 * rendering/TextAutosizer.h:
752 New method definitions.
754 2013-02-18 Ilya Tikhonovsky <loislo@chromium.org>
756 Web Inspector: Native Memory Instrumentation: show user provided name property of the heap snapshot node.
757 https://bugs.webkit.org/show_bug.cgi?id=110124
759 Reviewed by Yury Semikhatsky.
761 Publish userProvidedName into grid node.
763 * inspector/front-end/HeapSnapshotGridNodes.js:
764 (WebInspector.HeapSnapshotGenericObjectNode):
765 (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
766 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
767 * inspector/front-end/HeapSnapshotProxy.js:
768 (WebInspector.HeapSnapshotWorker):
769 * inspector/front-end/NativeHeapSnapshot.js:
770 (WebInspector.NativeHeapSnapshotNode.prototype.serialize):
772 2013-02-19 Arpita Bahuguna <a.bah@samsung.com>
774 Caret is not displayed when trying to focus inside a contenteditable element containing an empty block.
775 https://bugs.webkit.org/show_bug.cgi?id=108053
777 Reviewed by Ryosuke Niwa.
779 Test: editing/selection/caret-in-div-containing-empty-block.html
781 * rendering/RenderBox.cpp:
782 (WebCore::RenderBox::localCaretRect):
783 When trying to compute the caret rect for the contenteditable div, the
784 border and the padding were not considered. Because of this, for the
785 given test case, which had a border defined on the containing div, the
786 caret was being painted just atop the border, thereby masking it.
788 Have modified the code to ensure that the computed caret rect takes
789 into account the border and padding (if any) specified on the box, but only
790 if the node doesn't have content that shall be skipped for editing.
792 We do not add border and padding while computing the caret rect for any
793 element that either has no content or has content that shall be skipped
794 for editing purposes. This holds true for table elements as well.
796 This helps avoid the caret displacement previsouly observed before/after
797 any controls placed within the contenteditable box, when considering
798 border and padding in computation of the caret rect.
800 2013-02-19 Mihnea Ovidenie <mihnea@adobe.com>
802 CSSRegions: crash positioned object with inline containing block in flow thread
803 https://bugs.webkit.org/show_bug.cgi?id=108307
805 Reviewed by David Hyatt.
807 The fix for https://bugs.webkit.org/show_bug.cgi?id=69896 allowed positioned blocks work
808 with variable width regions. However, the information needed for that is available only
809 when the container used for positioning is a block.
811 This patch ensures we are using this solution only when the container used for positioning
812 is a block. This needs to be revisited when we will extend support for other types of boxes
813 as mentioned in RenderBox::renderBoxRegionInfo.
815 Test: fast/regions/positioned-object-inline-cb-crash.html
817 * rendering/RenderBox.cpp:
818 (WebCore::RenderBox::renderBoxRegionInfo):
819 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
820 (WebCore::RenderBox::computePositionedLogicalWidth): Make sure we are using containerBlocks
821 that are blocks. Add an assert that the type of containerBlock we are using can have
822 computed RenderBoxRegionInfo.
823 (WebCore::RenderBox::computePositionedLogicalHeight):
824 * rendering/RenderBoxModelObject.h:
825 (WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion): This helper method
826 will return the boxes that may have computed RenderBoxRegionInfo. Currently,
827 returns true for blocks only.
829 2013-02-19 Ryosuke Niwa <rniwa@webkit.org>
831 Yet anther JSC build fix after r143304.
833 * bindings/js/JSDOMBinding.h:
834 (WebCore::argumentOrNull):
836 2013-02-19 Kentaro Hara <haraken@chromium.org>
838 Unreviewed build fix. Fixed warning caused by r143305.
840 * bindings/scripts/CodeGeneratorJS.pm:
841 (GenerateParametersCheck):
842 * bindings/scripts/CodeGeneratorV8.pm:
843 (GenerateParametersCheck):
845 2013-02-19 Kentaro Hara <haraken@chromium.org>
847 Unreviewed build fix after r143304.
849 * bindings/js/JSDOMBinding.h:
850 (WebCore::argumentOrNull):
852 2013-02-19 Kentaro Hara <haraken@chromium.org>
854 [V8] Remove redundant usage of MAYBE_MISSING_PARAMETER() macro
855 https://bugs.webkit.org/show_bug.cgi?id=109899
857 Reviewed by Adam Barth.
861 - MAYBE_MISSING_PARAMETER(args, index, DefaultIsUndefined) returns args[index].
862 - MAYBE_MISSING_PARAMETER(args, index, DefaultIsNullString) returns Local<Value>()
863 if args[index] is missing (i.e. the length of |args| is less than |index|).
864 It returns args[index] otherwise.
866 No one other than CodeGeneratorV8.pm uses
867 MAYBE_MISSING_PARAMETER(args, index, DefaultIsUndefined). Instead, we simply use
868 args[index]. We should remove the redundant usage from CodeGeneratorV8.pm too.
869 The long-name macro has been making generated code less readable.
871 In addition, we can rename MAYBE_MISSING_PARAMETER() to argumentOrNull().
873 No tests. No change in behavior.
875 * bindings/scripts/CodeGeneratorV8.pm:
876 (GenerateParametersCheck):
877 * bindings/scripts/test/V8/V8Float64Array.cpp:
878 (WebCore::Float64ArrayV8Internal::fooCallback):
879 * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
880 (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
881 (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
882 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
883 (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
884 * bindings/scripts/test/V8/V8TestEventTarget.cpp:
885 (WebCore::TestEventTargetV8Internal::itemCallback):
886 (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
887 * bindings/scripts/test/V8/V8TestInterface.cpp:
888 (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
889 (WebCore::V8TestInterface::constructorCallback):
890 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
891 (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
892 * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
893 (WebCore::V8TestNamedConstructorConstructorCallback):
894 * bindings/scripts/test/V8/V8TestObj.cpp:
895 (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
896 (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
897 (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
898 (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
899 (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
900 (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
901 (WebCore::TestObjV8Internal::optionsObjectCallback):
902 (WebCore::TestObjV8Internal::methodWithOptionalArgCallback):
903 (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
904 (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
905 (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
906 (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
907 (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
908 (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
909 (WebCore::TestObjV8Internal::overloadedMethod1Callback):
910 (WebCore::TestObjV8Internal::overloadedMethod2Callback):
911 (WebCore::TestObjV8Internal::overloadedMethod3Callback):
912 (WebCore::TestObjV8Internal::overloadedMethod4Callback):
913 (WebCore::TestObjV8Internal::overloadedMethod6Callback):
914 (WebCore::TestObjV8Internal::overloadedMethod7Callback):
915 (WebCore::TestObjV8Internal::overloadedMethod8Callback):
916 (WebCore::TestObjV8Internal::overloadedMethod9Callback):
917 (WebCore::TestObjV8Internal::overloadedMethod10Callback):
918 (WebCore::TestObjV8Internal::overloadedMethod11Callback):
919 (WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
920 (WebCore::TestObjV8Internal::overloadedMethod12Callback):
921 (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
922 (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
923 (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
924 (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
925 (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
926 (WebCore::TestObjV8Internal::domStringListFunctionCallback):
927 (WebCore::TestObjV8Internal::convert1Callback):
928 (WebCore::TestObjV8Internal::convert2Callback):
929 (WebCore::TestObjV8Internal::convert4Callback):
930 (WebCore::TestObjV8Internal::convert5Callback):
931 (WebCore::TestObjV8Internal::strictFunctionCallback):
932 (WebCore::TestObjV8Internal::variadicStringMethodCallback):
933 (WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
934 (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
935 * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
936 (WebCore::V8TestOverloadedConstructors::constructor1Callback):
937 (WebCore::V8TestOverloadedConstructors::constructor2Callback):
938 (WebCore::V8TestOverloadedConstructors::constructor3Callback):
939 (WebCore::V8TestOverloadedConstructors::constructor4Callback):
940 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
941 (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
942 * bindings/scripts/test/V8/V8TestTypedefs.cpp:
943 (WebCore::TestTypedefsV8Internal::funcCallback):
944 (WebCore::TestTypedefsV8Internal::setShadowCallback):
945 (WebCore::TestTypedefsV8Internal::methodWithSequenceArgCallback):
946 (WebCore::TestTypedefsV8Internal::nullableArrayArgCallback):
947 (WebCore::TestTypedefsV8Internal::stringArrayFunctionCallback):
948 (WebCore::TestTypedefsV8Internal::stringArrayFunction2Callback):
949 (WebCore::V8TestTypedefs::constructorCallback):
950 * bindings/v8/V8BindingMacros.h:
952 * bindings/v8/custom/V8HistoryCustom.cpp:
953 (WebCore::V8History::pushStateCallbackCustom):
954 (WebCore::V8History::replaceStateCallbackCustom):
956 2013-02-19 Kentaro Hara <haraken@chromium.org>
958 [JSC] MAYBE_MISSING_PARAMETER(..., DefaultIsNullString) macro is redundant
959 https://bugs.webkit.org/show_bug.cgi?id=109902
961 Reviewed by Adam Barth.
965 - MAYBE_MISSING_PARAMETER(exec, index, DefaultIsUndefined)
966 returns exec->argument(index).
967 - MAYBE_MISSING_PARAMETER(exec, index, DefaultIsNullString)
968 returns JSValue() if exec->argument(index) is missing
969 (i.e. the length of the argument is less than index).
970 It returns exec->argument(index) otherwise.
972 No one other than CodeGeneratorJS.pm uses
973 MAYBE_MISSING_PARAMETER(exec, index, DefaultIsUndefined).
974 Instead, we simply use exec->argument(index). We should remove
975 the redundant usage in CodeGeneratorJS.pm too. The long-name macro
976 has been making generated code less readable.
978 In addition, we can rename MAYBE_MISSING_PARAMETER() to argumentOrNull().
980 c.f. corresponding V8 bug: https://bugs.webkit.org/show_bug.cgi?id=109899
982 No tests. No change in behavior.
984 * bindings/js/JSDOMBinding.h:
986 * bindings/scripts/CodeGeneratorJS.pm:
987 (GenerateParametersCheck):
988 * bindings/scripts/test/JS/JSFloat64Array.cpp:
989 (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
990 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
991 (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
992 (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
993 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
994 (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
995 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
996 (WebCore::jsTestEventTargetPrototypeFunctionItem):
997 (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
998 * bindings/scripts/test/JS/JSTestInterface.cpp:
999 (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
1000 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
1001 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1002 (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1003 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1004 (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1005 * bindings/scripts/test/JS/JSTestObj.cpp:
1006 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1007 (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
1008 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1009 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1010 (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
1011 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1012 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1013 (WebCore::jsTestObjPrototypeFunctionOptionsObject):
1014 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
1015 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1016 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1017 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
1018 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
1019 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
1020 (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1021 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1022 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1023 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1024 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1025 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
1026 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1027 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
1028 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1029 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
1030 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
1031 (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
1032 (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
1033 (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
1034 (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
1035 (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
1036 (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
1037 (WebCore::jsTestObjPrototypeFunctionConvert1):
1038 (WebCore::jsTestObjPrototypeFunctionConvert2):
1039 (WebCore::jsTestObjPrototypeFunctionConvert4):
1040 (WebCore::jsTestObjPrototypeFunctionConvert5):
1041 (WebCore::jsTestObjPrototypeFunctionStrictFunction):
1042 (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
1043 (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
1044 (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
1045 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1046 (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1):
1047 (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
1048 (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
1049 (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):
1050 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1051 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1052 (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
1053 (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
1054 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1055 (WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
1056 (WebCore::jsTestTypedefsPrototypeFunctionFunc):
1057 (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
1058 (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
1059 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
1060 (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
1061 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
1062 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
1064 2013-02-18 Hayato Ito <hayato@chromium.org>
1066 Make EventDispatcher take an Event object in its constructor.
1067 https://bugs.webkit.org/show_bug.cgi?id=109898
1069 Reviewed by Dimitri Glazkov.
1071 Re-landing r143145, which caused a crash when deltaX and deltaY of a PlatformWheelEvent are both zero.
1073 Fixed a crash by early exiting in EventDispatcher::dispatchEvent(Node*, PassRefPtr<EventDispatcher*>)
1074 if mediator's event() returns null.
1076 Also Added a layout test to catch this kind of crash in the future.
1078 Test: fast/events/platform-wheelevent-with-delta-zero-crash.html
1080 * dom/EventDispatchMediator.cpp:
1081 (WebCore::EventDispatchMediator::dispatchEvent):
1082 * dom/EventDispatcher.cpp:
1083 (WebCore::EventDispatcher::dispatchEvent):
1084 (WebCore::EventDispatcher::EventDispatcher):
1085 (WebCore::EventDispatcher::ensureEventPath):
1086 (WebCore::EventDispatcher::dispatchSimulatedClick):
1087 (WebCore::EventDispatcher::dispatch):
1088 (WebCore::EventDispatcher::dispatchEventPreProcess):
1089 (WebCore::EventDispatcher::dispatchEventAtCapturing):
1090 (WebCore::EventDispatcher::dispatchEventAtTarget):
1091 (WebCore::EventDispatcher::dispatchEventAtBubbling):
1092 (WebCore::EventDispatcher::dispatchEventPostProcess):
1093 * dom/EventDispatcher.h:
1095 (WebCore::EventDispatcher::node):
1096 (WebCore::EventDispatcher::event):
1097 * dom/FocusEvent.cpp:
1098 (WebCore::FocusEventDispatchMediator::dispatchEvent):
1099 (WebCore::BlurEventDispatchMediator::dispatchEvent):
1100 (WebCore::FocusInEventDispatchMediator::dispatchEvent):
1101 (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
1102 * dom/GestureEvent.cpp:
1103 (WebCore::GestureEventDispatchMediator::dispatchEvent):
1104 * dom/MouseEvent.cpp:
1105 (WebCore::MouseEventDispatchMediator::dispatchEvent):
1106 * dom/WheelEvent.cpp:
1107 (WebCore::WheelEventDispatchMediator::dispatchEvent):
1108 Assert event() rather than an early exit since this code path should be hit only when event() is non-null.
1110 2013-02-18 Takashi Sakamoto <tasak@google.com>
1112 :before/:after pseudo elements do not always apply to the proper element
1113 https://bugs.webkit.org/show_bug.cgi?id=93925
1115 Reviewed by Dimitri Glazkov.
1117 Disable sharing a style with siblings if :after or :before pseudo style
1120 Test: fast/css/before-after-pseudo-class.html
1122 * css/StyleResolver.cpp:
1123 (WebCore::StyleResolver::canShareStyleWithElement):
1124 Added a new condition, hasUniquePseudoStyle.
1125 * rendering/style/RenderStyle.cpp:
1126 (WebCore::RenderStyle::hasUniquePseudoStyle):
1127 Added to check whether any pseudo style has unique bit or not.
1129 * rendering/style/RenderStyle.h:
1131 2013-02-18 Andy Estes <aestes@apple.com>
1133 Focusing a new frame (via window.focus()) should blur the active element in the current frame
1134 https://bugs.webkit.org/show_bug.cgi?id=110172
1136 Reviewed by Ryosuke Niwa.
1138 When a change in the focused node crosses a frame boundary, WebKit
1139 doesn't always succeed in blurring the old focused node before focusing
1142 Each document remembers its focused node, and a Page-scoped
1143 FocusController remembers the focused frame. If a new focused node is
1144 in a different frame than the focused frame, FocusController tells the
1145 old frame's document to clear its focused node before focusing the new
1146 one (and remembering the new frame).
1148 Unfortunately, web content can confuse FocusController by calling
1149 window.focus() at the wrong time. Since window.focus() changes
1150 FocusController's focused frame without focusing a new node,
1151 FocusController won't think that a frame boundary is being crossed if a
1152 node in this frame is later focused. Therefore it won't clear the old
1153 frame's focused node (it won't even know which frame contained the old
1154 focused node), causing at least two bugs:
1156 1) The node in the old frame will not receive a blur event.
1157 2) Calling document.activeElement on the main frame will return the
1158 previously focused node, but the HTML5 spec says it should return
1159 the frame owner element if a subframe has focus.
1161 Fix both of these bugs by explicitly clearing the current frame's
1162 focused node if window.focus() changes the focused frame. This fix
1163 carries some compatibility risk by changing a long-standing behavior
1164 of the engine (we've had this bug since the beginning of the project,
1165 AFAICT). On the upside, it matches the behavior of both Firefox and IE,
1166 matches what HTML5 says about subframe focus, and fixes at least one
1167 well-known enterprise web app.
1169 Tests: fast/dom/HTMLDocument/active-element-frames.html
1170 fast/frames/frame-focus-blurs-active-element.html
1172 * page/DOMWindow.cpp:
1173 (WebCore::DOMWindow::focus): If the frame being focused is not the same
1174 as the currently focused frame, clear the currently focused frame's
1177 2013-02-18 Simon Fraser <simon.fraser@apple.com>
1179 Clean up the boolean argument to visibleContentRect
1180 https://bugs.webkit.org/show_bug.cgi?id=110167
1182 Reviewed by Simon Fraser.
1184 Replace the boolean argument to visibleContentRect() with
1191 (WebCore::Document::viewportSize):
1192 * inspector/InspectorOverlay.cpp:
1193 (WebCore::InspectorOverlay::update):
1194 * page/DOMWindow.cpp:
1195 (WebCore::DOMWindow::innerHeight):
1196 (WebCore::DOMWindow::innerWidth):
1197 * page/FrameView.cpp:
1198 (WebCore::FrameView::calculateScrollbarModesForLayout):
1199 (WebCore::FrameView::layout):
1200 (WebCore::FrameView::performPostLayoutTasks):
1201 (WebCore::FrameView::windowClipRect):
1202 * page/SpatialNavigation.cpp:
1203 (WebCore::canScrollInDirection):
1204 * platform/ScrollView.cpp:
1205 (WebCore::ScrollView::unscaledVisibleContentSize):
1206 (WebCore::ScrollView::visibleContentRect):
1207 (WebCore::ScrollView::layoutSize):
1208 (WebCore::ScrollView::updateScrollbars):
1209 (WebCore::ScrollView::paint):
1210 * platform/ScrollView.h:
1211 * platform/ScrollableArea.cpp:
1212 (WebCore::ScrollableArea::visibleContentRect):
1213 * platform/ScrollableArea.h:
1214 * rendering/RenderDialog.cpp:
1215 (WebCore::RenderDialog::layout):
1216 * rendering/RenderLayer.cpp:
1217 (WebCore::RenderLayer::maximumScrollPosition):
1218 (WebCore::RenderLayer::visibleContentRect):
1219 * rendering/RenderLayer.h:
1220 * rendering/RenderLayerCompositor.cpp:
1221 (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
1222 (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1224 2013-02-18 Ryosuke Niwa <rniwa@webkit.org>
1226 That didn't work either. Just make it public. This is why I hate nested classes. They just don't work.
1228 * rendering/RenderBlock.h:
1231 2013-02-18 Ryosuke Niwa <rniwa@webkit.org>
1233 Windows build fix. Apparently Visual Studio still has a lot of bugs with respect to nested classes.
1234 Work around it by directly instantiating the class inside createFloatingObjects.
1236 * rendering/RenderBlock.cpp:
1237 (WebCore::RenderBlock::createFloatingObjects): Directly instantiate FloatingObjects.
1238 * rendering/RenderBlock.h:
1239 (RenderBlock): Moved the declaration of createFloatingObjects up.
1240 (FloatingObjects::FloatingObjects):
1242 2013-02-18 Ryosuke Niwa <rniwa@webkit.org>
1244 Merge handleSpecialChild into layoutBlockChildren
1245 https://bugs.webkit.org/show_bug.cgi?id=110165
1247 Reviewed by Darin Adler.
1249 Merge handleSpecialChild, handlePositionedChild, and handleFloatingChild into layoutBlockChildren
1250 to make the semantics of the code clear and to get rid of the outdated comment about how there are
1251 four types of four types of special children.
1253 * rendering/RenderBlock.cpp:
1254 (WebCore::RenderBlock::layoutBlockChildren):
1255 * rendering/RenderBlock.h:
1258 2013-02-18 Ryosuke Niwa <rniwa@webkit.org>
1260 Encapsulate FloatingObject's constructor inside create
1261 https://bugs.webkit.org/show_bug.cgi?id=110169
1263 Reviewed by Darin Adler.
1265 Added FloatingObject::create and made FloatingObject's constructor private.
1266 Also added RenderBlock::ensureFloatingObjects to help lazily creating FloatingObjects.
1268 * rendering/RenderBlock.cpp:
1269 (WebCore::RenderBlock::insertFloatingObject):
1270 (WebCore::RenderBlock::addOverhangingFloats):
1271 (WebCore::RenderBlock::addIntrudingFloats):
1272 (WebCore::RenderBlock::ensureFloatingObjects):
1273 (WebCore::RenderBlock::FloatingObjects::create):
1274 (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
1275 * rendering/RenderBlock.h:
1279 2013-02-18 Anders Carlsson <andersca@apple.com>
1281 Add a DefaultHash for RefPtr<SecurityOrigin>
1282 https://bugs.webkit.org/show_bug.cgi?id=110170
1284 Reviewed by Andreas Kling.
1286 Remove all explicit uses of SecurityOriginHash.
1288 * Modules/webdatabase/DatabaseTracker.h:
1289 * Modules/webdatabase/OriginQuotaManager.h:
1290 * loader/appcache/ApplicationCacheStorage.cpp:
1291 (WebCore::ApplicationCacheStorage::getOriginsWithCache):
1292 * loader/cache/MemoryCache.h:
1293 * page/SecurityOriginHash.h:
1294 * storage/StorageNamespaceImpl.h:
1295 (StorageNamespaceImpl):
1297 2013-02-18 David Hyatt <hyatt@apple.com>
1299 Padding and border changes don't trigger the relayout of children in some cases.
1300 https://bugs.webkit.org/show_bug.cgi?id=109639.
1302 Reviewed by Ryosuke Niwa.
1304 The fix for this bug was way too general and involved putting code into RenderBox. Since
1305 RenderBox makes no assumptions about what kind of layout system might derive from it, it
1306 was incorrect to just mark all children as needing layout whenever borders and padding
1309 This patch takes the two cases handled by the original code and makes them more
1310 specialized down in subclasses, i.e., RenderBlock and RenderTableRow. RenderBlock has
1311 been refined to only check if children aren't inline and to also not invalidate
1312 floats or irrelevant positioned objects that might not even have this block as their
1315 The RenderTableRow code is specialized to only care about collapsing borders and
1316 to only check borders rather than padding. It also requires that a child be a cell
1317 in order to do the invalidation.
1319 Covered by existing tests, since this is just specializing the code to more precisely
1320 cover the test cases that have already been written.
1322 Longer term, it should be layout code that figures this stuff out rather than style
1323 change code, but that involves more dramatic changes that can wait.
1325 Test: fast/block/positioning/border-change-relayout-test.html
1327 * rendering/RenderBlock.cpp:
1328 (WebCore::borderOrPaddingLogicalWidthChanged):
1330 (WebCore::RenderBlock::styleDidChange):
1331 * rendering/RenderBox.cpp:
1333 (WebCore::RenderBox::styleDidChange):
1334 * rendering/RenderTableRow.cpp:
1335 (WebCore::borderLogicalWidthChanged):
1337 (WebCore::RenderTableRow::styleDidChange):
1339 2013-02-18 Mark Lam <mark.lam@apple.com>
1341 Small follow up to r143271: Fix SQLTransaction leak.
1342 https://bugs.webkit.org/show_bug.cgi?id=110052.
1344 Reviewed by Geoffrey Garen.
1346 Applied Geoff's suggestion nullify m_frontend sooner for greater
1347 code clarity. Also added some comments about m_frontend.
1351 * Modules/webdatabase/SQLTransactionBackend.cpp:
1352 (WebCore::SQLTransactionBackend::doCleanup):
1353 * Modules/webdatabase/SQLTransactionBackend.h:
1354 (SQLTransactionBackend):
1356 2013-02-18 Geoffrey Garen <ggaren@apple.com>
1358 Shrank the SourceProvider cache
1359 https://bugs.webkit.org/show_bug.cgi?id=110158
1361 Reviewed by Oliver Hunt.
1363 Test: fast/js/regress/nested-function-parsing.html
1365 No need to keep statistics on cache size, since we're going to throw it
1366 away no matter what.
1369 * bindings/js/CachedScriptSourceProvider.h:
1370 (CachedScriptSourceProvider):
1371 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
1372 * loader/cache/CachedScript.cpp:
1373 (WebCore::CachedScript::destroyDecodedData):
1375 (WebCore::CachedScript::reportMemoryUsage):
1376 * loader/cache/CachedScript.h:
1379 2013-02-18 peavo@outlook.com <peavo@outlook.com>
1381 [Curl] The function cookiesForDOM() does not behave correctly.
1382 https://bugs.webkit.org/show_bug.cgi?id=109923
1384 Reviewed by Brent Fulgham.
1386 The cookiesForDOM() function should return a list of matching cookies, both persistent and session cookies.
1388 * platform/network/curl/CookieJarCurl.cpp:
1389 (WebCore::readCurlCookieToken): Added function to read next token from Curl cookie string.
1390 (WebCore::addMatchingCurlCookie): Added function to add matching cookies to cookie list.
1391 (WebCore::setCookiesFromDOM): Add domain and path from url to cookie if not already set.
1392 (WebCore::cookiesForDOM): Return a list of matching cookies, both session and persistent cookies.
1394 2013-02-17 Mark Lam <mark.lam@apple.com>
1396 Fix SQLTransaction leak.
1397 https://bugs.webkit.org/show_bug.cgi?id=110052.
1399 Reviewed by Geoffrey Garen.
1401 With https://bugs.webkit.org/show_bug.cgi?id=104750, there is now a circular
1402 reference between SQLTransaction and its backend. The clean up process needs
1403 to be fixed to explicitly break this reference cycle.
1405 The 5 phases of the SQLTransaction (and backend) phases and their clean up
1408 Phase 1. After Birth, before scheduling
1409 - During shutdown, DatabaseThread::databaseThread() calls
1410 DatabaseBackendAsync::close(). DatabaseBackendAsync::close() iterates
1411 DatabaseBackendAsync::m_transactionQueue and calls
1412 SQLtransactionBackend::notifyDatabaseThreadIsShuttingDown() on each
1415 Phase 2. After scheduling, before state AcquireLock
1416 - ~DatabaseTask() calls SQLtransactionBackend's
1417 notifyDatabaseThreadIsShuttingDown().
1419 Phase 3. After state AcquireLock, before "lockAcquired"
1420 - During shutdown, DatabaseThread::databaseThread() calls
1421 SQLTransactionCoordinator::shutdown(), which calls
1422 SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown().
1424 Phase 4: After "lockAcquired", before state CleanupAndTerminate
1427 Phase 5: After state CleanupAndTerminate
1428 - state CleanupAndTerminate calls SQLTransactionBackend::doCleanup().
1430 See comment at the top of SQLTransactionBackend.cpp for more details.
1432 Other supporting changes:
1433 - Moved Database::close() to the DatabaseBackendAsync.
1434 - Moved the "if already cleaned up" check from SQLTransactionBackend's
1435 notifyDatabaseThreadIsShuttingDown() to doCleanup().
1436 - Added a check to prevent SQLTransactionCoordinator's releaseLock()
1437 from running when it's shutting down.
1441 * Modules/webdatabase/Database.cpp:
1442 * Modules/webdatabase/Database.h:
1443 * Modules/webdatabase/DatabaseBackendAsync.cpp:
1444 (WebCore::DatabaseBackendAsync::close): Move from Database.cpp.
1445 * Modules/webdatabase/DatabaseBackendAsync.h:
1446 * Modules/webdatabase/DatabaseTask.cpp:
1447 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
1448 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::~DatabaseTransactionTask):
1449 (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::doPerformTask):
1450 * Modules/webdatabase/DatabaseTask.h:
1451 (DatabaseBackendAsync::DatabaseTransactionTask):
1452 * Modules/webdatabase/DatabaseThread.cpp:
1453 (WebCore::DatabaseThread::databaseThread):
1454 * Modules/webdatabase/SQLTransactionBackend.cpp:
1455 (WebCore::SQLTransactionBackend::doCleanup):
1456 (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
1457 (WebCore::SQLTransactionBackend::cleanupAndTerminate):
1458 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1459 (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
1460 (WebCore::SQLTransactionCoordinator::acquireLock):
1461 (WebCore::SQLTransactionCoordinator::releaseLock):
1462 (WebCore::SQLTransactionCoordinator::shutdown):
1463 * Modules/webdatabase/SQLTransactionCoordinator.h:
1464 (SQLTransactionCoordinator):
1466 2013-02-18 David Kilzer <ddkilzer@apple.com>
1468 Fix WebCore Xcode project
1470 * WebCore.xcodeproj/project.pbxproj: Fix path for CDMPrivate.h.
1472 2013-02-18 Julien Chaffraix <jchaffraix@webkit.org>
1474 [CSS Grid Layout] Refactor grid position resolution code to support an internal grid representation
1475 https://bugs.webkit.org/show_bug.cgi?id=109718
1477 Reviewed by Ojan Vafai.
1479 In order to support auto placement (where we can't infer a grid item's position from its style),
1480 we need to have 2 code paths:
1481 - One that places the elements on the grid representation.
1482 - One that reuse the grid representation to return the position.
1484 This code path implements this split so that we can add auto placement in a follow-up patch(es).
1485 Also in order to avoid a O(n^2) behavior [walking over our grid to find a grid item's position],
1486 the cached position code path needed an efficient way to find the grid items -> position mapping.
1488 Refactoring, covered by existing tests.
1490 * rendering/RenderGrid.cpp:
1491 (WebCore::RenderGrid::cachedGridCoordinate):
1492 (WebCore::RenderGrid::resolveGridPositionFromStyle):
1493 These methods implements the above split. The first one
1494 reuses our cached information whereas the other one is
1495 used to build the cache.
1497 (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
1498 (WebCore::RenderGrid::layoutGridItems):
1499 Added some code to clear the grid items' position.
1501 (WebCore::RenderGrid::findChildLogicalPosition):
1502 (WebCore::RenderGrid::logicalContentHeightForChild):
1503 Updated these functions to use cachedGridPosition.
1505 (WebCore::RenderGrid::maximumIndexInDirection):
1506 Added a comment about why we don't use cachedGridPosition.
1508 (WebCore::RenderGrid::insertItemIntoGrid):
1509 Added this helper function to insert into the grid and
1510 cache the position in the reverse lookup map.
1512 (WebCore::RenderGrid::placeItemsOnGrid):
1513 Updated to call insertItemIntoGrid. Also added an ASSERT
1516 (WebCore::RenderGrid::clearGrid):
1517 Added this helper function to clear our grid structure.
1519 * rendering/RenderGrid.h:
1521 (WebCore::RenderGrid::GridCoordinate::GridCoordinate):
1522 Added this POD to hold the coordinates in our reverse map.
1524 2013-02-18 Stephen Chenney <schenney@chromium.org>
1526 feFlood incorrectly applied color-interpolation-filters
1527 https://bugs.webkit.org/show_bug.cgi?id=109985
1529 Reviewed by Dirk Schulze.
1531 The SVG spec defines the color-interpolation-filters property for all
1532 filter effect elements in order to control cases where a color is
1533 based on some arithmetic computation on other colors. For example,
1534 when computing gradients or blending colors. feFlood simply fills a
1535 region with the given color, and that given color is always defined to
1536 be in sRGB space, so the feFlood result should always be sRGB.
1538 The new behavior matches both Opera and Firefox.
1540 Tests: svg/filters/feFlood-color-interpolation-expected.svg
1541 svg/filters/feFlood-color-interpolation.svg
1543 * platform/graphics/filters/FEFlood.cpp:
1544 (WebCore::FEFlood::platformApplySoftware): Force the color mode to be
1545 sRGB before returning.
1547 2013-02-18 Mark Lam <mark.lam@apple.com>
1549 Introduced AbstractSQLStatement and AbstractSQLStatementBackend.
1550 https://bugs.webkit.org/show_bug.cgi?id=110148.
1552 Reviewed by Geoff Garen.
1554 This is part of the webdatabase refactoring for webkit2.
1555 - Also changed the frontend and backend to only refer to the
1556 abstract interface of each other.
1560 * GNUmakefile.list.am:
1561 * Modules/webdatabase/AbstractSQLStatement.h: Added.
1562 (AbstractSQLStatement):
1563 (WebCore::AbstractSQLStatement::~AbstractSQLStatement):
1564 * Modules/webdatabase/AbstractSQLStatementBackend.h: Added.
1565 (AbstractSQLStatementBackend):
1566 (WebCore::AbstractSQLStatementBackend::~AbstractSQLStatementBackend):
1567 * Modules/webdatabase/SQLStatement.cpp:
1568 (WebCore::SQLStatement::setBackend):
1569 * Modules/webdatabase/SQLStatement.h:
1571 * Modules/webdatabase/SQLStatementBackend.cpp:
1572 (WebCore::SQLStatementBackend::create):
1573 (WebCore::SQLStatementBackend::SQLStatementBackend):
1574 (WebCore::SQLStatementBackend::frontend):
1575 * Modules/webdatabase/SQLStatementBackend.h:
1576 (SQLStatementBackend):
1577 * Modules/webdatabase/SQLTransaction.cpp:
1578 (WebCore::SQLTransaction::deliverStatementCallback):
1579 * Modules/webdatabase/SQLTransactionBackend.cpp:
1580 (WebCore::SQLTransactionBackend::currentStatement):
1581 (WebCore::SQLTransactionBackend::executeSQL):
1582 * Modules/webdatabase/SQLTransactionBackend.h:
1583 (SQLTransactionBackend):
1586 * WebCore.vcproj/WebCore.vcproj:
1587 * WebCore.vcxproj/WebCore.vcxproj:
1588 * WebCore.vcxproj/WebCore.vcxproj.filters:
1589 * WebCore.xcodeproj/project.pbxproj:
1591 2013-02-18 David Kilzer <ddkilzer@apple.com>
1593 BUILD FIX (r143230): Fix renamed header and implementation of -[WebAccessibilityObjectWrapper accessibilityPostedNotification:]
1594 <http://webkit.org/b/110077>
1596 Fixes the following build failures:
1598 AccessibilityObjectIOS.mm:35:9: fatal error: 'AccessibilityObjectWrapperIOS.h' file not found
1599 #import "AccessibilityObjectWrapperIOS.h"
1603 WebAccessibilityObjectWrapperIOS.mm:2051:35: error: use of undeclared identifier 'notificationString'; did you mean 'notificationType'?
1604 if (AXNotificationCallback && notificationString)
1607 WebAccessibilityObjectWrapperIOS.mm:2049:81: note: 'notificationType' declared here
1608 - (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType
1610 WebAccessibilityObjectWrapperIOS.mm:2052:38: error: use of undeclared identifier 'notificationString'; did you mean 'notificationType'?
1611 AXNotificationCallback(self, notificationString, AXPostedNotificationContext);
1614 WebAccessibilityObjectWrapperIOS.mm:2049:81: note: 'notificationType' declared here
1615 - (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType
1617 WebAccessibilityObjectWrapperIOS.mm:2052:38: error: cannot initialize a parameter of type 'NSString *' with an lvalue of type 'WebCore::AXObjectCache::AXNotification'
1618 AXNotificationCallback(self, notificationString, AXPostedNotificationContext);
1620 WebAccessibilityObjectWrapperIOS.mm:2049:81: error: conflicting parameter types in implementation of 'accessibilityPostedNotification:': 'NSString *' vs 'WebCore::AXObjectCache::AXNotification' [-Werror,-Wmismatched-parameter-types]
1621 - (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType
1622 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
1623 WebAccessibilityObjectWrapperBase.h:48:53: note: previous definition is here
1624 - (void)accessibilityPostedNotification:(NSString *)notificationName;
1628 * accessibility/ios/AccessibilityObjectIOS.mm: Fix name of
1630 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1631 (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
1632 Fix implementation to match declaration.
1634 * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
1635 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1636 * accessibility/ios/AXObjectCacheIOS.mm:
1637 - Clean up #endif comments.
1639 2013-02-18 Jer Noble <jer.noble@apple.com>
1641 EME: Add a CDMPrivate implementation using AVFoundation.
1642 https://bugs.webkit.org/show_bug.cgi?id=109739
1644 Reviewed by Eric Carlson.
1646 Add a CDMPrivate implementation using AVFoundation, similar to the EME v1 implementation
1647 in MediaPlayerPrivateAVFoundationObjC. This requires passing the AVAssetResourceLoadingRequest
1648 from the MediaPlayerPrivateAVFoundationObjC instance to CDMSessionAVFoundation. To do so
1649 without adding platform-specific API to MediaPlayer, add a static map from MediaPlayer ->
1650 MediaPlayerPrivateAVFoundationObjC instances to be used to vend the AVAssetResourceLoadingRequest
1651 to CDMSessionAVFoundation.
1653 * Modules/encryptedmedia/CDM.cpp:
1654 (WebCore::installedCDMFactories): Add the factory for CDMPrivateAVFoundation.
1655 * Modules/encryptedmedia/CDM.h:
1656 * Modules/encryptedmedia/CDMPrivateAVFoundation.h: Added.
1657 (WebCore::CDMPrivateAVFoundation::create): Simple factory method.
1658 (WebCore::CDMPrivateAVFoundation::~CDMPrivateAVFoundation): Simple virtual destructor.
1659 (WebCore::CDMPrivateAVFoundation::cdm): Simple getter.
1660 (WebCore::CDMPrivateAVFoundation::CDMPrivateAVFoundation): Simple constructor.
1661 * Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Added.
1662 (WebCore::CDMSessionAVFoundation::~CDMSessionAVFoundation): Simple destructor.
1663 (WebCore::CDMPrivateAVFoundation::supportsKeySytem): Check whether the given key system is supported.
1664 (WebCore::CDMPrivateAVFoundation::supportsMIMEType): Check whether the given MIME type is supported.
1665 (WebCore::CDMPrivateAVFoundation::createSession): Return a new CDMSessionAVFoundation.
1666 (WebCore::CDMSessionAVFoundation::CDMSessionAVFoundation): Simple constructor.
1667 (WebCore::CDMSessionAVFoundation::generateKeyRequest): Retrieve the AVAssetResourceLoadingRequest
1668 from the MediaPlayer, and use it to generate a key request.
1669 (WebCore::CDMSessionAVFoundation::releaseKeys): No-op.
1670 (WebCore::CDMSessionAVFoundation::update): Add the passed in key to the AVAssetResourceLoadingRequest.
1671 * WebCore.xcodeproj/project.pbxproj:
1672 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1673 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1674 (WebCore::playerToPrivateMap): Lazily instantiate static map.
1675 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Register with the playerToPrivateMap.
1676 (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Unregister from same.
1677 (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Also send keyNeeded event in ENCRYPTED_MEDIA_V2.
1678 (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData): Convert this
1679 method from file-static to class static.
1680 (WebCore::MediaPlayerPrivateAVFoundationObjC::takeRequestForPlayerAndKeyURI): Pull the AVAssetResourceLoadingRequest
1681 from m_keyURIToRequestMap and return it, if present.
1683 2013-02-18 Philip Rogers <pdr@google.com>
1685 Fix scaling of tiled SVG backgrounds on high-dpi displays
1686 https://bugs.webkit.org/show_bug.cgi?id=110047
1688 Reviewed by Dirk Schulze.
1690 This patch fixes the scaling of SVG when used for drawing patterns. Tiled/patterend SVG
1691 images are first drawn into an image buffer and then the image buffer is used to stamp
1692 out tiles. Because it is a raster source, the size of the image buffer needs to
1693 be scaled to the final resolution of the device. After scaling the image buffer, the
1694 source rect and pattern transforms need to be adjusted so they align in device pixel
1695 coordinates. This adjustment was not done before this patch, causing pixelated rendering.
1697 Additionally, a FIXME has been added due to webkit.org/b/110065 and the image buffer
1698 has been manually scaled (using "zoomedAndScaledContainerRect") instead of relying
1699 on the ImageBuffer's resolutionScale parameter.
1701 Test: svg/as-background-image/tiled-background-image.html
1703 * svg/graphics/SVGImage.cpp:
1704 (WebCore::SVGImage::drawPatternForContainer):
1706 Note that fixing the FIXME does not change that the source rect and transform need
1707 to be adjusted for page scale.
1709 2013-02-18 David Hyatt <hyatt@apple.com>
1711 Make seamless iframes paginate properly in their enclosing document's pagination context.
1712 https://bugs.webkit.org/show_bug.cgi?id=106125
1713 <rdar://problem/12922720> Text in iframe is clipped while printing
1715 Reviewed by Simon Fraser.
1717 Added new tests in fast/multicol and fast/region.
1719 * rendering/RenderBlock.cpp:
1720 (WebCore::RenderBlock::clampToStartAndEndRegions):
1721 Don't clamp when the RenderView is the containing block of an object in a RenderFlowThread.
1723 * rendering/RenderObject.cpp:
1724 (WebCore::RenderObject::containerForRepaint):
1725 Don't attempt any repaint container antics when we're in a seamless iframe, since the ancestor
1726 document will actually do the handoff into the flow thread.
1728 * rendering/RenderView.cpp:
1729 (WebCore::enclosingSeamlessRenderer):
1730 Heper function to test for an enclosing seamless iframe.
1732 (WebCore::RenderView::addChild):
1733 Subclass addChild on RenderView to properly set the inRenderFlowThread state for a seamless
1734 child document so thta it will check regions.
1736 (WebCore::RenderView::initializeLayoutState):
1737 New helper method for setting up the initial layout state of a RenderView. If inside a seamless
1738 paginated ancestor, set up the appropriate pagination information so the child document
1739 knows about it. This method will expand to inherit info about line grids and exclusions eventually
1742 (WebCore::RenderView::layout):
1743 Now calls initializeLayoutState to set up the layout state.
1745 * rendering/RenderView.h:
1746 (WebCore::RenderView::pageLogicalHeight):
1747 (WebCore::RenderView::setPageLogicalHeight):
1749 Fix the type of the page logical height methods to be LayoutUnit instead of unsigned.
1751 2013-02-18 Sheriff Bot <webkit.review.bot@gmail.com>
1753 Unreviewed, rolling out r143145.
1754 http://trac.webkit.org/changeset/143145
1755 https://bugs.webkit.org/show_bug.cgi?id=110143
1757 Causes frequent crashes. (Requested by eric_carlson on
1760 * dom/EventDispatchMediator.cpp:
1761 (WebCore::EventDispatchMediator::dispatchEvent):
1762 * dom/EventDispatcher.cpp:
1763 (WebCore::EventDispatcher::dispatchEvent):
1764 (WebCore::EventDispatcher::EventDispatcher):
1765 (WebCore::EventDispatcher::ensureEventPath):
1766 (WebCore::EventDispatcher::dispatchSimulatedClick):
1767 (WebCore::EventDispatcher::dispatchEventPreProcess):
1768 (WebCore::EventDispatcher::dispatchEventAtCapturing):
1769 (WebCore::EventDispatcher::dispatchEventAtTarget):
1770 (WebCore::EventDispatcher::dispatchEventAtBubbling):
1771 (WebCore::EventDispatcher::dispatchEventPostProcess):
1772 * dom/EventDispatcher.h:
1774 (WebCore::EventDispatcher::node):
1776 * dom/FocusEvent.cpp:
1777 (WebCore::FocusEventDispatchMediator::dispatchEvent):
1778 (WebCore::BlurEventDispatchMediator::dispatchEvent):
1779 (WebCore::FocusInEventDispatchMediator::dispatchEvent):
1780 (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
1781 * dom/GestureEvent.cpp:
1782 (WebCore::GestureEventDispatchMediator::dispatchEvent):
1783 * dom/MouseEvent.cpp:
1784 (WebCore::MouseEventDispatchMediator::dispatchEvent):
1786 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
1788 [Soup] Free cookies explicitly in loops instead of using GOwnPtr
1789 https://bugs.webkit.org/show_bug.cgi?id=110103
1791 Reviewed by Martin Robinson.
1793 Free cookies explicitly in loops instead of using GOwnPtr for this.
1794 Until now, the code was mixing both styles. This patch makes the
1795 code consistent one way. Adopting list items with GOwnPtr for the
1796 sole purpose to free them makes the freeing less obvious and may
1797 lead to mistakes if someone refactors the code and calls "break;"
1798 to abort loop iteration.
1800 No new tests, no behavior change.
1802 * platform/network/soup/CookieJarSoup.cpp:
1803 (WebCore::getRawCookies):
1804 (WebCore::deleteCookie):
1805 (WebCore::getHostnamesWithCookies):
1807 2013-02-18 Joseph Pecoraro <pecoraro@apple.com>
1809 [JSC]: ASSERT in KURL(ParsedURLStringTag) under sourceMapURLForScript
1810 https://bugs.webkit.org/show_bug.cgi?id=109987
1812 Reviewed by Pavel Feldman.
1814 Improved an existing test to cover this.
1816 * bindings/js/ScriptDebugServer.cpp:
1817 (WebCore::ScriptDebugServer::dispatchDidParseSource):
1818 Remove the sourceURL parsing and script.url replacement from the JSC
1819 implementation of ScriptDebugServer. The WebCore inspector code that
1820 this was added for already does this, at a more appropriate time.
1822 2013-02-18 Mike West <mkwst@chromium.org>
1824 compareDocumentPosition reports disconnected nodes as following each other
1825 https://bugs.webkit.org/show_bug.cgi?id=108274
1827 Reviewed by Dimitri Glazkov.
1829 jQuery has had to implement their own sorting mechanism in Sizzle[1] due
1830 to Node::compareDocumentPosition always reporting disconnected nodes
1831 as following each other. According to spec[2], we should instead be
1832 indicating that the result is (a) disconnected, (b) implementation
1833 specific, and (c) deterministically ordered.
1835 [1]: https://github.com/jquery/sizzle/commit/1c8aec91284af8d8c14447976235d5dd72b0d75e
1836 [2]: http://dom.spec.whatwg.org/#dom-node-comparedocumentposition
1838 Test: fast/dom/compare-document-position-disconnected-nodes.html
1841 (WebCore::Node::compareDocumentPosition):
1842 After walking the parentNode chain of both Nodes, compare the root.
1843 If the Nodes don't share a root, they're in distinct trees, and
1844 should return as described above. We determine which element
1845 "preceeds" the other in an arbitrary fashion via pointer comparison.
1847 2013-02-18 Andrey Adaikin <aandrey@chromium.org>
1849 Web Inspector: [Canvas] fix replay log grouping by frames
1850 https://bugs.webkit.org/show_bug.cgi?id=110122
1852 Reviewed by Pavel Feldman.
1854 Bug: log grouping by frames did not work if a frame end call is not a draw call.
1855 Drive-by: Last draw call group may not contain a draw call. In this case merge it into the previous group.
1857 * inspector/front-end/CanvasProfileView.js:
1858 (WebInspector.CanvasProfileView.prototype._appendCallNode):
1859 (WebInspector.CanvasProfileView.prototype._maybeMergeLastDrawCallGroups):
1861 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
1863 [Soup] Superfluous HashMap check in SocketStreamHandleSoup::getHandleFromId()
1864 https://bugs.webkit.org/show_bug.cgi?id=110107
1866 Reviewed by Martin Robinson.
1868 Remove Superfluous HashMap::contains() call in SocketStreamHandleSoup::getHandleFromId()
1869 as HashMap::get() will already return 0 in this case anyway.
1871 No new tests, no behavior change.
1873 * platform/network/soup/SocketStreamHandleSoup.cpp:
1875 (WebCore::getHandleFromId):
1877 2013-02-18 Zan Dobersek <zdobersek@igalia.com>
1879 Stop placing std::isfinite and std::signbit inside the global scope
1880 https://bugs.webkit.org/show_bug.cgi?id=109817
1882 Reviewed by Darin Adler.
1884 Prefix calls to the isfinite and signbit methods with std:: as the two
1885 methods are no longer being imported into the global scope.
1887 No new tests as there's no change in functionality.
1889 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1890 (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
1891 * bindings/js/JSDOMBinding.cpp:
1892 (WebCore::jsDateOrNull):
1893 * bindings/js/JSDOMBinding.h:
1894 (WebCore::finiteInt32Value):
1895 * bindings/v8/V8Binding.h:
1896 (WebCore::v8DateOrNull):
1897 * css/CSSPrimitiveValue.cpp:
1898 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1899 * html/BaseDateAndTimeInputType.cpp:
1900 (WebCore::BaseDateAndTimeInputType::parseToNumber):
1901 * html/HTMLInputElement.cpp:
1902 (WebCore::HTMLInputElement::setValueAsNumber):
1903 * html/HTMLMeterElement.cpp:
1904 (WebCore::HTMLMeterElement::setMin):
1905 (WebCore::HTMLMeterElement::setMax):
1906 (WebCore::HTMLMeterElement::setValue):
1907 (WebCore::HTMLMeterElement::setLow):
1908 (WebCore::HTMLMeterElement::setHigh):
1909 (WebCore::HTMLMeterElement::setOptimum):
1910 * html/HTMLProgressElement.cpp:
1911 (WebCore::HTMLProgressElement::value):
1912 (WebCore::HTMLProgressElement::setValue):
1913 (WebCore::HTMLProgressElement::max):
1914 (WebCore::HTMLProgressElement::setMax):
1915 * html/MonthInputType.cpp:
1916 (WebCore::MonthInputType::valueAsDate):
1917 (WebCore::MonthInputType::defaultValueForStepUp):
1918 (WebCore::MonthInputType::parseToNumber):
1919 * html/NumberInputType.cpp:
1920 (WebCore::NumberInputType::typeMismatchFor):
1921 (WebCore::NumberInputType::sanitizeValue):
1922 (WebCore::NumberInputType::hasBadInput):
1923 * html/RangeInputType.cpp:
1924 (WebCore::RangeInputType::typeMismatchFor):
1925 * html/TimeInputType.cpp:
1926 (WebCore::TimeInputType::defaultValueForStepUp):
1927 * html/canvas/CanvasPathMethods.cpp:
1928 (WebCore::CanvasPathMethods::moveTo):
1929 (WebCore::CanvasPathMethods::lineTo):
1930 (WebCore::CanvasPathMethods::quadraticCurveTo):
1931 (WebCore::CanvasPathMethods::bezierCurveTo):
1932 (WebCore::CanvasPathMethods::arcTo):
1933 (WebCore::CanvasPathMethods::arc):
1934 (WebCore::CanvasPathMethods::rect):
1935 * html/canvas/CanvasRenderingContext2D.cpp:
1936 (WebCore::CanvasRenderingContext2D::setLineWidth):
1937 (WebCore::CanvasRenderingContext2D::setMiterLimit):
1938 (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
1939 (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
1940 (WebCore::CanvasRenderingContext2D::setShadowBlur):
1941 (WebCore::lineDashSequenceIsValid):
1942 (WebCore::CanvasRenderingContext2D::setLineDashOffset):
1943 (WebCore::CanvasRenderingContext2D::scale):
1944 (WebCore::CanvasRenderingContext2D::rotate):
1945 (WebCore::CanvasRenderingContext2D::translate):
1946 (WebCore::CanvasRenderingContext2D::transform):
1947 (WebCore::CanvasRenderingContext2D::setTransform):
1948 (WebCore::validateRectForCanvas):
1949 (WebCore::CanvasRenderingContext2D::isPointInPath):
1950 (WebCore::CanvasRenderingContext2D::isPointInStroke):
1951 (WebCore::CanvasRenderingContext2D::drawImage):
1952 (WebCore::CanvasRenderingContext2D::createLinearGradient):
1953 (WebCore::CanvasRenderingContext2D::createRadialGradient):
1954 (WebCore::CanvasRenderingContext2D::createImageData):
1955 (WebCore::CanvasRenderingContext2D::getImageData):
1956 (WebCore::CanvasRenderingContext2D::putImageData):
1957 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1958 * html/parser/HTMLParserIdioms.cpp:
1959 (WebCore::parseToDoubleForNumberType):
1960 * html/shadow/MediaControlElements.cpp:
1961 (WebCore::MediaControlTimelineElement::setDuration):
1962 * html/shadow/MediaControls.cpp:
1963 (WebCore::MediaControls::reset):
1964 * html/shadow/MediaControlsApple.cpp:
1965 (WebCore::MediaControlsApple::reset):
1966 * html/shadow/MediaControlsBlackBerry.cpp:
1967 (WebCore::MediaControlFullscreenTimelineElement::setDuration):
1968 (WebCore::MediaControlsBlackBerry::reset):
1969 * inspector/InspectorValues.cpp:
1970 (WebCore::InspectorBasicValue::writeJSON):
1971 * loader/cache/CachedResource.cpp:
1972 (WebCore::CachedResource::currentAge):
1973 (WebCore::CachedResource::freshnessLifetime):
1974 * page/DOMWindow.cpp:
1975 (WebCore::DOMWindow::adjustWindowRect):
1976 * platform/DateComponents.cpp:
1977 (WebCore::DateComponents::setMillisecondsSinceEpochForDate):
1978 (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime):
1979 (WebCore::DateComponents::setMillisecondsSinceEpochForMonth):
1980 (WebCore::DateComponents::setMillisecondsSinceMidnight):
1981 (WebCore::DateComponents::setMonthsSinceEpoch):
1982 (WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
1983 * platform/Decimal.cpp:
1984 (WebCore::Decimal::fromDouble):
1985 * platform/FileSystem.h:
1986 (WebCore::isValidFileTime):
1987 * platform/LocalizedStrings.cpp:
1988 (WebCore::localizedMediaTimeDescription):
1989 * platform/graphics/cairo/CairoUtilities.cpp:
1990 (WebCore::drawPatternToCairoContext):
1991 * platform/graphics/cairo/PathCairo.cpp:
1992 (WebCore::Path::addArc):
1993 (WebCore::Path::contains):
1994 * platform/graphics/cg/PathCG.cpp:
1995 (WebCore::Path::addArc):
1996 * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
1997 (WebCore::FullscreenVideoControllerGStreamer::timeToString):
1998 * platform/graphics/openvg/PathOpenVG.cpp:
1999 (WebCore::Path::addArc):
2000 * platform/graphics/skia/SkiaUtils.h:
2001 (WebCore::WebCoreFloatToSkScalar):
2002 (WebCore::WebCoreDoubleToSkScalar):
2003 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2004 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::maxTimeSeekable):
2005 * platform/gtk/LocalizedStringsGtk.cpp:
2006 (WebCore::localizedMediaTimeDescription):
2007 * platform/mac/WebVideoFullscreenHUDWindowController.mm:
2009 * platform/network/ResourceResponseBase.cpp:
2010 (WebCore::parseDateValueInHeader):
2011 * platform/qt/LocalizedStringsQt.cpp:
2012 (WebCore::localizedMediaTimeDescription):
2013 * rendering/RenderFlexibleBox.cpp:
2014 (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
2015 * rendering/RenderMediaControlsChromium.cpp:
2016 (WebCore::formatChromiumMediaControlsTime):
2017 * rendering/RenderTheme.cpp:
2018 (WebCore::RenderTheme::formatMediaControlsTime):
2019 * rendering/style/RenderStyle.cpp:
2020 (WebCore::RenderStyle::setFontSize):
2021 * svg/SVGPathParser.cpp:
2022 (WebCore::SVGPathParser::decomposeArcToCubic):
2023 * xml/XPathFunctions.cpp:
2024 (WebCore::XPath::FunRound::round):
2025 * xml/XPathValue.cpp:
2026 (WebCore::XPath::Value::toString):
2028 2013-02-18 Chris Fleizach <cfleizach@apple.com>
2030 AX: Make iOS wrapper use the WebAccessibilityObjectBase wrapper
2031 https://bugs.webkit.org/show_bug.cgi?id=110077
2033 Reviewed by David Kilzer.
2035 Make the iOS wrapper a subclass of the shared wrapper so that iOS can re-use code from the Mac.
2036 Rename the iOS file to reflect the class name.
2038 * WebCore.xcodeproj/project.pbxproj:
2039 * accessibility/ios/AXObjectCacheIOS.mm:
2040 (WebCore::AXObjectCache::attachWrapper):
2041 (WebCore::AXObjectCache::postPlatformNotification):
2042 * accessibility/ios/AccessibilityObjectWrapperIOS.h: Removed.
2043 * accessibility/ios/AccessibilityObjectWrapperIOS.mm: Removed.
2044 * accessibility/ios/WebAccessibilityObjectWrapperIOS.h: Copied from Source/WebCore/accessibility/ios/AccessibilityObjectWrapperIOS.h.
2045 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: Copied from Source/WebCore/accessibility/ios/AccessibilityObjectWrapperIOS.mm.
2046 (-[WebAccessibilityObjectWrapper initWithAccessibilityObject:]):
2047 (-[WebAccessibilityObjectWrapper attachmentView]):
2048 (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:WebCore::AXObjectCache::]):
2050 2013-02-18 Sheriff Bot <webkit.review.bot@gmail.com>
2052 Unreviewed, rolling out r143210.
2053 http://trac.webkit.org/changeset/143210
2054 https://bugs.webkit.org/show_bug.cgi?id=110128
2056 Still causing some test timeouts (Requested by anttik on
2059 * platform/SharedTimer.h:
2062 (WebCore::MainThreadSharedTimer::stop):
2063 * platform/ThreadTimers.cpp:
2064 (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
2065 * platform/mac/SharedTimerMac.mm:
2067 (WebCore::PowerObserver::restartSharedTimer):
2068 (WebCore::setSharedTimerFireInterval):
2069 (WebCore::stopSharedTimer):
2071 2013-02-18 Vladislav Kaznacheev <kaznacheev@chromium.org>
2073 Web Inspector: Disable hiding the debugger when it is below the source code
2074 https://bugs.webkit.org/show_bug.cgi?id=110106
2076 Reviewed by Pavel Feldman.
2078 When the "Split horizontally" option is checked in the Sources panel the button responsible for the sidebar
2079 visibility is hidden and the sidebar is force-shown. Also set the "Split sidebar" option default to true.
2083 * inspector/front-end/ScriptsPanel.js:
2084 (WebInspector.ScriptsPanel):
2085 * inspector/front-end/scriptsPanel.css:
2086 (.split-view-horizontal #scripts-debug-sidebar-resizer-widget):
2088 2013-02-18 Bear Travis <betravis@adobe.com>
2090 [CSS Exclusions] Support outside-shape layout for shape-inside property
2091 https://bugs.webkit.org/show_bug.cgi?id=102571
2093 Reviewed by David Hyatt.
2095 A shape-inside value of 'outside-shape' should resolve to the value of
2096 the shape-outside property for layout. This patch introduces a helper
2097 method to resolve shape-inside in RenderStyle, and replaces calls to
2098 RenderStyle::shapeInside() when the resolved (layout) value should be
2101 Test: fast/exclusions/shape-inside/shape-inside-outside-shape.html
2103 * rendering/ExclusionShapeInfo.cpp:
2104 (WebCore::::computedShape): Use the resolved shape-inside getter.
2105 * rendering/ExclusionShapeInsideInfo.h:
2106 (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Ditto.
2107 (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo): Ditto.
2108 * rendering/RenderBlock.cpp:
2109 (WebCore::RenderBlock::styleDidChange): Ditto.
2110 (WebCore::RenderBlock::exclusionShapeInsideInfo): Ditto.
2111 * rendering/style/RenderStyle.h: Add the resolved shape inside getter.
2113 2013-02-18 Pavel Feldman <pfeldman@chromium.org>
2115 Web Inspector: hide vertical-sidebar-split in dock-to-right mode behind single experimental flag.
2116 https://bugs.webkit.org/show_bug.cgi?id=110119
2118 Reviewed by Vsevolod Vlasov.
2120 Removed context menus, made it toggle automatically upon dock orientation change.
2122 * inspector/front-end/DockController.js:
2123 (WebInspector.DockController.prototype._toggleDockState):
2124 * inspector/front-end/ElementsPanel.js:
2125 (WebInspector.ElementsPanel):
2126 (WebInspector.ElementsPanel.prototype._sidebarContextMenuEventFired):
2127 (WebInspector.ElementsPanel.prototype._dockSideChanged):
2128 (WebInspector.ElementsPanel.prototype._setVerticalSplit):
2129 * inspector/front-end/ScriptsPanel.js:
2130 (WebInspector.ScriptsPanel):
2131 (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
2132 (WebInspector.ScriptsPanel.prototype._dockSideChanged):
2133 * inspector/front-end/Settings.js:
2134 (WebInspector.ExperimentsSettings):
2135 * inspector/front-end/inspector.css:
2136 * inspector/front-end/scriptsPanel.css:
2137 (#scripts-sidebar-stack-pane):
2138 (div.sidebar-pane-stack#scripts-debug-sidebar-contents):
2139 * inspector/front-end/tabbedPane.css:
2142 2013-02-18 ChangSeok Oh <shivamidow@gmail.com>
2144 [GTK] Fix nits for configuration
2145 https://bugs.webkit.org/show_bug.cgi?id=110083
2147 Reviewed by Martin Robinson.
2149 Remove trailing white space. It has caused annoying warning while configuration.
2151 No new tests since no funtionality change.
2153 * GNUmakefile.list.am:
2155 2013-02-18 Kondapally Kalyan <kalyan.kondapally@intel.com>
2157 [WebGL][EFL] Refactor GraphicsContext3DPrivate to add support for SharedContext.
2158 https://bugs.webkit.org/show_bug.cgi?id=109988
2160 Reviewed by Kenneth Rohde Christiansen.
2162 Covered by existing WebGL tests.
2164 This patch refactors PlatformContext and GraphicsContext3DPrivate to
2165 add support for Shared Context. This would help share GL resources
2166 between transport surface and offscreen surface without having to worry
2167 about the context state. So far, we used the same drawable as transport
2168 surface and offscreen surface. After this patch we use pixmap surface as
2169 offscreen surface and use shared context to render texture content to
2170 transport surface. This would also align as to how shared surface is implemented
2171 on EFL and Qt ports.
2173 * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2174 (WebCore::GraphicsContext3D::GraphicsContext3D):
2175 * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2176 (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2178 (WebCore::GraphicsContext3DPrivate::initialize):
2179 (WebCore::GraphicsContext3DPrivate::makeSharedContextCurrent):
2180 (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
2181 * platform/graphics/efl/GraphicsContext3DPrivate.h:
2182 (GraphicsContext3DPrivate):
2183 * platform/graphics/opengl/GLPlatformContext.cpp:
2184 (WebCore::GLPlatformContext::initialize):
2185 * platform/graphics/opengl/GLPlatformContext.h:
2186 Needed changes to take shared context into use.
2188 * platform/graphics/opengl/GLPlatformSurface.cpp:
2189 (WebCore::GLPlatformSurface::createOffScreenSurface):
2190 (WebCore::GLPlatformSurface::updateContents):
2191 * platform/graphics/opengl/GLPlatformSurface.h:
2192 (GLPlatformSurface):
2193 * platform/graphics/surfaces/glx/GLXConfigSelector.h:
2194 (WebCore::GLXConfigSelector::GLXConfigSelector):
2195 (WebCore::GLXConfigSelector::visualInfo):
2196 (WebCore::GLXConfigSelector::pixmapContextConfig):
2197 (GLXConfigSelector):
2198 (WebCore::GLXConfigSelector::reset):
2199 * platform/graphics/surfaces/glx/GLXContext.cpp:
2200 Added support to query configiration supporting
2203 (WebCore::GLXOffScreenContext::initialize):
2204 * platform/graphics/surfaces/glx/GLXContext.h:
2205 (GLXOffScreenContext):
2206 * platform/graphics/surfaces/glx/GLXSurface.cpp:
2207 (WebCore::GLXTransportSurface::GLXTransportSurface):
2208 (WebCore::GLXTransportSurface::swapBuffers):
2209 (WebCore::GLXOffScreenSurface::GLXOffScreenSurface):
2210 (WebCore::GLXOffScreenSurface::~GLXOffScreenSurface):
2211 (WebCore::GLXOffScreenSurface::initialize):
2212 (WebCore::GLXOffScreenSurface::configuration):
2213 (WebCore::GLXOffScreenSurface::destroy):
2214 (WebCore::GLXOffScreenSurface::freeResources):
2215 (WebCore::GLXOffScreenSurface::setGeometry):
2216 Renamed GLXPBuffer surface as GLXOffScreenSurface.
2218 * platform/graphics/surfaces/glx/GLXSurface.h:
2219 (GLXTransportSurface):
2220 (GLXOffScreenSurface):
2221 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
2222 (WebCore::GraphicsSurfacePrivate::createSurface):
2223 * platform/graphics/surfaces/glx/X11Helper.cpp:
2224 (WebCore::X11Helper::createPixmap):
2226 (WebCore::X11Helper::destroyPixmap):
2227 (WebCore::X11Helper::createOffScreenWindow):
2228 * platform/graphics/surfaces/glx/X11Helper.h:
2230 Added functions to create and destroy pixmap.
2232 2013-02-18 Ilya Tikhonovsky <loislo@chromium.org>
2234 Web Inspector: Native Memory Instrumentation: Generate meta information for HeapSnapshot parser.
2235 https://bugs.webkit.org/show_bug.cgi?id=110104
2237 Reviewed by Yury Semikhatsky.
2239 The format of Native heap snapshot is slightly different so it should provide its own meta information.
2242 * inspector/HeapGraphSerializer.cpp:
2243 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2244 (WebCore::HeapGraphSerializer::finish):
2245 (WebCore::HeapGraphSerializer::reportMemoryUsage):
2246 (WebCore::HeapGraphSerializer::registerTypeString):
2248 * inspector/HeapGraphSerializer.h:
2249 (HeapGraphSerializer):
2250 * inspector/Inspector.json:
2251 * inspector/InspectorMemoryAgent.cpp:
2252 (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
2253 (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
2254 * inspector/InspectorMemoryAgent.h:
2255 (InspectorMemoryAgent):
2256 * inspector/front-end/HeapSnapshot.js:
2257 (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
2258 * inspector/front-end/NativeHeapSnapshot.js:
2259 (WebInspector.NativeHeapSnapshot):
2261 2013-02-18 Carlos Garcia Campos <cgarcia@igalia.com>
2263 [GTK] Force single header includes in GObject DOM bindings
2264 https://bugs.webkit.org/show_bug.cgi?id=104676
2266 Reviewed by Xan Lopez.
2268 Only including <webkitdom/webkitdom.h> should be allowed from
2271 * bindings/scripts/CodeGeneratorGObject.pm:
2273 * bindings/scripts/gobject-generate-headers.pl:
2274 * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
2275 * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
2276 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2277 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
2278 * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
2279 * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
2280 * bindings/scripts/test/GObject/WebKitDOMTestException.h:
2281 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
2282 * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
2283 * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
2284 * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
2285 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2286 * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
2287 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2289 2013-02-16 Antti Koivisto <antti@apple.com>
2291 Reschedule shared CFRunLoopTimer instead of reconstructing it
2292 https://bugs.webkit.org/show_bug.cgi?id=109765
2294 Reviewed by Andreas Kling.
2296 Using CFRunLoopTimerSetNextFireDate is over 2x faster than deleting and reconstructing timers.
2298 * platform/SharedTimer.h:
2299 (WebCore::SharedTimer::willEnterNestedEventLoop):
2301 (MainThreadSharedTimer):
2302 (WebCore::MainThreadSharedTimer::willEnterNestedEventLoop):
2303 * platform/ThreadTimers.cpp:
2304 (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
2305 * platform/mac/SharedTimerMac.mm:
2307 (WebCore::PowerObserver::clearSharedTimer):
2308 (WebCore::ensurePowerObserver):
2309 (WebCore::sharedTimer):
2310 (WebCore::reinsertSharedTimer):
2312 Before entering nested runloop (used for inspector debugger mostly) reconstruct and reinsert the timer. For some reason
2313 the timer doesn't fire otherwise.
2315 (WebCore::setSharedTimerFireInterval):
2316 (WebCore::stopSharedTimer):
2318 2013-02-18 Alexander Pavlov <apavlov@chromium.org>
2320 Web Inspector: [Resources] Only remember the tree element selection if explicitly made by user
2321 https://bugs.webkit.org/show_bug.cgi?id=110105
2323 Reviewed by Pavel Feldman.
2325 This change instructs the Resources panel to remember the selected tree element only if it has been
2326 selected by the user (not automatically, like selecting a parent when its child is removed).
2327 All onselect() overrides pass the selectedByUser argument value
2328 to BaseStorageTreeElement.prototype.onselect.
2329 Drive-by: Use === comparisons everywhere.
2331 * inspector/front-end/ResourcesPanel.js:
2332 (WebInspector.ResourcesPanel.prototype._reset): Do not detach [immutable] category views.
2333 (WebInspector.BaseStorageTreeElement.prototype.onselect): Remember itemURL on user gesture only.
2334 (WebInspector.StorageCategoryTreeElement.prototype.onselect):
2335 (WebInspector.FrameTreeElement.prototype.onselect):
2336 (WebInspector.FrameResourceTreeElement.prototype.onselect):
2337 (WebInspector.DatabaseTreeElement.prototype.onselect):
2338 (WebInspector.DatabaseTableTreeElement.prototype.onselect):
2339 (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
2340 (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
2341 (WebInspector.IDBIndexTreeElement.prototype.onselect):
2342 (WebInspector.DOMStorageTreeElement):
2343 (WebInspector.DOMStorageTreeElement.prototype.onselect):
2344 (WebInspector.CookieTreeElement.prototype.onselect):
2345 (WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
2346 (WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
2347 (WebInspector.FileSystemTreeElement.prototype.onselect):
2348 (WebInspector.FileSystemTreeElement.prototype.clear):
2349 (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
2351 2013-02-18 Vladislav Kaznacheev <kaznacheev@chromium.org>
2353 Web Inspector: Color picker should not be available in Computed Styles pane
2354 https://bugs.webkit.org/show_bug.cgi?id=109697
2356 Reviewed by Pavel Feldman.
2358 Refactored PropertiesSection and TreeElement inheritors in StylesSidebarPane.js for cleaner separation
2359 of read-only and editable properties.
2361 * inspector/front-end/StylesSidebarPane.js:
2362 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2363 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2364 (WebInspector.ComputedStylePropertiesSection):
2365 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2366 (WebInspector.BlankStylePropertiesSection):
2367 (WebInspector.StylePropertyTreeElementBase):
2368 (WebInspector.StylePropertyTreeElementBase.prototype.node):
2369 (WebInspector.StylePropertyTreeElementBase.prototype.editablePane):
2370 (WebInspector.StylePropertyTreeElementBase.prototype.onattach):
2371 (WebInspector.StylePropertyTreeElementBase.prototype.updateTitle.linkifyURL):
2372 (WebInspector.StylePropertyTreeElementBase.prototype.updateTitle.):
2373 (WebInspector.StylePropertyTreeElementBase.prototype):
2377 2013-02-18 Andrey Adaikin <aandrey@chromium.org>
2379 Web Inspector: [Canvas] group replay log calls by frames
2380 https://bugs.webkit.org/show_bug.cgi?id=110101
2382 Reviewed by Pavel Feldman.
2384 Group canvas replay log by frames, then by draw calls.
2386 * inspector/InjectedScriptCanvasModuleSource.js:
2388 * inspector/Inspector.json:
2389 * inspector/front-end/CanvasProfileView.js:
2390 (WebInspector.CanvasProfileView):
2391 (WebInspector.CanvasProfileView.prototype.dispose):
2392 (WebInspector.CanvasProfileView.prototype._appendCallNode):
2393 (WebInspector.CanvasProfileView.prototype._appendDrawCallGroup):
2395 2013-02-18 Christophe Dumez <ch.dumez@sisa.samsung.com>
2397 [Soup] CookieJarSoup::deleteCookie() should stop looking for the cookie after it is removed
2398 https://bugs.webkit.org/show_bug.cgi?id=110100
2400 Reviewed by Kenneth Rohde Christiansen.
2402 CookieJarSoup::deleteCookie() retrieves the list of cookies that apply to a given URL, then
2403 iterates through the cookies to find the one with the right name and delete it. However, the
2404 current implementation keeps on comparing cookie names after the cookie was removed. This
2405 patch introduces a "wasDeleted" boolean to stop comparing cookie names after the cookie was
2406 deleted. Note that we cannot break as soon as the cookie is found as we need to keep iterating
2407 so that the cookies get freed by GOwnPtr.
2409 No new tests, no behavior change.
2411 * platform/network/soup/CookieJarSoup.cpp:
2412 (WebCore::deleteCookie):
2414 2013-02-18 Vsevolod Vlasov <vsevik@chromium.org>
2416 Web Inspector: Create separate project for each domain for UISourceCode based on browser resources.
2417 https://bugs.webkit.org/show_bug.cgi?id=109691
2419 Reviewed by Pavel Feldman.
2421 Separate project of certain type is now created for each domain.
2422 UISourceCode path represents a path in the project now.
2423 UISourceCode uri is now calculated based on project id and path.
2424 It is also possible to calculate path based on projectId and URI, which is used for uiSourceCodeForURI() methods.
2426 * inspector/front-end/FileSystemProjectDelegate.js:
2427 (WebInspector.FileSystemProjectDelegate.prototype._filePathForPath):
2428 (WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
2429 (WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
2430 (WebInspector.FileSystemProjectDelegate.prototype._populate):
2431 (WebInspector.FileSystemProjectDelegate.prototype._removeFile):
2432 * inspector/front-end/ScriptSnippetModel.js:
2433 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
2434 * inspector/front-end/SimpleWorkspaceProvider.js:
2435 (WebInspector.SimpleProjectDelegate):
2436 (WebInspector.SimpleProjectDelegate.projectId):
2437 (WebInspector.SimpleProjectDelegate.prototype.id):
2438 (WebInspector.SimpleProjectDelegate.prototype.displayName):
2439 (WebInspector.SimpleProjectDelegate.prototype.addFile):
2440 (WebInspector.SimpleWorkspaceProvider):
2441 (WebInspector.SimpleWorkspaceProvider.splitURL):
2442 (WebInspector.SimpleWorkspaceProvider._pathForSplittedURL):
2443 (WebInspector.SimpleWorkspaceProvider.uriForURL):
2444 (WebInspector.SimpleWorkspaceProvider.prototype._projectDelegate):
2445 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
2446 (WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
2447 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFile):
2448 (WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
2449 (WebInspector.SimpleWorkspaceProvider.prototype.reset):
2450 * inspector/front-end/UISourceCode.js:
2451 (WebInspector.UISourceCode.uri):
2452 (WebInspector.UISourceCode.path):
2453 (WebInspector.UISourceCode.prototype.uri):
2454 * inspector/front-end/Workspace.js:
2455 (WebInspector.Project.prototype._fileAdded):
2456 (WebInspector.Project.prototype._fileRemoved):
2457 (WebInspector.Project.prototype.uiSourceCodeForURI):
2459 2013-02-18 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2461 [EFL] Rebaseline failure media tests after r142947
2462 https://bugs.webkit.org/show_bug.cgi?id=109904
2464 Reviewed by Kenneth Rohde Christiansen.
2466 * css/mediaControlsEfl.css: Align time text vertically.
2467 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2469 2013-02-18 Vsevolod Vlasov <vsevik@chromium.org>
2471 Web Inspector: Extract FileSystemUtils from FileSystemProjectDelegate as IsolatedFileSystem class.
2472 https://bugs.webkit.org/show_bug.cgi?id=110086
2474 Reviewed by Pavel Feldman.
2476 Extracted IsolatedFileSystem class that could be mocked for tests now.
2477 Renamed IsolatedFileSystemModel to IsolatedFileSystemManager.
2480 * WebCore.vcproj/WebCore.vcproj:
2481 * inspector/compile-front-end.py:
2482 * inspector/front-end/FileSystemProjectDelegate.js:
2483 (WebInspector.FileSystemProjectDelegate):
2484 (WebInspector.FileSystemProjectDelegate.prototype.id):
2485 (WebInspector.FileSystemProjectDelegate.prototype.displayName):
2486 (WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
2487 (WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
2488 (WebInspector.FileSystemProjectDelegate.prototype._populate):
2489 * inspector/front-end/IsolatedFileSystem.js: Added.
2490 (WebInspector.IsolatedFileSystem):
2491 (WebInspector.IsolatedFileSystem.errorMessage):
2492 (WebInspector.IsolatedFileSystem.prototype.id):
2493 (WebInspector.IsolatedFileSystem.prototype.path):
2494 (WebInspector.IsolatedFileSystem.prototype._requestFileSystem):
2495 (WebInspector.IsolatedFileSystem.prototype.fileSystemLoaded):
2496 (WebInspector.IsolatedFileSystem.prototype.innerCallback):
2497 (WebInspector.IsolatedFileSystem.prototype.requestFilesRecursive):
2498 (WebInspector.IsolatedFileSystem.prototype.fileEntryLoaded):
2499 (WebInspector.IsolatedFileSystem.prototype.fileLoaded):
2500 (WebInspector.IsolatedFileSystem.prototype.readerLoadEnd):
2501 (WebInspector.IsolatedFileSystem.prototype.errorHandler):
2502 (WebInspector.IsolatedFileSystem.prototype.requestFileContent):
2503 (WebInspector.IsolatedFileSystem.prototype.fileWriterCreated.fileTruncated):
2504 (WebInspector.IsolatedFileSystem.prototype.fileWriterCreated):
2505 (WebInspector.IsolatedFileSystem.prototype.writerEnd):
2506 (WebInspector.IsolatedFileSystem.prototype.setFileContent):
2507 (WebInspector.IsolatedFileSystem.prototype.):
2508 (WebInspector.IsolatedFileSystem.prototype.toArray):
2509 (WebInspector.IsolatedFileSystem.prototype._readDirectory):
2510 (WebInspector.IsolatedFileSystem.prototype._requestEntries):
2511 * inspector/front-end/IsolatedFileSystemManager.js: Renamed from Source/WebCore/inspector/front-end/IsolatedFileSystemModel.js.
2512 (WebInspector.IsolatedFileSystemManager):
2513 (WebInspector.IsolatedFileSystemManager.prototype.mapping):
2514 (WebInspector.IsolatedFileSystemManager.prototype.supportsFileSystems):
2515 (WebInspector.IsolatedFileSystemManager.prototype._requestFileSystems):
2516 (WebInspector.IsolatedFileSystemManager.prototype.addFileSystem):
2517 (WebInspector.IsolatedFileSystemManager.prototype.removeFileSystem):
2518 (WebInspector.IsolatedFileSystemManager.prototype._fileSystemsLoaded):
2519 (WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
2520 (WebInspector.IsolatedFileSystemManager.prototype._fileSystemPaths):
2521 (WebInspector.IsolatedFileSystemManager.prototype._processPendingFileSystemRequests):
2522 (WebInspector.IsolatedFileSystemManager.prototype._fileSystemAdded):
2523 (WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):
2524 (WebInspector.IsolatedFileSystemManager.prototype._isolatedFileSystem):
2525 (WebInspector.IsolatedFileSystemManager.prototype.requestDOMFileSystem):
2526 (WebInspector.IsolatedFileSystemDispatcher):
2527 (WebInspector.IsolatedFileSystemDispatcher.prototype.fileSystemsLoaded):
2528 (WebInspector.IsolatedFileSystemDispatcher.prototype.fileSystemRemoved):
2529 (WebInspector.IsolatedFileSystemDispatcher.prototype.fileSystemAdded):
2530 * inspector/front-end/SettingsScreen.js:
2531 (WebInspector.WorkspaceSettingsTab.prototype._createFileSystemsEditor):
2532 (WebInspector.WorkspaceSettingsTab.prototype._addFileSystemRow.removeFileSystemClicked):
2533 (WebInspector.WorkspaceSettingsTab.prototype._addFileSystemClicked):
2534 * inspector/front-end/WebKit.qrc:
2535 * inspector/front-end/inspector.html:
2536 * inspector/front-end/inspector.js:
2538 2013-02-18 Huang Dongsung <luxtella@company100.net>
2540 [EFL][WK2] compositing/layer-creation/fixed-position-out-of-view-scaled.html is flaky
2541 https://bugs.webkit.org/show_bug.cgi?id=110059
2543 Reviewed by Kenneth Rohde Christiansen.
2545 Remove the ASSERT check in TextureMapperLayer. This assertion seems
2546 valid because CoordinatedGraphicsScene::adjustPositionForFixedLayers() calls
2547 TextureMapperLayer::setScrollPositionDeltaIfNeeded() when the graphics
2548 layer is a fixed position layer. However, the assertion can be failed
2549 because it is possible that TextureMapperLayer is a non-fixed position
2550 layer when the graphics layer that holds the TextureMapperLayer is a
2551 fixed position layer. When CoordinatedGraphicsScene flushes,
2552 TextureMapperLayer becomes a fixed position layer.
2554 No new tests. No change in behavior.
2556 * platform/graphics/texmap/TextureMapperLayer.cpp:
2557 (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
2559 2013-02-18 Grzegorz Czajkowski <g.czajkowski@samsung.com>
2561 [WK2][EFL] Unified text checker implementation
2562 https://bugs.webkit.org/show_bug.cgi?id=107682
2564 Reviewed by Anders Carlsson.
2566 No new tests, covered by editing/spelling tests.
2568 * platform/text/TextChecking.h:
2570 Enabling unified text checker feature for WebKit-EFL.
2572 2013-02-18 Nico Weber <thakis@chromium.org>
2574 [chromium/clang] Remove -Wno-return-type-c-linkage
2575 https://bugs.webkit.org/show_bug.cgi?id=110098
2577 Reviewed by Jochen Eisinger.
2579 The one instance where this triggered was removed in
2580 http://trac.webkit.org/changeset/141184 . A clang that has this
2581 warning landed in chromium r182694, so it should be safe to turn
2584 * WebCore.gyp/WebCore.gyp:
2586 2013-02-18 Pavel Feldman <pfeldman@chromium.org>
2588 Web Inspector: provide basic console.table implementation (no [,columns] support)
2589 https://bugs.webkit.org/show_bug.cgi?id=109453
2591 Reviewed by Vsevolod Vlasov.
2593 Test: inspector/console/console-format-table.html
2595 Using console preview infrastructure to support console.table.
2597 * English.lproj/localizedStrings.js:
2598 * inspector/ConsoleAPITypes.h:
2599 * inspector/ConsoleMessage.cpp:
2600 (WebCore::messageTypeValue):
2601 (WebCore::ConsoleMessage::addToFrontend):
2602 * inspector/InjectedScript.cpp:
2603 (WebCore::InjectedScript::wrapObject):
2605 (WebCore::InjectedScript::wrapTable):
2606 * inspector/InjectedScript.h:
2608 * inspector/InjectedScriptSource.js:
2610 * inspector/Inspector.json:
2611 * inspector/InspectorDOMAgent.cpp:
2612 (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2613 * inspector/front-end/ConsoleMessage.js:
2614 (WebInspector.ConsoleMessageImpl):
2615 (WebInspector.ConsoleMessageImpl.prototype.willHide):
2616 (WebInspector.ConsoleMessageImpl.prototype._format):
2617 (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
2618 (WebInspector.ConsoleMessageImpl.prototype._renderPropertyPreview):
2619 (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
2620 * inspector/front-end/ConsoleModel.js:
2621 * inspector/front-end/ConsoleView.js:
2622 (WebInspector.ConsoleView.prototype._appendConsoleMessage):
2623 (WebInspector.ConsoleView.prototype._consoleCleared):
2624 (WebInspector.ConsoleView.prototype._updateMessageList):
2625 (WebInspector.ConsoleCommand.prototype.wasShown):
2626 (WebInspector.ConsoleCommand.prototype.willHide):
2627 (WebInspector.ConsoleGroup.prototype.addMessage):
2628 * inspector/front-end/DataGrid.js:
2629 (.sortDataGrid.comparator):
2631 (WebInspector.DataGrid.createSortableDataGrid):
2632 (WebInspector.DataGrid.prototype.renderInline):
2633 * inspector/front-end/DatabaseQueryView.js:
2634 (WebInspector.DatabaseQueryView.prototype._queryFinished):
2635 * inspector/front-end/dataGrid.css:
2636 (.data-grid.inline):
2637 (.data-grid.inline td.corner):
2638 * inspector/front-end/resourcesPanel.css:
2639 (.storage-view > .data-grid):
2641 (WebCore::Console::table):
2647 2013-02-18 Vsevolod Vlasov <vsevik@chromium.org>
2649 Web Inspector: JavaScriptSourceFrame should inherit UISourceCodeFrame
2650 https://bugs.webkit.org/show_bug.cgi?id=110091
2652 Reviewed by Pavel Feldman.
2654 Removed duplicated code from JavaScriptSourceFrame and made it inherit UISourceCodeFrame.
2656 * inspector/front-end/JavaScriptSourceFrame.js:
2657 (WebInspector.JavaScriptSourceFrame):
2658 (WebInspector.JavaScriptSourceFrame.prototype.onUISourceCodeContentChanged):
2659 (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
2660 * inspector/front-end/ScriptsPanel.js:
2661 * inspector/front-end/UISourceCodeFrame.js:
2662 (WebInspector.UISourceCodeFrame.prototype.canEditSource):
2663 (WebInspector.UISourceCodeFrame.prototype.onTextChanged):
2664 (WebInspector.UISourceCodeFrame.prototype._onFormattedChanged):
2665 (WebInspector.UISourceCodeFrame.prototype.onUISourceCodeContentChanged):
2666 (WebInspector.UISourceCodeFrame.prototype._innerSetContent):
2668 2013-02-18 Vsevolod Vlasov <vsevik@chromium.org>
2670 Web Inspector: Remove unused _files field in FileSystemProjectDelegate
2671 https://bugs.webkit.org/show_bug.cgi?id=110082
2673 Reviewed by Pavel Feldman.
2675 * inspector/front-end/FileSystemProjectDelegate.js:
2676 (WebInspector.FileSystemProjectDelegate):
2677 (WebInspector.FileSystemProjectDelegate.prototype._addFile):
2678 (WebInspector.FileSystemProjectDelegate.prototype._removeFile):
2680 2013-02-18 Pavel Feldman <pfeldman@chromium.org>
2682 Web Inspector: allow 0 as a formatted parameter in console message.
2683 https://bugs.webkit.org/show_bug.cgi?id=110096
2685 Reviewed by Vsevolod Vlasov.
2687 * inspector/front-end/ConsoleMessage.js:
2688 (WebInspector.ConsoleMessageImpl.prototype.append):
2689 (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
2691 2013-02-18 Ilya Tikhonovsky <loislo@chromium.org>
2693 Unreviewed speculative fix for Chromium Mac.
2697 2013-02-13 Ilya Tikhonovsky <loislo@chromium.org>
2699 Web Inspector: Native Memory Instrumentation: reportLeaf method doesn't report the leaf node properly.
2700 https://bugs.webkit.org/show_bug.cgi?id=109554
2702 In some cases leaves have no pointer so with the old schema we can't generate nodeId for them because we
2703 can't insert 0 into hashmap. It happens when we call addPrivateBuffer method.
2705 Drive by fix: I introduced a client interface for the HeapGraphSerializer.
2706 It helps me to do the tests for the serializer.
2708 Reviewed by Yury Semikhatsky.
2710 It is covered by newly added tests in TestWebKitAPI.
2712 * inspector/HeapGraphSerializer.cpp:
2713 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2714 (WebCore::HeapGraphSerializer::pushUpdate):
2715 (WebCore::HeapGraphSerializer::reportNode):
2716 (WebCore::HeapGraphSerializer::toNodeId):
2717 (WebCore::HeapGraphSerializer::addRootNode):
2718 * inspector/HeapGraphSerializer.h:
2719 (HeapGraphSerializer):
2721 (WebCore::HeapGraphSerializer::Client::~Client):
2722 * inspector/InspectorMemoryAgent.cpp:
2724 (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
2726 2013-02-18 Sheriff Bot <webkit.review.bot@gmail.com>
2728 Unreviewed, rolling out r143100.
2729 http://trac.webkit.org/changeset/143100
2730 https://bugs.webkit.org/show_bug.cgi?id=110088
2732 Breaks file system support in workspace. (Requested by vsevik
2735 * inspector/front-end/ScriptSnippetModel.js:
2736 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
2737 * inspector/front-end/SimpleWorkspaceProvider.js:
2738 (WebInspector.SimpleProjectDelegate):
2739 (WebInspector.SimpleProjectDelegate.prototype.id):
2740 (WebInspector.SimpleProjectDelegate.prototype.displayName):
2741 (WebInspector.SimpleProjectDelegate.prototype.addFile):
2742 (WebInspector.SimpleWorkspaceProvider):
2743 (WebInspector.SimpleWorkspaceProvider.uriForURL):
2744 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
2745 (WebInspector.SimpleWorkspaceProvider.prototype.removeFile):
2746 (WebInspector.SimpleWorkspaceProvider.prototype.reset):
2747 * inspector/front-end/UISourceCode.js:
2748 (WebInspector.UISourceCode.prototype.uri):
2749 * inspector/front-end/Workspace.js:
2750 (WebInspector.Project.prototype._fileAdded):
2751 (WebInspector.Project.prototype._fileRemoved):
2752 (WebInspector.Project.prototype.uiSourceCodeForURI):
2753 (WebInspector.Workspace.prototype.projectForUISourceCode):
2755 2013-02-15 Eugene Klyuchnikov <eustas@chromium.org>
2757 Web Inspector: Introduce ProfilesPanelDescriptor.
2758 https://bugs.webkit.org/show_bug.cgi?id=109906
2760 Reviewed by Pavel Feldman.
2762 Some constants/methods should be accesible before ProfilesPanel
2765 Extracted methods to check if profile is "user-initiated" and what is
2768 Also profile URL regexp moved to ProfilesPanelDescriptor.
2770 * inspector/front-end/ProfilesPanelDescriptor.js: Added.
2771 * WebCore.gypi: Added ProfilesPanelDescriptor.js
2772 * WebCore.vcproj/WebCore.vcproj: Ditto.
2773 * inspector/compile-front-end.py: Ditto.
2774 * inspector/front-end/WebKit.qrc: Ditto.
2775 * inspector/front-end/inspector.html: Ditto.
2776 * inspector/front-end/HeapSnapshotView.js: Adopted changes.
2777 * inspector/front-end/ProfilesPanel.js: Ditto.
2778 * inspector/front-end/externs.js: Ditto.
2779 * inspector/front-end/inspector.js: Ditto.
2781 2013-02-17 Dimitri Glazkov <dglazkov@chromium.org>
2783 Stop passing around SelectorChecker in SelectorQuery, now that it's stack-allocated.
2784 https://bugs.webkit.org/show_bug.cgi?id=110038
2786 Reviewed by Andreas Kling.
2788 No functional changes, covered by existing tests.
2790 * dom/SelectorQuery.cpp:
2791 (WebCore::SelectorDataList::matches): Moved instantiation of SelectorChecker in here.
2792 (WebCore::SelectorDataList::queryAll): Got rid of unneeded SelectorChecker arg.
2793 (WebCore::SelectorDataList::queryFirst): Ditto.
2794 (WebCore::SelectorDataList::execute): Moved instantiation of SelectorChecker in here.
2795 (WebCore::SelectorQuery::matches): Removed instantiation of SelectorChecker here.
2796 (WebCore::SelectorQuery::queryAll): Ditto.
2797 (WebCore::SelectorQuery::queryFirst): Ditto.
2798 * dom/SelectorQuery.h:
2799 (WebCore): Tweaked headers to make SelectorChecker just an implementation detail.
2800 (SelectorDataList): Tweaked decls to remove SelectorChecker args.
2802 2013-02-17 Dimitri Glazkov <dglazkov@chromium.org>
2804 Stop passing around SelectorChecker in ContentSelectorQuery.
2805 https://bugs.webkit.org/show_bug.cgi?id=110041
2807 Now that SelectorChecker has no interesting state, we can simplify ContentSelectorQuery and get rid of a class.
2809 Reviewed by Andreas Kling.
2811 No functional changes, covered by existing tests.
2813 * html/shadow/ContentSelectorQuery.cpp:
2814 (WebCore::ContentSelectorDataList::checkContentSelector): Zapped ContentSelectorChecker and moved its only remaining method here.
2815 (WebCore::ContentSelectorDataList::matches): Removed SelectorChecker argument.
2816 (WebCore::ContentSelectorQuery::ContentSelectorQuery): Removed an unnecessary member.
2817 (WebCore::ContentSelectorQuery::matches): Removed unnecessary argument.
2818 * html/shadow/ContentSelectorQuery.h:
2819 (WebCore): Cleaned up the file.
2820 (ContentSelectorDataList): Updated decls.
2821 (ContentSelectorQuery): Ditto.
2823 2013-02-17 Mike West <mkwst@chromium.org>
2825 WheelEvent should not target text nodes.
2826 https://bugs.webkit.org/show_bug.cgi?id=109939
2828 Reviewed by Darin Adler.
2830 WheelEvent, like other mouse events, should not target text nodes.
2831 EventHandler correctly handles other mouse events by retargeting
2832 events to text nodes' parents; this patch adds that logic to the
2835 This should allow jQuery to stop working around WebKit's behavior[1].
2837 [1]: https://github.com/jquery/jquery/commit/c61150427fc8ccc8e884df8f221a6c9bb5477929
2839 Test: fast/events/wheelevent-in-text-node.html
2841 * page/EventHandler.cpp:
2842 (WebCore::EventHandler::handleWheelEvent):
2843 If a WheelEvent's hit test lands on a text node, retarget the
2844 event to the text node's parent. Do this before latching the node.
2846 2013-02-17 Filip Pizlo <fpizlo@apple.com>
2848 Move all Structure out-of-line inline methods to StructureInlines.h
2849 https://bugs.webkit.org/show_bug.cgi?id=110024
2851 Rubber stamped by Sam Weinig.
2853 No new tests because no new behavior. Just rewiring includes.
2855 * ForwardingHeaders/parser/SourceProviderCache.h: Added.
2856 * loader/cache/CachedScript.cpp:
2858 2013-02-17 Hayato Ito <hayato@chromium.org>
2860 Make EventDispatcher take an Event object in its constructor.
2861 https://bugs.webkit.org/show_bug.cgi?id=109898
2863 Reviewed by Dimitri Glazkov.
2865 That makes EventDispatcher more RAII-like so that we can calculate
2866 an EventPath in its constructor. I'll remove
2867 EventDispatcher::ensureEventPath() in a following patch.
2869 No tests. No change in behavior.
2871 * dom/EventDispatchMediator.cpp:
2872 (WebCore::EventDispatchMediator::dispatchEvent):
2873 * dom/EventDispatcher.cpp:
2874 (WebCore::EventDispatcher::dispatchEvent):
2875 (WebCore::EventDispatcher::EventDispatcher):
2876 (WebCore::EventDispatcher::ensureEventPath):
2877 (WebCore::EventDispatcher::dispatchSimulatedClick):
2878 (WebCore::EventDispatcher::dispatch):
2879 (WebCore::EventDispatcher::dispatchEventPreProcess):
2880 (WebCore::EventDispatcher::dispatchEventAtCapturing):
2881 (WebCore::EventDispatcher::dispatchEventAtTarget):
2882 (WebCore::EventDispatcher::dispatchEventAtBubbling):
2883 (WebCore::EventDispatcher::dispatchEventPostProcess):
2884 * dom/EventDispatcher.h:
2886 (WebCore::EventDispatcher::node):
2887 (WebCore::EventDispatcher::event):
2888 * dom/FocusEvent.cpp:
2889 (WebCore::FocusEventDispatchMediator::dispatchEvent):
2890 (WebCore::BlurEventDispatchMediator::dispatchEvent):
2891 (WebCore::FocusInEventDispatchMediator::dispatchEvent):
2892 (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
2893 * dom/GestureEvent.cpp:
2894 (WebCore::GestureEventDispatchMediator::dispatchEvent):
2895 * dom/MouseEvent.cpp:
2896 (WebCore::MouseEventDispatchMediator::dispatchEvent):
2898 2013-02-17 Philip Rogers <pdr@google.com>
2900 Fix non-root SVG viewport under zoom
2901 https://bugs.webkit.org/show_bug.cgi?id=99453
2903 Reviewed by Dirk Schulze.
2905 The root SVG element handles zoom differently than other SVG nodes because it needs
2906 to translate between CSS (where zoom is applied to all units) and SVG (where zoom is only
2907 applied at the top level). A good description of this difference can be found here:
2908 http://trac.webkit.org/browser/trunk/Source/WebCore/css/StyleResolver.cpp?rev=142855#L2598
2910 SVG elements can appear as children in the SVG tree as well, and in this mode
2911 SVGSVGElement should not consider the current zoom level. This patch fixes a bug
2912 where non-root viewport calculations were removing zoom.
2914 Test: svg/custom/symbol-zoom.html
2916 * svg/SVGSVGElement.cpp:
2917 (WebCore::SVGSVGElement::currentViewportSize):
2918 This change removes the unnecessary zoom calculation for non-root nodes. This is similar
2919 to how zoom is handled elsewhere, e.g., SVGSVGElement::localCoordinateSpaceTransform.
2921 2013-02-17 Chris Fleizach <cfleizach@apple.com>
2923 AX: Upstream iOS Accessibility files
2924 https://bugs.webkit.org/show_bug.cgi?id=110071
2926 Reviewed by David Kilzer.
2928 Upstream the iOS Accessibility files for WebCore.
2930 * WebCore.xcodeproj/project.pbxproj:
2931 * accessibility/ios: Added.
2932 * accessibility/ios/AXObjectCacheIOS.mm: Added.
2934 (WebCore::AXObjectCache::detachWrapper):
2935 (WebCore::AXObjectCache::attachWrapper):
2936 (WebCore::AXObjectCache::postPlatformNotification):
2937 (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
2938 (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
2939 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2940 (WebCore::AXObjectCache::handleScrolledToAnchor):
2941 * accessibility/ios/AccessibilityObjectIOS.mm: Added.
2942 (-[WAKView accessibilityIsIgnored]):
2944 (WebCore::AccessibilityObject::detachFromParent):
2945 (WebCore::AccessibilityObject::overrideAttachmentParent):
2946 (WebCore::AccessibilityObject::accessibilityPasswordFieldLength):
2947 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2948 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2949 * accessibility/ios/AccessibilityObjectWrapperIOS.h: Added.
2951 * accessibility/ios/AccessibilityObjectWrapperIOS.mm: Added.
2952 (AccessibilityUnignoredAncestor):
2953 (-[WebAccessibilityTextMarker initWithTextMarker:cache:]):
2954 (-[WebAccessibilityTextMarker initWithData:cache:]):
2955 (-[WebAccessibilityTextMarker initWithData:accessibilityObject:]):
2956 (+[WebAccessibilityTextMarker textMarkerWithVisiblePosition:cache:]):
2957 (-[WebAccessibilityTextMarker dataRepresentation]):
2958 (-[WebAccessibilityTextMarker visiblePosition]):
2959 (-[WebAccessibilityTextMarker description]):
2960 (-[WebAccessibilityObjectWrapper initWithAccessibilityObject:]):
2961 (-[WebAccessibilityObjectWrapper detach]):
2962 (-[WebAccessibilityObjectWrapper dealloc]):
2963 (-[WebAccessibilityObjectWrapper _prepareAccessibilityCall]):
2964 (-[WebAccessibilityObjectWrapper accessibilityObject]):
2965 (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
2966 (-[WebAccessibilityObjectWrapper accessibilityPostProcessHitTest:]):
2967 (-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
2968 (-[WebAccessibilityObjectWrapper accessibilityElementCount]):
2969 (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
2970 (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
2971 (-[WebAccessibilityObjectWrapper accessibilityLanguage]):
2972 (-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):
2973 (-[WebAccessibilityObjectWrapper _accessibilityListAncestor]):
2974 (-[WebAccessibilityObjectWrapper _accessibilityLandmarkAncestor]):
2975 (-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
2976 (-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):
2977 (-[WebAccessibilityObjectWrapper accessibilityTraits]):
2978 (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
2979 (-[WebAccessibilityObjectWrapper isAccessibilityElement]):
2980 (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
2981 (-[WebAccessibilityObjectWrapper accessibilityLabel]):
2982 (-[WebAccessibilityObjectWrapper tableCellParent]):
2983 (-[WebAccessibilityObjectWrapper tableParent]):
2984 (-[WebAccessibilityObjectWrapper accessibilityTitleElement]):
2985 (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
2986 (-[WebAccessibilityObjectWrapper accessibilityElementForRow:andColumn:]):
2987 (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
2988 (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
2989 (-[WebAccessibilityObjectWrapper accessibilityPlaceholderValue]):
2990 (-[WebAccessibilityObjectWrapper accessibilityValue]):
2991 (-[WebAccessibilityObjectWrapper accessibilityIsComboBox]):
2992 (-[WebAccessibilityObjectWrapper accessibilityHint]):
2993 (-[WebAccessibilityObjectWrapper accessibilityURL]):
2994 (-[WebAccessibilityObjectWrapper _convertIntRectToScreenCoordinates:]):
2995 (-[WebAccessibilityObjectWrapper accessibilityElementRect]):
2996 (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
2997 (-[WebAccessibilityObjectWrapper accessibilityFrame]):
2998 (-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]):
2999 (-[WebAccessibilityObjectWrapper accessibilityContainer]):
3000 (-[WebAccessibilityObjectWrapper accessibilityFocusedUIElement]):
3001 (-[WebAccessibilityObjectWrapper _accessibilityWebDocumentView]):
3002 (-[WebAccessibilityObjectWrapper _accessibilityNextElementsWithCount:]):
3003 (-[WebAccessibilityObjectWrapper _accessibilityPreviousElementsWithCount:]):
3004 (-[WebAccessibilityObjectWrapper accessibilityRequired]):
3005 (-[WebAccessibilityObjectWrapper accessibilityFlowToElements]):
3006 (-[WebAccessibilityObjectWrapper accessibilityLinkedElement]):
3007 (-[WebAccessibilityObjectWrapper isAttachment]):
3008 (-[WebAccessibilityObjectWrapper _accessibilityActivate]):
3009 (-[WebAccessibilityObjectWrapper attachmentView]):
3011 (-[WebAccessibilityObjectWrapper _accessibilityParentForSubview:]):
3012 (-[WebAccessibilityObjectWrapper postFocusChangeNotification]):
3013 (-[WebAccessibilityObjectWrapper postSelectedTextChangeNotification]):
3014 (-[WebAccessibilityObjectWrapper postLayoutChangeNotification]):
3015 (-[WebAccessibilityObjectWrapper postLiveRegionChangeNotification]):
3016 (-[WebAccessibilityObjectWrapper postLoadCompleteNotification]):
3017 (-[WebAccessibilityObjectWrapper postChildrenChangedNotification]):
3018 (-[WebAccessibilityObjectWrapper postInvalidStatusChangedNotification]):
3019 (-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
3020 (-[WebAccessibilityObjectWrapper accessibilityModifySelection:increase:]):
3021 (-[WebAccessibilityObjectWrapper accessibilityIncreaseSelection:]):
3022 (-[WebAccessibilityObjectWrapper accessibilityDecreaseSelection:]):
3023 (-[WebAccessibilityObjectWrapper accessibilityMoveSelectionToMarker:]):
3024 (-[WebAccessibilityObjectWrapper accessibilityIncrement]):
3025 (-[WebAccessibilityObjectWrapper accessibilityDecrement]):
3026 (-[WebAccessibilityObjectWrapper _addAccessibilityObject:toTextMarkerArray:]):
3027 (-[WebAccessibilityObjectWrapper stringForTextMarkers:]):
3029 (AXAttributeStringSetBlockquoteLevel):
3030 (AXAttributeStringSetHeadingLevel):
3031 (AXAttributeStringSetFont):
3032 (AXAttributeStringSetNumber):
3033 (AXAttributeStringSetStyle):
3034 (AXAttributedStringAppendText):
3035 (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
3036 (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
3037 (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
3038 (-[WebAccessibilityObjectWrapper positionForTextMarker:]):
3039 (-[WebAccessibilityObjectWrapper textMarkerRange]):
3040 (-[WebAccessibilityObjectWrapper elementTextRange]):
3041 (-[WebAccessibilityObjectWrapper accessibilityObjectForTextMarker:]):
3042 (-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
3043 (-[WebAccessibilityObjectWrapper textMarkerForPosition:]):
3044 (-[WebAccessibilityObjectWrapper _stringForRange:attributed:]):
3045 (-[WebAccessibilityObjectWrapper stringForRange:]):
3046 (-[WebAccessibilityObjectWrapper attributedStringForRange:]):
3047 (-[WebAccessibilityObjectWrapper elementsForRange:]):
3048 (-[WebAccessibilityObjectWrapper selectionRangeString]):
3049 (-[WebAccessibilityObjectWrapper selectedTextMarker]):
3050 (-[WebAccessibilityObjectWrapper lineEndMarkerForMarker:]):
3051 (-[WebAccessibilityObjectWrapper lineStartMarkerForMarker:]):
3052 (-[WebAccessibilityObjectWrapper nextMarkerForMarker:]):
3053 (-[WebAccessibilityObjectWrapper previousMarkerForMarker:]):
3054 (-[WebAccessibilityObjectWrapper frameForTextMarkers:]):
3055 (-[WebAccessibilityObjectWrapper textMarkerForPoint:]):
3056 (-[WebAccessibilityObjectWrapper accessibilityIdentifier]):
3057 (-[WebAccessibilityObjectWrapper accessibilitySpeechHint]):
3058 (-[WebAccessibilityObjectWrapper accessibilityARIAIsBusy]):
3059 (-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionStatus]):
3060 (-[WebAccessibilityObjectWrapper accessibilityARIARelevantStatus]):
3061 (-[WebAccessibilityObjectWrapper accessibilityARIALiveRegionIsAtomic]):
3062 (-[WebAccessibilityObjectWrapper accessibilityInvalidStatus]):
3063 (-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
3064 (-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
3065 (-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
3066 (-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
3067 (-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
3068 (-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
3069 (-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
3070 (-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
3071 (-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
3072 (-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
3073 (-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
3074 (-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
3075 (-[WebAccessibilityObjectWrapper accessibilityMathType]):
3076 (-[WebAccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
3077 (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:WebCore::AXObjectCache::]):
3078 (-[WebAccessibilityObjectWrapper description]):
3080 2013-02-17 Chris Fleizach <cfleizach@apple.com>
3082 AX: rename WebAccessibilityObjectWrapper to WebAccessibilityObjectWrapperBase
3083 https://bugs.webkit.org/show_bug.cgi?id=110061
3085 Reviewed by David Kilzer.
3087 Rename the base accessibility wrapper class so that the iOS class can share the same name.
3089 * WebCore.xcodeproj/project.pbxproj:
3090 * accessibility/mac/AXObjectCacheMac.mm:
3091 (WebCore::AXObjectCache::attachWrapper):
3092 * accessibility/mac/WebAccessibilityObjectWrapper.h: Replaced with Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.h.
3093 * accessibility/mac/WebAccessibilityObjectWrapper.mm: Replaced with Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm.
3094 * accessibility/mac/WebAccessibilityObjectWrapperBase.h: Copied from Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.h.
3095 * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: Copied from Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm.
3096 * accessibility/mac/WebAccessibilityObjectWrapperMac.h: Removed.
3097 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Removed.
3099 2013-02-17 Andreas Kling <akling@apple.com>
3101 REGRESSION(r143125): ~5% performance hit on Chromium's intl2 page cycler.
3102 <http://webkit.org/b/108835>
3104 Reviewed by Ojan Vafai.
3106 Streamline the case where GlyphPage has a per-glyph SimpleFontData* lookup table to allow
3107 taking earlier branches on pages with lots of mixed-font text.
3108 We accomplish this by explicitly storing a null SimpleFontData* for glyph #0 in the per-glyph
3109 lookup table instead of relying on "if (!glyph)" checks in getters.
3111 This is a speculative optimization, I can't get stable enough numbers locally to tell if this
3112 will resolve the issue on the bots.
3114 * platform/graphics/GlyphPage.h:
3115 (WebCore::GlyphPage::glyphDataForIndex):
3116 (WebCore::GlyphPage::fontDataForCharacter):
3117 (WebCore::GlyphPage::setGlyphDataForIndex):
3119 2013-02-17 Chris Fleizach <cfleizach@apple.com>
3121 WebSpeech: plumb through a method to generate fake speech jobs for testing
3122 https://bugs.webkit.org/show_bug.cgi?id=107351
3124 Reviewed by Adam Barth.
3126 We can't reliably use the platforms synthesizer to test speech synthesis internals.
3127 This patch adds an Internals method to enable a mock synthesizer, which is inherits
3128 from the PlatformSpeechSythesizer.
3130 The fake synthesizer goes through all the motions of a real synthesizer but doesn't do anything.
3131 A bunch of changes were needed here to make PlatformSpeechSynthesizer subclassable so that the
3132 right virtual are used.
3134 The Mock synthesizer only lives in WebCoreTestSupport. Because PlatformSpeechSynthesizer uses
3135 a RetainPtr, I needed to make WebCoreTestSupport link CoreFoundation
3137 2013-02-17 Csaba Osztrogonác <ossy@webkit.org>
3139 [Qt] Unreviewed buildfix for !USE(LIBXML) builds after r143112.
3141 * xml/parser/XMLDocumentParserQt.cpp:
3142 (WebCore::XMLDocumentParser::XMLDocumentParser):
3144 2013-02-17 Andreas Kling <akling@apple.com>
3146 Optimize GlyphPage for case where all glyphs are available in the same font.
3147 <http://webkit.org/b/108835>
3148 <rdar://problem/13157042>
3150 Reviewed by Antti Koivisto.
3152 Let GlyphPage begin optimistically assuming that all its glyphs will be represented in
3153 the same SimpleFontData*. In this (very common) case, only keep a single SimpleFontData*.
3155 If glyphs from multiple fonts are mixed in one page, an array of per-glyph SimpleFontData*
3156 is allocated transparently.
3158 This was landed before with some bogus branch prediction hints and didn't fare well on
3159 page cyclers (intl2 specifically.) These have been removed this time around, and will
3160 hopefully be regression-free.
3162 4.98 MB progression on Membuster3.
3164 * platform/graphics/GlyphPageTreeNode.cpp:
3165 (WebCore::GlyphPageTreeNode::initializePage):
3166 * platform/graphics/GlyphPage.h:
3167 (WebCore::GlyphPage::createUninitialized):
3168 (WebCore::GlyphPage::createZeroedSystemFallbackPage):
3169 (WebCore::GlyphPage::createCopiedSystemFallbackPage):
3171 There are now three ways of constructing a GlyphPage, two of them are only used for
3172 creating system fallback pages.
3174 (WebCore::GlyphPage::setGlyphDataForIndex):
3176 Hold off creating a SimpleFontData* array until we're sure there are two different
3177 SimpleFontData* backing the glyphs in this page.
3178 We don't store font data for glyph #0, instead we let the getters always return null for it.
3180 (WebCore::GlyphPage::~GlyphPage):
3182 Free the SimpleFontData* array if needed.
3184 (WebCore::GlyphPage::glyphDataForCharacter):
3185 (WebCore::GlyphPage::glyphDataForIndex):
3186 (WebCore::GlyphPage::fontDataForCharacter):
3188 The font data for glyph #0 is always a null pointer now.
3190 (WebCore::GlyphPage::clearForFontData):
3192 Updated for new storage format.
3194 * rendering/svg/SVGTextRunRenderingContext.cpp:
3195 (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
3197 Fix bug where non-zero glyph was temporarily associated with null font data,
3198 which triggered the new assertion in setGlyphDataForIndex().
3200 2013-02-16 Andreas Kling <akling@apple.com>
3202 Remove multi-threading gunk from WebKit2's PluginInfoStore.
3203 <http://webkit.org/b/110046>
3205 Reviewed by Alexey Proskuryakov.
3207 Remove now-unused code for making deep (isolated) copies of WebCore plugin structures.
3209 * plugins/PluginData.h:
3213 2013-02-16 Alexey Proskuryakov <ap@apple.com>
3215 Identifier generated twice in FrameLoader::loadResourceSynchronously()
3216 https://bugs.webkit.org/show_bug.cgi?id=110022
3218 Reviewed by Darin Adler.
3220 * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously):
3221 Fix an apparent refactoring mistake.
3223 2013-02-16 Andreas Kling <akling@apple.com>
3225 [JSC] Remove custom mark function for NamedNodeMap.
3226 <http://webkit.org/b/110029>
3228 Reviewed by Darin Adler.
3230 NamedNodeMap refs and unrefs its Element owner, so there's no need for the wrapper to keep the Element alive.
3232 Covered by fast/dom/Attr/access-after-element-destruction.html
3234 * bindings/js/JSNamedNodeMapCustom.cpp:
3235 * dom/NamedNodeMap.idl:
3237 2013-02-16 Peter Nelson <peter@peterdn.com>
3239 REGRESSION(r143076): Crash when calling removeNamedItem or removeNamedItemNS with a non-existent attribute of newly created element.
3240 <http://webkit.org/b/110019>
3242 Reviewed by Andreas Kling.
3244 Now checks Element::hasAttributes() before calling Element::getAttributeItemIndex().
3246 Test: http/tests/misc/acid3.html
3248 * dom/NamedNodeMap.cpp:
3249 (WebCore::NamedNodeMap::removeNamedItem):
3250 (WebCore::NamedNodeMap::removeNamedItemNS):
3252 2013-02-16 Andreas Kling <akling@apple.com>
3254 Element: Devirtualize attribute synchronization functions.
3255 <http://webkit.org/b/110033>
3257 Reviewed by Darin Adler.
3259 Devirtualize the functions that perform re-serialization of lazy attributes and give
3260 them "synchronize"-style names:
3262 - SVGElement::synchronizeAnimatedSVGAttribute()
3263 - StyledElement::synchronizeStyleAttributeInternal()
3266 (WebCore::Element::synchronizeAllAttributes):
3267 (WebCore::Element::synchronizeAttribute):
3269 * dom/StyledElement.cpp:
3270 (WebCore::StyledElement::synchronizeStyleAttribute):
3271 * dom/StyledElement.h:
3273 * rendering/svg/RenderSVGResourceGradient.cpp:
3274 (WebCore::RenderSVGResourceGradient::applyResource):
3275 * rendering/svg/RenderSVGResourcePattern.cpp:
3276 (WebCore::RenderSVGResourcePattern::buildPattern):
3277 * svg/SVGElement.cpp:
3278 (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
3282 2013-02-16 Andreas Kling <akling@apple.com>
3284 Element: Avoid unrelated attribute synchronization on other attribute access.
3285 <http://webkit.org/b/110025>
3287 Reviewed by Darin Adler.
3289 We've been extremely trigger happy with re-serializing the style attribute (and SVG animatables)
3290 whenever any Element attribute API was used. This patch narrows this down to (almost always)
3291 only synchronizing an attribute when someone specifically wants to read/update it.
3293 Also removed two more confusing ElementData accessors:
3295 - Element::elementDataWithSynchronizedAttributes()
3296 - Element::ensureElementDataWithSynchronizedAttributes()
3300 (WebCore::Element::hasAttributes):
3301 (WebCore::Element::hasEquivalentAttributes):
3302 (WebCore::Element::cloneAttributesFromElement):
3303 (WebCore::Element::synchronizeAllAttributes):
3305 Renamed updateInvalidAttributes() to synchronizeAllAttributes().
3306 This function should only be used when we need every single attribute to be up-to-date.
3308 (WebCore::Element::synchronizeAttribute):
3310 Broke out logic for synchronizing a specific attribute, given either a full QualifiedName
3313 (WebCore::Element::setSynchronizedLazyAttribute):
3315 Don't call ensureUniqueElementData() indisciminately here. This avoids converting the attribute
3316 storage when re-serializing the inline style yields the same CSS text that was already in the
3319 (WebCore::Element::hasAttribute):
3320 (WebCore::Element::hasAttributeNS):
3321 (WebCore::Element::getAttribute):
3322 (WebCore::Element::getAttributeNode):
3323 (WebCore::Element::getAttributeNodeNS):
3324 (WebCore::Element::setAttribute):
3325 (WebCore::Element::setAttributeNode):
3326 (WebCore::Element::removeAttributeNode):
3328 Only synchronize the attribute in question.
3331 (WebCore::Node::compareDocumentPosition):
3333 Call synchronizeAllAttributes() when comparing two Attr nodes on the same Element instead
3334 of relying on the side-effects of another function doing this.
3336 2013-02-16 Seokju Kwon <seokju.kwon@gmail.com>
3338 Fix build warnings after r139853
3339 https://bugs.webkit.org/show_bug.cgi?id=109929
3341 Reviewed by Alexey Proskuryakov.
3343 Use UNUSED_PARAM macro to fix build warning -Wunused-parameter
3344 when INSPECTOR is disabled.
3346 No new tests, no behavior change.
3348 * inspector/InspectorInstrumentation.h:
3349 (WebCore::InspectorInstrumentation::frameStartedLoading):
3350 (WebCore::InspectorInstrumentation::frameStoppedLoading):
3351 (WebCore::InspectorInstrumentation::frameScheduledNavigation):
3352 (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
3354 2013-02-16 Sheriff Bot <webkit.review.bot@gmail.com>
3356 Unreviewed, rolling out r142734.
3357 http://trac.webkit.org/changeset/142734
3358 https://bugs.webkit.org/show_bug.cgi?id=110018
3360 "Triggered crashes on lots of websites" (Requested by ggaren
3363 * bindings/js/JSLocationCustom.cpp:
3364 (WebCore::JSLocation::getOwnPropertySlotDelegate):
3366 2013-02-16 Robert Hogan <robert@webkit.org>
3368 percentage top value of position:relative element not calculated using parent's min-height unless height set
3369 https://bugs.webkit.org/show_bug.cgi?id=14762
3371 Reviewed by Julien Chaffraix.
3373 Percentage height "is calculated with respect to the height of the generated box's containing block" says
3374 http://www.w3.org/TR/CSS21/visudet.html#the-height-property and "If the height of the containing block is not
3375 specified explicitly (i.e., it depends on content height), and this element is not absolutely positioned, the
3376 value computes to 'auto'." So when calculating the used height of a replaced element do not crawl through ancestor
3377 blocks except when traversing anonymous blocks. Ensure that anonymous table cells are not skipped through though.
3379 http://www.w3.org/TR/CSS21/tables.html#height-layout adds "In CSS 2.1, the height of a cell box is the minimum
3380 height required by the content." This height is decided by allowing table cells to report their height as auto.
3381 It's not clear why http://trac.webkit.org/changeset/91242 decided it should no longer do this - doing so caused
3382 us to regress in our rendering of computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor.html.
3384 Tests: fast/block/percent-top-parent-respects-min-height.html
3385 fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor-vertical-lr.html
3386 fast/replaced/computed-image-width-with-percent-height-and-fixed-ancestor.html
3387 fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor-vertical-lr.html
3388 fast/replaced/computed-image-width-with-percent-height-inside-table-cell-and-fixed-ancestor.html
3390 * rendering/RenderBoxModelObject.cpp:
3391 (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
3393 (WebCore::RenderBoxModelObject::relativePositionOffset):
3394 * rendering/RenderBoxModelObject.h:
3395 (RenderBoxModelObject):
3396 * rendering/RenderReplaced.cpp:
3397 (WebCore::RenderReplaced::hasReplacedLogicalHeight):
3399 2013-02-16 Stephen White <senorblanco@chromium.org>
3401 [skia] FEOffset should have a Skia implementation.
3402 https://bugs.webkit.org/show_bug.cgi?id=109831
3404 Reviewed by James Robinson.
3406 Covered by css3/filters/effect-reference.html and -hw.html.
3409 * platform/graphics/filters/FEOffset.h: Implement createImageFilter()
3411 * platform/graphics/filters/skia/FEOffsetSkia.cpp: Added.
3412 (WebCore::FEOffset::createImageFilter):
3413 Instantiate an SkOffsetImageFilter when building the Skia DAG.
3415 2013-02-16 Vsevolod Vlasov <vsevik@chromium.org>
3417 Web Inspector: Create separate project for each domain for UISourceCode based on browser resources.
3418 https://bugs.webkit.org/show_bug.cgi?id=109691
3420 Reviewed by Pavel Feldman.
3422 Separate project of certain type is now created for each domain.
3423 UISourceCode path represents a path in the project now.
3424 UISourceCode uri is now calculated based on project id and path.
3425 It is also possible to calculate path based on projectId and URI, which is used for uiSourceCodeForURI() methods.
3427 * inspector/front-end/ScriptSnippetModel.js:
3428 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
3429 * inspector/front-end/SimpleWorkspaceProvider.js:
3430 (WebInspector.SimpleProjectDelegate):
3431 (WebInspector.SimpleProjectDelegate.projectId):
3432 (WebInspector.SimpleProjectDelegate.prototype.id):
3433 (WebInspector.SimpleProjectDelegate.prototype.displayName):
3434 (WebInspector.SimpleProjectDelegate.prototype.addFile):
3435 (WebInspector.SimpleWorkspaceProvider):
3436 (WebInspector.SimpleWorkspaceProvider.splitURL):
3437 (WebInspector.SimpleWorkspaceProvider._pathForSplittedURL):
3438 (WebInspector.SimpleWorkspaceProvider.uriForURL):
3439 (WebInspector.SimpleWorkspaceProvider.prototype._projectDelegate):
3440 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
3441 (WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
3442 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFile):
3443 (WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
3444 (WebInspector.SimpleWorkspaceProvider.prototype.reset):
3445 * inspector/front-end/UISourceCode.js:
3446 (WebInspector.UISourceCode.uri):
3447 (WebInspector.UISourceCode.path):
3448 (WebInspector.UISourceCode.prototype.uri):
3449 * inspector/front-end/Workspace.js:
3450 (WebInspector.Project.prototype._fileAdded):
3451 (WebInspector.Project.prototype._fileRemoved):
3452 (WebInspector.Project.prototype.uiSourceCodeForURI):
3454 2013-02-15 Chris Fleizach <cfleizach@apple.com>
3456 AX: Split WebAccessibilityObjectWrapper so code can be shared with iOS
3457 https://bugs.webkit.org/show_bug.cgi?id=109849
3459 Reviewed by David Kilzer.
3461 Split up the WebAccessibilityObjectWrapper so that iOS can share more
3462 code with MacOS. I imagine over time, more code will move into this base class,
3463 but for now this will be a good start.
3465 A base class called WebAccessibilityObjectWrapper now exists, and Mac has a subclass
3466 of that. iOS will be able to do the same.
3468 * WebCore.xcodeproj/project.pbxproj:
3469 * accessibility/mac/AXObjectCacheMac.mm:
3470 (WebCore::AXObjectCache::attachWrapper):
3471 * accessibility/mac/WebAccessibilityObjectWrapper.h:
3472 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3473 (-[WebAccessibilityObjectWrapper detach]):
3474 (-[WebAccessibilityObjectWrapper attachmentView]):
3475 (-[WebAccessibilityObjectWrapper accessibilityObject]):
3476 (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
3477 (-[WebAccessibilityObjectWrapper titleTagShouldBeUsedInDescriptionField]):
3478 (-[WebAccessibilityObjectWrapper accessibilityTitle]):
3479 (-[WebAccessibilityObjectWrapper accessibilityDescription]):
3480 (-[WebAccessibilityObjectWrapper accessibilityHelpText]):
3481 * accessibility/mac/WebAccessibilityObjectWrapperMac.h: Added.
3482 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Added.
3484 (-[WebAccessibilityObjectWrapperMac detach]):
3485 (-[WebAccessibilityObjectWrapperMac attachmentView]):
3486 (CFAutoreleaseHelper):
3487 (AXObjectIsTextMarker):
3488 (AXObjectIsTextMarkerRange):
3489 (AXTextMarkerRange):
3490 (AXTextMarkerRangeStart):
3491 (AXTextMarkerRangeEnd):
3493 (createAccessibilitySearchKeyMap):
3494 (accessibilitySearchKeyForString):
3495 (textMarkerForVisiblePosition):
3496 (-[WebAccessibilityObjectWrapperMac textMarkerForVisiblePosition:]):
3497 (visiblePositionForTextMarker):
3498 (-[WebAccessibilityObjectWrapperMac visiblePositionForTextMarker:]):
3499 (visiblePositionForStartOfTextMarkerRange):
3500 (visiblePositionForEndOfTextMarkerRange):
3501 (textMarkerRangeFromMarkers):
3502 (AXAttributedStringRangeIsValid):
3503 (AXAttributeStringSetFont):
3504 (CreateCGColorIfDifferent):
3505 (AXAttributeStringSetColor):
3506 (AXAttributeStringSetNumber):
3507 (AXAttributeStringSetStyle):
3508 (AXAttributeStringSetBlockquoteLevel):
3509 (AXAttributeStringSetSpelling):
3510 (AXAttributeStringSetHeadingLevel):
3511 (AXAttributeStringSetElement):
3512 (AXAttributedStringAppendText):
3513 (nsStringForReplacedNode):
3514 (-[WebAccessibilityObjectWrapperMac doAXAttributedStringForTextMarkerRange:]):
3515 (textMarkerRangeFromVisiblePositions):
3516 (-[WebAccessibilityObjectWrapperMac textMarkerRangeFromVisiblePositions:endPosition:]):
3517 (-[WebAccessibilityObjectWrapperMac accessibilityActionNames]):
3518 (-[WebAccessibilityObjectWrapperMac additionalAccessibilityAttributeNames]):
3519 (-[WebAccessibilityObjectWrapperMac accessibilityAttributeNames]):
3520 (-[WebAccessibilityObjectWrapperMac visiblePositionRangeForTextMarkerRange:]):
3521 (-[WebAccessibilityObjectWrapperMac renderWidgetChildren]):
3522 (-[WebAccessibilityObjectWrapperMac remoteAccessibilityParentObject]):
3525 (-[WebAccessibilityObjectWrapperMac textMarkerRangeForSelection]):
3526 (-[WebAccessibilityObjectWrapperMac position]):
3527 (createAccessibilityRoleMap):
3528 (roleValueToNSString):
3529 (-[WebAccessibilityObjectWrapperMac role]):
3530 (-[WebAccessibilityObjectWrapperMac subrole]):
3531 (-[WebAccessibilityObjectWrapperMac roleDescription]):
3532 (-[WebAccessibilityObjectWrapperMac scrollViewParent]):
3533 (-[WebAccessibilityObjectWrapperMac titleTagShouldBeUsedInDescriptionField]):
3534 (-[WebAccessibilityObjectWrapperMac accessibilityTitle]):
3535 (-[WebAccessibilityObjectWrapperMac accessibilityDescription]):
3536 (-[WebAccessibilityObjectWrapperMac accessibilityHelpText]):
3537 (-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:]):
3538 (-[WebAccessibilityObjectWrapperMac accessibilityFocusedUIElement]):
3539 (-[WebAccessibilityObjectWrapperMac accessibilityHitTest:]):
3540 (-[WebAccessibilityObjectWrapperMac accessibilityIsAttributeSettable:]):
3541 (-[WebAccessibilityObjectWrapperMac accessibilityIsIgnored]):
3542 (-[WebAccessibilityObjectWrapperMac accessibilityParameterizedAttributeNames]):
3543 (-[WebAccessibilityObjectWrapperMac accessibilityPerformPressAction]):
3544 (-[WebAccessibilityObjectWrapperMac accessibilityPerformIncrementAction]):
3545 (-[WebAccessibilityObjectWrapperMac accessibilityPerformDecrementAction]):
3546 (-[WebAccessibilityObjectWrapperMac accessibilityPerformShowMenuAction]):
3547 (-[WebAccessibilityObjectWrapperMac accessibilityShowContextMenu]):
3548 (-[WebAccessibilityObjectWrapperMac accessibilityPerformAction:]):
3549 (-[WebAccessibilityObjectWrapperMac accessibilitySetValue:forAttribute:]):
3551 (-[WebAccessibilityObjectWrapperMac _accessibilityParentForSubview:]):
3552 (-[WebAccessibilityObjectWrapperMac accessibilityActionDescription:]):
3553 (-[WebAccessibilityObjectWrapperMac doAXAttributedStringForRange:]):
3554 (-[WebAccessibilityObjectWrapperMac _convertToNSRange:]):
3555 (-[WebAccessibilityObjectWrapperMac _indexForTextMarker:]):
3556 (-[WebAccessibilityObjectWrapperMac _textMarkerForIndex:]):
3557 (-[WebAccessibilityObjectWrapperMac doAXRTFForRange:]):
3558 (-[WebAccessibilityObjectWrapperMac accessibilityAttributeValue:forParameter:]):
3559 (-[WebAccessibilityObjectWrapperMac accessibilitySupportsOverriddenAttributes]):
3560 (-[WebAccessibilityObjectWrapperMac accessibilityShouldUseUniqueId]):
3561 (-[WebAccessibilityObjectWrapperMac accessibilityIndexOfChild:]):
3562 (-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeCount:]):
3563 (-[WebAccessibilityObjectWrapperMac accessibilityArrayAttributeValues:index:maxCount:]):
3564 ([WebAccessibilityObjectWrapperMac accessibilitySetShouldRepostNotifications:]):
3565 (-[WebAccessibilityObjectWrapperMac accessibilityPostedNotification:]):
3567 2013-02-15 Eric Carlson <eric.carlson@apple.com>
3569 [Mac] remove wkCaptionAppearance from WebKitSystemInterface
3570 https://bugs.webkit.org/show_bug.cgi?id=109996
3572 Reviewed by Simon Fraser.
3574 * platform/mac/WebCoreSystemInterface.h:
3575 * platform/mac/WebCoreSystemInterface.mm:
3577 2013-02-15 Sheriff Bot <webkit.review.bot@gmail.com>
3579 Unreviewed, rolling out r143088.
3580 http://trac.webkit.org/changeset/143088
3581 https://bugs.webkit.org/show_bug.cgi?id=110000
3583 Breaks the build (Requested by dgorbik on #webkit).
3585 * platform/mac/WebCoreSystemInterface.h:
3586 * platform/mac/WebCoreSystemInterface.mm:
3588 2013-02-15 Chris Rogers <crogers@google.com>
3590 Enhance AudioBus copyFrom() and sumFrom() to be able to handle discrete and speakers up and down-mixing
3591 https://bugs.webkit.org/show_bug.cgi?id=109983
3593 Reviewed by Kenneth Russell.
3595 The Web Audio spec has a more detailed explanation for how channels are to be up and down-mixed:
3596 https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#UpMix
3598 This patch adds the initial support for handling ChannelInterpretation, although no
3599 new JS API is yet implemented.
3601 No new tests since no new APIs have yet been exposed.
3603 * platform/audio/AudioBus.cpp:
3604 (WebCore::AudioBus::copyFrom):
3606 (WebCore::AudioBus::sumFrom):
3607 (WebCore::AudioBus::speakersCopyFrom):
3608 (WebCore::AudioBus::speakersSumFrom):
3609 (WebCore::AudioBus::discreteCopyFrom):
3610 (WebCore::AudioBus::discreteSumFrom):
3611 * platform/audio/AudioBus.h:
3614 2013-02-15 Tony Chang <tony@chromium.org>
3616 Padding and border changes doesn't trigger relayout of children
3617 https://bugs.webkit.org/show_bug.cgi?id=109639
3619 Reviewed by Kent Tamura.
3621 In RenderBlock::layoutBlock, we only relayout our children if our logical width
3622 changes. This misses cases where our logical width doesn't change (i.e., padding
3623 or border changes), but our content width does change.
3625 Also convert the needsLayout ASSERT into the if statement. This is because
3626 RenderScrollbarPart can change border widths and not need a layout if the scrollbar
3627 doesn't have a parent. In this case, we don't need to set any children for layout.
3629 This is a more general case of bug 104997.
3631 Test: fast/block/dynamic-padding-border.html
3633 * rendering/RenderBox.cpp:
3634 (WebCore::borderOrPaddingLogicalWidthChanged): Only check if the logical width changed.
3635 (WebCore::RenderBox::styleDidChange): Drop the border-box condition since this can happen
3636 even without border-box box sizing.
3638 2013-02-15 Mark Lam <mark.lam@apple.com>
3640 Split SQLStatement work between the frontend and backend.
3641 https://bugs.webkit.org/show_bug.cgi?id=104751.
3643 Reviewed by Geoffrey Garen.
3645 This is part of the webdatabase refactoring for webkit2.
3647 1. Copied SQLTransaction to SQLTransactionBackend, and then reduce the
3648 2 to only handle frontend and backend work respectively.
3650 2. Changed how statements are created.
3652 - SQLTransaction::executeSQL() first creates a SQLStatement frontend
3653 which encapsulates the 2 script callbacks. It then passes the
3654 SQLStatement to the backend database to create the
3655 SQLStatementBackend.
3656 - The SQLStatementBackend manages all sqlite work.
3658 3. Remove the Database::reportExecuteStatementResult() wrapper because
3659 it is only needed in the backend now.
3661 4. Added new files to the build / project files.
3663 5. Updated / added comments about how the SQLStatement life-cycle works.
3668 * GNUmakefile.list.am:
3669 * Modules/webdatabase/Database.cpp:
3670 * Modules/webdatabase/Database.h:
3672 (WebCore::Database::reportCommitTransactionResult):
3673 * Modules/webdatabase/DatabaseBackend.h:
3675 * Modules/webdatabase/SQLStatement.cpp:
3676 (WebCore::SQLStatement::create):
3677 (WebCore::SQLStatement::SQLStatement):
3678 (WebCore::SQLStatement::setBackend):
3679 (WebCore::SQLStatement::hasCallback):
3680 (WebCore::SQLStatement::hasErrorCallback):
3681 (WebCore::SQLStatement::performCallback):
3682 * Modules/webdatabase/SQLStatement.h:
3684 * Modules/webdatabase/SQLStatementBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/SQLStatement.cpp.
3685 (WebCore::SQLStatementBackend::create):
3686 (WebCore::SQLStatementBackend::SQLStatementBackend):
3687 (WebCore::SQLStatementBackend::frontend):
3688 (WebCore::SQLStatementBackend::sqlError):
3689 (WebCore::SQLStatementBackend::sqlResultSet):
3690 (WebCore::SQLStatementBackend::execute):
3691 (WebCore::SQLStatementBackend::setDatabaseDeletedError):
3692 (WebCore::SQLStatementBackend::setVersionMismatchedError):
3693 (WebCore::SQLStatementBackend::setFailureDueToQuota):
3694 (WebCore::SQLStatementBackend::clearFailureDueToQuota):
3695 (WebCore::SQLStatementBackend::lastExecutionFailedDueToQuota):
3696 * Modules/webdatabase/SQLStatementBackend.h: Copied from Source/WebCore/Modules/webdatabase/SQLStatement.h.
3697 (SQLStatementBackend):
3698 (WebCore::SQLStatementBackend::hasStatementCallback):
3699 (WebCore::SQLStatementBackend::hasStatementErrorCallback):
3700 * Modules/webdatabase/SQLTransaction.cpp:
3701 (WebCore::SQLTransaction::deliverStatementCallback):
3702 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
3703 (WebCore::SQLTransaction::executeSQL):
3704 * Modules/webdatabase/SQLTransactionBackend.cpp:
3705 (WebCore::SQLTransactionBackend::doCleanup):
3706 (WebCore::SQLTransactionBackend::currentStatement):
3707 (WebCore::SQLTransactionBackend::enqueueStatementBackend):
3708 (WebCore::SQLTransactionBackend::executeSQL):
3709 (WebCore::SQLTransactionBackend::runStatements):
3710 (WebCore::SQLTransactionBackend::getNextStatement):
3711 (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
3712 (WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):
3713 * Modules/webdatabase/SQLTransactionBackend.h:
3714 (SQLTransactionBackend):
3717 * WebCore.vcproj/WebCore.vcproj:
3718 * WebCore.vcxproj/WebCore.vcxproj:
3719 * WebCore.vcxproj/WebCore.vcxproj.filters:
3720 * WebCore.xcodeproj/project.pbxproj:
3722 2013-02-15 Elliott Sprehn <esprehn@chromium.org>
3724 Rename HasCustomCallbacks to HasCustomStyleCallbacks
3725 https://bugs.webkit.org/show_bug.cgi?id=109982
3727 Reviewed by Eric Seidel.
3729 Now that inside ChildFrameDisconnector we only call isFrameOwnerElement()
3730 on elements that report having descendants (or themselves) have connected
3731 frames we don't need to be as agressive about avoiding the virtual call
3732 to isFrameOwnerElement() which lets us rename hasCustomCallbacks to
3733 hasCustomStyleCallbacks to better reflect it's purpose.
3735 * dom/ContainerNodeAlgorithms.h:
3736 (WebCore::ChildFrameDisconnector::collectFrameOwners):
3738 (WebCore::Element::styleForRenderer):
3739 (WebCore::Element::recalcStyle):
3740 (WebCore::Element::willRecalcStyle):
3741 (WebCore::Element::didRecalcStyle):
3742 (WebCore::Element::customStyleForRenderer):
3744 (WebCore::Node::pseudoId):
3745 (WebCore::Node::hasCustomStyleCallbacks):
3746 (WebCore::Node::customPseudoId):
3747 (WebCore::Node::setHasCustomStyleCallbacks):
3748 * dom/PseudoElement.cpp:
3749 (WebCore::PseudoElement::PseudoElement):
3750 * dom/ShadowRoot.cpp:
3751 (WebCore::ShadowRoot::recalcStyle):
3752 * html/HTMLFormControlElement.cpp:
3753 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
3754 * html/HTMLFrameOwnerElement.cpp:
3755 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
3756 (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
3757 * html/HTMLFrameSetElement.cpp:
3758 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3759 * html/HTMLIFrameElement.cpp:
3760 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3761 * html/HTMLInputElement.cpp:
3762 (WebCore::HTMLInputElement::HTMLInputElement):
3763 * html/HTMLMediaElement.cpp:
3764 (WebCore::HTMLMediaElement::HTMLMediaElement):
3765 * html/HTMLOptGroupElement.cpp:
3766 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
3767 * html/HTMLOptionElement.cpp:
3768 (WebCore::HTMLOptionElement::HTMLOptionElement):
3769 * html/HTMLPlugInImageElement.cpp:
3770 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
3771 * html/shadow/DateTimeEditElement.cpp:
3772 (WebCore::DateTimeEditElement::DateTimeEditElement):
3773 * html/shadow/TextControlInnerElements.cpp:
3774 (WebCore::TextControlInnerElement::TextControlInnerElement):
3775 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
3776 * html/shadow/TextFieldDecorationElement.cpp:
3777 (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
3778 * svg/SVGElement.cpp:
3779 (WebCore::SVGElement::SVGElement):
3780 * svg/SVGUseElement.cpp:
3781 (WebCore::SVGUseElement::SVGUseElement):
3783 2013-02-15 Eric Carlson <eric.carlson@apple.com>
3785 [Mac] remove wkCaptionAppearance from WebKitSystemInterface
3786 https://bugs.webkit.org/show_bug.cgi?id=109996
3788 Reviewed by Simon Fraser.
3790 * platform/mac/WebCoreSystemInterface.h:
3791 * platform/mac/WebCoreSystemInterface.mm:
3793 2013-02-15 Andreas Kling <akling@apple.com>
3795 Calling DOM Element.attributes shouldn't force creation of ElementData.
3796 <http://webkit.org/b/109976>
3798 Reviewed by Darin Adler.
3800 Don't create ElementData for an Element unnecessarily just because someone calls .attributes on it.
3801 Previously, JS like this would create empty ElementData when 'element' has no attributes:
3803 for (i = 0; i < element.attributes.length; ++i)
3804 doStuff(element.attributes[i]);
3806 Make NamedNodeMap::length() short-circuit and return 0 if !Element::hasAttributes().
3809 (WebCore::Element::attributes):
3810 * dom/NamedNodeMap.cpp:
3811 (WebCore::NamedNodeMap::length):
3813 2013-02-15 Kentaro Hara <haraken@chromium.org>
3815 [V8] An "EvenTarget" type in IDL should be converted to EventTarget*, not to Node*
3816 https://bugs.webkit.org/show_bug.cgi?id=109895
3818 Reviewed by Adam Barth.
3820 Currently an "EventTarget" type in IDL is converted to Node*.
3821 This is wrong because there are non-Node interfaces that inherit
3822 a EventTarget. We should convert an "EventTarget" type to EventTarget*.
3823 This will fix FIXMEs in CodeGeneratorV8.pm.
3825 * bindings/scripts/CodeGeneratorV8.pm:
3829 2013-02-15 Simon Fraser <simon.fraser@apple.com>
3831 REGRESSION (r142505?): Crashes in WebCore::ScrollingStateNode::appendChild when using back/forward buttons
3832 https://bugs.webkit.org/show_bug.cgi?id=109826
3833 <rdar://problem/13216100>
3835 Reviewed by Beth Dakin.
3837 Fix a crash when going Back on some pages with fixed position elements.
3839 When a page was being restored from the page cache, and a layout from
3840 FrameLoader::commitProvisionalLoad() caused us to try to register the fixed
3841 position layer before the main scrolling layer, we'd crash trying to dereference
3844 Fix by bailing from ScrollingStateTree::attachNode() if we can't find the parent
3847 Test: platform/mac-wk2/tiled-drawing/null-parent-back-crash.html
3849 * page/scrolling/ScrollingStateTree.cpp:
3850 (WebCore::ScrollingStateTree::attachNode):
3851 (WebCore::ScrollingStateTree::stateNodeForID):
3852 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3853 (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
3855 2013-02-15 Simon Fraser <simon.fraser@apple.com>
3857 Constrain fixed layers to the viewport, not the document
3858 https://bugs.webkit.org/show_bug.cgi?id=109646
3860 Reviewed by Beth Dakin.
3862 It's bad to constrain position:fixed compositing layers to the
3863 document rect, because their bounds will change every time the scroll
3864 position changes, and we're not good currently at synchronizing scrolling
3865 thread layer updates with main thread layer updates, so jiggles ensue.
3867 Fix by constraining position:fixed layers to the viewport.
3869 Test: compositing/geometry/limit-layer-bounds-fixed.html
3871 * rendering/RenderLayerBacking.cpp:
3872 (WebCore::RenderLayerBacking::updateCompositedBounds):
3874 2013-02-13 Jer Noble <jer.noble@apple.com>
3876 Add a CDMClient class which allows the CDM to query for the currently attached MediaPlayer.
3877 https://bugs.webkit.org/show_bug.cgi?id=109702
3879 Reviewed by Eric Carlson.
3881 Some CDM implementations will need to work closely with an associated
3882 MediaPlayer in order to generate key requests and provide keys. Add a
3883 client protocol to be implemented by the MediaKeys object which can
3884 provide access to the associated MediaPlayer if present.
3886 * Modules/encryptedmedia/CDM.cpp:
3887 (WebCore::CDM::CDM): Initialize the m_client ivar.
3888 (WebCore::CDM::mediaPlayer): Pass to the client, if present.
3889 * Modules/encryptedmedia/CDM.h:
3890 (WebCore::CDM::client): Simple getter.
3891 (WebCore::CDM::setClient): Simple setter.
3892 * Modules/encryptedmedia/MediaKeys.cpp:
3893 (WebCore::MediaKeys::MediaKeys): Initialize the m_mediaElement ivar
3894 and call setClient() on the passed in CDM.
3895 (WebCore::MediaKeys::setMediaElement): Simple setter.
3896 (WebCore::MediaKeys::cdmMediaPlayer): Retrieve the MediaPlayer from
3897 the m_mediaElement if present.
3898 * Modules/encryptedmedia/MediaKeys.h:
3899 * html/HTMLMediaElement.cpp:
3900 (WebCore::HTMLMediaElement::~HTMLMediaElement): Call setMediaKeys(0)
3901 to clear the mediaElement in any associated MediaKeys.
3902 (WebCore::HTMLMediaElement::setMediaKeys): Clear the mediaElement on
3903 any associated MediaKeys, and set the mediaElement on the newly
3904 associated MediaKeys.
3906 2013-02-15 Simon Fraser <simon.fraser@apple.com>
3908 drop-shadow filter with overflow:hidden child misbehaves
3909 https://bugs.webkit.org/show_bug.cgi?id=109783
3911 Reviewed by Dean Jackson.
3913 The change in r112745 was not sufficient; it failed to account
3914 for descendant layers that needed to not clipping to avoid artefacts
3915 with filters like drop-shadow.
3917 Test: css3/filters/filter-repaint-shadow-layer-child.html
3919 * rendering/RenderLayer.cpp:
3920 (WebCore::RenderLayer::paintLayerContents): Remove the useClipRect bool.
3921 Replace it with a clipToDirtyRect member on the LayerPaintingInfo, which
3922 gets passed to descendants. Remove some "Restore the clip" comments that added
3924 * rendering/RenderLayer.h:
3925 (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
3926 (LayerPaintingInfo):
3928 2013-02-15 Sheriff Bot <webkit.review.bot@gmail.com>
3930 Unreviewed, rolling out r143066.
3931 http://trac.webkit.org/changeset/143066
3932 https://bugs.webkit.org/show_bug.cgi?id=109986
3934 Broke the Apple Lion build (among others). (Requested by
3935 ddkilzer on #webkit).
3937 * accessibility/mac/AXObjectCacheMac.mm:
3938 (WebCore::AXObjectCache::attachWrapper):
3939 * accessibility/mac/WebAccessibilityObjectWrapper.h:
3940 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3941 (-[WebAccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
3942 (-[WebAccessibilityObjectWrapper detach]):
3943 (-[WebAccessibilityObjectWrapper accessibilityObject]):
3944 (-[WebAccessibilityObjectWrapper attachmentView]):
3945 (CFAutoreleaseHelper):
3946 (AXObjectIsTextMarker):
3947 (AXObjectIsTextMarkerRange):
3948 (AXTextMarkerRange):
3949 (AXTextMarkerRangeStart):
3950 (AXTextMarkerRangeEnd):
3952 (createAccessibilitySearchKeyMap):
3953 (accessibilitySearchKeyForString):
3954 (textMarkerForVisiblePosition):
3955 (-[WebAccessibilityObjectWrapper textMarkerForVisiblePosition:]):
3956 (visiblePositionForTextMarker):
3957 (-[WebAccessibilityObjectWrapper visiblePositionForTextMarker:]):
3958 (visiblePositionForStartOfTextMarkerRange):
3959 (visiblePositionForEndOfTextMarkerRange):
3960 (textMarkerRangeFromMarkers):
3961 (AXAttributedStringRangeIsValid):
3962 (AXAttributeStringSetFont):
3963 (CreateCGColorIfDifferent):
3964 (AXAttributeStringSetColor):
3965 (AXAttributeStringSetNumber):
3966 (AXAttributeStringSetStyle):
3967 (AXAttributeStringSetBlockquoteLevel):
3968 (AXAttributeStringSetSpelling):
3969 (AXAttributeStringSetHeadingLevel):
3970 (AXAttributeStringSetElement):
3971 (AXAttributedStringAppendText):
3972 (nsStringForReplacedNode):
3973 (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
3974 (textMarkerRangeFromVisiblePositions):
3975 (-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
3976 (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
3977 (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3978 (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3979 (-[WebAccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
3980 (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
3981 (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
3984 (-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):
3985 (-[WebAccessibilityObjectWrapper position]):
3986 (createAccessibilityRoleMap):
3987 (roleValueToNSString):
3988 (-[WebAccessibilityObjectWrapper role]):
3989 (-[WebAccessibilityObjectWrapper subrole]):