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