<animateColor> applied to filtered ellipse does not update
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-26  Tim Horton  <timothy_horton@apple.com>
2
3         <animateColor> applied to filtered ellipse does not update
4         https://bugs.webkit.org/show_bug.cgi?id=68457
5         <rdar://problem/10154777>
6
7         Reviewed by Darin Adler.
8
9         Invalidate the filter's cache when style changes take place so that style changes are respected.
10
11         Test: svg/filters/animate-fill.svg
12
13         * rendering/svg/SVGResourcesCache.cpp:
14         (WebCore::SVGResourcesCache::clientStyleChanged):
15         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
16
17 2011-09-26  Max Perepelitsyn  <pph34r@gmail.com>
18
19         Set but unused variables cleanup in v8 bindings (gcc 4.6)
20         https://bugs.webkit.org/show_bug.cgi?id=68079
21
22         Reviewed by Adam Barth.
23
24         Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html
25
26         * bindings/scripts/CodeGeneratorV8.pm:
27         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
28         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
29         * bindings/scripts/test/V8/V8TestObj.cpp:
30         (WebCore::ConfigureV8TestObjTemplate):
31         * bindings/v8/WorkerScriptDebugServer.cpp:
32         (WebCore::WorkerScriptDebugServer::addListener):
33         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
34         (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
35         * bindings/v8/custom/V8WebSocketCustom.cpp:
36         (WebCore::V8WebSocket::sendCallback):
37
38 2011-09-26  Tony Chang  <tony@chromium.org>
39
40         switch the initial value of flex-order to 0
41         https://bugs.webkit.org/show_bug.cgi?id=68820
42
43         The spec changed from having an initial value of 1 to 0.
44
45         Reviewed by Ojan Vafai.
46
47         * rendering/style/RenderStyle.h:
48         (WebCore::InheritedFlags::initialFlexOrder):
49
50 2011-09-26  Chris Rogers  <crogers@google.com>
51
52         OfflineAudioDestinationNode must wait for thread completion in uninitialize()
53         https://bugs.webkit.org/show_bug.cgi?id=68725
54
55         Reviewed by Kenneth Russell.
56
57         No new tests.  This fixes internal implementation details.
58
59         * webaudio/OfflineAudioDestinationNode.cpp:
60         (WebCore::OfflineAudioDestinationNode::uninitialize):
61
62 2011-09-26  Xan Lopez  <xlopez@igalia.com>
63
64         [GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
65         https://bugs.webkit.org/show_bug.cgi?id=68837
66
67         Reviewed by Martin Robinson.
68
69         * bindings/scripts/CodeGeneratorGObject.pm: add getters (but not
70         setters) for 'Replaceable' attributes. Punt for the future
71         actually making them settable, since it seems non trivial.
72
73 2011-09-26  Ryosuke Niwa  <rniwa@webkit.org>
74
75         Leopard build fix.
76
77         * testing/Internals.cpp:
78         (WebCore::Internals::setZoomAnimatorTransform):
79
80 2011-09-26  Joshua Bell  <jsbell@chromium.org>
81
82         IndexedDB: Null key path gets stored as empty string key path
83         https://bugs.webkit.org/show_bug.cgi?id=68726
84
85         Reviewed by Tony Chang.
86
87         Store additional flag to indicate if object store key path
88         is null vs. empty. Added additional runtime tests for integrity
89         of object store metadata.
90
91         * storage/IDBLevelDBBackingStore.cpp:
92         (WebCore::checkObjectStoreAndMetaDataType):
93         (WebCore::IDBLevelDBBackingStore::getObjectStores):
94         (WebCore::IDBLevelDBBackingStore::createObjectStore):
95         * storage/IDBLevelDBCoding.cpp:
96
97 2011-09-26  John Bauman  <jbauman@chromium.org>
98
99         Fix nonpremultiplied webgl toDataURL to jpeg
100         https://bugs.webkit.org/show_bug.cgi?id=68366
101
102         The canvas spec says that toDataURL to formats without an alpha must
103         be "composited onto a solid black background using the source-over
104         operator." Do that.
105
106         Reviewed by Kenneth Russell.
107
108         * platform/graphics/cg/ImageBufferCG.cpp:
109         (WebCore::CGImageToDataURL):
110         (WebCore::ImageBuffer::toDataURL):
111         (WebCore::ImageDataToDataURL):
112         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
113         (WebCore::RGBAtoRGB):
114
115 2011-09-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
116
117         [CMake] Remove FindFreetype.cmake
118         https://bugs.webkit.org/show_bug.cgi?id=68778
119
120         Reviewed by Adam Barth.
121
122         CMake has provided its own FindFreetype.cmake forever, so there is no
123         need to have another implementation in WebKit.
124
125         No new tests, just a buildsystem change.
126
127         * CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
128         Freetype_{LIBRARIES,INCLUDE_DIRS}.
129
130 2011-09-26  Alexei Svitkine  <asvitkine@chromium.org>
131
132         Fix full-page rubber band overhang appearing when gesturing during a slow page load.
133         https://bugs.webkit.org/show_bug.cgi?id=68568
134
135         Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243
136
137         (This also happens on Safari.)
138
139         The problem was that ScrollView::overhangAmount() was returning a full-page overhang due to contentsSize() being 0 briefly during a page load, which was then getting used by ScrollAnimatorChromiumMac.mm to update the overhang on a gesture event. This change makes the relevant logic not return an overhang if the contentsSize() is empty.
140
141         Reviewed by Adam Barth.
142
143         No new tests, since this is highly timing-related.
144
145         * platform/ScrollView.cpp:
146         (WebCore::ScrollView::overhangAmount):
147         (WebCore::ScrollView::wheelEvent):
148
149 2011-09-26  W. James MacLean  <wjmaclean@chromium.org>
150
151         [chromium] Revise zoom animator backend to use full transform instead of just scale.
152         https://bugs.webkit.org/show_bug.cgi?id=68535
153
154         Reviewed by Kenneth Russell.
155
156         * page/Settings.cpp:
157         (WebCore::Settings::Settings):
158         * page/Settings.h:
159         (WebCore::Settings::setZoomAnimatorScale):
160         (WebCore::Settings::zoomAnimatorScale):
161         (WebCore::Settings::setZoomAnimatorPosition):
162         (WebCore::Settings::zoomAnimatorPosX):
163         (WebCore::Settings::zoomAnimatorPosY):
164         * platform/graphics/chromium/LayerRendererChromium.cpp:
165         (WebCore::LayerRendererChromium::LayerRendererChromium):
166         (WebCore::LayerRendererChromium::drawLayersInternal):
167         * platform/graphics/chromium/LayerRendererChromium.h:
168         (WebCore::LayerRendererChromium::setZoomAnimatorTransform):
169         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
170         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
171         (WebCore::CCLayerTreeHost::commitTo):
172         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
173         (WebCore::CCLayerTreeHost::updateLayers):
174         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
175         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
176         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
177         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
178         * testing/Internals.cpp:
179         (WebCore::Internals::setZoomAnimatorTransform):
180         * testing/Internals.h:
181         * testing/Internals.idl:
182
183 2011-09-26  Dan Bernstein  <mitz@apple.com>
184
185         REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
186         https://bugs.webkit.org/show_bug.cgi?id=68819
187
188         Reviewed by Dave Hyatt.
189
190         * rendering/RenderObject.cpp:
191         (WebCore::RenderObject::scheduleRelayout): Revert to using view() instead of the RenderView**
192         parameter of isRooted, since only the former returns 0 when the document is detached.
193
194 2011-09-26  Vsevolod Vlasov  <vsevik@chromium.org>
195
196         Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
197         https://bugs.webkit.org/show_bug.cgi?id=67399
198
199         Reviewed by Pavel Feldman.
200
201         * inspector/ConsoleMessage.cpp:
202         (WebCore::ConsoleMessage::ConsoleMessage):
203         * inspector/ConsoleMessage.h:
204         * inspector/InspectorConsoleAgent.cpp:
205         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
206         * inspector/InspectorConsoleAgent.h:
207         * inspector/InspectorInstrumentation.cpp:
208         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
209         * inspector/front-end/ConsoleMessage.js:
210         (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
211         (WebInspector.ConsoleMessage.prototype._formatMessage):
212         * inspector/front-end/ResourcesPanel.js:
213         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
214         * inspector/front-end/inspector.js:
215         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
216         (WebInspector.linkifyStringAsFragment):
217
218 2011-09-26  Jer Noble  <jer.noble@apple.com>
219
220         White flash when entering full-screen using element.webkitRequestFullScreen()
221         https://bugs.webkit.org/show_bug.cgi?id=68481
222
223         Reviewed by Simon Fraser.
224
225         No new tests; covered by existing full screen tests.
226
227         During an animation, renderers may try to paint into the FullScreenRenderer's 
228         GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's 
229         background will cause these paints to fail. Remove this optimization in 
230         containsPaintedContent, and taking non-composited elements into full screen will
231         animate correctly.
232
233         * rendering/RenderLayerBacking.cpp:
234         (WebCore::RenderLayerBacking::containsPaintedContent):
235
236 2011-09-26  Mihai Parparita  <mihaip@chromium.org>
237
238         Unreviewed, rolling out r95960.
239         http://trac.webkit.org/changeset/95960
240         https://bugs.webkit.org/show_bug.cgi?id=58608
241
242         Significantly changes table border rendering
243
244         * rendering/RenderObject.cpp:
245         (WebCore::RenderObject::drawLineForBoxSide):
246
247 2011-09-23  Simon Fraser  <simon.fraser@apple.com>
248
249         Repaint tests don't work in WebKit2
250         https://bugs.webkit.org/show_bug.cgi?id=68453
251
252         Reviewed by Sam Weinig.
253
254         Have FrameView keep track of repaint rects when asked to, and
255         expose this set of repaint rects via private WebKit API for later
256         use by DumpRenderTree.
257         
258         The repaint rects are in WebView coordinates, so we have to
259         unapply the scroll offset.
260
261         * WebCore.exp.in:
262         * page/FrameView.cpp:
263         (WebCore::FrameView::FrameView):
264         (WebCore::FrameView::reset):
265         (WebCore::FrameView::repaintContentRectangle):
266         (WebCore::FrameView::setTracksRepaints):
267         * page/FrameView.h:
268         (WebCore::FrameView::isTrackingRepaints):
269         (WebCore::FrameView::resetTrackedRepaints):
270         (WebCore::FrameView::trackedRepaintRects):
271
272 2011-09-26  Antti Koivisto  <antti@apple.com>
273
274         Optimize matching of common pseudo classes
275         https://bugs.webkit.org/show_bug.cgi?id=68633
276
277         Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
278         
279         :link, :visited and :focus are quite common. They often used as univeral selectors (including in our
280         default stylesheet) so we try to match them for all elements in the document. They take always the 
281         slow matching path. In addition we match link styles twice due to visited link pseudo style generation
282         so the overhead is doubled. As a result substantial portion of our style matching time is spent 
283         dealing with these pseudo classes. 
284         
285         This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
286         if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
287         We can also enable the fast path checking for the rest of the selector in many cases.
288     
289         This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
290         when loading the full HTML5 spec.
291
292         * css/CSSStyleSelector.cpp:
293         (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
294         (WebCore::RuleSet::idRules):
295         (WebCore::RuleSet::classRules):
296         (WebCore::RuleSet::tagRules):
297         (WebCore::RuleSet::shadowPseudoElementRules):
298         (WebCore::RuleSet::linkPseudoClassRules):
299         (WebCore::RuleSet::visitedPseudoClassRules):
300         (WebCore::RuleSet::focusPseudoClassRules):
301         (WebCore::RuleSet::universalRules):
302         (WebCore::RuleSet::pageRules):
303         
304             Add a new lists, some stylistic renamings.
305     
306         (WebCore::CSSStyleSelector::matchRules):
307         
308             New link and focus checks.
309
310         (WebCore::CSSStyleSelector::matchRulesForList):
311         (WebCore::CSSStyleSelector::checkSelector):
312         
313             Inline the rightmost selector tag checking, skip if unnecessary.
314         
315         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
316         
317             Common pseudo classes now match based on early filtering (though it is not a hash in this case).
318
319         (WebCore::RuleData::RuleData):
320         (WebCore::RuleSet::~RuleSet):
321         (WebCore::RuleSet::addRule):
322         
323             Sort pseudo classes to new lists.
324         
325         (WebCore::RuleSet::collectFeatures):
326         (WebCore::RuleSet::shrinkToFit):
327         (WebCore::CSSStyleSelector::matchPageRules):
328         * css/SelectorChecker.cpp:
329         (WebCore::SelectorChecker::checkSelector):
330         
331             Adopt to expanded fast path (this is used by querySelectorAll).
332
333         (WebCore::SelectorChecker::fastCheckRightmostSelector):
334         (WebCore::SelectorChecker::fastCheckSelector):
335         
336             Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
337             is equivalent to fastCheckRightmostSelector().
338         
339         (WebCore::isFastCheckableRelation):
340         (WebCore::isFastCheckableMatch):
341         (WebCore::isFastCheckableRightmostSelector):
342         (WebCore::SelectorChecker::isFastCheckableSelector):
343         (WebCore::SelectorChecker::checkOneSelector):
344         (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
345         (WebCore::SelectorChecker::isFrameFocused):
346         * css/SelectorChecker.h:
347         (WebCore::SelectorChecker::isCommonPseudoClassSelector):
348         (WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
349         (WebCore::SelectorChecker::matchesFocusPseudoClass):
350         (WebCore::SelectorChecker::tagMatches):
351         
352             Refactor a bunch of shared checks into functions.
353
354 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
355
356         REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
357         https://bugs.webkit.org/show_bug.cgi?id=57340
358
359         Reviewed by Eric Seidel.
360
361         This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
362
363         To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
364
365         Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
366         placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
367         Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).
368
369         Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
370         B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
371         moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".
372
373         To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
374         example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.
375
376         This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
377         end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
378         base position on the right of A is the right end of a bidi run and the extent position between B and A is
379         inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.
380
381         Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
382         a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
383         because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
384         when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
385         between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
386         the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
387         we'll end up selecting just "c".
388
389         While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
390         various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.
391
392         Test: editing/selection/select-bidi-run.html
393
394         * editing/FrameSelection.cpp:
395         (WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
396         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
397         restores the original base as needed.
398         * editing/FrameSelection.h:
399         * editing/RenderedPosition.cpp:
400         (WebCore::RenderedPosition::RenderedPosition):
401         (WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
402         (WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
403         (WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
404         so that the rightmost position in a box and the leftmost position in the following box is considered equal.
405         (WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
406         add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
407         (WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
408         (WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
409         (WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
410         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
411         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
412         (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
413         if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
414         (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
415         * editing/RenderedPosition.h:
416         (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
417         (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
418         (WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
419         (WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
420         (WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
421         reinterpret_cast<InlineBox*>(1) is not an integral value.
422         (WebCore::RenderedPosition::RenderedPosition):
423         * editing/VisibleSelection.h:
424         (WebCore::VisibleSelection::visibleBase): Added.
425         (WebCore::VisibleSelection::visibleExtent): Added.
426         * page/EventHandler.cpp:
427         (WebCore::EventHandler::updateSelectionForMouseDrag):
428
429 2011-09-26  Sheriff Bot  <webkit.review.bot@gmail.com>
430
431         Unreviewed, rolling out r95256.
432         http://trac.webkit.org/changeset/95256
433         https://bugs.webkit.org/show_bug.cgi?id=68814
434
435         Temporary CRASH calls no longer needed (Requested by enne on
436         #webkit).
437
438         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
439         (WebCore::CCLayerTreeHost::commitTo):
440
441 2011-09-26  Mark Rowe  <mrowe@apple.com>
442
443         <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
444
445         If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
446         while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
447         lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
448         thread happened to call wakeSyncThread a second time while the first loop iteration was executing.
449
450         Reviewed by Anders Carlsson.
451
452         * loader/icon/IconDatabase.cpp:
453         (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
454         all pending work.
455
456 2011-09-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
457
458         Groove/inset/outset borders show solid if the color is black.
459         https://bugs.webkit.org/show_bug.cgi?id=58608
460
461         Reviewed by Simon Fraser.
462
463         Lightened the border side colors when drawing borders with styles as
464         Outset/Inset/Groove/Ridge.
465
466         Tests: fast/borders/border-groove.html
467                fast/borders/border-inset.html
468                fast/borders/border-outset.html
469                fast/borders/border-ridge.html
470
471         * rendering/RenderObject.cpp:
472         (WebCore::RenderObject::drawLineForBoxSide):
473
474 2011-09-26  Abhishek Arya  <inferno@chromium.org>
475
476         Delete retired custom font data only on document
477         destruction, and not on recalc style.
478         https://bugs.webkit.org/show_bug.cgi?id=68805
479
480         Reviewed by Dave Hyatt.
481
482         Test: fast/text/custom-font-data-crash.html
483
484         * dom/Document.cpp:
485         (WebCore::Document::recalcStyle):
486
487 2011-09-23  Adrienne Walker  <enne@google.com>
488
489         [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
490         https://bugs.webkit.org/show_bug.cgi?id=68742
491
492         Reviewed by James Robinson.
493
494         If video textures are reclaimed (such as during a visibility change on
495         a tab), the dirty rect for the layer is empty and it skips out of
496         updating compositor resources, leaving the video textures invalid.
497         Instead, check the textures here to make sure they're still valid
498         first before early out so that they can get reupdated if necessary.
499
500         Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
501         videos would not get drawn because all 3 planes didn't have valid
502         textures.
503
504         Test: compositing/video-page-visibility.html
505
506         * platform/graphics/chromium/VideoLayerChromium.cpp:
507         (WebCore::VideoLayerChromium::VideoLayerChromium):
508         (WebCore::VideoLayerChromium::cleanupResources):
509         (WebCore::VideoLayerChromium::updateCompositorResources):
510         (WebCore::VideoLayerChromium::pushPropertiesTo):
511         (WebCore::VideoLayerChromium::setLayerTreeHost):
512         (WebCore::VideoLayerChromium::texturesValid):
513         * platform/graphics/chromium/VideoLayerChromium.h:
514
515 2011-09-26  Pavel Feldman  <pfeldman@google.com>
516
517         Web Inspector: introduce protocol backwards compatibility validator.
518         https://bugs.webkit.org/show_bug.cgi?id=68800
519
520         Reviewed by Yury Semikhatsky.
521
522         * inspector/Inspector.json:
523         * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
524         * inspector/validate-protocol-compatibility: Added.
525
526 2011-09-26  Andreas Kling  <kling@webkit.org>
527
528         [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
529         https://bugs.webkit.org/show_bug.cgi?id=68798
530
531         Reviewed by Noam Rosenthal.
532
533         * platform/network/qt/QNetworkReplyHandler.cpp:
534         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
535
536 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
537
538         Second unreviewed build fix for r95941
539
540         * inspector/InspectorInstrumentation.cpp:
541         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
542
543 2011-09-26  Ilya Tikhonovsky  <loislo@chromium.org>
544
545         Unreviewed build fix for webkit builds after r95941.
546
547         * inspector/InspectorInstrumentation.cpp:
548         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
549
550 2011-09-26  Andrey Kosyakov  <caseq@chromium.org>
551
552         Web Inspector: [Extensions API] allow resources to hook on click on resource links
553         https://bugs.webkit.org/show_bug.cgi?id=68528
554
555         Reviewed by Yury Semikhatsky.
556
557         * WebCore.gypi:
558         * WebCore.vcproj/WebCore.vcproj:
559         * inspector/front-end/ExtensionAPI.js:
560         (injectedExtensionAPI.Console.prototype.get Severity):
561         (injectedExtensionAPI.Panels.prototype.create):
562         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
563         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
564         (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
565         (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
566         * inspector/front-end/ExtensionServer.js:
567         (WebInspector.ExtensionServer):
568         (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
569         (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
570         (WebInspector.ExtensionServer.prototype._addExtensions):
571         (WebInspector.ExtensionServer.prototype._addExtension):
572         (WebInspector.ExtensionServer.prototype._registerExtension):
573         * inspector/front-end/SettingsScreen.js:
574         (WebInspector.SettingsScreen):
575         (WebInspector.SettingsScreen.prototype._createCustomSetting):
576         * inspector/front-end/WebKit.qrc:
577         * inspector/front-end/helpScreen.css:
578         (.help-content select):
579         (.help-content select:disabled):
580         (.help-content option):
581         * inspector/front-end/inspector.html:
582         * inspector/front-end/inspector.js:
583         (WebInspector.set attached):
584         (WebInspector._showAnchorLocation):
585
586 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
587
588         Web Inspector: Timeline: record root event for the function calls enforced by console eval.
589         https://bugs.webkit.org/show_bug.cgi?id=68695
590
591         In a complex web application developer might want to timeline a specific piece of code.
592
593         In this case he can do the next steps:
594         1) start timeline;
595         2) eval a command in console;
596         3) stop timeline.
597
598         I think it'd be nice to have a root event for the all the events that happened as the result of such eval.
599
600         Reviewed by Yury Semikhatsky.
601
602         Test: inspector/timeline/timeline-injected-script-eval.html
603
604         * bindings/v8/ScriptFunctionCall.cpp:
605         * inspector/InjectedScript.cpp:
606         (WebCore::InjectedScript::makeCall):
607         * inspector/InspectorInstrumentation.cpp:
608         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
609
610 2011-09-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
611
612         [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
613         https://bugs.webkit.org/show_bug.cgi?id=65473
614
615         Reviewed by Andreas Kling.
616
617         For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
618         We do that by iterating on the pixels and manually swapping each pixel's red and blue
619         values. This can be done faster with shaders, but for now this is a working solution
620         for platforms without BGRA support.
621
622         No new tests. Existing layout tests cover this.
623
624         * platform/graphics/opengl/TextureMapperGL.cpp:
625         (WebCore::BitmapTextureGL::endPaint):
626         * platform/graphics/opengl/TextureMapperGL.h:
627         * platform/graphics/qt/TextureMapperQt.cpp:
628         (WebCore::RGBA32PremultimpliedBufferQt::swapRGB):
629
630 2011-09-26  Sergio Villar Senin  <svillar@igalia.com>
631
632         [GTK] Fix coding style bits in ResourceHandleSoup.cpp
633         https://bugs.webkit.org/show_bug.cgi?id=68634
634
635         Reviewed by Martin Robinson.
636
637         No new tests needed.
638
639         * platform/network/soup/ResourceHandleSoup.cpp:
640         (WebCore::ResourceHandle::defaultSession):
641
642 2011-09-26  James Robinson  <jamesr@chromium.org>
643
644         [mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
645         https://bugs.webkit.org/show_bug.cgi?id=68769
646
647         Reviewed by Simon Fraser.
648
649         Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
650         implicit double->long conversion, which ignores the units of the value.
651
652         Test: fast/animation/request-animation-frame-timestamps-advance.html
653
654         * dom/ScriptedAnimationController.cpp:
655         (WebCore::ScriptedAnimationController::animationTimerFired):
656
657 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
658
659         Add custom vtable struct to ClassInfo struct
660         https://bugs.webkit.org/show_bug.cgi?id=68567
661
662         Reviewed by Oliver Hunt.
663
664         No new tests.
665
666         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
667         specified class in its ClassInfo.  Also added to it the first function to use 
668         this macro, visitChildren.  This is part of the process of getting rid of all 
669         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
670         that can't easily be converted to non-virtual functions will be put into 
671         this custom vtable structure.
672
673         * bindings/js/JSAudioConstructor.cpp:
674         * bindings/js/JSDOMGlobalObject.cpp:
675         * bindings/js/JSDOMWindowBase.cpp:
676         * bindings/js/JSDOMWindowShell.cpp:
677         * bindings/js/JSImageConstructor.cpp:
678         * bindings/js/JSImageDataCustom.cpp:
679         (WebCore::toJS):
680         * bindings/js/JSOptionConstructor.cpp:
681         * bindings/js/JSWorkerContextBase.cpp:
682
683         Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
684         necessary.
685         * bindings/scripts/CodeGeneratorJS.pm:
686         (GenerateImplementation):
687         (GenerateConstructorDefinition):
688         * bindings/scripts/test/JS/JSTestInterface.cpp:
689         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
690         * bindings/scripts/test/JS/JSTestObj.cpp:
691         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
692         * bridge/c/CRuntimeObject.cpp:
693         * bridge/c/c_instance.cpp:
694         * bridge/jni/jsc/JavaInstanceJSC.cpp:
695         * bridge/jni/jsc/JavaRuntimeObject.cpp:
696         * bridge/objc/ObjCRuntimeObject.mm:
697         * bridge/objc/objc_instance.mm:
698         * bridge/objc/objc_runtime.mm:
699         * bridge/qt/qt_instance.cpp:
700         * bridge/qt/qt_pixmapruntime.cpp:
701         * bridge/qt/qt_runtime.cpp:
702         * bridge/runtime_array.cpp:
703         * bridge/runtime_method.cpp:
704         * bridge/runtime_object.cpp:
705
706 2011-09-25  Eunmi Lee  <eunmi15.lee@samsung.com>
707
708         [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
709         https://bugs.webkit.org/show_bug.cgi?id=63502
710
711         Reviewed by Martin Robinson.
712
713         The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
714         some codes for EFL are added.
715         WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
716         when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
717
718         * CMakeListsEfl.txt:
719         * GNUmakefile.list.am:
720         * platform/cairo/WidgetBackingStore.h:
721         * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
722         (WebCore::createSurfaceForBackingStore):
723         (WebCore::WidgetBackingStorePrivate::create):
724         (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
725         (WebCore::WidgetBackingStore::create):
726         (WebCore::WidgetBackingStore::WidgetBackingStore):
727         (WebCore::WidgetBackingStore::~WidgetBackingStore):
728         (WebCore::WidgetBackingStore::cairoSurface):
729         (WebCore::WidgetBackingStore::scroll):
730         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
731
732 2011-09-25  Adam Barth  <abarth@webkit.org>
733
734         Finish removing PLATFORM(BREWMP) by removing associated code
735         https://bugs.webkit.org/show_bug.cgi?id=68779
736
737         Reviewed by Sam Weinig.
738
739         When Geoffrey Garen removed PLATFORM(BREWMP) in
740         http://trac.webkit.org/changeset/95555, he did not remove all the
741         associated code.  This completes the work started in r95555 by removing
742         all the code assoicated with PLATFORM(BREWMP).
743
744         * WebCore.gyp/WebCore.gyp:
745         * WebCore.gypi:
746         * bindings/js/ScriptControllerBrew.cpp: Removed.
747         * editing/brew: Removed.
748         * editing/brew/EditorBrew.cpp: Removed.
749         * gyp/WebCore.gyp:
750         * page/brew: Removed.
751         * page/brew/ChromeClientBrew.h: Removed.
752         * page/brew/DragControllerBrew.cpp: Removed.
753         * page/brew/EventHandlerBrew.cpp: Removed.
754         * page/brew/FrameBrew.cpp: Removed.
755         * platform/brew: Removed.
756         * platform/brew/ClipboardBrew.cpp: Removed.
757         * platform/brew/ClipboardBrew.h: Removed.
758         * platform/brew/ContextMenuBrew.cpp: Removed.
759         * platform/brew/ContextMenuItemBrew.cpp: Removed.
760         * platform/brew/CursorBrew.cpp: Removed.
761         * platform/brew/DragDataBrew.cpp: Removed.
762         * platform/brew/EventLoopBrew.cpp: Removed.
763         * platform/brew/FileSystemBrew.cpp: Removed.
764         * platform/brew/KURLBrew.cpp: Removed.
765         * platform/brew/LanguageBrew.cpp: Removed.
766         * platform/brew/LocalizedStringsBrew.cpp: Removed.
767         * platform/brew/LoggingBrew.cpp: Removed.
768         * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
769         * platform/brew/PasteboardBrew.cpp: Removed.
770         * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
771         * platform/brew/PlatformMouseEventBrew.cpp: Removed.
772         * platform/brew/PlatformTouchEventBrew.cpp: Removed.
773         * platform/brew/PlatformTouchPointBrew.cpp: Removed.
774         * platform/brew/PopupMenuBrew.cpp: Removed.
775         * platform/brew/PopupMenuBrew.h: Removed.
776         * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
777         * platform/brew/ScreenBrew.cpp: Removed.
778         * platform/brew/ScrollbarThemeBrew.cpp: Removed.
779         * platform/brew/ScrollbarThemeBrew.h: Removed.
780         * platform/brew/SearchPopupMenuBrew.cpp: Removed.
781         * platform/brew/SearchPopupMenuBrew.h: Removed.
782         * platform/brew/SharedBufferBrew.cpp: Removed.
783         * platform/brew/SharedTimerBrew.cpp: Removed.
784         * platform/brew/SoundBrew.cpp: Removed.
785         * platform/brew/SystemTimeBrew.cpp: Removed.
786         * platform/brew/TemporaryLinkStubs.cpp: Removed.
787         * platform/brew/WidgetBrew.cpp: Removed.
788         * platform/graphics/brew: Removed.
789         * platform/graphics/brew/IconBrew.cpp: Removed.
790         * platform/graphics/brew/ImageBrew.cpp: Removed.
791         * platform/graphics/brew/IntPointBrew.cpp: Removed.
792         * platform/graphics/brew/IntSizeBrew.cpp: Removed.
793         * platform/network/brew: Removed.
794         * platform/network/brew/DNSBrew.cpp: Removed.
795         * platform/network/brew/SocketStreamError.h: Removed.
796         * platform/network/brew/SocketStreamHandle.h: Removed.
797         * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
798         * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
799         * platform/text/brew: Removed.
800         * platform/text/brew/TextBoundariesBrew.cpp: Removed.
801         * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
802         * platform/text/brew/TextCodecBrew.cpp: Removed.
803         * platform/text/brew/TextCodecBrew.h: Removed.
804
805 2011-09-25  Kentaro Hara  <haraken@chromium.org>
806
807         Implement a CloseEvent constructor for JSC
808         https://bugs.webkit.org/show_bug.cgi?id=68340
809
810         Reviewed by Oliver Hunt.
811
812         The spec of the CloseEvent constructor is here:
813         http://dev.w3.org/html5/websockets/#closeevent
814
815         Test: fast/events/constructors/close-event-constructor.html
816
817         * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
818         * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
819         * websockets/CloseEvent.h: Added a definition for CloseEventInit.
820         (WebCore::CloseEventInit::CloseEventInit):
821         (WebCore::CloseEvent::create):
822         (WebCore::CloseEvent::CloseEvent):
823         * websockets/CloseEvent.idl: Makes CloseEvent constructible.
824
825 2011-09-25  Mark Rowe  <mrowe@apple.com>
826
827         <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
828
829         It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
830         When that happens we should immediately return to waiting rather than doing our normal work, as some of that
831         work relies on wakeSyncThread having been called to signal the condition.
832
833         Reviewed by Sam Weinig.
834
835         * loader/icon/IconDatabase.cpp:
836         (WebCore::IconDatabase::IconDatabase):
837         (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
838         (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
839         go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
840         do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
841         our local shouldReenableSuddenTermination variable since it can be updated by other threads while
842         we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
843         and reacquiring the lock.
844         * loader/icon/IconDatabase.h:
845
846 2011-09-25  Dan Bernstein  <mitz@apple.com>
847
848         <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
849
850         Reviewed by Sam Weinig.
851
852         Test: fast/dynamic/subtree-unrooted.html
853
854         * rendering/RenderObject.cpp:
855         (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
856         which was added in r21162, with a check that it is “rooted”.
857
858 2011-09-24  Abhishek Arya  <inferno@chromium.org>
859
860         Issues with merging block children of a ruby
861         base with another ruby base having inline children. 
862         https://bugs.webkit.org/show_bug.cgi?id=66124
863
864         Reviewed by Dan Bernstein.
865
866         Test: fast/ruby/ruby-base-merge-block-children-crash.html
867
868         * rendering/RenderRubyBase.cpp:
869         (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
870         check to prevent empty anonymous block addition, just like
871         moveBlockChildren method.
872         * rendering/RenderRubyBase.cpp:
873         (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
874         doing optimizations to see if current ruby base has only inline
875         children before beforeChild and then trying to take out them from 
876         their parent anonymous blocks. The problem is those inlines could
877         be split and have continuations because of encountering a block
878         inside inline flow. In those cases, we cannot take the inline out.
879         So, we should just make children non-inline in the destination
880         block and transfer the children as it-is.
881         * rendering/RenderRubyBase.h: remove unncessary functions.
882
883 2011-09-25  Adam Barth  <abarth@webkit.org>
884
885         Remove PLATFORM(HAIKU) and associated code
886         https://bugs.webkit.org/show_bug.cgi?id=68774
887
888         Reviewed by Sam Weinig.
889
890         As discussed on webkit-dev, the Haiku port has been inactive for over a
891         year.  A year and a half ago, we discussed removing the port, but folks
892         said they planned to work on it more.  That work does not appear to
893         have happened in the intervening time.
894
895         * WebCore.gyp/WebCore.gyp:
896         * WebCore.gypi:
897         * bindings/js/ScriptControllerHaiku.cpp: Removed.
898         * editing/haiku: Removed.
899         * editing/haiku/EditorHaiku.cpp: Removed.
900         * gyp/WebCore.gyp:
901         * loader/cache/CachedFont.cpp:
902         * page/EventHandler.cpp:
903         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
904         * page/haiku: Removed.
905         * page/haiku/DragControllerHaiku.cpp: Removed.
906         * page/haiku/EventHandlerHaiku.cpp: Removed.
907         * page/haiku/FrameHaiku.cpp: Removed.
908         * platform/ContextMenuItem.h:
909         * platform/Cursor.h:
910         * platform/DragData.h:
911         * platform/DragImage.h:
912         * platform/PlatformKeyboardEvent.h:
913         * platform/PlatformMenuDescription.h:
914         * platform/PlatformMouseEvent.h:
915         * platform/Widget.h:
916         * platform/graphics/BitmapImage.h:
917         * platform/graphics/Color.h:
918         * platform/graphics/FloatPoint.h:
919         * platform/graphics/FloatRect.h:
920         * platform/graphics/Gradient.h:
921         * platform/graphics/GraphicsContext.cpp:
922         * platform/graphics/GraphicsContext.h:
923         * platform/graphics/ImageBufferData.h:
924         * platform/graphics/ImageSource.h:
925         * platform/graphics/IntPoint.h:
926         * platform/graphics/IntRect.h:
927         * platform/graphics/IntSize.h:
928         * platform/graphics/Path.h:
929         * platform/graphics/Pattern.h:
930         * platform/graphics/SimpleFontData.h:
931         * platform/graphics/haiku: Removed.
932         * platform/graphics/haiku/ColorHaiku.cpp: Removed.
933         * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
934         * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
935         * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
936         * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
937         * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
938         * platform/graphics/haiku/FontHaiku.cpp: Removed.
939         * platform/graphics/haiku/FontPlatformData.h: Removed.
940         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
941         * platform/graphics/haiku/GradientHaiku.cpp: Removed.
942         * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
943         * platform/graphics/haiku/IconHaiku.cpp: Removed.
944         * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
945         * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
946         * platform/graphics/haiku/ImageHaiku.cpp: Removed.
947         * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
948         * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
949         * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
950         * platform/graphics/haiku/PathHaiku.cpp: Removed.
951         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
952         * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
953         * platform/graphics/haiku/StillImageHaiku.h: Removed.
954         * platform/haiku: Removed.
955         * platform/haiku/ClipboardHaiku.cpp: Removed.
956         * platform/haiku/ClipboardHaiku.h: Removed.
957         * platform/haiku/ContextMenuHaiku.cpp: Removed.
958         * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
959         * platform/haiku/CookieJarHaiku.cpp: Removed.
960         * platform/haiku/CursorHaiku.cpp: Removed.
961         * platform/haiku/DragDataHaiku.cpp: Removed.
962         * platform/haiku/DragImageHaiku.cpp: Removed.
963         * platform/haiku/EventLoopHaiku.cpp: Removed.
964         * platform/haiku/FileSystemHaiku.cpp: Removed.
965         * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
966         * platform/haiku/LoggingHaiku.cpp: Removed.
967         * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
968         * platform/haiku/PasteboardHaiku.cpp: Removed.
969         * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
970         * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
971         * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
972         * platform/haiku/PopupMenuHaiku.cpp: Removed.
973         * platform/haiku/PopupMenuHaiku.h: Removed.
974         * platform/haiku/RenderThemeHaiku.cpp: Removed.
975         * platform/haiku/RenderThemeHaiku.h: Removed.
976         * platform/haiku/ScreenHaiku.cpp: Removed.
977         * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
978         * platform/haiku/ScrollbarThemeHaiku.h: Removed.
979         * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
980         * platform/haiku/SearchPopupMenuHaiku.h: Removed.
981         * platform/haiku/SharedBufferHaiku.cpp: Removed.
982         * platform/haiku/SharedTimerHaiku.cpp: Removed.
983         * platform/haiku/SoundHaiku.cpp: Removed.
984         * platform/haiku/TemporaryLinkStubs.cpp: Removed.
985         * platform/haiku/WidgetHaiku.cpp: Removed.
986         * platform/image-decoders/haiku: Removed.
987         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
988         * platform/text/UnicodeRange.h:
989         * platform/text/haiku: Removed.
990         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
991
992 2011-09-25  Adam Barth  <abarth@webkit.org>
993
994         Attempted build fixes for GTK and Qt.
995
996         * GNUmakefile.list.am:
997         * WebCore.pro:
998
999 2011-09-24  Adam Barth  <abarth@webkit.org>
1000
1001         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
1002         https://bugs.webkit.org/show_bug.cgi?id=68767
1003
1004         Reviewed by Eric Seidel.
1005
1006         As discussed on webkit-dev, almost everyone has this enable turned on
1007         and this feature is unlikely to be removed from the web platform given
1008         its popularity.
1009
1010         * CMakeLists.txt:
1011         * Configurations/FeatureDefines.xcconfig:
1012         * GNUmakefile.am:
1013         * GNUmakefile.list.am:
1014         * WebCore.exp.in:
1015         * WebCore.pro:
1016         * bindings/cpp/WebDOMEventTarget.cpp:
1017         (toWebKit):
1018         * bindings/js/JSEventTarget.cpp:
1019         (WebCore::toJS):
1020         (WebCore::toEventTarget):
1021         * bindings/v8/V8DOMWrapper.cpp:
1022         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1023         * dom/EventTarget.cpp:
1024         (WebCore::EventTarget::toDOMApplicationCache):
1025         * dom/EventTarget.h:
1026         * features.pri:
1027         * history/PageCache.cpp:
1028         (WebCore::logCanCacheFrameDecision):
1029         (WebCore::PageCache::canCachePageContainingThisFrame):
1030         * html/HTMLHtmlElement.cpp:
1031         (WebCore::HTMLHtmlElement::insertedByParser):
1032         * html/HTMLHtmlElement.h:
1033         * html/HTMLMediaElement.cpp:
1034         (WebCore::createFileURLForApplicationCacheResource):
1035         (WebCore::HTMLMediaElement::loadResource):
1036         * html/ImageDocument.cpp:
1037         (WebCore::ImageDocument::createDocumentStructure):
1038         * html/MediaDocument.cpp:
1039         (WebCore::MediaDocumentParser::createDocumentStructure):
1040         * html/PluginDocument.cpp:
1041         (WebCore::PluginDocumentParser::createDocumentStructure):
1042         * html/parser/HTMLConstructionSite.cpp:
1043         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1044         * inspector/InspectorApplicationCacheAgent.cpp:
1045         * inspector/InspectorApplicationCacheAgent.h:
1046         * inspector/InspectorController.cpp:
1047         (WebCore::InspectorController::InspectorController):
1048         (WebCore::InspectorController::connectFrontend):
1049         (WebCore::InspectorController::disconnectFrontend):
1050         * inspector/InspectorController.h:
1051         * inspector/InspectorInstrumentation.cpp:
1052         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
1053         * inspector/InspectorInstrumentation.h:
1054         (WebCore::InspectorInstrumentation::networkStateChanged):
1055         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
1056         * inspector/InstrumentingAgents.h:
1057         (WebCore::InstrumentingAgents::InstrumentingAgents):
1058         (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
1059         * inspector/WorkerInspectorController.cpp:
1060         (WebCore::WorkerInspectorController::connectFrontend):
1061         * inspector/generate-inspector-idl:
1062         * loader/DocumentLoader.cpp:
1063         (WebCore::DocumentLoader::DocumentLoader):
1064         (WebCore::DocumentLoader::mainReceivedError):
1065         (WebCore::DocumentLoader::stopLoading):
1066         (WebCore::DocumentLoader::detachFromFrame):
1067         (WebCore::DocumentLoader::handledOnloadEvents):
1068         * loader/DocumentLoader.h:
1069         (WebCore::DocumentLoader::applicationCacheHost):
1070         * loader/EmptyClients.h:
1071         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
1072         * loader/FrameLoader.cpp:
1073         (WebCore::FrameLoader::loadResourceSynchronously):
1074         * loader/MainResourceLoader.cpp:
1075         (WebCore::MainResourceLoader::willSendRequest):
1076         (WebCore::MainResourceLoader::didReceiveResponse):
1077         (WebCore::MainResourceLoader::didReceiveData):
1078         (WebCore::MainResourceLoader::didFinishLoading):
1079         (WebCore::MainResourceLoader::didFail):
1080         (WebCore::MainResourceLoader::load):
1081         * loader/ResourceLoader.cpp:
1082         (WebCore::ResourceLoader::start):
1083         (WebCore::ResourceLoader::willSendRequest):
1084         (WebCore::ResourceLoader::didSendData):
1085         (WebCore::ResourceLoader::didReceiveResponse):
1086         (WebCore::ResourceLoader::didReceiveData):
1087         (WebCore::ResourceLoader::didFinishLoading):
1088         (WebCore::ResourceLoader::didFail):
1089         (WebCore::ResourceLoader::wasBlocked):
1090         (WebCore::ResourceLoader::cannotShowURL):
1091         (WebCore::ResourceLoader::shouldUseCredentialStorage):
1092         (WebCore::ResourceLoader::willCacheResponse):
1093         * loader/ResourceLoader.h:
1094         * loader/appcache/ApplicationCache.cpp:
1095         * loader/appcache/ApplicationCache.h:
1096         * loader/appcache/ApplicationCacheGroup.cpp:
1097         * loader/appcache/ApplicationCacheGroup.h:
1098         * loader/appcache/ApplicationCacheHost.cpp:
1099         * loader/appcache/ApplicationCacheHost.h:
1100         * loader/appcache/ApplicationCacheResource.cpp:
1101         * loader/appcache/ApplicationCacheResource.h:
1102         * loader/appcache/ApplicationCacheStorage.cpp:
1103         * loader/appcache/ApplicationCacheStorage.h:
1104         * loader/appcache/DOMApplicationCache.cpp:
1105         * loader/appcache/DOMApplicationCache.h:
1106         * loader/appcache/DOMApplicationCache.idl:
1107         * loader/appcache/ManifestParser.cpp:
1108         (WebCore::parseManifest):
1109         * loader/appcache/ManifestParser.h:
1110         * loader/chromium/ResourceLoaderChromium.cpp:
1111         (WebCore::ResourceLoader::didDownloadData):
1112         * page/ChromeClient.h:
1113         * page/DOMWindow.cpp:
1114         (WebCore::DOMWindow::clear):
1115         (WebCore::DOMWindow::applicationCache):
1116         * page/DOMWindow.h:
1117         (WebCore::DOMWindow::optionalApplicationCache):
1118         * page/DOMWindow.idl:
1119         * xml/parser/XMLDocumentParserLibxml2.cpp:
1120         (WebCore::XMLDocumentParser::startElementNs):
1121         * xml/parser/XMLDocumentParserQt.cpp:
1122         (WebCore::XMLDocumentParser::parseStartElement):
1123
1124 2011-09-24  Adam Barth  <abarth@webkit.org>
1125
1126         Remove ENABLE(WCSS) and associated code
1127         https://bugs.webkit.org/show_bug.cgi?id=68759
1128
1129         Reviewed by Darin Adler.
1130
1131         As discussed on webkit-dev, we are removing this feature from trunk to
1132         reduce the number of different configurations.
1133
1134         * CodeGenerators.pri:
1135         * GNUmakefile.am:
1136         * WebCore.pro:
1137         * css/CSSParser.cpp:
1138         (WebCore::CSSParser::parseValue):
1139         * css/CSSParser.h:
1140         * css/CSSPrimitiveValueMappings.h:
1141         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1142         * css/CSSStyleSelector.cpp:
1143         (WebCore::CSSStyleSelector::applyProperty):
1144         * css/WCSSPropertyNames.in: Removed.
1145         * css/WCSSValueKeywords.in: Removed.
1146         * features.pri:
1147         * html/HTMLInputElement.cpp:
1148         (WebCore::HTMLInputElement::HTMLInputElement):
1149         * html/HTMLInputElement.h:
1150         * html/TextFieldInputType.cpp:
1151         (WebCore::TextFieldInputType::sanitizeValue):
1152         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
1153         * rendering/RenderMarquee.cpp:
1154         (WebCore::RenderMarquee::start):
1155         * rendering/RenderObject.cpp:
1156         (WebCore::RenderObject::createObject):
1157         * rendering/style/RenderStyleConstants.h:
1158
1159 2011-09-24  Young Han Lee  <joybro@company100.net>
1160
1161         SVGAnimation does not support 'values' for from-to animations
1162         https://bugs.webkit.org/show_bug.cgi?id=64859
1163
1164         Reviewed by Dirk Schulze.
1165
1166         If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
1167         the keyTimes indicate the begin and the end of the animation respectively.[1][2]
1168
1169         When keyTimes is given, calculate the progress percentage of the animation with it
1170         even for from-to animation.
1171
1172         [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
1173         [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
1174
1175         Test: svg/animations/animate-from-to-keyTimes.html
1176
1177         * svg/SVGAnimationElement.cpp:
1178         (WebCore::SVGAnimationElement::calculatePercentForFromTo):
1179         (WebCore::SVGAnimationElement::updateAnimation):
1180         * svg/SVGAnimationElement.h:
1181
1182 2011-09-23  Chris Fleizach  <cfleizach@apple.com>
1183
1184         WebKit does not expose AXPlaceholder value on password fields
1185         https://bugs.webkit.org/show_bug.cgi?id=68745
1186
1187         Reviewed by Oliver Hunt.
1188
1189         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1190         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1191
1192 2011-09-23  Mark Rowe  <mrowe@apple.com>
1193
1194         Fix the build.
1195
1196         * loader/CrossOriginAccessControl.cpp:
1197         (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
1198
1199 2011-09-23  Adam Barth  <abarth@webkit.org>
1200
1201         Canvas security checks show up on HTML5GamingTest benchmark
1202         https://bugs.webkit.org/show_bug.cgi?id=68743
1203
1204         Reviewed by Oliver Hunt.
1205
1206         Prior to this patch, the canvas security checks took as much as 4% of
1207         the time on the HTML5GamingTest benchmark:
1208
1209         http://craftymind.com/factory/guimark2/HTML5GamingTest.html
1210
1211         This patch uses a couple of AtomicStrings and shuffles around the order
1212         of the security check to take this down to around 0.1% (which is near
1213         the noise floor of what I can measure with my profiler).
1214
1215         * html/canvas/CanvasRenderingContext.cpp:
1216         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1217         * loader/CrossOriginAccessControl.cpp:
1218         (WebCore::passesAccessControlCheck):
1219
1220 2011-09-23  Justin Novosad  <junov@chromium.org>
1221
1222         Unwarranted DOM Exception when canvas2D drawImage is called with src
1223         rect out of bounds
1224         https://bugs.webkit.org/show_bug.cgi?id=65709
1225
1226         Reviewed by Oliver Hunt.
1227
1228         * html/canvas/CanvasRenderingContext2D.cpp:
1229         (WebCore::CanvasRenderingContext2D::drawImage):
1230         Return early without throwing an exception if source rectangle is out of 
1231         bounds to match the spec.
1232
1233 2011-09-23  Lukasz Slachciak  <l.slachciak@samsung.com>
1234
1235         Printing of notImplemented() when logging enabled.
1236         https://bugs.webkit.org/show_bug.cgi?id=64590
1237
1238         Printing of notImplemented() method was enabled on Debug builds only.
1239         Now it is enabled when logging is enabled.
1240
1241         Reviewed by Oliver Hunt.
1242
1243         No new tests because there is no new functionality.
1244
1245         * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
1246
1247 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
1248
1249         [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
1250         https://bugs.webkit.org/show_bug.cgi?id=68730
1251
1252         Reviewed by James Robinson.
1253
1254         Adds a missing contentsResized() call in ScrollView::setFrameRect.
1255
1256         Test: fast/dom/Window/window-resize-contents.html
1257
1258         * platform/ScrollView.cpp:
1259         (WebCore::ScrollView::setFrameRect):
1260
1261 2011-09-23  Adam Klein  <adamk@chromium.org>
1262
1263         Add ENABLE_MUTATION_OBSERVERS feature flag
1264         https://bugs.webkit.org/show_bug.cgi?id=68732
1265
1266         Reviewed by Ojan Vafai.
1267
1268         This flag will guard an implementation of the "Mutation Observers" proposed in
1269         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
1270
1271         * Configurations/FeatureDefines.xcconfig:
1272         * GNUmakefile.am:
1273
1274 2011-09-23  Varun Jain  <varunjain@google.com>
1275
1276         Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
1277         https://bugs.webkit.org/show_bug.cgi?id=68198
1278
1279         Reviewed by Dimitri Glazkov.
1280
1281         Tests: fast/dom/scroll-element-to-rect-centered.html
1282                fast/dom/scroll-element-to-rect.html
1283
1284         * WebCore.exp.in:
1285         * page/FrameView.cpp:
1286         (WebCore::FrameView::scrollElementToRect):
1287         * page/FrameView.h:
1288         * testing/Internals.cpp:
1289         (WebCore::Internals::scrollElementToRect):
1290         * testing/Internals.h:
1291         * testing/Internals.idl:
1292
1293 2011-09-23  Mihai Parparita  <mihaip@chromium.org>
1294
1295         Unreviewed, rolling out r95860.
1296         http://trac.webkit.org/changeset/95860
1297         https://bugs.webkit.org/show_bug.cgi?id=68648
1298
1299         Breaks overhang rendering on Chromium Mac
1300
1301         * platform/chromium/ScrollbarThemeChromium.cpp:
1302         * platform/chromium/ScrollbarThemeChromium.h:
1303         * platform/chromium/ScrollbarThemeChromiumMac.h:
1304         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1305         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1306         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
1307
1308 2011-09-23  Dean Jackson  <dino@apple.com>
1309
1310         Add -webkit-filter to CSSPropertyNames
1311         https://bugs.webkit.org/show_bug.cgi?id=68675
1312
1313         Reviewed by Simon Fraser.
1314
1315         Add property and rudimentary parsing for -webkit-filter. The
1316         property value isn't preserved anywhere yet. Add
1317         stub definition for computed style.
1318
1319         Test: css3/filters/filter-property.html
1320
1321         * css/CSSComputedStyleDeclaration.cpp:
1322         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1323         * css/CSSParser.cpp:
1324         (WebCore::CSSParser::parseValue):
1325         (WebCore::CSSParser::parseFilter):
1326         * css/CSSParser.h:
1327         * css/CSSPropertyNames.in:
1328         * css/CSSStyleSelector.cpp:
1329         (WebCore::CSSStyleSelector::applyProperty):
1330
1331 2011-09-23  Antoine Labour  <piman@chromium.org>
1332
1333         Remove preserves3D() from CCLayerDelegate, replacing it by setting the
1334         value explicitly after creating a layer, or setting its delegate.
1335         https://bugs.webkit.org/show_bug.cgi?id=68295
1336
1337         Reviewed by James Robinson.
1338
1339         Covered by compositing/ layeout tests.
1340
1341         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1342         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1343         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1344         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1345         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1346         * platform/graphics/chromium/GraphicsLayerChromium.h:
1347         * platform/graphics/chromium/LayerChromium.cpp:
1348         (WebCore::LayerChromium::LayerChromium):
1349         * platform/graphics/chromium/LayerChromium.h:
1350         (WebCore::LayerChromium::setPreserves3D):
1351         (WebCore::LayerChromium::preserves3D):
1352
1353 2011-09-23  Julien Chaffraix  <jchaffraix@webkit.org>
1354
1355         Implicit conversion double to float in ShadowBlur::adjustBlurRadius
1356         https://bugs.webkit.org/show_bug.cgi?id=68722
1357
1358         Reviewed by Simon Fraser.
1359
1360         * platform/graphics/ShadowBlur.cpp:
1361         (WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
1362         conversions.
1363
1364 2011-09-23  Dan Bernstein  <mitz@apple.com>
1365
1366         <rdar://problem/10178576> REGRESSION (r95391): Crash in -[WebCascadeList objectAtIndex:] when a font-family list contains missing fonts
1367         https://bugs.webkit.org/show_bug.cgi?id=68737
1368
1369         Reviewed by Darin Adler.
1370
1371         Test: fast/text/combining-character-sequence-fallback-crash.html
1372
1373         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1374         (-[WebCascadeList initWithFont:WebCore::character:]): Changed to intialize _count to the exact
1375         number of FontData instances in the fallback list rather than the number of font families in the
1376         font description.
1377
1378 2011-09-23  David Reveman  <reveman@chromium.org>
1379
1380         [Chromium] Fix CSS 3D corner anti-aliasing.
1381         https://bugs.webkit.org/show_bug.cgi?id=68087
1382
1383         Reviewed by James Robinson.
1384
1385         Render sharp corners more correctly by adding bounding box
1386         edges to anti-aliasing shaders.
1387
1388         Test: platform/chromium/compositing/3d-corners.html
1389
1390         * platform/graphics/chromium/ShaderChromium.cpp:
1391         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
1392         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
1393         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
1394         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
1395         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1396         (WebCore::CCRenderSurface::drawLayer):
1397         (WebCore::CCRenderSurface::drawSurface):
1398         * platform/graphics/chromium/cc/CCRenderSurface.h:
1399         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1400         (WebCore::CCTiledLayerImpl::draw):
1401         (WebCore::CCTiledLayerImpl::drawTiles):
1402         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1403
1404 2011-09-23  Oliver Hunt  <oliver@apple.com>
1405
1406         Make write barriers actually do something when enabled
1407         https://bugs.webkit.org/show_bug.cgi?id=68717
1408
1409         Reviewed by Geoffrey Garen.
1410
1411         Add a forwarding header, and fix an evaluation ordering
1412         issue that shows up if you try to use write barriers.
1413
1414         * ForwardingHeaders/heap/CardSet.h: Added.
1415         * bindings/js/JSEventListener.h:
1416         (WebCore::JSEventListener::jsFunction):
1417
1418 2011-09-23  James Robinson  <jamesr@chromium.org>
1419
1420         Avoid updating compositing state during paint
1421         https://bugs.webkit.org/show_bug.cgi?id=68727
1422
1423         Reviewed by Simon Fraser.
1424
1425         We shouldn't update our compositing state in the middle of a paint. The call to
1426         updateCompositingAndLayerListsIfNeeded() was added to RenderLayer::paintLayer in r45715, which was intended to
1427         fix this exact issue. Based off the ChangeLog entries, I think that this was just a typo.
1428
1429         * rendering/RenderLayer.cpp:
1430         (WebCore::RenderLayer::paintLayer):
1431         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
1432         * rendering/RenderLayerCompositor.cpp:
1433         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1434         * rendering/RenderLayerCompositor.h:
1435
1436 2011-09-23  Fady Samuel  <fsamuel@chromium.org>
1437
1438         Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
1439         https://bugs.webkit.org/show_bug.cgi?id=68648
1440
1441         Reviewed by Dimitri Glazkov.
1442
1443         No new tests because there's no change in functionality (yet).
1444
1445         * platform/chromium/ScrollbarThemeChromium.cpp:
1446         (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
1447         (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
1448         (WebCore::ScrollbarThemeChromium::paintOverhangAreas):
1449         * platform/chromium/ScrollbarThemeChromium.h:
1450         * platform/chromium/ScrollbarThemeChromiumMac.h:
1451         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1452         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
1453
1454 2011-09-23  Ojan Vafai  <ojan@chromium.org>
1455
1456         remove physical flex-flow values to match the updated spec
1457         https://bugs.webkit.org/show_bug.cgi?id=68728
1458
1459         Reviewed by Tony Chang.
1460
1461         * css/CSSParser.cpp:
1462         (WebCore::CSSParser::parseValue):
1463         * css/CSSPrimitiveValueMappings.h:
1464         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1465         (WebCore::CSSPrimitiveValue::operator EFlexFlow):
1466         * css/CSSValueKeywords.in:
1467         * rendering/style/RenderStyleConstants.h:
1468
1469 2011-09-23  Abhishek Arya  <inferno@chromium.org>
1470
1471         Style not updated for :before, :after content
1472         in ruby text.
1473         https://bugs.webkit.org/show_bug.cgi?id=68625
1474
1475         Reviewed by Dave Hyatt.
1476
1477         Test: fast/ruby/ruby-text-before-after-content.html
1478
1479         * rendering/RenderRubyText.cpp:
1480         (WebCore::RenderRubyText::updateBeforeAfterContent):
1481         * rendering/RenderRubyText.h:
1482
1483 2011-09-22  Ojan Vafai  <ojan@chromium.org>
1484
1485         refactor RenderFlexibleBox to use flex-flow aware methods
1486         https://bugs.webkit.org/show_bug.cgi?id=68665
1487
1488         Reviewed by Tony Chang.
1489
1490         This is just a refactor. Just move the all the code that needs to
1491         be flow aware into helper functions. Actually making them flow-aware
1492         can be done in a followup patch.
1493
1494         * rendering/RenderBlock.cpp:
1495         * rendering/RenderBlock.h:
1496         Moved setLogicalLocationForChild into RenderFlexibleBox since that was the only caller.
1497         * rendering/RenderFlexibleBox.cpp:
1498         (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
1499         (WebCore::RenderFlexibleBox::isHorizontalFlow):
1500         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
1501         (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
1502         (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
1503         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
1504         (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
1505         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
1506         (WebCore::RenderFlexibleBox::flowAwareAvailableLogicalWidth):
1507         (WebCore::RenderFlexibleBox::flowAwareBorderStart):
1508         (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
1509         (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
1510         (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
1511         (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
1512         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
1513         (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
1514         (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
1515         (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
1516         (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
1517         (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
1518         (WebCore::RenderFlexibleBox::setFlowAwareLogicalLocationForChild):
1519         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
1520         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
1521         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
1522         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
1523         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
1524         (WebCore::RenderFlexibleBox::layoutInlineDirection):
1525         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
1526         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
1527         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
1528         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
1529         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
1530         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1531         * rendering/RenderFlexibleBox.h:
1532
1533 2011-09-23  David Hyatt  <hyatt@apple.com>
1534
1535         https://bugs.webkit.org/show_bug.cgi?id=68719
1536         
1537         Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
1538         columns, when regions have a non-uniform height, we may need to push through multiple regions
1539         in order to find one that fits.
1540         
1541         Added an optimization for quickly noticing if regions do have a uniform height so that we can
1542         treat them like columns and pages if so.
1543
1544         Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
1545         layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
1546         the new tests.
1547
1548         Reviewed by Anders Carlsson.
1549
1550         Added new tests in fast/regions.
1551
1552         * rendering/RenderBlock.cpp:
1553         (WebCore::RenderBlock::adjustForUnsplittableChild):
1554         (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
1555         (WebCore::RenderBlock::adjustLinePositionForPagination):
1556         * rendering/RenderBlock.h:
1557         * rendering/RenderBlockLineLayout.cpp:
1558         (WebCore::RenderBlock::matchedEndLine):
1559         * rendering/RenderFlowThread.cpp:
1560         (WebCore::RenderFlowThread::RenderFlowThread):
1561         (WebCore::RenderFlowThread::layout):
1562         * rendering/RenderFlowThread.h:
1563
1564 2011-09-23  Konstantin Scheglov  <scheglov@google.com>
1565
1566         Redrawing dirty parts of a large table is very slow
1567         https://bugs.webkit.org/show_bug.cgi?id=64546
1568
1569         Reviewed by David Hyatt.
1570
1571         Move CollapsedBorderValues into RenderTable.h.
1572         Calculate collapsed borders only once and re-use during paintObject().
1573         Invalidate cache when cell, row, row group, col, col group or table border is changed.
1574
1575         Tests: fast/table/border-collapsing/cached-cell-append.html
1576                fast/table/border-collapsing/cached-cell-remove.html
1577                fast/table/border-collapsing/cached-change-cell-border-color.html
1578                fast/table/border-collapsing/cached-change-cell-border-width.html
1579                fast/table/border-collapsing/cached-change-col-border-color.html
1580                fast/table/border-collapsing/cached-change-col-border-width.html
1581                fast/table/border-collapsing/cached-change-colgroup-border-color.html
1582                fast/table/border-collapsing/cached-change-colgroup-border-width.html
1583                fast/table/border-collapsing/cached-change-row-border-color.html
1584                fast/table/border-collapsing/cached-change-row-border-width.html
1585                fast/table/border-collapsing/cached-change-table-border-color.html
1586                fast/table/border-collapsing/cached-change-table-border-width.html
1587                fast/table/border-collapsing/cached-change-tbody-border-color.html
1588                fast/table/border-collapsing/cached-change-tbody-border-width.html
1589
1590         * rendering/RenderTable.cpp:
1591         (WebCore::RenderTable::RenderTable):
1592         (WebCore::RenderTable::styleDidChange): Invalidate cache on border change.
1593         (WebCore::RenderTable::layout): Invalidate cache if layout changed.
1594         (WebCore::RenderTable::recalcCollapsedBorders): Ensures that cache is valid.
1595         (WebCore::RenderTable::paintObject): Use cached collapsed borders.
1596         * rendering/RenderTable.h:
1597         (WebCore::RenderTable::invalidateCollapsedBorders): Accessor to mark cache invalid.
1598         (WebCore::RenderTable::currentBorderValue): Rename to use word "value".
1599         * rendering/RenderTableCell.cpp:
1600         (WebCore::RenderTableCell::styleDidChange): If border changed, invalidate cache.
1601
1602         Rename to use word "value".
1603         (WebCore::addBorderStyle):
1604         (WebCore::RenderTableCell::collectBorderValues):
1605         (WebCore::compareBorderValuesForQSort):
1606         (WebCore::RenderTableCell::sortBorderValues):
1607         (WebCore::RenderTableCell::paintCollapsedBorder):
1608         * rendering/RenderTableCell.h:
1609         
1610         If border changed, invalidate cache.
1611         * rendering/RenderTableCol.cpp:
1612         (WebCore::RenderTableCol::styleDidChange):
1613         * rendering/RenderTableCol.h:
1614         * rendering/RenderTableRow.cpp:
1615         (WebCore::RenderTableRow::styleDidChange):
1616         * rendering/RenderTableSection.cpp:
1617         (WebCore::RenderTableSection::styleDidChange):
1618
1619 2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>
1620
1621         Add static version of JSCell::visitChildren
1622         https://bugs.webkit.org/show_bug.cgi?id=68404
1623
1624         Reviewed by Darin Adler.
1625
1626         No new tests.
1627
1628         In this patch we just extract the bodies of the virtual visitChildren methods
1629         throughout the JSCell inheritance hierarchy out into static methods, which are 
1630         now called from the virtual methods.  This is an intermediate step in trying to 
1631         move the virtual-ness of visitChildren into our own custom vtable stored in 
1632         ClassInfo.  We need to convert the methods to static methods in order to be 
1633         able to more easily store and refer to them in our custom vtable since normal 
1634         member methods store some implicit information in their types, making it 
1635         impossible to store them generically in ClassInfo.
1636
1637         * WebCore.exp.in:
1638         * bindings/js/JSAttrCustom.cpp:
1639         (WebCore::JSAttr::visitChildrenVirtual):
1640         (WebCore::JSAttr::visitChildren):
1641         * bindings/js/JSAudioContextCustom.cpp:
1642         (WebCore::JSAudioContext::visitChildrenVirtual):
1643         (WebCore::JSAudioContext::visitChildren):
1644         * bindings/js/JSCSSRuleCustom.cpp:
1645         (WebCore::JSCSSRule::visitChildrenVirtual):
1646         (WebCore::JSCSSRule::visitChildren):
1647         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1648         (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
1649         (WebCore::JSCSSStyleDeclaration::visitChildren):
1650         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1651         (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
1652         (WebCore::JSCanvasRenderingContext::visitChildren):
1653         * bindings/js/JSDOMGlobalObject.cpp:
1654         (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
1655         (WebCore::JSDOMGlobalObject::visitChildren):
1656         * bindings/js/JSDOMGlobalObject.h:
1657         * bindings/js/JSDOMWindowCustom.cpp:
1658         (WebCore::JSDOMWindow::visitChildrenVirtual):
1659         (WebCore::JSDOMWindow::visitChildren):
1660         * bindings/js/JSDOMWindowShell.cpp:
1661         (WebCore::JSDOMWindowShell::visitChildrenVirtual):
1662         (WebCore::JSDOMWindowShell::visitChildren):
1663         * bindings/js/JSDOMWindowShell.h:
1664         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
1665         (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
1666         (WebCore::JSJavaScriptAudioNode::visitChildren):
1667         * bindings/js/JSMessageChannelCustom.cpp:
1668         (WebCore::JSMessageChannel::visitChildrenVirtual):
1669         (WebCore::JSMessageChannel::visitChildren):
1670         * bindings/js/JSMessagePortCustom.cpp:
1671         (WebCore::JSMessagePort::visitChildrenVirtual):
1672         (WebCore::JSMessagePort::visitChildren):
1673         * bindings/js/JSNamedNodeMapCustom.cpp:
1674         (WebCore::JSNamedNodeMap::visitChildrenVirtual):
1675         (WebCore::JSNamedNodeMap::visitChildren):
1676         * bindings/js/JSNodeCustom.cpp:
1677         (WebCore::JSNode::visitChildrenVirtual):
1678         (WebCore::JSNode::visitChildren):
1679         * bindings/js/JSNodeFilterCustom.cpp:
1680         (WebCore::JSNodeFilter::visitChildrenVirtual):
1681         (WebCore::JSNodeFilter::visitChildren):
1682         * bindings/js/JSNodeIteratorCustom.cpp:
1683         (WebCore::JSNodeIterator::visitChildrenVirtual):
1684         (WebCore::JSNodeIterator::visitChildren):
1685         * bindings/js/JSSVGElementInstanceCustom.cpp:
1686         (WebCore::JSSVGElementInstance::visitChildrenVirtual):
1687         (WebCore::JSSVGElementInstance::visitChildren):
1688         * bindings/js/JSSharedWorkerCustom.cpp:
1689         (WebCore::JSSharedWorker::visitChildrenVirtual):
1690         (WebCore::JSSharedWorker::visitChildren):
1691         * bindings/js/JSStyleSheetCustom.cpp:
1692         (WebCore::JSStyleSheet::visitChildrenVirtual):
1693         (WebCore::JSStyleSheet::visitChildren):
1694         * bindings/js/JSTreeWalkerCustom.cpp:
1695         (WebCore::JSTreeWalker::visitChildrenVirtual):
1696         (WebCore::JSTreeWalker::visitChildren):
1697         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1698         (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
1699         (WebCore::JSWebGLRenderingContext::visitChildren):
1700         * bindings/js/JSWorkerContextCustom.cpp:
1701         (WebCore::JSWorkerContext::visitChildrenVirtual):
1702         (WebCore::JSWorkerContext::visitChildren):
1703         * bindings/js/JSXMLHttpRequestCustom.cpp:
1704         (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
1705         (WebCore::JSXMLHttpRequest::visitChildren):
1706         * bindings/js/JSXPathResultCustom.cpp:
1707         (WebCore::JSXPathResult::visitChildrenVirtual):
1708         (WebCore::JSXPathResult::visitChildren):
1709         * bindings/scripts/CodeGeneratorJS.pm:
1710         (GenerateHeader):
1711         (GenerateImplementation):
1712         * bindings/scripts/test/JS/JSTestObj.cpp:
1713         (WebCore::JSTestObj::visitChildrenVirtual):
1714         (WebCore::JSTestObj::visitChildren):
1715         * bindings/scripts/test/JS/JSTestObj.h:
1716         * bridge/qt/qt_instance.cpp:
1717         (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
1718         (JSC::Bindings::QtRuntimeObject::visitChildren):
1719         * bridge/qt/qt_runtime.cpp:
1720         (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
1721         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
1722         * bridge/qt/qt_runtime.h:
1723         * workers/WorkerContext.h:
1724
1725 2011-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
1726
1727         [GTK] Remove extra space at the beginning of the last line.
1728         https://bugs.webkit.org/show_bug.cgi?id=68710
1729
1730         Reviewed by Gustavo Noronha Silva.
1731
1732         * platform/network/soup/SocketStreamHandleSoup.cpp:
1733
1734 2011-09-23  Mario Sanchez Prada  <msanchez@igalia.com>
1735
1736         [GTK] Fix coding style issues in ResourceRequestSoup.cpp
1737         https://bugs.webkit.org/show_bug.cgi?id=68707
1738
1739         Reviewed by Xan Lopez.
1740
1741         This patch fixes some issues as reported by check-webkit-style.
1742
1743         * platform/network/soup/ResourceRequestSoup.cpp:
1744         (WebCore::ResourceRequest::updateFromSoupMessage):
1745
1746 2011-09-22  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
1747
1748         Unreviewed: [Qt] Workaround MSVC2010 problems when linking QtWebKit
1749
1750         Include MSVC2010 in the list of compilers where incremental
1751         build is disabled (INCREMENTAL:NO).
1752
1753         Change suggested by Simo Falt <simo.falt@nokia.com>, already present
1754         in the Qt-4.8 repository where the problem was identified.
1755
1756         * WebCore.pri:
1757
1758 2011-09-23  Darin Adler  <darin@apple.com>
1759
1760         Try to fix warning seen in some 32-bit builds.
1761
1762         * rendering/RenderBoxModelObject.cpp:
1763         (WebCore::backgroundRectAdjustedForBleedAvoidance):
1764         Use an explicit cast for the conversion from a double to a LayoutUnit.
1765
1766 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1767
1768         Web Inspector: Clicking on error doesn't point on the correct line if user searched something
1769         https://bugs.webkit.org/show_bug.cgi?id=68627
1770
1771         Reviewed by Yury Semikhatsky.
1772
1773         * inspector/front-end/SearchController.js:
1774         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
1775         * inspector/front-end/inspector.js:
1776         (WebInspector._showAnchorLocationInPanel):
1777
1778 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1779
1780         Web Inspector: InspectorStyleSheet should use stylesheet's original url, not final one.
1781         https://bugs.webkit.org/show_bug.cgi?id=68631
1782
1783         Reviewed by Yury Semikhatsky.
1784
1785         Test: http/tests/inspector/styles/styles-redirected-css.html
1786
1787         * inspector/InspectorStyleSheet.cpp:
1788         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1789
1790 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1791
1792         Web Inspector: XHRs requests with the same url as main resource should have correct category.
1793         https://bugs.webkit.org/show_bug.cgi?id=68646
1794
1795         Reviewed by Yury Semikhatsky.
1796
1797         Test: http/tests/inspector/network/network-xhr-same-url-as-main-resource.html
1798
1799         * inspector/InspectorResourceAgent.cpp:
1800         (WebCore::InspectorResourceAgent::didReceiveResponse):
1801
1802 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1803
1804         Web Inspector: Add context menu action to navigate from resources panel resource to network panel.
1805         https://bugs.webkit.org/show_bug.cgi?id=68657
1806
1807         Reviewed by Yury Semikhatsky.
1808
1809         * English.lproj/localizedStrings.js:
1810         * inspector/front-end/NetworkPanel.js:
1811         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1812         (WebInspector.NetworkPanel.prototype.revealAndHighlightResource):
1813         * inspector/front-end/ResourcesPanel.js:
1814         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
1815         (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
1816         * inspector/front-end/inspector.js:
1817         (WebInspector.openInNetworkPanelLabel):
1818         (WebInspector.openRequestInNetworkPanel):
1819
1820 2011-09-23  Deepak Sherveghar  <bpwv64@motorola.com>
1821
1822         [Gtk] Title attribute is not respected on option elements.
1823         https://bugs.webkit.org/show_bug.cgi?id=68615
1824
1825         Reviewed by Martin Robinson.
1826
1827         Set tooltip on PopupMenuGtk items created from GtkActions.
1828
1829         * platform/gtk/GtkPopupMenu.cpp:
1830         (WebCore::GtkPopupMenu::appendItem): Added a call to gtk_widget_set_tooltip_text()
1831             to set the tooltip on menuitem. Tooltip text is retrieved from GtkAction.
1832         * platform/gtk/PopupMenuGtk.cpp:
1833         (WebCore::PopupMenuGtk::createGtkActionForMenuItem): Pass the tooltip text
1834             from client when creating a GtkAction.
1835
1836 2011-09-23  Yael Aharon  <yael.aharon@nokia.com>
1837
1838         [Qt][Gtk] Wrong state when pausing a video in the "playing" event handler
1839         https://bugs.webkit.org/show_bug.cgi?id=68589
1840
1841         Reviewed by Philippe Normand.
1842
1843         Test: media/video-playing-and-pause.html
1844
1845         As suggested by Alexis Menard on IRC, query gstreamer's state instead of using a cached value
1846         in MediaPlayerGstreamerPrivate::paused(). 
1847
1848         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1849         (WebCore::MediaPlayerPrivateGStreamer::paused):
1850
1851 2011-09-15  Pavel Podivilov  <podivilov@chromium.org>
1852
1853         Web Inspector: skip overlapping scripts when displaying concatenated content.
1854         https://bugs.webkit.org/show_bug.cgi?id=68144
1855
1856         Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.
1857
1858         Reviewed by Pavel Feldman.
1859
1860         * inspector/front-end/SourceFile.js:
1861         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
1862         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1863
1864 2011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
1865
1866         Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
1867         https://bugs.webkit.org/show_bug.cgi?id=68312
1868
1869         Reviewed by Yury Semikhatsky.
1870
1871         * inspector/front-end/TimelinePanel.js:
1872         (WebInspector.TimelinePanel.prototype._createFileSelector):
1873
1874 2011-09-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1875
1876         Unreviewed, rolling out r95383.
1877         http://trac.webkit.org/changeset/95383
1878         https://bugs.webkit.org/show_bug.cgi?id=68690
1879
1880         It broke WebInspector.Timeline.LoadFromFile feature.
1881         (Requested by loislo on #webkit).
1882
1883         * inspector/front-end/TimelinePanel.js:
1884         (WebInspector.TimelinePanel.prototype._createFileSelector):
1885
1886 2011-09-23  Rob Buis  <rbuis@rim.com>
1887
1888         use after free in WebCore::SVGTRefElement::updateReferencedText
1889         https://bugs.webkit.org/show_bug.cgi?id=67555
1890
1891         Reviewed by Nikolas Zimmermann.
1892
1893         Event listeners can outlive the tref element that created them when
1894         the tref is cloned and then garbage collected, causing a dangling pointer to the
1895         tref. To fix this do not install event listener until the tref is inserted into the document.
1896
1897         Test: svg/custom/tref-clone-crash.html
1898
1899         * svg/SVGTRefElement.cpp:
1900         (WebCore::SVGTRefElement::svgAttributeChanged):
1901         (WebCore::SVGTRefElement::insertedIntoDocument):
1902         * svg/SVGTRefElement.h:
1903
1904 2011-09-23  Vsevolod Vlasov  <vsevik@chromium.org>
1905
1906         ASSERTION FAILED: documentLoader in WebKit/Source/WebCore/inspector/InspectorInstrumentation.cpp(597)
1907         https://bugs.webkit.org/show_bug.cgi?id=68291
1908
1909         Reviewed by Tony Chang.
1910
1911         * dom/Document.cpp:
1912         (WebCore::Document::finishedParsing):
1913         * inspector/InspectorInstrumentation.cpp:
1914         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
1915         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
1916         * inspector/InspectorInstrumentation.h:
1917         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
1918         (WebCore::InspectorInstrumentation::loadEventFired):
1919         * page/DOMWindow.cpp:
1920         (WebCore::DOMWindow::dispatchLoadEvent):
1921
1922 2011-09-22  Tony Chang  <tony@chromium.org>
1923
1924         implement -webkit-flex-order
1925         https://bugs.webkit.org/show_bug.cgi?id=67432
1926
1927         Reviewed by Ojan Vafai.
1928
1929         flex-order can be an int (including negative), but we disallow the two
1930         smallest values so we can put the numbers into a hash set.
1931
1932         Also, create two iterators: one that goes in render tree order (we use
1933         this for the first pass and to collect the possible flex order values)
1934         and one that goes in flex order.
1935
1936         Test: css3/flexbox/flex-order.html
1937
1938         * css/CSSParser.cpp:
1939         (WebCore::CSSParser::parseValue):
1940         * rendering/RenderFlexibleBox.cpp:
1941         (WebCore::FlexOrderHashTraits::emptyValue):
1942         (WebCore::FlexOrderHashTraits::constructDeletedValue):
1943         (WebCore::FlexOrderHashTraits::isDeletedValue):
1944         (WebCore::RenderFlexibleBox::TreeOrderIterator::TreeOrderIterator): A simple iterator
1945             that goes in render tree order.
1946         (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
1947         (WebCore::RenderFlexibleBox::TreeOrderIterator::reset):
1948         (WebCore::RenderFlexibleBox::TreeOrderIterator::flexOrderValues):
1949         (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator): An iterator that
1950             goes in flex-order order.  Creating this involves sorting, so only create it once
1951             and pass it around.
1952         (WebCore::RenderFlexibleBox::FlexOrderIterator::first):
1953         (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
1954         (WebCore::RenderFlexibleBox::FlexOrderIterator::reset):
1955         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
1956         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
1957         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
1958         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1959         * rendering/RenderFlexibleBox.h:
1960
1961 2011-09-22  Darin Adler  <darin@apple.com>
1962
1963         Use AffineTransform scale functions in ShadowBlur::adjustBlurRadius
1964         https://bugs.webkit.org/show_bug.cgi?id=68667
1965
1966         Reviewed by Simon Fraser.
1967
1968         * platform/graphics/ShadowBlur.cpp:
1969         (WebCore::ShadowBlur::adjustBlurRadius): Use AffineTransform::xScale and
1970         AffineTransform::yScale instead of the custom code here that seems to do
1971         the same thing.
1972
1973 2011-09-22  Darin Adler  <darin@apple.com>
1974
1975         Remove unneeded type conversion from background bleed code
1976         https://bugs.webkit.org/show_bug.cgi?id=68669
1977
1978         Reviewed by Geoffrey Garen.
1979
1980         * rendering/RenderBoxModelObject.cpp:
1981         (WebCore::backgroundRectAdjustedForBleedAvoidance): Use ceil instead of ceilf
1982         and eliminate superflous conversion to float and use of FloatSize. Also added
1983         a "why" comment.
1984
1985 2011-09-22  Darin Adler  <darin@apple.com>
1986
1987         Refactor checks for antialiasing lines to share a single function
1988         https://bugs.webkit.org/show_bug.cgi?id=68666
1989
1990         Reviewed by Dan Bernstein.
1991
1992         * rendering/RenderBlock.cpp:
1993         (WebCore::RenderBlock::paintColumnRules): Call shouldAntialiasLines.
1994         * rendering/RenderBoxModelObject.cpp:
1995         (WebCore::RenderBoxModelObject::paintBorder): Ditto.
1996         (WebCore::RenderBoxModelObject::shouldAntialiasLines): Added.
1997         * rendering/RenderBoxModelObject.h: Added shouldAntialiasLines function.
1998         * rendering/RenderInline.cpp:
1999         (WebCore::RenderInline::paintOutlineForLine): Call shouldAntialiasLines.
2000         * rendering/RenderTableCell.cpp:
2001         (WebCore::RenderTableCell::paintCollapsedBorder): Ditto.
2002
2003 2011-09-22  Antoine Labour  <piman@chromium.org>
2004
2005         Remove unused members from LayerChromium.
2006         These members are never set, and never used.
2007         Other members that are set but not used have been left (we may use them
2008         later, e.g. m_opaque).
2009         https://bugs.webkit.org/show_bug.cgi?id=68297
2010
2011         Reviewed by James Robinson.
2012
2013         No functional change, no new test needed.
2014
2015         * platform/graphics/chromium/LayerChromium.cpp:
2016         (WebCore::LayerChromium::LayerChromium):
2017         * platform/graphics/chromium/LayerChromium.h:
2018
2019 2011-09-22  Tom Sepez  <tsepez@chromium.org>
2020
2021         Make XSSAuditor extract meaningful snippet from script blocks for comparison
2022         against the URL when checking for reflection.  Avoids getting caugh up in
2023         trailing comments.
2024         https://bugs.webkit.org/show_bug.cgi?id=68094
2025
2026         Reviewed by Adam Barth.
2027
2028         Tests: http/tests/security/xssAuditor/script-tag-with-trailing-comment.html
2029                http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html
2030                http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html
2031
2032         * html/parser/XSSAuditor.cpp:
2033         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
2034         (WebCore::XSSAuditor::extractCodeFragment):
2035         * html/parser/XSSAuditor.h:
2036
2037 2011-09-22  Nate Chapin  <japhet@chromium.org>
2038
2039         Remove didReceiveAuthenticationChallenge() from SubresourceLoaderClient.
2040         Instead, add a load-specific policy for showing the user authentication
2041         challenge down to ResourceLoaderOptions and enforce it in ResourceLoader.
2042         https://bugs.webkit.org/show_bug.cgi?id=65330
2043
2044         Reviewed by Alexey Proskuryakov.
2045
2046         No new tests, refactor only.
2047
2048         * loader/DocumentThreadableLoader.cpp:
2049         * loader/DocumentThreadableLoader.h:
2050         * loader/MainResourceLoader.cpp:
2051         * loader/NetscapePlugInStreamLoader.cpp:
2052         * loader/ResourceLoadScheduler.h:
2053         * loader/ResourceLoader.cpp:
2054         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2055            For resource types that always send a challenge to the embedder,
2056            this patch doesn't change anything. For those that don't, we will
2057            always try to continue without credentials when they are forbidden
2058            and the platform supports it.
2059            When continuing without credentials was initially implemented in
2060            DocumentThreadableLoader, we sent the ThreadableLoaderClient a didFail(),
2061            then canceled the SubresourceLoader. This was necessary because of the
2062            quirks of ThreadableLoader cancellation (we sever the client/loader connections
2063            before the load actually cancels), but a simple didFail() should suffice at
2064            the ResourceLoader layer.
2065         * loader/ResourceLoaderOptions.h:
2066         * loader/SubresourceLoader.cpp:
2067         * loader/SubresourceLoader.h:
2068         * loader/SubresourceLoaderClient.h:
2069         * loader/cache/CachedResource.cpp:
2070         * loader/cache/CachedResourceLoader.cpp:
2071         * loader/cache/CachedResourceLoader.h:
2072         * loader/icon/IconLoader.cpp: The ResourceLoader implementation of
2073             didReceiveAuthenticationChallege means that IconLoader will now
2074             try to continue with credentials on platforms that support it,
2075             rather than just canceling outright. We still will never prompt
2076             for authentication for icons.
2077         * loader/icon/IconLoader.h:
2078
2079 2011-09-22  Dean Jackson  <dino@apple.com>
2080
2081         Add ENABLE_CSS_FILTERS
2082         https://bugs.webkit.org/show_bug.cgi?id=68652
2083
2084         Reviewed by Simon Fraser.
2085
2086         * Configurations/FeatureDefines.xcconfig:
2087
2088 2011-09-22  Anders Carlsson  <andersca@apple.com>
2089
2090         Make sure to update scrollbars in ScrollView::setFrameRect
2091         https://bugs.webkit.org/show_bug.cgi?id=68663
2092
2093         Reviewed by Sam Weinig.
2094
2095         Call updateScrollbars after setting the frame rect. This was previously done by the
2096         call to setBoundsSize from RenderWidget::setWidgetGeometry but setBoundsSize was removed
2097         completely in http://trac.webkit.org/changeset/95725.
2098
2099         * platform/ScrollView.cpp:
2100         (WebCore::ScrollView::setFrameRect):
2101
2102 2011-09-22  Jon Lee  <jonlee@apple.com>
2103
2104         Progress control gets cropped on the bottom
2105         https://bugs.webkit.org/show_bug.cgi?id=68302
2106         <rdar://problem/10069915>
2107
2108         Reviewed by Kent Tamura.
2109
2110         As it turns out the smaller control type does not get rendered either, so this patch
2111         fixes both.
2112
2113         * manual-tests/dom/progressbar.html: Altered to show both sizes of controls
2114         * rendering/RenderThemeMac.h:
2115         * rendering/RenderThemeMac.mm: Added methods to inflate the drawing rect
2116         (WebCore::RenderThemeMac::progressBarSizes):
2117         (WebCore::RenderThemeMac::progressBarMargins):
2118         (WebCore::RenderThemeMac::minimumProgressBarHeight):
2119         (WebCore::RenderThemeMac::paintProgressBar): Inflate the rect based on minimum desired
2120         control height and glow margin.
2121
2122 2011-09-22  David Hyatt  <hyatt@apple.com>
2123
2124         https://bugs.webkit.org/show_bug.cgi?id=68658
2125
2126         Make matchedEndLine smart enough to not match lines that have moved to new
2127         regions with different available content logical widths. When this happens, we go ahead and treat
2128         the line as failing to match.
2129
2130         Reviewed by Anders Carlsson.
2131
2132         Added new tests in fast/regions.
2133
2134         * rendering/RenderBlock.cpp:
2135         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2136         * rendering/RenderBlock.h:
2137         Enhanced to take an optional delta, so that you can check a new position without having to move
2138         the line box.
2139
2140         * rendering/RenderBlockLineLayout.cpp:
2141         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
2142         New function that refactors checking for line width changes from region movement as well as the
2143         float checks. Since the float checks were duplicated twice, this is a nice refactoring.
2144
2145         (WebCore::RenderBlock::matchedEndLine):
2146         Changed to call the new helper function that will check both floats and pagination.
2147
2148 2011-09-22  Gavin Barraclough  <barraclough@apple.com>
2149
2150         Implement Function.prototype.bind
2151         https://bugs.webkit.org/show_bug.cgi?id=26382
2152
2153         Reviewed by Sam Weinig.
2154
2155         Test: fast/js/function-bind.html
2156
2157         * bindings/js/JSDOMBinding.cpp:
2158         (WebCore::objectToStringFunctionGetter):
2159         * bindings/js/JSDOMWindowCustom.cpp:
2160         (WebCore::nonCachingStaticFunctionGetter):
2161         * bindings/js/JSHistoryCustom.cpp:
2162         (WebCore::nonCachingStaticBackFunctionGetter):
2163         (WebCore::nonCachingStaticForwardFunctionGetter):
2164         (WebCore::nonCachingStaticGoFunctionGetter):
2165         * bindings/js/JSLocationCustom.cpp:
2166         (WebCore::nonCachingStaticReplaceFunctionGetter):
2167         (WebCore::nonCachingStaticReloadFunctionGetter):
2168         (WebCore::nonCachingStaticAssignFunctionGetter):
2169             - Function::create no longer requires functionStructure() to be passed.
2170 2011-09-22  David Hyatt  <hyatt@apple.com>
2171
2172         https://bugs.webkit.org/show_bug.cgi?id=68650
2173         
2174         Make determineStartPosition smart enough to not skip over clean lines that have moved to a new
2175         region with a different available content logical width. When this happens, we go ahead and treat
2176         the line as dirty.
2177
2178         Reviewed by Sam Weinig.
2179
2180         Covered by existing fast/regions tests.
2181
2182         * rendering/RenderBlock.cpp:
2183         (WebCore::RenderBlock::layoutBlock):
2184         Disable region fitting if we detect that the regions all have uniform widths. In this case we know
2185         the content width can't vary, so there's no reason to waste time worrying about it.
2186
2187         (WebCore::RenderBlock::computeLogicalLocationForFloat):
2188         Pull the content width checking code into computeLogicalLocationForFloat, since we've incorporated
2189         region fitting into the fixed offsets now rather than the line functions.
2190
2191         (WebCore::RenderBlock::positionNewFloats):
2192         Changed because more code moved from here into computeLogicalLocationForFloat.
2193         
2194         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
2195         No changes. Just moved the function above the left offset function.
2196
2197         (WebCore::RenderBlock::logicalLeftOffsetForContent):
2198         (WebCore::RenderBlock::logicalRightOffsetForContent):
2199         Added. These new functions give the fixed left and right offsets for lines in a particular region.
2200         When no regions are present or when all the regions have a uniform width, they are identical
2201         to the versions of the functions that take no arguments.
2202
2203         (WebCore::RenderBlock::logicalRightOffsetForLine):
2204         Changed to no longer do region fitting, since that's built into logicalRightOffsetForContent now.
2205
2206         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2207         New function that takes a root line box and compares its cached old content width with the width
2208         available at the line's new location.
2209     
2210         * rendering/RenderBlock.h:
2211         (WebCore::RenderBlock::logicalRightOffsetForLine):
2212         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2213         Modified to call the logicalXXXOffsetForContent functions that take a block direction position.
2214
2215         (WebCore::RenderBlock::logicalRightOffsetForContent):
2216         (WebCore::RenderBlock::logicalLeftOffsetForContent):
2217         Added the new functions that take a position so that they can fit to the correct region.
2218
2219         (WebCore::RenderBlock::availableLogicalWidthForContent):
2220         New helper function that calls right - left (similar to the corresponding line function that includes
2221         floats).
2222
2223         * rendering/RenderBlockLineLayout.cpp:
2224         (WebCore::RenderBlock::determineStartPosition):
2225         Patched to check if a line has moved to a place with a different available content width. If so, the line
2226         is dirtied so that line layout can re-run.
2227
2228         * rendering/RootInlineBox.cpp:
2229         (WebCore::RootInlineBox::RootInlineBox):
2230         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2231         Sets the paginated line width from the current block logical height.
2232
2233         * rendering/RootInlineBox.h:
2234         (WebCore::RootInlineBox::paginationStrut):
2235         (WebCore::RootInlineBox::setPaginationStrut):
2236         Fixed paginationStrut to be LayoutUnit instead of int.
2237
2238         (WebCore::RootInlineBox::paginatedLineWidth):
2239         (WebCore::RootInlineBox::setPaginatedLineWidth):
2240         Added paginatedLineWidth getter/setter for caching the content width for a given root line.
2241
2242 2011-09-21  Anders Carlsson  <andersca@apple.com>
2243
2244         Remove Widget::beforeMouseDown and Widget::afterMouseDown
2245         https://bugs.webkit.org/show_bug.cgi?id=68570
2246
2247         Reviewed by Darin Adler.
2248
2249         These two member functions were originally added to avoid crashes due to removing NSViews while they were
2250         being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
2251         AppKit that lead to crashes have been fixed.
2252
2253         This patch was rolled out in r95743 because it broke a bunch of tests. The patch accidentally removed setting back
2254         m_sendingEventToSubview to false.
2255
2256         * page/mac/EventHandlerMac.mm:
2257         (WebCore::EventHandler::passMouseDownEventToWidget):
2258         * platform/Widget.h:
2259         * platform/mac/WidgetMac.mm:
2260         (WebCore::Widget::Widget):
2261         (WebCore::Widget::removeFromSuperview):
2262
2263         * rendering/RenderWidget.cpp:
2264         Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
2265
2266 2011-09-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2267
2268         Unreviewed, rolling out r95335 and r95645.
2269         http://trac.webkit.org/changeset/95335
2270         http://trac.webkit.org/changeset/95645
2271         https://bugs.webkit.org/show_bug.cgi?id=68649
2272
2273         Wrong fix (Requested by rniwa on #webkit).
2274
2275         * editing/DeleteSelectionCommand.cpp:
2276         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2277         * editing/EditingStyle.cpp:
2278         (WebCore::EditingStyle::removeStyleAddedByNode):
2279         * editing/EditingStyle.h:
2280         * editing/ReplaceSelectionCommand.cpp:
2281         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2282         * editing/markup.cpp:
2283         (WebCore::StyledMarkupAccumulator::serializeNodes):
2284         (WebCore::ancestorToRetainStructureAndAppearance):
2285         * editing/markup.h:
2286
2287 2011-09-22  Ryosuke Niwa  <rniwa@webkit.org>
2288
2289         Revert r95673 since it caused hundreds of tests to fail on Leopard / Snow Leopard.
2290
2291         * page/mac/EventHandlerMac.mm:
2292         (WebCore::EventHandler::passMouseDownEventToWidget):
2293         * platform/Widget.h:
2294         * platform/mac/WidgetMac.mm:
2295         (WebCore::Widget::Widget):
2296         (WebCore::Widget::removeFromSuperview):
2297         (WebCore::Widget::beforeMouseDown):
2298         (WebCore::Widget::afterMouseDown):
2299         * rendering/RenderWidget.cpp:
2300
2301 2011-09-22  David Hyatt  <hyatt@apple.com>
2302
2303         https://bugs.webkit.org/show_bug.cgi?id=68638
2304         
2305         Make RenderFlowThread cache whether or not it has regions of varying widths. This will
2306         be relevant for performance as we begin adding code to do custom block painting and
2307         layout based off regions not having the same width.
2308
2309         Reviewed by Dan Bernstein and Adam Roben.
2310
2311         * rendering/RenderFlowThread.cpp:
2312         (WebCore::RenderFlowThread::RenderFlowThread):
2313         (WebCore::RenderFlowThread::layout):
2314         * rendering/RenderFlowThread.h:
2315
2316 2011-09-22  Anders Carlsson  <andersca@apple.com>
2317
2318         FrameView::invalidateRect and FrameView::setFrameRect shouldn't take LayoutRects
2319         https://bugs.webkit.org/show_bug.cgi?id=68639
2320
2321         Reviewed by David Hyatt.
2322
2323         FrameView::invalidateRect and FrameView::setFrameRect override Widget and ScrollView
2324         member functions that take IntRects, and Widget coordinates are currently defined in terms of
2325         IntRects (and probably always should since we want them to be pixel-aligned).
2326
2327         * page/FrameView.cpp:
2328         (WebCore::FrameView::invalidateRect):
2329         (WebCore::FrameView::setFrameRect):
2330         * page/FrameView.h:
2331
2332 2011-09-22  Tim Horton  <timothy_horton@apple.com>
2333
2334         Unreviewed build fix (fixes warning about too many parens).
2335
2336         * rendering/RenderBox.cpp:
2337         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
2338
2339 2011-09-22  Anders Carlsson  <andersca@apple.com>
2340
2341         Widget::frameRect shouldn't be virtual
2342         https://bugs.webkit.org/show_bug.cgi?id=68637
2343
2344         Reviewed by Sam Weinig.
2345
2346         Nobody overrides Widget::frameRect and nobody should.
2347
2348         * platform/Widget.h:
2349
2350 2011-09-22  Sergey Glazunov  <serg.glazunov@gmail.com>
2351
2352         Ref protect shaders in V8WebGLRenderingContext::getAttachedShadersCallback
2353         https://bugs.webkit.org/show_bug.cgi?id=68630
2354
2355         Reviewed by Adam Barth.
2356
2357         Test: fast/canvas/webgl/shader-deleted-by-accessor.html
2358
2359         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2360         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
2361         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2362         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2363         * html/canvas/WebGLRenderingContext.cpp:
2364         (WebCore::WebGLRenderingContext::getAttachedShaders):
2365         * html/canvas/WebGLRenderingContext.h:
2366
2367 2011-09-05  Robert Hogan  <robert@webkit.org>
2368
2369         CSS 2.1 failure: abspos-non-replaced-width-margin-000, abspos-replaced-width-margin-000
2370         https://bugs.webkit.org/show_bug.cgi?id=47148
2371
2372         Reviewed by David Hyatt.
2373
2374         * rendering/RenderBlock.h:
2375         * rendering/RenderBlockLineLayout.cpp:
2376         (WebCore::RenderBlock::startOffsetForLine): Return offset from right, rather than offset from left + logicalwidth
2377         * rendering/RenderBlockLineLayout.cpp:
2378         (WebCore::RenderBlock::startAlignedOffsetForLine): 
2379               Return the correct alignment for RTL blocks too. Looks like neither FF or Opera do this correctly.
2380               Covered by new test left-right-center-inline-alignment-in-ltr-and-rtl-blocks.html
2381         * rendering/RenderBox.cpp:
2382         (WebCore::computeInlineStaticDistance):
2383             - The CSS 2.1 tests now require UAs to use the parent block's direction (rather than the
2384               containing block's direction) when computing static distance. The container block's direction
2385               is still used in the other width and offset related calculations.
2386             - In the context of this function, the logicalRight value is just an element that will be used later to calculate 
2387               the correct logicalLeft position for the RTL block. So whereas an LTR block can substract containerBlock->borderLogicalLeft() 
2388               in this function directly, an RTL block has to add it here so that will be later subtracted from availableSpace to get 
2389               logicalLeft in computePositionedLogicalWidthUsing().
2390
2391         (WebCore::RenderBox::computePositionedLogicalWidth):
2392            - Update comments and use the container block's direction except when calculating the static distance.
2393            - Remove the notion of a quirks mode in this function and for calculating the position of replaced and non-replaced
2394              blocks generally. This is in line with both FF4 and Opera - neither of which have a quirks mode for them.
2395         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2396            - Update comments and use the container block's direction except when calculating the static distance.
2397         (WebCore::RenderBox::computePositionedLogicalHeight):
2398            - Update comments.
2399         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
2400            - Update comments and use the container block's direction except when calculating the static distance.
2401            - If the containing block is RTL, always assume that values are over-constrained.
2402         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
2403            - Update comments.
2404
2405 2011-09-22  Anders Carlsson  <andersca@apple.com>
2406
2407         Get rid of Widget::setBoundsSize
2408         https://bugs.webkit.org/show_bug.cgi?id=68491
2409
2410         Reviewed by Sam Weinig.
2411
2412         This basically reverts http://trac.webkit.org/changeset/79167 and http://trac.webkit.org/changeset/75897
2413         which were added to make zoom gestures work with WebKit1, but since we don't support zoom gestures in WebKit1
2414         anymore, it's better for code cleanliness to get rid of Widget::setBoundsSize and the associated code. While this
2415         will unfortunately break transformed iframes in WebKit1, but Simon says that it's an acceptable tradeoff.
2416
2417         * WebCore.exp.in:
2418         * loader/FrameLoader.cpp:
2419         (WebCore::FrameLoader::open):
2420         * page/FrameView.cpp:
2421         (WebCore::FrameView::create):
2422         * platform/ScrollView.cpp:
2423         (WebCore::ScrollView::visibleContentRect):
2424         (WebCore::ScrollView::updateScrollbars):
2425         (WebCore::ScrollView::wheelEvent):
2426         * platform/ScrollView.h:
2427         * platform/Widget.cpp:
2428         * platform/Widget.h:
2429         (WebCore::Widget::resize):
2430         * platform/chromium/PopupContainer.cpp:
2431         (WebCore::PopupContainer::refresh):
2432         * platform/gtk/ScrollViewGtk.cpp:
2433         (WebCore::ScrollView::visibleContentRect):
2434         * platform/mac/WidgetMac.mm:
2435         (WebCore::Widget::paint):
2436         * rendering/RenderWidget.cpp:
2437         (WebCore::RenderWidget::setWidgetGeometry):
2438         (WebCore::RenderWidget::setWidget):
2439         (WebCore::RenderWidget::updateWidgetPosition):
2440         * rendering/RenderWidget.h:
2441
2442 2011-09-21  David Hyatt  <hyatt@apple.com>
2443
2444         https://bugs.webkit.org/show_bug.cgi?id=68590
2445         
2446         Floats pushed to next page, column or region don't reposition properly if the amount of
2447         available logical width at the new position changes. Refactor the code so that we can
2448         run the float placement algorithm again when this happens.
2449
2450         Covered by an existing regions test that exposes the issue.
2451
2452         Reviewed by Adam Roben.
2453
2454         * rendering/RenderBlock.cpp:
2455         (WebCore::RenderBlock::computeLogicalLocationForFloat):
2456         (WebCore::RenderBlock::positionNewFloats):
2457         * rendering/RenderBlock.h:
2458
2459 2011-09-22  Leandro Gracia Gil  <leandrogracia@chromium.org>
2460
2461         Fire TextInput events on speech input, but not set/add any inputMethod attribute.
2462         https://bugs.webkit.org/show_bug.cgi?id=60451
2463
2464         Reviewed by Ryosuke Niwa.
2465
2466         Introduce code to dispatch TextInput events when text is introduced via
2467         the speech input feature. Handle also the cases where speech input is
2468         started programmatically from the LayoutTestController.
2469
2470         Test: fast/speech/input-ontextinput-event.html
2471
2472         * dom/TextEventInputType.h:
2473         * html/shadow/TextControlInnerElements.cpp:
2474         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
2475
2476 2011-09-20  Jason Liu  <jason.liu@torchmobile.com.cn>
2477
2478         Reviewed by Simon Fraser.
2479
2480         CSS outline property on a narrow element has rabbit ear artifacts
2481         https://bugs.webkit.org/show_bug.cgi?id=36793
2482
2483         Patch by Jason Liu  <jason.liu@torchmobile.com.cn>
2484         Patch updated by Robert Hogan <robert@webkit.org>
2485
2486         Test: fast/css/outline-narrowLine.html
2487
2488         * rendering/RenderInline.cpp:
2489         (WebCore::RenderInline::paintOutlineForLine):
2490
2491 2011-09-22  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
2492
2493         [GTK]Popup drop-down menu contains extra empty spaces at beginning and 
2494         occupies whole screen when items in popup reaches the height of display device.
2495         https://bugs.webkit.org/show_bug.cgi?id=68533
2496
2497         When implementing the GTK+ menu position function, set pushIn to false, which tell
2498         GTK+ not create a menu that is as big as the entire screen.
2499
2500         Reviewed by Martin Robinson.
2501
2502         * platform/gtk/GtkPopupMenu.cpp:
2503         (WebCore::GtkPopupMenu::menuPositionFunction): Set pushIn to false in the menu position function.
2504
2505 2011-09-22  Alpha Lam  <hclam@chromium.org>
2506
2507         Define export symbol correctly due to rename of pageScaleFactor to
2508         frameScaleFactor.
2509
2510         Not reviewed. Build fix.
2511
2512         * WebCore.exp.in:
2513
2514 2011-09-22  Vsevolod Vlasov  <vsevik@chromium.org>
2515
2516         Web Inspector: Console is always scrolled to the top
2517         https://bugs.webkit.org/show_bug.cgi?id=67483
2518
2519         Reviewed by Pavel Feldman.
2520
2521         * inspector/front-end/ConsoleView.js:
2522         (WebInspector.ConsoleView.prototype.wasShown):
2523         (WebInspector.ConsoleView.prototype.storeScrollPositions):
2524         (WebInspector.ConsoleView.prototype.restoreScrollPositions):
2525         (WebInspector.ConsoleView.prototype.onResize):
2526         (WebInspector.ConsoleView.prototype._immediatelyScrollIntoView):
2527         (WebInspector.ConsoleView.prototype._cancelScheduledScrollIntoView):
2528         (WebInspector.ConsoleView.prototype._consoleCleared):
2529         * inspector/front-end/Drawer.js:
2530         (WebInspector.Drawer.prototype.hide):
2531         (WebInspector.Drawer.prototype.resize):
2532         (WebInspector.Drawer.prototype._startStatusBarDragging):
2533         (WebInspector.Drawer.prototype._statusBarDragging):
2534         * inspector/front-end/inspector.js:
2535         (WebInspector.animateStyle):
2536         (WebInspector.animateStyle.forceComplete):
2537
2538 2011-09-22  Alpha Lam  <hclam@chromium.org>
2539
2540         https://bugs.webkit.org/show_bug.cgi?id=68081
2541         Fix scroll in page scaling mode.
2542
2543         Reviewed by Simon Fraser.
2544
2545         The following things are done in this patch:
2546         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
2547            reflect its purpose.
2548         2. Frame::frameScaleFactor() returns the scale factor of this frame with
2549            respect to the container. So for the main frame it'll return the scale
2550            factor of the page, inner frames will return 1.0
2551         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
2552            scale factor, causing incorrect coordinates reported to Javascript.
2553
2554         Tests: fast/events/scale-and-scroll-body.html
2555                fast/events/scale-and-scroll-iframe-body.html
2556                fast/events/scale-and-scroll-iframe-window.html
2557                fast/events/scale-and-scroll-window.html
2558
2559         * html/HTMLBodyElement.cpp:
2560         (WebCore::adjustForZoom):
2561         (WebCore::HTMLBodyElement::setScrollLeft):
2562         (WebCore::HTMLBodyElement::setScrollTop):
2563         * loader/HistoryController.cpp:
2564         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
2565         * page/DOMWindow.cpp:
2566         (WebCore::DOMWindow::scrollX):
2567         (WebCore::DOMWindow::scrollY):
2568         (WebCore::DOMWindow::scrollTo):
2569         * page/Frame.cpp:
2570         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
2571                                             main frame, otherwise 1.0
2572         * page/Frame.h:
2573         * page/FrameView.cpp:
2574         (WebCore::FrameView::applyOverflowToViewport):
2575         (WebCore::FrameView::scrollXForFixedPosition):
2576         (WebCore::FrameView::scrollYForFixedPosition):
2577
2578 2011-09-22  Andreas Kling  <kling@webkit.org>
2579
2580         CSS: Implement 'font' property in CSSComputedStyle.
2581         https://bugs.webkit.org/show_bug.cgi?id=66666
2582
2583         Reviewed by Antti Koivisto.
2584
2585         Test: fast/css/getComputedStyle/computed-style-font.html
2586
2587         * css/CSSComputedStyleDeclaration.cpp:
2588         (WebCore::fontFamilyFromStyle): Factored out of getPropertyCSSValue().
2589         This function will always return a CSSValueList, as opposed to the previous
2590         implementation which would return a CSSPrimitiveValue if there was only one family.
2591         getCSSPropertyValue() will return the first element of the list for 1-element lists
2592         to preserve the current behavior of getPropertyCSSValue('font-family').
2593
2594         (WebCore::lineHeightFromStyle): Factored out of getPropertyCSSValue().
2595         (WebCore::fontSizeFromStyle): Ditto.
2596         (WebCore::fontStyleFromStyle): Ditto.
2597         (WebCore::fontVariantFromStyle): Ditto.
2598         (WebCore::fontWeightFromStyle): Ditto.
2599
2600         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
2601         implementation of the computed 'font' property (CSSPropertyFont.)
2602
2603 2011-09-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2604
2605         [Qt] Redirection overflow errors have wrong error domain
2606         https://bugs.webkit.org/show_bug.cgi?id=68612
2607
2608         Reviewed by Andreas Kling.
2609
2610         Redirection overflow currently puts the URL hostname in the errorDomain field.
2611         Now redirection overflow errors will be classified as "HTTP" errors.
2612
2613         * platform/network/qt/QNetworkReplyHandler.cpp:
2614         (WebCore::QNetworkReplyHandler::redirect):
2615
2616 2011-09-22  James Robinson  <jamesr@chromium.org>
2617
2618         Unreviewed, rolling out r95699.
2619         http://trac.webkit.org/changeset/95699
2620         https://bugs.webkit.org/show_bug.cgi?id=67417
2621
2622         Makes many chromium compositor tests crash
2623
2624         * platform/CrossThreadCopier.h:
2625         * platform/graphics/chromium/LayerRendererChromium.cpp:
2626         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2627         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2628         (WebCore::CCHeadsUpDisplay::enabled):
2629         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2630         (WebCore::CCLayerImpl::CCLayerImpl):
2631         (WebCore::CCLayerImpl::~CCLayerImpl):
2632         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2633         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2634         (WebCore::CCLayerTreeHost::commitTo):
2635         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2636         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2637         (WebCore::CCSettings::CCSettings):
2638         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2639         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2640         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2641         * platform/graphics/chromium/cc/CCProxy.h:
2642         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2643         (WebCore::CCSingleThreadProxy::finishAllRendering):
2644         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2645         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2646         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2647         (WebCore::CCThreadProxy::CCThreadProxy):
2648         (WebCore::CCThreadProxy::~CCThreadProxy):
2649         (WebCore::CCThreadProxy::compositeAndReadback):
2650         (WebCore::CCThreadProxy::finishAllRendering):
2651         (WebCore::CCThreadProxy::isStarted):
2652         (WebCore::CCThreadProxy::initializeLayerRenderer):
2653         (WebCore::CCThreadProxy::setNeedsCommit):
2654         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2655         (WebCore::CCThreadProxy::setNeedsRedraw):
2656         (WebCore::CCThreadProxy::start):
2657         (WebCore::CCThreadProxy::stop):
2658         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
2659         (WebCore::CCThreadProxy::beginFrameAndCommit):
2660         (WebCore::CCThreadProxy::commitOnCCThread):
2661         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2662         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
2663         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
2664         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2665         * platform/graphics/chromium/cc/CCThreadProxy.h:
2666
2667 2011-09-22  Nat Duca  <nduca@chromium.org>
2668
2669         [chromium] Make CCThreadProxy draw
2670         https://bugs.webkit.org/show_bug.cgi?id=67417
2671
2672         Update the CCThreadProxy to correctly implement the CCProxy
2673         interface, do all the right committing and updating steps, and
2674         draw a picture on the screen.
2675
2676         Reviewed by James Robinson.
2677
2678         * platform/graphics/IntRect.h:
2679         * platform/graphics/chromium/LayerRendererChromium.cpp:
2680         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2681         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2682         (WebCore::CCHeadsUpDisplay::enabled):
2683         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2684         (WebCore::CCLayerImpl::CCLayerImpl):
2685         (WebCore::CCLayerImpl::~CCLayerImpl):
2686         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2687         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2688         (WebCore::CCLayerTreeHost::commitTo):
2689         (WebCore::CCLayerTreeHost::commitComplete):
2690         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2691         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2692         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2693         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2694         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2695         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2696         (WebCore::CCSingleThreadProxy::finishAllRendering):
2697         (WebCore::CCSingleThreadProxy::setNeedsCommit):
2698         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2699         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2700         (WebCore::CCThreadProxy::CCThreadProxy):
2701         (WebCore::CCThreadProxy::~CCThreadProxy):
2702         (WebCore::CCThreadProxy::compositeAndReadback):
2703         (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
2704         (WebCore::CCThreadProxy::finishAllRendering):
2705         (WebCore::CCThreadProxy::isStarted):
2706         (WebCore::CCThreadProxy::setNeedsCommit):
2707         (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
2708         (WebCore::CCThreadProxy::setNeedsRedraw):
2709         (WebCore::CCThreadProxy::start):
2710         (WebCore::CCThreadProxy::stop):
2711         (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
2712         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
2713         (WebCore::CCThreadProxy::beginFrameAndCommit):
2714         (WebCore::CCThreadProxy::commitOnCCThread):
2715         (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
2716         (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
2717         (WebCore::CCThreadProxy::drawLayersOnCCThread):
2718         (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
2719         * platform/graphics/chromium/cc/CCThreadProxy.h:
2720
2721 2011-09-21  Beth Dakin  <bdakin@apple.com>
2722
2723         https://bugs.webkit.org/show_bug.cgi?id=67415
2724         Text drawn via -webkit-background-clip:text is blurry at device scale factors >1.0
2725         -and corresponding-
2726         <rdar://problem/10060379>
2727
2728         Reviewed by Darin Adler.
2729
2730         New helper function RenderBoxModelObject scales the mask image by the 
2731         deviceScaleFactor to get an image of the appropriate resolution. It also scales 
2732         the image's GraphicsContext so that the clip is set up on the same scale. Back in 
2733         paintFillLayerExtended() we still clip the image to the original maskRect to get 
2734         everything scaled back to the appropriate size.
2735         * rendering/RenderBoxModelObject.cpp:
2736         (WebCore::createDeviceScaledImageBuffer):
2737         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2738
2739         Make the deviceScaleFactor convenience function just a namespace-level function in 
2740         Page rather than a static member or Page.
2741         * page/Page.cpp:
2742         (WebCore::deviceScaleFactor):
2743         * page/Page.h:
2744         
2745         Pre-existing callers of Page::deviceScaleFactor(Frame*) must now use 
2746         WebCore::deviceScaleFactor(Frame*)
2747         * editing/DeleteButtonController.cpp:
2748         (WebCore::DeleteButtonController::createDeletionUI):
2749         * rendering/RenderImage.cpp:
2750         (WebCore::RenderImage::imageSizeForError):
2751         (WebCore::RenderImage::paintReplaced):
2752         * rendering/RenderLayer.cpp:
2753         (WebCore::RenderLayer::drawPlatformResizerImage):
2754
2755 2011-09-21  Tim Horton  <timothy_horton@apple.com>
2756
2757         [CG] ImageBufferData::getData has an invariant comparison in the inner part of a loop which doesn't get optimized out
2758         https://bugs.webkit.org/show_bug.cgi?id=68588
2759         <rdar://problem/10164955>
2760
2761         Reviewed by Simon Fraser.
2762
2763         Factor the unmultiplied check out of the inner loop, resulting in a
2764         speed bump in ImageBufferData::getData.
2765
2766         No new tests, performance improvement.
2767
2768         * platform/graphics/cg/ImageBufferDataCG.cpp:
2769         (WebCore::ImageBufferData::getData):
2770
2771 2011-09-21  Sameer Patil  <mkrp87@motorola.com>
2772
2773         :hover selector fails when hovering over a child select element with size attribute
2774         https://bugs.webkit.org/show_bug.cgi?id=67594
2775
2776         Reviewed by Darin Adler.
2777
2778         Test: fast/css/hover-affects-ancestor.html
2779
2780         This patch addresses the problem of deactivation of the ancestor element :hover rules
2781         when hovered its contained elements.
2782
2783         * rendering/RenderLayer.cpp:
2784         (WebCore::RenderLayer::updateHoverActiveState):
2785
2786 2011-09-21  Sergey Glazunov  <serg.glazunov@gmail.com>
2787
2788         [Chromium] Protect message ports from being deleted in V8MessageEvent::portsAccessorGetter
2789         https://bugs.webkit.org/show_bug.cgi?id=68584
2790
2791         Reviewed by Adam Barth.
2792
2793         Test: fast/dom/message-port-deleted-by-accessor.html
2794
2795         * bindings/v8/custom/V8MessageEventCustom.cpp:
2796         (WebCore::V8MessageEvent::portsAccessorGetter):
2797
2798 2011-09-21  Anders Carlsson  <andersca@apple.com>
2799
2800         Add back protection against the NSView going away while handling mouseDown
2801         https://bugs.webkit.org/show_bug.cgi?id=68585
2802
2803         Reviewed by Darin Adler.
2804
2805         Add calls to RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(),
2806         as a followup fix to https://bugs.webkit.org/show_bug.cgi?id=68570.
2807
2808         * page/mac/EventHandlerMac.mm:
2809         (WebCore::EventHandler::passMouseDownEventToWidget):
2810
2811 2011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>
2812
2813         Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
2814         https://bugs.webkit.org/show_bug.cgi?id=68133
2815
2816         Reviewed by Darin Adler.
2817
2818         Tests: fast/css/webkit-mask-crash-fieldset-legend.html
2819                fast/css/webkit-mask-crash-figure.html
2820                fast/css/webkit-mask-crash-table.html
2821                fast/css/webkit-mask-crash-td-2.html
2822                fast/css/webkit-mask-crash-td.html
2823
2824         GraphicsContext::getCTM crashes if called with a GraphicsContext that has painting
2825         disabled. RenderBox::paintMaskImages would thus crash if called in this condition.
2826
2827         This change just modifies the different GraphicsContext::getCTM method to bail early
2828         if painting is disabled on the GraphicsContext. The rest of the change is exposing
2829         paintControlTints that exposes this.
2830
2831         * WebCore.exp.in: Added symbols of the newly export window.internals function.
2832
2833         * page/FrameView.cpp:
2834         (WebCore::FrameView::updateControlTints): Split this function in 2 so that
2835         I can expose the internal paintControlTints.
2836
2837         (WebCore::FrameView::paintControlTints):
2838         This is the one exposed to Internals as we want to be testable regardless of
2839         whether the platform supports control tints.
2840
2841         * page/FrameView.h: Added paintControlTints.
2842
2843         * testing/Internals.cpp:
2844         (WebCore::Internals::paintControlTints):
2845         * testing/Internals.h:
2846         * testing/Internals.idl:
2847         Added a way to force a fake painting so that we can easily reproduce the bugs.
2848
2849         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2850         (WebCore::GraphicsContext::getCTM):
2851         * platform/graphics/cg/GraphicsContextCG.cpp:
2852         (WebCore::GraphicsContext::getCTM):
2853         * platform/graphics/qt/GraphicsContextQt.cpp:
2854         (WebCore::GraphicsContext::getCTM):
2855         * platform/graphics/skia/GraphicsContextSkia.cpp:
2856         (WebCore::GraphicsContext::getCTM):
2857         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2858         (WebCore::GraphicsContext::getCTM):
2859         * platform/graphics/wx/GraphicsContextWx.cpp:
2860         (WebCore::GraphicsContext::getCTM):
2861         Fixed all our back-end to exit early if painting is disabled.
2862
2863 2011-09-19  Jer Noble  <jer.noble@apple.com>
2864
2865         Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
2866         https://bugs.webkit.org/show_bug.cgi?id=68382
2867
2868         Reviewed by Darin Adler.
2869
2870         Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.
2871
2872         No new tests, as this feature is not yet enabled by default.
2873
2874         * bindings/js/JSDOMWindowCustom.cpp:
2875         (WebCore::JSDOMWindow::webkitAudioContext):
2876
2877 2011-09-21  Anders Carlsson  <andersca@apple.com>
2878
2879         Remove checks for Leopard-only Objective-C APIs
2880         https://bugs.webkit.org/show_bug.cgi?id=68579
2881
2882         Reviewed by Sam Weinig.
2883
2884         We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard.
2885
2886         * bridge/objc/objc_class.mm:
2887         (JSC::Bindings::ObjcClass::methodsNamed):
2888         (JSC::Bindings::ObjcClass::fieldNamed):
2889         * bridge/objc/objc_instance.mm:
2890         (allocateAutoReleasePool):
2891         * bridge/objc/objc_runtime.mm:
2892         (JSC::Bindings::ObjcField::ObjcField):
2893         * page/mac/EventHandlerMac.mm:
2894
2895 2011-09-21  Anders Carlsson  <andersca@apple.com>
2896
2897         Remove Widget::beforeMouseDown and Widget::afterMouseDown
2898         https://bugs.webkit.org/show_bug.cgi?id=68570
2899
2900         Reviewed by Sam Weinig.
2901
2902         These two member functions were originally added to avoid crashes due to removing NSViews while they were
2903         being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
2904         AppKit that lead to crashes have been fixed.
2905
2906         * page/mac/EventHandlerMac.mm:
2907         (WebCore::EventHandler::passMouseDownEventToWidget):
2908         * platform/Widget.h:
2909         * platform/mac/WidgetMac.mm:
2910         (WebCore::Widget::Widget):
2911         (WebCore::Widget::removeFromSuperview):
2912
2913         * rendering/RenderWidget.cpp:
2914         Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
2915
2916 2011-09-21  Abhishek Arya  <inferno@chromium.org>
2917
2918         Not use anonymousContainer on beforeChild calculation
2919         and let later code handle it. Fix style update on block-level
2920         anonymous objects.
2921         https://bugs.webkit.org/show_bug.cgi?id=67656
2922
2923         Reviewed by David Hyatt.
2924
2925         Test: fast/table/quote-text-around-iframe.html
2926
2927         * rendering/RenderTable.cpp:
2928         (WebCore::RenderTable::addChild):
2929         * rendering/RenderTableCell.cpp:
2930         (WebCore::RenderTableCell::styleDidChange):
2931         * rendering/RenderTableRow.cpp:
2932         (WebCore::RenderTableRow::addChild):
2933         * rendering/RenderObject.cpp:
2934         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
2935
2936 2011-09-21  David Hyatt  <hyatt@apple.com>
2937
2938         https://bugs.webkit.org/show_bug.cgi?id=68562
2939         
2940         Pagination struts don't update properly when collapsing margin estimates are wrong.
2941         
2942         Refactor the pagination adjustments that happen during block layout to allow for
2943         a 3-pass layout system instead of just a 2-pass layout system. The basic idea is
2944         to come up with an estimate that includes collapsing, clearance and pagination.
2945         
2946         If the estimate only with collapsing and clearance was wrong, then we lay out again
2947         using the correct collapsing margin values and clearance before applying pagination breaks.
2948         
2949         After this second layout, the normal code that runs when unpaginated compares estimates
2950         and lays out a third time to account for adjustments as a result of pagination movement.
2951
2952         Reviewed by Sam Weinig.
2953
2954         Added fast/regions/text-regions-split-small-pagination.html
2955
2956         * rendering/RenderBlock.cpp:
2957         (WebCore::RenderBlock::estimateLogicalTopPosition):
2958         (WebCore::RenderBlock::layoutBlockChild):
2959         (WebCore::RenderBlock::adjustBlockChildForPagination):
2960         * rendering/RenderBlock.h:
2961
2962 2011-09-21  James Robinson  <jamesr@chromium.org>
2963
2964         [chromium] SharedGraphicsContext3D's context should not be destroyed during atexit
2965         https://bugs.webkit.org/show_bug.cgi?id=68558
2966
2967         Reviewed by Stephen White.
2968
2969         The SharedGraphicsContext3D's internal context is lazily created and then leaked intentionally, but since the
2970         last ref is in a function-static RefPtr<> it ends up being destroyed at process exit time.  This is bad, since
2971         by the time we get this far in process shutdown we can't actually cleanly run the destruction logic and we
2972         crash.  Since we are explicitly leaking this for the lifetime of the process there's no point in keeping it in a
2973         RefPtr<>
2974
2975         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2976         (WebCore::SharedGraphicsContext3D::get):
2977
2978 2011-09-21  Sergey Glazunov  <serg.glazunov@gmail.com>
2979
2980         [Chromium] Protect the Frame in V8HTMLDocument::openCallback
2981         https://bugs.webkit.org/show_bug.cgi?id=68555
2982
2983         Reviewed by Nate Chapin.
2984
2985         Test: fast/dom/frame-deleted-in-document-open.html
2986
2987         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2988         (WebCore::V8HTMLDocument::openCallback):
2989
2990 2011-09-21  Adam Klein  <adamk@chromium.org>
2991
2992         Clean up CSS Counter code
2993         https://bugs.webkit.org/show_bug.cgi?id=68492
2994
2995         Reviewed by Tony Chang.
2996
2997         Several cleanups/fixes:
2998         - Make Counter::listStyle() return the actual list style string,
2999           rather than empty string.
3000         - Handle a specified list style of "none" correctly when generating
3001           cssText and in Counter::listStyle().
3002         - Use StringBuilder when generating cssText.
3003
3004         Test: fast/css/counters/getCounterValue.html
3005
3006         * css/CSSParser.cpp:
3007         (WebCore::CSSParser::parseCounterContent):
3008         Simplify processing (moving conversion to CSSStyleSelector),
3009         pass a CSS_IDENT as the listStyle to Counter::create.
3010         * css/CSSPrimitiveValue.cpp:
3011         (WebCore::CSSPrimitiveValue::cssText):
3012         Use StringBuilder.
3013         * css/CSSStyleSelector.cpp:
3014         (WebCore::CSSStyleSelector::applyProperty):
3015         Convert from a CSS_IDENT to an EListStyleType.
3016         * css/Counter.h:
3017         (WebCore::Counter::listStyleIdent):
3018         Renamed from listStyleNumber to match its new functionality.
3019
3020 2011-09-21  Chris Marrin  <cmarrin@apple.com>
3021
3022         Check in WebCore.vcproj file unchanged but written like MSDev likes it
3023
3024         Unreviewed.
3025
3026         * WebCode.vcproj/WebCore.vcproj:
3027
3028 2011-09-21  Stephen White  <senorblanco@chromium.org>
3029
3030         [chromium] Optimize ImageBuffer constructor when accelerated
3031         https://bugs.webkit.org/show_bug.cgi?id=68501
3032
3033         If the accelerated rendering mode is passed in to ImageBuffer, instead
3034         of creating a bitmap PlatformCanvas and subsequently replacing its
3035         device with an SkGpuDevice, create an SkCanvas and SkGpuDevice first,
3036         and fall back to raster creation only failure.  This saves on system
3037         RAM for the backing store (and possibly GDI resources).
3038
3039         Reviewed by James Robinson.
3040
3041         Covered by existing tests.
3042
3043         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3044         (WebCore::SharedGraphicsContext3D::get):
3045         * platform/graphics/gpu/SharedGraphicsContext3D.h:
3046         Rename "SharedGraphicsContext3D::create()" to "get()" to more
3047         accurately reflect its function.
3048         * platform/graphics/skia/ImageBufferSkia.cpp:
3049         (WebCore::createAcceleratedCanvas):
3050         Refactor creation of accelerated ImageBuffer.
3051         (WebCore::ImageBuffer::ImageBuffer):
3052         Attempt creation of accelerated ImageBuffer first, and only fall back
3053         to bitmap-backed canvas creation if it fails.
3054
3055 2011-09-21  Dan Bernstein  <mitz@apple.com>
3056
3057         WebCore part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
3058         https://bugs.webkit.org/show_bug.cgi?id=68451
3059
3060         Reviewed by Darin Adler.
3061
3062         * WebCore.xcodeproj/project.pbxproj: Added a script build phase that invokes
3063         check-for-inappropriate-objc-class-names, allowing only class names prefixed with "DOM" or "Web".
3064
3065 2011-09-21  Dan Bernstein  <mitz@apple.com>
3066
3067         <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
3068         https://bugs.webkit.org/show_bug.cgi?id=68550
3069
3070         Reviewed by Darin Adler.
3071
3072         Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html
3073
3074         * rendering/RenderBlock.cpp:
3075         (WebCore::RenderBlock::removeFloatingObjectsBelow): Break out of the while() loop when the
3076         floating object set is empty, which can happen if there were no floats on previous lines
3077         (in which case, lastFloat is 0).
3078
3079 2011-09-21  ChangSeok Oh  <shivamidow@gmail.com>
3080
3081         [GTK] Fix build break when enabling webgl on r95593
3082         https://bugs.webkit.org/show_bug.cgi?id=68502
3083
3084         Reviewed by Martin Robinson.
3085
3086         Add PassOwnPtr.h to GC3DPrivate.h and remove useless one from GC3DGtk.cpp & GC3DPrivate.cpp
3087
3088         No tests required.
3089
3090         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
3091         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
3092         * platform/graphics/gtk/GraphicsContext3DPrivate.h:
3093
3094 2011-09-21  Vsevolod Vlasov  <vsevik@chromium.org>
3095
3096         Web Inspector: clear resource agent resource cache upon resource agent's disable.
3097         https://bugs.webkit.org/show_bug.cgi?id=67995
3098
3099         Reviewed by Pavel Feldman.
3100
3101         Test: http/tests/inspector/network/network-disabling-check-no-memory-leak.html
3102
3103         * inspector/InspectorResourceAgent.cpp:
3104         (WebCore::InspectorResourceAgent::disable):
3105
3106 2011-09-21  David Hyatt  <hyatt@apple.com>
3107
3108         https://bugs.webkit.org/show_bug.cgi?id=68543
3109         
3110         Make sure that when regions change dimensions we recompute pagination slices.
3111
3112         Reviewed by Simon Fraser.
3113
3114         Added new tests in fast/regions.
3115
3116         * rendering/LayoutState.cpp:
3117         (WebCore::LayoutState::LayoutState):
3118         * rendering/LayoutState.h:
3119         * rendering/RenderFlowThread.cpp:
3120         (WebCore::RenderFlowThread::layout):
3121         (WebCore::RenderFlowThread::renderRegionForLine):
3122         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
3123         * rendering/RenderRegion.cpp:
3124         (WebCore::RenderRegion::layout):
3125         * rendering/RenderView.cpp:
3126         (WebCore::RenderView::pushLayoutState):
3127         * rendering/RenderView.h:
3128         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
3129         (WebCore::LayoutStateMaintainer::push):
3130
3131 2011-09-21  Xianzhu Wang  <wangxianzhu@chromium.org>
3132
3133         Ensure TestWebKitAPI works on mac, win, chromium-mac and chromium-linux
3134         https://bugs.webkit.org/show_bug.cgi?id=68206
3135
3136         Reviewed by Tony Chang.
3137
3138         Added two new wtf headers into ForwardingHeaders/wtf to make
3139         #include <wtf/...h> cross-platform.
3140         No new tests needed.
3141
3142         * ForwardingHeaders/wtf/MetaAllocator.h: Added.
3143         * ForwardingHeaders/wtf/RedBlackTree.h: Added.
3144
3145 2011-09-21  David Delaune  <david.delaune@googlemail.com>
3146
3147         [WinCairo] IconDatabase::defaultIcon always fails for non-CAN_THEME_URL_ICON builds.
3148         https://bugs.webkit.org/show_bug.cgi?id=67469
3149
3150         Reviewed by Brent Fulgham.
3151
3152         No new functionality added in this change.
3153
3154         * loader/icon/IconDatabase.cpp: defining CAN_THEME_URL_ICON for the WIN_CAIRO
3155
3156 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
3157
3158         Span element gets produced using backspace/delete to merge header with paragraph
3159         https://bugs.webkit.org/show_bug.cgi?id=68413
3160
3161         Reviewed by Darin Adler.
3162
3163         Add p element to the list of elements to retain appearance. Also modified removeStyleFromNode
3164         (and renamed to removeStyleFromRules) not to remove inline style declarations because
3165         inline styles need to stay on copy.
3166
3167         Test: editing/deleting/merge-paragraph-from-p-with-style.html
3168
3169         * editing/DeleteSelectionCommand.cpp:
3170         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
3171         * editing/EditingStyle.cpp:
3172         (WebCore::EditingStyle::removeStyleFromRules): Renamed from removeStyleFromNode.
3173         * editing/EditingStyle.h:
3174         * editing/markup.cpp:
3175         (WebCore::isBlockNodeToRetainAppearance):
3176         (WebCore::StyledMarkupAccumulator::serializeNodes):
3177
3178 2011-09-21  Alice Boxhall  <aboxhall@chromium.org>
3179
3180         Report AXValueChanged when value changes in element with role=textbox.
3181         https://bugs.webkit.org/show_bug.cgi?id=68201
3182
3183         Reviewed by Chris Fleizach.
3184
3185         Test: platform/mac/accessibility/textbox-role-reports-notifications.html
3186
3187         * accessibility/AccessibilityObject.cpp:
3188         (WebCore::AccessibilityObject::isARIATextControl):
3189         * accessibility/AccessibilityObject.h:
3190         * accessibility/AccessibilityRenderObject.cpp:
3191         (WebCore::AccessibilityRenderObject::contentChanged):
3192         (WebCore::AccessibilityRenderObject::childrenChanged):
3193
3194 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3195
3196         Web Inspector: introduce Page.enable and Page.disable
3197         https://bugs.webkit.org/show_bug.cgi?id=68530
3198
3199         Otherwise protocol is violating the contract of not sending
3200         notifications by default.
3201
3202         Reviewed by Yury Semikhatsky.
3203
3204         * inspector/Inspector.json:
3205
3206 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3207
3208         Web Inspector: add minimal error handling to the DOM breakpoints.
3209         https://bugs.webkit.org/show_bug.cgi?id=68537
3210
3211         Reviewed by Yury Semikhatsky.
3212
3213         * inspector/InspectorDOMAgent.h:
3214         * inspector/InspectorDOMDebuggerAgent.cpp:
3215         (WebCore::domTypeForName):
3216         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
3217         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
3218
3219 2011-09-21  Ilya Tikhonovsky  <loislo@chromium.org>
3220
3221         Web Inspector: make WebInspector a bit more timeline friendly.
3222         https://bugs.webkit.org/show_bug.cgi?id=68534
3223
3224         I found that the maximum captured stack frame depth tracked by timeline is not
3225         very convenient because the average depth of call stack considerably more than five.
3226         Another useful trick is console.timeStamp for all backend calls.
3227
3228         Reviewed by Yury Semikhatsky.
3229
3230         * inspector/CodeGeneratorInspector.pm:
3231         * inspector/front-end/TimelinePanel.js:
3232         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3233
3234 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3235
3236         [Qt][WK2] Implement Download support in WebProcess
3237         https://bugs.webkit.org/show_bug.cgi?id=68153
3238
3239         Reviewed by Andreas Kling.
3240
3241         Refactored QNetworkReplyHandler::finish() in order to add
3242         and use the static function QNetworkReplyHandler::errorForReply().
3243         This will be used by our Download implementation in WebKit2 (WebProcess)
3244         when handling ResourceError.
3245
3246         * platform/network/qt/QNetworkReplyHandler.cpp:
3247         (WebCore::QNetworkReplyHandler::finish):
3248         (WebCore::QNetworkReplyHandler::errorForReply):
3249         * platform/network/qt/QNetworkReplyHandler.h:
3250         * platform/network/qt/ResourceRequest.h:
3251
3252 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3253
3254         Web Inspector: paint box model colors in Metrics sidebar at all times, do not draw box outlines.
3255         https://bugs.webkit.org/show_bug.cgi?id=68240
3256
3257         Today we paint backgrounds in Metrics box model on hover only - should be painted at all
3258         times for the reference. Outlining boxes is highlight is wrong since outlines are outside
3259         the corresponding box regions. We've seen few reports on that + Firebug does not do borders
3260         for that reason.
3261
3262         Reviewed by Yury Semikhatsky.
3263
3264         * inspector/DOMNodeHighlighter.cpp:
3265         * inspector/DOMNodeHighlighter.h:
3266         * inspector/Inspector.json:
3267         * inspector/InspectorDOMAgent.cpp:
3268         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
3269         * inspector/front-end/Color.js:
3270         * inspector/front-end/MetricsSidebarPane.js:
3271         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
3272         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
3273         * inspector/front-end/inspector.css:
3274         (.metrics .label):
3275         * inspector/front-end/inspector.js:
3276         (WebInspector.buildHighlightConfig):
3277
3278 2011-09-21  Andreas Kling  <kling@webkit.org>
3279
3280         Protect against misuse of EventListenerIterator.
3281         https://bugs.webkit.org/show_bug.cgi?id=68364
3282
3283         Reviewed by Darin Adler.
3284
3285         In debug mode, keep track of the number of active EventListenerIterators
3286         on an EventListenerMap, and assert that there are no iterators when the
3287         map is being modified.
3288
3289         * dom/EventListenerMap.cpp:
3290         (WebCore::EventListenerMap::EventListenerMap):
3291         (WebCore::EventListenerMap::clear):
3292         (WebCore::EventListenerMap::add):
3293         (WebCore::EventListenerMap::remove):
3294         (WebCore::EventListenerMap::find):
3295         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
3296         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
3297         (WebCore::EventListenerIterator::EventListenerIterator):
3298         (WebCore::EventListenerIterator::~EventListenerIterator):
3299         * dom/EventListenerMap.h:
3300
3301 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3302
3303         Web Inspector: minor fixes in the DOM domain of the protocol.
3304         https://bugs.webkit.org/show_bug.cgi?id=68517
3305
3306         Reviewed by Yury Semikhatsky.
3307
3308         * inspector/Inspector.json:
3309         * inspector/InspectorDOMAgent.cpp:
3310         (WebCore::InspectorDOMAgent::setAttributesAsText):
3311         * inspector/InspectorDOMAgent.h:
3312         * inspector/front-end/DOMAgent.js:
3313         (WebInspector.DOMNode.prototype.setAttribute):
3314
3315 2011-09-16  Pavel Feldman  <pfeldman@google.com>
3316
3317         Web Inspector: limit the use of "Resource" term in the protocol.
3318         https://bugs.webkit.org/show_bug.cgi?id=68250
3319
3320         Reviewed by Yury Semikhatsky.
3321
3322         * inspector/Inspector.json:
3323         * inspector/InspectorResourceAgent.cpp:
3324         (WebCore::InspectorResourceAgent::markResourceAsCached):
3325         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3326         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
3327         (WebCore::InspectorResourceAgent::getResponseBody):
3328         * inspector/InspectorResourceAgent.h:
3329         * inspector/front-end/ExtensionServer.js:
3330         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
3331         * inspector/front-end/NetworkManager.js:
3332         (WebInspector.NetworkManager.prototype.requestContent):
3333         (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
3334         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
3335
3336 2011-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3337
3338         Unreviewed, rolling out r95608.
3339         http://trac.webkit.org/changeset/95608
3340         https://bugs.webkit.org/show_bug.cgi?id=68521
3341
3342         breaks GTK and Windows builds. Please check EWS next time.
3343         (Requested by philn-tp on #webkit).
3344
3345         * html/HTMLBodyElement.cpp:
3346         (WebCore::adjustForZoom):
3347         (WebCore::HTMLBodyElement::setScrollLeft):
3348         (WebCore::HTMLBodyElement::setScrollTop):
3349         * loader/HistoryController.cpp:
3350         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
3351         * page/DOMWindow.cpp:
3352         (WebCore::DOMWindow::scrollX):
3353         (WebCore::DOMWindow::scrollY):
3354         (WebCore::DOMWindow::scrollTo):
3355         * page/Frame.cpp:
3356         (WebCore::Frame::pageScaleFactor):
3357         * page/Frame.h:
3358         * page/FrameView.cpp:
3359         (WebCore::FrameView::applyOverflowToViewport):
3360         (WebCore::FrameView::scrollXForFixedPosition):
3361         (WebCore::FrameView::scrollYForFixedPosition):
3362
3363 2011-09-21  Pavel Feldman  <pfeldman@google.com>
3364
3365         Web Inspector: console panel's scroller is not properly aligned.
3366         https://bugs.webkit.org/show_bug.cgi?id=68448
3367
3368         Reviewed by Yury Semikhatsky.
3369
3370         * inspector/front-end/inspector.css:
3371         (#console-view):
3372         (#console-messages):
3373         (#drawer #console-messages):
3374
3375 2011-09-20  Alpha Lam  <hclam@chromium.org>
3376
3377         https://bugs.webkit.org/show_bug.cgi?id=68081
3378         Fix scroll in page scaling mode.
3379
3380         Reviewed by Simon Fraser.
3381
3382         The following things are done in this patch:
3383         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
3384            reflect its purpose.
3385         2. Frame::frameScaleFactor() returns the scale factor of this frame with
3386            respect to the container. So for the main frame it'll return the scale
3387            factor of the page, inner frames will return 1.0
3388         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
3389            scale factor, causing incorrect coordinates reported to Javascript.
3390
3391         Tests: fast/events/scale-and-scroll-body.html
3392                fast/events/scale-and-scroll-iframe-body.html
3393                fast/events/scale-and-scroll-iframe-window.html
3394                fast/events/scale-and-scroll-window.html
3395
3396         * html/HTMLBodyElement.cpp:
3397         (WebCore::adjustForZoom):
3398         (WebCore::HTMLBodyElement::setScrollLeft):
3399         (WebCore::HTMLBodyElement::setScrollTop):
3400         * loader/HistoryController.cpp:
3401         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
3402         * page/DOMWindow.cpp:
3403         (WebCore::DOMWindow::scrollX):
3404         (WebCore::DOMWindow::scrollY):
3405         (WebCore::DOMWindow::scrollTo):
3406         * page/Frame.cpp:
3407         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
3408                                             main frame, otherwise 1.0
3409         * page/Frame.h:
3410         * page/FrameView.cpp:
3411         (WebCore::FrameView::applyOverflowToViewport):
3412         (WebCore::FrameView::scrollXForFixedPosition):
3413         (WebCore::FrameView::scrollYForFixedPosition):
3414
3415 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
3416
3417         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
3418         https://bugs.webkit.org/show_bug.cgi?id=67702
3419
3420         Reviewed by Csaba Osztrogonác.
3421
3422         No new tests needed.
3423
3424         * css/SelectorChecker.cpp: Move Qt-specific code to the Qt-specific WebPlatformStrategies.
3425         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3426         * platform/VisitedLinkStrategy.h:
3427
3428 2011-09-16  MORITA Hajime  <morrita@google.com>
3429
3430         Style changes on forwarded shadow children should trigger shadow renderer reconstruction.
3431         https://bugs.webkit.org/show_bug.cgi?id=68228
3432
3433         Reviewed by Dimitri Glazkov.
3434
3435         Currently style changes on forwarded shadow child triggers
3436         Node::reattach() only for the forwarded node. But it should
3437         invalidate whole renderers on the shadow tree because
3438         ShadowContentElement expects its inclusions to be attached and to
3439         create renderers in the inclusion order. But single node
3440         reattach() violates the expectation and possibly creates
3441         inconsistent render tree.
3442
3443         This change makes NodeRenderingContext to go
3444         AttachContentForwarded, where the ShadowContentElement::attach()
3445         happens, only during ShadowRoot::attach(), not for style-change
3446         triggered Node::attach() on the forwarded nodes.
3447
3448         Note that the altering phase AttachContentLight doesn't create
3449         renderers for the forwarded nodes. Instead of that, it possibly
3450         triggers shadow subtree reconstruction on
3451         NodeRenderingContext::hostChildrenChanged().
3452
3453         No new tests. This is a defensive change. There is no visible
3454         difference at this time.
3455
3456         * dom/NodeRenderingContext.cpp:
3457         (WebCore::NodeRenderingContext::NodeRenderingContext):
3458         * dom/ShadowRoot.cpp:
3459         (WebCore::ShadowRoot::isInclusionSelectorActive):
3460         * dom/ShadowRoot.h:
3461
3462 2011-09-20  MORITA Hajime  <morrita@google.com>
3463
3464         <meter> doesn't update rendering when its value is changed.
3465         https://bugs.webkit.org/show_bug.cgi?id=67614
3466
3467         Reviewed by Dimitri Glazkov.
3468
3469         It lacks repaint() when the value is changed. 
3470 &nb