00a1eee12c313e9e4ebca7bb08f73faf09064686
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-06-05  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Remove unnecessary null check in HTMLCanvasElement.cpp.
4
5         Rubber-stamped by Benjamin Poulain.
6
7         * html/HTMLCanvasElement.cpp:
8         (WebCore::HTMLCanvasElement::getContext):
9
10 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
11
12         [curl] Add implementation for HTTP PUT method.
13         https://bugs.webkit.org/show_bug.cgi?id=117256
14
15         Reviewed by Brent Fulgham.
16
17         No new tests, covered by existing tests.
18
19         * platform/network/curl/ResourceHandleManager.cpp:
20         (WebCore::getFormSize):
21         (WebCore::setupFormData):
22         (WebCore::ResourceHandleManager::setupPUT):
23         (WebCore::ResourceHandleManager::setupPOST):
24
25 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
26
27         [curl] Normalize mime type information
28         https://bugs.webkit.org/show_bug.cgi?id=117194
29
30         Reviewed by Brent Fulgham.
31
32         * platform/MIMETypeRegistry.cpp: Enable MIME type normalization for curl.
33
34 2013-06-05  Xueqing Huang  <huangxueqing@baidu.com>
35
36         Move OleGetClipboard to Pasteboard::createForCopyAndPaste.
37         https://bugs.webkit.org/show_bug.cgi?id=117064
38
39         Reviewed by Darin Adler.
40
41         No behavior change, no new tests.
42
43         * platform/win/EditorWin.cpp:
44         (WebCore::Editor::newGeneralClipboard): Editor should not create IDataObject explicitly then set it to Pasteboard.
45         * platform/win/PasteboardWin.cpp:
46         (WebCore::Pasteboard::createForCopyAndPaste): Construct a Pasteboard and create IDataObject by "OleGetClipboard".
47
48 2013-06-05  Benjamin Poulain  <bpoulain@apple.com>
49
50         WebSQL forces 16-bit strings
51         https://bugs.webkit.org/show_bug.cgi?id=116935
52
53         Reviewed by Darin Adler.
54
55         Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
56         https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
57
58         * platform/sql/SQLiteStatement.cpp:
59         (WebCore::SQLiteStatement::getColumnValue):
60
61 2013-06-05  Bear Travis  <betravis@adobe.com>
62
63         [CSS Exclusions][CSS Shapes] Split CSS Exclusions & Shapes compile & runtime flags
64         https://bugs.webkit.org/show_bug.cgi?id=117172
65
66         Reviewed by Alexandru Chiculita.
67
68         This patch adds a new compile and runtime flag for the CSS Shapes feature, which
69         has split off from the previous CSS Exclusions and Shapes specification. The
70         specifications are available here:
71         http://dev.w3.org/csswg/css-exclusions/
72         http://dev.w3.org/csswg/css-shapes/
73
74         The changes introduce a new CSS_SHAPES compile flag, and a new cssShapesEnabled
75         runtime flag. In general, the code changes are simple renames.
76
77         Refactoring, no new tests.
78
79         * bindings/generic/RuntimeEnabledFeatures.h:
80         (WebCore::RuntimeEnabledFeatures::setCSSShapesEnabled):
81         (WebCore::RuntimeEnabledFeatures::cssShapesEnabled):
82         * css/CSSComputedStyleDeclaration.cpp:
83         (WebCore::ComputedStyleExtractor::propertyValue):
84         * css/CSSParser.cpp:
85         (WebCore::isSimpleLengthPropertyID):
86         (WebCore::CSSParser::parseValue):
87         * css/CSSProperty.cpp:
88         (WebCore::CSSProperty::isInheritedProperty):
89         * css/DeprecatedStyleBuilder.cpp:
90         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
91         * css/StyleResolver.cpp:
92         (WebCore::StyleResolver::applyProperty):
93         (WebCore::StyleResolver::loadPendingImages):
94         * page/animation/CSSPropertyAnimation.cpp:
95         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
96         * rendering/BidiRun.h:
97         (WebCore::BidiRun::BidiRun):
98         * rendering/ExclusionShapeInfo.cpp:
99         * rendering/ExclusionShapeInfo.h:
100         * rendering/ExclusionShapeInsideInfo.cpp:
101         * rendering/ExclusionShapeInsideInfo.h:
102         * rendering/ExclusionShapeOutsideInfo.cpp:
103         * rendering/ExclusionShapeOutsideInfo.h:
104         * rendering/LayoutState.cpp:
105         (WebCore::LayoutState::LayoutState):
106         * rendering/LayoutState.h:
107         (WebCore::LayoutState::LayoutState):
108         * rendering/RenderBlock.cpp:
109         (WebCore::RenderBlock::styleDidChange):
110         (WebCore::exclusionInfoRequiresRelayout):
111         (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
112         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
113         (WebCore::RenderBlock::insertFloatingObject):
114         (WebCore::RenderBlock::computeLogicalLocationForFloat):
115         (WebCore::RenderBlock::positionNewFloats):
116         (WebCore::::collectIfNeeded):
117         (WebCore::RenderBlock::logicalLeftOffsetForLine):
118         (WebCore::RenderBlock::logicalRightOffsetForLine):
119         * rendering/RenderBlock.h:
120         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
121         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
122         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
123         * rendering/RenderBlockLineLayout.cpp:
124         (WebCore::LineWidth::LineWidth):
125         (WebCore::LineWidth::updateAvailableWidth):
126         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
127         (WebCore::RenderBlock::constructLine):
128         (WebCore::computeExpansionForJustifiedText):
129         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
130         (WebCore::RenderBlock::computeInlineDirectionPositionsForSegment):
131         (WebCore::constructBidiRunsForLine):
132         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
133         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
134         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
135         * rendering/RenderBox.cpp:
136         (WebCore::RenderBox::willBeDestroyed):
137         (WebCore::RenderBox::styleDidChange):
138         * rendering/RenderBox.h:
139         * rendering/RenderBoxModelObject.cpp:
140         (WebCore::RenderBoxModelObject::paintOffset):
141         * rendering/RenderLayer.cpp:
142         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
143         * rendering/RenderObject.h:
144         (WebCore::RenderObject::hasPaintOffset):
145         * rendering/RenderView.h:
146         (WebCore::RenderView::pushLayoutState):
147         * rendering/style/RenderStyle.cpp:
148         (WebCore::RenderStyle::changeRequiresLayout):
149         * rendering/style/RenderStyle.h:
150         * testing/InternalSettings.cpp:
151         (WebCore::InternalSettings::Backup::Backup):
152         (WebCore::InternalSettings::Backup::restoreTo):
153         (WebCore::InternalSettings::setCSSShapesEnabled):
154
155 2013-06-05  Oliver Hunt  <oliver@apple.com>
156
157         Don't throttle timers if a page is doing something that might be interesting
158         https://bugs.webkit.org/show_bug.cgi?id=117273
159
160         Reviewed by Gavin Barraclough.
161
162         Make the decision about whether or not to throttle timers be
163         determined by the PageThrottler
164
165         * page/Page.cpp:
166         (WebCore::Page::throttleTimers):
167         (WebCore::Page::unthrottleTimers):
168         (WebCore::Page::setVisibilityState):
169         (WebCore::Page::hiddenPageDOMTimerThrottlingStateChanged):
170         * page/Page.h:
171         * page/PageThrottler.cpp:
172         (WebCore::PageThrottler::throttlePage):
173         (WebCore::PageThrottler::unthrottlePage):
174
175 2013-06-05  Mark Salisbury  <mark.salisbury@hp.com>
176
177         [WinCE,WinCairo] RenderThemeWin.cpp needs to include FrameSelection.h.
178         https://bugs.webkit.org/show_bug.cgi?id=116583
179
180         Reviewed by Brent Fulgham.
181
182         * rendering/RenderThemeWin.cpp:
183
184 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
185
186         [curl] Restrict allowed protocols
187         https://bugs.webkit.org/show_bug.cgi?id=117257
188
189         Reviewed by Brent Fulgham.
190
191         curl supports various protocols (like: HTTP,...,POP3,IMAP...) and by
192         default all of the are enabled for a single curl handle. Furthermore
193         all of the protocols are allowed during Location header follow.
194         This could pose a security risk for example: a malicious server responds
195         with a crafted Location header pointing to an imap/../(etc) url and the
196         curl backend will follow it and will give the result for the WebCore.
197
198         This patch will restrict the allowed protocols to: HTTP(S), FTP(S), FILE
199
200         * platform/network/curl/ResourceHandleManager.cpp:
201         (WebCore::ResourceHandleManager::initializeHandle):
202
203 2013-06-05  Bear Travis  <betravis@adobe.com>
204
205         [css exclusions] Clean up ExclusionShapeInsideInfo dynamic removal code
206         https://bugs.webkit.org/show_bug.cgi?id=116236
207
208         Reviewed by David Hyatt.
209
210         Instead of keeping the ExclusionShapeInsideInfo around after it has
211         become stale, we can immediately remove it and just mark descendants
212         for relayout. This patch removes most of the code added by
213         https://bugs.webkit.org/show_bug.cgi?id=111029
214         in favor of this simpler approach.
215
216         This patch does not introduce new functionality.
217
218         * rendering/ExclusionShapeInsideInfo.h:
219         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo):
220         (ExclusionShapeInsideInfo): Remove needsRemoval code.
221         * rendering/LayoutState.cpp:
222         (WebCore::LayoutState::LayoutState): Ditto.
223         * rendering/RenderBlock.cpp:
224         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Remove
225         needsRemoval code and mark descendants for layout.
226         (WebCore):
227         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout): Method to mark
228         descendants of a shape inside with inline content for layout.
229         (WebCore::exclusionInfoRequiresRelayout): Remove needsRemoval code.
230         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): Ditto.
231         * rendering/RenderBlock.h:
232         (WebCore::RenderBlock::exclusionShapeInsideInfo): Ditto.
233         (RenderBlock):
234         * rendering/RenderBlockLineLayout.cpp:
235         (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Ditto.
236
237 2013-06-05  Arunprasad Rajkumar  <arurajku@cisco.com>
238
239         Avoid multiple copies of inline script & style strings
240         https://bugs.webkit.org/show_bug.cgi?id=117202
241
242         Reviewed by Darin Adler.
243
244         Merge from https://chromiumcodereview.appspot.com/16005007.
245
246         No new tests needed.
247
248         The HTML parser breaks up large text nodes into small chunks to avoid some
249         O(n^2) editing algorithms. This fix skips that workaround for <script> and
250         <style> elements, which aren't likely to need editing. As a result, <script>
251         ends up with a single text node, containing a contiguous String, which is the
252         source code of that inline script block.
253
254         Prior this fix, we could end up with two copies of large inline scripts: one
255         monolithic string retained by JSC and a number of shards retained by the DOM.
256         After this fix, both the DOM and JSC use the same monolithic string, removing a
257         copy.
258
259         * dom/Text.cpp:
260         (WebCore::Text::createWithLengthLimit):
261         * html/parser/HTMLConstructionSite.cpp:
262         (WebCore::shouldUseLengthLimit):
263         (WebCore::HTMLConstructionSite::insertTextNode):
264
265 2013-06-05  Kondapally Kalyan  <kalyan.kondapally@intel.com>
266
267         [EFL] Build fix with EGL and GLES2 backend.
268         https://bugs.webkit.org/show_bug.cgi?id=117246
269
270         Reviewed by Kenneth Rohde Christiansen.
271
272         r150958 added support for EGLTransportSurfaceClient.
273         This patch adds the missing changes.
274
275         * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
276         (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
277         (WebCore::GLTransportSurfaceClient::GLTransportSurfaceClient):
278         * platform/graphics/surfaces/efl/GLTransportSurface.h:
279         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
280         (WebCore::GraphicsSurfacePrivate::initializeClient):
281         * platform/graphics/surfaces/egl/EGLXSurface.cpp:
282         (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
283         * platform/graphics/surfaces/egl/EGLXSurface.h:
284         * platform/graphics/surfaces/glx/GLXSurface.cpp:
285         (WebCore::GLXTransportSurfaceClient::GLXTransportSurfaceClient):
286         * platform/graphics/surfaces/glx/GLXSurface.h:
287         * platform/graphics/surfaces/glx/X11Helper.cpp:
288         (WebCore::X11Helper::createOffScreenWindow):
289         (WebCore::X11Helper::createPixmap):
290         * platform/graphics/surfaces/glx/X11Helper.h:
291
292 2013-06-05  Jae Hyun Park  <jae.park@company100.net>
293
294         [GTK] Support using GLContext from multiple threads
295         https://bugs.webkit.org/show_bug.cgi?id=117238
296
297         Reviewed by Martin Robinson.
298
299         Current implementation assumes that GLContext is only used in the main thread.
300         However, to support using GLContext from multiple threads, we need to change it
301         to thread local. Therefore, ASSERT(isMainThread()) is removed and GLContext is
302         changed to thread local.
303
304         * platform/graphics/cairo/GLContext.cpp:
305         (WebCore::ThreadGlobalGLContext::setContext):
306         (WebCore::ThreadGlobalGLContext::context):
307         (WebCore::currentContext):
308         (WebCore::GLContext::sharingContext):
309         (WebCore::GLContext::~GLContext):
310         (WebCore::GLContext::makeContextCurrent):
311         (WebCore::GLContext::getCurrent):
312
313 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
314
315         Unreviewed build fix when CHANNEL_MESSAGING is disabled.
316
317         Add #if ENABLE(CHANNEL_MESSAGING) to JSMessageChannelCustom.cpp.
318
319         * bindings/js/JSMessageChannelCustom.cpp:
320
321 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
322
323         Remove remaining custom getters for WorkerContext constructor attributes
324         https://bugs.webkit.org/show_bug.cgi?id=117247
325
326         Reviewed by Kentaro Hara.
327
328         Remove custom getter code for remaining constructor attribute on WorkerContext
329         interface. The custom code wasn't needed as it was doing nothing more than the
330         generated one. These constructor attributes are now automatically generated.
331
332         No new tests, no behavior change.
333
334         * CMakeLists.txt:
335         * DerivedSources.make:
336         * DerivedSources.pri:
337         * GNUmakefile.list.am:
338         * Modules/websockets/WebSocket.idl:
339         * Modules/websockets/WorkerContextWebSocket.idl: Removed.
340         * WebCore.order:
341         * WebCore.xcodeproj/project.pbxproj:
342         * bindings/js/JSWorkerContextCustom.cpp:
343         * dom/MessageChannel.idl:
344         * page/EventSource.idl:
345         * workers/WorkerContext.idl:
346         * xml/XMLHttpRequest.idl:
347
348 2013-06-05  Ryuan Choi  <ryuan.choi@samsung.com>
349
350         Remove ChromeClient::deviceOrPageScaleFactorChanged
351         https://bugs.webkit.org/show_bug.cgi?id=117245
352
353         Reviewed by Andreas Kling.
354
355         It was introduced for chromium at r147357.
356         But now, there are no ports to use this.
357
358         No new tests - no behavior change.
359
360         * page/ChromeClient.h:
361         * page/Frame.cpp:
362         (WebCore::Frame::deviceOrPageScaleFactorChanged):
363
364 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
365
366         [Coordinated Graphics] Prevent a recursive painting in CoordinatedGraphicsLayer
367         https://bugs.webkit.org/show_bug.cgi?id=117222
368
369         Reviewed by Noam Rosenthal.
370
371         CoordinatedGraphicsLayer::flushCompositingState() will cross frame
372         boundaries if the GraphicsLayers are connected. In this case,
373         updateContentBuffers will invoke a painting of a sub-frame that causes
374         flushCompositingState recursively.
375
376         To prevent this behavior this patch extracts updateContentBuffers from
377         flushCompositingState, and places it in
378         updateContentBuffersIncludeSublayers, which is another tree traveler for
379         painting.
380
381         No new tests, covered by existing tests.
382
383         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
384         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
385         (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
386         (WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):
387         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
388
389 2013-06-05  Andreas Kling  <akling@apple.com>
390
391         Fix some inefficiencies in AnimationController's composite animation map.
392         <http://webkit.org/b/117248>
393
394         Reviewed by Antti Koivisto.
395
396         Clean up some small things that were showing up in a window resizing profile (0.4%)
397
398         * page/animation/AnimationControllerPrivate.h:
399         * page/animation/AnimationController.cpp:
400         (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
401
402             Renamed this ensure* to conform to the WebKit Design Patterns, 2013 edition.
403             Always do a single hash lookup instead of two.
404
405         (WebCore::AnimationControllerPrivate::clear):
406
407             Use RefPtr<T> for local variables, never PassRefPtr<T>. See WKDP, 2013 ed.
408
409         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
410         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
411         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
412         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
413
414             Peek into m_compositeAnimations through "const CompositeAnimation*" instead
415             of using RefPtrs. There's no need to hold a reference on the animation while
416             querying some const method on it.
417
418         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
419         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
420         (WebCore::AnimationController::updateAnimations):
421
422             Poke into m_compositeAnimations through "CompositeAnimation*" instead of using
423             RefPtrs. There's no need to hold a reference here either, we can modify the
424             animations through a raw pointer.
425
426 2013-06-05  Roland Takacs  <rtakacs@inf.u-szeged.hu>
427
428         Web Inspector: Clear button doesn't clean Memory graph in Overview pane.
429         https://bugs.webkit.org/show_bug.cgi?id=112429
430
431         Reviewed by Noam Rosenthal.
432
433         There is an early return from TimelineMemoryOverview.update() when
434         record array is empty. Thats why if you click onto the clear button,
435         the canvas won't be updated.
436         Moved this "return condition" after the canvas size definition
437         because we need to know the canvas size for refreshing.
438         Overridden TimelineOverviewBase's reset function to clear
439         HeapSizeLabels' content.
440
441         * inspector/front-end/TimelineOverviewPane.js:
442         (WebInspector.TimelineMemoryOverview.prototype.reset):
443         (WebInspector.TimelineMemoryOverview.prototype.update):
444
445 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
446
447         [Coordinated Graphics] Rename client classes for CoordinatedImageBacking and UpdateAtlas.
448         https://bugs.webkit.org/show_bug.cgi?id=111948
449
450         Reviewed by Noam Rosenthal.
451
452         This patch renames CoordinatedImageBacking::Coordinator to
453         CoordinatedImageBacking::Client, and UpdateAtlasClient to
454         UpdateAtlas::Client for naming consistency and clarification.
455
456         No new tests, covered by existing tests.
457
458         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
459         (WebCore::CoordinatedImageBacking::create):
460         (WebCore::CoordinatedImageBacking::CoordinatedImageBacking):
461         (WebCore::CoordinatedImageBacking::removeHost):
462         (WebCore::CoordinatedImageBacking::update):
463         (WebCore::CoordinatedImageBacking::clearContentsTimerFired):
464         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
465         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
466         (WebCore::UpdateAtlas::UpdateAtlas):
467         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
468
469 2013-06-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
470
471         [Qt] Handle Return key without key text
472         https://bugs.webkit.org/show_bug.cgi?id=117239
473
474         Reviewed by Andreas Kling.
475
476         Test added to tst_qwebpage.cpp.
477
478         * platform/qt/PlatformKeyboardEventQt.cpp:
479         (WebCore::keyTextForKeyEvent):
480
481 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
482
483         Coordinated Graphics: Unify messages related object's lifecycles into CoordinatedGraphicsState.
484         https://bugs.webkit.org/show_bug.cgi?id=111919
485
486         Reviewed by Noam Rosenthal.
487
488         CoordinatedLayerTreeHostProxy has several methods, which simply passes
489         these calls to CoordinatedGraphicsScene.
490
491         This patch removes methods in CoordinatedLayerTreeHostProxy just for
492         message chaining. Instead of that, messages for creation/deletion of objects
493         (Layers, CustomFilters, UpdateAtlas, and ImageBacking) are unified into
494         CommitCoordinatedGraphicsState.
495
496         And this patch also removes codes for WebCoordinatedSurface in
497         CoordinatedLayerTreeHost, except for a factory method.
498         CoordinatedGraphicsArgumentCoders [en|de]codes CoordinatedSurface itself
499         using WebCoordinatedSurface.
500
501         No new tests, covered by existing tests.
502
503         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
504         (WebCore::CoordinatedGraphicsScene::syncCustomFilterPrograms):
505         (WebCore::CoordinatedGraphicsScene::syncUpdateAtlases):
506         (WebCore::CoordinatedGraphicsScene::syncImageBackings):
507         (WebCore::CoordinatedGraphicsScene::commitSceneState):
508         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
509         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
510         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
511         (WebCore::CoordinatedImageBacking::update):
512         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
513         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
514         (WebCore::UpdateAtlas::UpdateAtlas):
515         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
516
517 2013-06-05  Andreas Kling  <akling@apple.com>
518
519         Remove unnecessary null checks in SelectorChecker::checkOne().
520         <http://webkit.org/b/117243>
521
522         Reviewed by Antti Koivisto.
523
524         This function was riddled with unnecessary null checks of 'element', despite ASSERT(element)
525         being the first thing it does.
526
527         * css/SelectorChecker.cpp:
528         (WebCore::SelectorChecker::checkOne):
529
530 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
531
532         Merge [NoInterfaceObject] and [OmitConstructor] extended attributes
533         https://bugs.webkit.org/show_bug.cgi?id=115853
534
535         Reviewed by Geoffrey Garen.
536
537         Remove [OmitConstructor] extended attribute as it is overlapping with
538         the standard [NoInterfaceObject] Web IDL extended attribute.
539
540         Having [NoInterfaceObject] extended attribute on an interface now
541         implies that its constructor is omitted (i.e. not generated).
542
543         No new tests, no behavior change.
544
545         * Modules/geolocation/Coordinates.idl:
546         * Modules/geolocation/Geolocation.idl:
547         * Modules/geolocation/Geoposition.idl:
548         * Modules/notifications/Notification.idl:
549         * Modules/notifications/NotificationCenter.idl:
550         * Modules/quota/StorageInfo.idl:
551         * Modules/quota/StorageQuota.idl:
552         * Modules/webdatabase/Database.idl:
553         * Modules/webdatabase/DatabaseSync.idl:
554         * Modules/webdatabase/SQLError.idl:
555         * Modules/webdatabase/SQLResultSet.idl:
556         * Modules/webdatabase/SQLResultSetRowList.idl:
557         * Modules/webdatabase/SQLTransaction.idl:
558         * Modules/webdatabase/SQLTransactionSync.idl:
559         * bindings/scripts/CodeGeneratorJS.pm:
560         (GenerateHeader):
561         (GenerateAttributesHashTable):
562         (GenerateImplementation):
563         * bindings/scripts/IDLAttributes.txt:
564         * css/CSSUnknownRule.idl:
565         * css/MediaQueryListListener.idl:
566         * dom/EventListener.idl:
567         * dom/EventTarget.idl:
568         * html/MicroDataItemValue.idl:
569         * html/ValidityState.idl:
570         * html/canvas/EXTDrawBuffers.idl:
571         * html/canvas/EXTTextureFilterAnisotropic.idl:
572         * html/canvas/OESElementIndexUint.idl:
573         * html/canvas/OESStandardDerivatives.idl:
574         * html/canvas/OESTextureFloat.idl:
575         * html/canvas/OESTextureHalfFloat.idl:
576         * html/canvas/OESVertexArrayObject.idl:
577         * html/canvas/WebGLCompressedTextureATC.idl:
578         * html/canvas/WebGLCompressedTexturePVRTC.idl:
579         * html/canvas/WebGLCompressedTextureS3TC.idl:
580         * html/canvas/WebGLContextAttributes.idl:
581         * html/canvas/WebGLDebugRendererInfo.idl:
582         * html/canvas/WebGLDebugShaders.idl:
583         * html/canvas/WebGLDepthTexture.idl:
584         * html/canvas/WebGLLoseContext.idl:
585         * inspector/JavaScriptCallFrame.idl:
586         * inspector/ScriptProfile.idl:
587         * inspector/ScriptProfileNode.idl:
588         * loader/appcache/DOMApplicationCache.idl:
589         * page/AbstractView.idl:
590         * page/Console.idl:
591         * page/Crypto.idl:
592         * page/PerformanceEntryList.idl:
593         * page/WorkerNavigator.idl:
594         * page/make_settings.pl:
595         (generateInternalSettingsIdlFile):
596         * svg/ElementTimeControl.idl:
597         * svg/SVGAnimationElement.idl:
598         * svg/SVGExternalResourcesRequired.idl:
599         * svg/SVGFitToViewBox.idl:
600         * svg/SVGLangSpace.idl:
601         * svg/SVGLocatable.idl:
602         * svg/SVGTests.idl:
603         * svg/SVGTransformable.idl:
604         * svg/SVGURIReference.idl:
605         * testing/InternalSettings.idl:
606         * testing/Internals.idl:
607         * testing/MallocStatistics.idl:
608         * testing/MemoryInfo.idl:
609         * testing/TypeConversions.idl:
610         * workers/DedicatedWorkerContext.idl:
611         * workers/SharedWorkerContext.idl:
612         * workers/WorkerContext.idl:
613         * xml/XPathNSResolver.idl:
614
615 2013-06-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
616
617         [Qt] Font::shouldUseSmoothing() has fake dependency on Qt 5.1
618         https://bugs.webkit.org/show_bug.cgi?id=117195
619
620         Reviewed by Jocelyn Turcotte.
621
622         Remove the fake dependency on Qt 5.1 so we may rebase the layout tests
623         before switching to Qt 5.1
624
625         * platform/graphics/qt/FontPlatformDataQt.cpp:
626         (WebCore::FontPlatformData::FontPlatformData):
627
628 2013-06-05  Mihnea Ovidenie  <mihnea@adobe.com>
629
630         [CSSRegions] Respect renderer creation constraints when element is part of named flow
631         https://bugs.webkit.org/show_bug.cgi?id=116790
632
633         Reviewed by David Hyatt.
634
635         Before adding a child to a named flow, we have to make sure that the rules for
636         creation are properly checked.
637
638         Test: fast/regions/br-content-node-crash.xhtml
639
640         * rendering/RenderNamedFlowThread.cpp:
641         (WebCore::RenderNamedFlowThread::isChildAllowed):
642         Call isChildAllowed on the original parent renderer, before reparenting to
643         named flow.
644         * rendering/RenderNamedFlowThread.h:
645
646 2013-06-05  Philippe Normand  <pnormand@igalia.com>
647
648         Unreviewed, GStreamer 0.10 build fix after r151175.
649
650         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
651         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
652         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
653         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
654         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
655         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
656         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
657
658 2013-06-05  Mihnea Ovidenie  <mihnea@adobe.com>
659
660         [CSS Regions] REGRESSION Incorrect layer clipping inside flow thread
661         https://bugs.webkit.org/show_bug.cgi?id=117074
662
663         Reviewed by David Hyatt.
664
665         Function RenderBox::mapLocalToContainer was adapted for elements inside flow threads to convert
666         elements coordinates to RenderView coordinates, passing through the region in which the elements
667         were flowed (https://bugs.webkit.org/show_bug.cgi?id=66641).
668
669         The fix for https://bugs.webkit.org/show_bug.cgi?id=76486 modified RenderLayer::calculateClipRects and replaced
670         convertToLayerCoords with localToContainerPoint, which further calls mapLocalToContainer.
671
672         However, for elements inside the flow thread, which acts as a root layer for its collected children, we do not want
673         to get the offset in RenderView coordinates but rather in flow thread coordinates (and still take transforms into
674         account). This patch modifies RenderBox::mapLocalToContainer so that it stops at flow thread boundary when the passed
675         repaintContainer is the flow thread. The flow thread is the container for repaint for elements inside it, as seen from
676         RenderObject::containerForRepaint.
677
678         No new tests, converted overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl
679         into ref tests so that the we do not rely on pixel tests in the future.
680
681         * rendering/RenderBox.cpp:
682         (WebCore::RenderBox::mapLocalToContainer):
683
684 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
685
686         Remove [NoInterfaceObject] from TreeWalker
687         https://bugs.webkit.org/show_bug.cgi?id=117225
688
689         Reviewed by Kentaro Hara.
690
691         Remove [NoInterfaceObject] IDL extended attribute from TreeWalker interface
692         to match Firefox's behavior and the specification:
693         http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker
694
695         No new tests, already covered by existing tests.
696
697         * dom/TreeWalker.idl:
698
699 2013-06-05  Zan Dobersek  <zdobersek@igalia.com>
700
701         Move MemoryInfo under window.internals
702         https://bugs.webkit.org/show_bug.cgi?id=117197
703
704         Reviewed by Ryosuke Niwa.
705
706         The MemoryInfo interface is not a subject of any specification and should not be exposed
707         to the Web. It's still used by the performance tests so it is moved under the testing
708         internals, accessible through window.internals.memoryInfo.
709
710         The jsHeapSizeLimit attribute is removed from the MemoryInfo interface as that value was
711         only usable when using the V8 bindings which are not supported anymore. A small fast/harness
712         test is also provided to check that the MemoryInfo object is accessible through window.internals.
713
714         Test: fast/harness/memoryinfo-object.html
715
716         * CMakeLists.txt:
717         * DerivedSources.cpp:
718         * DerivedSources.make:
719         * DerivedSources.pri:
720         * GNUmakefile.list.am:
721         * Target.pri:
722         * UseJSC.cmake:
723         * WebCore.exp.in:
724         * WebCore.order:
725         * WebCore.vcxproj/WebCore.vcxproj:
726         * WebCore.vcxproj/WebCore.vcxproj.filters:
727         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
728         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
729         * WebCore.xcodeproj/project.pbxproj:
730         * bindings/gobject/GNUmakefile.am: Remove the GObject bindings targets for MemoryInfo.
731         * bindings/js/JSBindingsAllInOne.cpp: Remove the JSMemoryInfo.h and MemoryInfo.h inclusion.
732         * bindings/js/JSMemoryInfoCustom.cpp: Removed.
733         * bindings/js/ScriptGCEvent.cpp: Remove the ENABLE(INSPECTOR) guards.
734         (WebCore::ScriptGCEvent::getHeapSize): Remove the jsHeapSizeLimit assignment.
735         * bindings/js/ScriptGCEvent.h: Remove the ENABLE(INSPECTOR) guards.
736         (WebCore::HeapInfo::HeapInfo): Remove the jsHeapSizeLimit member.
737         * page/Console.cpp: Remove the Console::memory method.
738         * page/Console.h: Ditto.
739         * page/Console.idl: Remove the window.console.memory attribute.
740         * page/MemoryInfo.cpp: Removed.
741         * page/Performance.cpp: Remove the Performance::memory method.
742         * page/Performance.h: Ditto.
743         * page/Performance.idl: Remove the window.performance.memory attribute.
744         * testing/Internals.cpp:
745         (WebCore::Internals::memoryInfo): Return a MemoryInfo object upon invoking.
746         * testing/Internals.h: Declare the Internals::memoryInfo method.
747         * testing/Internals.idl: Expose the window.internals.memoryInfo operation.
748         * testing/MemoryInfo.h: Renamed from Source/WebCore/page/MemoryInfo.h.
749         (WebCore::MemoryInfo::create): Return a new RefPtr-wrapped MemoryInfo object.
750         (WebCore::MemoryInfo::usedJSHeapSize): Return the value of the equally-named HeapInfo member.
751         (WebCore::MemoryInfo::totalJSHeapSize): Ditto.
752         (WebCore::MemoryInfo::MemoryInfo): Acquire the current heap info upon construction.
753         * testing/MemoryInfo.idl: Renamed from Source/WebCore/page/MemoryInfo.idl.
754         The jsHeapSizeLimit attribute is removed.
755
756 2013-06-04  Peter Gal  <galpeter@inf.u-szeged.hu>
757
758         [curl] Headers should be parsed as utf8 if possible
759         https://bugs.webkit.org/show_bug.cgi?id=117196
760
761         Reviewed by Brent Fulgham.
762
763         Testcase already present: http/tests/download/literal-utf-8.html
764
765         * platform/network/curl/ResourceHandleManager.cpp:
766         (WebCore::headerCallback): Parse the header as an utf8 string if possible.
767
768 2013-06-04  Oliver Hunt  <oliver@apple.com>
769
770         Prevent throttling while resources are being loaded
771         https://bugs.webkit.org/show_bug.cgi?id=117218
772
773         Reviewed by Gavin Barraclough.
774
775         Make use of the page activity assertion infrastructure to delay
776         throttling while we are waiting on resource loads.
777
778         * loader/FrameLoader.cpp:
779         (WebCore::FrameLoader::completed):
780         (WebCore::FrameLoader::started):
781         * loader/FrameLoader.h:
782         * loader/SubresourceLoader.cpp:
783         (WebCore::SubresourceLoader::init):
784         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
785         (WebCore::SubresourceLoader::didFinishLoading):
786         (WebCore::SubresourceLoader::didFail):
787         (WebCore::SubresourceLoader::willCancel):
788         * loader/SubresourceLoader.h:
789
790 2013-06-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
791
792         Remove [NoInterfaceObject] from XPathExpression and NodeIterator
793         https://bugs.webkit.org/show_bug.cgi?id=117204
794
795         Reviewed by Alexey Proskuryakov.
796
797         Remove [NoInterfaceObject] from XPathExpression and NodeIterator to match
798         their respective specifications:
799         - http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression
800         - http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator
801
802         No new tests, already covered by:
803         fast/js/global-constructors-attributes.html
804
805         * dom/NodeIterator.idl:
806         * xml/XPathExpression.idl:
807
808 2013-06-04  Chris Fleizach  <cfleizach@apple.com>
809
810         AX: MathML multiscripts not exposed in Accessibility
811         https://bugs.webkit.org/show_bug.cgi?id=115069
812
813         Unreviewed, build fix.
814
815         Remove an accessibility iOS method that was erroneously added.
816
817         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
818
819 2013-06-04  Greg Hughes  <ghughes@apple.com>
820
821         Add "VisibleOnly" key to search predicate
822         https://bugs.webkit.org/show_bug.cgi?id=115491
823
824         Reviewed by Chris Fleizach.
825
826         Added support for accessibility clients to use the search predicate to find only visible elements
827
828         * accessibility/AccessibilityObject.cpp:
829         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
830         (WebCore::AccessibilityObject::isOnscreen):
831         (WebCore):
832         * accessibility/AccessibilityObject.h:
833         (AccessibilitySearchCriteria):
834         (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
835         (AccessibilityObject):
836         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
837         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
838
839 2013-06-04  Roger Fong  <roger_fong@apple.com>
840
841         Unreviewed. Rollout of r151146. Broke some tests.
842
843         * page/FrameView.cpp:
844         (WebCore::FrameView::forceLayoutForPagination):
845         * rendering/RenderBlock.cpp:
846         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
847         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
848         (WebCore::RenderBlock::layout):
849         * rendering/RenderBlock.h:
850         * rendering/RenderBox.cpp:
851         (WebCore::RenderBox::clearLayoutOverflow):
852         * rendering/RenderBox.h:
853         * rendering/RenderDeprecatedFlexibleBox.cpp:
854         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
855         * rendering/RenderGrid.cpp:
856         (WebCore::RenderGrid::layoutBlock):
857
858 2013-06-04  Noam Rosenthal  <noam@webkit.org>
859
860         Refactor the code that decides whether to enable WebGL from settings to helper functions
861         https://bugs.webkit.org/show_bug.cgi?id=117181
862
863         This removes some #ifdef crud out of the getContext() function.
864
865         Reviewed by Benjamin Poulain.
866
867         * html/HTMLCanvasElement.cpp:
868         (WebCore::requiresAcceleratedCompositingForWebGL):
869         (WebCore::shouldEnableWebGL):
870         (WebCore::HTMLCanvasElement::getContext):
871
872 2013-06-04  Thiago Santos  <thiago.sousa.santos@collabora.com>
873
874         Prevent race when pad caps is set on gstreamer player
875         https://bugs.webkit.org/show_bug.cgi?id=115355
876
877         Reviewed by Philippe Normand.
878
879         Prevent race when pad caps is set on gstreamer player and
880         Also protect internal paint buffer with a mutex.
881
882         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
883         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
884         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
885         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
886         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
887         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
888         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
889         (MediaPlayerPrivateGStreamerBase):
890
891 2013-06-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
892
893         [Qt] Fix a crash in QtPixmapRuntime.
894         https://bugs.webkit.org/show_bug.cgi?id=117193
895         https://bugreports.qt-project.org/browse/QTBUG-30736
896
897         Reviewed by Allan Sandfeld Jensen.
898
899         The crash could only be reproduced in release builds on Windows.
900         JSClassCreate calculates the size of JSClassDefinition.staticValues
901         and staticFunctions by iterating until an entry with a null name is found.
902
903         * bridge/qt/qt_pixmapruntime.cpp:
904         (JSC::Bindings::QtPixmapRuntime::getClassRef):
905
906 2013-06-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
907
908         Automatically generate WorkerContext constructor attributes
909         https://bugs.webkit.org/show_bug.cgi?id=117183
910
911         Reviewed by Kentaro Hara.
912
913         Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker] IDL extended attribute
914         to indicate to the bindings generator on which global context the constructor
915         attribute should be generated for interfaces without [NoInterfaceObject]:
916         - WindowOnly: only on the global Window object (default if ommitted)
917         - WorkerOnly: only on the worker context
918         - WindowAndWorker: On both the global Window object and the worker context
919
920         This covers all the current use cases.
921
922         The JSC bindings generator now automatically generates the Constructor attributes
923         on the WorkerContext for non-callback interfaces which do not have the
924         [NoInterfaceObject] extended attribute but have [GlobalContext=WorkerOnly|WindowAndWorker]
925         extended attribute.
926
927         No new tests, already covered by:
928         fast/js/global-constructors-attributes.html
929         fast/js/global-constructors-attributes-worker.html
930
931         * CMakeLists.txt:
932         * DerivedSources.make: Pass new --workerContextConstructorsFile argument to preprocess-idls.pl.
933         * DerivedSources.pri: Ditto.
934         * GNUmakefile.am: Ditto.
935         * PlatformBlackBerry.cmake: Ditto.
936         * UseJSC.cmake: Ditto.
937         * bindings/scripts/IDLAttributes.txt: Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker]
938         IDL extended attribute.
939         * bindings/scripts/preprocess-idls.pl: Add support for [GlobalContext] extended attribute and
940         generate a partial interface for WorkerContext global constructors that are automatically
941         generated.
942         * dom/MessageEvent.idl: Add [GlobalContext=WindowAndWorker].
943         * fileapi/Blob.idl: Add [GlobalContext=WindowAndWorker].
944         * fileapi/FileReader.idl: Add [GlobalContext=WindowAndWorker].
945         * fileapi/FileReaderSync.idl: Add [GlobalContext=WorkerOnly] and remove [NoInterfaceObject]
946         as the interface should only be visible in worker environment as per the spec.
947         * html/DOMURL.idl: Add [GlobalContext=WindowAndWorker].
948         * html/canvas/ArrayBuffer.idl: Add [GlobalContext=WindowAndWorker].
949         * html/canvas/DataView.idl: Add [GlobalContext=WindowAndWorker].
950         * html/canvas/Float32Array.idl: Add [GlobalContext=WindowAndWorker].
951         * html/canvas/Float64Array.idl: Add [GlobalContext=WindowAndWorker].
952         * html/canvas/Int16Array.idl: Add [GlobalContext=WindowAndWorker].
953         * html/canvas/Int32Array.idl: Add [GlobalContext=WindowAndWorker].
954         * html/canvas/Int8Array.idl: Add [GlobalContext=WindowAndWorker].
955         * html/canvas/Uint16Array.idl: Add [GlobalContext=WindowAndWorker].
956         * html/canvas/Uint32Array.idl: Add [GlobalContext=WindowAndWorker].
957         * html/canvas/Uint8Array.idl: Add [GlobalContext=WindowAndWorker].
958         * html/canvas/Uint8ClampedArray.idl: Add [GlobalContext=WindowAndWorker].
959         * workers/WorkerContext.idl: Remove several Constructor attributes which are now automatically
960         generated.
961         * workers/WorkerLocation.idl: Add [GlobalContext=WorkerOnly] and remove [NoInterfaceObject]
962         as the interface should only be visible in worker environment as per the spec.
963
964 2013-06-04  Kangil Han  <kangil.han@samsung.com>
965
966         Use ASSERT_DISABLED option for assertion purpose code in InlineBox
967         https://bugs.webkit.org/show_bug.cgi?id=117146
968
969         Reviewed by Alexey Proskuryakov.
970
971         We can distinguish assertion code with debug purpose by using ASSERT_DISABLED option.
972
973         * rendering/InlineBox.cpp:
974         (WebCore::InlineBox::~InlineBox):
975         (WebCore::InlineBox::destroy):
976         (WebCore::InlineBox::operator delete):
977         * rendering/InlineBox.h:
978         (WebCore::InlineBox::InlineBox):
979
980 2013-06-04  Kent Tamura  <tkent@chromium.org>
981
982         Fix an assertion failure in Range::textNodeSplit by Text::splitText
983         https://bugs.webkit.org/show_bug.cgi?id=116509
984
985         Reviewed by Ryosuke Niwa.
986
987         Range::textNodeSplit is called in Text::splitText, and it assumes the
988         next sibling node is still a Text node. A DOM mutation event handler can
989         break this assumption.
990
991         We had better postpone DOM mutation events dispatched in Node::insertBefore
992         until exiting splitText to avoid inconsistent Range state.
993
994         This imports http://src.chromium.org/viewvc/blink?view=revision&revision=150493 .
995
996         Test: fast/dom/Range/split-text-in-range.html
997
998         * dom/Text.cpp:
999         (WebCore::Text::splitText): Add EventQueueScope.
1000
1001 2013-06-03  Kangil Han  <kangil.han@samsung.com>
1002
1003         Remove unused arithmetic operation in RenderListItem
1004         https://bugs.webkit.org/show_bug.cgi?id=117175
1005
1006         Reviewed by Brent Fulgham.
1007
1008         Variable 'markerLogicalLeft' is reassigned a value before the old one has been used.
1009
1010         * rendering/RenderListItem.cpp:
1011         (WebCore::RenderListItem::positionListMarker):
1012
1013 2013-06-03  Roger Fong  <roger_fong@apple.com>
1014
1015         Unreviewed. Some AppleWin VS2010 house cleaning.
1016
1017         * WebCore.vcxproj/build-generated-files.sh:
1018
1019 2013-06-03  Roger Fong  <roger_fong@apple.com>
1020
1021         clearLayoutOverflow should never be called before calling layer()->updateScrollInfoAfterLayout().
1022         https://bugs.webkit.org/show_bug.cgi?id=116689.
1023
1024         Reviewed by Ojan Vafai.
1025
1026         Make sure that clearLayoutOverflow only gets called after layer()->updateScrollInfoAfterLayout().
1027         Also move clearLayoutOverflow to RenderBlock so we can keep all the delayed scroll update logic together.
1028
1029         Test: fast/flexbox/clear-overflow-before-scroll-update.html
1030
1031         * rendering/RenderBlock.cpp:
1032         (WebCore::RenderBlock::layout): Remove call to clearLayoutOverflow.
1033         (WebCore::RenderBlock::finishDelayUpdateScrollInfo): Add call to clearLayoutOverflow.
1034         (WebCore::RenderBlock::updateScrollInfoAfterLayout): Ditto.
1035         (WebCore::RenderBlock::clearLayoutOverflow): ASSERT(!gDelayUpdateScrollInfo) and move from RenderBox to RenderBlock to keep delayed scroll update logic together.
1036         * rendering/RenderBlock.h:
1037         (RenderBlock):
1038         * rendering/RenderBox.cpp:
1039         * rendering/RenderBox.h:
1040         (WebCore::RenderBox::layoutOverflowRect): Remove from layoutOverflowRect.
1041         (RenderBox): 
1042         * rendering/RenderDeprecatedFlexibleBox.cpp:
1043         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): This should call updateScrollInfoAfterLayout() intead of directly calling layer()->updateScrollInfoAfterLayout().
1044         * rendering/RenderGrid.cpp:
1045         (WebCore::RenderGrid::layoutBlock): Ditto.
1046
1047 2013-05-31  Anders Carlsson  <andersca@apple.com>
1048
1049         Take the normal NSView code path when drawing into an inclusive layer
1050         https://bugs.webkit.org/show_bug.cgi?id=117094
1051         <rdar://problem/13812355>
1052
1053         Reviewed by Sam Weinig.
1054
1055         For now, take the normal code path when drawing into an inclusive layer.
1056
1057         * platform/mac/WidgetMac.mm:
1058         (WebCore::Widget::paint):
1059
1060 2013-05-31  Tiancheng Jiang  <tijiang@rim.com>
1061
1062         [BlackBerry] Update Button UX.
1063         https://bugs.webkit.org/show_bug.cgi?id=116992
1064
1065         Reviewed by Rob Buis.
1066
1067         BlackBerry PR 342298.
1068         Internally Review by Jeff Rogers.
1069
1070         * css/themeBlackBerry.css:
1071
1072 2013-05-31  David Kilzer  <ddkilzer@apple.com>
1073
1074         DerivedSources.make: any rules that use $(FEATURE_DEFINES) should be rebuilt when FeatureDefines.xcconfig changes
1075         <http://webkit.org/b/117081>
1076
1077         Reviewed by Mark Rowe.
1078
1079         * DerivedSources.make: Add $(PLATFORM_FEATURE_DEFINES)
1080         dependency for all rules that use $(FEATURE_DEFINES) to generate
1081         files.
1082         (PLATFORM_FEATURE_DEFINES): Set this variable to
1083         Configurations/FeatureDefines.xcconfig if not already set on
1084         Mac OS X.
1085
1086 2013-05-31  Tiancheng Jiang  <tijiang@rim.com>
1087
1088         Text Field UX updates.
1089         https://bugs.webkit.org/show_bug.cgi?id=116996
1090
1091         Reviewed by Rob Buis.
1092
1093         BlackBerry PR 342333.
1094         Internally Reviewed by Jeff Rogers.
1095
1096         Update disabled text field font color.
1097
1098         * css/themeBlackBerry.css:
1099
1100 2013-05-31  Dean Jackson  <dino@apple.com>
1101
1102         Update CheckedInt.h to latest version from Mozilla
1103         https://bugs.webkit.org/show_bug.cgi?id=117009
1104
1105         Reviewed by Darin Adler.
1106
1107         Mozilla have updated their version of CheckedInt and suggested
1108         we sync. Here are the improvements:
1109
1110         - CheckedInt now consistently rejects unsupported types. Before, you
1111         could sometimes construct a CheckedInt from an unsupported type (like,
1112         float) or multiply a CheckedInt by a float, and have it not caught! See
1113         https://bugzilla.mozilla.org/show_bug.cgi?id=869194
1114          - Fixed a possibility of undefined behavior in unary operator-. See bug
1115         https://bugzilla.mozilla.org/show_bug.cgi?id=849666
1116          - CheckedInt now supports the "long long" and "unsigned long long"
1117         types. We don't like "long long" (and neither does the Google C++ style
1118         guide!) but we had to do that because libogg exposes typedefs to those
1119         types. See Bug https://bugzilla.mozilla.org/show_bug.cgi?id=869685
1120          - CheckedInt also now supports "signed char" in addition to "char" ---
1121         they are not the same type! See Bug https://bugzilla.mozilla.org/show_bug.cgi?id=847521
1122          - Fixed and simplified usage of CheckedInt outside of Mozilla. You'll
1123         like this one! See Bug https://bugzilla.mozilla.org/show_bug.cgi?id=849667
1124          - Fixed compilation with the Intel C++ compiler. See bug https://bugzilla.mozilla.org/show_bug.cgi?id=784309
1125
1126         * html/canvas/CheckedInt.h: Updated.
1127
1128 2013-05-31  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
1129
1130         Make sure gstreamer source element is thread-safe
1131         https://bugs.webkit.org/show_bug.cgi?id=115352
1132
1133         Reviewed by Philippe Normand.
1134
1135         GStreamer source element may be created by any gstreamer element on any thread by calling
1136         gst_element_make_from_uri with the URIs handled by the source element.
1137         This patch makes sure the gstreamer source element is thread-safe to avoid issues with it
1138         being created outside the main thread.
1139
1140         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1141         (_WebKitWebSrcPrivate):
1142         (webkit_web_src_init):
1143         (webKitWebSrcFinalize):
1144         (webKitWebSrcSetProperty):
1145         (webKitWebSrcGetProperty):
1146         (webKitWebSrcStop):
1147         (webKitWebSrcStart):
1148         (webKitWebSrcChangeState):
1149         (webKitWebSrcQueryWithParent):
1150         (webKitWebSrcGetUri):
1151         (webKitWebSrcSetUri):
1152         (webKitWebSrcNeedDataMainCb):
1153         (webKitWebSrcEnoughDataMainCb):
1154         (webKitWebSrcSeekMainCb):
1155         (webKitWebSrcSeekDataCb):
1156         (webKitWebSrcSetMediaPlayer):
1157         (StreamingClient::StreamingClient):
1158         (StreamingClient::~StreamingClient):
1159         (StreamingClient::didReceiveResponse):
1160         (StreamingClient::didReceiveData):
1161         (StreamingClient::didFinishLoading):
1162         (StreamingClient::wasBlocked):
1163         (StreamingClient::cannotShowURL):
1164
1165 2013-05-31  Sergio Villar Senin  <svillar@igalia.com>
1166
1167         Build fix when CSSParser debugging is enabled
1168         https://bugs.webkit.org/show_bug.cgi?id=117075
1169
1170         Reviewed by Andreas Kling.
1171
1172         Build fails when enabling parser debugging by setting YYDEBUG to
1173         1 because of a missing include.
1174
1175         * css/CSSGrammar.y.includes:
1176
1177 2013-05-31  Alberto Garcia  <agarcia@igalia.com>
1178
1179         [Soup] [Gstreamer] ASSERT in StreamingClient::getOrCreateReadBuffer
1180         https://bugs.webkit.org/show_bug.cgi?id=116686
1181
1182         Reviewed by Carlos Garcia Campos.
1183
1184         We were using g_input_stream_read_async() to handle redirections
1185         because of Gnome bug #691489.
1186
1187         This produces an unexpected read attempt which triggers an assert
1188         in StreamingClient::getOrCreateReadBuffer().
1189
1190         Now that the Gnome bug is fixed we can replace read_async() with
1191         skip_async().
1192
1193         * platform/network/soup/ResourceHandleSoup.cpp:
1194         (WebCore::ResourceHandle::ensureReadBuffer):
1195         (WebCore::redirectSkipCallback):
1196         (WebCore::sendRequestCallback):
1197
1198 2013-05-30  Eugene Klyuchnikov  <eustas@chromium.org>
1199
1200         selectionStart/selectionEnd return "obsolete" values when requested during "input" event
1201         https://bugs.webkit.org/show_bug.cgi?id=110742
1202
1203         Reviewed by Ryosuke Niwa.
1204
1205         This patch defers firing "webkitEditableContentChanged" until new
1206         selection is applied to control. This makes selection during "input"
1207         more consistent and reliable.
1208
1209         Background: "input" event is fired by "webkitEditableContentChanged"
1210         dispatcher. But "input" is scoped event, so under some conditions its
1211         dispatching may be deferred. When "input" dispatching is deferred,
1212         dispatcher observes updated selectionStart and selectionEnd.
1213         Otherwise values repersent state before applying editing command.
1214
1215         So, to make selectionStart/End to be more predictable and useful, we
1216         need either always dispatch "input" before selection is updated, or
1217         always dispatch "input" after selection is updated.
1218
1219         As it was mentioned, dispatching could be deferred by scoping. So
1220         dispatching before updating selection couldn't be guaranteed.
1221         Moreover, it will be hard to calculate updated selection in user
1222         code. On the other side - old selection could be easily tracked.
1223
1224         So, it looks logically that we should guarantee dispatching "input"
1225         after updating selection. There are no execution paths in
1226         "webkitEditableContentChanged" dispatched that depends on current
1227         selection. So it is safe to fire this event after selection is updated.
1228
1229         Test: editing/selection/caret-after-keypress.html
1230
1231         * editing/Editor.cpp:
1232         Dispatch "input" event after new selection in applied.
1233
1234 2013-05-30  Ruth Fong  <ruth_fong@apple.com>
1235
1236         WebKit's Enter Full Screen for <video> elements isn't working
1237         https://bugs.webkit.org/show_bug.cgi?id=117001
1238
1239         Reviewed by Jer Noble.
1240
1241         Fix workflow to allow a video to enter into full screen
1242         mode from a kWKContextMenuItemTagEnterVideoFullscreen 
1243         context menu item by denoting the enterFullscreenForVideo
1244         call as a user gesture, so Document::requestFullScreenForElement
1245         will execute correctly.
1246
1247         No new tests. Covered by media/context-menu-actions.html,
1248         which is disabled due to bug #116651.
1249
1250         * rendering/HitTestResult.cpp:
1251         (WebCore::HitTestResult::enterFullscreenForVideo):
1252
1253 2013-05-30  Rafael Brandao  <rafael.lobo@openbossa.org>
1254
1255         Fix double hash lookup in RenderTableSection::paintObject loop
1256         https://bugs.webkit.org/show_bug.cgi?id=117055
1257
1258         Reviewed by Antonio Gomes.
1259
1260         * rendering/RenderTableSection.cpp:
1261         (WebCore::RenderTableSection::paintObject):
1262
1263 2013-05-31  Stephanie Lewis  <slewis@apple.com>
1264
1265         Update low memory handler to use new memory pressure notifications on new OS versions.
1266         <rdar://problem/14027095>
1267
1268         Reviewed by Mark Rowe.
1269
1270         No change in functionality.
1271
1272         * WebCore.exp.in:
1273         * platform/mac/MemoryPressureHandlerMac.mm:
1274         (WebCore::MemoryPressureHandler::install): Call new API
1275         * platform/mac/WebCoreSystemInterface.h: 
1276         * platform/mac/WebCoreSystemInterface.mm:
1277
1278 2013-05-30  Rafael Brandao  <rafael.lobo@openbossa.org>
1279
1280         Fix double hash lookup in WebSocket::connect loop
1281         https://bugs.webkit.org/show_bug.cgi?id=117052
1282
1283         Reviewed by Anders Carlsson.
1284
1285         * Modules/websockets/WebSocket.cpp:
1286         (WebCore::WebSocket::connect):
1287
1288 2013-05-30  Benjamin Poulain  <bpoulain@apple.com>
1289
1290         Remove some 16bits conversion.
1291         https://bugs.webkit.org/show_bug.cgi?id=116935
1292
1293         Reviewed by Darin Adler.
1294
1295         Merge chromium ce35a544d09e6cb907457535340eb0e9984e57b8.
1296         https://chromium.googlesource.com/chromium/blink/+/ce35a544d09e6cb907457535340eb0e9984e57b8
1297
1298         * html/parser/InputStreamPreprocessor.h:
1299         * platform/FileSystem.cpp:
1300         (WebCore::encodeForFileName):
1301
1302 2013-05-30  Anders Carlsson  <andersca@apple.com>
1303
1304         REGRESSION (r119759): Adobe Flash Player "smaller" installer relies on the incorrect firing of a load event and needs an app-specific hack for compatibility
1305         https://bugs.webkit.org/show_bug.cgi?id=117042
1306         <rdar://problem/13916291>
1307
1308         Reviewed by Mark Rowe.
1309
1310         Ignore HTTP errors for scripts requested from within the installer. Instead of just checking for the
1311         Adobe Flash installer, we use the "com.solidstatenetworks.awkhost" bundle identifier to determine
1312         whether to apply the workaround. This could in theory fix other installers that use the same mechanism.
1313
1314         * loader/cache/CachedScript.cpp:
1315         (WebCore::CachedScript::shouldIgnoreHTTPStatusCodeErrors):
1316         * loader/cache/CachedScript.h:
1317         * platform/RuntimeApplicationChecks.cpp:
1318         (WebCore::applicationIsSolidStateNetworksDownloader):
1319         * platform/RuntimeApplicationChecks.h:
1320
1321 2013-05-30  Sergio Villar Senin  <svillar@igalia.com>
1322
1323         Allow no space between "background-position:" dimensions
1324         https://bugs.webkit.org/show_bug.cgi?id=116870
1325
1326         Reviewed by Darin Adler.
1327
1328         From Blink r149314 by <ericwilligers@chromium.org>
1329
1330         Specs allow no spaces between the dimensions of a
1331         "background-position:" like "1px+1px", we should support
1332         that.
1333
1334         Whitespaces are no longer early consumed, dramatically dropping
1335         the shift/reduce conflicts to half. The productions unary_term,
1336         calc_func_term, calc_func_expr and calc_func_paren_expr no longer
1337         consume whitespaces.
1338
1339         * css/CSSGrammar.y.in:
1340         * css/CSSParser.cpp:
1341         (WebCore::CSSParser::realLex):
1342
1343 2013-05-30  Jer Noble  <jer.noble@apple.com>
1344
1345         HTMLMediaElement will not unthrottle page when playback stops for nreasons other than user-initiated pause.
1346         https://bugs.webkit.org/show_bug.cgi?id=117016
1347
1348         Reviewed by Oliver Hunt.
1349
1350         Add a new class PageActivityAssertionToken to allow HTMLMediaElement to decouple
1351         knowledge of and control over the lifetime of PageThrottler. The new class will
1352         have weak references to and from the PageThrottler so that holders of the token
1353         will not need to care if the Page or PageThrottler has been destroyed. 
1354
1355         HTMLMediaElement will create one of these PageActivityAssertionTokens when playback
1356         begins and destroy it when playback stops for any reason, or when the element is
1357         destroyed.
1358
1359         * html/HTMLMediaElement.cpp:
1360         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1361         (WebCore::HTMLMediaElement::playInternal):
1362         (WebCore::HTMLMediaElement::pauseInternal):
1363         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
1364         (WebCore::HTMLMediaElement::updatePlayState):
1365         * html/HTMLMediaElement.h:
1366         * page/Page.cpp:
1367         (WebCore::createActivityToken): Added simple factory method.
1368         * page/Page.h:
1369         * page/PageActivityAssertionToken.cpp: 
1370         (WebCore::PageActivityAssertionToken::PageActivityAssertionToken): Call addActivityToken();
1371         (WebCore::PageActivityAssertionToken::~PageActivityAssertionToken): Call removeActivityToken();
1372         (WebCore::PageActivityAssertionToken::invalidate): Clear m_throttler.
1373         * page/PageActivityAssertionToken.h:
1374         * page/PageThrottler.cpp:
1375         (WebCore::PageThrottler::~PageThrottler): Invalidate all outstanding tokens.
1376         (WebCore::PageThrottler::addActivityToken): Bump the activity count.
1377         (WebCore::PageThrottler::removeActivityToken): Lower the activity count.
1378         * page/PageThrottler.h:
1379
1380         Add the new files to the various build systems:
1381         * CMakeLists.txt:
1382         * GNUmakefile.list.am:
1383         * Target.pri:
1384         * WebCore.vcproj/WebCore.vcproj:
1385         * WebCore.vcxproj/WebCore.vcxproj:
1386         * WebCore.vcxproj/WebCore.vcxproj.filters:
1387         * WebCore.xcodeproj/project.pbxproj:
1388
1389 2013-05-29  Jeffrey Pfau  <jpfau@apple.com>
1390
1391         [Mac] Enable cache partitioning and the public suffix list on 10.8
1392         <rdar://problem/13679019>
1393
1394         Rubber-stamped by David Kilzer.
1395
1396         * Configurations/FeatureDefines.xcconfig:
1397
1398 2013-05-30  Andreas Kling  <akling@apple.com>
1399
1400         Fix double hash lookup in DocumentEventQueue::cancelEvent().
1401         <http://webkit.org/b/117031>
1402
1403         Reviewed by Anders Carlsson.
1404
1405         * dom/DocumentEventQueue.cpp:
1406         (WebCore::DocumentEventQueue::cancelEvent):
1407
1408 2013-05-30  Andreas Kling  <akling@apple.com>
1409
1410         Fix double hash lookup in DocumentLoader::removeSubresourceLoader().
1411         <http://webkit.org/b/117030>
1412
1413         Reviewed by Anders Carlsson.
1414
1415         * loader/DocumentLoader.cpp:
1416         (WebCore::DocumentLoader::removeSubresourceLoader):
1417
1418 2013-05-30  Andreas Kling  <akling@apple.com>
1419
1420         Fix double hash lookup in RenderView::repaintSelection() loop.
1421         <http://webkit.org/b/117029>
1422
1423         Reviewed by Anders Carlsson.
1424
1425         * rendering/RenderView.cpp:
1426         (WebCore::RenderView::repaintSelection):
1427
1428 2013-05-30  Peter Gal  <galpeter@inf.u-szeged.hu>
1429
1430         CURL: Incorrect stripping of query from file URL
1431         https://bugs.webkit.org/show_bug.cgi?id=104307
1432
1433         Reviewed by Darin Adler.
1434
1435         Clear the query part of the file URL if there is any.
1436
1437         * platform/network/curl/ResourceHandleManager.cpp:
1438         (WebCore::ResourceHandleManager::initializeHandle):
1439
1440 2013-05-30  Antti Koivisto  <antti@apple.com>
1441
1442         Separate generic font family settings to a class
1443         https://bugs.webkit.org/show_bug.cgi?id=117027
1444
1445         Reviewed by Andreas Kling.
1446
1447         The new class is under platform/ and can be accessed by the font code directly without platform violations.
1448
1449         * WebCore.xcodeproj/project.pbxproj:
1450         * page/Settings.cpp:
1451         (WebCore::invalidateAfterGenericFamilyChange):
1452         (WebCore::Settings::Settings):
1453         (WebCore::Settings::~Settings):
1454         (WebCore::Settings::create):
1455         (WebCore::Settings::standardFontFamily):
1456         (WebCore::Settings::setStandardFontFamily):
1457         (WebCore::Settings::fixedFontFamily):
1458         (WebCore::Settings::setFixedFontFamily):
1459         (WebCore::Settings::serifFontFamily):
1460         (WebCore::Settings::setSerifFontFamily):
1461         (WebCore::Settings::sansSerifFontFamily):
1462         (WebCore::Settings::setSansSerifFontFamily):
1463         (WebCore::Settings::cursiveFontFamily):
1464         (WebCore::Settings::setCursiveFontFamily):
1465         (WebCore::Settings::fantasyFontFamily):
1466         (WebCore::Settings::setFantasyFontFamily):
1467         (WebCore::Settings::pictographFontFamily):
1468         (WebCore::Settings::setPictographFontFamily):
1469         * page/Settings.h:
1470         * platform/graphics/FontGenericFamilies.cpp: Added.
1471         (WebCore::setGenericFontFamilyForScript):
1472         (WebCore::genericFontFamilyForScript):
1473         (WebCore::FontGenericFamilies::FontGenericFamilies):
1474         (WebCore::FontGenericFamilies::standardFontFamily):
1475         (WebCore::FontGenericFamilies::fixedFontFamily):
1476         (WebCore::FontGenericFamilies::serifFontFamily):
1477         (WebCore::FontGenericFamilies::sansSerifFontFamily):
1478         (WebCore::FontGenericFamilies::cursiveFontFamily):
1479         (WebCore::FontGenericFamilies::fantasyFontFamily):
1480         (WebCore::FontGenericFamilies::pictographFontFamily):
1481         (WebCore::FontGenericFamilies::setStandardFontFamily):
1482         (WebCore::FontGenericFamilies::setFixedFontFamily):
1483         (WebCore::FontGenericFamilies::setSerifFontFamily):
1484         (WebCore::FontGenericFamilies::setSansSerifFontFamily):
1485         (WebCore::FontGenericFamilies::setCursiveFontFamily):
1486         (WebCore::FontGenericFamilies::setFantasyFontFamily):
1487         (WebCore::FontGenericFamilies::setPictographFontFamily):
1488         * platform/graphics/FontGenericFamilies.h: Added.
1489         (WebCore::UScriptCodeHashTraits::emptyValue):
1490         (WebCore::UScriptCodeHashTraits::constructDeletedValue):
1491         (WebCore::UScriptCodeHashTraits::isDeletedValue):
1492         (WebCore::FontGenericFamilies::create):
1493
1494 2013-05-30  Andreas Kling  <akling@apple.com>
1495
1496         Avoid using CSSOM style declarations in HTML editing.
1497         <http://webkit.org/b/117019>
1498
1499         Reviewed by Antti Koivisto.
1500
1501         Convert the editing code to use ComputedStyleExtractor instead of instantiating CSSOM wrappers.
1502
1503         * css/CSSComputedStyleDeclaration.h:
1504         * css/CSSComputedStyleDeclaration.cpp:
1505         (WebCore::ComputedStyleExtractor::getFontSizeCSSValuePreferringKeyword):
1506         (WebCore::ComputedStyleExtractor::useFixedFontDefaultSize):
1507         (WebCore::ComputedStyleExtractor::propertyMatches):
1508         (WebCore::ComputedStyleExtractor::copyProperties):
1509         (WebCore::ComputedStyleExtractor::copyPropertiesInSet):
1510
1511             Moved here from CSSComputedStyleDeclaration. These methods are used by HTML editing.
1512
1513         (WebCore::CSSComputedStyleDeclaration::copyProperties):
1514
1515             Reimplemented to call ComputedStyleExtractor.
1516
1517         * css/CSSStyleDeclaration.h:
1518         * css/PropertySetCSSStyleDeclaration.h:
1519         * css/PropertySetCSSStyleDeclaration.cpp:
1520         (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
1521
1522             Removed CSSStyleDeclaration::cssPropertyMatches(), the remaining code lives in
1523             ComputedStyleExtractor::propertyMatches() and is only used by HTML editing.
1524
1525         * css/StylePropertySet.h:
1526         * css/StylePropertySet.cpp:
1527         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
1528
1529             Added an overload that takes a ComputedStyleExtractor.
1530             This code should move into EditingStyle.cpp, material for a follow-up patch.
1531
1532         * editing/ApplyStyleCommand.cpp:
1533         (WebCore::toIdentifier):
1534
1535             Add a file-local helper for yanking the identifier value (if any) out of a CSSPrimitiveValue.
1536
1537         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
1538         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1539         (WebCore::highestEmbeddingAncestor):
1540         * editing/EditingStyle.h:
1541         * editing/EditingStyle.cpp:
1542         (WebCore::editingStyleFromComputedStyle):
1543         (WebCore::extractPropertyValue):
1544         (WebCore::identifierForStyleProperty):
1545         (WebCore::textColorFromStyle):
1546         (WebCore::backgroundColorFromStyle):
1547         (WebCore::EditingStyle::init):
1548         (WebCore::EditingStyle::removeStyleAddedByNode):
1549         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
1550         (WebCore::EditingStyle::triStateOfStyle):
1551         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
1552         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
1553         (WebCore::StyleChange::StyleChange):
1554         (WebCore::fontWeightIsBold):
1555         (WebCore::extractPropertiesNotIn):
1556         (WebCore::getPropertiesNotIn):
1557
1558             Use ComputedStyleExtractor instead of CSSComputedStyleDeclaration in all of this code.
1559             Templatized a bunch of the code so we don't have to repeat ourselves for both StylePropertySet
1560             and ComputedStyleExtractor inputs.
1561
1562 2013-05-30  Roland Takacs  <rtakacs@inf.u-szeged.hu>
1563
1564         Remove "hidden"=true from Inspector.json
1565         https://bugs.webkit.org/show_bug.cgi?id=114116
1566
1567         Reviewed by Timothy Hatcher.
1568
1569         Remove "hidden"=true because it's a Chromium concept.
1570         Patch created by Timothy Hatcher.
1571
1572         * inspector/Inspector.json:
1573
1574 2013-05-30  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1575
1576         [EFL][EGL] Implement TransportSurface client.
1577         https://bugs.webkit.org/show_bug.cgi?id=114122
1578
1579         Reviewed by Kenneth Rohde Christiansen.
1580
1581         Covered by existing WebGL tests.
1582
1583         This patch implements the client support for Transport
1584         Surface with EGL backend using GLES2.
1585
1586         * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
1587         (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
1588         (WebCore::GLTransportSurfaceClient::GLTransportSurfaceClient):
1589         * platform/graphics/surfaces/efl/GLTransportSurface.h:
1590         (GLTransportSurfaceClient):
1591         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
1592         (WebCore::GraphicsSurfacePrivate::initializeClient):
1593         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
1594         (WebCore):
1595         (WebCore::EGLConfigSelector::surfaceClientConfig):
1596         (WebCore::EGLConfigSelector::findMatchingConfigWithVisualId):
1597         * platform/graphics/surfaces/egl/EGLConfigSelector.h:
1598         (WebCore):
1599         (EGLConfigSelector):
1600
1601         Support for retrieving valid EGLConfig on client side.
1602
1603         * platform/graphics/surfaces/egl/EGLHelper.cpp:
1604         (WebCore):
1605         (WebCore::resolveDisplay):
1606         (WebCore::EGLHelper::resolveEGLBindings):
1607         (WebCore::EGLHelper::createEGLImage):
1608         (WebCore::EGLHelper::destroyEGLImage):
1609         (WebCore::EGLHelper::imageTargetTexture2DOES):
1610         * platform/graphics/surfaces/egl/EGLHelper.h:
1611
1612         Helper functions to create and destroy EGLImage.
1613
1614         * platform/graphics/surfaces/egl/EGLXSurface.cpp:
1615         (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
1616         (WebCore):
1617         (WebCore::EGLXTransportSurfaceClient::~EGLXTransportSurfaceClient):
1618         (WebCore::EGLXTransportSurfaceClient::destroy):
1619         (WebCore::EGLXTransportSurfaceClient::prepareTexture):
1620         (WebCore::EGLTextureFromPixmap::EGLTextureFromPixmap):
1621         (WebCore::EGLTextureFromPixmap::~EGLTextureFromPixmap):
1622         (WebCore::EGLTextureFromPixmap::destroy):
1623         (WebCore::EGLTextureFromPixmap::isValid):
1624         (WebCore::EGLTextureFromPixmap::bindTexImage):
1625         (WebCore::EGLTextureFromPixmap::reBindTexImage):
1626         * platform/graphics/surfaces/egl/EGLXSurface.h:
1627         (EGLXTransportSurfaceClient):
1628
1629         TransportSurfaceClient implementation.
1630
1631         (WebCore):
1632         * platform/graphics/surfaces/glx/GLXSurface.cpp:
1633         (WebCore::GLXTransportSurfaceClient::GLXTransportSurfaceClient):
1634         * platform/graphics/surfaces/glx/GLXSurface.h:
1635         (GLXTransportSurfaceClient):
1636         * platform/graphics/surfaces/glx/X11Helper.cpp:
1637         (WebCore::X11Helper::createOffScreenWindow):
1638         (WebCore):
1639         (WebCore::X11Helper::createPixmap):
1640         * platform/graphics/surfaces/glx/X11Helper.h:
1641         (X11Helper):
1642
1643 2013-05-30  Mike West  <mkwst@chromium.org>
1644
1645         Rename 'KURL::elidedString' and inspector's 'String.prototype.trimMiddle' for clarity.
1646         https://bugs.webkit.org/show_bug.cgi?id=111700
1647
1648         Reviewed by Darin Adler.
1649
1650         Darin suggested that 'KURL::elidedString' is inaccurately named[1], this
1651         patch is an attempt to do better. It additionally brings the Inspector's
1652         'String.prototype.trimMiddle' method into line, as the two methods do
1653         more or less the same thing.
1654
1655         After a bit of discussion with Maciej and Daniel Bates on IRC, I've
1656         settled on 'KURL::stringCenterEllipsizedToLength(unsigned)' and
1657         'String.prototype.centerEllipsizedToLength(number)' respectively.
1658
1659         No new tests are added, as this patch shouldn't have any visible effect
1660         on the web. It's strictly an internal refactoring.
1661
1662         * Modules/websockets/WebSocket.cpp:
1663         (WebCore::WebSocket::connect):
1664         (WebCore::WebSocket::send):
1665         * Modules/websockets/WebSocketChannel.cpp:
1666         (WebCore::WebSocketChannel::send):
1667         (WebCore::WebSocketChannel::fail):
1668         * bindings/ScriptControllerBase.cpp:
1669         (WebCore::ScriptController::canExecuteScripts):
1670         * dom/Document.cpp:
1671         (WebCore::Document::processHttpEquiv):
1672         * dom/ScriptElement.cpp:
1673         (WebCore::ScriptElement::executeScript):
1674         * html/HTMLMediaElement.cpp:
1675         (WebCore::HTMLMediaElement::canPlayType):
1676         (WebCore::HTMLMediaElement::isSafeToLoadURL):
1677         * loader/FrameLoader.cpp:
1678         (WebCore::FrameLoader::submitForm):
1679         (WebCore::FrameLoader::loadFrameRequest):
1680         (WebCore::FrameLoader::commitProvisionalLoad):
1681         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
1682         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
1683         (WebCore::createWindow):
1684         * loader/MainResourceLoader.cpp:
1685         (WebCore::MainResourceLoader::willSendRequest):
1686         (WebCore::MainResourceLoader::responseReceived):
1687         * loader/MixedContentChecker.cpp:
1688         (WebCore::MixedContentChecker::logWarning):
1689         * loader/appcache/ApplicationCacheGroup.cpp:
1690         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1691         (WebCore::ApplicationCacheGroup::didFail):
1692         * loader/cache/CachedResourceLoader.cpp:
1693         (WebCore::CachedResourceLoader::canRequest):
1694         (WebCore::CachedResourceLoader::requestResource):
1695         (WebCore::CachedResourceLoader::loadResource):
1696         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
1697         * page/ContentSecurityPolicy.cpp:
1698         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
1699         (WebCore::CSPDirectiveList::allowScriptNonce):
1700         (WebCore::CSPDirectiveList::allowPluginType):
1701         * platform/KURL.cpp:
1702         (WebCore::KURL::stringCenterEllipsizedToLength):
1703         * platform/KURL.h:
1704             Rename 'KURL::elidedString' to 'KURL::stringCenterEllipsizedToLength',
1705             and adjust callsites accordingly.
1706         * inspector/front-end/CallStackSidebarPane.js:
1707         (WebInspector.CallStackSidebarPane.Placard.prototype._update):
1708         * inspector/front-end/ElementsTreeOutline.js:
1709         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
1710         * inspector/front-end/HeapSnapshotGridNodes.js:
1711         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
1712         * inspector/front-end/Linkifier.js:
1713         (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
1714         * inspector/front-end/ResourceUtils.js:
1715         (WebInspector.linkifyURLAsNode):
1716         * inspector/front-end/TabbedEditorContainer.js:
1717         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
1718         * inspector/front-end/utilities.js:
1719             Rename 'String.prototype.trimMiddle' to 'String.prototype.centerEllipsizedToLength'
1720             and adjust callsites accordingly.
1721
1722 2013-05-30  Antti Koivisto  <antti@apple.com>
1723
1724         Rename FontFallbackList.cpp/h to FontGlyphs.cpp/h
1725         https://bugs.webkit.org/show_bug.cgi?id=117022
1726
1727         Reviewed by Andreas Kling.
1728
1729         Rename to match the class name.
1730
1731         * CMakeLists.txt:
1732         * GNUmakefile.list.am:
1733         * Target.pri:
1734         * WebCore.vcproj/WebCore.vcproj:
1735         * WebCore.vcxproj/WebCore.vcxproj:
1736         * WebCore.vcxproj/WebCore.vcxproj.filters:
1737         * WebCore.xcodeproj/project.pbxproj:
1738         * platform/graphics/Font.h:
1739         * platform/graphics/FontCache.cpp:
1740         * platform/graphics/FontFallbackList.cpp: Removed.
1741         * platform/graphics/FontFallbackList.h: Removed.
1742         * platform/graphics/FontFastPath.cpp:
1743         * platform/graphics/FontGlyphs.cpp: Copied from Source/WebCore/platform/graphics/FontFallbackList.cpp.
1744         * platform/graphics/FontGlyphs.h: Copied from Source/WebCore/platform/graphics/FontFallbackList.h.
1745         * platform/graphics/mac/FontComplexTextMac.cpp:
1746
1747 2013-05-30  Ryosuke Niwa  <rniwa@webkit.org>
1748
1749         Get rid of Position::computedStyle
1750         https://bugs.webkit.org/show_bug.cgi?id=117024
1751
1752         Reviewed by Andreas Kling.
1753
1754         Removed the function.
1755
1756         * dom/Position.cpp:
1757         * dom/Position.h:
1758         * editing/ApplyStyleCommand.cpp:
1759         (WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange): We need a position
1760         inside the dummy element since we'll get the containing element's style instead
1761         if we had the position before the dummy element.
1762         * editing/EditingStyle.cpp:
1763         (WebCore::StyleChange::StyleChange):
1764
1765 2013-05-30  Seokju Kwon  <seokju.kwon@gmail.com>
1766
1767         Remove obsolete forward declaration from InspectorFrontendHost.h
1768         https://bugs.webkit.org/show_bug.cgi?id=117017
1769
1770         Reviewed by Joseph Pecoraro.
1771
1772         Remove obsolete forward declaration and fix style issue as well.
1773
1774         No change in behavior, no new tests.
1775
1776         * inspector/InspectorFrontendHost.h:
1777         (WebCore):
1778         (InspectorFrontendHost):
1779
1780 2013-05-29  Tim Horton  <timothy_horton@apple.com>
1781
1782         Expose incrementalRenderingSuppressionTimeout via WK2
1783         https://bugs.webkit.org/show_bug.cgi?id=117015
1784         <rdar://problem/13992853>
1785
1786         Reviewed by Darin Adler.
1787
1788         * dom/Document.cpp:
1789         (WebCore::Document::setVisualUpdatesAllowed):
1790         Inform the FrameLoader that we're ready to transition the page, if
1791         nothing else already has. This will be forwarded to the FrameLoaderClient,
1792         and WebKit2's implementation will go ahead and un-freeze the layer tree,
1793         so that the incremental rendering suppression watchdog timer actually works.
1794
1795         (WebCore::Document::setVisualUpdatesAllowedByClient):
1796         Make incremental rendering suppression extension tokens play nice with the
1797         watchdog timer; allow setVisualUpdatesAllowedByClient=true to re-enable updates
1798         if either the page is in the "completed" state or the watchdog has already fired.
1799
1800         * loader/FrameLoader.cpp:
1801         * loader/FrameLoader.h:
1802         (WebCore::FrameLoader::forcePageTransitionIfNeeded): Added.
1803         Forward to the client.
1804
1805         * loader/FrameLoaderClient.h:
1806         (WebCore::FrameLoaderClient::forcePageTransitionIfNeeded): Added.
1807
1808 2013-05-29  Praveen R Jadhav  <praveen.j@samsung.com>
1809
1810         ProgressEvent should not be cancelable
1811         https://bugs.webkit.org/show_bug.cgi?id=114444
1812
1813         Reviewed by Darin Adler.
1814
1815         Parameter "cancelable" in ProgressEvent is set to false, by default, as mentioned in the specification. The spec link is given below.
1816
1817         Spec: http://www.w3.org/TR/2011/CR-progress-events-20110922/#suggested-names-for-events-using-the-progressevent-interface
1818
1819         No new tests. file-reader-event-listener.html and infoOnProgressEvent-expected.txt are updated.
1820
1821         * dom/ProgressEvent.cpp:
1822         (WebCore::ProgressEvent::ProgressEvent):
1823         (WebCore):
1824
1825 2013-05-29  Simon Fraser  <simon.fraser@apple.com>
1826
1827         Fix paint-related milestones to not fire when the layer tree is frozen
1828         https://bugs.webkit.org/show_bug.cgi?id=117012
1829
1830         Reviewed by Tim Horton.
1831
1832         In the previous code, it was possible to paint some layer and schedule
1833         the m_paintRelatedMilestonesTimer, but then the layer tree was put into
1834         a frozen state because the page redirected. However, the paint-related
1835         milestones timer would still fire. This caused woes with header/footer
1836         banners.
1837         
1838         Fix by not firing paint-related milestones if the layer tree is frozen,
1839         which we know via a new ChromeClient callback. When unfrozen, we'll
1840         paint again, and fire the timer later.
1841
1842         * page/ChromeClient.h:
1843         (WebCore::ChromeClient::layerTreeStateIsFrozen):
1844         * rendering/RenderLayerCompositor.cpp:
1845         (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
1846
1847 2013-05-29  Ryosuke Niwa  <rniwa@webkit.org>
1848
1849         Store form control list with RefPtr
1850         https://bugs.webkit.org/show_bug.cgi?id=116910
1851
1852         Reviewed by Kent Tamura.
1853
1854         Merge https://chromium.googlesource.com/chromium/blink/+/582132773280455ead1d42b0073be37efdeaf989.
1855
1856         Unfortunately, the Blink change doesn't provide much insight as to what kind of crashes are fixed
1857         by this code change but it cleans up the way form elements with state are registered to the form
1858         controller so it seems benefitial to merge it anyway.
1859
1860         * dom/Document.cpp:
1861         (WebCore::Document::dispose):
1862         * html/FormController.cpp:
1863         (WebCore::FormController::createSavedFormStateMap):
1864         (WebCore::FormController::registerFormElementWithState):
1865         (WebCore::FormController::unregisterFormElementWithState):
1866         (WebCore):
1867         * html/FormController.h:
1868         (FormController):
1869         * html/HTMLFormControlElementWithState.cpp:
1870         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
1871         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
1872         (WebCore::HTMLFormControlElementWithState::insertedInto):
1873         (WebCore):
1874         (WebCore::HTMLFormControlElementWithState::removedFrom):
1875         * html/HTMLFormControlElementWithState.h:
1876         (HTMLFormControlElementWithState):
1877         * html/HTMLTextFormControlElement.cpp:
1878         (WebCore::HTMLTextFormControlElement::insertedInto):
1879
1880 2013-05-29  Andreas Kling  <akling@apple.com>
1881
1882         Take ComputedStyleExtractor for a spin.
1883         <http://webkit.org/b/116968>
1884
1885         Reviewed by Antti Koivisto.
1886
1887         Convert some editing and SVG code to use ComputedStyleExtractor instead of creating full
1888         blown CSSComputedStyleDeclaration objects.
1889
1890         * editing/ApplyStyleCommand.cpp:
1891         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
1892         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1893         (WebCore::highestEmbeddingAncestor):
1894         (WebCore::ApplyStyleCommand::computedFontSize):
1895         * editing/EditingStyle.cpp:
1896         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1897         (WebCore::EditingStyle::textDirectionForSelection):
1898         (WebCore::getIdentifierValue):
1899         (WebCore::backgroundColorInEffect):
1900         * editing/EditingStyle.h:
1901         * svg/SVGAnimationElement.cpp:
1902         (WebCore::SVGAnimationElement::computeCSSPropertyValue):
1903
1904 2013-05-29  Benjamin Poulain  <bpoulain@apple.com>
1905
1906         Add a special case for SelectorDataList::execute when there is only one selector
1907         https://bugs.webkit.org/show_bug.cgi?id=116891
1908
1909         Reviewed by Andreas Kling.
1910
1911         In the vast majority of cases, querySelector is called with a single selector.
1912
1913         This patch takes that input into account to improve the performance of
1914         SelectorDataList::execute(). For the case of a single selector, we avoid three
1915         branches executed for every node of the traversal.
1916
1917         This improves QuerySelector's time by 2.3%.
1918
1919         * dom/SelectorQuery.cpp:
1920         (WebCore::SelectorDataList::execute):
1921
1922 2013-05-29  Dean Jackson  <dino@apple.com>
1923
1924         -webkit-text-underline-position should not be inherited
1925         https://bugs.webkit.org/show_bug.cgi?id=116363
1926
1927         Reverting http://trac.webkit.org/changeset/150366
1928         It was an incorrect fix referring to an old specification.
1929
1930         * css/CSSProperty.cpp:
1931         (WebCore::CSSProperty::isInheritedProperty):
1932         * rendering/style/RenderStyle.h:
1933         * rendering/style/StyleRareInheritedData.cpp:
1934         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1935         (WebCore::StyleRareInheritedData::operator==):
1936         * rendering/style/StyleRareInheritedData.h:
1937         (StyleRareInheritedData):
1938         * rendering/style/StyleRareNonInheritedData.cpp:
1939         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1940         (WebCore::StyleRareNonInheritedData::operator==):
1941         * rendering/style/StyleRareNonInheritedData.h:
1942         (StyleRareNonInheritedData):
1943
1944 2013-05-29  Ryuan Choi  <ryuan.choi@samsung.com>
1945
1946         [CMAKE] cmake errors when CMAKE_BUILD_TYPE is not specified.
1947         https://bugs.webkit.org/show_bug.cgi?id=116899
1948
1949         Reviewed by Laszlo Gombos.
1950
1951         * CMakeLists.txt: Fixed if statement to escape when find command fails.
1952
1953 2013-05-28  Oliver Hunt  <oliver@apple.com>
1954
1955         Add more accurate activity state tracking
1956         https://bugs.webkit.org/show_bug.cgi?id=116893
1957
1958         Reviewed by Gavin Barraclough.
1959
1960         Add a hysteresis to Page activity throttling.  We do this
1961         through a PageThrottler class that now handles entering and
1962         exiting throttling state, and adds a hysteresis to we can
1963         limit the amount of on/off bouncing on the throttle.
1964
1965         Media elements now make use of this to disable timer throttling
1966         while they are playing, and plugins use it to momentarily bounce
1967         from throttled to unthrottled state.
1968
1969         * CMakeLists.txt:
1970         * GNUmakefile.list.am:
1971         * Target.pri:
1972         * WebCore.exp.in:
1973         * WebCore.vcproj/WebCore.vcproj:
1974         * WebCore.vcxproj/WebCore.vcxproj:
1975         * WebCore.vcxproj/WebCore.vcxproj.filters:
1976         * WebCore.xcodeproj/project.pbxproj:
1977         * html/HTMLMediaElement.cpp:
1978         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1979         (WebCore::HTMLMediaElement::pageThrottlerIfPossible):
1980         (WebCore):
1981         (WebCore::HTMLMediaElement::playInternal):
1982         (WebCore::HTMLMediaElement::pauseInternal):
1983         * html/HTMLMediaElement.h:
1984         (WebCore):
1985         * html/MediaController.cpp:
1986         (MediaController::unpause):
1987         * page/ChromeClient.h:
1988         (WebCore::ChromeClient::incrementActivePageCount):
1989         (WebCore::ChromeClient::decrementActivePageCount):
1990         (ChromeClient):
1991         * page/Page.cpp:
1992         (WebCore::Page::Page):
1993         (WebCore::Page::~Page):
1994         (WebCore::Page::setThrottled):
1995         * page/Page.h:
1996         (WebCore):
1997         (Page):
1998         (WebCore::Page::pageThrottler):
1999         * page/PageThrottleState.h: Added.
2000         * page/PageThrottler.cpp: Added.
2001         (WebCore):
2002         (WebCore::PageThrottler::PageThrottler):
2003         (WebCore::PageThrottler::~PageThrottler):
2004         (WebCore::PageThrottler::clearPage):
2005         (WebCore::PageThrottler::throttlePage):
2006         (WebCore::PageThrottler::unthrottlePage):
2007         (WebCore::PageThrottler::setThrottled):
2008         (WebCore::PageThrottler::preventThrottling):
2009         (WebCore::PageThrottler::allowThrottling):
2010         (WebCore::PageThrottler::stopThrottleHysteresisTimer):
2011         (WebCore::PageThrottler::reportInterestingEvent):
2012         (WebCore::PageThrottler::startThrottleHysteresisTimer):
2013         (WebCore::PageThrottler::throttleHysteresisTimerFired):
2014         * page/PageThrottler.h: Added.
2015         (WebCore):
2016         (PageThrottler):
2017         (WebCore::PageThrottler::create):
2018         (WebCore::PageThrottler::shouldThrottleAnimations):
2019         (WebCore::PageThrottler::shouldThrottleTimers):
2020
2021 2013-05-29  Kent Tamura  <tkent@chromium.org>
2022
2023         Remove leftover files for ENABLE_PAGE_POPUP and ENABLE_CALENDAR_PICKER
2024         https://bugs.webkit.org/show_bug.cgi?id=116999
2025
2026         Reviewed by Anders Carlsson.
2027
2028         * Resources/pagepopups/colorSuggestionPicker.css: Removed.
2029         * Resources/pagepopups/colorSuggestionPicker.js: Removed.
2030         * Resources/pagepopups/pickerCommon.css: Removed.
2031         * Resources/pagepopups/pickerCommon.js: Removed.
2032         * Resources/pagepopups/suggestionPicker.css: Removed.
2033         * Resources/pagepopups/suggestionPicker.js: Removed.
2034
2035 2013-05-29  Jer Noble  <jer.noble@apple.com>
2036
2037         Unreviewed build fix; remove unintentional semicolon.
2038
2039         * Modules/webaudio/AudioScheduledSourceNode.cpp:
2040         (WebCore::AudioScheduledSourceNode::finish):
2041
2042 2013-05-29  Anders Carlsson  <andersca@apple.com>
2043
2044         Merge PODArea::Chunk into PODFreeListArena::FreeListChunk
2045         https://bugs.webkit.org/show_bug.cgi?id=117000
2046
2047         Reviewed by Oliver Hunt.
2048
2049         * platform/PODArena.h:
2050         (WebCore::PODArena::roundUp):
2051         * platform/PODFreeListArena.h:
2052         (PODFreeListArena):
2053         (WebCore::PODFreeListArena::FreeListChunk::FreeListChunk):
2054         (FreeListChunk):
2055         (WebCore::PODFreeListArena::FreeListChunk::~FreeListChunk):
2056         (WebCore::PODFreeListArena::FreeListChunk::allocate):
2057
2058 2013-05-29  Anders Carlsson  <andersca@apple.com>
2059
2060         Move some PODArena members to PODFreeListArena
2061         https://bugs.webkit.org/show_bug.cgi?id=116993
2062
2063         Reviewed by Sam Weinig.
2064
2065         This is more work towards merging the two classes.
2066
2067         * platform/PODArena.h:
2068         (PODArena):
2069         * platform/PODFreeListArena.h:
2070         (PODFreeListArena):
2071         (WebCore::PODFreeListArena::PODFreeListArena):
2072
2073 2013-05-29  Jer Noble  <jer.noble@apple.com>
2074
2075         [Mac] Scrubbing long movie files results in timeline snapping back to 0 during scrub.
2076         https://bugs.webkit.org/show_bug.cgi?id=116986
2077
2078         Reviewed by Eric Carlson.
2079
2080         Keep a count of the number of in-flight seek requests, and only issue a timeupdate
2081         (which triggers a "seeked" event) when the final seek completes.
2082
2083         Test: media/video-seek-multiple.html
2084
2085         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2086         (WebCore::MediaPlayerPrivateAVFoundation::seek):
2087         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2088         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2089         (MediaPlayerPrivateAVFoundation):
2090
2091 2013-05-29  Anders Carlsson  <andersca@apple.com>
2092
2093         Remove unused code from PODArena
2094         https://bugs.webkit.org/show_bug.cgi?id=116990
2095
2096         Reviewed by Sam Weinig.
2097
2098         PODArena is only used as a base class of PODFreeListArena so remove unused member functions and make all
2099         members protected to make it impossible to use it without subclassing.
2100
2101         PODArena is a risky class to use since it doesn't return memory to the system unless the arena object is destroyed.
2102         This was the reason why PODFreeListArea was added. An upcoming patch will merge PODArena with PODFreeListArena and
2103         this is a small step towards that goal.
2104
2105         * platform/PODArena.h:
2106
2107 2013-05-29  Darin Adler  <darin@apple.com>
2108
2109         Remove custom binding for Clipboard setDragImage function
2110         https://bugs.webkit.org/show_bug.cgi?id=116422
2111
2112         Reviewed by Sam Weinig.
2113
2114         * bindings/js/JSClipboardCustom.cpp: Removed setDragImage binding.
2115
2116         * dom/Clipboard.cpp:
2117         (WebCore::Clipboard::canSetDragImage): Added a condition that this is a drag
2118         and drop clipboard. That used to be checked in the setDragImage binding.
2119         (WebCore::Clipboard::setDragImage): Added a version that takes an Element
2120         and calls through to the existing functions (in the legacy code path), or handles
2121         both the Element and HTMLImageElement not-in-document cases (in the new code path).
2122
2123         * dom/Clipboard.h: Updated for changes above.
2124
2125         * dom/Clipboard.idl: Removed [Custom] from setDragImage.
2126
2127         * page/EventHandler.cpp:
2128         (WebCore::EventHandler::handleDrag): Call the new setDragImage instead of the
2129         old setDragImageElement.
2130
2131 2013-05-29  Praveen R Jadhav  <praveen.j@samsung.com>
2132
2133         Cleanup AudioSourceNode.idl from WebKit build.
2134         https://bugs.webkit.org/show_bug.cgi?id=116905.
2135
2136         Reviewed by Darin Adler.
2137
2138         AudioSourceNode.idl is not part of WebAudio Specifications anymore.
2139         AudioNode is inherited directly in all the audio source nodes.
2140
2141         No new tests. Current test cases will cover all the scenarios.
2142
2143         * CMakeLists.txt:
2144         * DerivedSources.make:
2145         * DerivedSources.pri:
2146         * GNUmakefile.list.am:
2147         * Modules/webaudio/AudioBufferSourceNode.h:
2148         * Modules/webaudio/AudioBufferSourceNode.idl:
2149         * Modules/webaudio/AudioScheduledSourceNode.cpp:
2150         (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
2151         * Modules/webaudio/AudioScheduledSourceNode.h:
2152         * Modules/webaudio/AudioSourceNode.h: Removed.
2153         * Modules/webaudio/AudioSourceNode.idl: Removed.
2154         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
2155         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
2156         * Modules/webaudio/MediaElementAudioSourceNode.h:
2157         (MediaElementAudioSourceNode):
2158         * Modules/webaudio/MediaElementAudioSourceNode.idl:
2159         * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
2160         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2161         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
2162         * Modules/webaudio/MediaStreamAudioSourceNode.h:
2163         (MediaStreamAudioSourceNode):
2164         * Modules/webaudio/MediaStreamAudioSourceNode.idl:
2165         * Modules/webaudio/OscillatorNode.h:
2166         * Modules/webaudio/OscillatorNode.idl:
2167         * Target.pri:
2168         * WebCore.xcodeproj/project.pbxproj:
2169
2170 2013-05-29  Adam Barth  <abarth@webkit.org>
2171
2172         Optimize RenderText::offsetNext for 8 bit strings
2173         https://bugs.webkit.org/show_bug.cgi?id=116877
2174
2175         Reviewed by Darin Adler.
2176
2177         Previously, this function was always upconverting strings to 16 bits in
2178         order to create a cursorMovementIterator. This patch adds a fast path
2179         for ASCII and Latin-1 strings, which don't need this complicated cursor
2180         movement logic.
2181
2182         I ran into this code because nextOffset showed up as a memory pig on a
2183         memory profile of Mobile Gmail.
2184
2185         Test: editing/selection/move-by-character-brute-force.html
2186
2187         * rendering/RenderText.cpp:
2188         (WebCore::RenderText::previousOffset):
2189         (WebCore::RenderText::nextOffset):
2190
2191 2013-05-29  Brent Fulgham  <bfulgham@apple.com>
2192
2193         [Windows] Correct copy command (form versus forms)
2194
2195         * WebCore.vcproj/copyForwardingHeaders.cmd:
2196         * WebCore.vcxproj/copyForwardingHeaders.cmd:
2197
2198 2013-05-29  Bem Jones-Bey  <bjonesbe@adobe.com>
2199
2200         [CSS Shapes] Fix style issues in BasicShapes
2201         https://bugs.webkit.org/show_bug.cgi?id=116734
2202
2203         Reviewed by Alexandru Chiculita.
2204
2205         Fix indentation in BasicShapes.cpp, and change enums to respect the
2206         style rules CamelCase instead of HAVING_UNDERSCORES.
2207
2208         No new tests, only style changes.
2209
2210         * css/BasicShapeFunctions.cpp:
2211         (WebCore::valueForBasicShape):
2212         (WebCore::basicShapeForValue):
2213         * css/CSSBasicShapes.cpp:
2214         (WebCore::buildRectangleString):
2215         (WebCore::CSSBasicShapeRectangle::equals):
2216         (WebCore::CSSBasicShapeCircle::equals):
2217         (WebCore::CSSBasicShapeEllipse::equals):
2218         (WebCore::CSSBasicShapePolygon::equals):
2219         (WebCore::CSSBasicShapeInsetRectangle::equals):
2220         * css/CSSBasicShapes.h:
2221         (WebCore::CSSBasicShapeRectangle::type):
2222         (WebCore::CSSBasicShapeInsetRectangle::type):
2223         (WebCore::CSSBasicShapeCircle::type):
2224         (WebCore::CSSBasicShapeEllipse::type):
2225         (WebCore::CSSBasicShapePolygon::type):
2226         * rendering/ExclusionShape.cpp:
2227         (WebCore::ExclusionShape::createExclusionShape):
2228         * rendering/ExclusionShapeInsideInfo.cpp:
2229         (WebCore::ExclusionShapeInsideInfo::isEnabledFor):
2230         * rendering/ExclusionShapeOutsideInfo.cpp:
2231         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor):
2232         * rendering/style/BasicShapes.cpp:
2233         (WebCore::BasicShape::canBlend):
2234         (WebCore::BasicShapeRectangle::path):
2235         (WebCore::BasicShapeCircle::path):
2236         (WebCore::BasicShapeEllipse::path):
2237         (WebCore::BasicShapeInsetRectangle::path):
2238         * rendering/style/BasicShapes.h:
2239         (WebCore::BasicShapeRectangle::type):
2240         (WebCore::BasicShapeCircle::type):
2241         (WebCore::BasicShapeEllipse::type):
2242         (WebCore::BasicShapePolygon::type):
2243         (WebCore::BasicShapeInsetRectangle::type):
2244
2245 2013-05-29  Otto Derek Cheung  <otcheung@rim.com>
2246
2247         [BlackBerry] Handle Host-Only cookies
2248         https://bugs.webkit.org/show_bug.cgi?id=116969
2249
2250         PR 338809
2251         Reviewed by Rob Buis.
2252         Internally Reviewed by Joe Mason.
2253
2254         Adding support for host-only cookies (cookies with no
2255         specified domains). These cookies should only be returned
2256         when the host matches the cookie domain exactly.
2257
2258         Tested using Opera and Browser cookie test suite. Tested
2259         that host cookies are being stored in it's own map using
2260         Web Inspector.
2261
2262         * platform/blackberry/CookieManager.cpp:
2263         (WebCore::CookieManager::getRawCookies):
2264         (WebCore::CookieManager::checkAndTreatCookie):
2265         (WebCore::CookieManager::findOrCreateCookieMap):
2266         * platform/blackberry/CookieParser.cpp:
2267         (WebCore::CookieParser::CookieParser):
2268         (WebCore::CookieParser::parseOneCookie):
2269         * platform/blackberry/ParsedCookie.h:
2270         (WebCore::ParsedCookie::isHostOnly):
2271         (ParsedCookie):
2272
2273 2013-05-29  Ryosuke Niwa  <rniwa@webkit.org>
2274
2275         Remove the size of DataVector in HTMLToken
2276         https://bugs.webkit.org/show_bug.cgi?id=116931
2277
2278         Reviewed by Sam Weinig.
2279
2280         Merge https://chromium.googlesource.com/chromium/blink/+/7977721e62c471bfa17b84d82cd5d8243a4eb9a9.
2281
2282         Shink HTMLToken by 1.5 kB
2283
2284         HTMLToken has an inline vector for buffering characters during tokenization. We
2285         originally picked the inline capacity of this buffer somewhat arbitrarily. This
2286         CL tunes the number based on a somewhat non-scientific browse of a number of
2287         popular web sites.
2288
2289         I (abarth) instrumented content_shell to log the length of each complete DataVector. I
2290         then browsed around a variety of web sites to collect data. The 99% percentile
2291         of DataVector lengths was just shy of 250 characters. I rounded that up to 256
2292         because powers of two are pretty. That means we'll malloc an external buffer
2293         less than 1% of the time, which seems fine.
2294
2295         * html/parser/HTMLToken.h:
2296         (HTMLToken):
2297
2298 2013-05-29  Brent Fulgham  <bfulgham@apple.com>
2299
2300         [Windows] Build correction after r150837
2301
2302         New 'forms' sub-folder of html needs to be included in
2303         copy operations.
2304
2305         * WebCore.vcproj/copyForwardingHeaders.cmd: copy html/forms.
2306         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Use correct
2307         'obj32' folder for build output.
2308         * WebCore.vcxproj/copyForwardingHeaders.cmd: copy html/forms.
2309
2310 2013-05-29  Tiancheng Jiang  <tijiang@rim.com>
2311
2312         [BlackBerry] Radio Button UX updates.
2313         https://bugs.webkit.org/show_bug.cgi?id=116881
2314
2315         Reviewed by Rob Buis.
2316
2317         BlackBerry PR 342322.
2318         Internally Reviewed by Jeff Rogers.
2319         Change images.
2320
2321         * platform/blackberry/RenderThemeBlackBerry.cpp:
2322         (WebCore::RenderThemeBlackBerry::paintRadio):
2323
2324 2013-05-29  Tiancheng Jiang  <tijiang@rim.com>
2325
2326         [BlackBerry] Datetime string is not centred in form controls.
2327         https://bugs.webkit.org/show_bug.cgi?id=100760
2328
2329         Reviewed by Rob Buis.
2330
2331         BlackBerry PR 343512
2332         Internally Reviewed by Jeff Rogers.
2333
2334         Adjust margin for inner text node of datetime form controls.
2335
2336         * css/themeBlackBerry.css:
2337         (input::-webkit-date-and-time-value):
2338
2339 2013-05-29  Brent Fulgham  <bfulgham@apple.com>
2340
2341         [Windows] Build correction after r150876
2342
2343         A clean build will now fail because the BaseMultipleFieldsDateAndTimeInputType sources have
2344         been removed, but are still referenced in the project file.
2345
2346         * WebCore.vcxproj/WebCore.vcxproj: Remove reference to BaseMultipleFieldsDateAndTimeInputType
2347         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
2348
2349 2013-05-28  Jer Noble  <jer.noble@apple.com>
2350
2351         Support the 'onended' EventListener property for AudioBufferSourceNode and OscillatorNode.
2352         https://bugs.webkit.org/show_bug.cgi?id=116798
2353
2354         Reviewed by Eric Carlson.
2355
2356         Tests: webaudio/audiobuffersource-ended.html
2357                webaudio/oscillator-ended.html
2358
2359         * Modules/webaudio/AudioScheduledSourceNode.cpp:
2360         (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
2361         (WebCore::AudioScheduledSourceNode::setOnended): Set m_hasEndedListener.
2362         (WebCore::AudioScheduledSourceNode::finish): Call notifyEndedDispatch on the main thread.
2363         (WebCore::AudioScheduledSourceNode::notifyEndedDispatch): Call notifyEnded().
2364         (WebCore::AudioScheduledSourceNode::notifyEnded): Call the onended event listener.
2365         * Modules/webaudio/AudioScheduledSourceNode.h:
2366         (WebCore::AudioScheduledSourceNode::onended): Added boilerplate.
2367         * Modules/webaudio/AudioBufferSourceNode.idl: Added the onerror attribute.
2368         * Modules/webaudio/OscillatorNode.idl: Ditto.
2369
2370 2013-05-29  Bem Jones-Bey  <bjonesbe@adobe.com>
2371
2372         [CSS Shapes] Support parsing inset-rectangle shapes
2373         https://bugs.webkit.org/show_bug.cgi?id=116638
2374
2375         Reviewed by Dean Jackson.
2376
2377         Add parsing for inset-rectangle. It's very similar to parsing for
2378         rectangle.
2379
2380         No new tests, updated existing tests to cover this.
2381
2382         * css/BasicShapeFunctions.cpp:
2383         (WebCore::valueForBasicShape): Add support for inset rectangles.
2384         (WebCore::basicShapeForValue): Add support for inset rectangles.
2385         * css/CSSBasicShapes.cpp:
2386         (WebCore::buildInsetRectangleString): Create an inset-rectangle css
2387             string.
2388         (WebCore::CSSBasicShapeInsetRectangle::cssText): Convert inset
2389             rectangle shape to a CSS string.
2390         (WebCore::CSSBasicShapeInsetRectangle::equals): Compare two inset
2391             rectangles.
2392         (WebCore::CSSBasicShapeInsetRectangle::serializeResolvingVariables):
2393             Create an inset rectangle string, with CSS variables resolved.
2394         (WebCore::CSSBasicShapeInsetRectangle::hasVariableReference):
2395             Determine if this inset rectangle has any CSS Variable references.
2396         * css/CSSBasicShapes.h:
2397         (CSSBasicShapeInsetRectangle): Add inset rectangle class. This is a
2398             direct representation of the CSS property. All the methods below
2399             are just simple getters and setters, along with a construtor and a
2400             factory method.
2401         (WebCore::CSSBasicShapeInsetRectangle::create): 
2402         (WebCore::CSSBasicShapeInsetRectangle::top): 
2403         (WebCore::CSSBasicShapeInsetRectangle::right):
2404         (WebCore::CSSBasicShapeInsetRectangle::bottom):
2405         (WebCore::CSSBasicShapeInsetRectangle::left):
2406         (WebCore::CSSBasicShapeInsetRectangle::radiusX):
2407         (WebCore::CSSBasicShapeInsetRectangle::radiusY):
2408         (WebCore::CSSBasicShapeInsetRectangle::setTop):
2409         (WebCore::CSSBasicShapeInsetRectangle::setRight):
2410         (WebCore::CSSBasicShapeInsetRectangle::setBottom):
2411         (WebCore::CSSBasicShapeInsetRectangle::setLeft):
2412         (WebCore::CSSBasicShapeInsetRectangle::setRadiusX):
2413         (WebCore::CSSBasicShapeInsetRectangle::setRadiusY):
2414         (WebCore::CSSBasicShapeInsetRectangle::type):
2415         (WebCore::CSSBasicShapeInsetRectangle::CSSBasicShapeInsetRectangle):
2416         (WebCore):
2417         * css/CSSParser.cpp:
2418         (WebCore::CSSParser::parseBasicShapeInsetRectangle): Parse the
2419             inset-rectangle CSS property and create a
2420             CSSBasicShapeInsetRectangle.
2421         (WebCore::CSSParser::parseBasicShape): Add a call to parse
2422             inset-rectangle.
2423         * rendering/ExclusionShapeInsideInfo.cpp:
2424         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Disable
2425             inset-rectangles, since only the parsing has been implemented so
2426             far.
2427         * rendering/ExclusionShapeOutsideInfo.cpp:
2428         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Disable
2429             inset-rectangles, since only the parsing has been implemented so
2430             far.
2431         * rendering/style/BasicShapes.cpp:
2432         (WebCore::BasicShapeInsetRectangle::path): Calculate the Path for an
2433             inset-rectangle.
2434         (WebCore::BasicShapeInsetRectangle::blend): Blend two inset rectangles
2435             together at a point depending on the "progress" and return the
2436             blended rectangle.
2437         * rendering/style/BasicShapes.h:
2438         (BasicShapeInsetRectangle): Add higher level inset rectangle class.
2439             This is used outside of the CSS representation. The methods below
2440             are just simple getters and setters, along with a constructor and
2441             a factory method.
2442         (WebCore::BasicShapeInsetRectangle::create):
2443         (WebCore::BasicShapeInsetRectangle::top):
2444         (WebCore::BasicShapeInsetRectangle::right):
2445         (WebCore::BasicShapeInsetRectangle::bottom):
2446         (WebCore::BasicShapeInsetRectangle::left):
2447         (WebCore::BasicShapeInsetRectangle::cornerRadiusX):
2448         (WebCore::BasicShapeInsetRectangle::cornerRadiusY):
2449         (WebCore::BasicShapeInsetRectangle::setTop):
2450         (WebCore::BasicShapeInsetRectangle::setRight):
2451         (WebCore::BasicShapeInsetRectangle::setBottom):
2452         (WebCore::BasicShapeInsetRectangle::setLeft):
2453         (WebCore::BasicShapeInsetRectangle::setCornerRadiusX):
2454         (WebCore::BasicShapeInsetRectangle::setCornerRadiusY):
2455         (WebCore::BasicShapeInsetRectangle::type):
2456         (WebCore::BasicShapeInsetRectangle::BasicShapeInsetRectangle):
2457
2458 2013-05-29  Andreas Kling  <akling@apple.com>
2459
2460         Move computed style extraction out of CSSComputedStyleDeclaration.
2461         <http://webkit.org/b/116965>
2462
2463         Reviewed by Antti Koivisto.
2464
2465         Make it possible to get computed CSSValues from a Node without creating a CSSOM
2466         style declaration object.
2467
2468         The bulk of the logic moves to a new class; ComputedStyleExtractor, which can be created
2469         on the stack, and takes the same setup variables as CSSComputedStyleDeclaration.
2470
2471         This is prep to enable futuristic optimizations in editing and elsewhere.
2472
2473         * css/CSSComputedStyleDeclaration.h:
2474         * css/CSSComputedStyleDeclaration.cpp:
2475         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2476
2477             Create a ComputedStyleExtractor to do the work!
2478
2479         (WebCore::ComputedStyleExtractor::currentColorOrValidColor):
2480         (WebCore::ComputedStyleExtractor::valueForFilter):
2481         (WebCore::ComputedStyleExtractor::ComputedStyleExtractor):
2482         (WebCore::ComputedStyleExtractor::valueForShadow):
2483         (WebCore::ComputedStyleExtractor::styledNode):
2484         (WebCore::ComputedStyleExtractor::propertyValue):
2485         (WebCore::ComputedStyleExtractor::getCSSPropertyValuesForShorthandProperties):
2486         (WebCore::ComputedStyleExtractor::getCSSPropertyValuesForSidesShorthand):
2487         (WebCore::ComputedStyleExtractor::getCSSPropertyValuesForGridShorthand):
2488         (WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):
2489         * css/SVGCSSComputedStyleDeclaration.cpp:
2490         (WebCore::ComputedStyleExtractor::adjustSVGPaintForCurrentColor):
2491         (WebCore::ComputedStyleExtractor::svgPropertyValue):
2492
2493             Moved all of these from CSSComputedStyleDeclaration to the new class.
2494
2495         * rendering/style/RenderStyle.h:
2496         * svg/SVGPaint.h:
2497
2498             Have these two befriend ComputedStyleExtractor.
2499
2500 2013-05-29  Antti Koivisto  <antti@apple.com>
2501
2502         Another attempt to fix windows build.
2503         
2504         Not reviewed.
2505
2506         * css/CSSFontSelector.h:
2507
2508 2013-05-29  Antti Koivisto  <antti@apple.com>
2509
2510         Try to fix window build.
2511         
2512         Not reviewed.
2513
2514         * platform/graphics/FontCache.h:
2515         (WebCore::FontDescriptionFontDataCacheKey::computeHash):
2516
2517 2013-05-29  Simon Fraser  <simon.fraser@apple.com>
2518
2519         Fix the firing of m_paintRelatedMilestonesTimer
2520         https://bugs.webkit.org/show_bug.cgi?id=116919
2521
2522         Reviewed by Tim Horton.
2523
2524         r150671 intended to change things so that paint-related milestones
2525         only fire when painting has actually happened, so that WebKit clients
2526         are notified when we actually have bits to present.
2527         
2528         However, it made an incorrect assumption that painting would happen
2529         inside of flushCompositingState(). This is not the case; flushCompositingState()
2530         will just dirty CALayers, and later on Core Animation will ask us to paint them.
2531         
2532         This incorrect assumption meant that we would never start the
2533         m_paintRelatedMilestonesTimer, so never fire the milestones.
2534         
2535         Fix by starting the m_paintRelatedMilestonesTimer via the RenderLayerBacking
2536         paintContents call back. At this time we know we're painting, so we can both
2537         set the FrameView's last paint time, and start up the timer. We also only
2538         want to start the timer if there are pending milestones.
2539
2540         * rendering/RenderLayerBacking.cpp:
2541         (WebCore::RenderLayerBacking::paintIntoLayer):
2542         (WebCore::RenderLayerBacking::paintContents):
2543         * rendering/RenderLayerCompositor.cpp:
2544         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2545         (WebCore::RenderLayerCompositor::didPaintBacking):
2546         * rendering/RenderLayerCompositor.h:
2547         (RenderLayerCompositor):
2548
2549 2013-05-29  Antti Koivisto  <antti@apple.com>
2550
2551         Share FontGlyphs
2552         https://bugs.webkit.org/show_bug.cgi?id=116863
2553
2554         Reviewed by Anreas Kling.
2555
2556         Style system generates many Font objects that are identical or similar enough to have identical FontGlyphs. 
2557         We can figure out that the FontGlyphs are going to be the same and share them. This reduces memory usage.
2558         It also improves performance as the glyph cache and the width cache hang from FontGlyphs and their hit rate
2559         increases.
2560         
2561         On PLT3 this takes the number of live FontGlyphs at the end from 40k+ to <1k. Width cache hit rate improves
2562         from ~42% to ~55%.
2563
2564         * css/CSSFontSelector.cpp:
2565         (WebCore::CSSFontSelector::CSSFontSelector):
2566         
2567             Add unique id we can use in cache key.
2568
2569         (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
2570         
2571             Bump the version number on invalidation so we don't reuse cache entries after web font is loaded.
2572
2573         (WebCore::CSSFontSelector::resolvesFamilyFor):
2574         
2575             Test if FontSelector is needed for resolving a particular FontDescription.
2576
2577         * css/CSSFontSelector.h:
2578         * page/Settings.cpp:
2579         (WebCore::setGenericFontFamilyMap):
2580         
2581             Invalidate the cache if standard font settings change.
2582
2583         * platform/graphics/Font.cpp:
2584         (FontGlyphsCacheKey):
2585         (FontGlyphsCacheEntry):
2586         (WebCore::operator==):
2587         (WebCore::fontGlyphsCache):
2588         (WebCore::invalidateFontGlyphsCache):
2589         (WebCore::makeFontSelectorFlags):
2590         (WebCore::makeFontGlyphsCacheKey):
2591         
2592             The cache key consists of
2593             
2594             - all families.
2595             - shared key with the lower level FontData cache (FontCache), guaranteeing FontDatas would be identical.
2596             - font selector specific keys.
2597
2598             These guarantee the FontData will be identical.
2599
2600         (WebCore::computeFontGlyphsCacheHash):
2601         (WebCore::pruneUnreferencedFromFontGlyphsCache):
2602         
2603             Don't accumulate unused entries.
2604
2605         (WebCore::retrieveOrAddCachedFontGlyphs):
2606         (WebCore::Font::update):
2607         * platform/graphics/Font.h:
2608         * platform/graphics/FontCache.cpp:
2609         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2610         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
2611         (WebCore::FontPlatformDataCacheKey::operator==):
2612         (FontPlatformDataCacheKey):
2613         (WebCore::computeHash):
2614         (WebCore::FontCache::getCachedFontPlatformData):
2615         (WebCore::FontCache::purgeInactiveFontData):
2616         (WebCore::FontCache::invalidate):
2617         * platform/graphics/FontCache.h:
2618         (WebCore::FontDescriptionFontDataCacheKey::FontDescriptionFontDataCacheKey):
2619         (WebCore::FontDescriptionFontDataCacheKey::makeFlagKey):
2620         (WebCore::FontDescriptionFontDataCacheKey::operator==):
2621         (WebCore::FontDescriptionFontDataCacheKey::operator!=):
2622         (WebCore::FontDescriptionFontDataCacheKey::computeHash):
2623         
2624             Separate part of the key for sharing.
2625
2626         (FontDescriptionFontDataCacheKey):
2627         * platform/graphics/FontFallbackList.cpp:
2628         (WebCore::FontGlyphs::FontGlyphs):
2629         (WebCore::FontGlyphs::releaseFontData):
2630         * platform/graphics/FontFallbackList.h:
2631         (WebCore::FontGlyphs::create):
2632         (WebCore::FontGlyphs::~FontGlyphs):
2633         
2634             Remove invalidate(). If FontGlyphs needs invalidation it is reconstructed.
2635
2636         * platform/graphics/FontSelector.h:
2637
2638 2013-05-29  Nico Weber  <thakis@chromium.org>
2639
2640         Remove unused file PlatformGestureEvent.cpp
2641         https://bugs.webkit.org/show_bug.cgi?id=116894
2642
2643         Reviewed by Darin Adler.
2644
2645         This was added in https://bugs.webkit.org/show_bug.cgi?id=49345 but
2646         not removed in https://bugs.webkit.org/show_bug.cgi?id=77492 which
2647         removed most of that code again.
2648         
2649         * platform/PlatformGestureRecognizer.cpp: Removed.
2650
2651 2013-05-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2652
2653         [texmap][GStreamer][GTK] Composited Video support
2654         https://bugs.webkit.org/show_bug.cgi?id=86410
2655
2656         Reviewed by Noam Rosenthal.
2657
2658         Enable the video accelerated compositing using the WebKit's
2659         TextureMapper.
2660
2661         This patch does not use hardware accelerated video decoding. It
2662         provides a generic path for system memory buffers.
2663
2664         This new functionality is only available when the coordinated graphics
2665         system is not used.
2666
2667         No new tests, already covered by existing tests.
2668
2669         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2670         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
2671         (WebCore):
2672         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): update the
2673         texture content with the new received video buffer.
2674         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): choose to
2675         use the accelerated compositing or the normal code path
2676         (WebCore::MediaPlayerPrivateGStreamerBase::paint): if accelerated
2677         compositing is used this method is halted.
2678         (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper): get
2679         a texture from the pool and draws it if it is already available.
2680         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2681         (MediaPlayerPrivateGStreamerBase):
2682         (WebCore::MediaPlayerPrivateGStreamerBase::platformLayer): returns itself
2683         (WebCore::MediaPlayerPrivateGStreamerBase::supportsAcceleratedRendering):
2684         returns true
2685
2686 2013-05-29  Peter Gal  <galpeter@inf.u-szeged.hu>
2687
2688         [Qt] Missing files from build after r150853
2689         https://bugs.webkit.org/show_bug.cgi?id=116932
2690
2691         Reviewed by Csaba Osztrogonác.
2692
2693         * Target.pri: Added missing include path.
2694
2695 2013-05-29  Mihai Maerean  <mmaerean@adobe.com>
2696
2697         [CSS Regions] Content that has overflow: scroll cannot be scrolled by dragging the scroll thumbs with the mouse
2698         https://bugs.webkit.org/show_bug.cgi?id=113703
2699
2700         Reviewed by Darin Adler.
2701
2702         The point inside a box that's inside a region has its coordinates relative to the region, not the FlowThread
2703         that is its container in the RenderObject tree.
2704
2705         Previously, the coordinates were computed relatively to the FlowThread which doesn't really have a location in
2706         the page.
2707
2708         Tests: fast/regions/drag-scrollbars-of-content.html
2709                fast/regions/hover-in-second-region.html
2710
2711         * rendering/RenderBox.cpp:
2712         (WebCore::RenderBox::offsetFromContainer):
2713         * rendering/RenderBoxModelObject.cpp:
2714         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
2715
2716 2013-05-29  Andreas Kling  <akling@apple.com>
2717
2718         Fix dumb typo in r150879.
2719
2720         * editing/htmlediting.cpp:
2721         (WebCore::nextLeafNode):
2722
2723 2013-05-29  Andreas Kling  <akling@apple.com>
2724
2725         Move leaf Node traversal helpers to htmlediting.cpp
2726         <http://webkit.org/b/116940>
2727
2728         Reviewed by Antti Koivisto.
2729
2730         Move Node::previousLeafNode() and Node::nextLeafNode() to htmlediting.cpp along with their helpers.
2731         Fixes an 8-year old FIXME. \o/
2732
2733         * dom/Node.h:
2734         * dom/Node.cpp:
2735         * dom/Position.cpp:
2736         (WebCore::nextRenderedEditable):
2737         (WebCore::previousRenderedEditable):
2738         * editing/VisibleUnits.cpp:
2739         (WebCore::previousLeafWithSameEditability):
2740         (WebCore::nextLeafWithSameEditability):
2741         * editing/htmlediting.h:
2742         * editing/htmlediting.cpp:
2743         (WebCore::previousNodeConsideringAtomicNodes):
2744         (WebCore::nextNodeConsideringAtomicNodes):
2745         (WebCore::previousLeafNode):
2746         (WebCore::nextLeafNode):
2747
2748 2013-05-29  Peter Gal  <galpeter@inf.u-szeged.hu>
2749
2750         [Qt] Missing files from build after r150853
2751         https://bugs.webkit.org/show_bug.cgi?id=116932
2752
2753         Reviewed by Csaba Osztrogonác.
2754
2755         * Target.pri: Added the CFURLExtras.{cpp,h} files to the projectfile.
2756
2757 2013-05-29  Ryosuke Niwa  <rniwa@webkit.org>
2758
2759         PresentationAttributeCacheCleaner::m_hitCount is never initialized
2760         https://bugs.webkit.org/show_bug.cgi?id=116946
2761
2762         Reviewed by Andreas Kling.
2763
2764         Merge https://chromium.googlesource.com/chromium/blink/+/70be7ddc41141ef6dec7795d37842c27dab2e194.
2765
2766         * dom/StyledElement.cpp:
2767         (WebCore::PresentationAttributeCacheCleaner::PresentationAttributeCacheCleaner):
2768
2769 2013-05-29  Kent Tamura  <tkent@chromium.org>
2770
2771         Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI.
2772         https://bugs.webkit.org/show_bug.cgi?id=116796
2773
2774         Reviewed by Ryosuke Niwa.
2775
2776         This feature was used only by Chromium port.
2777
2778         * CMakeLists.txt:
2779         * GNUmakefile.list.am:
2780         * Target.pri:
2781         * WebCore.vcproj/WebCore.vcproj:
2782         * WebCore.vcxproj/WebCore.vcxproj:
2783         * WebCore.vcxproj/WebCore.vcxproj.filters:
2784         * WebCore.xcodeproj/project.pbxproj:
2785         * css/html.css:
2786         (input::-webkit-date-and-time-value):
2787         * dom/Element.cpp:
2788         * dom/Element.h:
2789         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
2790         * html/BaseChooserOnlyDateAndTimeInputType.h:
2791         * html/BaseMultipleFieldsDateAndTimeInputType.cpp: Removed.
2792         * html/BaseMultipleFieldsDateAndTimeInputType.h: Removed.
2793         * html/DateInputType.cpp:
2794         * html/DateInputType.h:
2795         (DateInputType):
2796         * html/DateTimeFieldsState.cpp: Removed.
2797         * html/DateTimeFieldsState.h: Removed.
2798         * html/DateTimeInputType.cpp:
2799         * html/DateTimeInputType.h:
2800         (DateTimeInputType):
2801         * html/DateTimeLocalInputType.cpp:
2802         * html/DateTimeLocalInputType.h:
2803         (DateTimeLocalInputType):
2804         * html/HTMLInputElement.cpp:
2805         (WebCore::HTMLInputElement::HTMLInputElement):
2806         (WebCore):
2807         * html/HTMLInputElement.h:
2808         (HTMLInputElement):
2809         * html/InputType.cpp:
2810         * html/InputType.h:
2811         (InputType):
2812         * html/MonthInputType.cpp:
2813         * html/MonthInputType.h:
2814         (MonthInputType):
2815         * html/TimeInputType.cpp:
2816         * html/TimeInputType.h:
2817         (TimeInputType):
2818         * html/WeekInputType.cpp:
2819         * html/WeekInputType.h:
2820         (WeekInputType):
2821         * html/shadow/ClearButtonElement.cpp: Removed.
2822         * html/shadow/ClearButtonElement.h: Removed.
2823         * html/shadow/DateTimeEditElement.cpp: Removed.
2824         * html/shadow/DateTimeEditElement.h: Removed.
2825         * html/shadow/DateTimeFieldElement.cpp: Removed.
2826         * html/shadow/DateTimeFieldElement.h: Removed.
2827         * html/shadow/DateTimeFieldElements.cpp: Removed.
2828         * html/shadow/DateTimeFieldElements.h: Removed.
2829         * html/shadow/DateTimeNumericFieldElement.cpp: Removed.
2830         * html/shadow/DateTimeNumericFieldElement.h: Removed.
2831         * html/shadow/DateTimeSymbolicFieldElement.cpp: Removed.
2832         * html/shadow/DateTimeSymbolicFieldElement.h: Removed.
2833         * html/shadow/PickerIndicatorElement.cpp: Removed.
2834         * html/shadow/PickerIndicatorElement.h: Removed.
2835         * page/ChromeClient.h:
2836         (ChromeClient):
2837         * platform/LocalizedStrings.h:
2838         (WebCore):
2839         * platform/text/PlatformLocale.cpp:
2840         * platform/text/PlatformLocale.h:
2841         (Locale):
2842         * rendering/RenderDetailsMarker.cpp:
2843         * rendering/RenderDetailsMarker.h:
2844         * rendering/RenderObject.h:
2845         (RenderObject):
2846
2847 2013-05-29  Ryosuke Niwa  <rniwa@webkit.org>
2848
2849         Remove setFullScreenRendererSize and setFullScreenRendererBackgroundColor
2850         https://bugs.webkit.org/show_bug.cgi?id=116914
2851
2852         Reviewed by Benjamin Poulain.
2853
2854         Merge https://chromium.googlesource.com/chromium/blink/+/508eb21a07f69ed38b9be9ff92fe75dcb907861f
2855
2856         * dom/Document.cpp:
2857         * dom/Document.h:
2858
2859 2013-05-29  Ryosuke Niwa  <rniwa@webkit.org>
2860
2861         Make WidgetHierarchyUpdatesSuspensionScope use swap instead of copy
2862         https://bugs.webkit.org/show_bug.cgi?id=116927
2863
2864         Reviewed by Andreas Kling.
2865
2866         Merge https://chromium.googlesource.com/chromium/blink/+/1d577e1fd5c5716a06e4007e04fc3d9d0a88f5e4
2867
2868         This is equivalent behavior code that is unambiguously better performance. swap is O(1) time and memory,
2869         copying a hash table is at least linear with the number of elements.
2870
2871         * rendering/RenderWidget.cpp:
2872         (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
2873
2874 2013-05-29  Andreas Kling  <akling@apple.com>
2875
2876         Remove Document::nodeAbsIndex() and Document::nodeWithAbsIndex().
2877
2878         Rubber-stamped by Antti "Lucky" Koivisto.
2879
2880         * dom/Document.h:
2881         * dom/Document.cpp:
2882
2883 2013-05-28  Andreas Kling  <akling@apple.com>
2884
2885         FocusController should operate on Elements internally.
2886         <http://webkit.org/b/116781>
2887
2888         Reviewed by Antti Koivisto.
2889
2890         Switch from Node* to Element* as much as possible inside FocusController.
2891         Mostly mechanical, gets rid of some unnecessary isElementNode() checks and casts.
2892
2893         * page/FocusController.h:
2894         * page/FocusController.cpp:
2895         (WebCore::dispatchEventsOnWindowAndFocusedElement):
2896         (WebCore::isNonFocusableShadowHost):
2897         (WebCore::adjustedTabIndex):
2898         (WebCore::shouldVisit):
2899         (WebCore::FocusController::setFocused):
2900         (WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
2901         (WebCore::FocusController::advanceFocusInDocumentOrder):
2902         (WebCore::FocusController::findFocusableElementAcrossFocusScope):
2903         (WebCore::FocusController::findFocusableElementRecursively):
2904         (WebCore::FocusController::findFocusableElement):
2905         (WebCore::FocusController::nextFocusableElement):
2906         (WebCore::FocusController::previousFocusableElement):
2907         (WebCore::FocusController::setActive):
2908
2909 2013-05-29  Radu Stavila  <stavila@adobe.com>
2910
2911         [CSS Regions] Mouse over an element does not trigger :hover state for parent when the element is flowed in a region
2912         https://bugs.webkit.org/show_bug.cgi?id=111749
2913
2914         Reviewed by Antti Koivisto.
2915
2916         When searching for the hover ancestor and encountering a named flow thread,
2917         the search will continue with the DOM ancestor of the top-most element
2918         in the named flow thread.
2919
2920         Tests: fast/regions/hover-in-region-grandparent.html
2921                fast/regions/hover-in-region-parent-skip.html
2922                fast/regions/hover-in-region-parent-skip-inlines-anonymous.html
2923                fast/regions/hover-on-child-in-region.html
2924                fast/regions/hover-on-child-in-region-in-region.html
2925
2926         * rendering/RenderObject.cpp:
2927         (WebCore::RenderObject::hoverAncestor):
2928         * rendering/RenderObject.h:
2929
2930 2013-05-28  Nate Chapin  <japhet@chromium.org>
2931
2932         Crash in WebCore::SubresourceLoader::releaseResources when connection fails
2933         https://bugs.webkit.org/show_bug.cgi?id=87743
2934
2935         Don't do anything complicated in SubresourceLoader::releaseResources(),
2936         just clear variables. With this patch, releaseResources() will still
2937         assert in debug builds if it is called twice, but it will safely execute
2938         in release.
2939
2940         Reviewed by Darin Adler.
2941
2942         * loader/ResourceLoader.cpp:
2943         (WebCore::ResourceLoader::cleanupForError): Pull shared cleanup code out of didFail()
2944             and cancel() into a helper.
2945         (WebCore::ResourceLoader::cancel): Merge a couple variables into an enum, check for
2946             reentrancy from within didCancel().
2947         * loader/ResourceLoader.h: Replace m_calledWillCancel and m_cancelled with an enum.
2948         * loader/SubresourceLoader.cpp:
2949         (WebCore::SubresourceLoader::didFinishLoading): Don't call ResourceLoader::didFinishLoading(),
2950             put finish() in the middle of the process.
2951         (WebCore::SubresourceLoader::didFail): Don't call ResourceLoader::didFail(), put finish()
2952             in the middle of the process.
2953         (WebCore::SubresourceLoader::didCancel):
2954         (WebCore::SubresourceLoader::notifyDone): Do the non-trivial work previous done in releaseResources(),
2955             most importantly calling loadDone().
2956         (WebCore::SubresourceLoader::releaseResources): Only do simple variable clearing here.
2957         * loader/SubresourceLoader.h:
2958         (SubresourceLoader):
2959         * loader/cache/CachedResource.cpp: Split stopLoading() into cancelLoad() (which notifies clients)
2960             and clearLoader() (which just nulls m_loader).
2961         * loader/cache/CachedResource.h:
2962         * loader/chromium/ResourceLoaderChromium.cpp:
2963
2964 2013-05-28  Seokju Kwon  <seokju.kwon@gmail.com>
2965
2966         [GTK] Build fix after r150837
2967         https://bugs.webkit.org/show_bug.cgi?id=116904
2968
2969         Unreviewed build fix.
2970
2971         * GNUmakefile.am:
2972
2973 2013-05-28  Andy Estes  <aestes@apple.com>
2974
2975         REGRESSION (r150169): Images from file: URLs display after a delay even though they were preloaded by JavaScript
2976         https://bugs.webkit.org/show_bug.cgi?id=116906
2977         <rdar://problem/13991927>
2978
2979         Reviewed by Andreas Kling.
2980
2981         Writing a test for this is blocked on https://webkit.org/b/116199.
2982
2983         Some WebKit clients use JavaScript to preload images from disk so that
2984         subsequent loads will display immediately from the memory cache. By not
2985         caching non-HTTP sub-resources in memory, we break this common pattern.
2986         This change restricts r150169 to only apply to cached main resources.
2987         Sub-resources will again be cached indefinitely as they were prior to
2988         r150169.
2989
2990         * loader/cache/CachedResource.cpp:
2991         (WebCore::CachedResource::freshnessLifetime): If this is a non-HTTP
2992         main resource from a scheme that should not be cached indefinitely,
2993         return 0 for the freshness lifetime. For other non-HTTP cached
2994         resources, return an indefinite freshness lifetime.
2995
2996 2013-05-28  Dean Jackson  <dino@apple.com>
2997
2998         Animations do not restart after exiting page cache
2999         https://bugs.webkit.org/show_bug.cgi?id=116900
3000
3001         Reviewed by Tim Horton.
3002
3003         Animations are suspended as they enter the page cache, but
3004         were not getting correctly resumed when exiting. The cause
3005         was an error in r149576 which was checking a global flag for suspension
3006         on the AnimationController and thus not trying to resume anything.
3007
3008         Test: animations/resume-after-page-cache.html
3009
3010         * page/animation/AnimationController.cpp:
3011         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
3012         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
3013
3014 2013-05-28  Chris Rogers  <crogers@google.com>
3015
3016         Support multiple HRTFDatabases for different sample-rates
3017         https://bugs.webkit.org/show_bug.cgi?id=116183
3018
3019         Reviewed by Kenneth Russell.
3020
3021         Adapted from Blink:
3022         https://codereview.chromium.org/14636011/
3023
3024         This removes the limitation which required OfflineAudioContexts to be created at native sample-rate
3025
3026         * Modules/webaudio/AudioContext.h:
3027         (WebCore::AudioContext::hrtfDatabaseLoader):
3028         (AudioContext):
3029         * Modules/webaudio/OfflineAudioContext.cpp:
3030         (WebCore::OfflineAudioContext::create):
3031         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
3032         (WebCore::OfflineAudioDestinationNode::offlineRender):
3033         * Modules/webaudio/PannerNode.cpp:
3034         (WebCore::PannerNode::initialize):
3035         (WebCore::PannerNode::setPanningModel):
3036         * platform/audio/HRTFDatabaseLoader.cpp:
3037         (WebCore):
3038         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
3039         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
3040         * platform/audio/HRTFDatabaseLoader.h:
3041         (HRTFDatabaseLoader):
3042         (WebCore::HRTFDatabaseLoader::loaderMap):
3043         * platform/audio/HRTFPanner.cpp:
3044         (WebCore::HRTFPanner::HRTFPanner):
3045         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
3046         (WebCore::HRTFPanner::pan):
3047         * platform/audio/HRTFPanner.h:
3048         (HRTFPanner):
3049         * platform/audio/Panner.cpp:
3050         (WebCore::Panner::create):
3051         * platform/audio/Panner.h:
3052         (WebCore):
3053
3054 2013-05-28  Alexey Proskuryakov  <ap@apple.com>
3055
3056         Windows build fix.
3057
3058         * platform/cf/KURLCFNet.cpp:
3059         (WebCore::KURL::createCFURL):
3060
3061 2013-05-28  Alexey Proskuryakov  <ap@apple.com>
3062
3063         Freeze when loading a particular page on washingtonpost.com with NetworkProcess enabled
3064         https://bugs.webkit.org/show_bug.cgi?id=116887
3065         <rdar://problem/12965959>
3066
3067         Reviewed by Darin Adler.
3068
3069         Test: http/tests/uri/curly-braces-escaping.html
3070
3071         The issue was that WebKit used an incorrect accessor to get a string out of CFURL,
3072         unlike WebCore.
3073
3074         Centralized code for converting between CFURLs and strings in a place that WebKit
3075         can use directly.
3076
3077         * WebCore.exp.in:
3078         * WebCore.vcproj/WebCore.vcproj:
3079         * WebCore.vcxproj/WebCore.vcxproj:
3080         * WebCore.vcxproj/WebCore.vcxproj.filters:
3081         * WebCore.xcodeproj/project.pbxproj:
3082         Keeping things building.
3083
3084         * platform/KURL.cpp: (WebCore::KURL::copyToBuffer):
3085         * platform/KURL.h:
3086         Updated for a new typedef name. The code was using Vector<char, 512> and CharBuffer
3087         inconsistently, and now URLs use URLCharBuffer.
3088
3089         * platform/cf/CFURLExtras.cpp: Added.
3090         (WebCore::createCFURLFromBuffer):
3091         (WebCore::getURLBytes):
3092         * platform/cf/CFURLExtras.h: Added.
3093         * platform/cf/KURLCFNet.cpp:
3094         (WebCore::KURL::KURL):
3095         (WebCore::KURL::createCFURL):
3096         Extracted code for CFURL string manipulation that is not logcally part of KURL.
3097
3098         * platform/mac/KURLMac.mm:
3099         (WebCore::KURL::KURL): Use the new getURLBytes function.
3100         (WebCore::KURL::operator NSURL *): Added a comment.
3101         (WebCore::KURL::createCFURL): Added a comment, and updated for new names and
3102         signatures.
3103
3104         * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::platformLazyInit):
3105         Added a FIXME. We are still using CFURLGetString here. The difficulty is getting
3106         encodings right.
3107
3108 2013-05-28  Anders Carlsson  <andersca@apple.com>
3109
3110         Create a html/forms subdirectory and move FileIconLoader there
3111         https://bugs.webkit.org/show_bug.cgi?id=116880
3112
3113         Reviewed by Jessie Berlin.
3114
3115         A lot (if not the majority) of files in html/ are forms related, so it makes sense to begin splitting
3116         them out into a separate subdirectory, html/forms.
3117
3118         Begin my moving FileIconLoader from platform to html/forms. It is related to HTML forms (it's only used by
3119         the file upload element), and is not really a platform abstraction so it doesn't belong in platform.
3120
3121         * CMakeLists.txt:
3122         * GNUmakefile.list.am:
3123         * Target.pri:
3124         * WebCore.vcproj/WebCore.vcproj:
3125         * WebCore.vcxproj/WebCore.vcxproj:
3126         * WebCore.vcxproj/WebCore.vcxproj.filters:
3127         * WebCore.xcodeproj/project.pbxproj:
3128         * html/forms/FileIconLoader.cpp: Renamed from Source/WebCore/platform/FileIconLoader.cpp.
3129         * html/forms/FileIconLoader.h: Renamed from Source/WebCore/platform/FileIconLoader.h.
3130
3131 2013-05-28  Chris Fleizach  <cfleizach@apple.com>
3132
3133         AX: WKView is unable to set AXFocused to YES and does not handle keyboard events as expected
3134         https://bugs.webkit.org/show_bug.cgi?id=116756
3135
3136         Reviewed by Tim Horton.
3137
3138         If AXFocused is set to true, but the WebView is not the first responder, then the call will
3139         not do anything. This change asks the Chrome to make the WebView the first responder before
3140         trying to set focus within the page.
3141
3142         Was not able to make a test, it requires on interplay between areas outside the web view.
3143
3144         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3145         (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3146
3147 2013-05-28  Jer Noble  <jer.noble@apple.com>
3148
3149         Crash in DumpRenderTree at com.apple.WebCore: WebCore::RenderTextTrackCue::repositionGenericCue + 154
3150         https://bugs.webkit.org/show_bug.cgi?id=116882
3151
3152         Reviewed by Eric Carlson.
3153
3154         Remove an inappropriate assert. No cues coming through repositionGenericCue will be WebVTT ones.
3155
3156         * rendering/RenderTextTrackCue.cpp:
3157         (WebCore::RenderTextTrackCue::repositionGenericCue):
3158
3159 2013-05-28  Alberto Garcia  <agarcia@igalia.com>
3160
3161         [BlackBerry] GraphicsContext: add missing definitions.
3162         https://bugs.webkit.org/show_bug.cgi?id=115515
3163
3164         Reviewed by Rob Buis.
3165
3166         * platform/graphics/GraphicsContext.h:
3167         (Graphics):
3168         Add definition for PlatformGraphicsContext.
3169         * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
3170         Include RoundedRect.h
3171
3172 2013-05-28  Arvid Nilsson  <anilsson@rim.com>
3173
3174         [BlackBerry] Fix style issues in BlackBerry accelerated compositing backend
3175         https://bugs.webkit.org/show_bug.cgi?id=116604
3176
3177         Reviewed by Carlos Garcia Campos.
3178
3179         PR 273550, 99638
3180
3181         Remove the "get" prefix from getters in the WebKit- and compositing-
3182         thread layer classes, as well as LayerRendererSurface. Clarify which
3183         geometry-related getters return normalized device coordinates by adding
3184         a comment.
3185
3186         Also remove dead code related to LayerData::m_holePunchClipRect, which
3187         was part of an eventually disabled fix for video clipping in iframes,
3188         PR 99638. Since we now use AC layers for iframes, the bug is no longer
3189         reproducible, and the dead code will never need to be enabled again.
3190
3191         No change in behavior, no new tests.
3192
3193         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
3194         (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
3195         * platform/graphics/blackberry/LayerCompositingThread.cpp:
3196         (WebCore::LayerCompositingThread::setDrawTransform):
3197         (WebCore::LayerCompositingThread::transformedHolePunchRect):
3198         (WebCore::LayerCompositingThread::drawTextures):
3199         (WebCore::LayerCompositingThread::drawSurface):
3200         * platform/graphics/blackberry/LayerCompositingThread.h:
3201         (WebCore::LayerCompositingThread::sublayers): Removed "get" prefix
3202         (LayerCompositingThread):
3203         (WebCore::LayerCompositingThread::boundingBox): Renamed from "getDrawRect"
3204         (WebCore::LayerCompositingThread::transformedBounds): Removed "get" prefix
3205         (WebCore::LayerCompositingThread::transformedHolePunchRect): Removed "get" prefix
3206         * platform/graphics/blackberry/LayerData.h:
3207         (LayerData): Removed unused data member "m_holePunchClipRect"
3208         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
3209         (WebCore::LayerFilterRenderer::applyActions):
3210         * platform/graphics/blackberry/LayerRenderer.cpp:
3211         (WebCore::LayerRenderer::compositeLayers):
3212         (WebCore::LayerRenderer::drawDebugBorder):
3213         (WebCore::LayerRenderer::drawHolePunchRect):
3214         (WebCore::LayerRenderer::prepareFrameRecursive):
3215         (WebCore::LayerRenderer::updateLayersRecursive):
3216         (WebCore::collect3DPreservingLayers):
3217         (WebCore::LayerRenderer::compositeLayersRecursive):
3218         * platform/graphics/blackberry/LayerRendererSurface.cpp:
3219         (WebCore::LayerRendererSurface::boundingBox):
3220         * platform/graphics/blackberry/LayerRendererSurface.h:
3221         (WebCore::LayerRendererSurface::boundingBox): Renamed from "drawRect" because that sounds like a verb, and this is a getter
3222         * platform/graphics/blackberry/LayerWebKitThread.h:
3223         (WebCore::LayerWebKitThread::sublayers): Removed "get" prefix
3224         * platform/graphics/blackberry/VideoLayerWebKitThread.cpp:
3225         (WebCore::VideoLayerWebKitThread::setHolePunchRect):
3226         (WebCore::VideoLayerWebKitThread::boundsChanged):
3227
3228 2013-05-28  Jer Noble  <jer.noble@apple.com>
3229
3230         Made AudioNode an EventTarget
3231         https://bugs.webkit.org/show_bug.cgi?id=116871
3232
3233         Merge: https://chromium.googlesource.com/chromium/blink/+/ef37484162ddb95d677dcfdcdd778ec60590928b
3234
3235         Reviewed by Darin Adler.
3236
3237         Tests: webaudio/audionode-expected.txt:
3238                webaudio/audionode.html:
3239
3240         Add the requisite boilerplate to allow AudioNode to become an EventTarget. Remove
3241         all that same boilerplate from ScriptProcessorNode now that it's base class
3242         is an EventTarget.
3243
3244         * Modules/webaudio/AudioNode.cpp:
3245         (WebCore::AudioNode::interfaceName): Added boilerplate.
3246         (WebCore::AudioNode::scriptExecutionContext): Return the AudioContext's context.
3247         (WebCore::AudioNode::processIfNecessary): Whitespace.
3248         * Modules/webaudio/AudioNode.h:
3249         * Modules/webaudio/AudioNode.idl: Make AudioNode an EventTarget.
3250         * Modules/webaudio/ScriptProcessorNode.cpp: Remove EventTarget boilerplate.
3251         * Modules/webaudio/ScriptProcessorNode.h: Ditto.
3252         * Modules/webaudio/ScriptProcessorNode.idl: Ditto.
3253         * dom/EventTarget.h: Mark AudioNode as an EventTarget.
3254         * dom/EventTargetFactory.in: Ditto.
3255
3256 2013-05-28  Arvid Nilsson  <anilsson@rim.com>
3257
3258         [BlackBerry] backface-visibility: hidden doesn't work properly with masks and filters
3259         https://bugs.webkit.org/show_bug.cgi?id=116616
3260
3261         Reviewed by Carlos Garcia Campos.
3262
3263         The BlackBerry::Platform::Graphics::GraphicsContext generates geometry
3264         with a different winding order than the accelerated compositing backend
3265         of the BlackBerry port. So, when we switched from Skia to this new
3266         rendering engine, we switched from glFrontFace(GL_CCW) to
3267         glFrontFace(GL_CW), and all was well when drawing display lists.
3268         However, we forgot to update the winding order of geometry generated
3269         within the accelerated compositing backend, which is used for masks and
3270         filters, so they were getting erroneously culled out when
3271         backface-visibility: hidden was applied to them. Fixed by switching the
3272         winding order of all geometry generated up here, which has the added
3273         benefit of enabling us to use TransformationMatrix::mapQuad instead of
3274         transforming point-by-point.
3275
3276         To further complicate matters, a right-side up transform is used when
3277         drawing layers into surfaces, reversing the winding order and requiring
3278         us to switch back to glFrontFace(GL_CCW) temporarily, when drawing
3279         layers to surfaces, or the layers will get culled out inside the
3280         surface.
3281
3282         Also fix spelling error, "drawed" should be "drawn".
3283
3284         No new tests, this is only detectable by pixel tests, which the
3285         BlackBerry port currently doesn't support.
3286
3287         PR 341945.
3288
3289         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:
3290         (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
3291         * platform/graphics/blackberry/LayerCompositingThread.cpp:
3292         (WebCore::LayerCompositingThread::setDrawTransform):
3293         (WebCore::getTransformedRect):
3294         (WebCore::LayerCompositingThread::drawTextures):
3295         (WebCore::LayerCompositingThread::drawSurface):
3296         * platform/graphics/blackberry/LayerCompositingThread.h:
3297         (LayerCompositingThread):
3298         (WebCore::LayerCompositingThread::origin):
3299         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
3300         (WebCore):
3301         * platform/graphics/blackberry/LayerRenderer.cpp:
3302         (WebCore::LayerRenderer::compositeLayers):
3303         (WebCore):
3304         (WebCore::LayerRenderer::drawLayersOnSurfaces):
3305         * platform/graphics/blackberry/LayerRendererSurface.cpp:
3306         (WebCore::LayerRendererSurface::drawRect):
3307         (WebCore::LayerRendererSurface::transformedBounds):
3308         * platform/graphics/blackberry/LayerRendererSurface.h:
3309         (WebCore::LayerRendererSurface::origin):
3310         (LayerRendererSurface):
3311         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3312         (WebCore):
3313         (WebCore::loadBufferingImageData):
3314         (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
3315
3316 2013-05-28  Andreas Kling  <akling@apple.com>
3317
3318         Move Node::dispatchChangeEvent() to HTMLFormControlElement.
3319         <http://webkit.org/b/116866>
3320
3321         Reviewed by Anders Carlsson.
3322
3323         ...and devirtualize it, since it had no overrides.
3324
3325         * dom/Node.h:
3326         * dom/Node.cpp:
3327         * html/HTMLFormControlElement.h:
3328         * html/HTMLFormControlElement.cpp:
3329         (WebCore::HTMLFormControlElement::dispatchChangeEvent):
3330         (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
3331         * html/FileInputType.cpp:
3332         (WebCore::FileInputType::setFiles):
3333         * html/HTMLTextFormControlElement.cpp:
3334         (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
3335
3336 2013-05-28  Sergio Villar Senin  <svillar@igalia.com>
3337
3338         Refactoring CSS grammar
3339         https://bugs.webkit.org/show_bug.cgi?id=116679
3340
3341         Reviewed by Andreas Kling.
3342
3343         From Blink r149948 by <serya@chromium.org>
3344
3345         Added "closing_parenthesis:" and "error_recovery:" to avoid code
3346         duplication in a couple of error recovery rules. Some other rules
3347         were also refactored which allows to reduce the the number of
3348         shift/reduce conflicts by 2.
3349
3350         No new tests required as this is just a refactoring, no new
3351         functionality added.
3352
3353         * css/CSSGrammar.y.in:
3354
3355 2013-05-28  Sergio Villar Senin  <svillar@igalia.com>
3356
3357         Invalid block doesn't make declaration invalid
3358         https://bugs.webkit.org/show_bug.cgi?id=115709
3359
3360         Reviewed by Andreas Kling.
3361
3362         From Blink r149446 by <serya@chromium.org>
3363
3364         Added a new rule "declaration_recovery:" which covers any kind of
3365         "invalid_block_list maybe_space" sequence. By appending this new
3366         rule to every rule reductable to "declaration:" we can remove some
3367         redundant rules and improve error recovery of some others that
3368         were only accepting exactly one error.
3369
3370         One of the rules being removed was preventing invalid blocks in a
3371         declaration to invalidate the whole declaration. The rule was
3372         reporting the syntax error but at the same time accepting the
3373         invalid block as part of a valid declaration.
3374
3375         * css/CSSGrammar.y.in:
3376
3377 2013-05-28  Andreas Kling  <akling@apple.com>
3378
3379         Move dispatching of focus-related events from Node to Element.
3380         <http://webkit.org/b/116864>
3381
3382         Reviewed by Antti Koivisto.
3383
3384         ...and pass around pointers to Element instead of Node.
3385
3386         * dom/Node.cpp:
3387         * dom/Node.h:
3388         * dom/Element.h:
3389         * dom/Element.cpp:
3390         (WebCore::Element::dispatchFocusInEvent):
3391         (WebCore::Element::dispatchFocusOutEvent):
3392         (WebCore::Element::dispatchFocusEvent):
3393         (WebCore::Element::dispatchBlurEvent):
3394
3395             Moved here from Node.
3396
3397         * html/HTMLFormControlElement.h:
3398         * html/HTMLFormControlElement.cpp:
3399         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
3400         * html/HTMLSelectElement.h:
3401         * html/HTMLSelectElement.cpp:
3402         (WebCore::HTMLSelectElement::dispatchFocusEvent):
3403         (WebCore::HTMLSelectElement::dispatchBlurEvent):
3404         * html/HTMLTextFormControlElement.h:
3405         * html/HTMLTextFormControlElement.cpp:
3406         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
3407         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
3408
3409             Update subclass overrides and sprinkle OVERRIDE/FINAL.
3410
3411 2013-05-28  Zan Dobersek  <zdobersek@igalia.com>
3412
3413         Remove CachedResourceRequest::initiatorElement
3414         https://bugs.webkit.org/show_bug.cgi?id=116862
3415
3416         Reviewed by Andreas Kling.
3417
3418         The CachedResourceRequest::initiatorElement method is not used anywhere and should be removed.
3419
3420         * loader/cache/CachedResourceRequest.cpp: Remove the initiatorElement method definition.
3421         * loader/cache/CachedResourceRequest.h:
3422         (CachedResourceRequest): Remove the initiatorElement method declaration.
3423
3424 2013-05-28  Andreas Kling  <akling@apple.com>
3425
3426         Document::setFocusedNode() should be setFocusedElement().
3427         <http://webkit.org/b/116857>
3428
3429         Reviewed by Antti Koivisto.
3430
3431         Only Elements can be focused, so tighten Document's idea of what's focused.
3432
3433         Most of this patch is just updating call sites for the new names and removing
3434         now-unnecessary isElementNode() checks and casts.
3435
3436         * WebCore.exp.in:
3437         * accessibility/AXObjectCache.cpp:
3438         (WebCore::AXObjectCache::focusedUIElementForPage):
3439         * accessibility/AccessibilityNodeObject.cpp:
3440         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
3441         * accessibility/AccessibilityRenderObject.cpp:
3442         (WebCore::AccessibilityRenderObject::isFocused):
3443         (WebCore::AccessibilityRenderObject::setFocused):
3444         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
3445         * bindings/objc/DOM.mm:
3446         (-[DOMElement isFocused]):
3447         * dom/Document.cpp:
3448         (WebCore::Document::dispose):
3449         (WebCore::Document::detach):
3450         (WebCore::Document::focusedNodeRemoved):
3451         (WebCore::Document::removeFocusedNodeOfSubtree):
3452         (WebCore::Document::setFocusedElement):
3453         (WebCore::Document::updateFocusAppearanceTimerFired):
3454         (WebCore::eventTargetNodeForDocument):
3455         * dom/Document.h:
3456         (Document):
3457         (WebCore::Document::focusedElement):
3458         * dom/Element.cpp:
3459         (WebCore::Element::attach):
3460         (WebCore::Element::focus):
3461         (WebCore::Element::blur):
3462         (WebCore::Element::cancelFocusAppearanceUpdate):
3463         * dom/Node.cpp:
3464         (WebCore::Node::rendererIsEditable):
3465         * dom/TreeScope.cpp:
3466         (WebCore::TreeScope::focusedElement):
3467         * dom/UserTypingGestureIndicator.cpp:
3468         (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
3469         * editing/Editor.cpp:
3470         (WebCore::Editor::setBaseWritingDirection):
3471         (WebCore::Editor::setComposition):
3472         (WebCore::Editor::guessesForMisspelledOrUngrammatical):
3473         * editing/EditorCommand.cpp:
3474         (WebCore::verticalScrollDistance):
3475         * editing/FrameSelection.cpp:
3476         (WebCore::FrameSelection::selectAll):
3477         (WebCore::FrameSelection::focusedOrActiveStateChanged):
3478         (WebCore::FrameSelection::setFocusedElementIfNeeded):
3479         (WebCore::FrameSelection::currentForm):
3480         * history/CachedPage.cpp:
3481         (WebCore::CachedPage::restore):
3482         * html/HTMLInputElement.cpp:
3483         (WebCore::HTMLInputElement::updateType):
3484         (WebCore::HTMLInputElement::attach):
3485         * html/HTMLTextAreaElement.cpp:
3486         (WebCore::HTMLTextAreaElement::setValueCommon):
3487         * html/HTMLTextFormControlElement.cpp:
3488         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
3489         (WebCore::HTMLTextFormControlElement::selectionStart):
3490         (WebCore::HTMLTextFormControlElement::selectionEnd):
3491         (WebCore::HTMLTextFormControlElement::selectionDirection):
3492         * html/RadioInputType.cpp:
3493         (WebCore::RadioInputType::handleKeydownEvent):
3494         (WebCore::RadioInputType::isKeyboardFocusable):
3495         * html/shadow/DateTimeEditElement.cpp:
3496         (WebCore::DateTimeEditElement::focusedFieldIndex):
3497         * loader/FrameLoader.cpp:
3498         (WebCore::FrameLoader::stopLoading):
3499         * page/DOMWindow.cpp:
3500         (WebCore::DOMWindow::focus):
3501         * page/EventHandler.cpp:
3502         (WebCore::EventHandler::scrollOverflow):
3503         (WebCore::EventHandler::logicalScrollOverflow):
3504         (WebCore::EventHandler::dispatchMouseEvent):
3505         (WebCore::EventHandler::sendContextMenuEventForKey):
3506         (WebCore::EventHandler::capsLockStateMayHaveChanged):
3507         * page/FocusController.cpp:
3508         (WebCore::dispatchEventsOnWindowAndFocusedNode):
3509         (WebCore::FocusController::advanceFocusInDocumentOrder):
3510         (WebCore::FocusController::setFocusedElement):
3511         (WebCore::FocusController::findFocusCandidateInContainer):
3512         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
3513         (WebCore::FocusController::advanceFocusDirectionally):
3514         * page/FrameView.cpp:
3515         (WebCore::FrameView::scrollToAnchor):
3516         * plugins/PluginView.cpp:
3517         (WebCore::PluginView::focusPluginElement):
3518         * plugins/efl/PluginViewEfl.cpp:
3519         (WebCore::PluginView::setFocus):
3520         * plugins/mac/PluginViewMac.mm:
3521         (WebCore::PluginView::platformStart):
3522         * rendering/RenderImage.cpp:
3523         (WebCore::RenderImage::paintAreaElementFocusRing):
3524         * rendering/RenderListBox.cpp:
3525         (WebCore::RenderListBox::paintItemForeground):
3526         (WebCore::RenderListBox::paintItemBackground):
3527         * rendering/RenderTextControlSingleLine.cpp:
3528         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
3529         (WebCore::RenderTextControlSingleLine::textShouldBeTruncated):
3530         * rendering/RenderTheme.cpp:
3531         (WebCore::RenderTheme::isFocused):
3532
3533 2013-05-28  Sergio Villar Senin  <svillar@igalia.com>
3534
3535         Web Inspector: Enable CSS logging
3536         https://bugs.webkit.org/show_bug.cgi?id=113401
3537
3538         Reviewed by Benjamin Poulain.
3539
3540         From Blink r149265 by <serya@chromium.org>
3541
3542         CSS logging was disabled in r147028 to prevent message overflow in
3543         the inspector console. This change restores it by modifying the
3544         CSS grammar in order to reduce as much consecutive errors as
3545         possible in 'declaration_list' and 'decl_list' rules.
3546
3547         This way, for rules like 'x { color: ### }' only the first '#'
3548         will be reported as error (instead of 3 identical errors).
3549
3550         The rule 'declaration' still produces multiple errors, because it
3551         does not eat as much errors as possible. So in order not to create
3552         a complex risky patch we just disable logging in the parser for
3553         that rule.
3554
3555         * css/CSSGrammar.y.in:
3556         * css/CSSParser.cpp:
3557         (WebCore::CSSParser::CSSParser):
3558         (WebCore::CSSParser::parseSheet):
3559         (WebCore::CSSParser::syntaxError):
3560         (WebCore::CSSParser::isLoggingErrors):
3561         (WebCore::CSSParser::rewriteSpecifiers):
3562         * css/CSSParser.h:
3563         (CSSParser):
3564
3565 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
3566
3567         Build fix for WinCE after r150730.
3568
3569         * platform/graphics/FontFallbackList.cpp:
3570         (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
3571
3572 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
3573
3574         Build fix for WinCE after r150772.
3575
3576         * platform/win/ClipboardWin.cpp:
3577         (WebCore):
3578         * platform/win/PasteboardWin.cpp:
3579         (WebCore::Pasteboard::readFilenames):
3580         (WebCore):
3581
3582 2013-05-27  Darin Adler  <darin@apple.com>
3583
3584         Fix build.
3585
3586         * html/HTMLAnchorElement.cpp:
3587         (WebCore::hasNonEmptyBox): Fix typo.
3588
3589 2013-05-27  Darin Adler  <darin@apple.com>
3590
3591         Move hasNonEmptyBoundingBox from Node to HTMLAnchorElement
3592         https://bugs.webkit.org/show_bug.cgi?id=116842
3593
3594         Reviewed by Antti Koivisto.
3595
3596         * dom/Node.cpp: Removed hasNonEmptyBoundingBox.
3597         * dom/Node.h: Ditto.
3598
3599         * html/HTMLAnchorElement.cpp:
3600         (WebCore::HTMLAnchorElement::isMouseFocusable): Fixed #if to be more readable and
3601         added more-explicit clearer comments. No behavior change.
3602         (WebCore::hasNonEmptyBox): Added.  Has the same code that was in
3603         Node::hasNonEmptyBoundingBox with some additional comments.
3604         (WebCore::HTMLAnchorElement::isKeyboardFocusable): Call hasNonEmptyBox.
3605
3606 2013-05-27  Darin Adler  <darin@apple.com>
3607
3608         Move isBlockFlowElement and related functions out of the Node class into editing code
3609         https://bugs.webkit.org/show_bug.cgi?id=116846
3610
3611         Reviewed by Antti Koivisto.
3612
3613         * dom/Node.cpp: Removed isBlockFlowElement, enclosingBlockFlowElement, and
3614         inSameContainingBlockFlowElement. These are all editing functions that don't
3615         belong in the Node class, and mostly-deprecated ones to boot.
3616         * dom/Node.h: Ditto.
3617
3618         * dom/Position.cpp:
3619         (WebCore::inSameEnclosingBlockFlowElement): Added. This editing-specific function
3620         is used only here, so put it here.
3621         (WebCore::Position::rendersInDifferentPosition): Updated to call new function above.
3622         (WebCore::Position::leadingWhitespacePosition): Ditto.
3623
3624         * editing/InsertLineBreakCommand.cpp:
3625         (WebCore::InsertLineBreakCommand::insertNodeAfterPosition): Use
3626         deprecatedEnclosingBlockFlowElement at its new location.
3627         (WebCore::InsertLineBreakCommand::insertNodeBeforePosition): Ditto.
3628
3629         * editing/InsertListCommand.cpp:
3630         (WebCore::InsertListCommand::doApplyForSingleParagraph): use
3631         isBlockFlowElement at its new location.
3632         * editing/ReplaceSelectionCommand.cpp:
3633         (WebCore::enclosingInline): Ditto.
3634
3635         * editing/VisiblePosition.cpp:
3636         (WebCore::VisiblePosition::canonicalPosition): Use deprecatedEnclosingBlockFlowElement
3637         at its new location.
3638         (WebCore::enclosingBlockFlowElement): Ditto. Also added FIXME.
3639         * editing/VisibleSelection.cpp:
3640         (WebCore::makeSearchRange): Ditto.
3641
3642         * editing/htmlediting.cpp:
3643         (WebCore::isBlockFlowElement): Added. Same as the Node::isBlockFlowElement
3644         function, but here because this is an editing function, not suitable as a Node member.
3645         (WebCore::deprecatedEnclosingBlockFlowElement): Ditto. Added "deprecated" to the name
3646         since the Node member function had a comment saying it was deprecated. Also changed so
3647         it tolerates a 0 for an argument, which made it easier for one caller.
3648
3649         * editing/htmlediting.h: Added the two new functions.
3650
3651 2013-05-27  Seokju Kwon  <seokju.kwon@gmail.com>
3652
3653         Add guard around paintForFixedRootBackground
3654         https://bugs.webkit.org/show_bug.cgi?id=116754
3655
3656         Reviewed by Simon Fraser.
3657
3658         paintForFixedRootBackground is only used when ACCELERATED_COMPOSITING is enabled.
3659
3660         No new tests, no behavior change.
3661
3662         * rendering/RenderLayer.cpp:
3663         (WebCore):
3664
3665 2013-05-27  Seokju Kwon  <seokju.kwon@gmail.com>
3666
3667         Remove a leftover Pagepoup from PickerIndicatorElement.h
3668         https://bugs.webkit.org/show_bug.cgi?id=116801
3669
3670         Reviewed by Anders Carlsson.
3671
3672         No new tests, no behavior change.
3673
3674         * html/shadow/PickerIndicatorElement.h:
3675         (WebCore):
3676
3677 2013-05-27  Claudio Saavedra  <csaavedra@igalia.com>
3678
3679         [CSS] -webkit-var prefix is case-sensitive
3680         https://bugs.webkit.org/show_bug.cgi?id=116829
3681
3682         Reviewed by Darin Adler.
3683
3684         Tests: Added case to fast/css/variables/case-sensitive.html
3685
3686         * css/CSSParser.cpp:
3687         (WebCore::isEqualToCSSCaseSensitiveIdentifier): Add variant to
3688         IsEqualToCSSIdentifier that respects case-sensitivity.
3689         (WebCore::CSSParser::realLex): Use the above method for CSS
3690         variable declarations.
3691
3692 2013-05-27  Zalan Bujtas  <zalan@apple.com>
3693
3694         drop-shadow filter with overflow:hidden child misbehaves.
3695         https://bugs.webkit.org/show_bug.cgi?id=109783
3696
3697         Reviewed by Simon Fraser.
3698
3699         Applying CSS filters only to the scrollbar rect leaves rendering
3700         artefacts. Filters should skip such partial repaints.
3701
3702         Tests: Test framework uses mock theme for scrollbars. Such scrollbars do not
3703         initiate partial repaints.
3704
3705         * rendering/RenderLayer.cpp:
3706         (WebCore::RenderLayer::setupFilters):
3707         (WebCore::RenderLayer::paintLayerContents):
3708         * rendering/RenderLayer.h:
3709         (RenderLayer):
3710
3711 2013-05-27  Xueqing Huang  <huangxueqing@baidu.com>
3712
3713         Move Windows port off legacy clipboard.
3714         https://bugs.webkit.org/show_bug.cgi?id=116258
3715
3716         Reviewed by Darin Adler.
3717
3718         Clipboard refactor, no new tests.
3719
3720         * dom/Clipboard.h:
3721         * page/win/EventHandlerWin.cpp:
3722         (WebCore::EventHandler::createDraggingClipboard): Create Clipboard instead of ClipboardWin.
3723         * platform/Pasteboard.h:
3724         (WebCore::Pasteboard::dataObject): Get IDataObject by Clipborad.
3725         (WebCore::Pasteboard::writableDataObject): Get WCDataObject by Clipborad.
3726         * platform/win/ClipboardWin.cpp:
3727         (WebCore::Clipboard::createDragImage): Change parameter name loc to dragLocation.
3728         (WebCore::Clipboard::declareAndWriteDragImage): Implement declareAndWriteDragImage use WCDataObject exposed by Pasteboard.
3729         * platform/win/ClipboardWin.h: Removed.
3730         * platform/win/EditorWin.cpp:
3731         (WebCore::Editor::newGeneralClipboard): Create Clipboard instead of ClipboardWin.
3732         * platform/win/PasteboardWin.cpp:
3733         (WebCore::Pasteboard::createForCopyAndPaste): Create a Pasteboard.
3734         (WebCore::Pasteboard::createPrivate): Ditto.
3735         (WebCore::Pasteboard::createForDragAndDrop): Ditto.
3736         (WebCore::Pasteboard::finishCreatingPasteboard): Create Pasteboard use Windows API.
3737         (WebCore::Pasteboard::Pasteboard):
3738         (WebCore::clipboardTypeFromMIMEType): Copied from ClipboardWin.cpp.
3739         (WebCore::Pasteboard::clear): Ditto.
3740         (WebCore::Pasteboard::hasData): Ditto.
3741         (WebCore::addMimeTypesForFormat): Ditto.
3742         (WebCore::Pasteboard::types): Ditto.
3743         (WebCore::Pasteboard::readString): Ditto.
3744         (WebCore::Pasteboard::readFilenames): Ditto.
3745         (WebCore::writeURL): Ditto.
3746         (WebCore::Pasteboard::writeString): Ditto.
3747         (WebCore::Pasteboard::setDragImage): Ditto.
3748         (WebCore::Pasteboard::writeRangeToDataObject): Write range to WCDataObject.
3749         (WebCore::Pasteboard::writeSelection):
3750         (WebCore::Pasteboard::writePlainTextToDataObject): Write PlainText to WCDataObject.
3751         (WebCore::Pasteboard::writePlainText):
3752         (WebCore::pathRemoveBadFSCharacters): Copied from ClipboardWin.cpp.
3753         (WebCore::filesystemPathFromUrlOrTitle): Ditto.
3754         (WebCore::writeFileToDataObject): Ditto.
3755         (WebCore::Pasteboard::writeURLToDataObject): Write URL to WCDataObject.
3756         (WebCore::Pasteboard::writeURL): Copied from ClipboardWin.cpp.
3757         (WebCore::Pasteboard::writePasteboard): Copied from Pasteboard::writeClipboard.
3758         (WebCore::Pasteboard::documentFragment): Copied from ClipboardWin.cpp.
3759         (WebCore::Pasteboard::setExternalDataObject): Clipboard can set new IDataObject.
3760         (WebCore::getCachedImage): Copied from ClipboardWin.cpp.
3761         (WebCore::createGlobalImageFileDescriptor): Ditto.
3762         (WebCore::createGlobalImageFileContent): Ditto.
3763         (WebCore::createGlobalHDropContent): Ditto.
3764         (WebCore::Pasteboard::writeImageToDataObject): Expose to make Clipboard implement declareAndWriteDragImage.
3765         (WebCore::Pasteboard::writeURLToWritableDataObject): Ditto.
3766
3767 2013-05-27  Tim Horton  <timothy_horton@apple.com>
3768
3769         PDFPlugin: Main-frame PDFPlugin Accessibility
3770         https://bugs.webkit.org/show_bug.cgi?id=116563
3771         <rdar://problem/13458534>
3772
3773         Reviewed by Sam Weinig.
3774
3775         * WebCore.exp.in: Export AffineTransform::mapRect.
3776
3777 2013-05-27  Tiancheng Jiang  <tijiang@rim.com>
3778
3779         Checkbox UX update.
3780         https://bugs.webkit.org/show_bug.cgi?id=116838.
3781
3782         Reviewed by Rob Buis.
3783
3784         BlackBerry PR 342302.
3785         Internally Reviewed by Jeff Rogers.
3786         Remove old background and change pressed checkmark image.
3787
3788         * platform/blackberry/RenderThemeBlackBerry.cpp:
3789         (WebCore::RenderThemeBlackBerry::paintCheckbox):
3790
3791 2013-05-27  Sam Weinig  <sam@webkit.org>
3792
3793         When the background is completely transparent we should be conservative and use the default scrollbar style, not the light one
3794         https://bugs.webkit.org/show_bug.cgi?id=116836
3795         <rdar://problem/13949905>
3796
3797         Reviewed by Simon Fraser.
3798
3799         * page/FrameView.cpp:
3800         (WebCore::FrameView::recalculateScrollbarOverlayStyle):
3801         Don't use the light style when the background is completely transparent.
3802
3803 2013-05-27  Patrick Gansterer  <paroga@webkit.org>
3804
3805         Use ICU_INCLUDE_DIRS in BlackBerry CMake files
3806         https://bugs.webkit.org/show_bug.cgi?id=116210
3807
3808         Reviewed by Rob Buis.
3809
3810         Set and use the ICU_INCLUDE_DIRS variable to avoid
3811         duplicated adding of the ICU include directory.
3812
3813         * PlatformBlackBerry.cmake:
3814
3815 2013-05-27  Antti Koivisto  <antti@apple.com>
3816
3817         Tighten FontGlyphs::glyphDataAndPageForCharacter to take FontDescription
3818         https://bugs.webkit.org/show_bug.cgi?id=116823
3819
3820         Reviewed by Andreas Kling.
3821
3822         FontGlyphs does not need to know about Font anymore.
3823
3824         * platform/graphics/Font.cpp:
3825         (WebCore::Font::Font):
3826         (WebCore::Font::operator=):
3827         * platform/graphics/Font.h:
3828         (WebCore::Font::isPlatformFont):
3829         (WebCore::Font::glyphDataAndPageForCharacter):
3830         (Font):
3831         * platform/graphics/FontCache.h:
3832         * platform/graphics/FontFallbackList.cpp:
3833         (WebCore::FontGlyphs::FontGlyphs):
3834         (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
3835         * platform/graphics/FontFallbackList.h:
3836         (WebCore):
3837         (WebCore::FontGlyphs::createForPlatformFont):
3838         
3839             Tweaked the name.
3840
3841         (WebCore::FontGlyphs::isForPlatformFont):
3842         
3843             Move knowledge about platform font to FontGlyphs as it is needed for resolving system fallback on Mac.
3844
3845         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
3846         (WebCore::FontCache::systemFallbackForCharacters):
3847         * platform/graphics/freetype/FontCacheFreeType.cpp:
3848         (WebCore::FontCache::systemFallbackForCharacters):
3849         * platform/graphics/mac/FontCacheMac.mm:
3850         (WebCore::FontCache::systemFallbackForCharacters):
3851         * platform/graphics/qt/FontCacheQt.cpp:
3852         (WebCore::FontCache::systemFallbackForCharacters):
3853         * platform/graphics/win/FontCacheWin.cpp:
3854         (WebCore::FontCache::systemFallbackForCharacters):
3855         * platform/graphics/wince/FontCacheWinCE.cpp:
3856         (WebCore::FontCache::systemFallbackForCharacters):
3857         
3858             More descriptive name and tighter interface.
3859
3860 2013-05-27  Mihnea Ovidenie  <mihnea@adobe.com>
3861
3862         [CSSRegions] Prevent unnecessary copy of LayoutRect objects
3863         https://bugs.webkit.org/show_bug.cgi?id=116828
3864
3865         Reviewed by Andreas Kling.
3866
3867         Use const references for parameter passing.
3868         No functional change, no new tests.
3869
3870         * rendering/RenderFlowThread.cpp:
3871         (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
3872         (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
3873         * rendering/RenderFlowThread.h:
3874         * rendering/RenderRegion.cpp:
3875         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
3876         * rendering/RenderRegion.h:
3877
3878 2013-05-27  Leo Yang  <leoyang@rim.com>
3879
3880         [BlackBerry] Reveal HTTP error code for XHR even if there is no response body
3881         https://bugs.webkit.org/show_bug.cgi?id=116543
3882
3883         Reviewed by Rob Buis.
3884         Reviewed internally by Joe Mason.
3885
3886         It's a regression introduced by r132556.
3887         BlackBerry is doing friendly HTTP error handling: if there is no response body
3888         for an HTTP error it will display an error message made by the port. But for a
3889         XHR request, which usually does not result in displaying error messages to the
3890         end user, HTTP error code should be revealed to let the JavaScript know what
3891         the actual server error code is.
3892
3893         Covered by existing tests:
3894         ManualTests/blackberry/head-xhr-nonexistant-file.html
3895         LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
3896         LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
3897
3898         * platform/network/blackberry/NetworkJob.cpp:
3899         (WebCore::NetworkJob::shouldNotifyClientFailed):
3900
3901 2013-05-27  Tiancheng Jiang  <tijiang@rim.com>
3902
3903         Adjust date input width.
3904         https://bugs.webkit.org/show_bug.cgi?id=100760.
3905
3906         Reviewed by Rob Buis.
3907
3908         BlackBerry PR 343497.
3909         Internally Reviewed by Jeff Rogers.
3910
3911         Set width to auto to fit the string length.
3912
3913         * css/themeBlackBerry.css:
3914         (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
3915
3916 2013-05-27  Andreas Kling  <akling@apple.com>
3917
3918         Document::setHoveredNode() should be setHoveredElement().
3919         <http://webkit.org/b/116819>
3920
3921         Reviewed by Antti Koivisto.
3922
3923         Only Elements can be hovered, teach Document about this.
3924
3925         * dom/Document.h:
3926         * dom/Document.cpp:
3927         (WebCore::Document::dispose):
3928         (WebCore::Document::detach):
3929
3930             m_hoverNode => m_hoveredElement.
3931             Removed hoverNode() and setHoverNode() since those were only used internally.
3932
3933         (WebCore::Document::updateHoverActiveState):
3934
3935             Updated for hovered things always being Elements.
3936
3937         (WebCore::Document::hoveredElementDidDetach):
3938         * dom/Element.cpp:
3939         (WebCore::Element::detach):
3940
3941             Renamed Document::hoveredNodeDetached() to hoveredElementDidDetach() and fix it up
3942             following the same pattern as elementInActiveChainDidDetach().
3943
3944 2013-05-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3945
3946         [Qt] REGRESSION(r150716): It made 15 inspector and 1 mozilla test to assert
3947         https://bugs.webkit.org/show_bug.cgi?id=116822
3948
3949         Reviewed by Andreas Kling.
3950
3951         The input fontDescription may have more than one family defined.
3952
3953         * platform/qt/RenderThemeQStyle.cpp:
3954         (WebCore::RenderThemeQStyle::adjustButtonStyle):
3955
3956 2013-05-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3957
3958         [Qt][Win] Input events aren't mapped properly with windowless plugins.
3959         https://bugs.webkit.org/show_bug.cgi?id=116094
3960
3961         Reviewed by Tor Arne Vestbø.
3962
3963         The events are first sent properly but Flash then immediately repaints
3964         and this causes flickering painting.
3965         The issue is that Flash seems to be doing some input event tracking of
3966         its own internally, using the HWND returned through NPN_GetValue(NPNVnetscapeWindow).
3967
3968         We are currently using two coordinate systems for windowless plugins on Windows with Qt:
3969         - FrameView coordinates: Used for input events and ajusted with the WM_WINDOWPOSCHANGED message
3970         - Drawable coordinates: Used by WM_PAINT and adjusted with NPP_SetWindow
3971
3972         This patch fixes the bug by mapping input events to the native window returned
3973         as NPNVnetscapeWindow instead of the FrameView to ensure that those coordinates will match
3974         the ones used by Flash internally.
3975         With this we shouldn't be using FrameView coordinates anywhere for windowless plugins
3976         on Windows with Qt.
3977
3978         * platform/qt/QWebPageClient.h:
3979         (QWebPageClient):
3980           Added mapToOwnerWindow to the interface, mapping from the FrameView up to the wrapping nativeParentWidget.
3981         * plugins/win/PluginViewWin.cpp:
3982         (WebCore::contentsToNativeWindow):
3983         (WebCore::PluginView::paintIntoTransformedContext):
3984         (WebCore::PluginView::handleMouseEvent):
3985
3986 2013-05-27  Antti Koivisto  <antti@apple.com>
3987
3988         Tighten FontGlyphs interfaces to take FontDescription instead of Font
3989         https://bugs.webkit.org/show_bug.cgi?id=116818
3990
3991         Reviewed by Andreas Kling.
3992
3993         This gives better understanding of what the actual inputs are.
3994
3995         * WebCore.exp.in:
3996         * platform/graphics/Font.h:
3997         (WebCore::Font::primaryFont):
3998         (WebCore::Font::fontDataAt):
3999         (WebCore::Font::isFixedPitch):
4000         * platform/graphics/FontCache.cpp:
4001         (WebCore::FontCache::getFontData):
4002         * platform/graphics/FontCache.h:
4003         * platform/graphics/FontFallbackList.cpp:
4004         (WebCore::FontGlyphs::determinePitch):
4005         (WebCore::FontGlyphs::realizeFontDataAt):
4006         (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
4007         * platform/graphics/FontFallbackList.h:
4008         (WebCore::FontGlyphs::primaryFontData):
4009         (WebCore::FontGlyphs::isFixedPitch):
4010         (WebCore::FontGlyphs::primarySimpleFontData):
4011         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
4012         * platform/graphics/freetype/FontCacheFreeType.cpp:
4013         * platform/graphics/mac/FontCacheMac.mm:
4014         (WebCore::FontCache::similarFontPlatformData):
4015         
4016             Drop get* naming and make this Mac only as no other platform has it.
4017
4018         * platform/graphics/qt/FontCacheQt.cpp:
4019         * platform/graphics/win/FontCacheWin.cpp:
4020         * platform/graphics/wince/FontCacheWinCE.cpp:
4021         (WebCore):
4022
4023 2013-05-27  Andreas Kling  <akling@apple.com>
4024
4025         Strengthen typing of detaching an Element from Document's :active chain.
4026         <http://webkit.org/b/116815>
4027
4028         Reviewed by Antti Koivisto.
4029
4030         Tiny cleanup now that the :active chain can only contain elements.
4031         Rename Document::activeChainNodeDetached() to elementInActiveChainDidDetach().
4032
4033         * dom/Element.cpp:
4034         (WebCore::Element::detach):
4035         * dom/Document.h:
4036         * dom/Document.cpp:
4037         (WebCore::Document::elementInActiveChainDidDetach):
4038
4039             Rename, take Element*, remove silly condition that was always true.
4040
4041 2013-05-27  Andrei Bucur  <abucur@adobe.com>
4042
4043         [CSS Regions] Remove the offsetFromLogicalTopOfFirstPage parameter from layout functions
4044         https://bugs.webkit.org/show_bug.cgi?id=116441
4045
4046         Reviewed by David Hyatt.
4047
4048         The patch changes the following things:
4049         - exposes offsetFromLogicalTopOfFirstPage() to all the RenderBoxes;
4050         - offsetFromLogicalTopOfFirstPage() is now safe to call from any box inside a flow thread, not only the
4051         currently being laid out;
4052         - removes the offsetFromLogicalTopOfFirstPage parameter from all the layout functions
4053         that didn't actually required it; when the value is necessary, the offsetFromLogicalTopOfFirstPage
4054         function is called instead;
4055         - RenderFlowThread now handles its own logic for obtaining the offset from logical top of the first
4056         region for a box, based on the layout states pushed on RenderView; it provides a better caching mechanism
4057         that can be used for all the ancestor containing blocks of the current box being laid out.
4058
4059         The RenderBoxRegionInfo structures are cached only based on the box and the region. This means that
4060         passing around a value for offsetFromLogicalTopOfFirstPage different in some cases than others was
4061         risky. If there is a possibility of having a different box info result for a different offset
4062         then the cache is not working correctly.
4063
4064         Tests: No function change, no tests.
4065
4066         * rendering/RenderBlock.cpp:
4067         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
4068         (WebCore::RenderBlock::logicalLeftOffsetForContent):
4069         (WebCore::RenderBlock::logicalRightOffsetForContent):
4070         (WebCore::RenderBlock::getClearDelta):
4071         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
4072         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
4073         (WebCore::RenderBlock::logicalWidthChangedInRegions):
4074         * rendering/RenderBlock.h:
4075         (WebCore::RenderBlock::availableLogicalWidthForLine):
4076         (WebCore::RenderBlock::logicalRightOffsetForLine):
4077         (WebCore::RenderBlock::logicalLeftOffsetForLine):
4078         (WebCore::RenderBlock::startOffsetForLine):
4079         (WebCore::RenderBlock::endOffsetForLine):
4080         (WebCore::RenderBlock::availableLogicalWidthForContent):
4081         (WebCore::RenderBlock::startOffsetForContent):
4082         (WebCore::RenderBlock::endOffsetForContent):
4083         (WebCore::RenderBlock::logicalLeftOffsetForContent):
4084         (WebCore::RenderBlock::logicalRightOffsetForContent):
4085         * rendering/RenderBox.cpp:
4086         (WebCore::RenderBox::borderBoxRectInRegion):
4087         (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
4088         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
4089         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
4090         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
4091         (WebCore::RenderBox::computeLogicalWidthInRegion):
4092         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
4093         (WebCore::RenderBox::renderBoxRegionInfo):
4094         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
4095         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
4096         (WebCore::computeInlineStaticDistance):
4097         (WebCore::RenderBox::computePositionedLogicalWidth):
4098         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
4099         (WebCore::RenderBox::computePositionedLogicalHeight):
4100         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
4101         (WebCore::RenderBox::computePositioned