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