00c6099b8c894c561c8c56b8f84ca783ae1394ec
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-21  Alexandre Elias  <aelias@google.com>
2
3         [chromium] Add three small zoom gesture features
4         https://bugs.webkit.org/show_bug.cgi?id=74216
5
6         Reviewed by James Robinson.
7
8         1. Support panning around with two fingers.
9         2. When double-tap zooming, issue the commit at final/scroll scale as
10         early as possible.
11         3. When pinch zooming out, issue a commit at minimum scale to avoid
12         showing checkerboard.
13
14         Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
15         (The other features are heuristics whose exact behavior we don't need
16         to lock in with a test.)
17
18         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
19         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
20         (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
21         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
22         (WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
23         (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
24         (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
25         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
26         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
27
28 2012-02-21  Filip Pizlo  <fpizlo@apple.com>
29
30         JSC should be a triple-tier VM
31         https://bugs.webkit.org/show_bug.cgi?id=75812
32         <rdar://problem/10079694>
33
34         Reviewed by Gavin Barraclough.
35         
36         No new tests, because there is no change in behavior.
37
38         * CMakeLists.txt:
39
40 2012-02-21  Kentaro Hara  <haraken@chromium.org>
41
42         NavigatorMediaStream.idl defines an interface for NavigatorGamepad
43         https://bugs.webkit.org/show_bug.cgi?id=79152
44
45         Reviewed by Adam Barth.
46
47         Fixed a typo: NavigatorGamepad => NavigatorMediaStream
48
49         This typo fix just changes the name of generated files:
50
51         - V8NavigatorGamepad.h => V8NavigatorMediaStream.h
52         - V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp
53
54         The reason why the typo has not caused any serious build issues is that
55         the generate files for supplemental interfaces are "empty" and not important.
56         They just exist to control makefile dependencies.
57
58         No tests. No change in behavior.
59
60         * mediastream/NavigatorMediaStream.idl:
61
62 2012-02-21  Daniel Sievers  <sievers@chromium.org>
63
64         [Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
65         https://bugs.webkit.org/show_bug.cgi?id=76017
66
67         Reviewed by James Robinson.
68
69         * platform/graphics/chromium/LayerRendererChromium.cpp:
70         (WebCore::LayerRendererChromium::drawSolidColorQuad):
71
72 2012-02-21  Max Vujovic  <mvujovic@adobe.com>
73
74         getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
75         https://bugs.webkit.org/show_bug.cgi?id=78631
76
77         Reviewed by Eric Seidel.
78
79         SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
80         borders and paddings, causing the CTM calculation to be off.
81
82         Test: svg/dom/SVGLocatable-getCTM-svg-root.html
83
84         * svg/SVGSVGElement.cpp:
85         (WebCore::SVGSVGElement::currentViewportSize):
86
87             SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
88             The contentBoxRect corresponds to the SVG viewport and does not include borders and
89             paddings.
90
91 2012-02-21  Robin Cao  <robin.cao@torchmobile.com.cn>
92
93         [BlackBerry] Upstream Icon class in platform/graphics/blackberry
94         https://bugs.webkit.org/show_bug.cgi?id=79088
95
96         Reviewed by Antonio Gomes.
97
98         Initial upstreaming, no new tests.
99
100         * platform/graphics/blackberry/IconBlackBerry.cpp: Added.
101         (WebCore):
102         (WebCore::Icon::~Icon):
103         (WebCore::Icon::paint):
104         (WebCore::Icon::createIconForFiles):
105
106 2012-02-21  Kenichi Ishibashi  <bashi@chromium.org>
107
108         Rename "reserved1" flag of WebSocketFrame to compress
109         https://bugs.webkit.org/show_bug.cgi?id=79187
110
111         WebSocket deflate-frame extension draft specification defines COMP bit.
112         http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11
113
114         Reviewed by Kent Tamura.
115
116         No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.
117
118         * websockets/WebSocketChannel.cpp:
119         (WebCore):
120         (WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
121         (WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
122         (WebCore::makeFrameData):
123         (WebCore::WebSocketChannel::sendFrame):
124         * websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
125         (WebCore::WebSocketFrame::WebSocketFrame):
126         (WebSocketFrame):
127
128 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
129
130         [Texmap] Move all TextureMapper related files to graphics/texmap
131         https://bugs.webkit.org/show_bug.cgi?id=79141
132
133         Reviewed by Martin Robinson.
134
135         Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
136         No new tests. 
137
138         * GNUmakefile.list.am:
139         * Target.pri:
140         * WebCore.gypi:
141         * platform/graphics/qt/GraphicsContext3DQt.cpp
142         * platform/graphics/opengl/TextureMapperGL.cpp: Removed.
143         * platform/graphics/opengl/TextureMapperGL.h: Removed.
144         * platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
145         * platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
146         * platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
147         * platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
148         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
149         * platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.
150
151 2012-02-20  MORITA Hajime  <morrita@google.com>
152
153         MEDIA_STREAM should be implemented as a PageSupplement.
154         https://bugs.webkit.org/show_bug.cgi?id=79050
155
156         Reviewed by Adam Barth.
157
158         Added UserMediaController which implements PageSupplement. This
159         controller mediates WebCore-to-client communication and lifecycle
160         management. Then pushed UserMediaController out as a
161         PageSupplement module.
162
163         No new tests. No behavior change.
164
165         * WebCore.gypi:
166         * GNUmakefile.list.am:
167         * mediastream/NavigatorMediaStream.cpp:
168         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
169         * mediastream/UserMediaClient.h:
170         (WebCore):
171         * mediastream/UserMediaController.cpp: Added.
172         (WebCore):
173         (WebCore::UserMediaController::supplementName):
174         (WebCore::UserMediaController::UserMediaController):
175         (WebCore::UserMediaController::~UserMediaController):
176         (WebCore::UserMediaController::create):
177         (WebCore::provideUserMediaTo):
178         * mediastream/UserMediaController.h: Added.
179         (WebCore):
180         (UserMediaController):
181         (WebCore::UserMediaController::client):
182         (WebCore::UserMediaController::from):
183         (WebCore::UserMediaController::requestUserMedia):
184         (WebCore::UserMediaController::cancelUserMediaRequest):
185         * mediastream/UserMediaRequest.cpp:
186         (WebCore::UserMediaRequest::create):
187         (WebCore::UserMediaRequest::UserMediaRequest):
188         (WebCore::UserMediaRequest::didCompleteQuery):
189         (WebCore::UserMediaRequest::contextDestroyed):
190         * mediastream/UserMediaRequest.h:
191         (WebCore):
192         (UserMediaRequest):
193         * page/Page.cpp:
194         (WebCore::Page::Page):
195         (WebCore::Page::~Page):
196         (WebCore::Page::PageClients::PageClients):
197         * page/Page.h:
198         (WebCore):
199         (PageClients):
200         (Page):
201
202 2012-02-21  James Robinson  <jamesr@chromium.org>
203
204         Node::isContentEditable should only update styles, not layout
205         https://bugs.webkit.org/show_bug.cgi?id=78637
206
207         Reviewed by Ryosuke Niwa.
208
209         isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
210         out of date.  It does not depend on knowing any layout-derived properties, however, so updating layout is just a
211         waste of time.
212
213         Behavior is covered by existing layout tests, primarily in editing/
214
215         * dom/Node.cpp:
216         (WebCore::Node::isContentEditable):
217         (WebCore::Node::isContentRichlyEditable):
218
219 2012-02-21  James Robinson  <jamesr@chromium.org>
220
221         Partially revert r108418 - move allowEventDispatch() call back to where it used to be.
222
223         Rubber-stamped by Ryosuke Niwa.
224
225         Tested by fast/text/find-layout-crash.html
226
227         * dom/ContainerNode.cpp:
228         (WebCore::ContainerNode::removeChildren):
229
230 2012-02-21  Anders Carlsson  <andersca@apple.com>
231
232         Background jitters on pages with background-attachment: fixed
233         https://bugs.webkit.org/show_bug.cgi?id=79182
234
235         Reviewed by Dan Bernstein.
236
237         Make sure to update the main frame scroll position before updating the scrolling layer.
238         This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
239         position if the main frame didn't have a scroll layer.
240
241         * page/scrolling/ScrollingCoordinator.cpp:
242         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
243
244 2012-02-21  Dana Jansens  <danakj@chromium.org>
245
246         Early-out in Region::unite() for adding an empty region.
247         https://bugs.webkit.org/show_bug.cgi?id=79174
248
249         Reviewed by Anders Carlsson.
250
251         * platform/graphics/Region.cpp:
252         (WebCore::Region::unite):
253
254 2012-02-21  Dana Jansens  <danakj@chromium.org>
255
256         [chromium] Painting a layer clears opaque rect in untouched tiles
257         https://bugs.webkit.org/show_bug.cgi?id=79157
258
259         Reviewed by James Robinson.
260
261         When painting a tiled layer, we would throw away the saved opaque rect
262         for any tiles that were not part of the paint. So now we check
263         if we are able to save the existing saved opaque rect in a more
264         proper way:
265         1. If any pixels of the saved rect are painted non-opaque, we replace
266         the saved rect.
267         2. If an opaque rect is drawn outside of the saved rect, we replace
268         the saved rect.
269
270         Unit test: TiledLayerChromiumTest.cpp
271
272         * platform/graphics/chromium/TiledLayerChromium.cpp:
273         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
274         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
275
276 2012-02-21  Raymond Toy  <rtoy@google.com>
277
278         Small typo in AudioPannerNode.cpp
279         https://bugs.webkit.org/show_bug.cgi?id=75890
280
281         Change to check elevation as intended instead of azimuth.
282         
283         Reviewed by Chris Rogers.
284
285         No new tests for correction of typo.
286
287         * webaudio/AudioPannerNode.cpp:
288         (WebCore::AudioPannerNode::getAzimuthElevation):
289
290 2012-02-21  Adam Barth  <abarth@webkit.org>
291
292         Frame and Navigator shouldn't need to worry about Geolocation
293         https://bugs.webkit.org/show_bug.cgi?id=78860
294
295         Reviewed by Eric Seidel.
296
297         This patch removes some Geolocation-specific code from Frame and
298         Navigator in favor of our new supplemental module mechanism.  We're
299         still refining the module system, but we seem to be converging on a
300         simple Observer/Supplement design.
301
302         In a future patch, I'll move the remaining Geolocation-related files in
303         WebCore into Modules/geolocation.  This patch appears to be the first
304         patch that introduces a module used by all the various build systems,
305         which is why there's a bit more build system overhead than usual.
306
307         * Modules/geolocation: Added.
308         * Modules/geolocation/NavigatorGeolocation.cpp: Added.
309         (WebCore):
310         (WebCore::NavigatorGeolocation::NavigatorGeolocation):
311         (WebCore::NavigatorGeolocation::~NavigatorGeolocation):
312         (WebCore::NavigatorGeolocation::pageDestroyed):
313         (WebCore::NavigatorGeolocation::from):
314         (WebCore::NavigatorGeolocation::geolocation):
315         * Modules/geolocation/NavigatorGeolocation.h: Added.
316         (WebCore):
317         (NavigatorGeolocation):
318         * Modules/geolocation/NavigatorGeolocation.idl: Added.
319             - I've temporarily disabled this API for GObject because it generates
320               a strange compile error.  Once I land this patch, I'll spend some
321               more time fixing the compile error.
322         * page/DOMWindow.cpp:
323         (WebCore):
324         * page/DOMWindow.h:
325         (DOMWindow):
326         * page/Frame.cpp:
327         (WebCore::Frame::pageDestroyed):
328         (WebCore::Frame::transferChildFrameToNewDocument):
329         * page/FrameDestructionObserver.cpp:
330         (WebCore::FrameDestructionObserver::pageDestroyed):
331         (WebCore):
332         * page/FrameDestructionObserver.h:
333         (FrameDestructionObserver):
334         * page/Navigator.cpp:
335         (WebCore):
336         * page/Navigator.h:
337         (WebCore):
338         (Navigator):
339         * page/Navigator.idl:
340
341 2012-02-21  Shawn Singh  <shawnsingh@chromium.org>
342
343         [chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
344         https://bugs.webkit.org/show_bug.cgi?id=78936
345
346         Reviewed by James Robinson.
347
348         No change in behavior, the code moved around already covered by existing tests.
349
350         In calculateDrawTransformsAndVisibility(), there are two separate
351         if-else statements where setTargetRenderSurface logic is
352         performed, and this makes the code less readable and more error
353         prone. This patch merges the logic, removing the redundant if-else
354         statements.
355
356         This code also merges one other set of if-statements that are
357         equivalent, if (layer->parent()) and if (layer!=rootLayer).
358
359         * platform/graphics/chromium/LayerChromium.cpp:
360         (WebCore::LayerChromium::createRenderSurface):
361         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
362         (WebCore::CCLayerImpl::createRenderSurface):
363         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
364         (WebCore::calculateDrawTransformsAndVisibilityInternal):
365
366 2012-02-21  Kentaro Hara  <haraken@chromium.org>
367
368         Remove FIXME from resolve-supplemental.pl
369         https://bugs.webkit.org/show_bug.cgi?id=79160
370
371         Reviewed by Adam Barth.
372
373         The IDL attribute checker has been enabled in all build systems.
374         This patch removes FIXME in resolve-supplemental.pl.
375         Also, this patch improves a comment in IDLAttributes.txt.
376
377         No tests. No change in behavior.
378
379         * bindings/scripts/IDLAttributes.txt:
380         * bindings/scripts/resolve-supplemental.pl:
381
382 2012-02-21  Emil A Eklund  <eae@chromium.org>
383
384         Add FractionalLayoutRect for sub-pixel layout
385         https://bugs.webkit.org/show_bug.cgi?id=78924
386
387         Reviewed by Eric Seidel.
388
389         Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
390         and FractionalLayoutSize internally.
391
392         Also add conversions to int/float versions of same.
393
394         No new tests.
395
396         * GNUmakefile.list.am:
397         * WebCore.vcproj/WebCore.vcproj:
398         * WebCore.xcodeproj/project.pbxproj:
399         * platform/graphics/FloatRect.cpp:
400         (WebCore::FloatRect::FloatRect):
401         (WebCore):
402         * platform/graphics/FloatRect.h:
403         (WebCore):
404         (FloatRect):
405         * platform/graphics/FractionalLayoutRect.cpp: Added.
406         (WebCore):
407         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
408         (WebCore::FractionalLayoutRect::intersects):
409         (WebCore::FractionalLayoutRect::contains):
410         (WebCore::FractionalLayoutRect::intersect):
411         (WebCore::FractionalLayoutRect::unite):
412         (WebCore::FractionalLayoutRect::uniteIfNonZero):
413         (WebCore::FractionalLayoutRect::scale):
414         (WebCore::unionRect):
415         (WebCore::enclosingIntRect):
416         (WebCore::enclosingFractionalLayoutRect):
417         (WebCore::pixelSnappedIntRect):
418         * platform/graphics/FractionalLayoutRect.h: Added.
419         (WebCore):
420         (FractionalLayoutRect):
421         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
422         (WebCore::FractionalLayoutRect::location):
423         (WebCore::FractionalLayoutRect::size):
424         (WebCore::FractionalLayoutRect::setLocation):
425         (WebCore::FractionalLayoutRect::setSize):
426         (WebCore::FractionalLayoutRect::x):
427         (WebCore::FractionalLayoutRect::y):
428         (WebCore::FractionalLayoutRect::maxX):
429         (WebCore::FractionalLayoutRect::maxY):
430         (WebCore::FractionalLayoutRect::width):
431         (WebCore::FractionalLayoutRect::height):
432         (WebCore::FractionalLayoutRect::setX):
433         (WebCore::FractionalLayoutRect::setY):
434         (WebCore::FractionalLayoutRect::setWidth):
435         (WebCore::FractionalLayoutRect::setHeight):
436         (WebCore::FractionalLayoutRect::isEmpty):
437         (WebCore::FractionalLayoutRect::center):
438         (WebCore::FractionalLayoutRect::move):
439         (WebCore::FractionalLayoutRect::moveBy):
440         (WebCore::FractionalLayoutRect::expand):
441         (WebCore::FractionalLayoutRect::contract):
442         (WebCore::FractionalLayoutRect::shiftXEdgeTo):
443         (WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
444         (WebCore::FractionalLayoutRect::shiftYEdgeTo):
445         (WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
446         (WebCore::FractionalLayoutRect::minXMinYCorner):
447         (WebCore::FractionalLayoutRect::maxXMinYCorner):
448         (WebCore::FractionalLayoutRect::minXMaxYCorner):
449         (WebCore::FractionalLayoutRect::maxXMaxYCorner):
450         (WebCore::FractionalLayoutRect::contains):
451         (WebCore::FractionalLayoutRect::inflateX):
452         (WebCore::FractionalLayoutRect::inflateY):
453         (WebCore::FractionalLayoutRect::inflate):
454         (WebCore::FractionalLayoutRect::transposedRect):
455         (WebCore::FractionalLayoutRect::infiniteRect):
456         (WebCore::intersection):
457         (WebCore::unionRect):
458         (WebCore::operator==):
459         (WebCore::operator!=):
460         * platform/graphics/IntRect.cpp:
461         (WebCore::IntRect::IntRect):
462         (WebCore):
463         * platform/graphics/IntRect.h:
464         (WebCore):
465         (IntRect):
466
467 2012-02-21  James Robinson  <jamesr@chromium.org>
468
469         Enable ScrollingCoordinator in chromium whenever compositing is enabled
470         https://bugs.webkit.org/show_bug.cgi?id=79165
471
472         Reviewed by Adam Barth.
473
474         As the title says.
475
476         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
477         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
478         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
479         (WebCore::ScrollingCoordinator::setScrollLayer):
480         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
481         (WebCore::ScrollingCoordinator::setScrollParameters):
482         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
483         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
484             Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
485         * rendering/RenderLayerBacking.cpp:
486         (WebCore::RenderLayerBacking::RenderLayerBacking):
487             Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
488         * rendering/RenderLayerCompositor.cpp:
489         (WebCore::shouldCompositeOverflowControls):
490             Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
491             want to composite overflow controls even for FrameViews that we aren't coordinating via the
492             ScrollingCoordinator.
493
494 2012-02-21  Adam Klein  <adamk@chromium.org>
495
496         Setting innerText causes DOMSubtreeModified to be dispatched too early
497         https://bugs.webkit.org/show_bug.cgi?id=79140
498
499         Reviewed by Ryosuke Niwa.
500
501         Followup to r108152: move children change notifications later in
502         ContainerNode::removeChildren(), thus making sure Node::inDocument()
503         is in the correct state when we call into script.
504
505         Tests: fast/dom/getElementById-consistency3.html
506                fast/dom/getElementById-consistency4.html
507                fast/dom/getElementById-consistency5.html
508
509         * dom/ContainerNode.cpp:
510         (WebCore::ContainerNode::removeChildren):
511
512 2012-02-15  Ryosuke Niwa  <rniwa@webkit.org>
513
514         Assertion failure in TextIterator::handleTextBox
515         https://bugs.webkit.org/show_bug.cgi?id=78530
516
517         Reviewed by Eric Seidel.
518
519         The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
520         m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
521         when we have a first-letter.
522
523         Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html
524
525         * editing/TextIterator.cpp:
526         (WebCore::TextIterator::handleTextNode):
527         (WebCore::TextIterator::handleTextBox):
528         (WebCore::TextIterator::handleTextNodeFirstLetter):
529
530 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
531
532         Unreviewed build fix.
533
534         No new tests.
535
536         * platform/graphics/opengl/TextureMapperGL.cpp:
537
538 2012-02-21  Adam Klein  <adamk@chromium.org>
539
540         ContainerNode::childrenChanged must be called immediately after removing children
541         https://bugs.webkit.org/show_bug.cgi?id=79162
542
543         Reviewed by Ryosuke Niwa.
544
545         In r108152, a call to childrenChanged() was erroneously moved
546         below the call to child->removedFromDocument(). This breaks, at the
547         least, the behavior of the <title> element. This patch corrects the
548         mistake and adds a test.
549
550         Test: fast/dom/title-directionality-removeChild.html
551
552         * dom/ContainerNode.cpp:
553         (WebCore::ContainerNode::removeChild):
554
555 2012-02-21  Luke Macpherson   <macpherson@chromium.org>
556
557         Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
558         https://bugs.webkit.org/show_bug.cgi?id=79067
559
560         Reviewed by Andreas Kling.
561
562         No new tests / refactoring only.
563
564         * css/CSSStyleApplyProperty.cpp:
565         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
566         * css/CSSStyleSelector.cpp:
567         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
568         * rendering/style/RenderStyle.h:
569
570 2012-02-21  Jon Lee  <jonlee@apple.com>
571
572         Bring notifications support to WK1 mac
573         https://bugs.webkit.org/show_bug.cgi?id=78783
574         <rdar://problem/10610578>
575
576         Reviewed by Anders Carlsson.
577
578         * WebCore.exp.in: Expose dispatchErrorEvent on Notification.
579
580 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
581
582         [Qt] Previous web page appears outside content rect
583         https://bugs.webkit.org/show_bug.cgi?id=78816
584
585         Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
586         not sizes.
587
588         Reviewed by Kenneth Rohde Christiansen.
589
590         No new functionality.
591
592         * platform/graphics/opengl/TextureMapperGL.cpp:
593         (WebCore::scissorClip):
594
595 2012-02-21  Victor Carbune  <vcarbune@adobe.com>
596
597         Added support for pause-on-exit flag on a TextTrackCue.
598         https://bugs.webkit.org/show_bug.cgi?id=72173
599
600         Reviewed by Eric Carlson.
601
602         Test: media/track/track-cues-pause-on-exit.html
603
604         * html/HTMLMediaElement.cpp:
605         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented
606         support for pausing the video if the pause-on-exit flag is set on
607         a cue that is currently exiting.
608
609 2012-02-21  Kentaro Hara  <haraken@chromium.org>
610
611         Enable the IDL attribute checker in all build systems
612         https://bugs.webkit.org/show_bug.cgi?id=79090
613
614         Reviewed by Adam Barth.
615
616         We have enabled the IDL attribute checker in Chromium in r108322.
617         This patch enables the IDL attribute checker in all other
618         build systems.
619
620         No tests. I manually checked that [Custommm], [CallWith=],
621         [CallWith=ScriptExecutionContext|Foo] cause build failures.
622
623         * CMakeLists.txt:
624         * DerivedSources.make:
625         * DerivedSources.pri:
626         * GNUmakefile.am:
627         * UseJSC.cmake:
628         * UseV8.cmake:
629         * WebCore.vcproj/WebCore.vcproj:
630         * WebCore.xcodeproj/project.pbxproj:
631         * bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation]
632         since I forgot to add it in r108322.
633
634 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
635
636         [Texmap] Better management of shaders in TextureMapperGL
637         https://bugs.webkit.org/show_bug.cgi?id=78674
638  
639         Reviewed by Noam Rosenthal.
640  
641         Split TextureMapperGL.cpp into two files.
642         Get rid of the enums that we were using to identify shaders and to identify variables.
643         Switch flip and opaque from using bool to using enums.
644  
645         No new tests. This is refactoring only.
646  
647         * GNUmakefile.list.am:
648         * Target.pri:
649         * WebCore.gypi:
650         * platform/graphics/OpenGLShims.h:
651         * platform/graphics/opengl/TextureMapperGL.cpp:
652         (WebCore):
653         (SharedGLData):
654         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
655         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
656         (WebCore::TextureMapperGLData::TextureMapperGLData):
657         (TextureMapperGLData):
658         (WebCore::TextureMapperGL::drawTexture):
659         (WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity):
660         (WebCore::TextureMapperGL::drawTextureSimple):
661         (WebCore::TextureMapperGL::beginClip):
662         * platform/graphics/opengl/TextureMapperGL.h:
663         * platform/graphics/opengl/TextureMapperShaderManager.cpp: Added.
664         (WebCore):
665         (WebCore::FRAGMENT_SHADER):
666         (WebCore::TextureMapperShaderProgram::initializeProgram):
667         (WebCore::TextureMapperShaderProgram::getUniformLocation):
668         (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
669         (WebCore::TextureMapperShaderProgramSimple::create):
670         (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
671         (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
672         (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
673         (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
674         (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
675         (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
676         (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
677         (WebCore::TextureMapperShaderProgramClip::create):
678         (WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip):
679         (WebCore::TextureMapperShaderProgramClip::vertexShaderSource):
680         (WebCore::TextureMapperShaderProgramClip::fragmentShaderSource):
681         (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
682         (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
683         * platform/graphics/opengl/TextureMapperShaderManager.h: Added.
684         (WebCore):
685         (WebCore::debugGLCommand):
686         (TextureMapperShaderProgram):
687         (WebCore::TextureMapperShaderProgram::id):
688         (WebCore::TextureMapperShaderProgram::vertexAttrib):
689         (WebCore::TextureMapperShaderProgram::shaderType):
690         (TextureMapperShaderProgramSimple):
691         (WebCore::TextureMapperShaderProgramSimple::matrixVariable):
692         (WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable):
693         (WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable):
694         (WebCore::TextureMapperShaderProgramSimple::opacityVariable):
695         (TextureMapperShaderProgramOpacityAndMask):
696         (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable):
697         (WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable):
698         (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
699         (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable):
700         (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
701         (WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable):
702         (TextureMapperShaderProgramClip):
703         (WebCore::TextureMapperShaderProgramClip::matrixVariable):
704         (TextureMapperShaderManager):
705         (WebCore::TextureMapperShaderManager::getShaderProgram):
706         * platform/graphics/qt/GraphicsContext3DQt.cpp:
707         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
708         * platform/graphics/texmap/TextureMapper.h:
709         (WebCore::BitmapTexture::reset):
710         (WebCore::BitmapTexture::isOpaque):
711         (BitmapTexture):
712
713 2012-02-21  Anders Carlsson  <andersca@apple.com>
714
715         The tile cache should keep track of the tile coverage rect
716         https://bugs.webkit.org/show_bug.cgi?id=79149
717         <rdar://problem/10877338>
718
719         Reviewed by Andreas Kling.
720
721         Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.
722
723         * platform/graphics/ca/mac/TileCache.h:
724         (TileCache):
725         * platform/graphics/ca/mac/TileCache.mm:
726         (WebCore::TileCache::setNeedsDisplayInRect):
727         (WebCore::TileCache::revalidateTiles):
728
729 2012-02-21  Andreas Kling  <awesomekling@apple.com>
730
731         Make WebKitCSSShaderValue inherit directly from CSSValue.
732         <http://webkit.org/b/79144>
733
734         Reviewed by Antti Koivisto.
735
736         WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
737         it for storing the shader URL. Moved that to a String member instead.
738
739         WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
740         there should be no behavior change whatsoever here.
741
742         * css/WebKitCSSShaderValue.cpp:
743         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
744         (WebCore::WebKitCSSShaderValue::cachedShader):
745         (WebCore::WebKitCSSShaderValue::customCssText):
746         * css/WebKitCSSShaderValue.h:
747         (WebKitCSSShaderValue):
748
749 2012-02-21  James Robinson  <jamesr@chromium.org>
750
751         Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.
752
753         * page/scrolling/ScrollingCoordinator.cpp:
754         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
755
756 2012-02-21  James Robinson  <jamesr@chromium.org>
757
758         ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
759         https://bugs.webkit.org/show_bug.cgi?id=79126
760
761         Reviewed by Anders Carlsson.
762
763         The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
764         about manipulating GraphicsLayers. Adds a runtime check.
765
766         Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
767
768         * page/FrameView.cpp:
769         (WebCore::FrameView::addFixedObject):
770         (WebCore::FrameView::removeFixedObject):
771         * page/scrolling/ScrollingCoordinator.cpp:
772         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
773         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
774
775 2012-02-21  James Robinson  <jamesr@chromium.org>
776
777         Chromium build fix. Unreviwed but rubber-stamped by Antti.
778
779         * dom/Document.cpp:
780         * editing/ReplaceSelectionCommand.cpp:
781         * inspector/InspectorStyleSheet.h:
782
783 2012-02-21  Eric Carlson  <eric.carlson@apple.com>
784
785         Set Referrer header for media downloads
786         https://bugs.webkit.org/show_bug.cgi?id=78614
787
788         Reviewed by Alexey Proskuryakov.
789
790         Test: http/tests/media/video-referer.html was modified to test this change.
791
792         * html/HTMLMediaElement.cpp:
793         (WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
794         * html/HTMLMediaElement.h:
795
796         * platform/graphics/MediaPlayer.cpp:
797         (WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
798         * platform/graphics/MediaPlayer.h:
799         (WebCore::MediaPlayerClient::mediaPlayerReferrer):
800
801         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
802         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
803         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
804             a referer header.
805
806 2012-02-21  Antti Koivisto  <antti@apple.com>
807
808         Not reviewed.
809
810         Remove some obsolete comments, use consistent name for propertyID.
811
812         * css/StylePropertySet.h:
813         (StylePropertySet):
814
815 2012-02-21  Antti Koivisto  <antti@apple.com>
816
817         Clean up StylePropertySet included headers
818         https://bugs.webkit.org/show_bug.cgi?id=79134
819
820         Reviewed by Andreas Kling.
821
822         Remove unneccesary includes.
823
824         * bindings/js/JSDOMBinding.h:
825         * css/StylePropertySet.cpp:
826         * css/StylePropertySet.h:
827         (WebCore):
828         (StylePropertySet):
829         * editing/RemoveCSSPropertyCommand.cpp:
830
831 2012-02-21  Lin Wei  <wei.a.lin@intel.com>
832
833         Fix bug from r107672.
834         https://bugs.webkit.org/show_bug.cgi?id=78773
835
836         Before set MediaStreamTrack disable/enable operation,
837         checking the status of MediaStream that contains this MediaStreamTrack.
838         if MediaStream is finished, then skipping operation of 
839         didSetMediaStreamTrackEnabled().
840
841         Reviewed by Adam Barth.
842         * mediastream/MediaStreamTrack.cpp:
843         (WebCore::MediaStreamTrack::setEnabled):
844
845 2012-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
846
847         Move RenderLayer::scrolledContentOffset calls to a common function
848         https://bugs.webkit.org/show_bug.cgi?id=76971
849
850         Reviewed by David Hyatt.
851
852         Refactoring without any change in behavior.
853
854         This change adds a RenderBox::scrolledContentOffset function to handle all
855         the calls that goes through the layer(). This indirection will enable us to
856         add layer() checks without patching a lot of call sites as part of bug 75568.
857
858         We also moved down the concept of scroll offset down to RenderBox where it belongs!
859
860         * rendering/RenderLayer.h:
861         (RenderLayer):
862         (WebCore::RenderLayer::scrolledContentOffset):
863         Moved scrolledContent to the private section of the class to prevent misuse.
864
865         * rendering/RenderBox.cpp:
866         (WebCore::RenderBox::scrolledContentOffset):
867         New function to add an indirection with RenderLayer.
868
869         * editing/visible_units.cpp:
870         (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
871         * rendering/LayoutState.cpp:
872         (WebCore::LayoutState::LayoutState):
873         * rendering/RenderBlock.cpp:
874         (WebCore::RenderBlock::layoutBlock):
875         (WebCore::RenderBlock::paintObject):
876         (WebCore::RenderBlock::selectionGapRectsForRepaint):
877         (WebCore::RenderBlock::paintSelection):
878         (WebCore::RenderBlock::nodeAtPoint):
879         (WebCore::RenderBlock::offsetForContents):
880         * rendering/RenderBox.cpp:
881         (WebCore::RenderBox::offsetFromContainer):
882         (WebCore::RenderBox::computeRectForRepaint):
883         * rendering/RenderBox.h:
884         (RenderBox):
885         * rendering/RenderBoxModelObject.cpp:
886         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
887         * rendering/RenderInline.cpp:
888         (WebCore::RenderInline::clippedOverflowRectForRepaint):
889         (WebCore::RenderInline::computeRectForRepaint):
890         (WebCore::RenderInline::offsetFromContainer):
891         * rendering/RenderObject.cpp:
892         (WebCore::RenderObject::computeRectForRepaint):
893         (WebCore::RenderObject::mapLocalToContainer):
894         (WebCore::RenderObject::mapAbsoluteToLocalPoint):
895         (WebCore::RenderObject::offsetFromContainer):
896         * rendering/RenderTextControlSingleLine.cpp:
897         (WebCore::RenderTextControlInnerBlock::positionForPoint):
898         Patched all those call sites to use the new function.
899
900 2012-02-21  Emil A Eklund  <eae@chromium.org>
901
902         Remove obsolete float comparison FIXMEs
903         https://bugs.webkit.org/show_bug.cgi?id=79127
904
905         Reviewed by Eric Seidel.
906
907         Remove obsolete FIXME comments added back when we were planning to use
908         floating point units for layout.
909
910         No new tests, no code changes.
911
912         * page/FrameView.cpp:
913         (WebCore::FrameView::init):
914         * rendering/RenderBlock.cpp:
915         (WebCore::RenderBlock::layoutBlock):
916         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
917         (WebCore::RenderBlock::getClearDelta):
918         * rendering/RenderBox.cpp:
919         (WebCore::RenderBox::computeLogicalHeight):
920         (WebCore::RenderBox::computeLogicalHeightUsing):
921         (WebCore::RenderBox::computePercentageLogicalHeight):
922         * rendering/RenderBoxModelObject.cpp:
923         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
924
925 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
926
927         Web Inspector: it is nearly impossible to select and copy text on the Elements panel.
928         https://bugs.webkit.org/show_bug.cgi?id=60814
929
930         Reviewed by Pavel Feldman.
931
932         * inspector/front-end/inspector.js:
933         (WebInspector.documentClick.followLink):
934         (WebInspector.documentClick):
935
936 2012-02-21  Abhishek Arya  <inferno@chromium.org>
937
938         Crash in RenderTableSection::nodeAtPoint.
939         https://bugs.webkit.org/show_bug.cgi?id=78922
940
941         Reviewed by Julien Chaffraix.
942
943         Test: fast/table/table-section-node-at-point-crash.html
944
945         * rendering/RenderTableSection.cpp:
946         (WebCore::RenderTableSection::nodeAtPoint): recalc cells if the
947         m_needsCellRecalc is set. Otherwise, we will end up accessing
948         removed table cells.
949
950 2012-02-21  Antti Koivisto  <antti@apple.com>
951
952         Move PropertySetCSSStyleDeclaration to a file of its own
953         https://bugs.webkit.org/show_bug.cgi?id=79121
954
955         Rubber-stamped by Andreas Kling.
956
957         This makes StylePropertySet.cpp more readable.
958
959         * CMakeLists.txt:
960         * GNUmakefile.list.am:
961         * Target.pri:
962         * WebCore.gypi:
963         * WebCore.vcproj/WebCore.vcproj:
964         * WebCore.xcodeproj/project.pbxproj:
965         * css/PropertySetCSSStyleDeclaration.cpp: Copied from Source/WebCore/css/StylePropertySet.cpp.
966         (WebCore::PropertySetCSSStyleDeclaration::ref):
967         (WebCore::PropertySetCSSStyleDeclaration::deref):
968         (WebCore):
969         * css/PropertySetCSSStyleDeclaration.h: Added.
970         (WebCore):
971         (PropertySetCSSStyleDeclaration):
972         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
973         (WebCore::PropertySetCSSStyleDeclaration::parentElement):
974         (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
975         (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
976         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
977         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
978         (RuleCSSStyleDeclaration):
979         (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
980         (WebCore::RuleCSSStyleDeclaration::parentRule):
981         (WebCore::RuleCSSStyleDeclaration::clearParentRule):
982         (InlineCSSStyleDeclaration):
983         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
984         (WebCore::InlineCSSStyleDeclaration::parentElement):
985         (WebCore::InlineCSSStyleDeclaration::clearParentElement):
986         * css/StylePropertySet.cpp:
987         (WebCore):
988
989 2012-02-21  Philippe Normand  <pnormand@igalia.com>
990
991         [GTK] WebAudio build is broken
992         https://bugs.webkit.org/show_bug.cgi?id=79113
993
994         Reviewed by Martin Robinson.
995
996         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
997         (webKitWebAudioGStreamerChannelPosition): Set a default value for
998         the position variable.
999         * platform/audio/gtk/AudioBusGtk.cpp: Include CString.h, needed
1000         for sharedResourcesPath().
1001
1002 2012-02-21  Andreas Kling  <awesomekling@apple.com>
1003
1004         Kill FontFamilyValue.
1005         <http://webkit.org/b/79103>
1006
1007         Reviewed by Antti Koivisto.
1008
1009         Remove FontFamilyValue and replace all usage by CSSPrimitiveValue.
1010         The class was only used to filter font family names, removing bracketed
1011         suffixes, e.g "[Xft]".
1012
1013         This was added to KHTML in 2002 to support the use of specific X11 font
1014         families inside KMail: <https://bugs.kde.org/show_bug.cgi?id=38808>
1015
1016         Test: fast/css/font-family-trailing-bracket-gunk.html
1017
1018         * CMakeLists.txt:
1019         * GNUmakefile.list.am:
1020         * Target.pri:
1021         * WebCore.gypi:
1022         * WebCore.order:
1023         * WebCore.vcproj/WebCore.vcproj:
1024         * WebCore.xcodeproj/project.pbxproj:
1025         * css/CSSFontSelector.cpp:
1026         (WebCore::CSSFontSelector::addFontFaceRule):
1027         * css/CSSParser.cpp:
1028         * css/CSSStyleSelector.cpp:
1029         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1030         * css/CSSValue.cpp:
1031         (WebCore::CSSValue::cssText):
1032         (WebCore::CSSValue::destroy):
1033         * css/CSSValue.h:
1034         * css/CSSValuePool.cpp:
1035         (WebCore::CSSValuePool::createFontFamilyValue):
1036         * css/CSSValuePool.h:
1037         (CSSValuePool):
1038         * css/FontFamilyValue.cpp: Removed.
1039         * css/FontFamilyValue.h: Removed.
1040
1041 2012-02-21  Alexis Menard  <alexis.menard@openbossa.org>
1042
1043         Little optimization for CSSParser::parseFillShorthand.
1044         https://bugs.webkit.org/show_bug.cgi?id=79042
1045
1046         Reviewed by Hajime Morita.
1047
1048         Remove one extra loop that we can combine with the following one
1049         which adds the properties to the parser's list of properties. I also
1050         removed a useless check.
1051         Instruments shows on the css-parser-yui benchmark an improvement
1052         of 13ms (from 77ms spent in the function to 64ms).
1053
1054         No new tests : refactoring, existings tests should cover.
1055
1056         * css/CSSParser.cpp:
1057         (WebCore::CSSParser::parseFillShorthand):
1058
1059 2012-02-20  David Hyatt  <hyatt@apple.com>
1060
1061         https://bugs.webkit.org/show_bug.cgi?id=79046
1062         
1063         width of overflow:hidden blocks is wrong when their margins overlap floats.
1064         
1065         Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
1066         
1067         This patch makes the following changes to how objects shrink when avoiding floats:
1068         (1) The containing block width used for percentage calculations is now constant. This means that
1069         an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending
1070         on the available line width. From a code perspective, containingBlockLogicalWidthForContent and
1071         containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for
1072         shrinkToAvoidFloats() objects.
1073
1074         (2) Now the computation of the logical width for the shrinking object itself handles the adjustments.
1075         Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink
1076         the object to the available line width minus our margins, and then expand the width back out to the content edge
1077         or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the
1078         content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our
1079         margin overlaps with the float. This expansion is not performed for negative margins, since our result is already
1080         correct in that case.
1081         
1082         Reviewed by Dan Bernstein.
1083
1084         Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot)
1085         in fast/block/float.
1086
1087         * rendering/RenderBlock.cpp:
1088         (WebCore::RenderBlock::containsFloat):
1089         * rendering/RenderBlock.h:
1090         (WebCore::RenderBlock::containsFloats):
1091         Changed to be const.
1092
1093         (WebCore::RenderBlock::endOffsetForLine):
1094         (WebCore::RenderBlock::endOffsetForContent):
1095         Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.
1096
1097         * rendering/RenderBox.cpp:
1098         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
1099         New method that handles shrinking the logical width to the line width (and then re-expanding back out to the
1100         float and/or content edges as needed).
1101
1102         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
1103         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
1104         Patched to no longer do the shrinking of objects to avoid floats.
1105
1106         (WebCore::RenderBox::computeLogicalWidthInRegion):
1107         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1108         Patched to handle calling the new shrinking code to adjust our logical width.
1109
1110         * rendering/RenderBox.h:
1111         (RenderBox):
1112         The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
1113         to efficiently perform the shrinking.
1114
1115         * rendering/RenderTable.cpp:
1116         (WebCore::RenderTable::computeLogicalWidth):
1117         Patched to handle calling the new shrinking code to adjust our logical width.
1118
1119 2012-02-21  Sam Weinig  <sam@webkit.org>
1120
1121         Attempt to fix the Snow Leopard build.
1122
1123         * Configurations/Base.xcconfig:
1124
1125 2012-02-21  Sam Weinig  <sam@webkit.org>
1126
1127         Use libc++ when building with Clang on Mac
1128         https://bugs.webkit.org/show_bug.cgi?id=78981
1129
1130         Reviewed by Dan Bernstein.
1131
1132         * Configurations/Base.xcconfig:
1133
1134 2012-02-21  Adam Roben  <aroben@apple.com>
1135
1136         Mac build fix
1137
1138         * WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
1139         WebKit can include them.
1140
1141 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
1142
1143         [Qt][WK2] Fix the N9 build
1144         https://bugs.webkit.org/show_bug.cgi?id=79101
1145
1146         Reviewed by Noam Rosenthal.
1147
1148         No new tests needed.
1149
1150         * platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.
1151
1152 2012-02-21  Adam Roben  <aroben@apple.com>
1153
1154         Roll out r108309, r108323, and r108326
1155
1156         They broke the 32-bit Lion build.
1157
1158         Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.
1159
1160         * CMakeLists.txt:
1161
1162 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
1163
1164         Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box
1165         https://bugs.webkit.org/show_bug.cgi?id=79107
1166
1167         Reviewed by Pavel Feldman.
1168
1169         * inspector/front-end/TextPrompt.js:
1170         (WebInspector.TextPrompt.SuggestBox):
1171         (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
1172         (WebInspector.TextPrompt.SuggestBox.prototype.hide):
1173         (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
1174         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
1175         * inspector/front-end/textPrompt.css:
1176         (.suggest-box):
1177
1178 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
1179
1180         Web Inspector: timeline hangs on a page with deep chain of nested events.
1181         https://bugs.webkit.org/show_bug.cgi?id=79106
1182
1183         Use stack of states instead of recursive calls when traversing records tree to
1184         avoid stack overflow.
1185
1186         Reviewed by Pavel Feldman.
1187
1188         * inspector/front-end/TimelineOverviewPane.js:
1189         (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
1190         * inspector/front-end/TimelinePanel.js:
1191         (WebInspector.TimelinePanel.prototype._filterRecords):
1192
1193 2012-02-21  Pavel Feldman  <pfeldman@google.com>
1194
1195         Web Inspector: [crash] upon style modification after navigation
1196         https://bugs.webkit.org/show_bug.cgi?id=79108
1197
1198         Reviewed by Yury Semikhatsky.
1199
1200         * inspector/InspectorHistory.cpp:
1201         (WebCore::InspectorHistory::undo):
1202         (WebCore::InspectorHistory::redo):
1203         (WebCore::InspectorHistory::reset):
1204
1205 2012-02-21  Patrick Gansterer  <paroga@webkit.org>
1206
1207         Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp
1208         https://bugs.webkit.org/show_bug.cgi?id=79089
1209
1210         Reviewed by Adam Roben.
1211
1212         Avoid loading and unloading of the crypto library during every
1213         call to openTemporaryFile() and make the code easier.
1214
1215         * platform/win/FileSystemWin.cpp:
1216         (WebCore::openTemporaryFile):
1217
1218 2012-02-21  Alexander Færøy  <alexander.faeroy@nokia.com>
1219
1220         Remove stylesheet pointer from StylePropertySet
1221         https://bugs.webkit.org/show_bug.cgi?id=79092
1222
1223         Reviewed by Csaba Osztrogonác.
1224
1225         Qt buildfix after r108345.
1226
1227         * css/CSSParser.cpp:
1228         (WebCore::parseColorValue):
1229
1230 2012-02-21  Csaba Osztrogonác  <ossy@webkit.org>
1231
1232         Remove stylesheet pointer from StylePropertySet
1233         https://bugs.webkit.org/show_bug.cgi?id=79092
1234
1235         Reviewed by Antti Koivisto.
1236
1237         Qt buildfix after r108345. We need this workaround because of buggy gcc (4.4.5), which
1238         reported a false warning: 'value$m_ptr' may be used uninitialized in this function
1239
1240         * css/CSSParser.cpp:
1241         (WebCore::parseSimpleLengthValue):
1242
1243 2012-02-21  Andreas Kling  <awesomekling@apple.com>
1244
1245         Shrink attribute style property sets after populating them.
1246         <http://webkit.org/b/78972>
1247
1248         Reviewed by Antti Koivisto.
1249
1250         Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute()
1251         to minimize the amount of wasted space.
1252
1253         * css/StylePropertySet.h:
1254         (WebCore::StylePropertySet::shrinkToFit):
1255         * dom/StyledElement.cpp:
1256         (WebCore::StyledElement::updateAttributeStyle):
1257
1258 2012-02-21  Antti Koivisto  <antti@apple.com>
1259
1260         Remove stylesheet pointer from StylePropertySet
1261         https://bugs.webkit.org/show_bug.cgi?id=79092
1262
1263         Reviewed by Andreas Kling.
1264
1265         The context should be passed as an argument for CSS parser invoking setters that actually need it.
1266         
1267         - Remove the context stylesheet pointer.
1268         - Add context stylesheet argument to setters.
1269         - Drop an unnecessary StylePropertySet constructor, pass strict parsing flag directly.
1270         - Adapt to changes by passing in the context stylesheet where needed.
1271         - Add StyledElement::applyPresentationAttributeToStyle helpers for building up the attribute style.
1272
1273         * css/CSSFontFaceRule.cpp:
1274         (WebCore::CSSFontFaceRule::addSubresourceStyleURLs):
1275         * css/CSSParser.cpp:
1276         (WebCore::parseColorValue):
1277         (WebCore::parseSimpleLengthValue):
1278         (WebCore::CSSParser::parseValue):
1279         (WebCore::CSSParser::parseDeclaration):
1280         (WebCore::CSSParser::createStyleRule):
1281         (WebCore::CSSParser::createFontFaceRule):
1282         (WebCore::CSSParser::createPageRule):
1283         (WebCore::CSSParser::createKeyframeRule):
1284         * css/CSSParser.h:
1285         (CSSParser):
1286         * css/CSSStyleRule.cpp:
1287         (WebCore::CSSStyleRule::addSubresourceStyleURLs):
1288         * css/StylePropertySet.cpp:
1289         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
1290         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
1291         (RuleCSSStyleDeclaration):
1292         (InlineCSSStyleDeclaration):
1293         (WebCore):
1294         (WebCore::StylePropertySet::StylePropertySet):
1295         (WebCore::StylePropertySet::setProperty):
1296         (WebCore::StylePropertySet::parseDeclaration):
1297         (WebCore::StylePropertySet::addSubresourceStyleURLs):
1298         (WebCore::StylePropertySet::clearParentRule):
1299         (WebCore::StylePropertySet::clearParentElement):
1300         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
1301         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
1302         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
1303         (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
1304         (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
1305         (WebCore::RuleCSSStyleDeclaration::contextStyleSheet):
1306         (WebCore::InlineCSSStyleDeclaration::contextStyleSheet):
1307         (SameSizeAsStylePropertySet):
1308         * css/StylePropertySet.h:
1309         (WebCore::StylePropertySet::create):
1310         (StylePropertySet):
1311         * css/WebKitCSSMatrix.cpp:
1312         (WebCore::WebKitCSSMatrix::setMatrixValue):
1313         * dom/ElementAttributeData.cpp:
1314         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
1315         * dom/StyledElement.cpp:
1316         (WebCore):
1317         (WebCore::StyledElement::parseAttribute):
1318         (WebCore::StyledElement::setInlineStyleProperty):
1319         (WebCore::StyledElement::addSubresourceAttributeURLs):
1320         (WebCore::StyledElement::updateAttributeStyle):
1321         * dom/StyledElement.h:
1322         (StyledElement):
1323         (WebCore::StyledElement::applyPresentationAttributeToStyle):
1324         (WebCore):
1325         * html/HTMLBRElement.cpp:
1326         (WebCore::HTMLBRElement::collectStyleForAttribute):
1327         * html/HTMLBodyElement.cpp:
1328         (WebCore::HTMLBodyElement::collectStyleForAttribute):
1329         * html/HTMLDivElement.cpp:
1330         (WebCore::HTMLDivElement::collectStyleForAttribute):
1331         * html/HTMLElement.cpp:
1332         (WebCore::HTMLElement::applyBorderAttributeToStyle):
1333         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
1334         (WebCore::HTMLElement::collectStyleForAttribute):
1335         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
1336         (WebCore::HTMLElement::addHTMLLengthToStyle):
1337         (WebCore::HTMLElement::addHTMLColorToStyle):
1338         * html/HTMLElement.h:
1339         (HTMLElement):
1340         * html/HTMLFontElement.cpp:
1341         (WebCore::HTMLFontElement::collectStyleForAttribute):
1342         * html/HTMLHRElement.cpp:
1343         (WebCore::HTMLHRElement::collectStyleForAttribute):
1344         * html/HTMLImageElement.cpp:
1345         (WebCore::HTMLImageElement::collectStyleForAttribute):
1346         * html/HTMLLIElement.cpp:
1347         (WebCore::HTMLLIElement::collectStyleForAttribute):
1348         * html/HTMLMarqueeElement.cpp:
1349         (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
1350         * html/HTMLOListElement.cpp:
1351         (WebCore::HTMLOListElement::collectStyleForAttribute):
1352         * html/HTMLParagraphElement.cpp:
1353         (WebCore::HTMLParagraphElement::collectStyleForAttribute):
1354         * html/HTMLTableCaptionElement.cpp:
1355         (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
1356         * html/HTMLTableCellElement.cpp:
1357         (WebCore::HTMLTableCellElement::collectStyleForAttribute):
1358         * html/HTMLTableElement.cpp:
1359         (WebCore::HTMLTableElement::collectStyleForAttribute):
1360         * html/HTMLTablePartElement.cpp:
1361         (WebCore::HTMLTablePartElement::collectStyleForAttribute):
1362         * html/HTMLTextAreaElement.cpp:
1363         (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
1364         * html/HTMLUListElement.cpp:
1365         (WebCore::HTMLUListElement::collectStyleForAttribute):
1366         * html/canvas/CanvasRenderingContext2D.cpp:
1367         (WebCore::CanvasRenderingContext2D::setFont):
1368         * mathml/MathMLElement.cpp:
1369         (WebCore::MathMLElement::collectStyleForAttribute):
1370         * svg/SVGFontFaceElement.cpp:
1371         (WebCore::SVGFontFaceElement::insertedIntoDocument):
1372         (WebCore::SVGFontFaceElement::removedFromDocument):
1373         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
1374         * svg/SVGImageElement.cpp:
1375         (WebCore::SVGImageElement::collectStyleForAttribute):
1376         * svg/SVGStyledElement.cpp:
1377         (WebCore::SVGStyledElement::collectStyleForAttribute):
1378         * svg/SVGTextContentElement.cpp:
1379         (WebCore::SVGTextContentElement::collectStyleForAttribute):
1380
1381 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
1382
1383         [V8] Web Inspector: set breakpoint/pause doesn't work when worker is in a tight loop
1384         https://bugs.webkit.org/show_bug.cgi?id=79097
1385
1386         Worker script will be interrupted to dispatch all arriving inspector commands.
1387         This way debugger will be operable even if worker is in a tight loop.
1388
1389         Reviewed by Pavel Feldman.
1390
1391         * bindings/js/ScriptDebugServer.h:
1392         (Task):
1393         (WebCore::ScriptDebugServer::Task::~Task):
1394         (ScriptDebugServer):
1395         * bindings/js/WorkerScriptDebugServer.cpp:
1396         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
1397         (WebCore):
1398         * bindings/js/WorkerScriptDebugServer.h:
1399         (WorkerScriptDebugServer):
1400         * bindings/v8/ScriptDebugServer.cpp:
1401         (WebCore::ScriptDebugServer::interruptAndRun):
1402         * bindings/v8/ScriptDebugServer.h:
1403         (ScriptDebugServer):
1404         * bindings/v8/WorkerScriptDebugServer.cpp:
1405         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1406         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
1407         (WebCore):
1408         * bindings/v8/WorkerScriptDebugServer.h:
1409         (v8):
1410         (WebCore):
1411         (WorkerScriptDebugServer):
1412         * inspector/WorkerDebuggerAgent.cpp:
1413         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1414         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
1415         (WebCore):
1416         (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
1417         * inspector/WorkerDebuggerAgent.h:
1418         (WebCore):
1419         (WorkerDebuggerAgent):
1420         * workers/WorkerMessagingProxy.cpp:
1421         (WebCore):
1422         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
1423         * workers/WorkerRunLoop.cpp:
1424         (WebCore::WorkerRunLoop::run):
1425         (WebCore::WorkerRunLoop::runInMode):
1426         * workers/WorkerRunLoop.h:
1427         (WorkerRunLoop):
1428
1429 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
1430
1431         Not reviewed: fixing Mac build (take 2).
1432
1433         * inspector/InspectorPageAgent.cpp:
1434         (WebCore::InspectorPageAgent::setShowPaintRects):
1435
1436 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
1437
1438         Not reviewed: fixing Mac build.
1439
1440         * inspector/DOMNodeHighlighter.cpp:
1441         (WebCore::DOMNodeHighlighter::drawOutline):
1442         * inspector/DOMNodeHighlighter.h:
1443         (DOMNodeHighlighter):
1444         * inspector/InspectorInstrumentation.cpp:
1445         (WebCore::InspectorInstrumentation::willPaintImpl):
1446         * inspector/InspectorInstrumentation.h:
1447         (InspectorInstrumentation):
1448         (WebCore::InspectorInstrumentation::willPaint):
1449         * inspector/InspectorPageAgent.cpp:
1450         (WebCore::InspectorPageAgent::InspectorPageAgent):
1451         (WebCore::InspectorPageAgent::willPaint):
1452         (WebCore::InspectorPageAgent::didPaint):
1453         * inspector/InspectorPageAgent.h:
1454
1455 2012-02-21  Peter Rybin  <peter.rybin@gmail.com>
1456
1457         Web Inspector: Switch Debugger agent to TypeBuilder
1458         https://bugs.webkit.org/show_bug.cgi?id=78390
1459
1460         Reviewed by Vsevolod Vlasov.
1461
1462         Client code is switched to TypeBuilder.
1463
1464         * inspector/CodeGeneratorInspector.py:
1465         * inspector/InjectedScript.cpp:
1466         (WebCore::InjectedScript::evaluateOnCallFrame):
1467         (WebCore::InjectedScript::getFunctionDetails):
1468         (WebCore::InjectedScript::getProperties):
1469         (WebCore::InjectedScript::wrapCallFrames):
1470         * inspector/InjectedScript.h:
1471         (InjectedScript):
1472         * inspector/InspectorDebuggerAgent.cpp:
1473         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1474         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1475         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1476         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1477         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1478         (WebCore::InspectorDebuggerAgent::didParseSource):
1479         * inspector/InspectorDebuggerAgent.h:
1480         (InspectorDebuggerAgent):
1481
1482 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
1483
1484         Not reviewed: fixing poor merge in r108332.
1485
1486         * inspector/front-end/StylesSidebarPane.js:
1487         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
1488         * inspector/front-end/externs.js:
1489
1490 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
1491
1492         Web Inspector: [Styles] Rule source URL tooltip should show line number
1493         https://bugs.webkit.org/show_bug.cgi?id=79087
1494
1495         Reviewed by Pavel Feldman.
1496
1497         * inspector/front-end/StylesSidebarPane.js:
1498         (WebInspector.StylePropertiesSection):
1499         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
1500
1501 2012-02-21  Pavel Feldman  <pfeldman@chomium.org>
1502
1503         Web Inspector: clicking empty space should not re-enter edit mode
1504         https://bugs.webkit.org/show_bug.cgi?id=79024
1505
1506         Reviewed by Vsevolod Vlasov.
1507
1508         * inspector/front-end/StylesSidebarPane.js:
1509         (WebInspector.StylePropertiesSection):
1510         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceMouseDown):
1511         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
1512
1513 2012-02-21  Pavel Feldman  <pfeldman@chomium.org>
1514
1515         Web Inspector: evaluate on hover does not work for large files.
1516         https://bugs.webkit.org/show_bug.cgi?id=79015
1517
1518         Reviewed by Yury Semikhatsky.
1519
1520         * inspector/front-end/JavaScriptSourceFrame.js:
1521         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
1522         (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
1523         * inspector/front-end/Popover.js:
1524         (WebInspector.PopoverHelper.prototype._handleMouseAction):
1525         * inspector/front-end/SourceJavaScriptTokenizer.js:
1526         (WebInspector.SourceJavaScriptTokenizer):
1527         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
1528         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
1529
1530 2012-02-21  Pavel Feldman  <pfeldman@google.com>
1531
1532         Web Inspector: add "show paint rectangles" setting.
1533         https://bugs.webkit.org/show_bug.cgi?id=79030
1534
1535         Reviewed by Yury Semikhatsky.
1536
1537         * English.lproj/localizedStrings.js:
1538         * inspector/DOMNodeHighlighter.cpp:
1539         (WebCore::DOMNodeHighlighter::drawOutline):
1540         (DOMNodeHighlighter):
1541         * inspector/DOMNodeHighlighter.h:
1542         (WebCore):
1543         (DOMNodeHighlighter):
1544         * inspector/Inspector.json:
1545         * inspector/InspectorController.cpp:
1546         (WebCore::InspectorController::InspectorController):
1547         * inspector/InspectorInstrumentation.cpp:
1548         (WebCore::InspectorInstrumentation::willPaintImpl):
1549         (WebCore::InspectorInstrumentation::didPaintImpl):
1550         * inspector/InspectorInstrumentation.h:
1551         (WebCore):
1552         (InspectorInstrumentation):
1553         (WebCore::InspectorInstrumentation::willPaint):
1554         * inspector/InspectorPageAgent.cpp:
1555         (PageAgentState):
1556         (WebCore::InspectorPageAgent::create):
1557         (WebCore::InspectorPageAgent::InspectorPageAgent):
1558         (WebCore::InspectorPageAgent::setShowPaintRects):
1559         (WebCore):
1560         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1561         (WebCore::InspectorPageAgent::willPaint):
1562         (WebCore::InspectorPageAgent::didPaint):
1563         (WebCore::InspectorPageAgent::buildObjectForFrame):
1564         * inspector/InspectorPageAgent.h:
1565         (WebCore):
1566         * inspector/front-end/Settings.js:
1567         (WebInspector.Settings):
1568         * inspector/front-end/SettingsScreen.js:
1569         (WebInspector.SettingsScreen):
1570         (WebInspector.SettingsScreen.prototype._showPaintRectsChanged):
1571         * inspector/front-end/inspector.js:
1572         * page/FrameView.cpp:
1573         (WebCore::FrameView::paintContents):
1574         * rendering/RenderLayerBacking.cpp:
1575         (WebCore::RenderLayerBacking::paintContents):
1576
1577 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
1578
1579         [Qt] Clean-up project file after r108310
1580
1581         Reviewed by Csaba Osztrogonác.
1582
1583         No new tests needed.
1584
1585         * Target.pri: Fix path for TextTrack headers.
1586
1587 2012-02-17  Philippe Normand  <pnormand@igalia.com>
1588
1589         [GStreamer] media/W3C failures
1590         https://bugs.webkit.org/show_bug.cgi?id=75078
1591
1592         Reviewed by Martin Robinson.
1593
1594         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1595         (WebCore::MediaPlayerPrivateGStreamer::load): Clean out everything
1596         after file:// url path to cope with media/W3C tests loading
1597         file:///path/to/media.ext?some parameters.
1598
1599 2012-02-21  Matt Lilek  <mrl@apple.com>
1600
1601         Not reviewed, build fix for non-client-based Geolocation builds after r107982.
1602
1603         * page/Geolocation.cpp:
1604
1605 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
1606
1607         [V8] Web Inspector: simplify worker debugger implementation
1608         https://bugs.webkit.org/show_bug.cgi?id=79085
1609
1610         There is one instance of WorkerScriptDebugServer per worker thread. We don't
1611         need to resolve WorkerContext from V8::Context anymore.
1612
1613         Reviewed by Pavel Feldman.
1614
1615         * bindings/v8/WorkerScriptDebugServer.cpp:
1616         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1617         (WebCore::WorkerScriptDebugServer::addListener):
1618         (WebCore::WorkerScriptDebugServer::removeListener):
1619         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
1620         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
1621         * bindings/v8/WorkerScriptDebugServer.h:
1622         (WorkerScriptDebugServer):
1623         * inspector/WorkerDebuggerAgent.cpp:
1624         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1625         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
1626         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
1627
1628 2012-02-21  Kentaro Hara  <haraken@chromium.org>
1629
1630         Enable the IDL attribute checker in Chromium
1631         https://bugs.webkit.org/show_bug.cgi?id=79082
1632
1633         Reviewed by Adam Barth.
1634
1635         We have fixed 10~ bugs caused by typos of IDL attributes.
1636         This patch adds an IDL attribute checker, which checks if all IDL attributes
1637         used in IDL files are implemented by code generators.
1638
1639             - The IDL attribute checker uses IDLAttributes.txt, which lists all
1640               IDL attributes implemented in code generators. If we want to add
1641               a new IDL attribute, we need to add it to IDLAttributes.txt manually.
1642             - The IDL attribute checker checks if all IDL attributes used in IDL files
1643               are listed in IDLAttributes.txt.
1644             - If the IDL attribute checker fails, the build fails with a verbose error message.
1645
1646         No tests. I manually checked that [Custommm], [CallWith=],
1647         [CallWith=ScriptExecutionContext|Foo] cause build failures.
1648
1649         * WebCore.gyp/WebCore.gyp: Modified to enable the IDL attribute checker.
1650
1651         * bindings/scripts/resolve-supplemental.pl:
1652         (loadIDLAttributes): This method loads a list of IDL attributes from IDLAttributes.txt.
1653         (checkIDLAttributes): This method implementes the IDL attribute checker as described above.
1654         (checkIfIDLAttributesExists):
1655
1656         * bindings/scripts/IDLParser.pm: "1" is not good to represent that
1657         the IDL attribute does not have any value. This patch changed it to "VALUE_IS_MISSING".
1658         (parseExtendedAttributes):
1659         (ParseInterface):
1660         * bindings/scripts/CodeGenerator.pm: Ditto.
1661         (ContentAttributeName):
1662         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1663         (GenerateNormalAttrGetter):
1664         (GenerateNormalAttrSetter):
1665         (GenerateSingleBatchedAttribute):
1666         (GetRuntimeEnableFunctionName):
1667         * bindings/scripts/IDLAttributes.txt: Added. This file lists all IDL attributes implemented
1668         in code generators.
1669
1670 2012-02-21  Patrick Gansterer  <paroga@webkit.org>
1671
1672         Use Win32 API to get file information
1673         https://bugs.webkit.org/show_bug.cgi?id=55336
1674
1675         Reviewed by Adam Roben.
1676
1677         Use FindFirstFile() in favour over _wstat64() to share the code with WinCE.
1678
1679         * platform/win/FileSystemWin.cpp:
1680         (WebCore):
1681         (WebCore::getFindData):
1682         (WebCore::getFileSize):
1683         (WebCore::getFileModificationTime):
1684         (WebCore::fileExists):
1685
1686 2012-02-20  Adam Barth  <abarth@webkit.org>
1687
1688         Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
1689         https://bugs.webkit.org/show_bug.cgi?id=78975
1690
1691         Reviewed by Eric Seidel.
1692
1693         We're supposed to set the action attribute on the form element we just
1694         created.  Previously, we assumed the newly created form element would
1695         be on the top of the stack of open elements, but if we're in the table
1696         body insertion mode, the form element gets treated as self closing and
1697         is therefore popped off the stack of open elements.
1698
1699         Fortunately, we already cache a pointer to the most recently inserted
1700         form element on the HTMLConstructionSite, so we can just grab the
1701         element from there.
1702
1703         Test: html5lib/runner.html
1704
1705         * html/parser/HTMLTreeBuilder.cpp:
1706         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
1707         (WebCore):
1708
1709 2012-02-20  Adam Barth  <abarth@webkit.org>
1710
1711         Unite TextTrack-related files with their friends in WebCore/html/track
1712         https://bugs.webkit.org/show_bug.cgi?id=78941
1713
1714         Reviewed by Eric Seidel.
1715
1716         The code that supports <track> seems to be split between the
1717         WebCore/html directory and the WebCore/html/track directory.  This
1718         patch unites this code in the WebCore/html/track directory.
1719
1720         * CMakeLists.txt:
1721         * DerivedSources.make:
1722         * DerivedSources.pri:
1723         * GNUmakefile.list.am:
1724         * WebCore.gypi:
1725         * WebCore.xcodeproj/project.pbxproj:
1726         * html/LoadableTextTrack.cpp: Removed.
1727         * html/LoadableTextTrack.h: Removed.
1728         * html/TextTrack.cpp: Removed.
1729         * html/TextTrack.h: Removed.
1730         * html/TextTrack.idl: Removed.
1731         * html/TextTrackCue.cpp: Removed.
1732         * html/TextTrackCue.h: Removed.
1733         * html/TextTrackCue.idl: Removed.
1734         * html/TextTrackCueList.cpp: Removed.
1735         * html/TextTrackCueList.h: Removed.
1736         * html/TextTrackCueList.idl: Removed.
1737         * html/track/LoadableTextTrack.cpp: Copied from Source/WebCore/html/LoadableTextTrack.cpp.
1738         * html/track/LoadableTextTrack.h: Copied from Source/WebCore/html/LoadableTextTrack.h.
1739         * html/track/TextTrack.cpp: Copied from Source/WebCore/html/TextTrack.cpp.
1740         * html/track/TextTrack.h: Copied from Source/WebCore/html/TextTrack.h.
1741         * html/track/TextTrack.idl: Copied from Source/WebCore/html/TextTrack.idl.
1742         * html/track/TextTrackCue.cpp: Copied from Source/WebCore/html/TextTrackCue.cpp.
1743         * html/track/TextTrackCue.h: Copied from Source/WebCore/html/TextTrackCue.h.
1744         * html/track/TextTrackCue.idl: Copied from Source/WebCore/html/TextTrackCue.idl.
1745         * html/track/TextTrackCueList.cpp: Copied from Source/WebCore/html/TextTrackCueList.cpp.
1746         * html/track/TextTrackCueList.h: Copied from Source/WebCore/html/TextTrackCueList.h.
1747         * html/track/TextTrackCueList.idl: Copied from Source/WebCore/html/TextTrackCueList.idl.
1748
1749 2012-02-20  Filip Pizlo  <fpizlo@apple.com>
1750
1751         JSC should be a triple-tier VM
1752         https://bugs.webkit.org/show_bug.cgi?id=75812
1753         <rdar://problem/10079694>
1754
1755         Reviewed by Gavin Barraclough.
1756         
1757         No new tests, because there is no change in behavior.
1758
1759         * CMakeLists.txt:
1760
1761 2012-02-20  Benjamin Poulain  <benjamin@webkit.org>
1762
1763         Get rid of the LocalizationStrategy
1764         https://bugs.webkit.org/show_bug.cgi?id=78324
1765
1766         Reviewed by Sam Weinig.
1767
1768         Remove LocalizationStrategy and unify the localization behind
1769         LocalizedStrings.h and LocalizedStrings.cpp.
1770
1771         * CMakeLists.txt:
1772         * GNUmakefile.list.am:
1773         * Target.pri:
1774         * WebCore.exp.in:
1775         * WebCore.gypi:
1776         * WebCore.order:
1777         * WebCore.vcproj/WebCore.vcproj:
1778         * WebCore.xcodeproj/project.pbxproj:
1779         * platform/DefaultLocalizationStrategy.cpp: Removed.
1780         * platform/DefaultLocalizationStrategy.h: Removed.
1781         * platform/LocalizationStrategy.h: Removed.
1782         * platform/LocalizedStrings.cpp:
1783         * platform/LocalizedStrings.h:
1784         (WebCore):
1785         * platform/PlatformStrategies.cpp:
1786         * platform/PlatformStrategies.h:
1787         (WebCore):
1788         (WebCore::PlatformStrategies::PlatformStrategies):
1789         (PlatformStrategies):
1790         * platform/qt/LocalizedStringsQt.cpp: Copied from Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp.
1791
1792 2012-02-20  Kentaro Hara  <haraken@chromium.org>
1793
1794         Remove [TreatReturnedNullStringAsNull] from HTMLMediaElement.mediaGroup
1795         https://bugs.webkit.org/show_bug.cgi?id=79064
1796
1797         Reviewed by Hajime Morita.
1798
1799         [TreatReturnedNullStringAsNull] is a typo of [TreatReturnedNullStringAs=Null].
1800         But as far as I read the spec
1801         (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-media-mediagroup),
1802         there is no statement about what value should be returned when HTMLMediaElement.mediaGroup
1803         is not yet initialized. In particular, there is no statement that says "null should
1804         be returned when HTMLMediaElement.mediaGroup is not initialized". Thus, instead of
1805         fixing the typo, just removing [TreatReturnedNullStringAsNull] would make sense.
1806         Removing [TreatReturnedNullStringAsNull] does not change the current behavior.
1807
1808         Test: media/media-controller.html (No change in the test results.)
1809
1810         * html/HTMLMediaElement.idl:
1811
1812 2012-02-20  Hayato Ito  <hayato@chromium.org>
1813
1814         Use InsertinonPoint instead of HTMLContentElement.
1815         https://bugs.webkit.org/show_bug.cgi?id=78778
1816
1817         Reviewed by Hajime Morita.
1818
1819         Replace HTMLContentElement with InsertionPoint in NodeRenderingContext and HTMLContentSelection.
1820         This is one of followup patches for r108207.
1821
1822         No new tests, no change in behavior.
1823
1824         * dom/NodeRenderingContext.cpp:
1825         (WebCore::nextRendererOf):
1826         (WebCore::previousRendererOf):
1827         (WebCore::firstRendererOf):
1828         (WebCore::lastRendererOf):
1829         * dom/NodeRenderingContext.h:
1830         (WebCore):
1831         (NodeRenderingContext):
1832         (WebCore::NodeRenderingContext::insertionPoint):
1833         * dom/ShadowRoot.cpp:
1834         (WebCore::ShadowRoot::insertionPointFor):
1835         * dom/ShadowRoot.h:
1836         (WebCore):
1837         * html/shadow/HTMLContentElement.cpp:
1838         (WebCore::HTMLContentElement::HTMLContentElement):
1839         (WebCore::HTMLContentElement::attach):
1840         (WebCore::HTMLContentElement::detach):
1841         * html/shadow/HTMLContentElement.h:
1842         (HTMLContentElement):
1843         * html/shadow/HTMLContentSelector.cpp:
1844         (WebCore::HTMLContentSelector::select):
1845         * html/shadow/HTMLContentSelector.h:
1846         (WebCore):
1847         (HTMLContentSelection):
1848         (WebCore::HTMLContentSelection::insertionPoint):
1849         (WebCore::HTMLContentSelection::HTMLContentSelection):
1850         (WebCore::HTMLContentSelection::create):
1851         * html/shadow/InsertionPoint.cpp:
1852         (WebCore::InsertionPoint::InsertionPoint):
1853         * html/shadow/InsertionPoint.h:
1854         (WebCore::InsertionPoint::selections):
1855         (WebCore::InsertionPoint::hasSelection):
1856         (InsertionPoint):
1857
1858 2012-02-20  David Barton  <dbarton@mathscribe.com>
1859
1860         MathML internals - code clean-up for RenderMathMLSubSup
1861         https://bugs.webkit.org/show_bug.cgi?id=79063
1862
1863         Reviewed by Eric Seidel.
1864
1865         In the next patch, I will shrink and revise the <msubsup> formatting code. To make this
1866         easier to follow, I am first doing some simple code clean-up.
1867
1868         No new tests.
1869
1870         * rendering/mathml/RenderMathMLRow.cpp:
1871         (WebCore::RenderMathMLRow::layout):
1872         * rendering/mathml/RenderMathMLRow.h:
1873         (WebCore::RenderMathMLRow::isRenderMathMLRow):
1874         * rendering/mathml/RenderMathMLSubSup.cpp:
1875         (WebCore::RenderMathMLSubSup::stretchToHeight):
1876         (WebCore::RenderMathMLSubSup::layout):
1877             - There is no need to iterate over baseWrapper's children since it should have only
1878               one child, the base of the <msubsup>.
1879
1880 2012-02-20  Kentaro Hara  <haraken@chromium.org>
1881
1882         Replace [V8Custom=DOMWindowNOP] with [V8Custom]
1883         https://bugs.webkit.org/show_bug.cgi?id=79062
1884
1885         Reviewed by Adam Barth.
1886
1887         [V8Custom=DOMWindowNOP] is not implemented by CodeGeneratorV8.pm.
1888         This patch replaces it with [V8Custom].
1889
1890         No new tests. No change in behavior.
1891
1892         * page/DOMWindow.idl:
1893
1894 2012-02-20  Kentaro Hara  <haraken@chromium.org>
1895
1896         [JSGenerateIsReachable=ImplRoot] is not implemented, it should be [JSGenerateIsReachable]
1897         https://bugs.webkit.org/show_bug.cgi?id=79061
1898
1899         Reviewed by Adam Barth.
1900
1901         CSSStyleDeclaration.idl uses [JSGenerateIsReachable=ImplRoot],
1902         but "ImplRoot" is not implemented in CodeGeneratorJS.pm.
1903         This patch replaces [JSGenerateIsReachable=ImplRoot] with [JSGenerateIsReachable].
1904
1905         No tests. No change in behavior.
1906
1907         * css/CSSStyleDeclaration.idl:
1908
1909 2012-02-20  Kentaro Hara  <haraken@chromium.org>
1910
1911         [EnabledAtRuntime] in HTMLShadowElement.idl should be [V8EnabledAtRuntime]
1912         https://bugs.webkit.org/show_bug.cgi?id=79058
1913
1914         Reviewed by Adam Barth.
1915
1916         [EnabledAtRuntime] does not exist any longer. It should be [V8EnabledAtRuntime].
1917
1918         No tests.
1919
1920         * html/shadow/HTMLShadowElement.idl:
1921
1922 2012-02-20  Kentaro Hara  <haraken@chromium.org>
1923
1924         Replace [Callback=FunctionOnly] with [Callback]
1925         https://bugs.webkit.org/show_bug.cgi?id=79060
1926
1927         Reviewed by Adam Barth.
1928
1929         [Callback=FunctionOnly] is not implemented by any code generator.
1930         This patch replaces it with [Callback].
1931
1932         No tests. No change in behavior.
1933
1934         * Modules/intents/IntentResultCallback.idl:
1935         * Modules/intents/NavigatorIntents.idl:
1936         * dom/RequestAnimationFrameCallback.idl:
1937         * mediastream/NavigatorMediaStream.idl:
1938         * mediastream/NavigatorUserMediaErrorCallback.idl:
1939         * mediastream/NavigatorUserMediaSuccessCallback.idl:
1940         * mediastream/PeerConnection.idl:
1941         * mediastream/SignalingCallback.idl:
1942         * page/PositionCallback.idl:
1943         * page/PositionErrorCallback.idl:
1944
1945 2012-02-20  Andy Chen  <andchen@rim.com>
1946
1947         2012-02-17  Andy Chen  <andchen@rim.com>
1948
1949         [BlackBerry] Need to override active/inactive text search highlight color for RenderThemeBlackBerry
1950         https://bugs.webkit.org/show_bug.cgi?id=78920
1951
1952         Override two functions for text search highlight colors so that we can
1953         provide platform specified colors.
1954
1955         Reviewed by Antonio Gomes.
1956
1957         No function change so no new tests.
1958
1959         * platform/blackberry/RenderThemeBlackBerry.cpp:
1960         (WebCore::RenderThemeBlackBerry::platformActiveTextSearchHighlightColor):
1961         (WebCore::RenderThemeBlackBerry::platformInactiveTextSearchHighlightColor):
1962         * platform/blackberry/RenderThemeBlackBerry.h:
1963
1964 2012-02-20  John Knottenbelt  <jknotten@chromium.org>
1965
1966         Default canvas backing store to be 1:1 with specified dimensions.
1967         https://bugs.webkit.org/show_bug.cgi?id=78971
1968
1969         Reviewed by Adam Barth.
1970
1971         Although the canvas specification states that the backing image may
1972         be larger than the user-specified dimensions, there are a number of
1973         philip canvas tests that fail when the backing image data is not
1974         1:1 with the specified canvas dimensions. These failures are
1975         tracked in https://bugs.webkit.org/show_bug.cgi?id=73645
1976
1977         This change defaults the canvas backing store to be 1:1 with the
1978         user-specified dimensions, while also providing an
1979         ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original
1980         behaviour, so that the above bug may be more easily fixed.
1981
1982         * html/HTMLCanvasElement.cpp:
1983         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1984
1985 2012-02-20  Mary Wu  <mary.wu@torchmobile.com.cn>
1986
1987         Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry
1988         https://bugs.webkit.org/show_bug.cgi?id=78785
1989
1990         Main Contributors:
1991         Daniel Bates <dbates@rim.com>
1992         Bryan Gislason <bgislason@rim.com>
1993         Akash Vaswani <akvaswani@rim.com>
1994         Dave Battista <dbattista@rim.com>
1995         Robin Cao  <robin.cao@torchmobile.com.cn>
1996         Genevieve Mak <gmak@rim.com>
1997         Mike Fenton  <mifenton@rim.com>
1998
1999         Reviewed by Antonio Gomes.
2000
2001         Initial upstream, no new tests.
2002
2003         * platform/blackberry/RenderThemeBlackBerry.cpp: Added.
2004         * platform/blackberry/RenderThemeBlackBerry.h: Added.
2005
2006 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2007
2008         [GTK] [EFL] Collapse duplicate WebGL support code
2009         https://bugs.webkit.org/show_bug.cgi?id=78970
2010
2011         Reviewed by Gustavo Noronha Silva.
2012
2013         No new tests. This just cleans up duplicated code.
2014
2015         Centralize duplicated WebGL code for EFL and GTK+ in the Cairo
2016         directory. This is in preparation for the changes necessary to
2017         connect WebGL to the TextureMapper AC.
2018
2019         * GNUmakefile.list.am: Update source list.
2020         * PlatformEfl.cmake: Update source list.
2021         * platform/graphics/cairo/DrawingBufferCairo.cpp: Renamed from Source/WebCore/platform/graphics/gtk/DrawingBufferGtk.cpp.
2022         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Integrated the code From GraphicsContext3DGtk.cpp.
2023         * platform/graphics/efl/DrawingBufferEfl.cpp: Removed.
2024         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed.
2025         * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Removed.
2026
2027 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2028
2029         [UNIX] Plugin information fields are not interpreted as UTF-8
2030         https://bugs.webkit.org/show_bug.cgi?id=78635
2031
2032         Reviewed by Gustavo Noronha Silva.
2033
2034         Interpret plugin metadata as UTF8 aways. This matches the behavior
2035         of Chromium and the Totem plugin.
2036
2037         This is tested by a change to TestNetscapePlugin and expectations updates.
2038
2039         * plugins/efl/PluginPackageEfl.cpp:
2040         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
2041         * plugins/gtk/PluginPackageGtk.cpp:
2042         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
2043         * plugins/qt/PluginPackageQt.cpp:
2044         (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
2045
2046 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2047
2048         [GTK] Web content oftens steals focus from other widgets
2049         https://bugs.webkit.org/show_bug.cgi?id=77791
2050
2051         Reviewed by Gustavo Noronha Silva.
2052
2053         * platform/gtk/WidgetGtk.cpp:
2054         (WebCore::Widget::setFocus): No longer do anything special to try
2055         to grab "real" widget focus. This matches the behavior on Qt.
2056         * plugins/gtk/PluginViewGtk.cpp:
2057         (WebCore::PluginView::setFocus): Moved the focus handling to here.
2058         This ensures that behavior for plugins does not change.
2059
2060 2012-02-20  Yael Aharon  <yael.aharon@nokia.com>
2061
2062         Regression (108135) isOpaque() returns uninitialized variable.
2063         https://bugs.webkit.org/show_bug.cgi?id=79049
2064
2065         Reviewed by Noam Rosenthal.
2066
2067         isOpaque() should use the new m_flags instead of the old m_isOpaque.
2068         No new tests. No new functionality.
2069
2070         * platform/graphics/texmap/TextureMapper.h:
2071         (WebCore::BitmapTexture::reset):
2072         (WebCore::BitmapTexture::isOpaque):
2073         (BitmapTexture):
2074
2075 2012-02-20  Kentaro Hara  <haraken@chromium.org>
2076
2077         Unreviewed. Rebaselined run-bindings-tests results.
2078
2079         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
2080         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
2081         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2082         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2083
2084 2012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
2085
2086         [Qt][WK2] Clipping is broken
2087         https://bugs.webkit.org/show_bug.cgi?id=78677
2088
2089         It's not necessary to add a full-viewport rect to the scissor clip stack.
2090         It creates a situation where if there's a clip in the page, we return to
2091         the viewport clip instead of applying the WebView's clip we got from the
2092         scenegraph.
2093
2094         Also, it's unnecessary to clip before we paint the layer's content, we should
2095         only clip afterwards, before painting the children. 
2096
2097         Reviewed by Kenneth Rohde Christiansen.
2098
2099         No new functionality.
2100
2101         * platform/graphics/opengl/TextureMapperGL.cpp:
2102         (WebCore::BitmapTextureGL::size):
2103         (WebCore::scissorClip):
2104         (WebCore):
2105         (WebCore::TextureMapperGL::beginScissorClip):
2106         (WebCore::TextureMapperGL::endScissorClip):
2107         * platform/graphics/texmap/TextureMapperLayer.cpp:
2108         (WebCore::TextureMapperLayer::paintSelfAndChildren):
2109
2110 2012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
2111
2112         [Texmap] Layers and tiles appear to have missing pixels in their right/bottom borders
2113         https://bugs.webkit.org/show_bug.cgi?id=78961
2114
2115         The relativeSize member should point to one pixel before the edge, since it's used
2116         by glVertexAttribPointer, which takes edge points and not sizes.
2117
2118         Reviewed by Kenneth Rohde Christiansen.
2119
2120         No new funcionality.
2121
2122         * platform/graphics/opengl/TextureMapperGL.cpp:
2123         (WebCore::BitmapTextureGL::didReset):
2124
2125 2012-02-20  Kihong Kwon  <kihong.kwon@samsung.com>
2126
2127         Add a new API for the Vibration API(W3C).
2128         https://bugs.webkit.org/show_bug.cgi?id=72010
2129
2130         http://dev.w3.org/2009/dap/vibration/
2131         This patch implements navigator.webkitvibrate() API.
2132         This API operates differently depending upon a given parameter:
2133         1. It cancels vibration when given 0 or [].
2134         2. It gives a vibration duration in milliseconds when given as a single integer value.
2135         3. It gives a vibration pattern when given as an integer array. For instance, [1000 300 1000] generates a vibration of 1000ms followed by 300ms of idle time, and then creates another vibration of 1000ms.
2136
2137         Reviewed by Hajime Morita.
2138
2139         Test: fast/dom/navigator-vibration.html
2140
2141         * CMakeLists.txt:
2142         * Modules/vibration/NavigatorVibration.cpp: Added.
2143         (WebCore):
2144         (WebCore::NavigatorVibration::NavigatorVibration):
2145         (WebCore::NavigatorVibration::~NavigatorVibration):
2146         (WebCore::NavigatorVibration::webkitVibrate):
2147         Add webkitVibrate method to get an array or single integer parameter for vibrating.
2148         They check vibration is activated in the platform, and then call vibrate() in the Vibration class.
2149         * Modules/vibration/NavigatorVibration.h: Added.
2150         (WebCore):
2151         (NavigatorVibration):
2152         * Modules/vibration/NavigatorVibration.idl: Added.
2153         * Modules/vibration/Vibration.cpp: Added.
2154         This class implements the entire vibration logic.
2155         (WebCore):
2156         (WebCore::Vibration::Vibration):
2157         (WebCore::Vibration::~Vibration):
2158         (WebCore::Vibration::create):
2159         (WebCore::Vibration::vibrate):
2160         (WebCore::Vibration::cancelVibration):
2161         (WebCore::Vibration::suspendVibration):
2162         (WebCore::Vibration::resumeVibration):
2163         (WebCore::Vibration::timerStartFired):
2164         (WebCore::Vibration::timerStopFired):
2165         (WebCore::Vibration::supplementName):
2166         (WebCore::Vibration::isActive):
2167         (WebCore::provideVibrationTo):
2168         * Modules/vibration/Vibration.h: Added.
2169         (WebCore):
2170         (Vibration):
2171         (WebCore::Vibration::from):
2172         * Modules/vibration/VibrationClient.h: Added.
2173         vibrate() and cancelVibrate() need to be implemented in the VibrationClient.
2174         (WebCore):
2175         (VibrationClient):
2176         (WebCore::VibrationClient::~VibrationClient):
2177
2178 2012-02-20  Yuta Kitamura  <yutak@chromium.org>
2179
2180         Unreviewed, rolling out r108263.
2181         http://trac.webkit.org/changeset/108263
2182         https://bugs.webkit.org/show_bug.cgi?id=77856
2183
2184         Broke Chromium Windows build.
2185
2186         * platform/audio/DynamicsCompressor.cpp:
2187         (WebCore::DynamicsCompressor::DynamicsCompressor):
2188         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
2189         (WebCore::DynamicsCompressor::process):
2190         (WebCore::DynamicsCompressor::reset):
2191         * platform/audio/DynamicsCompressor.h:
2192         (WebCore::DynamicsCompressor::isStereo):
2193         (DynamicsCompressor):
2194         * platform/audio/DynamicsCompressorKernel.cpp:
2195         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
2196         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
2197         (WebCore::DynamicsCompressorKernel::process):
2198         (WebCore::DynamicsCompressorKernel::reset):
2199         * platform/audio/DynamicsCompressorKernel.h:
2200         (DynamicsCompressorKernel):
2201         * webaudio/DynamicsCompressorNode.cpp:
2202         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2203         (WebCore::DynamicsCompressorNode::initialize):
2204
2205 2012-02-20  Raymond Liu  <raymond.liu@intel.com>
2206
2207         Have the DynamicsCompressorNode support multi-channel data
2208         https://bugs.webkit.org/show_bug.cgi?id=77856
2209
2210         Reviewed by Chris Rogers.
2211
2212         * platform/audio/DynamicsCompressor.cpp:
2213         (WebCore::DynamicsCompressor::DynamicsCompressor):
2214         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
2215         (WebCore::DynamicsCompressor::process):
2216         (WebCore::DynamicsCompressor::reset):
2217         (WebCore::DynamicsCompressor::setNumberOfChannels):
2218         (WebCore):
2219         * platform/audio/DynamicsCompressor.h:
2220         (DynamicsCompressor):
2221         * platform/audio/DynamicsCompressorKernel.cpp:
2222         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
2223         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
2224         (WebCore):
2225         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
2226         (WebCore::DynamicsCompressorKernel::process):
2227         (WebCore::DynamicsCompressorKernel::reset):
2228         * platform/audio/DynamicsCompressorKernel.h:
2229         (DynamicsCompressorKernel):
2230         * webaudio/DynamicsCompressorNode.cpp:
2231         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2232         (WebCore::DynamicsCompressorNode::initialize):
2233
2234 2012-02-20  David Barton  <dbarton@mathscribe.com>
2235
2236         RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine
2237         https://bugs.webkit.org/show_bug.cgi?id=79039
2238
2239         Reviewed by Eric Seidel.
2240
2241         RenderMathMLRow::baselinePosition() is actually unnecessary, but I am deleting it in two
2242         steps. First we add a guard to restrict it to the intended PositionOnContainingLine
2243         case, leaving PositionOfInteriorLineBoxes to a superclass, RenderBlock. This removes
2244         some randomness, and tightens up the results of four existing test files.
2245
2246         Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html
2247
2248         * rendering/mathml/RenderMathMLRow.cpp:
2249         (WebCore::RenderMathMLRow::baselinePosition):
2250
2251 2012-02-18  Jon Lee  <jonlee@apple.com>
2252
2253         HTML input file control "No File Selected" needs more room in some languages
2254         https://bugs.webkit.org/show_bug.cgi?id=32366
2255         <rdar://problem/4481028>
2256
2257         Reviewed by David Hyatt.
2258
2259         The patch exposes a function to return the "no file(s) selected" label text.
2260
2261         * rendering/RenderTheme.cpp:
2262         (WebCore::RenderTheme::fileListDefaultLabel): Added to expose the text for the label in
2263         file upload controls when nothing has been selected.
2264         (WebCore::RenderTheme::fileListNameForWidth): Refactor to use fileListDefaultLabel().
2265         * rendering/RenderTheme.h: Change fileListNameForWidth() to be a const function.
2266
2267         * rendering/RenderThemeMac.h: Update fileListNameForWidth() to be a const function for
2268         platform implementations.
2269         * rendering/RenderThemeMac.mm:
2270         (WebCore::RenderThemeMac::fileListNameForWidth): Refactor to use fileListDefaultLabel().
2271
2272         Update fileListNameForWidth() to be a const function for platform implementations.
2273         * platform/gtk/RenderThemeGtk.h:
2274         * platform/gtk/RenderThemeGtk.cpp:
2275         * platform/qt/RenderThemeQt.h:
2276         * platform/qt/RenderThemeQt.cpp:
2277
2278         * rendering/RenderFileUploadControl.cpp:
2279         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Change the calculation
2280         of the max preferred logical width. Calculate the length of the "no file(s) selected" text,
2281         and include the button and after-button margin. Take the max of that and the original
2282         default width, which was a string of 34 (defaultWidthNumChars) "0"'s, in the case that the
2283         label text is too short.
2284
2285 2012-02-20  Gavin Barraclough  <barraclough@apple.com>
2286
2287         Rubber stamped by Sam Weinig.
2288
2289         * bindings/js/JSDOMWindowBase.cpp:
2290         (WebCore::JSDOMWindowBase::allowsAccessFrom):
2291             - Errk, remove dead code from end of function.
2292
2293 2012-02-16  Gavin Barraclough  <barraclough@apple.com>
2294
2295         Move special __proto__ property to Object.prototype
2296         https://bugs.webkit.org/show_bug.cgi?id=78409
2297
2298         Reviewed by Oliver Hunt.
2299
2300         Re-implement this as a regular accessor property.  This has three key benefits:
2301         1) It makes it possible for objects to be given properties named __proto__.
2302         2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
2303         3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
2304
2305         * bindings/js/JSDOMWindowBase.cpp:
2306         (WebCore::JSDOMWindowBase::allowsAccessFrom):
2307         (WebCore):
2308             - expose allowsAccessFrom check to JSC.
2309         * bindings/js/JSDOMWindowBase.h:
2310         (JSDOMWindowBase):
2311             - expose allowsAccessFrom check to JSC.
2312
2313 2012-02-20  Benjamin Poulain  <benjamin@webkit.org>
2314
2315         Make JSCSSStyleDeclaration work directly with CSS Property ID
2316         https://bugs.webkit.org/show_bug.cgi?id=79014
2317
2318         Reviewed by Geoffrey Garen.
2319
2320         Previously, accessing the CSS property was done by converting from
2321         the JavaScript name to the CSS name, then converting that name to a lowercase
2322         character array, and finally getting the CSS property ID.
2323
2324         This patch cut the indirection and make the code go directly from the
2325         JavaScript name conversion to the CSS property ID.
2326
2327         This improves the performance mainly due to the following:
2328         -avoid dynamic memory allocation
2329         -cut the conversion early when possible
2330         -do not parse the string twice
2331         The previous fast-path optimization was removed because it is no longer
2332         necessary with this change.
2333
2334         The improvement are the following:
2335         -previous fast-path: no change
2336         -previous slow-path: ~3 times faster
2337
2338         Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html
2339         This just test the edge case of CSSPropertyName.
2340
2341         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2342         (WebCore::writeWebKitPrefix):
2343         (WebCore::writeEpubPrefix):
2344         (WebCore::cssPropertyIDForJSCSSPropertyName):
2345         (WebCore::isCSSPropertyName):
2346         (WebCore::JSCSSStyleDeclaration::nameGetter):
2347         (WebCore::JSCSSStyleDeclaration::putDelegate):
2348         * css/CSSParser.cpp:
2349         (WebCore::cssPropertyID):
2350         (WebCore):
2351         (WebCore::cssPropertyNameIOSAliasing):
2352         * css/CSSParser.h:
2353         (WebCore):
2354
2355 2012-02-20  Dan Bernstein  <mitz@apple.com>
2356
2357         Updated Localizable.strings after r107440.
2358
2359         Rubber-stamped by Joseph Pecoraro.
2360
2361         * English.lproj/Localizable.strings:
2362
2363 2012-02-20  David Barton  <dbarton@mathscribe.com>
2364
2365         MathML internals - remove nonOperatorHeight(), hasBase()
2366         https://bugs.webkit.org/show_bug.cgi?id=78977
2367
2368         Reviewed by Eric Seidel.
2369
2370         Stretchy operators, including embellished ones, should stretch to the largest height of
2371         the non-stretchy items in the same explicit or implicit <mrow>.
2372         RenderMathMLRow::layout() used to use hasBase(), isRenderMathMLOperator(), and
2373         nonOperatorHeight() to approximate this height. We now use unembellishedOperator() to
2374         improve this approximation, while also simplifying the code. More plainly, the code used
2375         to skip all operators when estimating this height, instead of just the stretchy ones. We
2376         continue to do that for now, but we more accurately skip all embellished operators
2377         (using our currently implemented approximate definition of this), and use the simple and
2378         true height of the remaining items. In case all items in the row are stretchy,
2379         style()->fontSize() is better than using whatever heights these items currently happen
2380         to be stretched to.
2381
2382         Test: mathml/presentation/mo-stretch.html, and many existing tests
2383
2384         * rendering/mathml/RenderMathMLBlock.cpp:
2385         (WebCore):
2386         * rendering/mathml/RenderMathMLBlock.h:
2387         (WebCore::RenderMathMLBlock::unembellishedOperator):
2388         * rendering/mathml/RenderMathMLRow.cpp:
2389         (WebCore):
2390         (WebCore::RenderMathMLRow::layout):
2391         * rendering/mathml/RenderMathMLRow.h:
2392         (WebCore::RenderMathMLRow::isRenderMathMLRow):
2393         * rendering/mathml/RenderMathMLSubSup.cpp:
2394         (WebCore):
2395         * rendering/mathml/RenderMathMLSubSup.h:
2396         (RenderMathMLSubSup):
2397         * rendering/mathml/RenderMathMLUnderOver.cpp:
2398         (WebCore):
2399         * rendering/mathml/RenderMathMLUnderOver.h:
2400         (RenderMathMLUnderOver):
2401
2402 2012-02-17  Anders Carlsson  <andersca@apple.com>
2403
2404         Stop the committer timer when the page is destroyed
2405         https://bugs.webkit.org/show_bug.cgi?id=78907
2406
2407         Reviewed by Adam Roben.
2408
2409         We don't want the committer timer to fire after the scrolling tree has been invalidated,
2410         so stop the committer timer to prevent it from firing and trying to access the scrolling tree.
2411
2412         * page/scrolling/ScrollingCoordinator.cpp:
2413         (WebCore::ScrollingCoordinator::pageDestroyed):
2414
2415 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
2416
2417         [WIN] Allow compiling FileSystem without CoreFoundation.
2418         https://bugs.webkit.org/show_bug.cgi?id=79032
2419
2420         Reviewed by Adam Roben.
2421
2422         Add #if USE(CF) around code using the CoreFoundation functions.
2423
2424         * platform/FileSystem.h:
2425         * platform/win/FileSystemWin.cpp:
2426
2427 2012-02-20  Robin Cao  <robin.cao@torchmobile.com.cn>
2428
2429         [BlackBerry] Upstream the first few files in platform/graphics/blackberry
2430         https://bugs.webkit.org/show_bug.cgi?id=79023
2431
2432         Reviewed by Antonio Gomes.
2433
2434         Initial upstreaming, no new tests.
2435
2436         * platform/graphics/blackberry/FloatPointBlackBerry.cpp: Added.
2437         (WebCore):
2438         (WebCore::FloatPoint::FloatPoint):
2439         (WebCore::FloatPoint::operator BlackBerry::Platform::FloatPoint):
2440         * platform/graphics/blackberry/FloatRectBlackBerry.cpp: Added.
2441         (WebCore):
2442         (WebCore::FloatRect::FloatRect):
2443         (WebCore::FloatRect::operator BlackBerry::Platform::FloatRect):
2444         * platform/graphics/blackberry/FloatSizeBlackBerry.cpp: Added.
2445         (WebCore):
2446         (WebCore::FloatSize::FloatSize):
2447         (WebCore::FloatSize::operator BlackBerry::Platform::FloatSize):
2448         * platform/graphics/blackberry/IntPointBlackBerry.cpp: Added.
2449         (WebCore):
2450         (WebCore::IntPoint::IntPoint):
2451         (WebCore::IntPoint::operator BlackBerry::Platform::IntPoint):
2452         * platform/graphics/blackberry/IntRectBlackBerry.cpp: Added.
2453         (WebCore):
2454         (WebCore::IntRect::IntRect):
2455         (WebCore::IntRect::operator BlackBerry::Platform::IntRect):
2456         * platform/graphics/blackberry/IntSizeBlackBerry.cpp: Added.
2457         (WebCore):
2458         (WebCore::IntSize::IntSize):
2459         (WebCore::IntSize::operator BlackBerry::Platform::IntSize):
2460
2461 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
2462
2463         [WIN] Share openTemporaryFile with WinCE
2464         https://bugs.webkit.org/show_bug.cgi?id=58750
2465
2466         Reviewed by Adam Roben.
2467
2468         Use pathByAppendingComponent instead of PathCombine to share the
2469         code with WinCE. Also use the wide version of Windows functions.
2470
2471         * platform/win/FileSystemWin.cpp:
2472         (WebCore::openTemporaryFile):
2473
2474 2012-02-20  Victor Carbune  <victor@rosedu.org>
2475
2476         Added code to support dispatching of missed cues in case of normal playback
2477         and event sorting in case of simultaneous event triggering.
2478
2479         <track>-related events cuechange, enter, and exit should be sorted and filtered before dispatching
2480         https://bugs.webkit.org/show_bug.cgi?id=72171
2481
2482         Reviewed by Eric Carlson.
2483
2484         Tests: media/track/track-cues-missed.html
2485                media/track/track-cues-sorted-before-dispatch.html
2486
2487         * html/HTMLMediaElement.cpp:
2488         (WebCore::HTMLMediaElement::HTMLMediaElement): Added initialization code
2489         for newly added state variables.
2490         (WebCore::trackIndexCompare): Static boolean compare function between
2491         the index of two tracks.
2492         (WebCore):
2493         (WebCore::eventTimeCueCompare): Static boolean compare function between
2494         events associated with text track cues.
2495         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Added code to
2496         sort the events associated with text track cues before dispatching.
2497         Each step from the specification is commented within the code.
2498         (WebCore::HTMLMediaElement::finishSeek): Added a boolean variable that
2499         is needed within the text track update function, to know whether a seek
2500         event has occured before or not.
2501         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Moved the update
2502         call for text tracks at the beginning of the function instead of the end.
2503         'ended' events for video should be dispatched after track specific events.
2504         * html/HTMLMediaElement.h: Added variables to keep
2505         state information required by the text track update algorithm (last time
2506         the algorithm was run, and whether a seeking event has occured)
2507         (HTMLMediaElement):
2508
2509         * html/LoadableTextTrack.cpp: Refactored fireCueChangeEvent method
2510         (WebCore::LoadableTextTrack::fireCueChangeEvent): The method dispatches a
2511         synchronous cue change event for the track element.
2512         * html/LoadableTextTrack.h:
2513         (LoadableTextTrack):
2514         * html/TextTrack.cpp: Modified the fireCueChange method, cached track index.
2515         (WebCore::TextTrack::TextTrack):
2516         (WebCore::TextTrack::trackIndex): Cached the track index.
2517         (WebCore):
2518         (WebCore::TextTrack::invalidateTrackIndex): Invalidates the track. Used
2519         when a new track is added in a TextTrackList instance.
2520         * html/TextTrack.h:
2521         (TextTrack):
2522         (WebCore::TextTrack::fireCueChangeEvent): The fireCueChangeEvent has been changed,
2523         as events need to be fired asyncronously.
2524         * html/TextTrackCue.cpp: Added internal variables to keep the current index
2525         position in the track cue order. This is invalidated when an element is
2526         inserted before.
2527         (WebCore::TextTrackCue::TextTrackCue):
2528         (WebCore::TextTrackCue::cueIndex): Getter for the cueIndex.
2529         (WebCore):
2530         (WebCore::TextTrackCue::invalidateCueIndex): Invalidates the currently stored
2531         cue index.
2532         (WebCore::TextTrackCue::dispatchEvent): Event dispatching is done asynchronously
2533         now. This should be the only method used for event dispatching.
2534         (WebCore::TextTrackCue::setIsActive): The setIsActive method no longer dispatches
2535         events, but rather just changes the m_isActive variable.
2536         * html/TextTrackCue.h:
2537         (TextTrackCue):
2538
2539         * html/TextTrackCueList.cpp:
2540         (WebCore::TextTrackCueList::getCueIndex): Retrieves the cue index, in the track cue
2541         order, of a given cue.
2542         (WebCore):
2543         (WebCore::TextTrackCueList::add): Modified the add method such that all the next cue
2544         indexes are invalidated.
2545         (WebCore::TextTrackCueList::invalidateCueIndexes): Invalidates all cue indexes starting
2546         with a specific position.
2547         * html/TextTrackCueList.h:
2548         (TextTrackCueList):
2549         * html/track/TextTrackList.cpp:
2550         (TextTrackList::getTrackIndex): Retrieves the track index position.
2551         (TextTrackList::append): Added method for invalidating the text track index in case of
2552         changing the list contents.
2553         * html/track/TextTrackList.h:
2554         (TextTrackList):
2555
2556 2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
2557
2558         [WebSocket] Move WebSocketChannel::FrameData into a separate header file
2559         https://bugs.webkit.org/show_bug.cgi?id=78682
2560
2561         Extract WebSocketChannel::FrameData as WebSocketFrame. This brings
2562         flexibility to add classes which want to do something for
2563         incoming/outgoing frames (e.g. compression/decompression).
2564
2565         Reviewed by Kent Tamura.
2566
2567         No new tests. No behavior change.
2568
2569         * GNUmakefile.list.am: AddedWebSocketFrame.h
2570         * Target.pri: Ditto.
2571         * WebCore.gypi: Ditto.
2572         * WebCore.vcproj/WebCore.vcproj: Ditto.
2573         * WebCore.xcodeproj/project.pbxproj: Ditto.
2574         * websockets/WebSocketChannel.cpp: Modified to use WebSocketFrame instead of FrameData
2575         (WebCore):
2576         (WebCore::WebSocketChannel::send):
2577         (WebCore::WebSocketChannel::startClosingHandshake):
2578         (WebCore::WebSocketChannel::parseFrame):
2579         (WebCore::WebSocketChannel::processFrame):
2580         (WebCore::WebSocketChannel::enqueueTextFrame):
2581         (WebCore::WebSocketChannel::enqueueRawFrame):
2582         (WebCore::WebSocketChannel::enqueueBlobFrame):
2583         (WebCore::appendMaskedFramePayload): Added.
2584         (WebCore::makeFrameData): Added.
2585         (WebCore::WebSocketChannel::sendFrame):
2586         * websockets/WebSocketChannel.h: Removed FrameData.
2587         (WebSocketChannel):
2588         (QueuedFrame):
2589         * websockets/WebSocketFrame.h: Added.
2590         (WebCore):
2591         (WebSocketFrame):
2592         (WebCore::WebSocketFrame::isNonControlOpCode):
2593         (WebCore::WebSocketFrame::isControlOpCode):
2594         (WebCore::WebSocketFrame::isReservedOpCode):
2595         (WebCore::WebSocketFrame::WebSocketFrame):
2596
2597 2012-02-20  Adam Roben  <aroben@apple.com>
2598
2599         32-bit build fix
2600
2601         * platform/FractionalLayoutUnit.h:
2602         (WebCore::FractionalLayoutUnit::setRawValue): Explicitly cast long long to int, since they
2603         are different widths in 32-bit.
2604
2605 2012-02-20  Adam Roben  <aroben@apple.com>
2606
2607         Clang build fix
2608
2609         * inspector/InspectorDOMAgent.cpp:
2610         (WebCore::InspectorDOMAgent::willModifyDOMAttr): Removed unused parameter.
2611
2612 2012-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
2613
2614         Unreviewed manual rollout of r107970 which breaks table column widths
2615         updates from javascript (e.g. inspector's network panel).
2616
2617         * rendering/FixedTableLayout.cpp:
2618         (WebCore::FixedTableLayout::calcWidthArray):
2619         * rendering/RenderTableCol.h:
2620         (RenderTableCol):
2621
2622 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
2623
2624         Web Inspector: [Styles] Inconsistent alignment of non-parsed properties (having an exclamation mark)
2625         https://bugs.webkit.org/show_bug.cgi?id=79028
2626
2627         Reviewed by Yury Semikhatsky.
2628
2629         * inspector/front-end/elementsPanel.css:
2630         (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
2631
2632 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
2633
2634         Web Inspector: DOMAttrModified should not be fired if the attribute value remains the same
2635         https://bugs.webkit.org/show_bug.cgi?id=79025
2636
2637         Reviewed by Pavel Feldman.
2638
2639         * dom/Element.cpp:
2640         (WebCore::Element::willModifyAttribute):
2641         * inspector/InspectorDOMAgent.cpp:
2642         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2643         (WebCore::InspectorDOMAgent::willModifyDOMAttr):
2644         (WebCore):
2645         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
2646         * inspector/InspectorDOMAgent.h:
2647         (InspectorDOMAgent):
2648         * inspector/InspectorInstrumentation.cpp:
2649         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2650         * inspector/InspectorInstrumentation.h:
2651         (InspectorInstrumentation):
2652         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
2653
2654 2012-02-20  Kwonjin Jeong  <gram@company100.net>
2655
2656         Correct a typo error in ScrollingCoordinator.h
2657         https://bugs.webkit.org/show_bug.cgi?id=79012
2658
2659         Reviewed by Andreas Kling.
2660
2661         * page/scrolling/ScrollingCoordinator.h:
2662         (ScrollingCoordinator):
2663
2664 2012-02-20  Alexander Pavlov  <apavlov@chromium.org>
2665
2666         Web Inspector: [Styles] box-shadow and -webkit-box-shadow properties are not considered color-aware
2667         https://bugs.webkit.org/show_bug.cgi?id=78988
2668
2669         Reviewed by Yury Semikhatsky.
2670
2671         * inspector/front-end/CSSKeywordCompletions.js:
2672
2673 2012-02-20  Yosifumi Inoue  <yosin@chromium.org>
2674
2675         [Forms] Spin buttons of number input type should fire both input and change event
2676         https://bugs.webkit.org/show_bug.cgi?id=75067
2677
2678         Reviewed by Kent Tamura.
2679
2680         This patch makes spin button in number input field clicks to fire input and change events as described in WHATWG HTML5 specification.
2681         To implement this behavior, this patch introduces new value DispatchInputAndChangeEvent in TextFieldEventBehavior.
2682
2683         Test: fast/forms/number/spin-button-events.html
2684
2685         * html/HTMLInputElement.cpp:
2686         (WebCore::HTMLInputElement::stepUpFromRenderer): Pass DispatchInputAndChangeEvent instead of DispatchChangeEvent to applyStep, setValue, and setValueAsNumber.
2687         * html/HTMLTextFormControlElement.h: Add new enum value DispatchInputAndChangeEvent to TextFieldEventBehavior.
2688         * html/TextFieldInputType.cpp:
2689         (WebCore::TextFieldInputType::setValue): Handle DispatchInputAndChangeEvent and use RefPtr for element to keep reference.
2690
2691 2012-02-20  Shinya Kawanaka  <shinyak@chromium.org>
2692
2693         Attached/Detached state must be testable
2694         https://bugs.webkit.org/show_bug.cgi?id=79010
2695
2696         Reviewed by Hajime Morita.
2697
2698         Added a method to check an element attached or not.
2699
2700         Test: fast/dom/shadow/shadow-root-attached.html
2701
2702         * testing/Internals.cpp:
2703         (WebCore::Internals::attached):
2704         (WebCore):
2705         * testing/Internals.h:
2706         (Internals):
2707         * testing/Internals.idl:
2708
2709 2012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
2710
2711         [WebSocket] Add deflater/inflater classes
2712         https://bugs.webkit.org/show_bug.cgi?id=78449
2713
2714         Add WebSocketDeflater/WebSocketInflater classes which wrap zlib
2715         functions. These classes are not used yet, but will be used for
2716         supporting WebSocket deflate-frame extension.
2717
2718         This patch is second try. The previous patch broke Chromium Win
2719         build. I added dependency of zlib to WebCore.gyp. I think it's
2720         OK because Chromium already depends on zlib.
2721
2722         Reviewed by Kent Tamura.
2723
2724         No new tests except for chromium port. Behavior is unchanged.
2725
2726         * GNUmakefile.list.am: Added WebSocketDeflater.(cpp|h).
2727         * WebCore.gyp/WebCore.gyp: Added zlib dependency.
2728         * WebCore.gypi: Added WebSocketDeflater.(cpp|h).
2729         * WebCore.vcproj/WebCore.vcproj: Ditto.
2730         * WebCore.xcodeproj/project.pbxproj: Ditto.
2731         * websockets/WebSocketDeflater.cpp: Added.
2732         (WebCore):
2733         (WebCore::WebSocketDeflater::create):
2734         (WebCore::WebSocketDeflater::WebSocketDeflater):
2735         (WebCore::WebSocketDeflater::initialize):
2736         (WebCore::WebSocketDeflater::~WebSocketDeflater):
2737         (WebCore::setStreamParameter):
2738         (WebCore::WebSocketDeflater::addBytes):
2739         (WebCore::WebSocketDeflater::finish):
2740         (WebCore::WebSocketDeflater::reset):
2741         (WebCore::WebSocketInflater::create):
2742         (WebCore::WebSocketInflater::WebSocketInflater):
2743         (WebCore::WebSocketInflater::initialize):
2744         (WebCore::WebSocketInflater::~WebSocketInflater):
2745         (WebCore::WebSocketInflater::addBytes):
2746         (WebCore::WebSocketInflater::finish):
2747         (WebCore::WebSocketInflater::reset):
2748         * websockets/WebSocketDeflater.h: Added.
2749         (WebCore):
2750         (WebSocketDeflater):
2751         (WebCore::WebSocketDeflater::data):
2752         (WebCore::WebSocketDeflater::size):
2753         (WebSocketInflater):
2754         (WebCore::WebSocketInflater::data):
2755         (WebCore::WebSocketInflater::size):
2756
2757 2012-02-20  pfeldman@chomium.org  <pavel.feldman@gmail.com>
2758
2759         Web Inspector: consume undo/redo shortcuts.
2760         https://bugs.webkit.org/show_bug.cgi?id=79016
2761
2762         Reviewed by Vsevolod Vlasov.
2763
2764         * inspector/front-end/ElementsPanel.js:
2765         (WebInspector.ElementsPanel.prototype.handleShortcut):
2766
2767 2012-02-20  Philippe Normand  <pnormand@igalia.com>
2768
2769         MediaPlayer: MediaPlayerPrivate registration cleanup
2770         https://bugs.webkit.org/show_bug.cgi?id=78897
2771
2772         Reviewed by Martin Robinson.
2773
2774         * platform/graphics/MediaPlayer.cpp:
2775         (WebCore::installedMediaEngines): Simplified GStreamer Private
2776         player registration by using the PlatformMediaEngineClassName
2777         macro like other players do.
2778
2779 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
2780
2781         [Chromium] Web Inspector: terminated workers are not removed from dedicated worker list
2782         https://bugs.webkit.org/show_bug.cgi?id=78899
2783
2784         Notify inspector about starting context from WorkerContextProxy not from Worker.
2785
2786         Reviewed by Pavel Feldman.
2787
2788         * workers/Worker.cpp:
2789         (WebCore::Worker::notifyFinished):
2790         * workers/WorkerMessagingProxy.cpp:
2791         (WebCore::WorkerMessagingProxy::startWorkerContext):
2792
2793 2012-02-19  Keishi Hattori  <keishi@webkit.org>
2794
2795         Use shadowRootList for ColorInputType
2796         https://bugs.webkit.org/show_bug.cgi?id=79007
2797
2798         Reviewed by Kent Tamura.
2799
2800         * html/ColorInputType.cpp:
2801         (WebCore::ColorInputType::createShadowSubtree): Changed shadowRoot to shadowRootList.
2802         (WebCore::ColorInputType::shadowColorSwatch): Changed shadowRoot to shadowRootList.
2803
2804 2012-02-19  Shinya Kawanaka  <shinyak@chromium.org>
2805
2806         Introduce InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
2807         https://bugs.webkit.org/show_bug.cgi?id=78771
2808
2809         Reviewed by Hajime Morita.
2810
2811         This patch introduces InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
2812
2813         This is a step for rendering <shadow> correctly, because <shadow> has almost the same function of <content>.
2814         After this patch, we will change NodeRenderingContext and related classes to accept InsertionPoint instead of
2815         HTMLContentElement only.
2816
2817         No new tests, no change in behavior.
2818
2819         * CMakeLists.txt:
2820         * GNUmakefile.list.am:
2821         * Target.pri:
2822         * WebCore.gypi:
2823         * WebCore.vcproj/WebCore.vcproj:
2824         * WebCore.xcodeproj/project.pbxproj:
2825         * html/shadow/HTMLContentElement.cpp:
2826         (WebCore::HTMLContentElement::HTMLContentElement):
2827         (WebCore::HTMLContentElement::attach):
2828         (WebCore::HTMLContentElement::detach):
2829         (WebCore::HTMLContentElement::parseAttribute):
2830         * html/shadow/HTMLContentElement.h:
2831         * html/shadow/InsertionPoint.cpp: Added.
2832         (WebCore):
2833         (WebCore::InsertionPoint::InsertionPoint):
2834         (WebCore::InsertionPoint::~InsertionPoint):
2835         * html/shadow/InsertionPoint.h: Added.
2836         (WebCore):
2837         (InsertionPoint):
2838
2839 2012-02-19  Paweł Forysiuk  <tuxator@o2.pl>
2840
2841         [GTK] Can't find webinspector and error page redirection on Windows
2842         https://bugs.webkit.org/show_bug.cgi?id=51616
2843
2844         Create and use an abstraction for finding shared resources on Windows.
2845
2846         Reviewed by Martin Robinson.
2847
2848         * platform/FileSystem.h:
2849         (WebCore):
2850         * platform/audio/gtk/AudioBusGtk.cpp:
2851         (WebCore::AudioBus::loadPlatformResource):
2852         * platform/graphics/gtk/ImageGtk.cpp:
2853         (WebCore::getPathToImageResource):
2854         * platform/gtk/FileSystemGtk.cpp:
2855         (WebCore::sharedResourcesPath):
2856         (WebCore):
2857
2858 2012-02-19  James Robinson  <jamesr@chromium.org>
2859
2860         Move stub implementations of ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp
2861         https://bugs.webkit.org/show_bug.cgi?id=78951
2862
2863         Reviewed by Adam Barth.
2864
2865         This move stubs for ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp instead of #ifdefing inside
2866         ScrollingCoordinator.cpp.  The mac port uses ScrollingCoordinator when #if ENABLE(THREADED_SCROLLING) is not set
2867         and implementations in ScrollingCoordinator.cpp / ScrollingCoordinatorMac.mm otherwise.  The chromium port
2868         always uses implementations in ScrollingCoordinatorChromium.cpp.  All other ports use
2869         ScrollingCoordinatorNone.cpp.
2870
2871         * CMakeLists.txt:
2872         * GNUmakefile.list.am:
2873         * Target.pri:
2874         * WebCore.vcproj/WebCore.vcproj:
2875         * WebCore.xcodeproj/project.pbx:
2876         * page/scrolling/ScrollingCoordinator.cpp:
2877         * page/scrolling/ScrollingCoordinatorNone.cpp:
2878         (WebCore):
2879         (WebCore::ScrollingCoordinator::create):
2880         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2881         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2882         (WebCore::ScrollingCoordinator::setScrollLayer):
2883         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2884         (WebCore::ScrollingCoordinator::setScrollParameters):
2885         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2886         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2887         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2888         (WebCore::ScrollingCoordinator::create):
2889         (WebCore):
2890
2891 2012-02-19  Kentaro Hara  <haraken@chromium.org>
2892
2893         Rename [CheckDomainSecurity] to [CheckSecurity]
2894         https://bugs.webkit.org/show_bug.cgi?id=78874
2895
2896         Reviewed by Adam Barth.
2897
2898         "Domain security" isn't a term that's used elsewhere.
2899         This patch renames IDL attributes as follows:
2900
2901         - [CheckDomainSecurity] => [CheckSecurity]
2902         - [DoNotCheckDomainSecurity] => [DoNotCheckSecurity]
2903         - [DoNotCheckDomainSecurityOnGetter] => [DoNotCheckSecurityOnGetter]
2904         - [DoNotCheckDomainSecurityOnSetter] => [DoNotCheckSecurityOnSetter]
2905
2906         No tests. No change in behavior.
2907
2908         * bindings/scripts/CodeGeneratorJS.pm:
2909         (GenerateGetOwnPropertyDescriptorBody):
2910         (GenerateImplementation):
2911         * bindings/scripts/CodeGeneratorV8.pm:
2912         (GenerateHeader):
2913         (IsVisibleAcrossOrigins):
2914         (GenerateFunctionCallback):
2915         (GenerateSingleBatchedAttribute):
2916         (GenerateImplementation):
2917         (GenerateToV8Converters):
2918         * bindings/scripts/test/TestDomainSecurity.idl:
2919         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2920         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2921         * page/DOMWindow.idl:
2922         * page/History.idl:
2923         * page/Location.idl:
2924
2925 2012-02-19  James Robinson  <jamesr@chromium.org>
2926
2927         Unreviewed, rolling out r108195.
2928         http://trac.webkit.org/changeset/108195
2929         https://bugs.webkit.org/show_bug.cgi?id=77700
2930
2931         Lots of failing ASSERT()s on v8 bots, requested by kling on
2932         #webkit
2933
2934         * bindings/js/JSCSSValueCustom.cpp:
2935         (WebCore::toJS):
2936         * bindings/scripts/CodeGeneratorV8.pm:
2937         (GenerateHeader):
2938
2939 2012-02-19  Kentaro Hara  <haraken@chromium.org>
2940
2941         Rename [CheckAccessToNode] to [CheckSecurityForNode]
2942         https://bugs.webkit.org/show_bug.cgi?id=78991
2943
2944         Reviewed by Adam Barth.
2945
2946         For naming consistency with [CheckSecurity], this patch renames
2947         [CheckAccessToNode] to [CheckSecurityForNode].
2948
2949         No tests. No change in behavior.
2950
2951         * bindings/scripts/CodeGeneratorJS.pm:
2952         (GenerateImplementation):
2953         * bindings/scripts/CodeGeneratorV8.pm:
2954         (GenerateNormalAttrGetter):
2955         (GenerateFunctionCallback):
2956         * bindings/scripts/test/TestObj.idl:
2957         * bindings/scripts/test/V8/V8TestObj.cpp:
2958         (WebCore):
2959         * html/HTMLEmbedElement.idl:
2960         * html/HTMLFrameElement.idl:
2961         * html/HTMLIFrameElement.idl:
2962         * html/HTMLObjectElement.idl:
2963         * page/DOMWindow.idl:
2964
2965 2012-02-19  James Robinson  <jamesr@chromium.org>
2966
2967         Sort WebCore XCode project files with sort-Xcode-project-files script. Unreviewed.
2968
2969         * WebCore.xcodeproj/project.pbxproj:
2970
2971 2012-02-19  Andreas Kling  <awesomekling@apple.com>
2972
2973         Make CSSValue wrapper getters return unique objects every time.
2974         <http://webkit.org/b/77700>
2975
2976         Reviewed by Antti Koivisto.
2977
2978         Change the behavior of CSSValue getters to return unique JS wrappers every
2979         time they are called. This means we no longer have to deal with the risk
2980         of leaking custom properties between unrelated documents, and are free to
2981         implement global value sharing across WebCore.
2982
2983         This patch will be followed by one making CSSValuePool globally shared,
2984         it's done in two steps to monitor the impact of this change.
2985
2986         * bindings/js/JSCSSValueCustom.cpp:
2987         (WebCore::toJS):
2988         * bindings/scripts/CodeGeneratorV8.pm:
2989         (GenerateHeader):
2990         (IsCSSValueType):
2991
2992 2012-02-19  Abhishek Arya  <inferno@chromium.org>
2993
2994         Crash in RenderBlock::splitAnonymousBlocksAroundChild.
2995         https://bugs.webkit.org/show_bug.cgi?id=78994
2996
2997         Reviewed by Eric Seidel.
2998
2999         Generalize splitTablePartsAroundChild to handle splitting
3000         in nested tables.
3001         Table->Table Section->Table Row->Table Cell->Table->Table Section->Table Row
3002
3003         Test: fast/table/table-split-inside-table.html
3004
3005         * rendering/RenderBlock.cpp:
3006         (WebCore::RenderBlock::splitTablePartsAroundChild):
3007
3008 2012-02-19  Kalev Lember  <kalevlember@gmail.com>
3009
3010         [GTK] Fix build on platforms where UChar is wchar_t
3011         https://bugs.webkit.org/show_bug.cgi?id=78996
3012
3013         Reviewed by Martin Robinson.
3014
3015         The ICU backend defines UChar as wchar_t for platforms where wchar_t is
3016         16 bits wide, e.g. win32.
3017
3018         * platform/graphics/pango/FontPango.cpp:
3019         (WebCore::utf16ToUtf8): Use reinterpret_cast instead of static_cast.
3020         * platform/gtk/GtkPopupMenu.cpp:
3021         (WebCore::GtkPopupMenu::typeAheadFind): Ditto.
3022
3023 2012-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3024
3025         Unreviewed. Fix make distcheck issues.
3026
3027         * GNUmakefile.list.am: Add missing header.
3028
3029 2012-02-18  Robert Hogan  <robert@webkit.org>
3030
3031         CSS 2.1 failure: inline-box-002.htm fails
3032         https://bugs.webkit.org/show_bug.cgi?id=69210
3033
3034         Reviewed by David Hyatt.
3035
3036         Tests: css2.1/20110323/dynamic-top-change-005.htm
3037                css2.1/20110323/dynamic-top-change-005a.htm
3038                css2.1/20110323/dynamic-top-change-005b.htm
3039                css2.1/20110323/inline-box-002.htm
3040                fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed.html
3041                fast/css/relative-positioned-block-nested-with-inline-parent-dynamic.html
3042                fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html
3043                fast/css/relative-positioned-block-nested-with-inline-parent.html
3044                fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic.html
3045                fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed.html
3046                fast/css/relative-positioned-block-with-inline-ancestor-dynamic.html
3047                fast/css/relative-positioned-block-with-inline-ancestor.html
3048                fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html
3049                fast/css/relative-positioned-block-with-inline-parent-dynamic.html
3050                fast/css/relative-positioned-block-with-inline-parent-keeps-style.html
3051                fast/css/relative-positioned-block-with-inline-parent.html
3052
3053         A block within an inline is affected by relative positioning on the inline box. Give
3054         the anonymous block containing the block a layer and make it relative positioned. Then
3055         calculate the offset of the anonymous block's layer by accumulating the offsets from its
3056         inline continuation and the inline continuation's inline parents.
3057         If the position of an inline changes from or to relative positioned then ensure that any
3058         descendant blocks update their position and layer accordingly.
3059
3060         * rendering/RenderBoxModelObject.cpp:
3061         (): add an enum RelPosAxis
3062         (WebCore::accumulateRelativePositionOffsets): 
3063         Total up the offsets of all relatively positioned inlines that are de-facto parents of the relatively 
3064         positioned anonymous block's child block.
3065
3066         (WebCore):
3067         (WebCore::RenderBoxModelObject::relativePositionOffsetX): 
3068         Use accumulateRelativePositionOffsets when calculating the relative position offset of a relatively positioned anonymous block.
3069
3070         (WebCore::RenderBoxModelObject::relativePositionOffsetY): ditto
3071
3072         * rendering/RenderInline.cpp:
3073         (WebCore::hasRelPositionedInlineAncestor): 
3074         Detects if the anonymous block contains a block that is the de-facto descendant of a relatively positioned inline.
3075
3076         (WebCore::updateStyleOfAnonymousBlockContinuations): 
3077         Update the style's positioning for each anonymous block containing a block that is descendant from the inline whose style has changed.
3078
3079         (WebCore::RenderInline::styleDidChange): 
3080         If an inline changes to or from relative positioning ensure that any descendant blocks change to or from relative positioning
3081         as well, unless they still have a relatively positioned ancestor after the current ancestor loses its relative positioning.
3082
3083         (WebCore::RenderInline::addChildIgnoringContinuation): 
3084         If the anonymous block contains a block that is effectively descended from a relatively positioned inline, make it relatively
3085         positioned so the block will respect its inline ancestor's relative positioning.
3086
3087         * rendering/RenderObject.cpp:
3088         (WebCore::RenderObject::propagateStyleToAnonymousChildren): 
3089         Preserve style position in anonymous block continuations when the parent block propagates a style change. 
3090
3091 2012-02-18  raman Tenneti  <rtenneti@chromium.org>
3092
3093         Track the NPN protocol version negotiated with the server
3094         https://bugs.webkit.org/show_bug.cgi?id=77349
3095
3096         Reviewed by Darin Fisher..
3097
3098         [chromium] Added ExtraData to WebURLResponse.
3099         
3100         No intended functionality change.
3101
3102         * platform/network/chromium/ResourceResponse.h:
3103         (ExtraData):
3104         (WebCore::ResourceResponse::ExtraData::~ExtraData):
3105         (ResourceResponse):
3106         (WebCore::ResourceResponse::extraData):
3107         (WebCore::ResourceResponse::setExtraData):
3108
3109 2012-02-18  Abhishek Arya  <inferno@chromium.org>
3110
3111         Unreviewed, rolling out r107965.
3112         http://trac.webkit.org/changeset/107965
3113         https://bugs.webkit.org/show_bug.cgi?id=78273
3114
3115         crashes
3116
3117         * rendering/RenderBlock.cpp:
3118         (WebCore::RenderBlock::clone):
3119
3120 2012-02-18  Sam Weinig  <sam@webkit.org>
3121
3122         Make WebCore compile with libc++ (Part 2)
3123         https://bugs.webkit.org/show_bug.cgi?id=78974
3124
3125         Reviewed by Anders Carlsson.
3126
3127         * config.h:
3128         Disable the DisallowCType check when using libc++.
3129
3130 2012-02-18  Sam Weinig  <sam@webkit.org>
3131
3132         Fix the build.
3133
3134         * page/DOMWindow.idl:
3135
3136 2012-02-14  Sam Weinig  <sam@webkit.org>
3137
3138         Make WebCore compile with libc++ (Part 1)
3139         https://bugs.webkit.org/show_bug.cgi?id=78974
3140
3141         Reviewed by Anders Carlsson.
3142
3143         Add a workaround for <rdar://problem/10858112>, which cause the standard heap functions
3144         not to work when using an iterator with proxy objects for reference and pointer types.
3145
3146         * WebCorePrefix.h:
3147         (move):
3148         Add an overload of std::move that the heap functions can call successfully.
3149
3150 2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
3151
3152         [wx] Build fixes for C++ bindings after recent changes.
3153         
3154         * bindings/scripts/CodeGeneratorCPP.pm:
3155         (ShouldSkipType):
3156         (GenerateHeader):
3157         * page/DOMWindow.idl:
3158
3159 2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
3160
3161         [wx] Build fix, add new platform method wx impl.
3162
3163         * platform/wx/ContextMenuWx.cpp:
3164         (ContextMenu::itemCount):
3165
3166 2012-02-18  Sam Weinig  <sam@webkit.org>
3167
3168         Fix part of the windows build failure.
3169
3170         * WebCore.vcproj/WebCore.vcproj:
3171         Don't build JSWebKitCSSRegionRule.cpp, since it is already being built
3172         as part of DerivedSources.cpp.
3173
3174 2012-02-18  Sam Weinig  <sam@webkit.org>
3175
3176         Fix the ENABLE(THREADED_SCROLLING) build.
3177
3178         * page/scrolling/ScrollingCoordinator.cpp:
3179         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
3180         (WebCore::ScrollingCoordinator::setScrollParameters):
3181
3182 2012-02-18  Andreas Kling  <awesomekling@apple.com>
3183
3184         HTML: Remove unnecessary attributeChange() overrides.
3185         <http://webkit.org/b/78890>
3186
3187         Reviewed by Anders Carlsson.
3188
3189         Move logic from attributeChanged() overrides into parseAttribute().
3190         This is a step towards making attributeChanged() non-virtual.
3191
3192         * html/HTMLMediaElement.cpp:
3193         (WebCore::HTMLMediaElement::parseAttribute):
3194         * html/HTMLMediaElement.h:
3195         (HTMLMediaElement):
3196         * html/HTMLScriptElement.cpp:
3197         (WebCore::HTMLScriptElement::parseAttribute):
3198         * html/HTMLScriptElement.h:
3199         (HTMLScriptElement):
3200         * html/HTMLTrackElement.cpp:
3201         (WebCore::HTMLTrackElement::parseAttribute):
3202         * html/HTMLTrackElement.h:
3203         (HTMLTrackElement):
3204
3205 2012-02-18  Andreas Kling  <awesomekling@apple.com>
3206
3207         Remove Element::createAttribute().
3208         <http://webkit.org/b/78965>
3209
3210         Reviewed by Anders Carlsson.
3211
3212         Switch call sites to use Attribute::create() directly, as there is no magic
3213         in calling Element::createAttribute() anymore (it used to be virtual and handled
3214         differently by StyledElement.)
3215
3216         * dom/Element.cpp:
3217         (WebCore::Element::setAttributeInternal):
3218         * dom/Element.h:
3219         * svg/properties/SVGAnimatedPropertySynchronizer.h:
3220
3221 2012-02-18  Andreas Kling  <awesomekling@apple.com>
3222
3223         HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
3224         <http://webkit.org/b/78959>
3225
3226         Reviewed by Anders Carlsson.
3227
3228         Mark the body element for deferred style recalc instead of doing it synchronously
3229         when the attributes change.
3230
3231         * html/HTMLBodyElement.cpp:
3232         (WebCore::HTMLBodyElement::parseAttribute):
3233
3234 2012-02-18  Martin Robinson  <mrobinson@igalia.com>
3235
3236         Fix the TextureMapper build for non-Qt ports. Qt debug builds
3237         must use RTTI, but GTK+, at least, does not.
3238
3239         * platform/graphics/texmap/TextureMapperLayer.cpp:
3240         (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check
3241         Qt only.
3242
3243 2012-02-16  Andreas Kling  <awesomekling@apple.com>
3244
3245         FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
3246         <http://webkit.org/b/78806>
3247
3248         Reviewed by Antti Koivisto.
3249
3250         Now that FontFamilyValue's string doesn't change after creation, we can just
3251         pass the massaged family name up to the CSSPrimitiveValue constructor and get
3252         cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String)
3253         though that's less of an issue now that we cache them in CSSValuePool.
3254
3255         * css/FontFamilyValue.cpp:
3256         (WebCore::stripFontFamilyJunk):
3257         (WebCore::FontFamilyValue::FontFamilyValue):
3258         * css/FontFamilyValue.h:
3259         (WebCore::FontFamilyValue::familyName):
3260         (FontFamilyValue):
3261
3262 2012-02-17  Adam Klein  <adamk@chromium.org>
3263
3264         Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
3265         https://bugs.webkit.org/show_bug.cgi?id=76087
3266
3267         Reviewed by Ryosuke Niwa.
3268
3269         Move post-removal notifications after call to Node::removeFromDocument
3270         to avoid inconsistent state of Node::inDocument() and thus avoid
3271         inconsistent state in DocumentOrderedMap.
3272
3273         Tests: fast/dom/getElementById-consistency.html
3274                fast/dom/getElementById-consistency2.html
3275
3276         * dom/ContainerNode.cpp:
3277         (WebCore::ContainerNode::removeChild):
3278         * svg/SVGTRefElement.cpp:
3279         (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch.
3280
3281 2012-02-17  Joshua Bell  <jsbell@chromium.org>
3282
3283         IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
3284         https://bugs.webkit.org/show_bug.cgi?id=78399
3285
3286         Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality.
3287
3288         Reviewed by Tony Chang.
3289
3290         Test: storage/indexeddb/delete-range.html
3291
3292         * bindings/scripts/CodeGeneratorV8.pm:
3293         (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr.
3294         * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations.
3295         * storage/IDBLevelDBBackingStore.cpp:
3296         (WebCore):
3297         * storage/IDBObjectStore.cpp:
3298         (WebCore::IDBObjectStore::deleteFunction):
3299         (WebCore):
3300         * storage/IDBObjectStore.h:
3301         (IDBObjectStore):
3302         * storage/IDBObjectStore.idl:
3303         * storage/IDBObjectStoreBackendImpl.cpp:
3304         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
3305         (WebCore):
3306         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
3307         * storage/IDBObjectStoreBackendImpl.h:
3308         (IDBObjectStoreBackendImpl):
3309         * storage/IDBObjectStoreBackendInterface.h:
3310
3311 2012-02-17  Kentaro Hara  <haraken@chromium.org>
3312
3313         Replace [V8OnInstance] with [V8Unforgeable]
3314         https://bugs.webkit.org/show_bug.cgi?id=78894
3315
3316         Reviewed by Adam Barth.
3317
3318         [V8OnInstance] means that the method should be defined
3319         (not on a prototype chain but) on a DOM object. It is the
3320         same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance]
3321         with [V8Unforgeable].
3322
3323         No tests. No change in behavior.
3324
3325         * bindings/scripts/CodeGeneratorV8.pm:
3326         (GenerateImplementation):
3327         * page/Location.idl:
3328
3329 2012-02-17  James Robinson  <jamesr@chromium.org>
3330
3331         [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same
3332         target from different paths.
3333
3334         * WebCore.gypi:
3335         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp.
3336         (WebCore):
3337         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
3338         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
3339         (WebCore::ScrollingCoordinator::setScrollLayer):
3340         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
3341         (WebCore::ScrollingCoordinator::setScrollParameters):
3342         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
3343         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3344
3345 2012-02-17  James Robinson  <jamesr@chromium.org>
3346
3347         Unreviewed mac compile fix pt 2
3348
3349         * page/scrolling/ScrollingCoordinator.cpp:
3350         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
3351         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
3352         (WebCore::ScrollingCoordinator::setScrollLayer):
3353         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
3354         (WebCore::ScrollingCoordinator::setScrollParameters):
3355         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
3356         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3357
3358 2012-02-17  James Robinson  <jamesr@chromium.org>
3359
3360         Unreviewed mac compile fix (unused parameter warning)
3361
3362         * page/scrolling/ScrollingCoordinator.cpp:
3363         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
3364         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
3365
3366 2012-02-14  James Robinson  <jamesr@chromium.org>
3367
3368         Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms
3369         https://bugs.webkit.org/show_bug.cgi?id=78401
3370
3371         Reviewed by Adam Barth.
3372
3373         Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on
3374         chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source.
3375         ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input
3376         events and interact with composited layers.
3377
3378         * WebCore.gyp/WebCore.gyp:
3379         * WebCore.gypi:
3380         * dom/Document.cpp:
3381         (WebCore::wheelEventHandlerCountChanged):
3382         * page/FrameView.cpp:
3383         (WebCore::FrameView::addSlowRepaintObject):
3384         (WebCore::FrameView::removeSlowRepaintObject):
3385         (WebCore::FrameView::performPostLayoutTasks):
3386         * page/Page.cpp:
3387         (WebCore::Page::~Page):
3388         (WebCore):
3389         * page/Page.h:
3390         (Page):
3391         * page/Settings.cpp:
3392         (WebCore::Settings::Settings):
3393         * page/Settings.h:
3394         (Settings):
3395         * page/scrolling/ScrollingCoordinator.cpp:
3396         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
3397         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
3398         (WebCore::ScrollingCoordinator::pageDestroyed):
3399         (WebCore):
3400         * page/scrolling/ScrollingCoordinator.h:
3401         (WebCore):
3402         (ScrollingCoordinator):
3403         * page/scrolling/ScrollingThread.cpp:
3404         (WebCore::ScrollingThread::createThreadIfNeeded):
3405         * page/scrolling/ScrollingTreeState.cpp:
3406         * page/scrolling/ScrollingTreeState.h:
3407         * page/scrolling/chromium/ScrollingCoordinator.cpp: Added.
3408         (WebCore):
3409         (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
3410         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
3411         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
3412         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
3413         * rendering/RenderLayerBacking.cpp:
3414         (WebCore::RenderLayerBacking::RenderLayerBacking):
3415         * rendering/RenderLayerCompositor.cpp:
3416         (WebCore::RenderLayerCompositor::frameViewDidScroll):
3417         (WebCore::shouldCompositeOverflowControls):
3418         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
3419         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
3420         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
3421         (WebCore::RenderLayerCompositor::ensureRootLayer):
3422         (WebCore):
3423         * rendering/RenderLayerCompositor.h:
3424         (WebCore):
3425         (RenderLayerCompositor):
3426
3427 2012-02-17  Emil A Eklund  <eae@chromium.org>
3428
3429         Add FractionalLayoutPoint for sub-pixel layout
3430         https://bugs.webkit.org/show_bug.cgi?id=78913
3431
3432         Reviewed by Eric Seidel.
3433
3434         Add FractionalLayoutUnit version of Point class and a couple of
3435         conversion methods to the Int and Float versions of same.
3436
3437         No new tests.
3438
3439         * GNUmakefile.list.am:
3440         * WebCore.vcproj/WebCore.vcproj:
3441         * WebCore.xcodeproj/project.pbxproj:
3442         * platform/graphics/FloatPoint.cpp:
3443         (WebCore::FloatPoint::FloatPoint):
3444         (WebCore):
3445         (WebCore::FloatPoint::moveBy):
3446         * platform/graphics/FloatPoint.h:
3447         (WebCore):
3448         (FloatPoint):
3449         * platform/graphics/FractionalLayoutPoint.h: Added.
3450         (WebCore):
3451         (FractionalLayoutPoint):
3452         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
3453         (WebCore::FractionalLayoutPoint::zero):
3454         (WebCore::FractionalLayoutPoint::x):
3455         (WebCore::FractionalLayoutPoint::y):
3456         (WebCore::FractionalLayoutPoint::setX):
3457         (WebCore::FractionalLayoutPoint::setY):
3458         (WebCore::FractionalLayoutPoint::move):
3459         (WebCore::FractionalLayoutPoint::moveBy):
3460         (WebCore::FractionalLayoutPoint::scale):
3461         (WebCore::FractionalLayoutPoint::expandedTo):
3462         (WebCore::FractionalLayoutPoint::shrunkTo):
3463         (WebCore::FractionalLayoutPoint::clampNegativeToZero):
3464         (WebCore::FractionalLayoutPoint::transposedPoint):
3465         (WebCore::operator+=):
3466         (WebCore::operator-=):
3467         (WebCore::operator+):
3468         (WebCore::operator-):
3469         (WebCore::operator==):
3470         (WebCore::operator!=):
3471         (WebCore::toPoint):
3472         (WebCore::toSize):
3473         (WebCore::flooredIntPoint):
3474         (WebCore::roundedIntPoint):
3475         (WebCore::ceiledIntPoint):
3476         * platform/graphics/FractionalLayoutSize.cpp:
3477         (WebCore::pixelSnappedIntSize):
3478         * platform/graphics/FractionalLayoutSize.h:
3479         (WebCore):
3480
3481 2012-02-17  Ryosuke Niwa  <rniwa@webkit.org>
3482
3483         Move textDirectionForSelection from Editor to EditingStyle
3484         https://bugs.webkit.org/show_bug.cgi?id=78868
3485
3486         Reviewed by Enrica Casucci.
3487
3488         Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's
3489         dependency on CSSStyleDeclaration.
3490
3491         * editing/EditingStyle.cpp:
3492         (WebCore::EditingStyle::textDirectionForSelection):
3493         (WebCore):
3494         * editing/EditingStyle.h:
3495         (EditingStyle):
3496         * editing/Editor.cpp:
3497         (WebCore):
3498         * editing/Editor.h:
3499         (Editor):
3500         * editing/EditorCommand.cpp:
3501         (WebCore::stateTextWritingDirection):
3502         * editing/ReplaceSelectionCommand.cpp:
3503         * editing/markup.cpp:
3504
3505 2012-02-17  David Barton  <dbarton@mathscribe.com>
3506
3507         MathML internals - embellished operators, getBase() accessor functions
3508         https://bugs.webkit.org/show_bug.cgi?id=78617
3509
3510         Reviewed by Eric Seidel.
3511
3512         Define functions that return an unembellished "base", by omitting
3513         subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in
3514         subsequent patches both for correct operator stretching and simple code factoring.
3515
3516         No new tests.
3517
3518         * rendering/mathml/RenderMathMLBlock.h:
3519         (WebCore):
3520         (RenderMathMLBlock):
3521         (WebCore::RenderMathMLBlock::unembellishedOperator):
3522         * rendering/mathml/RenderMathMLFraction.cpp:
3523         (WebCore::RenderMathMLFraction::unembellishedOperator):
3524         (WebCore):
3525         * rendering/mathml/RenderMathMLFraction.h:
3526         (RenderMathMLFraction):
3527         * rendering/mathml/RenderMathMLOperator.h:
3528         (WebCore::RenderMathMLOperator::unembellishedOperator):
3529         * rendering/mathml/RenderMathMLSubSup.cpp:
3530         (WebCore::RenderMathMLSubSup::base):
3531         (WebCore):
3532         (WebCore::RenderMathMLSubSup::unembellishedOperator):
3533         (WebCore::RenderMathMLSubSup::stretchToHeight):
3534             - renamed a variable for clarity, especially in later patches
3535         (WebCore::RenderMathMLSubSup::layout):
3536             - renamed a variable for clarity, especially in later patches
3537         * rendering/mathml/RenderMathMLSubSup.h:
3538         (RenderMathMLSubSup):
3539         * rendering/mathml/RenderMathMLUnderOver.cpp:
3540         (WebCore::RenderMathMLUnderOver::base):
3541         (WebCore):
3542         (WebCore::RenderMathMLUnderOver::unembellishedOperator):
3543         (WebCore::RenderMathMLUnderOver::stretchToHeight):
3544         * rendering/mathml/RenderMathMLUnderOver.h:
3545         (RenderMathMLUnderOver):
3546
3547 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
3548
3549         [Qt][WK2] Allow opaque tiles
3550         https://bugs.webkit.org/show_bug.cgi?id=78809
3551
3552         Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag.
3553         Use reset/didReset instead of a virtual function that has to call the superclass.
3554
3555         Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag,
3556         based on the source image.
3557         Since we now disable blending for opaque textures, we also have to make sure that we treat
3558         the depth buffer correctly and bring it back to its previous state.
3559
3560         Reviewed by Kenneth Rohde Christiansen.
3561
3562         No behavior changes.
3563
3564         * platform/graphics/opengl/TextureMapperGL.cpp:
3565         (TextureMapperGLData):
3566         (WebCore::TextureMapperGLData::initStencil):
3567         (WebCore::TextureMapperGLData::TextureMapperGLData):
3568         (BitmapTextureGL):
3569         (WebCore::TextureMapperGL::beginPainting):
3570         (WebCore::TextureMapperGL::endPainting):
3571         (WebCore::TextureMapperGL::drawTexture):
3572         (WebCore::BitmapTextureGL::didReset):
3573         (WebCore::BitmapTextureGL::bind):
3574         (WebCore::TextureMapperGL::beginClip):
3575         * platform/graphics/texmap/TextureMapper.h:
3576         (WebCore::BitmapTexture::BitmapTexture):
3577         (WebCore::BitmapTexture::flags):
3578         (WebCore::BitmapTexture::didReset):
3579         (WebCore::BitmapTexture::reset):
3580         (BitmapTexture):
3581         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3582         (WebCore::TextureMapperTile::updateContents):
3583         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
3584         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
3585         (WebCore::TextureMapperTiledBackingStore::updateContents):
3586         * platform/graphics/texmap/TextureMapperBackingStore.h:
3587         (TextureMapperTiledBackingStore):
3588         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
3589         (WebCore::BitmapTextureImageBuffer::didReset):
3590         (WebCore):
3591         * platform/graphics/texmap/TextureMapperImageBuffer.h:
3592         (BitmapTextureImageBuffer):
3593
3594 2012-02-17  Stephen Chenney  <schenney@chromium.org>
3595
3596         Crash in SVGAnimateElement due to changed target
3597         https://bugs.webkit.org/show_bug.cgi?id=75096
3598
3599         Reviewed by Nikolas Zimmermann.
3600
3601         The SVGAnimateElement object creates various internal objects
3602         depending on the type of property being animated, which depends on the
3603         target. These objects were not being recreated when the target
3604         changed, and crashes ensued. Now the SVGSMILElement provides a virtual
3605         method that is called when the target changes, and SVGAnimateElement
3606         updates its objects as necessary. We also deactivate the animation
3607         when the target changes, forcing recomputation of other derived
3608         objects.
3609
3610         This change also removes various unnecessary calls to semi-expensive
3611         methods.
3612
3613         Not only does this change fix the new test, it also fixes potential
3614         crashes in other tests that apparently never manifested before (but
3615         manifest when this new test is included in DRT).
3616
3617         Test: svg/animations/svglength-animation-retarget-crash.html
3618
3619         * svg/SVGAnimateElement.cpp:
3620         (WebCore::SVGAnimateElement::hasValidAttributeType):
3621         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3622         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3623         (WebCore::SVGAnimateElement::calculateFromAndByValues):
3624         (WebCore::SVGAnimateElement::resetToBaseValue):
3625         (WebCore::SVGAnimateElement::calculateDistance):
3626         (WebCore):
3627         (WebCore::SVGAnimateElement::targetElementDidChange):
3628         * svg/SVGAnimateElement.h:
3629         (SVGAnimateElement):
3630         * svg/SVGAnimatedTypeAnimator.h:
3631         (SVGAnimatedTypeAnimator):
3632         (WebCore::SVGAnimatedTypeAnimator::type):
3633         * svg/animation/SVGSMILElement.cpp:
3634         (WebCore::SVGSMILElement::targetElement):
3635         (WebCore::SVGSMILElement::resetTargetElement):
3636         (WebCore):
3637         * svg/animation/SVGSMILElement.h:
3638         (SVGSMILElement):
3639         (WebCore::SVGSMILElement::targetElementDidChange):
3640
3641 2012-02-17  David Hyatt  <hyatt@apple.com>
3642
3643         https://bugs.webkit.org/show_bug.cgi?id=78934
3644         
3645         Add the -webkit-line-align property to support the alignment of lines in the inline direction
3646         to the line grid.
3647
3648         Reviewed by Dan Bernstein.
3649
3650         Added fast/line-grid/line-align-parsing.html
3651
3652         * css/CSSComputedStyleDeclaration.cpp:
3653         (WebCore):
3654         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3655         * css/CSSParser.cpp:
3656         (WebCore::CSSParser::parseValue):
3657         * css/CSSPrimitiveValueMappings.h:
3658         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3659         (WebCore):
3660         (WebCore::CSSPrimitiveValue::operator LineAlign):
3661         * css/CSSProperty.cpp:
3662         (WebCore::CSSProperty::isInheritedProperty):
3663         * css/CSSPropertyNames.in:
3664         * css/CSSStyleApplyProperty.cpp:
3665         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3666         * css/CSSStyleSelector.cpp:
3667         (WebCore::CSSStyleSelector::applyProperty):
3668         * css/CSSValueKeywords.in:
3669         * rendering/style/RenderStyle.cpp:
3670         (WebCore::RenderStyle::diff):
3671         * rendering/style/RenderStyle.h:
3672         * rendering/style/RenderStyleConstants.h:
3673         * rendering/style/StyleRareInheritedData.cpp:
3674         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3675         (WebCore::StyleRareInheritedData::operator==):
3676         * rendering/style/StyleRareInheritedData.h:
3677         (StyleRareInheritedData):
3678
3679 2012-02-17  Emil A Eklund  <eae@chromium.org>
3680
3681         Add FractionalLayoutSize for sub-pixel layout
3682         https://bugs.webkit.org/show_bug.cgi?id=78852
3683
3684         Reviewed by Eric Seidel.
3685
3686         Add FractionalLayoutUnit version of Size class and a couple of
3687         conversion methods to the Int and Float versions of same.
3688
3689         No new tests.
3690
3691         * CMakeLists.txt:
3692         * GNUmakefile.list.am:
3693         * WebCore.gypi:
3694         * WebCore.vcproj/WebCore.vcproj:
3695         * WebCore.xcodeproj/project.pbxproj:
3696         * platform/graphics/FloatPoint.cpp:
3697         (WebCore::FloatPoint::move):
3698         Add FractionalLayoutSize version of move.
3699
3700         * platform/graphics/FloatPoint.h:
3701         * platform/graphics/FloatSize.cpp:
3702         (WebCore::FloatSize::FloatSize):
3703         Add FloatSize(FractionalLayoutSize) constructor.
3704
3705         * platform/graphics/FloatSize.h:
3706         * platform/graphics/FractionalLayoutSize.cpp: Added.
3707         * platform/graphics/FractionalLayoutSize.h: Added.
3708
3709 2012-02-17  Enrica Casucci  <enrica@apple.com>
3710
3711         REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
3712         data to the pasteboard.
3713         https://bugs.webkit.org/show_bug.cgi?id=78933
3714         <rdar://problem/10874553>
3715         
3716         For this format, the data needs to be placed in the pasteboard as array of arrays
3717         of strings. Currently is it stored as array of strings, which causes the code
3718         that uses this format to break.
3719         
3720         Reviewed by Ryosuke Niwa.
3721
3722         * platform/mac/PlatformPasteboardMac.mm:
3723         (WebCore::PlatformPasteboard::setPathnamesForType):
3724
3725 2012-02-17  Abhishek Arya  <inferno@chromium.org>
3726
3727         Incorrect placement of a new child when beforeChild and its
3728         previous sibling are in the same table.
3729         https://bugs.webkit.org/show_bug.cgi?id=78269
3730
3731         Reviewed by Julien Chaffraix.
3732
3733         Tests: fast/table/table-cell-split.html
3734                fast/table/table-row-split.html
3735                fast/table/table-section-split-with-after-content.html
3736                fast/table/table-section-split.html
3737
3738         * rendering/RenderBlock.cpp:
3739         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add
3740         call to splitTablePartsAroundChild to take care of splitting the
3741         table first if the child is part of table.
3742         (WebCore::markTableForSectionAndCellRecalculation): add helper to
3743         mark table for complete relayout by invalidating sections and cells.
3744         (WebCore):
3745         (WebCore::moveAllTableChildrenTo): moves children to another table.
3746         (WebCore::RenderBlock::splitTablePartsAroundChild): split table child
3747         and its next siblings into a new table. This allows adding a new
3748         non-table child between the tables.
3749         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls
3750         splitTablePartsAroundChild to see if we need to split the table
3751         for adding this new child.
3752         * rendering/RenderBlock.h:
3753         (RenderBlock):
3754         * rendering/RenderObject.cpp:
3755         (WebCore::RenderObject::createAnonymousTable): add helper for
3756         creating anonymous table.
3757         (WebCore):
3758         (WebCore::RenderObject::addChild): use the new helper for creating
3759         anonymous table.
3760         * rendering/RenderObject.h:
3761         (WebCore):
3762         (RenderObject):
3763         (WebCore::RenderObject::isTablePart): add helper to tell if the object
3764         is a table part.
3765
3766 2012-02-17  Andreas Kling  <awesomekling@apple.com>
3767
3768         Element: Inline style selector and AX invalidation in attributeChanged().
3769         <http://webkit.org/b/78888>
3770
3771         Reviewed by Antti Koivisto.
3772
3773         Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged()
3774         methods into Element::attributeChanged(). They were separated when we needed them in
3775         StyledElement::attributeChanged(), but that's no longer the case.
3776
3777         * dom/Element.cpp:
3778         (WebCore::Element::attributeChanged):
3779         * dom/Element.h:
3780
3781 2012-02-17  David Reveman  <reveman@chromium.org>
3782
3783         [Chromium] Texture eviction doesn't show up in traces.
3784         https://bugs.webkit.org/show_bug.cgi?id=78851
3785
3786         Reviewed by James Robinson.
3787
3788         Add TextureManager::evictTexture() function with TRACE statement so
3789         that texture eviction shows up in traces.
3790
3791         No new tests.
3792
3793         * platform/graphics/chromium/TextureManager.cpp:
3794         (WebCore::TextureManager::evictTexture):
3795         (WebCore):
3796         (WebCore::TextureManager::reduceMemoryToLimit):
3797         * platform/graphics/chromium/TextureManager.h:
3798         (TextureManager):
3799
3800 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
3801
3802         Remove unused parameters from WTF threading API
3803         https://bugs.webkit.org/show_bug.cgi?id=78389
3804
3805         Reviewed by Adam Roben.
3806
3807         waitForThreadCompletion() had an out param 'void **result' to get the
3808         'void *' returned by ThreadFunction. However, the implementation in
3809         ThreadingWin.cpp ignored the out param, not filling it in. This had
3810         led to a situation where none of the client code made use of the param
3811         and just ignored it.
3812
3813         To clean this up, the patch changes the signature of ThreadFunction to
3814         return void instead of void* and drops the the unused 'void **result'
3815         parameter from waitForThreadCompletion. Also, all client code is
3816         updated for the API change.
3817
3818         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
3819         though the change only affects internal API, Safari is using it
3820         directly and we'll need to keep the old versions around for ABI
3821         compatibility. For this, the patch adds compatibility wrappers with
3822         the old ABI.
3823
3824         * bindings/js/GCController.cpp:
3825         (WebCore::collect):
3826         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
3827         * fileapi/FileThread.cpp:
3828         (WebCore::FileThread::fileThreadStart):
3829         (WebCore::FileThread::runLoop):
3830         * fileapi/FileThread.h:
3831         (FileThread):
3832         * loader/icon/IconDatabase.cpp:
3833         (WebCore::IconDatabase::close):
3834         (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
3835         (WebCore::IconDatabase::iconDatabaseSyncThread):
3836         (WebCore::IconDatabase::syncThreadMainLoop):
3837         * loader/icon/IconDatabase.h:
3838         (IconDatabase):
3839         * page/scrolling/ScrollingThread.cpp:
3840         (WebCore::ScrollingThread::threadCallback):
3841         * page/scrolling/ScrollingThread.h:
3842         (ScrollingThread):
3843         * platform/audio/HRTFDatabaseLoader.cpp:
3844         (WebCore::databaseLoaderEntry):
3845         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
3846         * platform/audio/ReverbConvolver.cpp:
3847         (WebCore::backgroundThreadEntry):
3848         (WebCore::ReverbConvolver::~ReverbConvolver):
3849         * platform/network/cf/LoaderRunLoopCF.cpp:
3850         (WebCore::runLoaderThread):
3851         * storage/DatabaseThread.cpp:
3852         (WebCore::DatabaseThread::databaseThreadStart):
3853         (WebCore::DatabaseThread::databaseThread):
3854         * storage/DatabaseThread.h:
3855         (DatabaseThread):
3856         * storage/LocalStorageThread.cpp:
3857         (WebCore::LocalStorageThread::threadEntryPointCallback):
3858         (WebCore::LocalStorageThread::threadEntryPoint):
3859         (WebCore::LocalStorageThread::terminate):
3860         * storage/LocalStorageThread.h:
3861         (LocalStorageThread):
3862         * webaudio/AsyncAudioDecoder.cpp:
3863         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
3864         (WebCore::AsyncAudioDecoder::threadEntry):
3865         * webaudio/AsyncAudioDecoder.h:
3866         (AsyncAudioDecoder):
3867         * webaudio/OfflineAudioDestinationNode.cpp:
3868         (WebCore::OfflineAudioDestinationNode::uninitialize):
3869         (WebCore::OfflineAudioDestinationNode::renderEntry):
3870         * webaudio/OfflineAudioDestinationNode.h:
3871         (OfflineAudioDestinationNode):
3872         * workers/WorkerThread.cpp:
3873         (WebCore::WorkerThread::workerThreadStart):
3874         (WebCore::WorkerThread::workerThread):
3875         * workers/WorkerThread.h:
3876         (WorkerThread):
3877
3878 2012-02-17  Robert Hogan  <robert@webkit.org>
3879
3880         AppleMac Build fix for r108111
3881
3882         Remove variable that is now unused.
3883
3884         Unreviewed, build fix.
3885
3886         * rendering/RenderBlockLineLayout.cpp:
3887         (WebCore::alwaysRequiresLineBox): Remove lineInfo
3888         (WebCore::requiresLineBox): 
3889         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3890
3891 2012-02-17  Michal Mocny  <mmocny@google.com>
3892
3893         [chromium] GL_CHROMIUM_gpu_memory_manager extension
3894         https://bugs.webkit.org/show_bug.cgi?id=77155
3895
3896         Reviewed by James Robinson.
3897
3898         * platform/graphics/chromium/Extensions3DChromium.h:
3899         (GpuMemoryAllocationChangedCallbackCHROMIUM):
3900         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
3901         (Extensions3DChromium):
3902
3903 2012-01-23  Robert Hogan  <robert@webkit.org>
3904
3905         REGRESSION: empty span creates renders with non-zero height
3906         https://bugs.webkit.org/show_bug.cgi?id=76465
3907
3908         Reviewed by David Hyatt.
3909
3910         Tests: fast/css/empty-span.html
3911                fast/css/non-empty-span.html
3912
3913         Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
3914         other content in the line. So only create line boxes for such elements on lines that are not empty.
3915
3916         This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
3917         It also fixes cases where lines with content that had a leading empty inline element weren't respecting the 
3918         vertical alignment or font-height of the empty inline.
3919
3920         * rendering/RenderBlockLineLayout.cpp:
3921         (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
3922         (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
3923          will need a linebox if the rest of the line is not empty.
3924         (WebCore):
3925         (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
3926         (WebCore::requiresLineBox):
3927         (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
3928          the line non-empty - otherwise hold off.
3929
3930 2012-02-17  Raymond Toy  <rtoy@google.com>
3931
3932         RealtimeAnalyserNode does not consistently respect .minDecibels
3933         https://bugs.webkit.org/show_bug.cgi?id=78729
3934
3935         Make use of m_minDecibel consistent.  Clean up some style issues
3936         with names of local variables and style issues with float
3937         constants.
3938         
3939         Reviewed by Chris Rogers.
3940
3941         No new tests because the changes are cosmetic for style issues.
3942
3943         * webaudio/RealtimeAnalyser.cpp:
3944         (WebCore):
3945         (WebCore::RealtimeAnalyser::doFFTAnalysis):
3946         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
3947         (WebCore::RealtimeAnalyser::getByteFrequencyData):
3948         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
3949
3950 2012-02-17  Abhishek Arya  <inferno@chromium.org>
3951
3952         :before content incorrectly placed in continuation
3953         when we don't have a first child.
3954         https://bugs.webkit.org/show_bug.cgi?id=78380
3955
3956         Reviewed by David Hyatt.
3957
3958         Test: fast/css-generated-content/before-content-continuation-chain.html
3959
3960         * rendering/RenderObjectChildList.cpp:
3961         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3962
3963 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
3964
3965         CSS regions enabled by default
3966         https://bugs.webkit.org/show_bug.cgi?id=78525
3967
3968         Reviewed by David Hyatt.
3969
3970         Test: fast/regions/css-regions-disabled.html
3971
3972         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
3973         CSSRegions are still enabled by default.
3974         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
3975
3976         * WebCore.xcodeproj/project.pbxproj:
3977         * css/CSSParser.cpp:
3978         (WebCore::CSSParser::parseValue):
3979         (WebCore::CSSParser::cssRegionsEnabled):
3980         (WebCore):
3981         (WebCore::CSSParser::parseFlowThread):
3982         (WebCore::CSSParser::parseRegionThread):
3983         (WebCore::CSSParser::createRegionRule):
3984         * css/CSSParser.h:
3985         * dom/Document.cpp:
3986         (WebCore::Document::cssRegionsEnabled):
3987         (WebCore):
3988         (WebCore::Document::webkitGetFlowByName):
3989         * dom/Document.h:
3990         (Document):
3991         * dom/Element.cpp:
3992         (WebCore::Element::webkitRegionOverflow):
3993         * dom/NodeRenderingContext.cpp:
3994         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
3995         * page/Settings.cpp:
3996         (WebCore::Settings::Settings):
3997         * page/Settings.h:
3998         (WebCore::Settings::setCSSRegionsEnabled):
3999         (WebCore::Settings::cssRegionsEnabled):
4000         (Settings):
4001         * rendering/RenderFlowThread.cpp:
4002         (WebCore::RenderFlowThread::RenderFlowThread):
4003         * rendering/RenderObject.cpp:
4004         (WebCore::RenderObject::createObject):
4005         * rendering/RenderRegion.cpp:
4006         (WebCore::RenderRegion::RenderRegion):
4007
4008 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
4009
4010         [CSSRegions]Implement NamedFlow::overflow
4011         https://bugs.webkit.org/show_bug.cgi?id=78880
4012
4013         Reviewed by David Hyatt.
4014
4015         Test: fast/regions/webkit-named-flow-overflow.html
4016
4017         * dom/WebKitNamedFlow.cpp:
4018         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
4019         (WebCore::WebKitNamedFlow::overflow):
4020         (WebCore):
4021         * dom/WebKitNamedFlow.h:
4022         (WebCore):
4023         (WebCore::WebKitNamedFlow::create):
4024         (WebKitNamedFlow):
4025         * dom/WebKitNamedFlow.idl:
4026         * rendering/RenderFlowThread.cpp:
4027         (WebCore::RenderFlowThread::RenderFlowThread):
4028         (WebCore::RenderFlowThread::ensureNamedFlow):
4029         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
4030         * rendering/RenderFlowThread.h:
4031
4032 2012-02-17  Joe Thomas  <joethomas@motorola.com>
4033
4034         flex-wrap:nowrap should be flex-wrap:none
4035         https://bugs.webkit.org/show_bug.cgi?id=78772
4036
4037         As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.
4038
4039         Reviewed by Ojan Vafai.
4040
4041         * css/CSSParser.cpp:
4042         (WebCore::CSSParser::parseValue):
4043         * css/CSSPrimitiveValueMappings.h:
4044         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
4045         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
4046         * css/CSSValueKeywords.in:
4047         * rendering/style/RenderStyle.h:
4048         * rendering/style/RenderStyleConstants.h:
4049
4050 2012-02-17  Enrica Casucci  <enrica@apple.com>
4051
4052         Refactor DragData class to use PlatformStrategies in the Mac implementation.
4053         https://bugs.webkit.org/show_bug.cgi?id=78768
4054
4055         Reviewed by Darin Adler.
4056
4057         No new tests. No behavior change.
4058
4059         * WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
4060         * platform/DragData.h:
4061         (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
4062         * platform/PasteboardStrategy.h: Added color() method.
4063         * platform/PlatformPasteboard.h: Ditto.
4064         * platform/mac/ClipboardMac.mm:
4065         (WebCore::Clipboard::create): Changed to use pasteboardName() method.
4066         * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
4067         and the pasteboardStrategy() methods.
4068         (WebCore::DragData::DragData):
4069         (WebCore::DragData::canSmartReplace):
4070         (WebCore::DragData::containsColor):
4071         (WebCore::DragData::containsFiles):
4072         (WebCore::DragData::numberOfFiles):
4073         (WebCore::DragData::asFilenames):
4074         (WebCore::DragData::containsPlainText):
4075         (WebCore::DragData::asPlainText):
4076         (WebCore::DragData::asColor):
4077         (WebCore::DragData::containsCompatibleContent):
4078         (WebCore::DragData::asURL):
4079         (WebCore::DragData::asFragment):
4080         * platform/mac/PlatformPasteboardMac.mm:
4081         (WebCore::PlatformPasteboard::color): Added implementation of the color() method.
4082
4083 2012-02-17  Nate Chapin  <japhet@chromium.org>
4084
4085         [Chromium mac] Cursors and background images disappear.
4086         https://bugs.webkit.org/show_bug.cgi?id=78834
4087
4088         The issue occurs because a CachedImage sees that it has no clients
4089         and decide it is safe to purge its m_data buffer. However,
4090         StyleCachedImage is holding a CachedResourceHandle to the
4091         CachedImage, and it can still add a client later. If it does so,
4092         the CachedImage says everything is loaded but has no data.
4093
4094         Reviewed by Adam Barth.
4095
4096         No new tests, since the known repros have resisted reduction.
4097         Tested manually with chrome.angrybirds.com, redfin.com and a
4098         couple of other sites.
4099
4100         * rendering/style/StyleCachedImage.cpp:
4101         * rendering/style/StyleCachedImage.h: Ensure the underlying
4102             CachedImage has a client for the lifetime of the
4103             StyleCachedImage and doesn't purge its buffer. Call
4104             addClient(this) in the constructor and removeClient(this) in
4105             the destructor, then ignore all cache callbacks.
4106
4107 2012-02-17  Julien Chaffraix  <jchaffraix@webkit.org>
4108
4109         Table cell's anonymous wrappers are left in the tree, impacting our layout
4110         https://bugs.webkit.org/show_bug.cgi?id=7180
4111
4112         Reviewed by David Hyatt.
4113
4114         Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
4115                fast/table/table-switch-cell-position-bad-layout.html
4116
4117         This patch implements cell's anonymous wrapper removal at detach time.
4118
4119         Trimming the render tree when we remove objects from it would be more complex
4120         to generalize as several objects override the behavior to do their own clean-ups.
4121         This would also open more potential for programming errors.
4122
4123         This change is limited to table cells' as a simple step towards fixing bug 52123
4124         and more generally eliminate some anonymous wrappers from the tree at detach time.
4125
4126         * dom/Node.cpp:
4127         (WebCore::Node::detach):
4128         Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
4129         to clean up any anonymous wrappers on detach.
4130
4131         * rendering/RenderObject.cpp:
4132         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
4133         Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
4134         detach in some cases, added a fast path.
4135
4136         *