1ae95aef050604c27b87667ad90a885c26da6c1c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-21  Dan Bernstein  <mitz@apple.com>
2
3         <rdar://problem/9768483> REGRESSION: Crash in RenderBlock::removeFloatingObjectsBelow()
4         https://bugs.webkit.org/show_bug.cgi?id=68550
5
6         Reviewed by Darin Adler.
7
8         Test: fast/multicol/null-lastFloat-in-removeFloatingObjectsBelow.html
9
10         * rendering/RenderBlock.cpp:
11         (WebCore::RenderBlock::removeFloatingObjectsBelow): Break out of the while() loop when the
12         floating object set is empty, which can happen if there were no floats on previous lines
13         (in which case, lastFloat is 0).
14
15 2011-09-21  ChangSeok Oh  <shivamidow@gmail.com>
16
17         [GTK] Fix build break when enabling webgl on r95593
18         https://bugs.webkit.org/show_bug.cgi?id=68502
19
20         Reviewed by Martin Robinson.
21
22         Add PassOwnPtr.h to GC3DPrivate.h and remove useless one from GC3DGtk.cpp & GC3DPrivate.cpp
23
24         No tests required.
25
26         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
27         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
28         * platform/graphics/gtk/GraphicsContext3DPrivate.h:
29
30 2011-09-21  Vsevolod Vlasov  <vsevik@chromium.org>
31
32         Web Inspector: clear resource agent resource cache upon resource agent's disable.
33         https://bugs.webkit.org/show_bug.cgi?id=67995
34
35         Reviewed by Pavel Feldman.
36
37         Test: http/tests/inspector/network/network-disabling-check-no-memory-leak.html
38
39         * inspector/InspectorResourceAgent.cpp:
40         (WebCore::InspectorResourceAgent::disable):
41
42 2011-09-21  David Hyatt  <hyatt@apple.com>
43
44         https://bugs.webkit.org/show_bug.cgi?id=68543
45         
46         Make sure that when regions change dimensions we recompute pagination slices.
47
48         Reviewed by Simon Fraser.
49
50         Added new tests in fast/regions.
51
52         * rendering/LayoutState.cpp:
53         (WebCore::LayoutState::LayoutState):
54         * rendering/LayoutState.h:
55         * rendering/RenderFlowThread.cpp:
56         (WebCore::RenderFlowThread::layout):
57         (WebCore::RenderFlowThread::renderRegionForLine):
58         (WebCore::RenderFlowThread::regionLogicalWidthForLine):
59         * rendering/RenderRegion.cpp:
60         (WebCore::RenderRegion::layout):
61         * rendering/RenderView.cpp:
62         (WebCore::RenderView::pushLayoutState):
63         * rendering/RenderView.h:
64         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
65         (WebCore::LayoutStateMaintainer::push):
66
67 2011-09-21  Xianzhu Wang  <wangxianzhu@chromium.org>
68
69         Ensure TestWebKitAPI works on mac, win, chromium-mac and chromium-linux
70         https://bugs.webkit.org/show_bug.cgi?id=68206
71
72         Reviewed by Tony Chang.
73
74         Added two new wtf headers into ForwardingHeaders/wtf to make
75         #include <wtf/...h> cross-platform.
76         No new tests needed.
77
78         * ForwardingHeaders/wtf/MetaAllocator.h: Added.
79         * ForwardingHeaders/wtf/RedBlackTree.h: Added.
80
81 2011-09-21  David Delaune  <david.delaune@googlemail.com>
82
83         [WinCairo] IconDatabase::defaultIcon always fails for non-CAN_THEME_URL_ICON builds.
84         https://bugs.webkit.org/show_bug.cgi?id=67469
85
86         Reviewed by Brent Fulgham.
87
88         No new functionality added in this change.
89
90         * loader/icon/IconDatabase.cpp: defining CAN_THEME_URL_ICON for the WIN_CAIRO
91
92 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
93
94         Span element gets produced using backspace/delete to merge header with paragraph
95         https://bugs.webkit.org/show_bug.cgi?id=68413
96
97         Reviewed by Darin Adler.
98
99         Add p element to the list of elements to retain appearance. Also modified removeStyleFromNode
100         (and renamed to removeStyleFromRules) not to remove inline style declarations because
101         inline styles need to stay on copy.
102
103         Test: editing/deleting/merge-paragraph-from-p-with-style.html
104
105         * editing/DeleteSelectionCommand.cpp:
106         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
107         * editing/EditingStyle.cpp:
108         (WebCore::EditingStyle::removeStyleFromRules): Renamed from removeStyleFromNode.
109         * editing/EditingStyle.h:
110         * editing/markup.cpp:
111         (WebCore::isBlockNodeToRetainAppearance):
112         (WebCore::StyledMarkupAccumulator::serializeNodes):
113
114 2011-09-21  Alice Boxhall  <aboxhall@chromium.org>
115
116         Report AXValueChanged when value changes in element with role=textbox.
117         https://bugs.webkit.org/show_bug.cgi?id=68201
118
119         Reviewed by Chris Fleizach.
120
121         Test: platform/mac/accessibility/textbox-role-reports-notifications.html
122
123         * accessibility/AccessibilityObject.cpp:
124         (WebCore::AccessibilityObject::isARIATextControl):
125         * accessibility/AccessibilityObject.h:
126         * accessibility/AccessibilityRenderObject.cpp:
127         (WebCore::AccessibilityRenderObject::contentChanged):
128         (WebCore::AccessibilityRenderObject::childrenChanged):
129
130 2011-09-21  Pavel Feldman  <pfeldman@google.com>
131
132         Web Inspector: introduce Page.enable and Page.disable
133         https://bugs.webkit.org/show_bug.cgi?id=68530
134
135         Otherwise protocol is violating the contract of not sending
136         notifications by default.
137
138         Reviewed by Yury Semikhatsky.
139
140         * inspector/Inspector.json:
141
142 2011-09-21  Pavel Feldman  <pfeldman@google.com>
143
144         Web Inspector: add minimal error handling to the DOM breakpoints.
145         https://bugs.webkit.org/show_bug.cgi?id=68537
146
147         Reviewed by Yury Semikhatsky.
148
149         * inspector/InspectorDOMAgent.h:
150         * inspector/InspectorDOMDebuggerAgent.cpp:
151         (WebCore::domTypeForName):
152         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
153         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
154
155 2011-09-21  Ilya Tikhonovsky  <loislo@chromium.org>
156
157         Web Inspector: make WebInspector a bit more timeline friendly.
158         https://bugs.webkit.org/show_bug.cgi?id=68534
159
160         I found that the maximum captured stack frame depth tracked by timeline is not
161         very convenient because the average depth of call stack considerably more than five.
162         Another useful trick is console.timeStamp for all backend calls.
163
164         Reviewed by Yury Semikhatsky.
165
166         * inspector/CodeGeneratorInspector.pm:
167         * inspector/front-end/TimelinePanel.js:
168         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
169
170 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
171
172         [Qt][WK2] Implement Download support in WebProcess
173         https://bugs.webkit.org/show_bug.cgi?id=68153
174
175         Reviewed by Andreas Kling.
176
177         Refactored QNetworkReplyHandler::finish() in order to add
178         and use the static function QNetworkReplyHandler::errorForReply().
179         This will be used by our Download implementation in WebKit2 (WebProcess)
180         when handling ResourceError.
181
182         * platform/network/qt/QNetworkReplyHandler.cpp:
183         (WebCore::QNetworkReplyHandler::finish):
184         (WebCore::QNetworkReplyHandler::errorForReply):
185         * platform/network/qt/QNetworkReplyHandler.h:
186         * platform/network/qt/ResourceRequest.h:
187
188 2011-09-21  Pavel Feldman  <pfeldman@google.com>
189
190         Web Inspector: paint box model colors in Metrics sidebar at all times, do not draw box outlines.
191         https://bugs.webkit.org/show_bug.cgi?id=68240
192
193         Today we paint backgrounds in Metrics box model on hover only - should be painted at all
194         times for the reference. Outlining boxes is highlight is wrong since outlines are outside
195         the corresponding box regions. We've seen few reports on that + Firebug does not do borders
196         for that reason.
197
198         Reviewed by Yury Semikhatsky.
199
200         * inspector/DOMNodeHighlighter.cpp:
201         * inspector/DOMNodeHighlighter.h:
202         * inspector/Inspector.json:
203         * inspector/InspectorDOMAgent.cpp:
204         (WebCore::InspectorDOMAgent::setHighlightDataFromConfig):
205         * inspector/front-end/Color.js:
206         * inspector/front-end/MetricsSidebarPane.js:
207         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
208         (WebInspector.MetricsSidebarPane.prototype._updateMetrics):
209         * inspector/front-end/inspector.css:
210         (.metrics .label):
211         * inspector/front-end/inspector.js:
212         (WebInspector.buildHighlightConfig):
213
214 2011-09-21  Andreas Kling  <kling@webkit.org>
215
216         Protect against misuse of EventListenerIterator.
217         https://bugs.webkit.org/show_bug.cgi?id=68364
218
219         Reviewed by Darin Adler.
220
221         In debug mode, keep track of the number of active EventListenerIterators
222         on an EventListenerMap, and assert that there are no iterators when the
223         map is being modified.
224
225         * dom/EventListenerMap.cpp:
226         (WebCore::EventListenerMap::EventListenerMap):
227         (WebCore::EventListenerMap::clear):
228         (WebCore::EventListenerMap::add):
229         (WebCore::EventListenerMap::remove):
230         (WebCore::EventListenerMap::find):
231         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
232         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
233         (WebCore::EventListenerIterator::EventListenerIterator):
234         (WebCore::EventListenerIterator::~EventListenerIterator):
235         * dom/EventListenerMap.h:
236
237 2011-09-21  Pavel Feldman  <pfeldman@google.com>
238
239         Web Inspector: minor fixes in the DOM domain of the protocol.
240         https://bugs.webkit.org/show_bug.cgi?id=68517
241
242         Reviewed by Yury Semikhatsky.
243
244         * inspector/Inspector.json:
245         * inspector/InspectorDOMAgent.cpp:
246         (WebCore::InspectorDOMAgent::setAttributesAsText):
247         * inspector/InspectorDOMAgent.h:
248         * inspector/front-end/DOMAgent.js:
249         (WebInspector.DOMNode.prototype.setAttribute):
250
251 2011-09-16  Pavel Feldman  <pfeldman@google.com>
252
253         Web Inspector: limit the use of "Resource" term in the protocol.
254         https://bugs.webkit.org/show_bug.cgi?id=68250
255
256         Reviewed by Yury Semikhatsky.
257
258         * inspector/Inspector.json:
259         * inspector/InspectorResourceAgent.cpp:
260         (WebCore::InspectorResourceAgent::markResourceAsCached):
261         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
262         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
263         (WebCore::InspectorResourceAgent::getResponseBody):
264         * inspector/InspectorResourceAgent.h:
265         * inspector/front-end/ExtensionServer.js:
266         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
267         * inspector/front-end/NetworkManager.js:
268         (WebInspector.NetworkManager.prototype.requestContent):
269         (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
270         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
271
272 2011-09-21  Sheriff Bot  <webkit.review.bot@gmail.com>
273
274         Unreviewed, rolling out r95608.
275         http://trac.webkit.org/changeset/95608
276         https://bugs.webkit.org/show_bug.cgi?id=68521
277
278         breaks GTK and Windows builds. Please check EWS next time.
279         (Requested by philn-tp on #webkit).
280
281         * html/HTMLBodyElement.cpp:
282         (WebCore::adjustForZoom):
283         (WebCore::HTMLBodyElement::setScrollLeft):
284         (WebCore::HTMLBodyElement::setScrollTop):
285         * loader/HistoryController.cpp:
286         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
287         * page/DOMWindow.cpp:
288         (WebCore::DOMWindow::scrollX):
289         (WebCore::DOMWindow::scrollY):
290         (WebCore::DOMWindow::scrollTo):
291         * page/Frame.cpp:
292         (WebCore::Frame::pageScaleFactor):
293         * page/Frame.h:
294         * page/FrameView.cpp:
295         (WebCore::FrameView::applyOverflowToViewport):
296         (WebCore::FrameView::scrollXForFixedPosition):
297         (WebCore::FrameView::scrollYForFixedPosition):
298
299 2011-09-21  Pavel Feldman  <pfeldman@google.com>
300
301         Web Inspector: console panel's scroller is not properly aligned.
302         https://bugs.webkit.org/show_bug.cgi?id=68448
303
304         Reviewed by Yury Semikhatsky.
305
306         * inspector/front-end/inspector.css:
307         (#console-view):
308         (#console-messages):
309         (#drawer #console-messages):
310
311 2011-09-20  Alpha Lam  <hclam@chromium.org>
312
313         https://bugs.webkit.org/show_bug.cgi?id=68081
314         Fix scroll in page scaling mode.
315
316         Reviewed by Simon Fraser.
317
318         The following things are done in this patch:
319         1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
320            reflect its purpose.
321         2. Frame::frameScaleFactor() returns the scale factor of this frame with
322            respect to the container. So for the main frame it'll return the scale
323            factor of the page, inner frames will return 1.0
324         3. scrollBy(), scrollX() and scrollY() to take into account of the frame
325            scale factor, causing incorrect coordinates reported to Javascript.
326
327         Tests: fast/events/scale-and-scroll-body.html
328                fast/events/scale-and-scroll-iframe-body.html
329                fast/events/scale-and-scroll-iframe-window.html
330                fast/events/scale-and-scroll-window.html
331
332         * html/HTMLBodyElement.cpp:
333         (WebCore::adjustForZoom):
334         (WebCore::HTMLBodyElement::setScrollLeft):
335         (WebCore::HTMLBodyElement::setScrollTop):
336         * loader/HistoryController.cpp:
337         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
338         * page/DOMWindow.cpp:
339         (WebCore::DOMWindow::scrollX):
340         (WebCore::DOMWindow::scrollY):
341         (WebCore::DOMWindow::scrollTo):
342         * page/Frame.cpp:
343         (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
344                                             main frame, otherwise 1.0
345         * page/Frame.h:
346         * page/FrameView.cpp:
347         (WebCore::FrameView::applyOverflowToViewport):
348         (WebCore::FrameView::scrollXForFixedPosition):
349         (WebCore::FrameView::scrollYForFixedPosition):
350
351 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
352
353         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
354         https://bugs.webkit.org/show_bug.cgi?id=67702
355
356         Reviewed by Csaba Osztrogonác.
357
358         No new tests needed.
359
360         * css/SelectorChecker.cpp: Move Qt-specific code to the Qt-specific WebPlatformStrategies.
361         (WebCore::SelectorChecker::determineLinkStateSlowCase):
362         * platform/VisitedLinkStrategy.h:
363
364 2011-09-16  MORITA Hajime  <morrita@google.com>
365
366         Style changes on forwarded shadow children should trigger shadow renderer reconstruction.
367         https://bugs.webkit.org/show_bug.cgi?id=68228
368
369         Reviewed by Dimitri Glazkov.
370
371         Currently style changes on forwarded shadow child triggers
372         Node::reattach() only for the forwarded node. But it should
373         invalidate whole renderers on the shadow tree because
374         ShadowContentElement expects its inclusions to be attached and to
375         create renderers in the inclusion order. But single node
376         reattach() violates the expectation and possibly creates
377         inconsistent render tree.
378
379         This change makes NodeRenderingContext to go
380         AttachContentForwarded, where the ShadowContentElement::attach()
381         happens, only during ShadowRoot::attach(), not for style-change
382         triggered Node::attach() on the forwarded nodes.
383
384         Note that the altering phase AttachContentLight doesn't create
385         renderers for the forwarded nodes. Instead of that, it possibly
386         triggers shadow subtree reconstruction on
387         NodeRenderingContext::hostChildrenChanged().
388
389         No new tests. This is a defensive change. There is no visible
390         difference at this time.
391
392         * dom/NodeRenderingContext.cpp:
393         (WebCore::NodeRenderingContext::NodeRenderingContext):
394         * dom/ShadowRoot.cpp:
395         (WebCore::ShadowRoot::isInclusionSelectorActive):
396         * dom/ShadowRoot.h:
397
398 2011-09-20  MORITA Hajime  <morrita@google.com>
399
400         <meter> doesn't update rendering when its value is changed.
401         https://bugs.webkit.org/show_bug.cgi?id=67614
402
403         Reviewed by Dimitri Glazkov.
404
405         It lacks repaint() when the value is changed. 
406         
407         For non-native appearance it works because the indicator is
408         implemented in shadow DOM, for native appearance, repainting should be
409         handled explicitly.
410         
411         Test: fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html
412
413         * html/HTMLMeterElement.cpp:
414         (WebCore::HTMLMeterElement::didElementStateChange):
415         * rendering/RenderMeter.cpp:
416         (WebCore::RenderMeter::updateFromElement):
417         * rendering/RenderMeter.h:
418         * rendering/RenderProgress.cpp:
419         (WebCore::RenderProgress::updateAnimationState):
420
421 2011-09-20  Kent Tamura  <tkent@chromium.org>
422
423         Move RenderObject::markContainingBlocksForLayout() to RenderObject.cpp.
424         https://bugs.webkit.org/show_bug.cgi?id=67989
425
426         Reviewed by Ryosuke Niwa.
427
428         No new tests because of no behavior change.
429
430         * rendering/RenderObject.cpp:
431         (WebCore::objectIsRelayoutBoundary): Moved from RenderObject.h.
432         (WebCore::RenderObject::markContainingBlocksForLayout): Moved from RenderObject.h
433         * rendering/RenderObject.h:
434
435 2011-09-20  Rachel Blum  <groby@chromium.org>
436
437         Support for multiple <link rel="icon"> favicon elements.
438         https://bugs.webkit.org/show_bug.cgi?id=65564
439
440         Reviewed by Darin Fisher.
441
442         No tests - purely an API change. (And API is not exposed to LayoutTests)
443
444         * dom/Document.cpp:
445         (WebCore::Document::iconURLs):
446         (WebCore::Document::addIconURL):
447         * dom/Document.h:
448         * dom/IconURL.cpp:
449         (WebCore::toIconIndex):
450         * dom/IconURL.h:
451         (WebCore::IconURL::IconURL):
452         * html/HTMLLinkElement.cpp:
453         (WebCore::HTMLLinkElement::process):
454         * loader/LinkLoader.cpp:
455         (WebCore::LinkLoader::loadLink):
456         * loader/LinkLoader.h:
457         * loader/icon/IconController.cpp:
458         (WebCore::IconController::urlsForTypes):
459         (WebCore::IconController::appendToIconURLs):
460         (WebCore::IconController::defaultURL):
461
462 2011-09-20  Ojan Vafai  <ojan@chromium.org>
463
464         [css3-flexbox] cleanup padding width calculations
465         https://bugs.webkit.org/show_bug.cgi?id=68490
466
467         Reviewed by Tony Chang.
468
469         No new tests. Existing tests cover the refactor.
470
471         * rendering/RenderFlexibleBox.cpp:
472         (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
473         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
474         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
475         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
476         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
477         * rendering/RenderFlexibleBox.h:
478
479 2011-09-19  Jer Noble  <jer.noble@apple.com>
480
481         Fix clang compile errors in Web Audio
482         https://bugs.webkit.org/show_bug.cgi?id=68384
483
484         Reviewed by David Levin.
485
486         No new tests; no net change in functionality.
487
488         * platform/graphics/MediaPlayer.h: Forward declare (instead of including directly)
489             AudioSourceProvider.
490         * webaudio/AudioChannelMerger.cpp:
491         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput): Remove unused parameter name.
492
493 2011-09-20  John Gregg  <johnnyg@google.com>
494
495         Directory Upload: parent path can truncate first char of the correct path
496         https://bugs.webkit.org/show_bug.cgi?id=66695
497
498         In some cases, if the parent path we compute ends with a separator
499         character like '/' or 'C:\', by adding one in an attempt to grab the
500         subsequent separator we actually grab a character of the real path,
501         which is incorrect.
502
503         Reviewed by Darin Fisher.
504
505         * html/FileInputType.cpp:
506         (WebCore::FileInputType::setFileList):
507
508 2011-09-20  Jochen Eisinger  <jochen@chromium.org>
509
510         Invoke CachedResourceLoader::canRequest for all URLs in a redirect chain
511         https://bugs.webkit.org/show_bug.cgi?id=68279
512
513         Reviewed by Adam Barth.
514
515         * loader/cache/CachedResourceLoader.h:
516         * loader/cache/CachedResourceRequest.cpp:
517         (WebCore::CachedResourceRequest::willSendRequest):
518
519 2011-09-18  Ojan Vafai  <ojan@chromium.org>
520
521         change RenderFlexibleBox to act on logical coordinates
522         https://bugs.webkit.org/show_bug.cgi?id=68129
523
524         Reviewed by David Hyatt.
525
526         This makes RenderFlexibleBox respect direction and writing-mode.
527         We now properly support the default flex-flow value of "row".
528
529         Test: css3/flexbox/writing-modes.html
530
531         * rendering/RenderBlock.cpp:
532         (WebCore::RenderBlock::setLogicalLocationForChild):
533         * rendering/RenderBlock.h:
534         * rendering/RenderFlexibleBox.cpp:
535         (WebCore::RenderFlexibleBox::layoutBlock):
536         (WebCore::RenderFlexibleBox::logicalBorderWidthForChild):
537         (WebCore::RenderFlexibleBox::logicalPaddingWidthForChild):
538         (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
539         (WebCore::RenderFlexibleBox::marginStartStyleForChild):
540         (WebCore::RenderFlexibleBox::marginEndStyleForChild):
541         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
542         (WebCore::RenderFlexibleBox::layoutInlineDirection):
543         (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
544         (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
545         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
546         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
547         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
548         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
549         * rendering/RenderFlexibleBox.h:
550
551 2011-09-20  Marshall Greenblatt  <marshall@chromium.org>
552
553         Use DEFINE_STATIC_LOCAL to intentionally leak the static RefCountedHFONT object returned from
554         FontPlatformData::hashTableDeletedFontValue() to avoid global destructor ordering problems.
555         https://bugs.webkit.org/show_bug.cgi?id=67906
556
557         Reviewed by Adam Barth.
558
559         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
560
561 2011-09-20  Ryosuke Niwa  <rniwa@webkit.org>
562
563         Hit testing on margins of body and head elements doesn't recur
564         https://bugs.webkit.org/show_bug.cgi?id=40753
565
566         Reviewed by Darin Adler.
567
568         The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
569         of head/body and html elements when hit testing was done inside margins of head and body elements.
570
571         Fixed the bug by special-casing html element since margins of head and body elements are special.
572
573         Tests: editing/selection/click-on-body-margin.html
574                editing/selection/click-on-head-margin.html
575
576         * rendering/RenderBlock.cpp:
577         (WebCore::positionForPointRespectingEditingBoundaries):
578
579 2011-09-20  David Hyatt  <hyatt@apple.com>
580
581         https://bugs.webkit.org/show_bug.cgi?id=68480
582         
583         De-virtualize containingBlock() and make RenderView return 0 instead
584         of itself to make the construction of normal loops that terminate via
585         a null-check possible.
586
587         Fix the only two places in the tree that needed null checks.
588
589         Eliminating RenderTableCell::containingBlock() is fine since the base class
590         does the same thing anyway.
591
592         Reviewed by Simon Fraser.
593
594         * editing/VisiblePosition.cpp:
595         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation):
596         * rendering/RenderObject.cpp:
597         (WebCore::RenderObject::containingBlock):
598         * rendering/RenderObject.h:
599         * rendering/RenderTableCell.cpp:
600         * rendering/RenderTableCell.h:
601         * rendering/RenderTreeAsText.cpp:
602         (WebCore::RenderTreeAsText::writeRenderObject):
603         * rendering/RenderView.cpp:
604         * rendering/RenderView.h:
605
606 2011-09-20  Anders Carlsson  <andersca@apple.com>
607
608         Remove ScrollView::platformContentsSize
609         https://bugs.webkit.org/show_bug.cgi?id=68188
610
611         Reviewed by Darin Adler.
612
613         Since ScrollView keeps track of the contents size in ScrollView::m_contentsSize, we never
614         have to ask the underlying platform scroll view for contents size since it should always just
615         be equal to m_contentsSize.
616
617         * platform/ScrollView.cpp:
618         (WebCore::ScrollView::contentsSize):
619         (WebCore::ScrollView::wheelEvent):
620         * platform/ScrollView.h:
621         * platform/mac/ScrollViewMac.mm:
622         * platform/wx/ScrollViewWx.cpp:
623
624 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
625
626         [Qt] [WK2] Implement a persistent cookie storage.
627         https://bugs.webkit.org/show_bug.cgi?id=65309
628
629         Reviewed by Chang Shu.
630
631         Implement a cookie storage for the Qt port on WebKit2.
632         The implementation is using a SQLite database to store the cookies
633         and restore them. It uses a static object as CookieJar is not an
634         object but a set of global functions. The actual saving/restoring is on
635         the WebProcess side where our network stack lives.
636
637         Existing tests cover the new implementation. Unfortunately there is one
638         case that we can't easily simulate : login in a website, make sure that the webprocess
639         is not running and then going back to this website and see that we are logged.
640
641         * WebCore.pri:
642         * WebCore.pro:
643         * platform/qt/CookieJarQt.cpp:
644         (WebCore::getHostnamesWithCookies):
645         (WebCore::deleteCookiesForHostname):
646         (WebCore::deleteAllCookies):
647         (WebCore::SharedCookieJarQt::shared):
648         (WebCore::SharedCookieJarQt::create):
649         (WebCore::SharedCookieJarQt::destroy):
650         (WebCore::SharedCookieJarQt::getHostnamesWithCookies):
651         (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
652         (WebCore::SharedCookieJarQt::deleteAllCookies):
653         (WebCore::SharedCookieJarQt::SharedCookieJarQt):
654         (WebCore::SharedCookieJarQt::~SharedCookieJarQt):
655         (WebCore::SharedCookieJarQt::setCookiesFromUrl):
656         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
657         (WebCore::SharedCookieJarQt::loadCookies):
658         * platform/qt/CookieJarQt.h: Added.
659
660 2011-09-20  David Hyatt  <hyatt@apple.com>
661
662         https://bugs.webkit.org/show_bug.cgi?id=68314
663
664         Make sure that the containing block loop when clipping to border-radius
665         terminates by checking if you hit the RenderView. Null checking isn't sufficient
666         for stupid historical reasons that should be fixed (i.e., the RenderView returns itself
667         as its own containing block, even though this should just be changed).
668
669         Reviewed by Simon Fraser and Darin Adler.
670
671         Added new test in fast/clip.
672
673         * rendering/RenderLayer.cpp:
674         (WebCore::inContainingBlockChain):
675
676 2011-09-20  Dan Bernstein  <mitz@apple.com>
677
678         MathML renderers do not override RenderObject::renderName()
679         https://bugs.webkit.org/show_bug.cgi?id=68461
680
681         Reviewed by Darin Adler.
682
683         Added implementations of renderName() in MathML RenderObject subclasses.
684
685         * rendering/mathml/RenderMathMLBlock.h:
686         (WebCore::RenderMathMLBlock::renderName):
687         * rendering/mathml/RenderMathMLFenced.h:
688         (WebCore::RenderMathMLFenced::renderName):
689         * rendering/mathml/RenderMathMLFraction.h:
690         (WebCore::RenderMathMLFraction::renderName):
691         * rendering/mathml/RenderMathMLMath.h:
692         (WebCore::RenderMathMLMath::renderName):
693         * rendering/mathml/RenderMathMLOperator.h:
694         (WebCore::RenderMathMLOperator::renderName):
695         * rendering/mathml/RenderMathMLRoot.h:
696         (WebCore::RenderMathMLRoot::renderName):
697         * rendering/mathml/RenderMathMLRow.h:
698         (WebCore::RenderMathMLRow::renderName):
699         * rendering/mathml/RenderMathMLSquareRoot.h:
700         (WebCore::RenderMathMLSquareRoot::renderName):
701         * rendering/mathml/RenderMathMLSubSup.h:
702         (WebCore::RenderMathMLSubSup::renderName):
703         * rendering/mathml/RenderMathMLUnderOver.h:
704         (WebCore::RenderMathMLUnderOver::renderName):
705
706 2011-09-20  ChangSeok Oh  <shivamidow@gmail.com>
707
708         [GTK] requestAnimationFrame support for gtk port
709         https://bugs.webkit.org/show_bug.cgi?id=66280
710
711         Reviewed by Martin Robinson.
712
713         Add some files to build-target & activate ENABLE_REQUEST_ANIMATION_FRAME flag
714         when enabling requestAnimationFrame option.
715
716         fast/animation/request-animation-frame-cancel.html
717         fast/animation/request-animation-frame-cancel2.html
718         fast/animation/request-animation-frame-display.html
719         fast/animation/request-animation-frame-during-modal.html
720         fast/animation/request-animation-frame-timestamps.html
721         fast/animation/request-animation-frame-within-callback.html
722         fast/animation/request-animation-frame.html
723
724         * GNUmakefile.am:
725         * GNUmakefile.list.am:
726
727 2011-09-20  Aaron Boodman  <aa@chromium.org>
728
729         Rework script context creation/release notifications
730         https://bugs.webkit.org/show_bug.cgi?id=67828
731
732         Reviewed by Adam Barth.
733
734         * bindings/v8/V8DOMWindowShell.cpp:
735         (WebCore::V8DOMWindowShell::disposeContextHandles):
736         (WebCore::V8DOMWindowShell::initContextIfNeeded):
737         * bindings/v8/V8IsolatedContext.cpp:
738         (WebCore::V8IsolatedContext::V8IsolatedContext):
739         (WebCore::V8IsolatedContext::destroy):
740         * bindings/v8/V8IsolatedContext.h:
741         * loader/EmptyClients.h:
742         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
743         (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
744         * loader/FrameLoaderClient.h:
745
746 2011-09-19  Oliver Hunt  <oliver@apple.com>
747
748         Refactor Heap allocation logic into separate AllocationSpace class
749         https://bugs.webkit.org/show_bug.cgi?id=68409
750
751         Reviewed by Gavin Barraclough.
752
753         Adding a forwarding header.
754
755         * ForwardingHeaders/heap/AllocationSpace.h: Added.
756
757 2011-09-20  Geoffrey Garen  <ggaren@apple.com>
758
759         Build fix.
760
761         * WebCorePrefix.h: Removed stray text from accidental paste.
762
763 2011-09-19  Geoffrey Garen  <ggaren@apple.com>
764
765         Removed BREWMP* platform #ifdefs
766         https://bugs.webkit.org/show_bug.cgi?id=68425
767         
768         BREWMP* has no maintainer, and this is dead code.
769
770         Reviewed by Darin Adler.
771
772         * WebCorePrefix.h:
773         * loader/cache/CachedFont.cpp:
774         * platform/DragData.h:
775         * platform/DragImage.h:
776         * platform/FileSystem.h:
777         * platform/PlatformKeyboardEvent.h:
778         * platform/PlatformMouseEvent.h:
779         * platform/PlatformTouchEvent.h:
780         * platform/PlatformTouchPoint.h:
781         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
782         * platform/Widget.h:
783         * platform/graphics/IntPoint.h:
784         * platform/graphics/IntSize.h:
785         * platform/graphics/WOFFFileFormat.cpp:
786         * platform/graphics/skia/FontCustomPlatformData.cpp:
787         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
788         (WebCore::FontCustomPlatformData::fontPlatformData):
789         (WebCore::createFontCustomPlatformData):
790         * platform/graphics/skia/FontCustomPlatformData.h:
791         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
792         * platform/text/TextBoundaries.cpp:
793         * platform/text/TextEncoding.cpp:
794         (WebCore::TextEncoding::encode):
795         * platform/text/TextEncodingRegistry.cpp:
796         * plugins/PluginViewNone.cpp:
797
798 2011-09-20  Pavel Feldman  <pfeldman@google.com>
799
800         Web Inspector: Copy Stack Trace lacks newlines on Windows
801         https://bugs.webkit.org/show_bug.cgi?id=68447
802
803         Reviewed by Joseph Pecoraro.
804
805         * inspector/front-end/CallStackSidebarPane.js:
806         (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
807
808 2011-09-20  Pavel Feldman  <pfeldman@google.com>
809
810         Not reviewed: inspector sanity test fix.
811
812         * inspector/front-end/inspector.js:
813         (WebInspector.showConsole):
814
815 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
816
817         [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
818         https://bugs.webkit.org/show_bug.cgi?id=68444
819
820         Reviewed by Andreas Kling.
821
822         Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
823
824         No new tests : just stubs.
825
826         * CodeGenerators.pri:
827         * WebCore.pro:
828         * features.pri:
829
830 2011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
831
832         Unreviewed, rolling out r95509.
833         http://trac.webkit.org/changeset/95509
834         https://bugs.webkit.org/show_bug.cgi?id=68446
835
836         crashes chromium fast/repaint/japanese-rl-selection-repaint-
837         in-regions.html on Win and Linux (Requested by dslomov on
838         #webkit).
839
840         * rendering/RenderBlock.cpp:
841         (WebCore::positionForPointRespectingEditingBoundaries):
842
843 2011-09-20  Jarred Nicholls  <jarred@sencha.com>
844
845         [Qt] Permit qrc resources to load in QWebSettings::setUserStyleSheetUrl()
846         https://bugs.webkit.org/show_bug.cgi?id=51159
847         
848         Permit any URL with a local scheme to set a user style sheet. Allow qrc
849         resource URLs as arguments to QWebSettings::setUserStyleSheetUrl().
850
851         Reviewed by Kenneth Rohde Christiansen.
852
853         * page/Page.cpp:
854         (WebCore::Page::userStyleSheetLocationChanged):
855         * platform/qt/KURLQt.cpp:
856         (WebCore::KURL::fileSystemPath):
857
858 2011-09-20  Csaba Osztrogonác  <ossy@webkit.org>
859
860         [Qt][Mac] Buildfix after r95513.
861         Forwarding headers for WebCore should be generated based on WebCore sources instead of WebKit2.
862
863         Rubber-stamped by Andras Becsi.
864
865         * DerivedSources.pro:
866         * WebCore.pro: Add platform/mac/DisplaySleepDisabler.cpp to SOURCES.
867
868 2011-09-19  Pavel Feldman  <pfeldman@google.com>
869
870         Web Inspector: document Debugger.paused, introduce types for ids in Debugger domain.
871         https://bugs.webkit.org/show_bug.cgi?id=68363
872
873         Migrates from poorly documented "details" object to explicit parameters
874         containing break type and data.
875
876         Reviewed by Tony Gentilcore.
877
878         * inspector/InjectedScriptSource.js:
879         ():
880         * inspector/Inspector.json:
881         * inspector/InspectorDOMDebuggerAgent.cpp:
882         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
883         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
884         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
885         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
886         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
887         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
888         * inspector/InspectorDebuggerAgent.cpp:
889         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
890         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
891         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
892         (WebCore::InspectorDebuggerAgent::pause):
893         (WebCore::InspectorDebuggerAgent::didPause):
894         (WebCore::InspectorDebuggerAgent::didContinue):
895         (WebCore::InspectorDebuggerAgent::breakProgram):
896         (WebCore::InspectorDebuggerAgent::clear):
897         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
898         * inspector/InspectorDebuggerAgent.h:
899         * inspector/front-end/DOMBreakpointsSidebarPane.js:
900         (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend):
901         (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage):
902         (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
903         * inspector/front-end/DebuggerModel.js:
904         (WebInspector.DebuggerModel.prototype._pausedScript):
905         (WebInspector.DebuggerDispatcher.prototype.paused):
906         * inspector/front-end/DebuggerPresentationModel.js:
907         (WebInspector.PresentationCallFrame.prototype.evaluate):
908         * inspector/front-end/ScopeChainSidebarPane.js:
909         (WebInspector.ScopeChainSidebarPane.prototype.update):
910         * inspector/front-end/ScriptsPanel.js:
911         (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage):
912         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
913         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
914
915 2011-09-19  Pavel Feldman  <pfeldman@google.com>
916
917         Web Inspector: use strict types for Breakpoint and CallFrame ids in the protocol definition.
918         https://bugs.webkit.org/show_bug.cgi?id=68172
919
920         Reviewed by Tony Gentilcore.
921
922         * inspector/Inspector.json:
923
924 2011-09-15  Pavel Feldman  <pfeldman@google.com>
925
926         Web Inspector: refactor ConsoleView, Drawer, ConsolePanel trio. Remove animation
927         from drawer -> panel transition.
928         https://bugs.webkit.org/show_bug.cgi?id=68155
929
930         ConsoleView, ConsolePanel and Drawer are all Views with custom show/hide implementations
931         and weird DOM element containment. As a result, we have a number of cases when switching
932         console from full panel to drawer mode and back result in UI glitches.
933         For the sake of code clarity and no glitches, I'd like to sacrifice the "grow into full
934         screen" console animation.
935
936         Reviewed by Tony Gentilcore.
937
938         * inspector/front-end/ConsoleModel.js:
939         (WebInspector.ConsoleModel):
940         * inspector/front-end/ConsolePanel.js:
941         (WebInspector.ConsolePanel):
942         (WebInspector.ConsolePanel.prototype.get statusBarItems):
943         (WebInspector.ConsolePanel.prototype.show):
944         (WebInspector.ConsolePanel.prototype.hide):
945         * inspector/front-end/ConsoleView.js:
946         (WebInspector.ConsoleView):
947         (WebInspector.ConsoleView.createFilterElement):
948         (WebInspector.ConsoleView.get this):
949         (WebInspector.ConsoleView.prototype.get statusBarItems):
950         (WebInspector.ConsoleView.prototype.wasShown):
951         * inspector/front-end/Drawer.js:
952         (WebInspector.Drawer):
953         (WebInspector.Drawer.prototype.get visible):
954         (WebInspector.Drawer.prototype._constrainHeight):
955         (WebInspector.Drawer.prototype.show.animationFinished):
956         (WebInspector.Drawer.prototype.show):
957         (WebInspector.Drawer.prototype.hide):
958         (WebInspector.Drawer.prototype.resize):
959         (WebInspector.Drawer.prototype._animationDuration):
960         * inspector/front-end/inspector.html:
961         * inspector/front-end/inspector.js:
962         (WebInspector._createGlobalStatusBarItems):
963         (WebInspector._toggleConsoleButtonClicked):
964         (WebInspector.set attached):
965         (WebInspector.windowResize):
966         (WebInspector.documentKeyDown):
967
968 2011-09-19  Pavel Feldman  <pfeldman@google.com>
969
970         Web Inspector: streamline Console's MessageType and MessageSource semantics.
971         https://bugs.webkit.org/show_bug.cgi?id=68342
972
973         This change fixes semantics of the MessageSource and MessageType:
974         MessageSource is now the source of the message (be it Network, HTML
975         parser or Console API). MessageType is only defined for the Console API
976         messages and contains the name of the API call (log, dir, dirxml, etc.).
977         Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
978         private to the inspector.
979
980         Reviewed by Tony Gentilcore.
981
982         * dom/Document.cpp:
983         (WebCore::Document::logExceptionToConsole):
984         * inspector/ConsoleMessage.cpp:
985         (WebCore::messageSourceValue):
986         (WebCore::messageTypeValue):
987         (WebCore::ConsoleMessage::addToFrontend):
988         * inspector/Inspector.json:
989         * inspector/InspectorConsoleAgent.cpp:
990         (WebCore::InspectorConsoleAgent::didReceiveResponse):
991         (WebCore::InspectorConsoleAgent::didFailLoading):
992         * inspector/front-end/ConsoleMessage.js:
993         (WebInspector.ConsoleMessage.createTextMessage):
994         (WebInspector.ConsoleMessage.prototype._formatMessage):
995         (WebInspector.ConsoleMessage.prototype.toString):
996         * page/Console.cpp:
997         (WebCore::printMessageSourceAndLevelPrefix):
998         (WebCore::Console::addMessage):
999         (WebCore::Console::dir):
1000         (WebCore::Console::dirxml):
1001         (WebCore::Console::group):
1002         (WebCore::Console::groupCollapsed):
1003         (WebCore::Console::groupEnd):
1004         * page/ConsoleTypes.h:
1005         * websockets/WebSocketChannel.cpp:
1006         (WebCore::WebSocketChannel::didFailSocketStream):
1007
1008 2011-09-20  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
1009
1010         [Qt] resizeToContent seems to trigger infinite resize on some pages
1011         https://bugs.webkit.org/show_bug.cgi?id=43852
1012
1013         Reviewed by Kenneth Rohde Christiansen.
1014
1015         InnerHeight and InnerWidth are now calculated using ScrollView::visibleContentRect
1016         including the scrollbars (if any) instead of using ScrollView::frameRect as before.
1017
1018         This makes no behavior change while not using the tiled backing
1019         store and is compliant with the W3C definition stated in the CSSOM
1020         View Module.
1021
1022         Plus it will return the correct values for tiled backing store,
1023         thus fixing the original bug report by avoiding infinite resize
1024         events caused by wrong innerHeight and innerWidth values.
1025
1026         Test: innerWidth/Height are covered by existing tests. The
1027         non-infinite resizing is covered by a new Qt autotest at
1028         test_qgraphicswebview::windowResizeEvent()
1029
1030         * page/DOMWindow.cpp:
1031         (WebCore::DOMWindow::innerHeight): using ScrollView::visibleContentRect.
1032         (WebCore::DOMWindow::innerWidth): using ScrollView::visibleContentRect.
1033
1034 2011-09-09  Pavel Podivilov  <podivilov@chromium.org>
1035
1036         Web Inspector: implement reverse mapping for compiler source maps.
1037         https://bugs.webkit.org/show_bug.cgi?id=67850
1038
1039         Implement the mapping from source code to compiled code. It will be used for
1040         setting breakpoints on source code.
1041
1042         Reviewed by Pavel Feldman.
1043
1044         * inspector/front-end/CompilerSourceMapping.js:
1045         (WebInspector.ClosureCompilerSourceMapping):
1046         (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
1047         (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
1048         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
1049
1050 2011-09-08  Pavel Podivilov  <podivilov@chromium.org>
1051
1052         Web Inspector: extract RawSourceCode source mapping logic to helper classes.
1053         https://bugs.webkit.org/show_bug.cgi?id=67789
1054
1055         Reviewed by Pavel Feldman.
1056
1057         * inspector/front-end/SourceFile.js:
1058         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
1059         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
1060         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
1061         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
1062         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
1063         (WebInspector.RawSourceCode.prototype._createSourceMapping):
1064         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
1065         (WebInspector.RawSourceCode.PlainSourceMapping):
1066         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
1067         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
1068         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.get uiSourceCode):
1069         (WebInspector.RawSourceCode.FormattedSourceMapping):
1070         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
1071         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
1072         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.get uiSourceCode):
1073
1074 2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1075
1076         [GTK] WebProcess shouldn't use the GTK+ API
1077         https://bugs.webkit.org/show_bug.cgi?id=68062
1078
1079         Reviewed by Martin Robinson.
1080
1081         Move errors code that is common between webki1 and webkit2 to
1082         WebCore so that it can be shared.
1083
1084         * GNUmakefile.list.am: Add new files to compilation.
1085         * platform/gtk/ErrorsGtk.cpp: Added.
1086         (WebCore::cancelledError):
1087         (WebCore::blockedError):
1088         (WebCore::cannotShowURLError):
1089         (WebCore::interruptedForPolicyChangeError):
1090         (WebCore::cannotShowMIMETypeError):
1091         (WebCore::fileDoesNotExistError):
1092         (WebCore::pluginWillHandleLoadError):
1093         * platform/gtk/ErrorsGtk.h: Added.
1094
1095 2011-09-19  Mark Rowe  <mrowe@apple.com>
1096
1097         Attempt to fix the Leopard build.
1098         
1099         * platform/mac/DisplaySleepDisabler.cpp:
1100         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
1101         * platform/mac/DisplaySleepDisabler.h:
1102
1103 2011-09-19  Mark Rowe  <mrowe@apple.com>
1104
1105         <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
1106
1107         On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
1108         in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
1109         a NoIdleSleep assertion as the latter is implied by the former.
1110
1111         Since there were multiple copies of the same code to disable display sleep spread across WebCore, WebKit and WebKit2
1112         this patch takes the approach of moving this functionality to a new DisplaySleepDisabler class that lives in WebCore.
1113         A class is used as it makes it easier to reason about the lifetime of the assertions and to ensure that the assertions will
1114         always be released when their owning objects go away.
1115
1116         Reviewed by Dan Bernstein.
1117
1118         * WebCore.exp.in:
1119         * WebCore.xcodeproj/project.pbxproj:
1120         * platform/mac/DisplaySleepDisabler.cpp:
1121         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler): Register for the NoDisplaySleep assertion, and start our
1122         system activity timer when on Leopard.
1123         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler): Unregister for the assertion.
1124         (WebCore::DisplaySleepDisabler::systemActivityTimerFired): Call UpdateSystemActivity to prevent the screensaver from
1125         triggering on Leopard.
1126         * platform/mac/DisplaySleepDisabler.h:
1127         (WebCore::DisplaySleepDisabler::create):
1128         * platform/mac/WebVideoFullscreenController.h:
1129         * platform/mac/WebVideoFullscreenController.mm:
1130         (-[WebVideoFullscreenController dealloc]):
1131         (-[WebVideoFullscreenController setupVideoOverlay:]): Remove the now-unnecessary explicit use of the WebCore namespace.
1132         (-[WebVideoFullscreenController mediaElement]): Ditto.
1133         (-[WebVideoFullscreenController setMediaElement:]): Ditto.
1134         (-[WebVideoFullscreenController windowDidExitFullscreen]): Ditto.
1135         (-[WebVideoFullscreenController updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
1136         display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
1137         disabler that we own.
1138
1139 2011-09-19  Ryosuke Niwa  <rniwa@webkit.org>
1140
1141         Hit testing on margins of body and head elements doesn't recur
1142         https://bugs.webkit.org/show_bug.cgi?id=40753
1143
1144         Reviewed by Darin Adler.
1145
1146         The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
1147         of head/body and html elements when hit testing was done inside margins of head and body elements.
1148
1149         Fixed the bug by special-casing html element (any immediate child of render view with a render layer)
1150         since margins of head and body elements are special.
1151
1152         Tests: editing/selection/click-on-body-margin.html
1153                editing/selection/click-on-head-margin.html
1154
1155         * rendering/RenderBlock.cpp:
1156         (WebCore::positionForPointRespectingEditingBoundaries):
1157
1158 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1159
1160         Unreviewed, rolling out r95493 and r95496.
1161         http://trac.webkit.org/changeset/95493
1162         http://trac.webkit.org/changeset/95496
1163         https://bugs.webkit.org/show_bug.cgi?id=68418
1164
1165         Broke Windows build (Requested by rniwa on #webkit).
1166
1167         * ForwardingHeaders/heap/AllocationSpace.h: Removed.
1168
1169 2011-09-19  James Robinson  <jamesr@chromium.org>
1170
1171         [chromium] ContentLayer's texture updater deleted during paint when compositing turns off in the middle of paint
1172         https://bugs.webkit.org/show_bug.cgi?id=68405
1173
1174         Reviewed by Kenneth Russell.
1175
1176         Make TiledLayerChromium's textureUpdater refcounted and hold an explicit reference during paint in case
1177         compositing is turned off halfway through a paint.
1178
1179         * platform/graphics/chromium/ContentLayerChromium.h:
1180         * platform/graphics/chromium/ImageLayerChromium.cpp:
1181         (WebCore::ImageLayerTextureUpdater::create):
1182         * platform/graphics/chromium/ImageLayerChromium.h:
1183         * platform/graphics/chromium/LayerTextureUpdater.h:
1184         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1185         (WebCore::LayerTextureUpdaterBitmap::create):
1186         (WebCore::LayerTextureUpdaterSkPicture::create):
1187         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1188         * platform/graphics/chromium/TiledLayerChromium.cpp:
1189         (WebCore::TiledLayerChromium::prepareToUpdate):
1190
1191 2011-09-19  Luke Macpherson   <macpherson@chromium.org>
1192
1193         Eliminate Length::undefinedLength = -1 and replace with Undefined LengthType.
1194         https://bugs.webkit.org/show_bug.cgi?id=68057
1195
1196         Reviewed by Darin Adler.
1197
1198         There appear to be many cases where -1 is actually a valid Length.
1199         Encoding the validity of Length separately to the value is a natural solution.
1200
1201         No new tests / no behavioral changes.
1202
1203         * css/CSSComputedStyleDeclaration.cpp:
1204         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1205         * css/CSSPrimitiveValue.cpp:
1206         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1207         * css/CSSStyleApplyProperty.cpp:
1208         (WebCore::ApplyPropertyLength::applyValue):
1209         * platform/Length.h:
1210         (WebCore::Length::Length):
1211         (WebCore::Length::value):
1212         (WebCore::Length::calcValue):
1213         (WebCore::Length::calcMinValue):
1214         (WebCore::Length::calcFloatValue):
1215         (WebCore::Length::isUndefined):
1216         * rendering/RenderBlock.cpp:
1217         (WebCore::RenderBlock::computePreferredLogicalWidths):
1218         * rendering/RenderDeprecatedFlexibleBox.cpp:
1219         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
1220         * rendering/RenderFileUploadControl.cpp:
1221         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
1222         * rendering/RenderImage.cpp:
1223         (WebCore::RenderImage::isLogicalWidthSpecified):
1224         (WebCore::RenderImage::isLogicalHeightSpecified):
1225         * rendering/RenderListBox.cpp:
1226         (WebCore::RenderListBox::computePreferredLogicalWidths):
1227         * rendering/RenderMenuList.cpp:
1228         (WebCore::RenderMenuList::computePreferredLogicalWidths):
1229         * rendering/RenderReplaced.cpp:
1230         (WebCore::RenderReplaced::computePreferredLogicalWidths):
1231         * rendering/RenderSlider.cpp:
1232         (WebCore::RenderSlider::computePreferredLogicalWidths):
1233         * rendering/RenderTextControl.cpp:
1234         (WebCore::RenderTextControl::computePreferredLogicalWidths):
1235         * rendering/style/RenderStyle.h:
1236         (WebCore::InheritedFlags::initialMaxSize):
1237         * rendering/svg/RenderSVGRoot.cpp:
1238         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
1239
1240 2011-09-19  Adam Barth  <abarth@webkit.org>
1241
1242         Always enable ENABLE(EVENTSOURCE)
1243         https://bugs.webkit.org/show_bug.cgi?id=68414
1244
1245         Reviewed by Eric Seidel.
1246
1247         EventSource seems to be here to stay.  This patch makes WebKit more
1248         hackable by removing this ENABLE macro, as discussed on webkit-dev.
1249
1250         * Configurations/FeatureDefines.xcconfig:
1251         * GNUmakefile.am:
1252         * bindings/cpp/WebDOMEventTarget.cpp:
1253         (toWebKit):
1254         * bindings/js/JSDOMWindowCustom.cpp:
1255         (WebCore::JSDOMWindow::eventSource):
1256         * bindings/js/JSEventSourceCustom.cpp:
1257         * bindings/js/JSEventTarget.cpp:
1258         (WebCore::toJS):
1259         (WebCore::toEventTarget):
1260         * bindings/js/JSWorkerContextCustom.cpp:
1261         (WebCore::JSWorkerContext::eventSource):
1262         * bindings/v8/V8DOMWrapper.cpp:
1263         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1264         * features.pri:
1265         * page/DOMWindow.idl:
1266         * page/EventSource.cpp:
1267         * page/EventSource.h:
1268         * page/EventSource.idl:
1269         * workers/WorkerContext.idl:
1270
1271 2011-09-19  Jeremy Apthorp  <jeremya@chromium.org>
1272
1273         Fix a use-after-free: clear the fullscreen change event target queue at
1274         detach time, rather than at destruction time. If this isn't done, it's
1275         possible for the event target queue to be the only thing that
1276         references the document. Then when the document is popped off the queue
1277         and dereferenced in Document::fullScreenChangeDelayTimerFired, the
1278         document is destroyed and the subsequent access to
1279         m_fullScreenChangeEventTargetQueue.isEmpty() accesses free'd memory.
1280         https://bugs.webkit.org/show_bug.cgi?id=67960
1281
1282         Reviewed by Adam Barth.
1283
1284         * dom/Document.cpp:
1285         (WebCore::Document::~Document):
1286         (WebCore::Document::detach):
1287
1288 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1289
1290         Unreviewed, rolling out r95482.
1291         http://trac.webkit.org/changeset/95482
1292         https://bugs.webkit.org/show_bug.cgi?id=68410
1293
1294         Broke chromium webkit-tests (Requested by dslomov on #webkit).
1295
1296         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
1297         (WebCore::RGBAtoRGB):
1298
1299 2011-09-19  Oliver Hunt  <oliver@apple.com>
1300
1301         Refactor Heap allocation logic into separate AllocationSpace class
1302         https://bugs.webkit.org/show_bug.cgi?id=68409
1303
1304         Reviewed by Gavin Barraclough.
1305
1306         Adding a forwarding header.
1307
1308         * ForwardingHeaders/heap/AllocationSpace.h: Added.
1309
1310 2011-09-19  Adam Barth  <abarth@webkit.org>
1311
1312         [V8] document.all gets confused about its prototype chain
1313         https://bugs.webkit.org/show_bug.cgi?id=68393
1314
1315         Reviewed by Eric Seidel.
1316
1317         GetRealNamedPropertyInPrototypeChain doesn't call interceptors, so it's
1318         not a good idea to use its return value.  It turns out that all the
1319         callers of the API only cared about whether it returns a null handle.
1320
1321         Test: http/tests/security/document-all.html
1322
1323         * bindings/v8/V8Collection.h:
1324         (WebCore::collectionNamedPropertyGetter):
1325         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1326         (WebCore::V8DOMStringMap::namedPropertyDeleter):
1327         (WebCore::V8DOMStringMap::namedPropertySetter):
1328         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1329         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
1330         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1331         (WebCore::V8HTMLCollection::namedPropertyGetter):
1332         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1333         (WebCore::V8NamedNodeMap::namedPropertyGetter):
1334         * bindings/v8/custom/V8StorageCustom.cpp:
1335         (WebCore::storageSetter):
1336
1337 2011-09-19  Adam Barth  <abarth@webkit.org>
1338
1339         Named property confusion with __proto__
1340         https://bugs.webkit.org/show_bug.cgi?id=68221
1341
1342         Reviewed by Eric Seidel.
1343
1344         The __proto__ property is super magical because it's not a real named
1345         property and it has higher precedence than even interceptors.  This
1346         confuses this check, which is meant to detech which names will get
1347         handled by our interceptor.
1348
1349         Test: http/tests/security/window-named-proto.html
1350
1351         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1352         (WebCore::V8DOMWindow::namedSecurityCheck):
1353
1354 2011-09-19  Adam Barth  <abarth@webkit.org>
1355
1356         Rename ENABLE(OPENTYPE_SANITIZER) to USE(OPENTYPE_SANITIZER)
1357         https://bugs.webkit.org/show_bug.cgi?id=68292
1358
1359         Reviewed by Eric Seidel.
1360
1361         OpenType Sanitizer is a library for sanitizing type and not a feature.
1362         Therefore this macro should say that we USE the library.
1363
1364         * platform/graphics/WOFFFileFormat.cpp:
1365         * platform/graphics/WOFFFileFormat.h:
1366         * platform/graphics/mac/FontCustomPlatformData.cpp:
1367         (WebCore::createFontCustomPlatformData):
1368         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
1369         * platform/graphics/opentype/OpenTypeSanitizer.h:
1370         * platform/graphics/skia/FontCustomPlatformData.cpp:
1371         (WebCore::createFontCustomPlatformData):
1372         (WebCore::FontCustomPlatformData::supportsFormat):
1373
1374 2011-09-19  Adam Barth  <abarth@webkit.org>
1375
1376         Remove APPLICATION_CACHE_DYNAMIC_ENTRIES and associated code
1377         https://bugs.webkit.org/show_bug.cgi?id=68407
1378
1379         Reviewed by Eric Seidel.
1380
1381         As discussed on webkit-dev, no one appears to be using this code.
1382
1383         * GNUmakefile.list.am:
1384         * UseJSC.cmake:
1385         * WebCore.gypi:
1386         * WebCore.pro:
1387         * WebCore.vcproj/WebCore.vcproj:
1388         * WebCore.xcodeproj/project.pbxproj:
1389         * bindings/js/JSBindingsAllInOne.cpp:
1390         * bindings/js/JSDOMApplicationCacheCustom.cpp: Removed.
1391
1392 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1393
1394         Unreviewed, rolling out r95385 and r95457.
1395         http://trac.webkit.org/changeset/95385
1396         http://trac.webkit.org/changeset/95457
1397         https://bugs.webkit.org/show_bug.cgi?id=68395
1398
1399         Broke chromium browser_tests (Requested by dslomov on
1400         #webkit).
1401
1402         * bindings/v8/V8DOMWindowShell.cpp:
1403         (WebCore::V8DOMWindowShell::disposeContextHandles):
1404         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1405         * bindings/v8/V8IsolatedContext.cpp:
1406         (WebCore::V8IsolatedContext::V8IsolatedContext):
1407         (WebCore::V8IsolatedContext::destroy):
1408         * bindings/v8/V8IsolatedContext.h:
1409         * loader/EmptyClients.h:
1410         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
1411         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
1412         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
1413         * loader/FrameLoaderClient.h:
1414
1415 2011-09-19  John Bauman  <jbauman@chromium.org>
1416
1417         Fix nonpremultiplied webgl toDataURL to jpeg
1418         https://bugs.webkit.org/show_bug.cgi?id=68366
1419
1420         The canvas spec says that toDataURL to formats without an alpha must
1421         be "composited onto a solid black background using the source-over
1422         operator." Do that.
1423
1424         Reviewed by Kenneth Russell.
1425
1426         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
1427         (WebCore::RGBAtoRGB):
1428
1429 2011-09-19  Chris Marrin  <cmarrin@apple.com>
1430
1431         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
1432         https://bugs.webkit.org/show_bug.cgi?id=67510
1433
1434         Reviewed by Adam Roben.
1435         
1436         Another fix to take care of one last crash when running pause-crash.html. 
1437         CACF can't deal with null valueFunctions, so avoid setting it when it doesn't 
1438         exist.
1439         
1440         This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it 
1441         from catching the null pointer exception generated by the pause-crash.html test 
1442         before this bug was fixed. Windows was ignoring the exception, so the testcase 
1443         would appear to succeed, even though it should have crashed.
1444
1445         This is a resubmission of http://trac.webkit.org/changeset/95243 with a build fix.
1446
1447         * WebCore.vcproj/WebCore.vcproj:
1448         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
1449         (WebCore::LayerChangesFlusher::hookCallback):
1450         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1451         (PlatformCAAnimation::copy):
1452         * platform/win/StructuredExceptionHandlerSupressor.h: Added.
1453         (WebCore::StructuredExceptionHandlerSupressor::StructuredExceptionHandlerSupressor):
1454         (WebCore::StructuredExceptionHandlerSupressor::~StructuredExceptionHandlerSupressor):
1455
1456 2011-09-19  Ryosuke Niwa  <rniwa@webkit.org>
1457
1458         Incorrect selection with absolutely positioned div
1459         https://bugs.webkit.org/show_bug.cgi?id=39503
1460
1461         Reviewed by Kenneth Rohde Christiansen.
1462
1463         The bug was caused by a false assumption in RenderBlock::positionForPoint. Because the last child box
1464         can be positioned, floated, invisible, etc..., we can't always trust last child's logicalTop to tell us
1465         whether a given point is inside or below the last child box.
1466
1467         Fixed the bug by using the last hit-test candidate instead.
1468
1469         Test: editing/selection/block-with-positioned-lastchild.html
1470
1471         * rendering/RenderBlock.cpp:
1472         (WebCore::RenderBlock::positionForPoint):
1473
1474 2011-09-19  Dmitry Titov  <dimich@chromium.org>
1475
1476         [Chromium] Crash after magic iframe transfer for Pepper/NaCl plugins.
1477         https://bugs.webkit.org/show_bug.cgi?id=68267
1478         Make adoptNode() to not enable live iframe transfer when the iframe's subtree contains plugins.
1479
1480         Reviewed by Adam Barth.
1481
1482         Test: fast/frames/iframe-reparenting-embed-elements.html
1483
1484         * dom/Document.cpp:
1485         (WebCore::Document::adoptNode):
1486         * html/HTMLFrameElementBase.cpp:
1487         (WebCore::hasPluginElements):
1488         (WebCore::HTMLFrameElementBase::canRemainAliveOnRemovalFromTree):
1489         * html/HTMLFrameElementBase.h:
1490
1491 2011-09-19  Abhishek Arya  <inferno@chromium.org>
1492
1493         Issues with merging ruby bases.
1494         https://bugs.webkit.org/show_bug.cgi?id=67240
1495
1496         Reviewed by James Robinson.
1497
1498         1) Change fromBeforeChild to beforeChild to match
1499         webkit rendering naming conventions.
1500         2) Add assert to verify ruby base is indeed emptied
1501         after collecting all children in a single base.
1502         3) Fix condition in mergeBlockChildren to bail out only
1503         when we have no children and there is no work to merge
1504         children to toBase.
1505
1506         Test: fast/ruby/ruby-overhang-crash.html
1507
1508         * rendering/RenderRubyBase.cpp:
1509         (WebCore::RenderRubyBase::moveChildren):
1510         (WebCore::RenderRubyBase::moveInlineChildren):
1511         (WebCore::RenderRubyBase::moveBlockChildren):
1512         (WebCore::RenderRubyBase::mergeBlockChildren):
1513         * rendering/RenderRubyBase.h:
1514         * rendering/RenderRubyRun.cpp:
1515         (WebCore::RenderRubyRun::removeChild):
1516
1517 2011-09-16  Abhishek Arya  <inferno@chromium.org>
1518
1519         Child not placed correctly when beforeChild (table part)
1520         has both :before, :after content.
1521         https://bugs.webkit.org/show_bug.cgi?id=67656
1522
1523         Reviewed by James Robinson.
1524
1525         Tests: fast/table/table-cell-before-after-content-around-table-block.html
1526                fast/table/table-cell-before-after-content-around-table-row.html
1527                fast/table/table-cell-before-after-content-around-table.html
1528                fast/table/table-row-before-after-content-around-block.html
1529                fast/table/table-row-before-after-content-around-table.html
1530
1531         * rendering/RenderBlock.cpp:
1532         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1533         1. Use the new helper functions findAfterContentRenderer,
1534            anonymousContainer.
1535         2. Rename anonymousChild to better name - beforeChildAnonymousContainer.
1536         * rendering/RenderObject.cpp:
1537         (WebCore::RenderObject::addChild):
1538         When adding a new child, if beforeChild is a table part(
1539         Table/TableSection/TableRow), we need to check if both
1540         :before, :after content are shoved in one of the anonymous child.
1541         If yes, we need to split the :before, :after content before adding
1542         newChild. Easiest approach is to destroy the :before content, then add
1543         the newChild and then call updateBeforeAfterContent to recreate the
1544         :before content.   
1545         * rendering/RenderObject.h:
1546         (WebCore::RenderObject::findBeforeContentRenderer): same as
1547         beforePseudoElementRenderer, but ignores text childs since they are
1548         sequentially added.
1549         (WebCore::RenderObject::findAfterContentRenderer): same.
1550         (WebCore::RenderObject::anonymousContainer):
1551         (WebCore::objectIsRelayoutBoundary):
1552         * rendering/RenderTable.cpp:
1553         (WebCore::RenderTable::addChild): use the new helpers and functionally
1554         correct functions - findAfterContentRenderer, anonymousContainer. previous
1555         implementation was wrong since it would not go inside, if :after content
1556         is embedded deeper than one level.
1557         * rendering/RenderTableRow.cpp:
1558         (WebCore::RenderTableRow::addChild): same.
1559         * rendering/RenderTableSection.cpp:
1560         (WebCore::RenderTableSection::addChild): same.
1561
1562 2011-09-19  Robert Kroeger  <rjkroege@chromium.org>
1563
1564         [chromium] Gesture recognizer fires taptype only every other touch
1565         down/up sequence https://bugs.webkit.org/show_bug.cgi?id=68368
1566  
1567         Reviewed by Adam Barth.
1568
1569         The addition of doubletap detection to the gesture recognizer missed some of the
1570         outgoing edges in the recognizer state machine. This change simplifies the logic
1571         and handles all outgoing edges.
1572
1573         * platform/chromium/GestureRecognizerChromium.cpp:
1574         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
1575         (WebCore::GestureRecognizerChromium::isInSecondClickTimeWindow):
1576         (WebCore::GestureRecognizerChromium::updateValues):
1577         (WebCore::GestureRecognizerChromium::touchDown):
1578         (WebCore::GestureRecognizerChromium::click):
1579         * platform/chromium/GestureRecognizerChromium.h:
1580
1581 2011-09-19  Tom Sepez  <tsepez@chromium.org>
1582
1583         Fix xssauditor bypass with unterminated closing tag by making the HTMLSourceTracker
1584         and the HTMLParser interact more closely with each other.  HTMLParser should be
1585         setting the end range for the token itself to account for buffering that the
1586         HTMLSourceTracker can't know about, but there are a lot of paths that would need
1587         updating. First step is to cover this one path.
1588         https://bugs.webkit.org/show_bug.cgi?id=68281
1589
1590         Reviewed by Adam Barth.
1591
1592         Test: http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html
1593
1594         * html/parser/HTMLSourceTracker.cpp:
1595         (WebCore::HTMLSourceTracker::end):
1596         * html/parser/HTMLTokenizer.cpp:
1597         (WebCore::HTMLTokenizer::nextToken):
1598
1599 2011-09-19  Peter Rybin  <peter.rybin@gmail.com>
1600
1601         TextPosition refactoring: Merge ZeroBasedNumber and OneBasedNumber classes
1602         https://bugs.webkit.org/show_bug.cgi?id=63541
1603
1604         Reviewed by Adam Barth.
1605
1606         No new tests because this patch is not changing behavior.
1607
1608         * bindings/js/JavaScriptCallFrame.cpp:
1609         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
1610         * bindings/js/JavaScriptCallFrame.h:
1611         (WebCore::JavaScriptCallFrame::create):
1612         (WebCore::JavaScriptCallFrame::position):
1613         (WebCore::JavaScriptCallFrame::update):
1614         * bindings/js/ScriptController.cpp:
1615         (WebCore::ScriptController::eventHandlerLineNumber):
1616         * bindings/js/ScriptDebugServer.cpp:
1617         (WebCore::ScriptDebugServer::hasBreakpoint):
1618         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1619         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
1620         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
1621         * bindings/js/ScriptDebugServer.h:
1622         * bindings/js/ScriptSourceCode.h:
1623         (WebCore::ScriptSourceCode::ScriptSourceCode):
1624         * bindings/js/StringSourceProvider.h:
1625         (WebCore::StringSourceProvider::create):
1626         (WebCore::StringSourceProvider::startPosition):
1627         (WebCore::StringSourceProvider::StringSourceProvider):
1628         * bindings/v8/ScheduledAction.cpp:
1629         (WebCore::ScheduledAction::ScheduledAction):
1630         * bindings/v8/ScriptController.cpp:
1631         (WebCore::ScriptController::eventHandlerPosition):
1632         * bindings/v8/ScriptController.h:
1633         * bindings/v8/ScriptEventListener.cpp:
1634         (WebCore::createAttributeEventListener):
1635         * bindings/v8/ScriptSourceCode.h:
1636         (WebCore::ScriptSourceCode::ScriptSourceCode):
1637         (WebCore::ScriptSourceCode::startPosition):
1638         * bindings/v8/V8LazyEventListener.cpp:
1639         (WebCore::V8LazyEventListener::V8LazyEventListener):
1640         * bindings/v8/V8LazyEventListener.h:
1641         (WebCore::V8LazyEventListener::create):
1642         * bindings/v8/V8Proxy.cpp:
1643         (WebCore::V8Proxy::compileScript):
1644         (WebCore::V8Proxy::evaluate):
1645         (WebCore::V8Proxy::runScript):
1646         * bindings/v8/V8Proxy.h:
1647         * bindings/v8/WorkerContextExecutionProxy.cpp:
1648         (WebCore::WorkerContextExecutionProxy::evaluate):
1649         (WebCore::WorkerContextExecutionProxy::runScript):
1650         * bindings/v8/WorkerContextExecutionProxy.h:
1651         * bindings/v8/WorkerScriptController.cpp:
1652         (WebCore::WorkerScriptController::evaluate):
1653         * dom/PendingScript.cpp:
1654         (WebCore::PendingScript::releaseElementAndClear):
1655         * dom/PendingScript.h:
1656         (WebCore::PendingScript::PendingScript):
1657         (WebCore::PendingScript::startingPosition):
1658         (WebCore::PendingScript::setStartingPosition):
1659         * dom/ScriptElement.cpp:
1660         (WebCore::ScriptElement::prepareScript):
1661         * dom/ScriptElement.h:
1662         * dom/ScriptableDocumentParser.h:
1663         * dom/ViewportArguments.cpp:
1664         (WebCore::parserLineNumber):
1665         * html/parser/HTMLDocumentParser.cpp:
1666         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
1667         (WebCore::HTMLDocumentParser::pumpTokenizer):
1668         (WebCore::HTMLDocumentParser::lineNumber):
1669         (WebCore::HTMLDocumentParser::textPosition):
1670         * html/parser/HTMLDocumentParser.h:
1671         * html/parser/HTMLInputStream.h:
1672         * html/parser/HTMLScriptRunner.cpp:
1673         (WebCore::HTMLScriptRunner::execute):
1674         (WebCore::HTMLScriptRunner::runScript):
1675         * html/parser/HTMLScriptRunner.h:
1676         * html/parser/HTMLTreeBuilder.cpp:
1677         (WebCore::uninitializedPositionValue1):
1678         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1679         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
1680         (WebCore::HTMLTreeBuilder::processEndTag):
1681         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1682         * html/parser/HTMLTreeBuilder.h:
1683         * inspector/InspectorResourceAgent.cpp:
1684         (WebCore::InspectorResourceAgent::buildInitiatorObject):
1685         * platform/text/SegmentedString.cpp:
1686         (WebCore::SegmentedString::currentLine):
1687         (WebCore::SegmentedString::currentColumn):
1688         (WebCore::SegmentedString::setCurrentPosition):
1689         * platform/text/SegmentedString.h:
1690         * svg/SVGDocumentExtensions.cpp:
1691         (WebCore::parserLineNumber):
1692         * xml/XMLErrors.cpp:
1693         (WebCore::XMLErrors::XMLErrors):
1694         (WebCore::XMLErrors::handleError):
1695         (WebCore::XMLErrors::appendErrorMessage):
1696         * xml/XMLErrors.h:
1697         * xml/parser/MarkupTokenizerBase.h:
1698         (WebCore::MarkupTokenizerBase::lineNumber):
1699         * xml/parser/NewXMLDocumentParser.cpp:
1700         (WebCore::NewXMLDocumentParser::processScript):
1701         (WebCore::NewXMLDocumentParser::textPosition):
1702         (WebCore::NewXMLDocumentParser::lineNumber):
1703         * xml/parser/NewXMLDocumentParser.h:
1704         * xml/parser/XMLDocumentParser.cpp:
1705         (WebCore::XMLDocumentParser::pushCurrentNode):
1706         (WebCore::XMLDocumentParser::handleError):
1707         * xml/parser/XMLDocumentParser.h:
1708         * xml/parser/XMLDocumentParserLibxml2.cpp:
1709         (WebCore::PendingCallbacks::appendErrorCallback):
1710         (WebCore::XMLDocumentParser::XMLDocumentParser):
1711         (WebCore::XMLDocumentParser::doWrite):
1712         (WebCore::XMLDocumentParser::startElementNs):
1713         (WebCore::XMLDocumentParser::error):
1714         (WebCore::XMLDocumentParser::lineNumber):
1715         (WebCore::XMLDocumentParser::columnNumber):
1716         (WebCore::XMLDocumentParser::textPosition):
1717         * xml/parser/XMLDocumentParserQt.cpp:
1718         (WebCore::XMLDocumentParser::XMLDocumentParser):
1719         (WebCore::XMLDocumentParser::doWrite):
1720         (WebCore::XMLDocumentParser::doEnd):
1721         (WebCore::XMLDocumentParser::lineNumber):
1722         (WebCore::XMLDocumentParser::columnNumber):
1723         (WebCore::XMLDocumentParser::textPosition):
1724         (WebCore::XMLDocumentParser::parse):
1725         (WebCore::XMLDocumentParser::parseStartElement):
1726
1727 2011-09-19  Dan Bernstein  <mitz@apple.com>
1728
1729         WebCore part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
1730         https://bugs.webkit.org/show_bug.cgi?id=68323
1731
1732         Reviewed by Sam Weinig.
1733
1734         Renamed AccessibilityObjectWrapper to WebAccessibilityObjectWrapper.
1735         Renamed CascadeList to WebCascadeList.
1736         Renamed CookieStorageObjCAdapter to WebCookieStorageObjCAdapter.
1737         Renamed LanguageChangeObserver to WebLanguageChangeObserver.
1738         Renamed ScrollAnimationHelperDelegate to WebScrollAnimationHelperDelegate.
1739         Renamed ScrollbarPainterControllerDelegate to WebScrollbarPainterControllerDelegate.
1740         Renamed ScrollbarPainterDelegate to WebScrollbarPainterDelegate.
1741         Renamed ScrollbarPartAnimation to WebScrollbarPartAnimation.
1742         Renamed ScrollbarPrefsObserver to WebScrollbarPrefsObserver.
1743
1744         * WebCore.gyp/WebCore.gyp: Updated for the renaming of CascadeList to WebCascadeList.
1745         * WebCore.xcodeproj/project.pbxproj:
1746         * accessibility/AccessibilityObject.h:
1747         * accessibility/mac/AXObjectCacheMac.mm:
1748         (WebCore::AXObjectCache::attachWrapper):
1749         * accessibility/mac/AccessibilityObjectMac.mm:
1750         * accessibility/mac/AccessibilityObjectWrapper.h: Removed.
1751         * accessibility/mac/AccessibilityObjectWrapper.mm: Removed.
1752         * accessibility/mac/WebAccessibilityObjectWrapper.h: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.h.
1753         * accessibility/mac/WebAccessibilityObjectWrapper.mm: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm.
1754         (convertToNSArray):
1755         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1756         (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
1757         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1758         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1759         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
1760         * platform/mac/Language.mm:
1761         (WebCore::platformDefaultLanguage):
1762         * platform/mac/ScrollAnimatorMac.h:
1763         * platform/mac/ScrollAnimatorMac.mm:
1764         (-[WebScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
1765         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1766         * platform/mac/ScrollbarThemeMac.mm:
1767         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1768         * platform/network/mac/CookieStorageMac.mm:
1769         (WebCore::startObservingCookieChanges):
1770
1771 2011-09-19  Cary Clark  <caryclark@google.com>
1772
1773         Move fontDataForCombiningCharacterSequence to fix Skia on Mac build
1774         https://bugs.webkit.org/show_bug.cgi?id=68358
1775
1776         Reviewed by Dan Bernstein.
1777
1778         No new tests.
1779
1780         * platform/graphics/mac/FontMac.mm:
1781         * platform/graphics/mac/FontComplexTextMac.cpp:
1782         (WebCore::Font::fontDataForCombiningCharacterSequence):
1783         This moves the implementation from FontMac.mm to
1784         FontComplexTextMac.cpp, so it is visible to the Skia on Mac
1785         platform as well.
1786
1787 2011-09-19  Jessie Berlin  <jberlin@apple.com>
1788
1789         Sites that use history pushState or replaceState are recorded in history in Private Browsing
1790         mode.
1791         https://bugs.webkit.org/show_bug.cgi?id=68208
1792
1793         Reviewed by Brady Eidson.
1794
1795         Test: TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.
1796
1797         Add the privateBrowsingEnabled check that is used in other places in HistoryController
1798         before calling addVisitedLink and FrameLoaderClient::updateGlobalHistory.
1799
1800         * loader/HistoryController.cpp:
1801         (WebCore::HistoryController::pushState):
1802         (WebCore::HistoryController::replaceState):
1803
1804 2011-09-19  Leandro Pereira  <leandro@profusion.mobi>
1805
1806         Unreviewed: ScrollbarThemeMock.cpp is already referenced in the
1807         global CMakeLists.txt.
1808
1809         * CMakeListsEfl.txt: Remove reference to platform/mock/ScrollbarThemeMock.cpp.
1810         * CMakeListsWinCE.txt: Ditto.
1811
1812 2011-09-19  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
1813
1814         Unreviewed: dos2unix on bindings/js/JSExceptionBase.h
1815
1816         Visual Studio is choking on this file when generating packages for
1817         Qt-4.8 on Windows:
1818
1819         """
1820         Source\WebCore\Bindings\js\JSExceptionBase.h:
1821         error C4335: Mac file format detected: please convert the source file
1822         to either DOS or UNIX format
1823         """
1824
1825         Since from all .cpp or .h files shared by all ports this is the only
1826         one with CRLF line terminations, I'm assuming this was a mistake.
1827
1828         * bindings/js/JSExceptionBase.h:
1829
1830 2011-09-19  Ilya Tikhonovsky  <loislo@chromium.org>
1831
1832         Web Inspector: didMarkDOMContentEvent() should send event of MarkDOMContent type.
1833         https://bugs.webkit.org/show_bug.cgi?id=67528
1834
1835         Reviewed by Pavel Feldman.
1836
1837         Tests: inspector/timeline/timeline-dom-content-loaded-event.html
1838                inspector/timeline/timeline-load-event.html
1839
1840         * inspector/InspectorTimelineAgent.cpp:
1841         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
1842
1843 2011-09-19  Shawn Singh  <shawnsingh@chromium.org>
1844
1845         Re-name LayerChromium border functions to reflect that
1846         they are only for debug use.
1847         https://bugs.webkit.org/show_bug.cgi?id=68212
1848
1849         Reviewed by James Robinson.
1850
1851         Code cleanup towards unit testing.
1852
1853         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1854         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1855         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1856         (WebCore::GraphicsLayerChromium::setDebugBorder):
1857         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1858         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1859         * platform/graphics/chromium/LayerChromium.cpp:
1860         (WebCore::LayerChromium::setDebugBorderColor):
1861         (WebCore::LayerChromium::setDebugBorderWidth):
1862         * platform/graphics/chromium/LayerChromium.h:
1863
1864 2011-09-18  Ilya Tikhonovsky  <loislo@chromium.org>
1865
1866         Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
1867         https://bugs.webkit.org/show_bug.cgi?id=67986
1868
1869         Reviewed by Pavel Feldman.
1870
1871         Test: inspector/timeline/timeline-animation-frame.html
1872
1873         * English.lproj/localizedStrings.js:
1874         * bindings/v8/V8Proxy.cpp:
1875         (WebCore::V8Proxy::callFunction):
1876         (WebCore::V8Proxy::callFunctionWithoutFrame):
1877         (WebCore::V8Proxy::instrumentedCallFunction):
1878         * bindings/v8/V8Proxy.h:
1879         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1880         (WebCore::invokeCallback):
1881         * dom/ScriptedAnimationController.cpp:
1882         (WebCore::ScriptedAnimationController::registerCallback):
1883         (WebCore::ScriptedAnimationController::cancelCallback):
1884         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
1885         * inspector/InspectorInstrumentation.cpp:
1886         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
1887         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
1888         (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
1889         (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
1890         * inspector/InspectorInstrumentation.h:
1891         (WebCore::InspectorInstrumentation::willCallFunction):
1892         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
1893         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
1894         (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
1895         (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
1896         * inspector/InspectorTimelineAgent.cpp:
1897         (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
1898         (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
1899         (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
1900         (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
1901         * inspector/InspectorTimelineAgent.h:
1902         * inspector/TimelineRecordFactory.cpp:
1903         (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
1904         * inspector/TimelineRecordFactory.h:
1905         * inspector/front-end/TimelineAgent.js:
1906         * inspector/front-end/TimelinePanel.js:
1907         (WebInspector.TimelinePanel):
1908         (WebInspector.TimelinePanel.prototype.get _recordStyles):
1909         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1910         (WebInspector.TimelinePanel.prototype._clearPanel):
1911         (WebInspector.TimelinePanel.FormattedRecord):
1912         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1913         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1914
1915 2011-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1916
1917         [GTK] Fix distcheck build
1918         https://bugs.webkit.org/show_bug.cgi?id=68241
1919
1920         Reviewed by Martin Robinson.
1921
1922         * GNUmakefile.list.am:
1923
1924 2011-09-18  Ilya Tikhonovsky  <loislo@chromium.org>
1925
1926         Web Inspector: chromium-win: "Save timeline data" does nothing.
1927         https://bugs.webkit.org/show_bug.cgi?id=68313
1928
1929         windows shell API function GetSaveFileName doesn't accept file names with ':' symbol.
1930
1931         Reviewed by Pavel Feldman.
1932
1933         * inspector/front-end/TimelinePanel.js:
1934         (WebInspector.TimelineModel.prototype._saveToFile):
1935
1936 2011-09-18  Dan Bernstein  <mitz@apple.com>
1937
1938         Try to fix the Chromium Mac build after r95391.
1939
1940         * WebCore.gyp/WebCore.gyp:
1941
1942 2011-09-18  Dan Bernstein  <mitz@apple.com>
1943
1944         Try to fix the Chromium Mac build after r95391.
1945
1946         * WebCore.gyp/WebCore.gyp:
1947
1948 2011-09-18  Dan Bernstein  <mitz@apple.com>
1949
1950         Try to fix the Chromium Mac build after r95391.
1951
1952         * WebCore.gypi: Updated for the renaming of ComplexTextController.cpp.
1953         * WebCore.xcodeproj/project.pbxproj: Ditto.
1954         * platform/graphics/Font.h: Changed #if directives to include the Chromium Mac port.
1955         * platform/graphics/SimpleFontData.h: Ditto.
1956         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Changed the filename extension of this
1957         Objective-C++ file to .mm.
1958         * platform/graphics/mac/ComplexTextControllerCoreText.mm: Copied from Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.cpp.
1959
1960 2011-09-18  Dan Bernstein  <mitz@apple.com>
1961
1962         Snow Leopard build fix after r95391.
1963
1964         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1965         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
1966
1967 2011-09-18  Dan Bernstein  <mitz@apple.com>
1968
1969         Leopard build fix after r95391.
1970
1971         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1972         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
1973
1974 2011-09-18  Dan Bernstein  <mitz@apple.com>
1975
1976         Allow Core Text to choose the fallback font for rendering a combining character sequence
1977
1978         Fixes <rdar://problem/7860281> Decomposed text is displayed incorrectly when Verdana is specified
1979         https://bugs.webkit.org/show_bug.cgi?id=68287
1980
1981         Reviewed by Dave Hyatt.
1982
1983         Test: platform/mac/fast/text/combining-character-sequence-fallback.html
1984
1985         * WebCore.xcodeproj/project.pbxproj: Compile ComplexTextControllerCoreText.cpp as Objective-C++.
1986         I am going to rename this file in a followup patch.
1987
1988         * platform/graphics/Font.h: Declared fontDataForCombiningCharacterSequence().
1989
1990         * platform/graphics/SimpleFontData.h: Declared canRenderCombiningCharacterSequence() and added
1991         a member variable to cache the results of calling this function.
1992
1993         * platform/graphics/mac/ComplexTextController.cpp:
1994         (WebCore::ComplexTextController::offsetForPosition): Fixed a typo in a comment.
1995         (WebCore::advanceByCombiningCharacterSequence): Added this helper function, which iterates over
1996         characters until the end of a sequence of combining characters, zero-width joiners and zero-width
1997         non-joiners. A single base characater followed by such a (possibly-empty) sequence is known as
1998         a combining character sequence. This stretches the definition a little because the base character
1999         may be a combining character as well. Returns false if an invalid UTF-16 sequence is encountered,
2000         true otherwise.
2001         (WebCore::ComplexTextController::collectComplexTextRuns): - Replaced the glyphData and nextGlyphData
2002         variables each with a pair of variables, a SimpleFontData* and a boolean indicating whether a
2003         character mapped to the missing glyph. This clarifies that this function does not use glyph IDs.
2004         - Renamed the local variable newC to uppercaseCharacter.
2005         - Changed to use advanceByCombiningCharacterSequence().
2006         - Changed to use Font::fontDataForCombiningCharacterSequence() instead of Font::glyphDataForCharacter().
2007           If there are combining marks and none of the fonts in the fallback list can render the sequence alone,
2008           use the systemFallbackFontData() constant to indicate to collectComplexTextRunsForCharactersCoreText()
2009           to allow Core Text to perform its own fallback.
2010         - Stopped checking isSmallCaps against nextIsSmallCaps. It was redundant, since the small caps FontData
2011           differs from the normal variant.
2012         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Moved the common logic to
2013         handle the 0 fontData case from the ATSUI and Core Text continuations of this function into this function.
2014
2015         * platform/graphics/mac/ComplexTextController.h:
2016         (WebCore::ComplexTextController::systemFallbackFontData): Added. This constant is used to indicate to
2017         collectComplexTextRunsForCharactersCoreText() that it should allow Core Text to perform its own font
2018         fallback.
2019
2020         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2021         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI): Handle systemFallbackFontData()
2022         by using the primary font data.
2023
2024         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2025         (-[CascadeList initWithFont:WebCore::character:]): Added.
2026         (-[CascadeList count]): Added.
2027         (-[CascadeList objectAtIndex:]): Added. Returns an entry from a cascade list of CTFontDescriptorRef
2028         objects based on the font’s fallback list for the character. The list is initialized lazily.
2029         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Handle systemFallbackFontData()
2030         by allowing Core Text to perform font fallback, starting with a cascade list based on the font’s fallback
2031         list and possibly continuing with system fallback.
2032
2033         * platform/graphics/mac/FontMac.mm:
2034         (WebCore::Font::fontDataForCombiningCharacterSequence): Added. If the sequence is only a base character,
2035         calls through to glyphDataForCharacter(). Otherwise, iterates over the font’s fallback list for the
2036         base character (and the system fallback font for that character), returning the first font that can
2037         render the sequence, or 0 if there is none.
2038
2039         * platform/graphics/mac/SimpleFontDataMac.mm:
2040         (WebCore::provideStringAndAttributes): Added this Core Text callback.
2041         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added. Checks if Core Text can render
2042         the sequence using only this font. Caches the result.
2043
2044 2011-09-17  Mihai Parparita  <mihaip@chromium.org>
2045
2046         FrameLoaderClient BackForwardList-related methods are unsued
2047         https://bugs.webkit.org/show_bug.cgi?id=68293
2048
2049         Reviewed by Darin Adler.
2050
2051         Remove FrameLoaderClient methods that were added by r51629, since only
2052         the old (since-deleted) Android port needed them.
2053
2054         * history/BackForwardListImpl.cpp:
2055         (WebCore::BackForwardListImpl::addItem):
2056         (WebCore::BackForwardListImpl::goBack):
2057         (WebCore::BackForwardListImpl::goForward):
2058         (WebCore::BackForwardListImpl::goToItem):
2059         (WebCore::BackForwardListImpl::setCapacity):
2060         * loader/EmptyClients.h:
2061         * loader/FrameLoaderClient.h:
2062
2063 2011-09-17  David Hyatt  <hyatt@apple.com>
2064
2065         https://bugs.webkit.org/show_bug.cgi?id=68307
2066         
2067         Crash in border image cssText. Make sure to null check all the components, since they're all
2068         optional now.
2069
2070         Reviewed by Sam Weinig.
2071
2072         Added fast/borders/border-image-slice-omission.html
2073
2074         * css/CSSBorderImageValue.cpp:
2075         (WebCore::CSSBorderImageValue::cssText):
2076
2077 2011-09-17  Aaron Boodman  <aa@chromium.org>
2078
2079         Rework script context creation/release notifications
2080         https://bugs.webkit.org/show_bug.cgi?id=67828
2081
2082         Reviewed by Adam Barth.
2083
2084         * bindings/v8/V8DOMWindowShell.cpp:
2085         (WebCore::V8DOMWindowShell::disposeContextHandles):
2086         (WebCore::V8DOMWindowShell::initContextIfNeeded):
2087         * bindings/v8/V8IsolatedContext.cpp:
2088         (WebCore::V8IsolatedContext::V8IsolatedContext):
2089         (WebCore::V8IsolatedContext::destroy):
2090         * bindings/v8/V8IsolatedContext.h:
2091         * loader/EmptyClients.h:
2092         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
2093         (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
2094         * loader/FrameLoaderClient.h:
2095
2096 2011-09-17  Ilya Tikhonovsky  <loislo@chromium.org>
2097
2098         Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
2099         https://bugs.webkit.org/show_bug.cgi?id=68312
2100
2101         Reviewed by Pavel Feldman.
2102
2103        * inspector/front-end/TimelinePanel.js:
2104         (WebInspector.TimelinePanel.prototype._createFileSelector):
2105
2106 2011-09-17  Jeff Miller  <jeffm@apple.com>
2107
2108         Build fix after r95372.
2109
2110         * dom/DOMAllInOne.cpp: #include "EventListenerMap.cpp"
2111
2112 2011-09-17  Deepak Sherveghar  <bpwv64@motorola.com>
2113
2114         Override supportsFocus() for HTMLMediaElement.
2115         https://bugs.webkit.org/show_bug.cgi?id=67190
2116
2117         Reviewed by Antonio Gomes.
2118
2119         Tests: fast/events/media-element-focus-tab.html
2120                fast/spatial-navigation/snav-media-elements.html
2121
2122         Return true from supportsFocus() if control's attribute is present or a tabindex is specified.
2123
2124         * html/HTMLMediaElement.cpp:
2125         (WebCore::HTMLMediaElement::supportsFocus):
2126         * html/HTMLMediaElement.h:
2127
2128 2011-09-16  Adam Barth  <abarth@webkit.org>
2129
2130         Rename ENABLE(LEVELDB) to USE(LEVELDB)
2131         https://bugs.webkit.org/show_bug.cgi?id=68290
2132
2133         Reviewed by Darin Adler.
2134
2135         LEVELDB is a library that can be used to implemented INDEXED_DATABASE,
2136         which means it should be a USE not an ENABLE.
2137
2138         * CMakeLists.txt:
2139         * WebCore.gyp/WebCore.gyp:
2140         * platform/leveldb/LevelDBComparator.h:
2141         * platform/leveldb/LevelDBDatabase.cpp:
2142         * platform/leveldb/LevelDBDatabase.h:
2143         * platform/leveldb/LevelDBIterator.h:
2144         * platform/leveldb/LevelDBSlice.h:
2145         * platform/leveldb/LevelDBTransaction.cpp:
2146         * platform/leveldb/LevelDBTransaction.h:
2147         * platform/leveldb/LevelDBWriteBatch.cpp:
2148         * platform/leveldb/LevelDBWriteBatch.h:
2149         * storage/IDBFactoryBackendImpl.cpp:
2150         (WebCore::IDBFactoryBackendImpl::open):
2151         (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
2152         * storage/IDBLevelDBBackingStore.cpp:
2153         * storage/IDBLevelDBBackingStore.h:
2154         * storage/IDBLevelDBCoding.cpp:
2155         * storage/IDBLevelDBCoding.h:
2156
2157 2011-09-16  Andreas Kling  <kling@webkit.org>
2158
2159         Reduce EventTarget memory usage by deferring hash map allocation
2160         until there are listeners for more than 1 event type.
2161
2162         http://webkit.org/b/68105
2163
2164         Reviewed by Darin Adler.
2165
2166         Introduce an EventListenerMap class which manages a map of event types that have
2167         one or more listeners connected.
2168
2169         When there is only one event type, it's stored directly on the EventListenerMap
2170         internally, and when more are added it moves to a hash map. It only goes back
2171         from the hash map if all the listeners are removed at once (i.e clear() is called.)
2172
2173         * CMakeLists.txt:
2174         * GNUmakefile.list.am:
2175         * WebCore.gypi:
2176         * WebCore.pro:
2177         * WebCore.vcproj/WebCore.vcproj:
2178         * WebCore.xcodeproj/project.pbxproj:
2179
2180             Adding files.
2181
2182         * WebCore.exp.in:
2183
2184             Export EventListenerMap::contains() for WebKit/mac.
2185
2186         * dom/EventListenerMap.cpp: Added.
2187         (WebCore::EventListenerMap::EventListenerMap):
2188         (WebCore::EventListenerMap::~EventListenerMap):
2189         (WebCore::EventListenerMap::isEmpty):
2190         (WebCore::EventListenerMap::contains):
2191         (WebCore::EventListenerMap::clear):
2192         (WebCore::EventListenerMap::eventTypes):
2193         (WebCore::addListenerToVector):
2194         (WebCore::EventListenerMap::add):
2195         (WebCore::removeListenerFromVector):
2196         (WebCore::EventListenerMap::remove):
2197         (WebCore::EventListenerMap::find):
2198         (WebCore::removeFirstListenerCreatedFromMarkup):
2199         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
2200         (WebCore::copyListenersNotCreatedFromMarkupToTarget):
2201         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
2202         (WebCore::EventListenerIterator::EventListenerIterator):
2203         (WebCore::EventListenerIterator::nextListener):
2204         * dom/EventListenerMap.h: Added.
2205
2206         * dom/EventTarget.cpp:
2207         (WebCore::EventTargetData::~EventTargetData):
2208         (WebCore::EventTarget::addEventListener):
2209         (WebCore::EventTarget::removeEventListener):
2210         (WebCore::EventTarget::fireEventListeners):
2211         (WebCore::EventTarget::getEventListeners):
2212         (WebCore::EventTarget::removeAllEventListeners):
2213
2214         * dom/EventTarget.h:
2215         (WebCore::EventTarget::visitJSEventListeners):
2216
2217             Use EventListenerIterator to visit listeners. (JSC specific.)
2218
2219         * inspector/InspectorDOMAgent.cpp:
2220         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2221
2222             Call EventListenerMap::eventTypes() go get the list of event types
2223             currently listened for.
2224
2225         * dom/Node.cpp:
2226         (WebCore::Node::removeEventListener):
2227         * svg/SVGUseElement.cpp:
2228         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
2229
2230             Move implementations of SVG-specific hacks into EventListenerMap and
2231             call them from here.
2232
2233 2011-09-16  Jeremy Apthorp <jeremya@chromium.org> and James Kozianski  <koz@chromium.org>
2234
2235         Don't detach elements from the render tree when entering fullscreen mode
2236         https://bugs.webkit.org/show_bug.cgi?id=66531
2237
2238         This prevents plugin instances from being destroyed and reinstantiated
2239         when entering fullscreen mode.
2240
2241         Reviewed by James Robinson.
2242
2243         Test: plugins/fullscreen-plugins-dont-reload.html
2244
2245         * dom/Document.cpp:
2246         (WebCore::Document::webkitWillEnterFullScreenForElement):
2247         (WebCore::Document::webkitDidExitFullScreenForElement):
2248         * dom/NodeRenderingContext.cpp:
2249         (WebCore::NodeRendererFactory::createRendererIfNeeded):
2250         * rendering/RenderFullScreen.cpp:
2251         (createFullScreenStyle):
2252         (RenderFullScreen::wrapRenderer):
2253         (RenderFullScreen::unwrapRenderer):
2254         * rendering/RenderFullScreen.h:
2255
2256 2011-09-16  Jochen Eisinger  <jochen@chromium.org>
2257
2258         Rename FrameLoaderClient::allowImages to FrameLoaderClient::allowImage and include the image URL as parameter
2259         https://bugs.webkit.org/show_bug.cgi?id=68071
2260
2261         This will allow embedders to block images based on where the image is loaded from, instead of just blocking all images in a given frame.
2262
2263         Reviewed by Adam Barth.
2264
2265         * html/ImageDocument.cpp:
2266         (WebCore::ImageDocumentParser::appendBytes):
2267         * loader/FrameLoaderClient.h:
2268         (WebCore::FrameLoaderClient::allowImage):
2269         * loader/cache/CachedResourceLoader.cpp:
2270         (WebCore::CachedResourceLoader::requestImage):
2271
2272 2011-09-16  Tom Sepez  <tsepez@chromium.org>
2273
2274         Make XSSAuditor truncate inline snippets at a reasonable length before comparison
2275         respecting boundaries of multiply urlencoded sequences.
2276         https://bugs.webkit.org/show_bug.cgi?id=68092
2277         
2278         Reviewed by Adam Barth.
2279
2280         Test: http/tests/security/xssAuditor/property-escape-long.html
2281
2282         * html/parser/XSSAuditor.cpp:
2283         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
2284         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
2285         (WebCore::XSSAuditor::eraseAttributeIfInjected):
2286         (WebCore::XSSAuditor::decodedSnippetForAttribute):
2287         (WebCore::XSSAuditor::isContainedInRequest):
2288         * html/parser/XSSAuditor.h:
2289
2290 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
2291
2292         Remove m_contentsDirty from LayerChromium because it
2293         is redundant with m_dirtyRect.
2294         https://bugs.webkit.org/show_bug.cgi?id=68213
2295
2296         Reviewed by James Robinson.
2297
2298         Code cleanup towards unit testing.
2299
2300         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2301         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
2302         * platform/graphics/chromium/ContentLayerChromium.cpp:
2303         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2304         * platform/graphics/chromium/ImageLayerChromium.cpp:
2305         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2306         * platform/graphics/chromium/LayerChromium.cpp:
2307         (WebCore::LayerChromium::LayerChromium):
2308         (WebCore::LayerChromium::setNeedsDisplay):
2309         (WebCore::LayerChromium::resetNeedsDisplay):
2310         * platform/graphics/chromium/LayerChromium.h:
2311         * platform/graphics/chromium/VideoLayerChromium.cpp:
2312         (WebCore::VideoLayerChromium::updateCompositorResources):
2313         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2314         (WebCore::WebGLLayerChromium::updateCompositorResources):
2315
2316 2011-09-16  Dmitry Lomov  <dslomov@google.com>
2317
2318         https://bugs.webkit.org/show_bug.cgi?id=66714
2319         Add webkitPostMessage to allow for adding transferable support.
2320         This adds webkitPostMessage, currently identical to postMessage, which 
2321         would later be a vehicle for adding transferable support for messaging.
2322         
2323         Based on patch by Luke Zarko.
2324
2325         Reviewed by David Levin.
2326
2327         * bindings/js/JSDOMWindowCustom.cpp:
2328         (WebCore::JSDOMWindow::webkitPostMessage):
2329         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
2330         (WebCore::JSDedicatedWorkerContext::webkitPostMessage):
2331         * bindings/js/JSMessageEventCustom.cpp:
2332         (WebCore::JSMessageEvent::webkitInitMessageEvent):
2333         * bindings/js/JSMessagePortCustom.cpp:
2334         (WebCore::JSMessagePort::webkitPostMessage):
2335         * bindings/js/JSWorkerCustom.cpp:
2336         (WebCore::JSWorker::postMessage):
2337         (WebCore::JSWorker::webkitPostMessage):
2338         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2339         (WebCore::handlePostMessageCallback):
2340         (WebCore::V8DOMWindow::postMessageCallback):
2341         (WebCore::V8DOMWindow::webkitPostMessageCallback):
2342         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2343         (WebCore::handlePostMessageCallback):
2344         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
2345         (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
2346         * bindings/v8/custom/V8MessageEventCustom.cpp:
2347         (WebCore::V8MessageEvent::initMessageEventCallback):
2348         (WebCore::V8MessageEvent::webkitInitMessageEventCallback):
2349         * bindings/v8/custom/V8MessagePortCustom.cpp:
2350         (WebCore::handlePostMessageCallback):
2351         (WebCore::V8MessagePort::postMessageCallback):
2352         (WebCore::V8MessagePort::webkitPostMessageCallback):
2353         * bindings/v8/custom/V8WorkerCustom.cpp:
2354         (WebCore::handlePostMessageCallback):
2355         (WebCore::V8Worker::postMessageCallback):
2356         (WebCore::V8Worker::webkitPostMessageCallback):
2357         * dom/MessageEvent.idl:
2358         * dom/MessagePort.idl:
2359         * page/DOMWindow.idl:
2360         * workers/DedicatedWorkerContext.idl:
2361         * workers/Worker.idl:
2362
2363 2011-09-16  Alexei Svitkine  <asvitkine@chromium.org>
2364
2365         Chromium: Fix repaint of rubber-band overhang area under composited path
2366         https://bugs.webkit.org/show_bug.cgi?id=68246
2367
2368         I accidently removed these two lines from the last patch on: https://bugs.webkit.org/show_bug.cgi?id=66969
2369
2370         Reviewed by James Robinson.
2371
2372         Test: platform/chromium-gpu/compositing/rubberbanding/transform-overhang-size-change.html
2373
2374         * platform/ScrollView.cpp:
2375         (WebCore::ScrollView::scrollContents):
2376
2377 2011-09-16  Peter Beverloo  <peter@chromium.org>
2378
2379         Depend on harfbuzz for OS=Android as well
2380         https://bugs.webkit.org/show_bug.cgi?id=68239
2381
2382         Like GTK, Android depends on harfbuzz as well, so reflect that in
2383         the project file. Furthermore, fix a compile error in PopupListBox.cpp
2384         by explicitly including ctype.h, as isspace otherwise won't be declared.
2385
2386         Reviewed by Steve Block.
2387
2388         * WebCore.gyp/WebCore.gyp:
2389         * platform/chromium/PopupListBox.cpp:
2390
2391 2011-09-16  Tony Chang  <tony@chromium.org>
2392
2393         Rename flex-align values to match the spec
2394         https://bugs.webkit.org/show_bug.cgi?id=67741
2395
2396         Reviewed by Ojan Vafai.
2397
2398         * css/CSSParser.cpp:
2399         (WebCore::CSSParser::parseValue):
2400         * css/CSSPrimitiveValueMappings.h:
2401         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2402         (WebCore::CSSPrimitiveValue::operator EFlexAlign):
2403         * css/CSSValueKeywords.in:
2404         * rendering/style/RenderStyleConstants.h:
2405
2406 2011-09-16  Kentaro Hara  <haraken@chromium.org>
2407
2408         Implement an ErrorEvent constructor for JSC
2409         https://bugs.webkit.org/show_bug.cgi?id=68148
2410
2411         Reviewed by Sam Weinig.
2412
2413         The spec for the ErrorEvent constructor is here:
2414         http://dev.w3.org/html5/workers/#errorevent
2415
2416         Test: fast/events/constructors/error-event-constructor.html
2417
2418         * bindings/generic/EventConstructors.h: Added a definition for the ErrorEvent constructor.
2419         * bindings/js/JSEventConstructors.cpp: Added #includes for ErrorEvent.
2420         * dom/ErrorEvent.cpp:
2421         (WebCore::ErrorEventInit::ErrorEventInit):
2422         (WebCore::ErrorEvent::ErrorEvent):
2423         (WebCore::ErrorEvent::initErrorEvent):
2424         (WebCore::ErrorEvent::isErrorEvent):
2425         * dom/ErrorEvent.h: Added a definition for ErrorEventInit.
2426         (WebCore::ErrorEvent::create):
2427         (WebCore::ErrorEvent::message):
2428         (WebCore::ErrorEvent::filename):
2429         (WebCore::ErrorEvent::lineno):
2430         * dom/ErrorEvent.idl: Makes ErrorEvent constructible.
2431
2432 2011-09-16  Kentaro Hara  <haraken@google.com>
2433
2434         Overhangs a ruby by no more than half the width of the neighboring text.
2435         https://bugs.webkit.org/show_bug.cgi?id=62684
2436
2437         Reviewed by Dan Bernstein.
2438
2439         Assume two rubies between which a narrow text exists, like
2440         "<ruby>x<rt>xxxxxx</rt></ruby>l<ruby>y<rt>yyyyyy</rt></ruby>".
2441         In order to avoid the two rubies overlapping with each other,
2442         this patch overhangs the ruby by no more than half the ruby font
2443         size and no more than half the width of the neighboring text.
2444
2445         Tests: fast/ruby/overhang-horizontal-no-overlap1.html
2446                fast/ruby/overhang-horizontal-no-overlap2.html
2447                fast/ruby/overhang-vertical-no-overlap1.html
2448                fast/ruby/overhang-vertical-no-overlap2.html
2449
2450         * rendering/RenderRubyRun.cpp:
2451         (WebCore::RenderRubyRun::getOverhang): Calculates the width of ruby overhanging.
2452
2453 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2454
2455         Unreviewed, rolling out r95304.
2456         http://trac.webkit.org/changeset/95304
2457         https://bugs.webkit.org/show_bug.cgi?id=68299
2458
2459         Broke GTK+ builds. It pulls derived headers into main.c
2460         (Requested by rniwa on #webkit).
2461
2462         * bindings/scripts/CodeGeneratorGObject.pm:
2463         ():
2464         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2465         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2466         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
2467         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2468         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
2469         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
2470         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2471         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
2472         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
2473         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2474         (webkit_dom_test_obj_conditional_method1):
2475         (webkit_dom_test_obj_conditional_method2):
2476         (webkit_dom_test_obj_conditional_method3):
2477         (webkit_dom_test_obj_get_conditional_attr1):
2478         (webkit_dom_test_obj_set_conditional_attr1):
2479         (webkit_dom_test_obj_get_conditional_attr2):
2480         (webkit_dom_test_obj_set_conditional_attr2):
2481         (webkit_dom_test_obj_get_conditional_attr3):
2482         (webkit_dom_test_obj_set_conditional_attr3):
2483         (webkit_dom_test_obj_set_property):
2484         (webkit_dom_test_obj_get_property):
2485         (webkit_dom_test_obj_class_init):
2486         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2487         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
2488         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2489         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2490         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
2491
2492 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
2493
2494         Re-named isRootLayer to isNonCompositedContent because
2495         that is what the flag actually means.
2496         https://bugs.webkit.org/show_bug.cgi?id=68214
2497
2498         Reviewed by James Robinson.
2499
2500         Code cleanup towards unit testing.
2501
2502         * platform/graphics/chromium/LayerChromium.cpp:
2503         (WebCore::LayerChromium::LayerChromium):
2504         (WebCore::LayerChromium::pushPropertiesTo):
2505         * platform/graphics/chromium/LayerChromium.h:
2506         (WebCore::LayerChromium::setIsNonCompositedContent):
2507         (WebCore::LayerChromium::isNonCompositedContent):
2508         * platform/graphics/chromium/NonCompositedContentHost.cpp:
2509         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
2510         * platform/graphics/chromium/TiledLayerChromium.cpp:
2511         (WebCore::TiledLayerChromium::setLayerTreeHost):
2512         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2513         (WebCore::CCLayerImpl::CCLayerImpl):
2514         * platform/graphics/chromium/cc/CCLayerImpl.h:
2515         (WebCore::CCLayerImpl::setIsNonCompositedContent):
2516         (WebCore::CCLayerImpl::isNonCompositedContent):
2517         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2518         (WebCore::CCTiledLayerImpl::draw):
2519
2520 2011-09-16  Simon Fraser  <simon.fraser@apple.com>
2521
2522         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
2523         https://bugs.webkit.org/show_bug.cgi?id=68134
2524
2525         Reviewed by Sam Weinig.
2526
2527         Add a new setting to control whether the mock scrollbar theme is used.
2528         This is a global setting, so that it can be set without having to
2529         access a specific Settings object.
2530
2531         * page/Settings.h:
2532         (WebCore::Settings::setMockScrollbarsEnabled):
2533         (WebCore::Settings::mockScrollbarsEnabled):
2534
2535 2011-09-16  Ben Wells  <benwells@chromium.org>
2536
2537         Large canvas fills should not crash or create unnecessarily large image buffers
2538         https://bugs.webkit.org/show_bug.cgi?id=67988
2539
2540         When using source-in, destination-in, source-out, or destination-atop a temporary
2541         buffer is created. This buffer only needs to be big enough to cover the intersection
2542         of the path and the canvas. If the area of intersection between the fill and the
2543         canvas is empty the canvas is completely cleared and a temporary buffer is not used.
2544
2545         This change also adds some null checks for failures to create contexts or buffers.
2546
2547         Reviewed by Darin Adler.
2548
2549         Test: fast/canvas/canvas-large-fills.html
2550
2551         * html/canvas/CanvasRenderingContext2D.cpp:
2552         (WebCore::CanvasRenderingContext2D::clearCanvas):
2553         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
2554
2555 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
2556
2557         Remove default NULL argument in LayerChromium::create().
2558         https://bugs.webkit.org/show_bug.cgi?id=68211
2559
2560         Reviewed by James Robinson.
2561
2562         Code cleanup related to creating unit testing.
2563
2564         * platform/graphics/chromium/LayerChromium.h:
2565
2566 2011-09-16  Adrienne Walker  <enne@google.com>
2567
2568         [chromium] Move quad drawing code from LayerChromium to LayerRendererChromium
2569         https://bugs.webkit.org/show_bug.cgi?id=68272
2570
2571         Reviewed by James Robinson.
2572
2573         All the OpenGL code is in LayerRendererChromium and the CCLayerImpl
2574         tree, so move the static drawTexturedQuad/toGLMatrix functions to
2575         LayerRendererChromium, where they really belong.
2576
2577         Just moving code around. Tested by existing compositor tests.
2578
2579         * platform/graphics/chromium/LayerChromium.cpp:
2580         * platform/graphics/chromium/LayerChromium.h:
2581         * platform/graphics/chromium/LayerRendererChromium.cpp:
2582         (WebCore::LayerRendererChromium::toGLMatrix):
2583         (WebCore::LayerRendererChromium::drawTexturedQuad):
2584         * platform/graphics/chromium/LayerRendererChromium.h:
2585         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2586         (WebCore::CCCanvasLayerImpl::draw):
2587         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2588         (WebCore::CCHeadsUpDisplay::draw):
2589         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2590         (WebCore::CCLayerImpl::drawDebugBorder):
2591         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2592         (WebCore::CCPluginLayerImpl::draw):
2593         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2594         (WebCore::CCRenderSurface::drawSurface):
2595         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2596         (WebCore::CCTiledLayerImpl::drawTiles):
2597         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2598         (WebCore::CCVideoLayerImpl::drawYUV):
2599         (WebCore::CCVideoLayerImpl::drawRGBA):
2600
2601 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
2602
2603         Fixed const correctness on accessors in LayerChromium
2604         https://bugs.webkit.org/show_bug.cgi?id=68210
2605
2606         Reviewed by James Robinson.
2607
2608         Code cleanup related to creating unit testing.
2609
2610         * platform/graphics/chromium/LayerChromium.h:
2611         (WebCore::LayerChromium::preserves3D):
2612         (WebCore::LayerChromium::replicaLayer):
2613
2614 2011-09-14  Ryosuke Niwa  <rniwa@webkit.org>
2615
2616         Deleting line break before h1 converts h1 to span
2617         https://bugs.webkit.org/show_bug.cgi?id=45784
2618
2619         Reviewed by Kenneth Rohde Christiansen.
2620
2621         Fixed the bug by treating h1 and other elements that retain structure like Mail blockquote.
2622
2623         We already had a logic to overriding styles of merged paragraphs by Mail blockquote so
2624         just extend this logic for h1-h6, pre, etc...
2625
2626         Tests: editing/deleting/merge-paragraph-from-address.html
2627                editing/deleting/merge-paragraph-from-h6-with-style.html
2628                editing/deleting/merge-paragraph-from-h6.html
2629                editing/deleting/merge-paragraph-from-listing.html
2630                editing/deleting/merge-paragraph-into-h1-with-style.html
2631                editing/deleting/merge-paragraph-into-h1.html
2632                editing/deleting/merge-paragraph-into-pre.html
2633
2634         * editing/ReplaceSelectionCommand.cpp:
2635         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2636         * editing/markup.cpp:
2637         (WebCore::isBlockNodeToRetainAppearance): Extracted from ancestorToRetainStructureAndAppearance.
2638         (WebCore::StyledMarkupAccumulator::serializeNodes):
2639         (WebCore::ancestorToRetainStructureAndAppearance):
2640         * editing/markup.h:
2641
2642 2011-09-16  Max Perepelitsyn  <pph34r@gmail.com>
2643
2644         Set but not used variables cleanup (gcc 4.6)
2645         https://bugs.webkit.org/show_bug.cgi?id=68157
2646
2647         Reviewed by Darin Adler.
2648
2649         * platform/audio/ReverbConvolverStage.cpp:
2650         (WebCore::ReverbConvolverStage::process):
2651         * rendering/RenderMediaControlsChromium.cpp:
2652         (WebCore::paintMediaButton):
2653
2654 2011-09-16  Geoffrey Garen  <ggaren@apple.com>
2655
2656         Removed undetectable style.filter.
2657
2658         Reviewed by Sam Weinig.
2659         
2660         This feature was added in http://trac.webkit.org/changeset/15557 to
2661         support housingmaps.com. But housingmaps.com no longer needs this hack,
2662         we don't know of other websites that need it, and we don't know of
2663         any other browsers that have implemented this feature.
2664
2665         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Removed.
2666         * WebCore.order:
2667         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2668         (WebCore::JSCSSStyleDeclaration::nameGetter):
2669
2670 2011-09-16  Adam Barth  <abarth@webkit.org>
2671
2672         Update JSC results to account for intrinsics change.
2673
2674         * bindings/scripts/test/JS/JSTestInterface.cpp:
2675         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2676         * bindings/scripts/test/JS/JSTestObj.cpp:
2677         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2678
2679 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2680
2681         Unreviewed, rolling out r95312.
2682         http://trac.webkit.org/changeset/95312
2683         https://bugs.webkit.org/show_bug.cgi?id=68277
2684
2685         It's innocent, innocent I tell you! (Requested by jamesr_ on
2686         #webkit).
2687
2688         * platform/graphics/chromium/ContentLayerChromium.cpp:
2689         (WebCore::ContentLayerChromium::createTextureUpdater):
2690         * platform/graphics/chromium/LayerRendererChromium.cpp:
2691         (WebCore::LayerRendererChromium::LayerRendererChromium):
2692         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2693         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2694         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2695         (WebCore::CCThreadProxy::context):
2696         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
2697         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
2698         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2699
2700 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2701
2702         Unreviewed, rolling out r95309.
2703         http://trac.webkit.org/changeset/95309
2704         https://bugs.webkit.org/show_bug.cgi?id=68271
2705
2706         Broke many chromium gpu tests. (Requested by dave_levin on
2707         #webkit).
2708
2709         * platform/graphics/chromium/ContentLayerChromium.cpp:
2710         (WebCore::ContentLayerChromium::createTextureUpdater):
2711         * platform/graphics/chromium/LayerRendererChromium.cpp:
2712         (WebCore::LayerRendererChromium::LayerRendererChromium):
2713         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2714         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2715         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2716         (WebCore::CCThreadProxy::context):
2717         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
2718         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
2719         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2720
2721 2011-09-16  Filip Pizlo  <fpizlo@apple.com>
2722
2723         DFG JIT should inline Math.abs
2724         https://bugs.webkit.org/show_bug.cgi?id=68227
2725
2726         Reviewed by Oliver Hunt.
2727
2728         Added JavaScriptCore/dfg to include path path. Changed the bindings
2729         scripts to handle the presence of intrinsics.
2730
2731         * CMakeLists.txt:
2732         * bindings/scripts/CodeGeneratorJS.pm:
2733         (GenerateHashTable):
2734
2735 2011-09-16  Iain Merrick  <husky@google.com>
2736
2737         [chromium] Fix CCLayerTreeHostTest
2738         https://bugs.webkit.org/show_bug.cgi?id=67418
2739
2740         This is a minimal set of changes to get CCLayerTreeHostTest
2741         compiling, running and passing with USE_THREADED_COMPOSITING
2742         enabled.
2743
2744         Reviewed by James Robinson.
2745
2746         * platform/graphics/chromium/ContentLayerChromium.cpp:
2747         (WebCore::ContentLayerChromium::createTextureUpdater):
2748         * platform/graphics/chromium/LayerRendererChromium.cpp:
2749         (WebCore::LayerRendererChromium::LayerRendererChromium):
2750         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2751         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
2752         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2753         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2754         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2755         (WebCore::CCThreadProxy::context):
2756         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
2757         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
2758         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
2759
2760 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2761
2762         Unreviewed, rolling out r95227.
2763         http://trac.webkit.org/changeset/95227
2764         https://bugs.webkit.org/show_bug.cgi?id=68262
2765
2766         Broke a bunch of SVG tests (Requested by andersca on #webkit).
2767
2768         * platform/ScrollView.cpp:
2769         (WebCore::ScrollView::contentsSize):
2770         (WebCore::ScrollView::wheelEvent):
2771         * platform/ScrollView.h:
2772         * platform/mac/ScrollViewMac.mm:
2773         (WebCore::ScrollView::platformContentsSize):
2774         * platform/wx/ScrollViewWx.cpp:
2775         (WebCore::ScrollView::platformContentsSize):
2776
2777 2011-09-16  James Simonsen  <simonjam@chromium.org>
2778
2779         Fix HTML5 parser's adoption agency algorithm to reparent correctly
2780         https://bugs.webkit.org/show_bug.cgi?id=68147
2781
2782         Reviewed by Eric Seidel.
2783
2784         * html/parser/HTMLTreeBuilder.cpp:
2785         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
2786
2787 2011-09-16  Adam Barth  <abarth@webkit.org>
2788
2789         CodeGeneratorGObject should use C++ style comments for ENABLE guards
2790         https://bugs.webkit.org/show_bug.cgi?id=68256
2791
2792         Reviewed by Darin Adler.
2793
2794         This patch should have not behavioral effect.  It just cleans up the
2795         GObject code generator to use C++-style comments for ENABLE guards and
2796         to use the usual comment style for license blocks.
2797
2798         * bindings/scripts/CodeGeneratorGObject.pm:
2799         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2800         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2801         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
2802         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2803         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
2804         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
2805         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2806         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
2807         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
2808         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2809         (webkit_dom_test_obj_conditional_method1):
2810         (webkit_dom_test_obj_conditional_method2):
2811         (webkit_dom_test_obj_conditional_method3):
2812         (webkit_dom_test_obj_get_conditional_attr1):
2813         (webkit_dom_test_obj_set_conditional_attr1):
2814         (webkit_dom_test_obj_get_conditional_attr2):
2815         (webkit_dom_test_obj_set_conditional_attr2):
2816         (webkit_dom_test_obj_get_conditional_attr3):
2817         (webkit_dom_test_obj_set_conditional_attr3):
2818         (webkit_dom_test_obj_set_property):
2819         (webkit_dom_test_obj_get_property):
2820         (webkit_dom_test_obj_class_init):
2821         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2822         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
2823         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2824         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2825         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
2826
2827 2011-09-16  Csaba Osztrogonác  <ossy@webkit.org>
2828
2829         [Qt] REGRESSION(r95091) It made many tests flakey
2830         https://bugs.webkit.org/show_bug.cgi?id=68232
2831
2832         Unreviewed rolling out r95091 and followup patches.
2833
2834         * English.lproj/localizedStrings.js:
2835         * bindings/v8/V8Proxy.cpp:
2836         (WebCore::V8Proxy::callFunction):
2837         * bindings/v8/V8Proxy.h:
2838         * bindings/v8/custom/V8CustomVoidCallback.cpp:
2839         (WebCore::invokeCallback):
2840         * dom/ScriptedAnimationController.cpp:
2841         (WebCore::ScriptedAnimationController::registerCallback):
2842         (WebCore::ScriptedAnimationController::cancelCallback):
2843         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
2844         * inspector/InspectorInstrumentation.cpp:
2845         * inspector/InspectorInstrumentation.h:
2846         (WebCore::InspectorInstrumentation::willCallFunction):
2847         * inspector/InspectorTimelineAgent.cpp:
2848         * inspector/InspectorTimelineAgent.h:
2849         * inspector/TimelineRecordFactory.cpp:
2850         * inspector/TimelineRecordFactory.h:
2851         * inspector/front-end/TimelineAgent.js:
2852         * inspector/front-end/TimelinePanel.js:
2853         (WebInspector.TimelinePanel):
2854         (WebInspector.TimelinePanel.prototype.get _recordStyles):
2855         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2856         (WebInspector.TimelinePanel.prototype._clearPanel):
2857         (WebInspector.TimelinePanel.FormattedRecord):
2858         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2859         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2860
2861 2011-09-16  Abhishek Arya  <inferno@chromium.org>
2862
2863         cachedFont not getting updated for inline SVG text.
2864         https://bugs.webkit.org/show_bug.cgi?id=68060
2865
2866         Reviewed by Nikolas Zimmermann.
2867
2868         The cached scaledFont needs to be updated on every style set call. It
2869         is not similar to m_style which can get derived from parent's style and
2870         hence will get automatically updated on ancestor's style change. This is
2871         required, otherwise we will maintain stale font list in cached scaledFont
2872         when custom fonts are retired on Document::recalcStyle.
2873
2874         Test: svg/text/text-style-recalc-crash.html
2875
2876         * rendering/svg/RenderSVGInlineText.cpp:
2877         (WebCore::RenderSVGInlineText::styleDidChange):
2878         (WebCore::RenderSVGInlineText::setStyle):
2879         * rendering/svg/RenderSVGInlineText.h:
2880
2881 2011-09-16  Antti Koivisto  <antti@apple.com>
2882
2883         REGRESSION (r95052): SelectorChecker identifier filter not working
2884         https://bugs.webkit.org/show_bug.cgi?id=68244
2885
2886         Reviewed by Dan Bernstein.
2887
2888         Missing &.
2889
2890         * css/SelectorChecker.cpp:
2891         (WebCore::collectDescendantSelectorIdentifierHashes):
2892
2893 2011-09-16  Csaba Osztrogonác  <ossy@webkit.org>
2894
2895         Unreviewed typo fix after r95271.
2896
2897         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2898
2899 2011-09-16  Andrey Kosyakov  <caseq@chromium.org>
2900
2901         Web Inspector: [Extensions API] support extensions for remote inspector front-end
2902         https://bugs.webkit.org/show_bug.cgi?id=67840
2903
2904         Reviewed by Pavel Feldman.
2905
2906         - Merge ExtensionCommon.js into ExtensionAPI.js
2907         - refactor building of extension API for better reuse
2908         - expose interface for extension registration
2909
2910         * WebCore.gypi:
2911         * WebCore.vcproj/WebCore.vcproj:
2912         * inspector/front-end/ExtensionAPI.js:
2913         (defineCommonExtensionSymbols):
2914         (buildExtensionAPIInjectedScript):
2915         * inspector/front-end/ExtensionCommon.js:
2916         * inspector/front-end/ExtensionServer.js:
2917         (WebInspector.ExtensionServer.prototype._addExtensions):
2918         (WebInspector.ExtensionServer.prototype._addExtension):
2919         (WebInspector.ExtensionServer.prototype._buildExtensionAPIScript):
2920         (WebInspector.ExtensionServer.prototype._onWindowMessage):
2921         (WebInspector.ExtensionServer.prototype._registerExtension):
2922         (WebInspector.ExtensionServer.prototype._expandResourcePath):
2923         * inspector/front-end/WebKit.qrc:
2924         * inspector/front-end/inspector.html:
2925
2926 2011-09-16  Ilya Tikhonovsky  <loislo@chromium.org>
2927
2928         Web Inspector: change WebInspector.currentPanel getter/setter to functions.
2929         https://bugs.webkit.org/show_bug.cgi?id=68242
2930
2931         This is necessary for the panel switching performance tests.
2932
2933         Reviewed by Pavel Feldman.
2934
2935         * inspector/front-end/Drawer.js:
2936         (WebInspector.Drawer.prototype.show.animationFinished):
2937         (WebInspector.Drawer.prototype.show):
2938         (WebInspector.Drawer.prototype.hide):
2939         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
2940         (WebInspector.Drawer.prototype._animateDrawerHeight):
2941         (WebInspector.Drawer.prototype._statusBarDragging):
2942         * inspector/front-end/ElementsPanel.js:
2943         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
2944         * inspector/front-end/ResourcesPanel.js:
2945         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
2946         * inspector/front-end/ScriptsPanel.js:
2947         * inspector/front-end/SearchController.js:
2948         (WebInspector.SearchController.prototype.updateSearchMatchesCount):
2949         (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
2950         (WebInspector.SearchController.prototype.updateSearchLabel):
2951         (WebInspector.SearchController.prototype.handleShortcut):
2952         (WebInspector.SearchController.prototype._performSearch):
2953         * inspector/front-end/Toolbar.js:
2954         (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
2955         (WebInspector.Toolbar.createPanelToolbarItem):
2956         * inspector/front-end/inspector.js:
2957         (WebInspector.currentPanel):
2958         (WebInspector._updateFocusedNode):
2959         (WebInspector.windowResize):
2960         (WebInspector.documentKeyDown):
2961         (WebInspector.documentCanCopy):
2962         (WebInspector.documentCopy):
2963         (WebInspector.showPanel):
2964         (WebInspector.startUserInitiatedDebugging):
2965         (WebInspector.inspect):
2966         (WebInspector._showAnchorLocationInPanel):
2967         (WebInspector._toolbarItemClicked):
2968         (WebInspector.PanelHistory.prototype.goBack):
2969         (WebInspector.PanelHistory.prototype.goForward):
2970
2971 2011-09-15  Pavel Feldman  <pfeldman@google.com>
2972
2973         Web Inspector: rename Console.clearConsoleMessages to Console.clearMessages, brush up console domain doc.
2974         https://bugs.webkit.org/show_bug.cgi?id=68165
2975
2976         Reviewed by Yury Semikhatsky.
2977
2978         * inspector/InjectedScriptHost.cpp:
2979         (WebCore::InjectedScriptHost::clearConsoleMessages):
2980         * inspector/Inspector.json:
2981         * inspector/InspectorConsoleAgent.cpp:
2982         (WebCore::InspectorConsoleAgent::clearMessages):
2983         * inspector/InspectorConsoleAgent.h:
2984         * inspector/front-end/ConsoleModel.js:
2985         (WebInspector.ConsoleModel.prototype.requestClearMessages):
2986
2987 2011-09-16  Alejandro G. Castro  <alex@igalia.com>
2988
2989         Fix GTK build after r95245.
2990
2991         * GNUmakefile.list.am:
2992
2993 2011-09-16  Leo Yang  <leo.yang@torchmobile.com.cn>
2994
2995         [Qt] Crash when dragging google maps.
2996         https://bugs.webkit.org/show_bug.cgi?id=68223
2997
2998         The custom image for a cursor might not be ready when WebKit trying
2999         to use it to construct the cursor in Qt porting. This patch is using
3000         arrow image to substitute the unready custom image.
3001
3002         Reviewed by Adam Barth.
3003
3004         Test: fast/css/crash-on-custom-cursor-when-loading.html
3005
3006         * platform/qt/CursorQt.cpp:
3007         (WebCore::createCustomCursor):
3008         (WebCore::Cursor::ensurePlatformCursor):
3009
3010 2011-09-15  Adam Barth  <abarth@webkit.org>
3011
3012         Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
3013         https://bugs.webkit.org/show_bug.cgi?id=68205
3014
3015         Reviewed by Eric Seidel.
3016
3017         As discussed on webkit-dev.
3018
3019         * CMakeLists.txt:
3020         * Configurations/FeatureDefines.xcconfig:
3021         * GNUmakefile.am:
3022         * GNUmakefile.list.am:
3023         * UseJSC.cmake:
3024         * bindings/generic/RuntimeEnabledFeatures.cpp:
3025         * bindings/generic/RuntimeEnabledFeatures.h:
3026         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3027         * bindings/js/JSDOMBinding.cpp:
3028         (WebCore::setDOMException):
3029         * bindings/js/JSExceptionBase.cpp:
3030         (WebCore::toExceptionBase):
3031         * bindings/js/JSInjectedScriptHostCustom.cpp:
3032         (WebCore::JSInjectedScriptHost::databaseId):
3033         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3034         * bindings/js/JSSQLTransactionCustom.cpp:
3035         * bindings/js/JSSQLTransactionSyncCustom.cpp:
3036         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
3037         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
3038         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3039         * bindings/scripts/test/JS/JSTestCallback.cpp:
3040         * bindings/scripts/test/JS/JSTestCallback.h:
3041         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3042         * bindings/scripts/test/TestCallback.idl:
3043         * bindings/scripts/test/V8/V8TestCallback.cpp:
3044         * bindings/scripts/test/V8/V8TestCallback.h:
3045         * bindings/v8/V8Proxy.cpp:
3046         (WebCore::V8Proxy::setDOMException):
3047         * bindings/v8/V8Proxy.h:
3048         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3049         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3050         (WebCore::V8InjectedScriptHost::databaseIdCallback):
3051         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3052         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3053         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3054         * dom/Document.cpp:
3055         * dom/Document.h:
3056         * dom/ExceptionCode.cpp:
3057         (WebCore::getExceptionCodeDescription):
3058         * dom/ExceptionCode.h:
3059         * dom/ScriptExecutionContext.cpp:
3060         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3061         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3062         * dom/ScriptExecutionContext.h:
3063         * features.pri:
3064         * history/PageCache.cpp:
3065         (WebCore::logCanCacheFrameDecision):
3066         (WebCore::PageCache::canCachePageContainingThisFrame):
3067         * inspector/InjectedScriptHost.cpp:
3068         (WebCore::InjectedScriptHost::InjectedScriptHost):
3069         (WebCore::InjectedScriptHost::disconnect):
3070         * inspector/InjectedScriptHost.h:
3071         (WebCore::InjectedScriptHost::init):
3072         * inspector/InspectorController.cpp:
3073         (WebCore::InspectorController::InspectorController):
3074         (WebCore::InspectorController::connectFrontend):
3075         (WebCore::InspectorController::disconnectFrontend):
3076         (WebCore::InspectorController::restoreInspectorStateFromCookie):
3077         * inspector/InspectorController.h:
3078         * inspector/InspectorDatabaseAgent.cpp:
3079         * inspector/InspectorDatabaseInstrumentation.h:
3080         * inspector/InspectorDatabaseResource.cpp:
3081         * inspector/InspectorDatabaseResource.h:
3082         * inspector/InspectorInstrumentation.cpp:
3083         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3084         * inspector/InspectorInstrumentation.h:
3085         * inspector/InstrumentingAgents.h:
3086         (WebCore::InstrumentingAgents::InstrumentingAgents):
3087         * inspector/WorkerInspectorController.cpp:
3088         (WebCore::WorkerInspectorController::WorkerInspectorController):
3089         (WebCore::WorkerInspectorController::connectFrontend):
3090         * loader/EmptyClients.h:
3091         * loader/FrameLoader.cpp:
3092         (WebCore::FrameLoader::stopLoading):
3093         * page/ChromeClient.h:
3094         * page/DOMWindow.cpp:
3095         * page/DOMWindow.h:
3096         * page/DOMWindow.idl:
3097         * platform/sql/SQLiteAuthorizer.cpp:
3098         * platform/sql/SQLiteDatabase.cpp:
3099         * platform/sql/SQLiteFileSystem.cpp:
3100         * platform/sql/SQLiteStatement.cpp:
3101         * platform/sql/SQLiteTransaction.cpp:
3102         * storage/AbstractDatabase.cpp:
3103         * storage/AbstractDatabase.h:
3104         * storage/ChangeVersionWrapper.cpp:
3105         * storage/ChangeVersionWrapper.h:
3106         * storage/Database.cpp:
3107         * storage/Database.h:
3108         * storage/Database.idl:
3109         * storage/DatabaseAuthorizer.cpp:
3110         * storage/DatabaseCallback.h:
3111         * storage/DatabaseCallback.idl:
3112         * storage/DatabaseDetails.h:
3113         * storage/DatabaseSync.cpp:
3114         * storage/DatabaseSync.h:
3115         * storage/DatabaseSync.idl:
3116         * storage/DatabaseTask.cpp:
3117         * storage/DatabaseTask.h:
3118         * storage/DatabaseThread.cpp:
3119         * storage/DatabaseThread.h:
3120         * storage/DatabaseTracker.cpp:
3121         * storage/DatabaseTracker.h:
3122         * storage/DatabaseTrackerClient.h:
3123         * storage/OriginQuotaManager.cpp:
3124         * storage/OriginQuotaManager.h:
3125         * storage/OriginUsageRecord.cpp:
3126         * storage/OriginUsageRecord.h:
3127         * storage/SQLCallbackWrapper.h:
3128         * storage/SQLError.h:
3129         * storage/SQLError.idl:
3130         * storage/SQLException.h:
3131         * storage/SQLException.idl:
3132         * storage/SQLResultSet.cpp:
3133         * storage/SQLResultSet.h:
3134         * storage/SQLResultSet.idl:
3135         * storage/SQLResultSetRowList.cpp:
3136         * storage/SQLResultSetRowList.h:
3137         * storage/SQLResultSetRowList.idl:
3138         * storage/SQLStatement.cpp:
3139         * storage/SQLStatement.h:
3140         * storage/SQLStatementCallback.h:
3141         * storage/SQLStatementCallback.idl:
3142         * storage/SQLStatementErrorCallback.h:
3143         * storage/SQLStatementErrorCallback.idl:
3144         * storage/SQLStatementSync.cpp:
3145         * storage/SQLStatementSync.h:
3146         * storage/SQLTransaction.cpp:
3147         * storage/SQLTransaction.h:
3148         * storage/SQLTransaction.idl:
3149         * storage/SQLTransactionCallback.h:
3150         * storage/SQLTransactionCallback.idl:
3151         * storage/SQLTransactionClient.cpp:
3152         * storage/SQLTransactionClient.h:
3153         * storage/SQLTransactionCoordinator.cpp:
3154         * storage/SQLTransactionCoordinator.h:
3155         * storage/SQLTransactionErrorCallback.h:
3156         * storage/SQLTransactionErrorCallback.idl:
3157         * storage/SQLTransactionSync.cpp:
3158         * storage/SQLTransactionSync.h:
3159         * storage/SQLTransactionSync.idl:
3160         * storage/SQLTransactionSyncCallback.h:
3161         * storage/SQLTransactionSyncCallback.idl:
3162         * storage/chromium/DatabaseObserver.h:
3163         * storage/chromium/DatabaseTrackerChromium.cpp:
3164         * storage/chromium/QuotaTracker.cpp:
3165         * storage/chromium/QuotaTracker.h:
3166         * storage/chromium/SQLTransactionClientChromium.cpp:
3167         * workers/WorkerContext.cpp:
3168         * workers/WorkerContext.h:
3169         * workers/WorkerContext.idl:
3170         * workers/WorkerThread.cpp:
3171         (WebCore::WorkerThreadShutdownStartTask::performTask):
3172         (WebCore::WorkerThread::stop):
3173
3174 2011-09-15  Alexandru Chiculita  <achicu@adobe.com>
3175
3176         [CSSRegions] Regions should not slice line box rendering
3177         https://bugs.webkit.org/show_bug.cgi?id=66198
3178
3179         Created a new LayoutState constructor for the RenderFlowThread. It will
3180         set m_isPaginated to true and force a pageHeight if 1. The actual pageHeight is
3181         not used, because pageLogicalHeightForOffset will actually redirect the call
3182         to RenderFlowThread.
3183
3184         Removed some of the duplicate code that calculated the page logical offset.
3185         Added new methods like logicalPageOffset, pageLogicalHeightForOffset,
3186         pageRemainingLogicalHeightForOffset.
3187
3188         There are still some issues related to incremental layout and different region widths.
3189         Those issues will be addressed in different patches.
3190
3191         Reviewed by David Hyatt.
3192
3193         Tests: fast/regions/text-region-breaks.html
3194                fast/regions/text-region-split-horizontal-bt.html
3195                fast/regions/text-region-split-vertical-rl.html
3196                fast/regions/text-region-split-vertical.html
3197                fast/regions/text-region-split.html
3198
3199         * rendering/LayoutState.cpp:
3200         (WebCore::LayoutState::LayoutState):
3201         * rendering/LayoutState.h:
3202         (WebCore::LayoutState::LayoutState):
3203         (WebCore::LayoutState::isPaginated):
3204         * rendering/RenderBlock.cpp:
3205         (WebCore::RenderBlock::positionNewFloats):
3206         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
3207         (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
3208         (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
3209         (WebCore::inNormalFlow):
3210         (WebCore::RenderBlock::applyBeforeBreak):
3211         (WebCore::RenderBlock::applyAfterBreak):
3212         (WebCore::RenderBlock::logicalPageOffset):
3213         (WebCore::RenderBlock::pageLogicalHeightForOffset):
3214         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
3215         (WebCore::RenderBlock::adjustForUnsplittableChild):
3216         (WebCore::RenderBlock::adjustLinePositionForPagination):
3217         * rendering/RenderBlock.h:
3218         * rendering/RenderFlowThread.cpp:
3219         (WebCore::RenderFlowThread::layout):
3220         (WebCore::RenderFlowThread::regionLogicalHeightForLine):
3221         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
3222         * rendering/RenderFlowThread.h:
3223         * rendering/RenderView.cpp:
3224         (WebCore::RenderView::pushLayoutState):
3225         * rendering/RenderView.h:
3226         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
3227         (WebCore::LayoutStateMaintainer::push):
3228
3229 2011-09-15  Kentaro Hara  <haraken@google.com>
3230
3231         Implement a PopStateEvent constructor for JSC
3232         https://bugs.webkit.org/show_bug.cgi?id=67977
3233
3234         Reviewed by Sam Weinig.
3235
3236         Test: fast/events/constructors/pop-state-event-constructor.html
3237
3238         * bindings/generic/EventConstructors.h: Added a definition for the PopStateEvent constructor.
3239         * bindings/js/JSEventConstructors.cpp: Added #includes for PopStateEvent.
3240         * dom/PopStateEvent.cpp:
3241         (WebCore::PopStateEventInit::PopStateEventInit):
3242         (WebCore::PopStateEvent::PopStateEvent):
3243         (WebCore::PopStateEvent::create):
3244         * dom/PopStateEvent.h: Added a definition for PopStateEventInit.
3245         * dom/PopStateEvent.idl: Makes PopStateEvent constructible.
3246
3247 2011-09-15  Mihai Parparita  <mihaip@chromium.org>
3248
3249         Fragment navigations should interrupt a provisional load of a different document
3250         https://bugs.webkit.org/show_bug.cgi?id=64556
3251
3252         Reviewed by Adam Barth.
3253         
3254         Tests: http/tests/history/back-with-fragment-change.php
3255                http/tests/navigation/navigation-interrupted-by-fragment.html
3256
3257         * loader/FrameLoader.cpp: Stop provisional load if a fragment commits.
3258         * loader/HistoryController.cpp: Don't commit the wrong provisional item.
3259
3260 2011-09-15  Adrienne Walker  <enne@google.com>
3261
3262         [chromium] Add temporary diagnostics for LayerTreeHost::commitTo crash
3263         https://bugs.webkit.org/show_bug.cgi?id=68204
3264
3265         Reviewed by James Robinson.
3266
3267         Add CRASH calls to determine which assumptions are being violated.
3268
3269         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3270         (WebCore::CCLayerTreeHost::commitTo):
3271
3272 2011-09-15  Mark Hahnenberg  <mhahnenberg@apple.com>
3273
3274         Unzip initialization lists and constructors in JSCell hierarchy (7/7)
3275         https://bugs.webkit.org/show_bug.cgi?id=68122
3276
3277         Reviewed by Geoffrey Garen.
3278
3279         No new tests.
3280
3281         Completed the seventh and final level of the refactoring to add finishCreation() 
3282         methods to all classes within the JSCell hierarchy with non-trivial 
3283         constructor bodies.
3284
3285         This consists of moving the finishCreation() method call into the create methods
3286         of the sixth level of the hierarchy as was done in previous patches.  
3287
3288         The special cases for JSAudioConstructor, JSOptionConstructor, and JSImageConstructor 
3289         were also lumped in and given finishCreation() methods that are called in their 
3290         create methods because we are at the end and want to avoid a trivial patch just 
3291         for moving their finishCreation() methods from their constructor to their create method.
3292
3293         * bindings/js/JSAudioConstructor.cpp:
3294         (WebCore::JSAudioConstructor::JSAudioConstructor):
3295         (WebCore::JSAudioConstructor::finishCreation):
3296         * bindings/js/JSAudioConstructor.h:
3297         (WebCore::JSAudioConstructor::create):
3298         * bindings/js/JSDOMBinding.h:
3299         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
3300         * bindings/js/JSDOMWindowBase.cpp:
3301         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3302         * bindings/js/JSImageConstructor.cpp:
3303         (WebCore::JSImageConstructor::JSImageConstructor):
3304         (WebCore::JSImageConstructor::finishCreation):
3305         * bindings/js/JSImageConstructor.h:
3306         (WebCore::JSImageConstructor::create):
3307         * bindings/js/JSOptionConstructor.cpp:
3308         (WebCore::JSOptionConstructor::JSOptionConstructor):
3309         (WebCore::JSOptionConstructor::finishCreation):
3310         * bindings/js/JSOptionConstructor.h:
3311         (WebCore::JSOptionConstructor::create):
3312         * bindings/js/JSWorkerContextBase.cpp:
3313         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
3314
3315         The bindings generation script was also changed to move the finishCreation() call into the 
3316         create methods for descendants of JSWorkerContextBase and JSDOMWindowBase because those base
3317         classes had it removed from their constructors.  
3318
3319         * bindings/scripts/CodeGeneratorJS.pm:
3320         (GenerateHeader):
3321         * bridge/c/c_instance.cpp:
3322         (JSC::Bindings::CRuntimeMethod::create):
3323         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
3324         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3325         (JavaRuntimeMethod::create):
3326         (JavaRuntimeMethod::JavaRuntimeMethod):
3327         * bridge/objc/objc_instance.mm:
3328         (ObjCRuntimeMethod::create):
3329         (ObjCRuntimeMethod::ObjCRuntimeMethod):
3330         * bridge/qt/qt_runtime.cpp:
3331         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3332         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
3333         * bridge/qt/qt_runtime.h:
3334         (JSC::Bindings::QtRuntimeMetaMethod::create):
3335         (JSC::Bindings::QtRuntimeConnectionMethod::create):
3336
3337 2011-09-15  Kentaro Hara  <haraken@google.com>
3338
3339         A single line must not be split into two pages.
3340         https://bugs.webkit.org/show_bug.cgi?id=65005
3341
3342         Reviewed by David Hyatt.
3343
3344         When the document width of a page is overflowed, the last line of the page can be
3345         split into the next page. This is the regression caused by r88737. r88737 tried to
3346         fix rounding errors in rendering calculations by expanding and shrinking a page
3347         using one common method, resizePageRectsKeepingRatio(), but overlooked the case where
3348         a document width gets overflowed.
3349
3350         This patch fixes the problem by also using resizePageRectsKeepingRatio() for the case
3351         where the document width gets overflowed.
3352
3353         Test: printing/single-line-must-not-be-split-into-two-pages.html
3354
3355         * WebCore.exp.in: Updated the signature of forceLayoutForPagination().
3356         * page/Frame.cpp:
3357         (WebCore::Frame::setPrinting): Added a new argument |originalPageSize|, which is an original page size before being expanded or shrunk.
3358         * page/Frame.h:
3359         * page/FrameView.cpp:
3360         (WebCore::FrameView::forceLayoutForPagination): Uses resizePageRectsKeepingRatio() in the case where the document width gets overflowed.
3361         * page/FrameView.h:
3362         * page/PrintContext.cpp:
3363         (WebCore::PrintContext::begin): Passes an original page size to setPrinting().
3364         (WebCore::PrintContext::end): Ditto.
3365
3366 2011-09-15  Sheriff Bot  <webkit.review.bot@gmail.com>
3367
3368         Unreviewed, rolling out r95243 and r95246.
3369         http://trac.webkit.org/changeset/95243
3370         http://trac.webkit.org/changeset/95246
3371         https://bugs.webkit.org/show_bug.cgi?id=68202
3372
3373         Broke the Windows build (Requested by smfr on #webkit).
3374
3375         * WebCore.vcproj/WebCore.vcproj:
3376         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
3377         (WebCore::LayerChangesFlusher::hookCallback):
3378         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
3379         (PlatformCAAnimation::copy):
3380         * platform/win/StructuredExceptionHandlerSupressor.h: Removed.
3381
3382 2011-09-15  Simon Fraser  <simon.fraser@apple.com>
3383
3384         Attempt to fix Windows build after r95243.
3385
3386         * WebCore.vcproj/WebCore.vcproj:
3387
3388 2011-09-15  Simon Fraser  <simon.fraser@apple.com>
3389
3390         Make custom scrollbar theme for use in DRT, to reduce pixel differences between platforms
3391         https://bugs.webkit.org/show_bug.cgi?id=68134
3392
3393         Reviewed by James Robinson.
3394
3395         Add new scrollbar theme, called ScrollbarThemeMock, for use in layout
3396         tests. The mock scrollbar simply draws a light gray box in the track,
3397         with a dark gray box for the thumb.
3398         
3399         Add ScrollbarThemeMock files to the build on all platforms. It isn't hooked up yet.
3400
3401         * CMakeLists.txt:
3402         * CMakeListsEfl.txt:
3403         * CMakeListsWinCE.txt:
3404         * GNUmakefile.list.am:
3405         * WebCore.gypi:
3406         * WebCore.pro:
3407         * WebCore.vcproj/WebCore.vcproj:
3408         * WebCore.xcodeproj/project.pbxproj:
3409         * platform/mac/ScrollbarThemeMac.mm:
3410         (WebCore::ScrollbarTheme::nativeTheme):
3411         * platform/mock/ScrollbarThemeMock.cpp: Added.
3412         (WebCore::ScrollbarThemeMock::trackRect):
3413         (WebCore::ScrollbarThemeMock::scrollbarThickness):
3414         (WebCore::ScrollbarThemeMock::paintTrackBackground):
3415         (WebCore::ScrollbarThemeMock::paintThumb):
3416         * platform/mock/ScrollbarThemeMock.h: Added.
3417         (WebCore::ScrollbarThemeMock::hasButtons):
3418         (WebCore::ScrollbarThemeMock::hasThumb):
3419         (WebCore::ScrollbarThemeMock::backButtonRect):
3420         (WebCore::ScrollbarThemeMock::forwardButtonRect):
3421
3422 2011-09-15  Beth Dakin  <bdakin@apple.com>
3423
3424         https://bugs.webkit.org/show_bug.cgi?id=67884
3425         Delete button icon does not properly update when the device resolution changes 
3426         dynamically
3427         -and corresponding-
3428         <rdar://problem/10104632>
3429
3430         Reviewed by Darin Adler.
3431
3432         In DeleteButtonController::deviceScaleFactorChanged(), if the delete button is 
3433         currently showing, hide it and re-show it, forcing it to re-create the deletion 
3434         UI.
3435         * editing/DeleteButtonController.cpp:
3436         (WebCore::DeleteButtonController::deviceScaleFactorChanged):
3437         * editing/DeleteButtonController.h:
3438         * editing/Editor.cpp:
3439         (WebCore::Editor::deviceScaleFactorChanged):
3440         * editing/Editor.h:
3441
3442         Iterate through all of the frames and propagate the deviceScaleFactorChange() 
3443         message to Editor.
3444         * page/Page.cpp:
3445         (WebCore::Page::setDeviceScaleFactor):
3446
3447 2011-09-15  Chris Marrin  <cmarrin@apple.com>
3448
3449         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
3450         https://bugs.webkit.org/show_bug.cgi?id=67510
3451
3452         Reviewed by Adam Roben.
3453         
3454         Another fix to take care of one last crash when running pause-crash.html.
3455         CACF can't deal with null valueFunctions, so avoid setting it when it doesn't 
3456         exist.
3457         
3458         This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it
3459         from catching the null pointer exception generated by the pause-crash.html test
3460         before this bug was fixed. Windows was ignoring the exception, so the testcase
3461         would appear to succeed, even though it should have crashed.
3462
3463         * WebCore.vcproj/WebCore.vcproj:
3464         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
3465         (WebCore::LayerChangesFlusher::hookCallback):
3466         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
3467         (PlatformCAAnimation::copy):
3468         * platform\win\StructuredExceptionHandlerSupressor.h: New file to encapsulate the exception handling supression.
3469
3470 2011-09-15  David Hyatt  <hyatt@apple.com>
3471
3472         https://bugs.webkit.org/show_bug.cgi?id=27579
3473         
3474         Make sure that the border shorthand also resets border-image.
3475
3476         Reviewed by Beth Dakin.
3477
3478         Added fast/borders/border-image-reset-by-border-shorthand.html.
3479
3480         * css/CSSParser.cpp:
3481         (WebCore::CSSParser::parseValue):
3482
3483 2011-09-15  David Hyatt  <hyatt@apple.com>
3484
3485         https://bugs.webkit.org/show_bug.cgi?id=50072
3486         
3487         Make overflow clipping to border-radius work across layers. This patch makes painting
3488         work but does not attempt to fix hit testing. It also doesn't work when a composited
3489         layer is clipped by a non-composited ancestor.
3490
3491         Add a new ClipRect class (used by ClipRects and RenderLayer) that is basically just tracking
3492         a rect and a border radius taint. At the time we set a clip, if the rectangle is listed
3493         as also being clipped by a radius, then we walk up the layer tree and push those inner border
3494         rounded rect clips for any overflow areas in the containing block chain.
3495
3496         Reviewed by Beth Dakin.
3497
3498         Added new tests in fast/clip.
3499
3500         * rendering/RenderBox.cpp:
3501