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