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