[Windows WebKit2] Use cookies set in WebKit1
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-05-12  Jessie Berlin  <jberlin@apple.com>
2
3         Reviewed by Darin Adler.
4
5         [Windows WebKit2] Use cookies set in WebKit1
6         https://bugs.webkit.org/show_bug.cgi?id=60274
7
8         Make sure any Private Browsing session is based off the default session.
9
10         * platform/network/cf/ResourceHandleCFNet.cpp:
11         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
12
13 2011-05-12  Rob Buis  <rbuis@rim.com>
14
15         Reviewed by Eric Seidel.
16
17         SVGStyledElement::resolveStyle(RenderStyle*) must be removed/fixed!
18         https://bugs.webkit.org/show_bug.cgi?id=15479
19
20         Finally remove resolveStyle, it is not used anymore.
21
22         * svg/SVGStyledElement.cpp:
23         (WebCore::SVGStyledElement::childrenChanged):
24         * svg/SVGStyledElement.h:
25
26 2011-05-12  Adam Barth  <abarth@webkit.org>
27
28         Reviewed by Darin Adler.
29
30         REGRESSION (r65868): createContextualFragment does not work with <style>
31         https://bugs.webkit.org/show_bug.cgi?id=60155
32
33         createContextualFragment doesn't have a spec, so it's hard to tell what
34         we're supposed to do exactly.  This patch appears to make our behavior
35         more like Firefox and should fix the compat issue with this site.
36
37         Tests: fast/parser/style-in-create-contextual-fragment-head.html
38                fast/parser/style-in-create-contextual-fragment.html
39
40         * dom/Element.cpp:
41         (WebCore::Element::deprecatedCreateContextualFragment):
42
43 2011-05-12  Ryosuke Niwa  <rniwa@webkit.org>
44
45         Reviewed by Darin Adler.
46
47         WebKit inserts base, link, meta, style, and title elements into an editable region
48         when pasting table cells from Excel
49         https://bugs.webkit.org/show_bug.cgi?id=60644
50
51         Strip base, link, meta, style, and tile elements from the fragment to be pasted prior
52         to the merge. We don't have to strip these elements in performTrivialReplace because
53         the function only handles a fragment that consists of exactly one text node.
54
55         Test: editing/pasteboard/paste-head-contents.html
56
57         * editing/ReplaceSelectionCommand.cpp:
58         (WebCore::removeHeadContents): Added.
59         (WebCore::ReplaceSelectionCommand::doApply): Calls removeHeadContents before handing
60         style spans.
61
62 2011-05-12  Levi Weintraub  <leviw@chromium.org>
63
64         Reviewed by Simon Fraser.
65
66         Switch calculateBackgroundImageGeometry to use IntRect
67         https://bugs.webkit.org/show_bug.cgi?id=60671
68
69         Replacing the four ints passed into calculateBackgroundImageGeometry with an IntRect.
70
71         No new tests since this is just refactoring.
72
73         * rendering/RenderBox.cpp:
74         (WebCore::RenderBox::maskClipRect):
75         (WebCore::RenderBox::repaintLayerRectsForImage):
76         * rendering/RenderBoxModelObject.cpp:
77         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
78         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
79         * rendering/RenderBoxModelObject.h:
80
81 2011-05-12  Carol Szabo  <carol@webkit.org>
82
83         Reviewed by David Hyatt.
84
85         Fix reparenting and destruction of counter nodes. 
86         https://bugs.webkit.org/show_bug.cgi?id=57929
87
88         Fixed several issues related to not met assertions.
89         See below in the per file description.
90
91         Test: fast/css/counters/element-removal-crash.xhtml
92
93         * dom/ContainerNode.cpp:
94         (WebCore::ContainerNode::removeChildren):
95         Fixed the fact that Node::detach() used to be called
96         while the DOM tree was in an inconsistent state.
97         * rendering/RenderCounter.cpp:
98         (WebCore::RenderCounter::rendererRemovedFromTree):
99         Introduced this function to remove counters from
100         descendents of renderers removed from the renderer
101         tree not only from the removed renderers themselves.
102         * rendering/RenderCounter.h:
103         * rendering/RenderObjectChildList.cpp:
104         (WebCore::RenderObjectChildList::removeChildNode):
105         Changed to call RenderCounter::rendererRemovedFromTree
106         instead of RenderCounter::destroyCounters.
107
108 2011-05-12  Luke Macpherson   <macpherson@chromium.org>
109
110         Reviewed by Dimitri Glazkov.
111
112         Merge ApplyPropertyExpanding and ApplyPropertyExpandingSuppressValue classes using template.
113         https://bugs.webkit.org/show_bug.cgi?id=60691
114
115         No new tests - refactoring only.
116
117         * css/CSSStyleApplyProperty.cpp:
118         (WebCore::ApplyPropertyExpanding::applyValue):
119         Use new template parameter to early exit if needed.
120         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
121         Specify template parameters for ApplyPropertyExpanding.
122
123 2011-05-12  Simon Fraser  <simon.fraser@apple.com>
124
125         Followup to r86351; give the vectors some inline capacity
126         to avoid heap allocations in most cases.
127
128         * page/animation/AnimationBase.cpp:
129         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
130
131 2011-05-12  Simon Fraser  <simon.fraser@apple.com>
132
133         Reviewed by Dan Bernstein.
134
135         Mismatched multiple box-shadows do not transition as expected
136         https://bugs.webkit.org/show_bug.cgi?id=60137
137         
138         When animating between two sets of shadows of different lengths, we need
139         to walk the ShadowData list backwards, since it stores the shadows in
140         reverse order relative to the CSS (so that painting is back-to-front).
141         
142         This progresses the behavior of the transitions/multiple-shadow-transitions.html
143         test, which is given new expected results.
144
145         Test: transitions/mismatched-shadow-transitions.html
146
147         * page/animation/AnimationBase.cpp:
148         (WebCore::shadowListLength): Utility to walk the list of ShadowData and count the number
149         of shadows.
150         (WebCore::shadowForBlending): Return a ShadowData* that is useful as a blending target,
151         based on the shadow type, and whether it's a -webkit-box-shadow.
152         (WebCore::PropertyWrapperShadow::blend): Call one of the specialized blend methods.
153         (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists): Fast path
154         for shadow blending, when the list lengths match, or both are single or null shadows.
155         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists): Slower path that builds
156         vectors for each list to reverse them.
157
158 2011-05-12  Adam Roben  <aroben@apple.com>
159
160         Attempted WinCairo build fix after r86169, part II
161
162         * platform/network/curl/CredentialStorageCurl.cpp: Added a missing #include.
163
164 2011-05-12  Adam Roben  <aroben@apple.com>
165
166         Fix linker warnings in Production builds
167
168         * WebCore.vcproj/WebCore.vcproj: Exclude JSSVGFEDropShadowElement.cpp from the build in the
169         Production configuration, just like in the other configurations. Let VS resort some files
170         (again).
171
172 2011-05-12  Philippe Normand  <pnormand@igalia.com>
173
174         Reviewed by Adam Roben.
175
176         Autocorrection persists after deleting and retyping the same word at same location.
177         https://bugs.webkit.org/show_bug.cgi?id=60555
178
179         Follow-up fix for the 3 editing/deleting tests crashing on GTK,
180         Leopard and Windows XP. Don't create the Range if the start of the
181         selection has no next position.
182
183         * editing/DeleteSelectionCommand.cpp:
184         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
185
186 2011-05-12  Adam Roben  <aroben@apple.com>
187
188         Attempted WinCairo build fix after r86169
189
190         * WebCore.vcproj/WebCore.vcproj: Added CredentialStorageCurl.cpp. Also let VS do what it
191         wants.
192
193         * platform/network/curl/CredentialStorageCurl.cpp: Added.
194         (WebCore::CredentialStorage::getFromPersistentStorage): Stubbed out.
195
196 2011-05-12  Adam Roben  <aroben@apple.com>
197
198         Build fixes after r86325
199
200         * editing/SpellingCorrectionController.cpp:
201         * editing/SpellingCorrectionController.h:
202         Added missing declarations/#includes.
203
204 2011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>
205
206         Not reviewed.
207
208         String operator+ reallocates unnecessary when concatting > 2 strings
209         https://bugs.webkit.org/show_bug.cgi?id=58420
210
211         Attempt to fix the WinCE build. WinCE/WinCairo still won't link because of unresolved symbols, hmm. If we had EWS for those, I would have caught the problem earlier.
212
213         * platform/wince/FileSystemWinCE.cpp:
214         (WebCore::listDirectory):
215
216 2011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>
217
218         Not reviewed.
219
220         String operator+ reallocates unnecessary when concatting > 2 strings
221         https://bugs.webkit.org/show_bug.cgi?id=58420
222
223         Fix fast/forms/input-image-submit.html regression, seens on the bots - by removing a last-minute typo: s/!!/!/
224
225         * html/ImageInputType.cpp:
226         (WebCore::ImageInputType::appendFormData):
227
228 2011-05-12  Rob Buis  <rwlbuis@gmail.com>
229
230         Reviewed by Eric Seidel.
231
232         REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
233         https://bugs.webkit.org/show_bug.cgi?id=59941
234
235         Also consider fill-opacity when determining whether StyleDifferenceRepaint is needed.
236
237         Test: svg/custom/fill-opacity-update.svg
238
239         * rendering/style/SVGRenderStyle.cpp:
240         (WebCore::SVGRenderStyle::diff):
241
242 2011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>
243
244         Reviewed by Darin Adler.
245
246         String operator+ reallocates unnecessary when concatting > 2 strings
247         https://bugs.webkit.org/show_bug.cgi?id=58420
248
249         Provide a faster String append operator. See Source/JavaScriptCore/ChangeLog for details.
250
251         * dom/XMLDocumentParserLibxml2.cpp:
252         (WebCore::handleElementAttributes):
253         * editing/MarkupAccumulator.cpp:
254         (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
255         * html/HTMLAnchorElement.cpp:
256         (WebCore::HTMLAnchorElement::hash):
257         (WebCore::HTMLAnchorElement::search):
258         * html/ImageInputType.cpp:
259         (WebCore::ImageInputType::appendFormData):
260         * html/parser/HTMLTreeBuilder.cpp:
261         * loader/CrossOriginAccessControl.cpp:
262         (WebCore::passesAccessControlCheck):
263         * page/Location.cpp:
264         (WebCore::Location::search):
265         (WebCore::Location::hash):
266         * page/NavigatorBase.cpp:
267         (WebCore::NavigatorBase::platform):
268         * platform/chromium/ClipboardChromium.cpp:
269         (WebCore::writeImageToDataObject):
270         * platform/gtk/PasteboardHelper.cpp:
271         (WebCore::PasteboardHelper::fillSelectionData):
272         * platform/network/cf/ResourceHandleCFNet.cpp:
273         (WebCore::encodeBasicAuthorization):
274         * platform/network/cf/SocketStreamHandleCFNet.cpp:
275         (WebCore::SocketStreamHandle::copyCFStreamDescription):
276         * platform/network/mac/ResourceHandleMac.mm:
277         (WebCore::encodeBasicAuthorization):
278         * workers/WorkerLocation.cpp:
279         (WebCore::WorkerLocation::search):
280         (WebCore::WorkerLocation::hash):
281
282 2011-05-06  Yury Semikhatsky  <yurys@chromium.org>
283
284         Reviewed by Pavel Feldman.
285
286         Web Inspector: move agents from InspectorAgent to InspectorController
287         https://bugs.webkit.org/show_bug.cgi?id=60359
288
289         All inspector agents are now created and owned by InspectorController which
290         in turned is owned by the inspected Page. InspectorInstrumentation gets access
291         to the instrumenting agents by means of InspectorAgent::instrumentingAgents().
292
293         In addition to managing inspector agents lifetime InspectorController sets
294         InspectorFronted on the agents when the front-end is connected.
295
296         * inspector/InspectorAgent.cpp:
297         (WebCore::InspectorAgent::InspectorAgent):
298         (WebCore::InspectorAgent::~InspectorAgent):
299         (WebCore::InspectorAgent::inspectedPageDestroyed):
300         (WebCore::InspectorAgent::restore):
301         (WebCore::InspectorAgent::setFrontend):
302         (WebCore::InspectorAgent::clearFrontend):
303         * inspector/InspectorAgent.h: all accessors to other agents were removed along with
304         the agents themselves from InspectorAgent. Every agent that depends on some other agents
305         receives pointers to them explicitely in its constructor. All access to the agents
306         from WebCore should go through InspectorInstrumentation which retrieves corresponding
307         agents using InstrumentingAgents structure which represents the set of active agents.
308         (WebCore::InspectorAgent::instrumentingAgents):
309         * inspector/InspectorController.cpp:
310         (WebCore::InspectorController::InspectorController):
311         (WebCore::InspectorController::~InspectorController):
312         (WebCore::InspectorController::inspectedPageDestroyed):
313         (WebCore::InspectorController::startTimelineProfiler):
314         (WebCore::InspectorController::stopTimelineProfiler):
315         (WebCore::InspectorController::connectFrontend):
316         (WebCore::InspectorController::disconnectFrontend):
317         (WebCore::InspectorController::restoreInspectorStateFromCookie):
318         (WebCore::InspectorController::drawNodeHighlight):
319         (WebCore::InspectorController::inspect):
320         (WebCore::InspectorController::timelineProfilerEnabled):
321         (WebCore::InspectorController::hideHighlight):
322         (WebCore::InspectorController::highlightedNode):
323         (WebCore::InspectorController::enableProfiler):
324         (WebCore::InspectorController::disableProfiler):
325         (WebCore::InspectorController::profilerEnabled):
326         (WebCore::InspectorController::debuggerEnabled):
327         (WebCore::InspectorController::disableDebugger):
328         (WebCore::InspectorController::startUserInitiatedProfiling):
329         (WebCore::InspectorController::stopUserInitiatedProfiling):
330         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
331         (WebCore::InspectorController::resume):
332         * inspector/InspectorController.h:
333         * inspector/InspectorInstrumentation.cpp:
334         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
335         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
336         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
337         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
338         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
339         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
340         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
341         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
342         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
343         (WebCore::InspectorInstrumentation::consoleCountImpl):
344         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
345         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
346         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
347         (WebCore::InspectorInstrumentation::addProfileImpl):
348         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
349         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
350         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
351         * page/Page.cpp:
352         (WebCore::Page::~Page): we send two notifications when inspected Page is being
353         destroyed: one to the inspector instrumentation and another one to the InspectorController
354         which is owned by the Page.
355
356 2011-05-12  Tony Gentilcore  <tonyg@chromium.org>
357
358         Build fix: include ExceptionCode.h
359         https://bugs.webkit.org/show_bug.cgi?id=60694
360
361         * dom/Range.cpp:
362
363 2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
364
365         Reviewed by Darin Adler.
366
367         Perform some forward declarations suggested by include-what-you-use
368         https://bugs.webkit.org/show_bug.cgi?id=60545
369
370         * accessibility/AccessibilityObject.cpp:
371         * accessibility/AccessibilityRenderObject.cpp:
372         * accessibility/mac/AccessibilityObjectWrapper.mm:
373         * dom/DocumentMarkerController.cpp:
374         * dom/Position.cpp:
375         * dom/PositionIterator.cpp:
376         * dom/Range.cpp:
377         * editing/ApplyBlockElementCommand.cpp:
378         * editing/ApplyStyleCommand.cpp:
379         * editing/Editor.cpp:
380         * editing/EditorCommand.cpp:
381         * editing/FrameSelection.cpp:
382         * editing/HTMLInterchange.cpp:
383         * editing/IndentOutdentCommand.cpp:
384         * editing/ReplaceSelectionCommand.cpp:
385         * editing/SpellChecker.h:
386         * editing/SpellingCorrectionCommand.cpp:
387         * editing/SpellingCorrectionController.h:
388         * editing/TextCheckingHelper.cpp:
389         * editing/TextIterator.h:
390         * editing/htmlediting.h:
391         * editing/markup.cpp:
392         * editing/visible_units.cpp:
393         * editing/visible_units.h:
394         * fileapi/DOMFileSystem.cpp:
395         * fileapi/DirectoryReaderSync.cpp:
396         * fileapi/DirectoryReaderSync.h:
397         * fileapi/FileEntry.h:
398         * fileapi/FileWriter.h:
399         * fileapi/FileWriterBase.h:
400         * fileapi/FileWriterSync.h:
401         * history/CachedFrame.cpp:
402         * history/CachedPage.cpp:
403         * history/HistoryItem.cpp:
404         * history/HistoryItem.h:
405         * history/PageCache.h:
406         * loader/HistoryController.h:
407         * loader/PingLoader.h:
408         * loader/ResourceLoader.h:
409         * loader/appcache/DOMApplicationCache.h:
410         * loader/cache/CachedCSSStyleSheet.h:
411         * loader/cache/CachedFont.cpp:
412         * loader/cache/CachedFont.h:
413         * loader/cache/CachedResourceRequest.cpp:
414         * loader/cache/CachedResourceRequest.h:
415         * loader/cache/MemoryCache.h:
416         * notifications/Notification.cpp:
417         * notifications/Notification.h:
418         * notifications/NotificationCenter.cpp:
419         * notifications/NotificationCenter.h:
420         * page/Chrome.cpp:
421         * page/Chrome.h:
422         * page/DOMSelection.cpp:
423         * page/DOMTimer.h:
424         * page/DOMWindow.cpp:
425         * page/EventHandler.cpp:
426         * page/FocusController.h:
427         * page/Geolocation.cpp:
428         * page/Geolocation.h:
429         * page/History.cpp:
430         * rendering/RenderListBox.cpp:
431         * workers/WorkerContext.cpp:
432
433 2011-05-12  Yuta Kitamura  <yutak@chromium.org>
434
435         Unreviewed, another attempt of build fix.
436
437         * websockets/CloseEvent.h:
438         * websockets/CloseEvent.idl:
439
440 2011-05-12  Yuta Kitamura  <yutak@chromium.org>
441
442         Unreviewed, trying to fix Qt minimal compile.
443
444         * websockets/CloseEvent.idl:
445
446 2011-05-12  ojab  <ojab@ojab.ru>
447
448         Reviewed by Eric Seidel.
449
450         Fix build with --disable-video --enable-fullscreen-api
451         https://bugs.webkit.org/show_bug.cgi?id=60542
452
453         * css/CSSStyleSelector.cpp:
454         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
455
456 2011-05-12  Yuta Kitamura  <yutak@chromium.org>
457
458         Reviewed by Kent Tamura.
459
460         WebSocket add new event: CloseEvent
461         https://bugs.webkit.org/show_bug.cgi?id=35573
462
463         Original patch was written by Fumitoshi Ukai <ukai@chromium.org>.
464         I added CloseEvent constructor to DOMWindow, so it can be referred
465         in the new test (close-event.html).
466
467         Test: http/tests/websocket/tests/close-event.html
468
469         * CMakeLists.txt:
470         * CodeGenerators.pri:
471         * DerivedSources.cpp:
472         * DerivedSources.make:
473         * GNUmakefile.list.am:
474         * WebCore.gypi:
475         * WebCore.pro:
476         * WebCore.vcproj/WebCore.vcproj:
477         * WebCore.xcodeproj/project.pbxproj:
478         * bindings/js/JSEventCustom.cpp:
479         (WebCore::toJS):
480         * bindings/v8/custom/V8EventCustom.cpp:
481         (WebCore::toV8):
482         * dom/Event.cpp:
483         (WebCore::Event::isCloseEvent):
484         * dom/Event.h:
485         * page/DOMWindow.idl: Add CloseEvent constructor.
486         * websockets/CloseEvent.h: Added.
487         (WebCore::CloseEvent::isCloseEvent):
488         (WebCore::CloseEvent::create):
489         (WebCore::CloseEvent::initCloseEvent):
490         (WebCore::CloseEvent::wasClean):
491         (WebCore::CloseEvent::CloseEvent):
492         * websockets/CloseEvent.idl: Added.
493         * websockets/WebSocket.cpp:
494         (WebCore::WebSocket::didClose):
495
496 2011-05-12  Ben Wells  <benwells@chromium.org>
497
498         Reviewed by Simon Fraser.
499
500         RGBA colors in outlines show overpainting at the corners
501         https://bugs.webkit.org/show_bug.cgi?id=58999
502
503         Tests: fast/borders/outline-alpha-block.html
504                fast/borders/outline-alpha-inline.html
505
506         Updated baseline images for tests with rgba outlines:
507                fast/box-shadow/box-shadow-radius.html
508                fast/layers/self-painting-outline.html
509
510          * rendering/RenderInline.cpp:
511         (WebCore::RenderInline::paintOutline):
512         (WebCore::RenderInline::paintOutlineForLine):
513         * rendering/RenderInline.h:
514         * rendering/RenderObject.cpp:
515         (WebCore::RenderObject::paintOutline):
516
517 2011-05-11  Levi Weintraub  <leviw@chromium.org>
518
519         Reviewed by Eric Seidel.
520
521         Rename Widget::pos()
522         https://bugs.webkit.org/show_bug.cgi?id=60575
523
524         Renaming Widget::pos() to the more-descriptive location().
525
526         No new tests as this is a simple rename
527
528         * page/FrameView.cpp:
529         (WebCore::FrameView::create):
530         * platform/Widget.h:
531         (WebCore::Widget::location):
532         (WebCore::Widget::resize):
533
534 2011-05-10  MORITA Hajime  <morrita@google.com>
535
536         Reviewed by Kent Tamura.
537
538         Crashes if the document inside iframe is removed during pasting some text into it.
539         https://bugs.webkit.org/show_bug.cgi?id=60534
540
541         Added missing null check.
542         
543         Test: editing/pasteboard/paste-removing-iframe.html
544
545         * editing/Editor.cpp:
546         (WebCore::Editor::shouldChangeSelection):
547
548 2011-05-11  Brian Salomon  <bsalomon@google.com>
549
550         Reviewed by Eric Seidel.
551
552         Handle case when GrContext creation fails
553         https://bugs.webkit.org/show_bug.cgi?id=60410
554
555         Exercised by all canvas tests when DRT is run with skia-gpu
556
557         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
558         (WebCore::SharedGraphicsContext3D::grContext):
559
560 2011-05-11  Pratik Solanki  <psolanki@apple.com>
561
562         Reviewed by Andreas Kling.
563
564         Remove empty class CallbackGuard
565         https://bugs.webkit.org/show_bug.cgi?id=60610
566
567         CallbackGuard was only ever used on Tiger and it is now an empty class. Remove all uses of it.
568
569         * platform/network/mac/ResourceHandleMac.mm:
570         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
571         (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
572         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
573         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
574         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
575         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
576         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
577         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
578         (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
579         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
580         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
581         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
582
583 2011-05-11  Luke Macpherson   <macpherson@chromium.org>
584
585         Reviewed by Eric Seidel.
586
587         Implement CSSPropertyMargin and CSSPropertyPadding in CSSStyleApplyProperty.
588         https://bugs.webkit.org/show_bug.cgi?id=60609
589
590         No new tests - refactoring only.
591
592         * css/CSSStyleApplyProperty.cpp:
593         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
594         Initialise CSSPropertyMargin and CSSPropertyPadding handlers.
595         * css/CSSStyleSelector.cpp:
596         (WebCore::CSSStyleSelector::applyProperty):
597         Remove unused implementations.
598
599 2011-05-11  Robin Dunn  <robin@alldunn.com>
600
601         Reviewed by Kevin Ollivier.
602
603         [wx] Implement more clipping functions for wxWebKit.
604         
605         https://bugs.webkit.org/show_bug.cgi?id=60662
606
607         * platform/graphics/wx/GraphicsContextWx.cpp:
608         (WebCore::GraphicsContext::clip):
609         (WebCore::GraphicsContext::clipOut):
610
611 2011-05-11  Damian Kaleta  <dkaleta@apple.com>
612
613         Reviewed by Brady Eidson.
614
615         Need a new API that will try to restore the scrollbars' position, when navigating in the back/forward history
616         https://bugs.webkit.org/show_bug.cgi?id=60674
617
618         * WebCore.exp.in: Export restoreScrollPositionAndViewState()
619
620 2011-05-11  Levi Weintraub  <leviw@chromium.org>
621
622         Reviewed by Eric Seidel.
623
624         Switch paintFillLayer and its progeny to use IntRect instead of four ints
625         https://bugs.webkit.org/show_bug.cgi?id=60596
626
627         Changing integers passed into paintFillLayer and other derivatives to IntRects
628         and IntSizes that reflect their function.
629
630         No new tests since this is just refactoring.
631
632         * rendering/InlineFlowBox.cpp:
633         (WebCore::InlineFlowBox::paintFillLayers):
634         (WebCore::InlineFlowBox::paintFillLayer):
635         (WebCore::InlineFlowBox::paintBoxDecorations):
636         (WebCore::InlineFlowBox::paintMask):
637         * rendering/InlineFlowBox.h:
638         * rendering/RenderBox.cpp:
639         (WebCore::RenderBox::paintRootBoxFillLayers):
640         (WebCore::RenderBox::paintBoxDecorationsWithSize):
641         (WebCore::RenderBox::paintMaskImages):
642         (WebCore::RenderBox::paintFillLayers):
643         (WebCore::RenderBox::paintFillLayer):
644         * rendering/RenderBox.h:
645         * rendering/RenderBoxModelObject.cpp:
646         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
647         * rendering/RenderBoxModelObject.h:
648         * rendering/RenderFieldset.cpp:
649         (WebCore::RenderFieldset::paintBoxDecorations):
650         * rendering/RenderTable.cpp:
651         (WebCore::RenderTable::paintBoxDecorations):
652         * rendering/RenderTableCell.cpp:
653         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
654
655 2011-05-11  Nat Duca  <nduca@chromium.org>
656
657         Reviewed by James Robinson.
658
659         [chromium] Use mapTexSubImage2D for tile uploads if available
660         https://bugs.webkit.org/show_bug.cgi?id=60008
661
662         * platform/graphics/chromium/LayerTilerChromium.cpp:
663         (WebCore::LayerTilerChromium::LayerTilerChromium):
664         (WebCore::LayerTilerChromium::update):
665         (WebCore::LayerTilerChromium::updateFromPixels):
666         * platform/graphics/chromium/LayerTilerChromium.h:
667
668 2011-05-11  Alexis Menard  <alexis.menard@openbossa.org>
669
670         Reviewed by Kenneth Rohde Christiansen.
671
672         [Qt] Implements a disable appearance for Media Elements of Qt port.
673         https://bugs.webkit.org/show_bug.cgi?id=60561
674
675         Implements a disable appearance for the media controls of the Qt port
676         when the media is not yet available.
677
678         * platform/qt/RenderThemeQt.cpp:
679         (WebCore::mediaElementCanPlay):
680         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
681         (WebCore::RenderThemeQt::paintMediaSliderThumb):
682
683 2011-05-11  Kent Tamura  <tkent@chromium.org>
684
685         Reviewed by Dimitri Glazkov.
686
687         input type=email is too strict
688         https://bugs.webkit.org/show_bug.cgi?id=55988
689
690         Follow the updated specification.
691
692         * html/EmailInputType.cpp: Update the pattern to allow a domain part without periods.
693
694 2011-05-11  Jia Pu  <jpu@apple.com>
695
696         Reviewed by Darin Adler.
697
698         Autocorrection persists after deleting and retyping the same word at same location.
699         https://bugs.webkit.org/show_bug.cgi?id=60555
700         <rdar://problem/9373915>
701
702         This patch intends to alleviate the issue of repetitively applying the same autocorrection
703         when user delete and retype the same word at the same location. This scenario is especially
704         common when autocorrection modifies the first letter of the word.
705
706         This patch consists following major changes:
707         1. Added a new marker type, DeletedAutocorrection. This marker is added to the whitespace that
708            precedes a deleted autocorrection. If the user later types the same original word at after
709            this whitespace, the autocorrection will not be applied again.
710         2. In DeleteSelectionCommand, added code to notify SpellingCorrectionController about the
711            autocorrection that has just been deleted.
712         3. In Editor and SpellingCorrectionController, added code to apply the marker and to suppress
713            autocorrection when necessary.
714         4. The change in CompositeEditCommand::replaceTextInNode is necessary for preserving markers.
715            Otherwise, we will loose the DeletedAutocorrection on the whitespace, when inserting text
716            after the whitespace.
717
718         Test: platform/mac/editing/spelling/delete-autocorrected-word-2.html
719
720         * dom/DocumentMarker.h: Added new marker type DeletedAutocorrection.
721         (WebCore::DocumentMarker::AllMarkers::AllMarkers):
722         * dom/DocumentMarkerController.cpp:
723         (WebCore::DocumentMarkerController::markersInRange): Support querying multiple marker types.
724         * dom/DocumentMarkerController.h:
725         * editing/CompositeEditCommand.cpp:
726         (WebCore::CompositeEditCommand::replaceTextInNodeAndPreserveMarkers):
727         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
728         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
729         * editing/CompositeEditCommand.h:
730         * editing/DeleteSelectionCommand.cpp:
731         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
732         (WebCore::DeleteSelectionCommand::fixupWhitespace):
733         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection): Extracting
734            the original string if we are deleting an autocorrection.
735         (WebCore::DeleteSelectionCommand::doApply): Notify editor about the deleted autocorrection and its position.
736         * editing/DeleteSelectionCommand.h:
737         * editing/Editor.cpp:
738         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Moved all logic of determining
739            when to suppress an autocorrection into SpellingCorrectionController.
740         (WebCore::Editor::deletedAutocorrectionAtPosition):
741         * editing/Editor.h:
742         * editing/InsertParagraphSeparatorCommand.cpp:
743         (WebCore::InsertParagraphSeparatorCommand::doApply):
744         * editing/SpellingCorrectionController.cpp:
745         (WebCore::SpellingCorrectionController::respondToAppliedEditing):
746         (WebCore::SpellingCorrectionController::deletedAutocorrectionAtPosition):
747         (WebCore::SpellingCorrectionController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
748         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
749         * editing/SpellingCorrectionController.h:
750         (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
751         * editing/visible_units.cpp:
752         (WebCore::isStartOfWord):
753         * editing/visible_units.h:
754         * manual-tests/autocorrection/spell-checking-after-reversion.html:
755
756 2011-05-11  Dan Bernstein  <mitz@apple.com>
757
758         Reviewed by Darin Adler.
759
760         <rdar://problem/9414874> Layout unnecessarily interrupts smooth scrolling at msnbc.com
761         https://bugs.webkit.org/show_bug.cgi?id=60677
762
763         * platform/ScrollView.cpp:
764         (WebCore::ScrollView::updateScrollbars): Only perform an immediate scroll, aborting any running
765         animation, if the new scroll offset computed here is different from the current scroll offset.
766
767 2011-05-11  Kent Tamura  <tkent@chromium.org>
768
769         Reviewed by Dimitri Glazkov.
770
771         <input pattern="1|10" value="10"> doesn't work correctly.
772         https://bugs.webkit.org/show_bug.cgi?id=60619
773
774         Fixes a bug that patternMismatch returns a wrong result if
775          - a whole value matches to a pattern,
776          - a sub-string of the value also matches to the pattern, and
777          - the sub-string matching has priority.
778
779         * html/BaseTextInputType.cpp:
780         (WebCore::BaseTextInputType::patternMismatch):
781           Enclose the specified pattern with ^( and )$.
782
783 2011-05-11  Zelidrag Hornung  <zelidrag@chromium.org>
784
785         Reviewed by David Levin.
786
787         Prevented DOMFileSystemBase from imposing file naming restrictions on
788         external file systems.
789
790         https://bugs.webkit.org/show_bug.cgi?id=60583
791
792         There are no new tests for this change since it requires the presence
793         of external file system provider which is specific to the platform host
794         process. Chromium implementation will test this within its extension API
795         test suite.
796
797         * fileapi/DOMFileSystemBase.cpp:
798         (WebCore::pathToAbsolutePath):
799         (WebCore::DOMFileSystemBase::getFile):
800         (WebCore::DOMFileSystemBase::getDirectory):
801
802 2011-05-11  Antoine Labour  <piman@chromium.org>
803
804         Reviewed by David Levin.
805
806         Expose shouldBufferData to ThreadableLoaderOptions to be able to disable buffering of the
807         loaded resource.
808         https://bugs.webkit.org/show_bug.cgi?id=60656
809
810         * loader/DocumentThreadableLoader.cpp:
811         (WebCore::DocumentThreadableLoader::loadRequest):
812         Pass the shouldBufferData to the resource load scheduler, forcing it to true for the
813         preflight request.
814         * loader/ResourceLoadScheduler.cpp:
815         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
816         Pass through shouldBufferData to SubresourceLoader::create
817         * loader/ResourceLoadScheduler.h:
818
819         * loader/SubresourceLoader.cpp:
820         (WebCore::SubresourceLoader::create):
821         Set shouldBufferData on the newly created loader
822
823         * loader/SubresourceLoader.h:
824
825         * loader/ThreadableLoader.h:
826         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
827         Add shouldBufferData to the options, defaulting to true.
828
829 2011-05-11  Jay Civelli  <jcivelli@chromium.org>
830
831         Reviewed by Adam Barth.
832
833         Adding a Content-Type parser. This is needed for MHTML support.
834         https://bugs.webkit.org/show_bug.cgi?id=60637
835
836         (WebCore::ScriptController::disableEval):
837         * platform/network/ContentTypeParser.cpp: Added.
838         * platform/network/ContentTypeParser.h: Added.
839
840 2011-05-11  Jessie Berlin  <jberlin@apple.com>
841
842         Reviewed by Steve Falkenburg.
843
844         [Windows WebKit2] Use cookies set in WebKit1
845         https://bugs.webkit.org/show_bug.cgi?id=60274
846
847         Share the default storage session between the UI and Web Processes.
848
849         * platform/network/cf/CookieStorageCFNet.cpp:
850         (WebCore::defaultSessionCookieStorage):
851         Keep track of the default storage session cookie storage.
852         (WebCore::currentCookieStorage):
853         Call defaultCookieStorage to get the default cookie storage.
854         (WebCore::defaultCookieStorage):
855         If there is a default storage session cookie storage, prefer that over getting the default
856         cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
857         without specifying a storage session will not get the cookie storage being shared by the UI
858         and Web Processes.
859
860         * platform/network/ResourceHandle.h:
861         * platform/network/cf/ResourceHandleCFNet.cpp:
862         (WebCore::willSendRequest):
863         Make sure to set the current storage session on any requests used by the Web
864         Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
865         doing anything with the Web Process's default storage session (which is not the one shared
866         with the UI Process).
867         (WebCore::makeFinalRequest):
868         Ditto.
869         (WebCore::ResourceHandle::willSendRequest):
870         Ditto.
871         (WebCore::ResourceHandle::currentStorageSession):
872         If there is a Private Browsing storage session, return that.
873         If not, on Windows return the default storage session that is being shared with the UI
874         Process and on Mac return 0.
875         (WebCore::defaultCFURLStorageSession):
876         (WebCore::ResourceHandle::setDefaultStorageSession):
877         (WebCore::ResourceHandle::defaultStorageSession):
878
879         * platform/network/cf/ResourceRequestCFNet.cpp:
880         (WebCore::ResourceRequest::doUpdatePlatformRequest):
881         Make sure to set the current storage session on any requests used by the Web
882         Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
883         doing anything with the Web Process's default storage session (which is not the one shared
884         with the UI Process).
885
886 2011-05-11  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
887
888         Reviewed by David Kilzer.
889
890         Remove wml directory from include lists
891         https://bugs.webkit.org/show_bug.cgi?id=60646
892
893         Remove wml dir from CMake, Autotools and qmake build systems since WML
894         was removed in r85256.
895
896         No new tests since no change in functionality.
897
898         * CMakeLists.txt:
899         * GNUmakefile.am:
900         * WebCore.pri:
901
902 2011-05-11  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
903
904         Reviewed by Antonio Gomes.
905
906         [CMAKE] Move EFL-specific file to CMakeListsEfl.txt
907         https://bugs.webkit.org/show_bug.cgi?id=60642
908
909         Move file EFL-specific file to the CMakeListsEfl.txt file. This implies
910         having to include CMakeLists${PORT}.txt before the ADD_CUSTOM_COMMAND
911         calls, since they depend on lists that now may change inside a port
912         like WebCore_USER_AGENT_STYLE_SHEETS.
913
914         No new tests since no change in functionality.
915
916         * CMakeLists.txt: remove css file specific to EFL port.
917         * CMakeListsEfl.txt: move file here.
918
919 2011-05-11  Tao Bai  <michaelbai@chromium.org>
920
921         Reviewed by David Kilzer.
922
923         Return empty Favicon URL instead of default one when the frame isn't top level one
924         https://bugs.webkit.org/show_bug.cgi?id=60527
925         This issue was discovered by chromium browser test.
926
927         * dom/Document.cpp:
928         (WebCore::Document::setIconURL):
929         Restored original logic which was inadvertently flipped by http://trac.webkit.org/changeset/85785.
930         * loader/FrameLoader.cpp:
931         (WebCore::FrameLoader::iconURLs):
932         (WebCore::FrameLoader::fillIconURL):
933         Restored original logic, the empty URL should be returned instead of default one. The client (at
934         least chromium) may rely on the returned value to decided whether the favicon should be changed.
935
936 2011-05-11  Nat Duca  <nduca@chromium.org>
937
938         Reviewed by Kenneth Russell.
939
940         [chromium] Make throttling of WebGL based on webgl frames, not compositor frames
941         https://bugs.webkit.org/show_bug.cgi?id=60508
942
943         When a WebGL layer is dirtied outside of a requestAnimFrame callback, we need
944         to prevent WebGL from running too far ahead of the GPU process. The current
945         throttling mechanism relies on prepareTexture being called for every WebGL frame.
946         However, in a non-requestAnimFrame application, multiple frames might get created
947         before the compositor runs and calls prepareTexture on the surface.
948
949         To address this, we post a task that calls a special rate limiting GL extension on
950         the WebGL context after every WebGL "frame." When the compositor runs, it calls
951         prepareTexture as usual.
952
953         * platform/graphics/chromium/Extensions3DChromium.h:
954         * platform/graphics/chromium/LayerRendererChromium.cpp:
955         (WebCore::LayerRendererChromium::LayerRendererChromium):
956         * platform/graphics/chromium/LayerRendererChromium.h:
957         (WebCore::LayerRendererChromium::setIsAnimating):
958         (WebCore::LayerRendererChromium::isAnimating):
959         * platform/graphics/chromium/WebGLLayerChromium.cpp:
960         (WebCore::WebGLLayerChromiumRateLimitTask::WebGLLayerChromiumRateLimitTask):
961         (WebCore::WebGLLayerChromiumRateLimitTask::run):
962         (WebCore::WebGLLayerChromiumRateLimitTask::cancel):
963         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
964         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
965         (WebCore::WebGLLayerChromium::setTextureUpdated):
966         (WebCore::WebGLLayerChromium::setContext):
967         * platform/graphics/chromium/WebGLLayerChromium.h:
968         (WebCore::WebGLLayerChromium::context):
969
970 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
971
972         Reviewed by Kenneth Rohde Christiansen.
973
974         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
975         https://bugs.webkit.org/show_bug.cgi?id=60439
976
977         Patch 12/12: Enable accelerated animations in texture-mapper. The entire interpolation
978         mechanism happens inside TextureMapper, and we interpolate right before we paint.
979
980         No new tests. Tests in LayoutTests/compositing cover this.
981
982         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
983         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
984         (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
985         (WebCore::GraphicsLayerTextureMapper::addAnimation):
986         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
987         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
988         (WebCore::GraphicsLayerTextureMapper::animationStartedTimerFired):
989         * platform/graphics/texmap/TextureMapperNode.cpp:
990         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
991         (WebCore::normalizedAnimationValue):
992         (WebCore::TextureMapperNode::applyOpacityAnimation):
993         (WebCore::solveEpsilon):
994         (WebCore::solveCubicBezierFunction):
995         (WebCore::solveStepsFunction):
996         (WebCore::applyTimingFunction):
997         (WebCore::TextureMapperNode::applyTransformAnimation):
998         (WebCore::TextureMapperNode::applyAnimationFrame):
999         (WebCore::TextureMapperNode::applyAnimation):
1000         (WebCore::TextureMapperNode::hasRunningOpacityAnimation):
1001         (WebCore::TextureMapperNode::hasRunningTransformAnimation):
1002         (WebCore::TextureMapperNode::syncAnimations):
1003         (WebCore::copyTimingFunction):
1004         (WebCore::copyAnimationValue):
1005         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
1006         * platform/graphics/texmap/TextureMapperNode.h:
1007         (WebCore::TextureMapperAnimation::create):
1008
1009 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1010
1011         Reviewed by Kenneth Rohde Christiansen.
1012
1013         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1014         https://bugs.webkit.org/show_bug.cgi?id=60439
1015
1016         Patch 11/12: Patch PluginView to build with TextureMapper on Linux.
1017
1018         No new tests. This is a build fix.
1019
1020         * platform/qt/QWebPageClient.h:
1021         (QWebPageClient::setRootGraphicsLayer):
1022
1023 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1024
1025         Reviewed by Kenneth Rohde Christiansen.
1026
1027         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1028         https://bugs.webkit.org/show_bug.cgi?id=60439
1029
1030         Patch 10/12: Glue the TextureMapper refactoring into Webkit(1).
1031         Pass a GraphicsLayer* instead of a PlatformLayer* to the QWebPageClient.
1032
1033         No new tests. Tests in LayoutTests/compositing cover this.
1034
1035         * platform/qt/QWebPageClient.h:
1036         (QWebPageClient::setRootGraphicsLayer):
1037
1038 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1039
1040         Reviewed by Kenneth Rohde Christiansen.
1041
1042         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1043         https://bugs.webkit.org/show_bug.cgi?id=60439
1044
1045         Patch 9/12: Refactor TextureMapperNode for performance, readability and accuracy.
1046         Changes include:
1047         1. Support the new TextureMapperPlatformLayer for media & WebGL.
1048         2. Use a pool for intermediate surfaces, to avoid constant allocating/freeing of textures.
1049         3. Divide computation operations to different smaller functions.
1050         4. Get rid of scissor/clip layers, use transformed clip instead.
1051         5. Allow tiling for big layers.
1052
1053         No new tests. Tests in LayoutTests/compositing cover this.
1054
1055         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1056         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
1057         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
1058         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
1059         (WebCore::GraphicsLayerTextureMapper::platformLayer):
1060         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1061         (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
1062         (WebCore::GraphicsLayerTextureMapper::setContentsToCanvas):
1063         (WebCore::GraphicsLayerTextureMapper::node):
1064         * platform/graphics/texmap/TextureMapperNode.cpp:
1065         (WebCore::TextureMapperSurfaceManager::getIntermediateSurface):
1066         (WebCore::TextureMapperSurfaceManager::releaseIntermediateSurface):
1067         (WebCore::toTextureMapperNode):
1068         (WebCore::TextureMapperNode::rootLayer):
1069         (WebCore::TextureMapperNode::setTransform):
1070         (WebCore::TextureMapperNode::computePerspectiveTransformIfNeeded):
1071         (WebCore::TextureMapperNode::countDescendantsWithContent):
1072         (WebCore::TextureMapperNode::computeOverlapsIfNeeded):
1073         (WebCore::TextureMapperNode::computeReplicaTransformIfNeeded):
1074         (WebCore::TextureMapperNode::computeLocalTransformIfNeeded):
1075         (WebCore::TextureMapperNode::needsToComputeBoundingRect):
1076         (WebCore::TextureMapperNode::computeAllTransforms):
1077         (WebCore::TextureMapperNode::computeBoundingRectFromRootIfNeeded):
1078         (WebCore::TextureMapperNode::computeTiles):
1079         (WebCore::TextureMapperNode::computeVisibleRectIfNeeded):
1080         (WebCore::TextureMapperNode::renderContent):
1081         (WebCore::TextureMapperNode::paint):
1082         (WebCore::TextureMapperNode::targetRectForTileRect):
1083         (WebCore::TextureMapperNode::paintSelf):
1084         (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
1085         (WebCore::TextureMapperNode::sortByZOrder):
1086         (WebCore::TextureMapperNode::paintSelfAndChildren):
1087         (WebCore::TextureMapperNode::paintReflection):
1088         (WebCore::TextureMapperNode::paintRecursive):
1089         (WebCore::TextureMapperNode::~TextureMapperNode):
1090         (WebCore::TextureMapperNode::resetDescendants):
1091         (WebCore::TextureMapperNode::setContentScale):
1092         (WebCore::TextureMapperNode::setVisibleRect):
1093         (WebCore::TextureMapperNode::syncCompositingState):
1094         (WebCore::TextureMapperNode::invalidateOverlaps):
1095         (WebCore::TextureMapperNode::syncCompositingStateSelf):
1096         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
1097         * platform/graphics/texmap/TextureMapperNode.h:
1098         (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
1099         (WebCore::TextureMapperAnimation::create):
1100         (WebCore::TextureMapperNode::TextureMapperNode):
1101         (WebCore::TextureMapperNode::size):
1102         (WebCore::TextureMapperNode::setOpacity):
1103         (WebCore::TextureMapperNode::setTextureMapper):
1104         (WebCore::TextureMapperNode::media):
1105         (WebCore::TextureMapperNode::texture):
1106         (WebCore::TextureMapperNode::targetRect):
1107         (WebCore::TextureMapperNode::entireRect):
1108         (WebCore::TextureMapperNode::contentSize):
1109         (WebCore::TextureMapperNode::State::State):
1110         (WebCore::deleteOwnedPtr):
1111
1112 2011-05-07  Noam Rosenthal  <noam.rosenthal@nokia.com>
1113
1114         Reviewed by Kenneth Rohde Christiansen.
1115
1116         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1117         https://bugs.webkit.org/show_bug.cgi?id=60439
1118
1119         Patch 8/12: Changes to the GL backend of TextureMapper. The code for these changes is intertwined so it was hard to separate
1120         them to different patches. This is the summary of what the changes do:
1121
1122         1. Use stencil for clipping instead of scissors, refactor beginClip/endClip functions to accomodate that.
1123         2. Get rid of the "Target" program which forced an intermediate framebuffer for any content. Instead,
1124            we upload the texture with BGRA from the start. Ports other than Qt can optimize this for their needs.
1125         3. Use glGetAttribLocation instead of glBindAttribLocation; On some platforms we might be polluting the
1126            GL context otherwise.
1127         4. Use image UIDs (cache-key in Qt) instead of image pointers. This is important for images that change their
1128            internal content.
1129         5. Allow packing and unpacking. This is currently a stub, for future memory optimizations.
1130         6. Put some of the initialization code here (beginPainting/endPainting).
1131         7. Allow painting a texture via an ID instead of a BitmapTexture data type.
1132         8. Get rid of makeContextCurrent / obtainCurrentContext. We only use texture-mapper when the context is current.
1133
1134         No new tests. Tests in LayoutTests/compositing test this.
1135
1136         * platform/graphics/opengl/TextureMapperGL.cpp:
1137         (WebCore::debugGLCommand):
1138         (WebCore::TextureMapperGLData::GlobalGLData::createShaderProgram):
1139         (WebCore::TextureMapperGLData::GlobalGLData::GlobalGLData):
1140         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
1141         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
1142         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
1143         (WebCore::TextureMapperGLData::TextureMapperGLData):
1144         (WebCore::BitmapTextureGL::id):
1145         (WebCore::BitmapTextureGL::isOpaque):
1146         (WebCore::BitmapTextureGL::relativeSize):
1147         (WebCore::BitmapTextureGL::setTextureMapper):
1148         (WebCore::BitmapTextureGL::pack):
1149         (WebCore::BitmapTextureGL::unpack):
1150         (WebCore::BitmapTextureGL::isPacked):
1151         (WebCore::BitmapTextureGL::BitmapTextureGL):
1152         (WebCore::TextureMapperGL::TextureMapperGL):
1153         (WebCore::TextureMapperGL::initializeShaders):
1154         (WebCore::TextureMapperGL::beginPainting):
1155         (WebCore::TextureMapperGL::endPainting):
1156         (WebCore::TextureMapperGL::drawTexture):
1157         (WebCore::BitmapTextureGL::reset):
1158         (WebCore::BitmapTextureGL::endPaint):
1159         (WebCore::BitmapTextureGL::setContentsToImage):
1160         (WebCore::createProjectionMatrix):
1161         (WebCore::BitmapTextureGL::bind):
1162         (WebCore::BitmapTextureGL::destroy):
1163         (WebCore::TextureMapperGL::~TextureMapperGL):
1164         (WebCore::TextureMapperGL::bindSurface):
1165         (WebCore::TextureMapperGL::beginClip):
1166         (WebCore::TextureMapperGL::endClip):
1167         (WebCore::TextureMapperGL::createTexture):
1168         * platform/graphics/opengl/TextureMapperGL.h:
1169         (WebCore::TextureMapperGL::allowSurfaceForRoot):
1170         (WebCore::TextureMapperGL::create):
1171         (WebCore::TextureMapperGL::setGraphicsContext):
1172         (WebCore::TextureMapperGL::graphicsContext):
1173         (WebCore::TextureMapperGL::isOpenGLBacked):
1174         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1175         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
1176         (WebCore::GraphicsContext3DInternal::boundingRect):
1177         (WebCore::GraphicsContext3DInternal::paint):
1178         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1179         (WebCore::MediaPlayerPrivateQt::repaint):
1180         (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
1181         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1182         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
1183         (WebCore::MediaPlayerPrivateQt::platformLayer):
1184
1185 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1186
1187         Reviewed by Kenneth Rohde Christiansen.
1188
1189         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1190         https://bugs.webkit.org/show_bug.cgi?id=60439
1191
1192         Patch 7/12: Allow a 3D-context (WebGL) to paint itself into a TextureMapper.
1193         This allows using a WebGL canvas with CSS.
1194
1195         No new tests. Tests in LayoutTests/compositing/webgl cover this.
1196
1197         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1198         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
1199         (WebCore::GraphicsContext3DInternal::boundingRect):
1200         (WebCore::GraphicsContext3DInternal::paint):
1201         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1202         (WebCore::MediaPlayerPrivateQt::repaint):
1203         (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
1204         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1205         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
1206         (WebCore::MediaPlayerPrivateQt::platformLayer):
1207
1208 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1209
1210         Reviewed by Kenneth Rohde Christiansen.
1211
1212         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1213         https://bugs.webkit.org/show_bug.cgi?id=60439
1214
1215         Patch 6/12: Allow the Qt media player implementation to paint into a TextureMapper,
1216         to allow videos to be composited.
1217
1218         No new tests. Tests in LayoutTests/compositing cover this.
1219
1220         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1221         (WebCore::MediaPlayerPrivateQt::repaint):
1222         (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
1223         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1224         (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
1225         (WebCore::MediaPlayerPrivateQt::platformLayer):
1226
1227 2011-05-11  John Bauman  <jbauman@chromium.org>
1228
1229         Reviewed by Kenneth Russell.
1230
1231         Don't send zeros in TexImage if GL implementation handles that
1232         https://bugs.webkit.org/show_bug.cgi?id=60581
1233
1234         Chromium already handles zeroing textures upon creation, so don't
1235         bother zeroing them in WebKit, as that causes some unnecessary memcpys
1236         of zeros.
1237
1238         No new tests as functionality is the same.
1239
1240         * html/canvas/WebGLRenderingContext.cpp:
1241         (WebCore::WebGLRenderingContext::texImage2DBase):
1242         * platform/graphics/GraphicsContext3D.cpp:
1243         (WebCore::GraphicsContext3D::texImage2DResourceSafe):
1244         * platform/graphics/GraphicsContext3D.h:
1245         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
1246         (WebCore::GraphicsContext3D::GraphicsContext3D):
1247         * platform/graphics/mac/GraphicsContext3DMac.mm:
1248         (WebCore::GraphicsContext3D::GraphicsContext3D):
1249         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1250         (WebCore::GraphicsContext3D::GraphicsContext3D):
1251
1252 2011-05-11  Simon Fraser  <simon.fraser@apple.com>
1253
1254         Attempt to fix Chromium Mac build.
1255
1256         * rendering/RenderThemeMac.mm:
1257         (WebCore::RenderThemeMac::paintSliderThumb):
1258
1259 2011-05-11  Daniel Bates  <dbates@rim.com>
1260
1261         Reviewed by Antonio Gomes.
1262
1263         [Qt] Extract code to set mouse event modifiers into common function
1264         https://bugs.webkit.org/show_bug.cgi?id=60649
1265
1266         Consolidate code to set the keyboard modifiers for a mouse event into a common
1267         function that can be used by both PlatformMouseEvent(QGraphicsSceneMouseEvent*, int clickCount)
1268         and PlatformMouseEvent(QInputEvent*, int clickCount) so as to remove duplicate code.
1269
1270         No functionality was changed. So, no new tests.
1271
1272         * platform/qt/PlatformMouseEventQt.cpp:
1273         (WebCore::mouseEventModifiersFromQtKeyboardModifiers): Added.
1274         (WebCore::PlatformMouseEvent::PlatformMouseEvent): Modified to call mouseEventModifiersFromQtKeyboardModifiers().
1275
1276 2011-05-11  Levi Weintraub  <leviw@chromium.org>
1277
1278         Reviewed by Eric Seidel.
1279
1280         Switch RenderBoxModelObject::paintBorder to use IntRect instead of four ints
1281         https://bugs.webkit.org/show_bug.cgi?id=60591
1282
1283         Switching RenderBoxModelObject::paintBorder to use IntRect instead of four ints representing a rect.
1284
1285         No new tests since there is no functionality change.
1286
1287         * rendering/InlineFlowBox.cpp:
1288         (WebCore::InlineFlowBox::paintBoxDecorations):
1289         * rendering/RenderBox.cpp:
1290         (WebCore::RenderBox::paintBoxDecorationsWithSize):
1291         * rendering/RenderBoxModelObject.cpp:
1292         (WebCore::RenderBoxModelObject::paintBorder):
1293         * rendering/RenderBoxModelObject.h:
1294         * rendering/RenderFieldset.cpp:
1295         (WebCore::RenderFieldset::paintBoxDecorations):
1296         * rendering/RenderTable.cpp:
1297         (WebCore::RenderTable::paintBoxDecorations):
1298         * rendering/RenderTableCell.cpp:
1299         (WebCore::RenderTableCell::paintBoxDecorations):
1300
1301 2011-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1302
1303         Unreviewed, rolling out r86255.
1304         http://trac.webkit.org/changeset/86255
1305         https://bugs.webkit.org/show_bug.cgi?id=60660
1306
1307         REGRESSION (r86255): Lots of tests crashing in
1308         CFWriteStreamCreateWithAllocatedBuffers on Windows 7 Release
1309         (WebKit2 Tests) (Requested by aroben on #webkit).
1310
1311         * platform/network/ResourceHandle.h:
1312         * platform/network/cf/CookieStorageCFNet.cpp:
1313         (WebCore::currentCookieStorage):
1314         (WebCore::defaultCookieStorage):
1315         * platform/network/cf/ResourceHandleCFNet.cpp:
1316         (WebCore::willSendRequest):
1317         (WebCore::makeFinalRequest):
1318         (WebCore::ResourceHandle::willSendRequest):
1319         * platform/network/cf/ResourceRequestCFNet.cpp:
1320         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1321
1322 2011-05-11  Sam Weinig  <sam@webkit.org>
1323
1324         Reviewed by Eric Seidel.
1325
1326         Frequent crashes beneath WebCore::ScriptElement::prepareScript
1327         https://bugs.webkit.org/show_bug.cgi?id=60559
1328
1329         * html/parser/HTMLScriptRunner.cpp:
1330         (WebCore::HTMLScriptRunner::runScript):
1331         Add null check and explanation that we are keeping the ASSERT to help
1332         track down the cause and produce a test.
1333
1334 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1335
1336         Reviewed by Kenneth Rohde Christiansen.
1337
1338         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1339         https://bugs.webkit.org/show_bug.cgi?id=60439
1340
1341         Patch 5/12: Implement the new TextureMapper functions for the Qt backend.
1342         This allow non-rectangular clipping, some stub functions, and getting a unique
1343         id for an image.
1344
1345         No new tests. Tests in LayoutTests/compositing cover this.
1346
1347         * platform/graphics/qt/TextureMapperQt.cpp:
1348         (WebCore::TextureMapperQt::beginClip):
1349         (WebCore::TextureMapperQt::endClip):
1350         (WebCore::TextureMapperQt::viewportSize):
1351         (WebCore::TextureMapperQt::setGraphicsContext):
1352         (WebCore::TextureMapperQt::graphicsContext):
1353         (WebCore::TextureMapperQt::drawTexture):
1354         (WebCore::TextureMapperQt::beginPainting):
1355         (WebCore::TextureMapperQt::endPainting):
1356         (WebCore::RGBA32PremultimpliedBufferQt::beginPaint):
1357         (WebCore::uidForImage):
1358         * platform/graphics/qt/TextureMapperQt.h:
1359
1360 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1361
1362         Reviewed by Kenneth Rohde Christiansen.
1363
1364         [Texmap] Upstream texture-mapper changes from Qt's WebKit2 branch
1365         https://bugs.webkit.org/show_bug.cgi?id=60439
1366
1367         Patch 3/12: TextureMapper shouldn't depend on OpenGL, but rather only allow the GL backend when
1368         OpenGL is present.
1369
1370         No new tests. This is a build fix.
1371
1372         * WebCore.pri:
1373         * WebCore.pro:
1374
1375 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1376
1377         Reviewed by Kenneth Rohde Christiansen.
1378
1379         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1380         https://bugs.webkit.org/show_bug.cgi?id=60439
1381
1382         Patch 2/12: Add a few functions to the TextureMapper API, allowing:
1383         1. an entry/exit point for painting (beginPaint/endPaint)
1384         2. Clipping with a matrix, since we use stencil instead of scissors
1385         3. Draw a texture directly with an ID
1386         4. Remove offset, since we're using real tiling
1387         5. numberOfBytes calculation for textures, for memory management
1388
1389         No new tests. Tests in LayoutTests/compositing test this.
1390
1391         * platform/graphics/texmap/TextureMapper.h:
1392         (WebCore::BitmapTexture::destroy):
1393         (WebCore::BitmapTexture::allowOfflineTextureUpload):
1394         (WebCore::BitmapTexture::bpp):
1395         (WebCore::BitmapTexture::numberOfBytes):
1396         (WebCore::TextureMapper::viewportSize):
1397         (WebCore::TextureMapper::setViewportSize):
1398         (WebCore::TextureMapper::allowPartialUpdates):
1399         (WebCore::TextureMapper::isOpenGLBacked):
1400         (WebCore::TextureMapper::setTransform):
1401         (WebCore::TextureMapper::transform):
1402         (WebCore::TextureMapper::beginPainting):
1403         (WebCore::TextureMapper::endPainting):
1404
1405 2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
1406
1407         Reviewed by Kenneth Rohde Christiansen.
1408
1409         [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
1410         https://bugs.webkit.org/show_bug.cgi?id=60439
1411
1412         Patch 1/12: Change the TextureMapperPlatformLayer API to allow a 3D-context or a
1413         media player to decide how to paint into the TextureMapper, rather than mandate specific
1414         types of platform layers.
1415
1416         No new tests. Tests in LayoutTests/compositing test this.
1417
1418         * platform/graphics/GraphicsLayer.h:
1419         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
1420
1421 2011-05-11  Simon Fraser  <simon.fraser@apple.com>
1422
1423         Reviewed by Darin Adler.
1424
1425         Flesh out RenderLayer's ScrollableArea implementation a little more
1426         https://bugs.webkit.org/show_bug.cgi?id=60593
1427
1428         Override a few more ScrollableArea methods on RenderLayer
1429         as a baby-step towards animating overflow div scrolling.
1430
1431         * platform/ScrollableArea.h:
1432         (WebCore::ScrollableArea::visibleContentRect):
1433         * rendering/RenderLayer.cpp:
1434         (WebCore::RenderLayer::scrollPosition):
1435         (WebCore::RenderLayer::minimumScrollPosition):
1436         (WebCore::RenderLayer::maximumScrollPosition):
1437         (WebCore::RenderLayer::visibleContentRect):
1438         (WebCore::RenderLayer::overhangAmount):
1439         (WebCore::RenderLayer::didCompleteRubberBand):
1440         * rendering/RenderLayer.h:
1441         (WebCore::RenderLayer::shouldSuspendScrollAnimations):
1442
1443 2011-05-11  Simon Fraser  <simon.fraser@apple.com>
1444
1445         Reviewed by Dave Hyatt.
1446
1447         <rdar://problem/9421781> Slider thumb draws upside-down in WebKit2
1448         <rdar://problem/9418025> Slider thumb has odd appearance
1449
1450         Fix two issues drawing the slider thumb.
1451         
1452         To fix <rdar://problem/9421781>, if we detect that we're in WebKit2
1453         by virtual of the FrameView not having a documentView, then flip
1454         the graphics context.
1455
1456         To fix <rdar://problem/9418025>, we call -drawInteriorWithFrame:inView:
1457         rather than -drawWithFrame:inView: so that AppKit doesn't draw a section
1458         of track behind the thumb.
1459
1460         * rendering/RenderThemeMac.mm:
1461         (WebCore::RenderThemeMac::paintSliderThumb):
1462
1463 2011-05-11  Jessie Berlin  <jberlin@apple.com>
1464
1465         Reviewed by Steve Falkenburg.
1466
1467         [Windows WebKit2] Use cookies set in WebKit1
1468         https://bugs.webkit.org/show_bug.cgi?id=60274
1469
1470         Share the default storage session between the UI and Web Processes.
1471
1472         * platform/network/cf/CookieStorageCFNet.cpp:
1473         (WebCore::defaultSessionCookieStorage):
1474         Keep track of the default storage session cookie storage.
1475         (WebCore::currentCookieStorage):
1476         Call defaultCookieStorage to get the default cookie storage.
1477         (WebCore::defaultCookieStorage):
1478         If there is a default storage session cookie storage, prefer that over getting the default
1479         cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
1480         without specifying a storage session will not get the cookie storage being shared by the UI
1481         and Web Processes.
1482
1483         * platform/network/ResourceHandle.h:
1484         * platform/network/cf/ResourceHandleCFNet.cpp:
1485         (WebCore::willSendRequest):
1486         Make sure to set the current storage session on any requests used by the Web
1487         Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
1488         doing anything with the Web Process's default storage session (which is not the one shared
1489         with the UI Process).
1490         (WebCore::makeFinalRequest):
1491         Ditto.
1492         (WebCore::ResourceHandle::willSendRequest):
1493         Ditto.
1494         (WebCore::ResourceHandle::currentStorageSession):
1495         If there is a Private Browsing storage session, return that.
1496         If not, on Windows return the default storage session that is being shared with the UI
1497         Process and on Mac return 0.
1498         (WebCore::defaultCFURLStorageSession):
1499         (WebCore::ResourceHandle::setDefaultStorageSession):
1500         (WebCore::ResourceHandle::defaultStorageSession):
1501
1502         * platform/network/cf/ResourceRequestCFNet.cpp:
1503         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1504         Make sure to set the current storage session on any requests used by the Web
1505         Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
1506         doing anything with the Web Process's default storage session (which is not the one shared
1507         with the UI Process).
1508
1509 2011-05-11  Martin Robinson  <mrobinson@igalia.com>
1510
1511         Try once more to fix the WinCairo build.
1512
1513         * platform/graphics/cairo/CairoUtilities.h: Include GraphicsTypes.h with a relative
1514         include rather than a system include.
1515
1516 2011-05-11  Sam Weinig  <sam@webkit.org>
1517
1518         Reviewed by Eric Seidel.
1519
1520         Stop including Console.h just to get Console enum types
1521         https://bugs.webkit.org/show_bug.cgi?id=60607
1522
1523         Move MessageSource, MessageType and MessageLevel into its own
1524         header and cleanup surrounding classes.
1525
1526         * GNUmakefile.list.am:
1527         * WebCore.gypi:
1528         * WebCore.pro:
1529         * WebCore.vcproj/WebCore.vcproj:
1530         * WebCore.xcodeproj/project.pbxproj:
1531         * bindings/js/JSCustomXPathNSResolver.cpp:
1532         * bindings/scripts/CodeGeneratorJS.pm:
1533         * bindings/v8/V8Proxy.cpp:
1534         * dom/ScriptExecutionContext.h:
1535         * html/HTMLFormElement.cpp:
1536         * html/parser/XSSFilter.cpp:
1537         * inspector/ConsoleMessage.h:
1538         * inspector/InjectedScriptHost.h:
1539         * inspector/InspectorAgent.h:
1540         * inspector/InspectorConsoleAgent.h:
1541         * inspector/InspectorFrontendHost.h:
1542         * inspector/InspectorInstrumentation.cpp:
1543         * inspector/InspectorInstrumentation.h:
1544         * loader/EmptyClients.h:
1545         * loader/FrameLoader.cpp:
1546         * loader/MainResourceLoader.cpp:
1547         * loader/appcache/ApplicationCacheGroup.cpp:
1548         * page/ChromeClient.h:
1549         * page/Console.cpp:
1550         (WebCore::Console::~Console):
1551         * page/Console.h:
1552         * page/ConsoleTypes.h: Added.
1553         * page/ContentSecurityPolicy.cpp:
1554         * page/Geolocation.h:
1555         * workers/WorkerReportingProxy.h:
1556         * xml/XMLHttpRequest.cpp:
1557
1558 2011-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
1559
1560         Unreviewed, rolling out r85650.
1561         http://trac.webkit.org/changeset/85650
1562         https://bugs.webkit.org/show_bug.cgi?id=59983
1563
1564         Triggers m_numNodeListCaches > 0 assert in gc-heavy sites.
1565
1566         * dom/ContainerNode.cpp:
1567         (WebCore::ContainerNode::childrenChanged):
1568         * dom/Node.cpp:
1569         (WebCore::Node::~Node):
1570         (WebCore::Node::setDocument):
1571         (WebCore::Node::setTreeScopeRecursively):
1572         (WebCore::Node::childNodes):
1573         (WebCore::Node::registerDynamicNodeList):
1574         (WebCore::Node::unregisterDynamicNodeList):
1575         (WebCore::Node::notifyLocalNodeListsAttributeChanged):
1576         (WebCore::Node::notifyLocalNodeListsChildrenChanged):
1577         (WebCore::Node::getElementsByTagName):
1578         (WebCore::Node::getElementsByTagNameNS):
1579         (WebCore::Node::getElementsByName):
1580         (WebCore::Node::getElementsByClassName):
1581         * dom/Node.h:
1582         * html/HTMLFormControlElement.cpp:
1583         (WebCore::HTMLFormControlElement::labels):
1584
1585 2011-05-11  Eric Carlson  <eric.carlson@apple.com>
1586
1587         Reviewed by Darin Adler.
1588
1589         Video track sometimes fails to draw.
1590         https://bugs.webkit.org/show_bug.cgi?id=60635
1591         <rdar://problem/9281951>
1592
1593         No new tests, covered by existing pixel tests.
1594
1595         * html/HTMLMediaElement.cpp:
1596         (WebCore::HTMLMediaElement::loadResource): Set display mode to "Unknown" to force a 
1597             recalculation, and media engine notification, the next time the state machine runs.
1598
1599 2011-05-11  Adam Roben  <aroben@apple.com>
1600
1601         WinCE build fixes for strict PassOwnPtr
1602
1603         * platform/graphics/wince/SharedBitmap.cpp:
1604         (WebCore::SharedBitmap::createHandle):
1605         (WebCore::SharedBitmap::clipBitmap):
1606         Use nullptr instead of 0.
1607
1608         * platform/graphics/wince/SimpleFontDataWinCE.cpp: Keep LOOSE_PASS_OWN_PTR turned on for
1609         this file until SimpleFontData::scaledFontData is dealt with on all platforms.
1610
1611         * platform/text/wince/TextCodecWinCE.cpp:
1612         (WebCore::newTextCodecWinCE): Use adoptPtr.
1613
1614 2011-05-11  Chang Shu  <cshu@webkit.org>
1615
1616         Reviewed by Antonio Gomes.
1617
1618         [Qt] Tab not working in editing/inserting/typing-tab-designmode-forms.html
1619         https://bugs.webkit.org/show_bug.cgi?id=60477
1620
1621         PlatformKeyboardEvent.m_text should be set to "\t" instead of leaving as null.
1622         The value is checked at EventHandler.cpp:2527 (r86166).
1623
1624         Function keyTextForKeyEvent is partially implemented and can be enhanced in
1625         a need-base.
1626
1627         * platform/qt/PlatformKeyboardEventQt.cpp:
1628         (WebCore::keyTextForKeyEvent):
1629         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1630
1631 2011-05-11  Adam Roben  <aroben@apple.com>
1632
1633         Use case-insensitive comparisons when checking plugin filenames on Windows
1634
1635         Windows paths are nearly always case-insensitive.
1636
1637         I couldn't think of a good way to test this.
1638
1639         Fixes <http://webkit.org/b/60633> WebKit1 loads Windows Presentation Foundation plugin, but
1640         should not
1641
1642         Reviewed by Steve Falkenburg.
1643
1644         * plugins/win/PluginPackageWin.cpp:
1645         (WebCore::PluginPackage::isPluginBlacklisted): Use equalIgnoringCase instead of == when
1646         checking plugin filenames.
1647
1648 2011-05-11  Adam Roben  <aroben@apple.com>
1649
1650         Turn on strict PassOwnPtr on Windows
1651
1652         Fixes <http://webkit.org/b/60632> Windows should build with strict PassOwnPtr enabled
1653
1654         Reviewed by Adam Barth.
1655
1656         * platform/graphics/win/SimpleFontDataWin.cpp: Keep LOOSE_PASS_OWN_PTR turned on for this
1657         file until SimpleFontData::scaledFontData is dealt with on all platforms.
1658
1659 2011-05-11  Julien Chaffraix  <jchaffraix@webkit.org>
1660
1661         Reviewed by Geoffrey Garen.
1662
1663         XPathResult should keep its node set's JS wrappers alive
1664         https://bugs.webkit.org/show_bug.cgi?id=34231
1665
1666         The change added a custom mark function for JSC. V8 was already properly
1667         marking the nodes so no change were done on the V8 side.
1668
1669         Tests: fast/xpath/xpath-iterator-result-should-mark-its-nodeset.html
1670                fast/xpath/xpath-other-nodeset-result-should-mark-its-nodeset.html
1671                fast/xpath/xpath-result-eventlistener-crash.html
1672                fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html
1673
1674         * Android.jscbindings.mk:
1675         * GNUmakefile.list.am:
1676         * UseJSC.cmake:
1677         * WebCore.gypi:
1678         * WebCore.pro:
1679         * WebCore.vcproj/WebCore.vcproj:
1680         * WebCore.xcodeproj/project.pbxproj:
1681         * bindings/js/JSBindingsAllInOne.cpp:
1682         Added the new file to our build systems.
1683
1684         * bindings/js/JSXPathResultCustom.cpp: Added.
1685         (WebCore::JSXPathResult::markChildren): Added code to mark the
1686         XPathResult snapshot's nodes.
1687         * xml/XPathResult.h:
1688         (WebCore::XPathResult::value): Exposed this getter so that we can
1689         mark our XPathValue.
1690         * xml/XPathResult.idl: Told the IDL parser that we now need
1691         a custom mark function.
1692
1693 2011-05-04  Philippe Normand  <pnormand@igalia.com>
1694
1695         Reviewed by Martin Robinson.
1696
1697         [Gtk+] deadlock in gstreamer video player when exiting fullscreen
1698         https://bugs.webkit.org/show_bug.cgi?id=58548
1699
1700         Block data flow towards the pipeline branch to remove to avoid
1701         potential deadlocks during the PAUSED->READY transitions of the
1702         elements to remove.
1703
1704         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1705         (WebCore::GStreamerGWorld::exitFullscreen):
1706
1707 2011-05-11  Kent Tamura  <tkent@chromium.org>
1708
1709         Reviewed by Hajime Morita.
1710
1711         The position of validation message bubble is wrong for non text fields.
1712         https://bugs.webkit.org/show_bug.cgi?id=60341
1713
1714         Tests: fast/forms/validation-message-on-checkbox.html
1715                fast/forms/validation-message-on-listbox.html
1716                fast/forms/validation-message-on-menulist.html
1717                fast/forms/validation-message-on-radio.html
1718                fast/forms/validation-message-on-textarea.html
1719
1720         * css/html.css:
1721         (::-webkit-validation-bubble-message):
1722           Add white-space:normal in order not to inherit white-space:pre for <select>.
1723         * html/ValidationMessage.cpp:
1724         (WebCore::adjustBubblePosition):
1725           Adjust the bubble position.
1726           - The top of the bubble should be same as the bottom of the target control.
1727           - The left of the bubble should be same as the left of the target control.
1728             But If the left+32 is larger than the center of the target control,
1729             left+32 should be at the center of the target control.
1730             But the left position should not be less than 0.
1731         (WebCore::ValidationMessage::buildBubbleTree): Call adjustBubblePosition().
1732
1733 2011-05-11  Emil A Eklund  <eae@chromium.org>
1734
1735         Reviewed by Eric Seidel.
1736
1737         Convert RenderFlexibleBox to use IntPoint/IntSize instead of x,y/w,h pairs
1738         https://bugs.webkit.org/show_bug.cgi?id=60592
1739
1740         Refactoring, covered by existing tests.
1741
1742         * rendering/RenderFlexibleBox.cpp:
1743         (WebCore::RenderFlexibleBox::layoutBlock):
1744         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1745         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1746         (WebCore::RenderFlexibleBox::placeChild):
1747         * rendering/RenderFlexibleBox.h:
1748
1749 2011-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
1750
1751         Unreviewed buildfix for strict OwnPtr.
1752
1753         * platform/audio/AudioBus.cpp:
1754         (WebCore::AudioBus::createBufferFromRange):
1755         (WebCore::AudioBus::createBySampleRateConverting):
1756         (WebCore::AudioBus::createByMixingToMono):
1757         * platform/audio/HRTFElevation.cpp:
1758         (WebCore::HRTFElevation::createForSubject):
1759         (WebCore::HRTFElevation::createByInterpolatingSlices):
1760         * platform/audio/Panner.cpp:
1761         (WebCore::Panner::create):
1762         * platform/audio/Reverb.cpp:
1763         (WebCore::Reverb::initialize):
1764         * platform/audio/chromium/AudioBusChromium.cpp:
1765         (WebCore::AudioBus::loadPlatformResource):
1766         (WebCore::createBusFromInMemoryAudioFile):
1767
1768 2011-05-10  Adam Barth  <abarth@webkit.org>
1769
1770         Build fix for font data madness.  I've had to whitelist this on several
1771         ports.  They need to all be fixed at once.
1772
1773         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1774
1775 2011-05-10  David Kilzer  <ddkilzer@apple.com>
1776
1777         BUILD FIX for !ENABLE(TEXT_CARET) after r86039
1778
1779         * editing/FrameSelection.cpp:
1780         (WebCore::DragCaretController::paintDragCaret): Added
1781         UNUSED_PARAM(frame) for !ENABLE(TEXT_CARET).
1782
1783 2011-05-10  James Robinson  <jamesr@chromium.org>
1784
1785         Reviewed by Kenneth Russell.
1786
1787         [chromium] Clean up setLayerRenderer() calls in LayerRendererChromium
1788         https://bugs.webkit.org/show_bug.cgi?id=60524
1789
1790         This refactors the way LayerRendererChromium calls setLayerRenderer on its layers in a few ways to clean things
1791         up:
1792
1793         *) Move the pre-paint call to setLayerRenderer from updatePropertiesAndRenderSurfaces() to paintLayerContents().
1794             updatePropertiesAndRenderSurfaces() does too much and the layer renderer pointer only has to be up to date to do
1795             the actual paint. Longer term we won't need to call this at all in order to call paint and this call will just
1796             go away.
1797         *) Tweaks updateCompositorResourcesRecursive() to be slightly shorter and less error-prone.
1798         *) Explicitly set the LayerRendererChromium for each layer in the tree when transfering the root layer (used
1799             during lost context).  LayerChromium::setLayerRenderer checks if the new LayerRendererChromium is different
1800             by comparing the pointer value to the old one.  This check will be incorrect if there are multiple lost
1801             contexts between a setLayerRenderer() call and a new LayerRendererChromium happens to be allocated at the
1802             same address as the old one.  An explicit call to setLayerRenderer() for every layer in the tree fixes this
1803             since when this function is called the new and old LayerRendererChromium are still live and so they cannot
1804             live at the same address.
1805
1806         The first two changes are purely refactors and do not change behavior.  The third issue can't be tested via a
1807         layout test directly as we don't have a way to induce a lost context on the compositor in a layout test.
1808
1809         * platform/graphics/chromium/LayerRendererChromium.cpp:
1810         (WebCore::LayerRendererChromium::paintLayerContents):
1811         (WebCore::LayerRendererChromium::clearLayerRendererRecursive):
1812         (WebCore::LayerRendererChromium::transferRootLayer):
1813         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1814         (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
1815         * platform/graphics/chromium/LayerRendererChromium.h:
1816
1817 2011-05-10  Anton D'Auria  <adauria@apple.com>
1818
1819         Reviewed by David Levin.
1820
1821         StorageTracker should report actual local storage usage on disk
1822         https://bugs.webkit.org/show_bug.cgi?id=60558
1823
1824         Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html
1825                storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html
1826
1827         Use SQLiteFileSystem::getDatabaseFileSize to get actual usage by
1828         an origin's local storage db. Factored out code that retrieves
1829         path of local storage db.
1830
1831         * WebCore.exp.in: Sorted alphabetically StorageTracker's mangled
1832         function names.
1833         * storage/StorageTracker.cpp:
1834         (WebCore::StorageTracker::syncDeleteOrigin): Uses helper function
1835         to get path of origin's db
1836         (WebCore::StorageTracker::databasePathForOrigin): New helper function.
1837         that gets the path of an origin's local storage db from StorageTracker.
1838         (WebCore::StorageTracker::diskUsageForOrigin): New API.
1839         * storage/StorageTracker.h:
1840
1841 2011-05-10  Anton D'Auria  <adauria@apple.com>
1842
1843         Reviewed by Alexey Proskuryakov.
1844
1845         Add ApplicationCache API to get disk usage per origin
1846         https://bugs.webkit.org/show_bug.cgi?id=57127
1847
1848         ApplicationCacheStorage already provides an API to get per-origin
1849         disk usage. This should be exposed through WebCore::ApplicationCache
1850         to not be dependent on storage implementation.
1851
1852         Test: http/tests/appcache/origin-usage.html
1853
1854         * WebCore.exp.in:
1855         * loader/appcache/ApplicationCache.cpp:
1856         (WebCore::ApplicationCache::diskUsageForOrigin):
1857         * loader/appcache/ApplicationCache.h:
1858
1859 2011-05-10  Pratik Solanki  <psolanki@apple.com>
1860
1861         Reviewed by Alexey Proskuryakov.
1862
1863         Protect self in [WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]
1864         https://bugs.webkit.org/show_bug.cgi?id=60594
1865         <rdar://problem/9203259>
1866
1867         No tests since we don't have any bots testing CFNETWORK_DATA_ARRAY_CALLBACK.
1868
1869         * platform/network/mac/ResourceHandleMac.mm:
1870         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): The didReceiveData()
1871         callback on client can result in the load being cancelled. This results in the delegate
1872         (self) being freed.  Protect self during the loop so we can check for m_handle and safely
1873         return without crashing.
1874
1875 2011-05-10  Chris Guillory  <chris.guillory@google.com>
1876
1877         Reviewed by James Robinson.
1878
1879         [ChromiumWin] Font::drawComplexText calls EndPlatformPaint without calling BeginPlatformPaint.
1880         https://bugs.webkit.org/show_bug.cgi?id=59848
1881
1882         To test this I plan to make the non-printing device (BitmapPlatformDevice) fail
1883         when EndPlatformPaint doesn't matchup with BeginPlatformPaint.
1884         http://codereview.chromium.org/6949012/ 
1885
1886         * platform/graphics/chromium/FontChromiumWin.cpp:
1887         (WebCore::Font::drawComplexText):
1888
1889 2011-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>
1890
1891         Unreviewed, rolling out r86195.
1892         http://trac.webkit.org/changeset/86195
1893         https://bugs.webkit.org/show_bug.cgi?id=60597
1894
1895         LayerOffset is a really bad name (Requested by smfr on
1896         #webkit).
1897
1898         * GNUmakefile.list.am:
1899         * WebCore.gypi:
1900         * WebCore.pro:
1901         * WebCore.vcproj/WebCore.vcproj:
1902         * WebCore.xcodeproj/project.pbxproj:
1903         * page/FrameView.cpp:
1904         (WebCore::FrameView::paintScrollCorner):
1905         * platform/graphics/LayerOffset.h: Removed.
1906         * rendering/InlineTextBox.cpp:
1907         (WebCore::InlineTextBox::paint):
1908         (WebCore::InlineTextBox::paintCustomHighlight):
1909         * rendering/InlineTextBox.h:
1910         * rendering/RenderBox.cpp:
1911         (WebCore::RenderBox::paintCustomHighlight):
1912         * rendering/RenderBox.h:
1913         * rendering/RenderImage.cpp:
1914         (WebCore::RenderImage::paintReplaced):
1915         * rendering/RenderLayer.cpp:
1916         (WebCore::RenderLayer::paintScrollCorner):
1917         (WebCore::RenderLayer::paintResizer):
1918         * rendering/RenderListMarker.cpp:
1919         (WebCore::RenderListMarker::paint):
1920         * rendering/RenderObject.h:
1921         * rendering/RenderScrollbar.cpp:
1922         (WebCore::RenderScrollbar::paintPart):
1923         * rendering/RenderScrollbarPart.cpp:
1924         (WebCore::RenderScrollbarPart::paintIntoRect):
1925         * rendering/RenderScrollbarPart.h:
1926         * rendering/RenderTable.cpp:
1927         (WebCore::RenderTable::paintObject):
1928         (WebCore::RenderTable::paintMask):
1929         * rendering/RenderTable.h:
1930         * rendering/RenderWidget.cpp:
1931         (WebCore::RenderWidget::paint):
1932         * rendering/RootInlineBox.cpp:
1933         (WebCore::RootInlineBox::paintCustomHighlight):
1934         (WebCore::RootInlineBox::paint):
1935         * rendering/RootInlineBox.h:
1936
1937 2011-05-10  Emil A Eklund  <eae@chromium.org>
1938
1939         Reviewed by Eric Seidel.
1940
1941         Convert x,y and width,height pairs to IntPoint and IntSize for RenderLayer
1942         https://bugs.webkit.org/show_bug.cgi?id=60409
1943
1944         Convert RenderLayer to use IntPoint for x,y pairs and IntSize for offsets and sizes.
1945
1946         Refactoring, covered by existing tests.
1947
1948         * rendering/RenderLayer.cpp:
1949         (WebCore::RenderLayer::RenderLayer):
1950         (WebCore::RenderLayer::updateLayerPositions):
1951         (WebCore::RenderLayer::updateLayerPosition):
1952         (WebCore::RenderLayer::scrollTo):
1953         (WebCore::RenderLayer::visibleHeight):
1954         (WebCore::RenderLayer::visibleWidth):
1955         (WebCore::RenderLayer::scrollWidth):
1956         (WebCore::RenderLayer::scrollHeight):
1957         (WebCore::RenderLayer::computeScrollDimensions):
1958         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1959         * rendering/RenderLayer.h:
1960         (WebCore::RenderLayer::x):
1961         (WebCore::RenderLayer::y):
1962         (WebCore::RenderLayer::setLocation):
1963         (WebCore::RenderLayer::width):
1964         (WebCore::RenderLayer::height):
1965         (WebCore::RenderLayer::size):
1966         (WebCore::RenderLayer::setWidth):
1967         (WebCore::RenderLayer::setHeight):
1968         (WebCore::RenderLayer::scrolledContentOffset):
1969         (WebCore::RenderLayer::scrollXOffset):
1970         (WebCore::RenderLayer::scrollYOffset):
1971         (WebCore::RenderLayer::scrollOffset):
1972         (WebCore::RenderLayer::scrollToXOffset):
1973         (WebCore::RenderLayer::scrollToYOffset):
1974         (WebCore::RenderLayer::relativePositionOffset):
1975
1976 2011-05-10  Levi Weintraub  <leviw@chromium.org>
1977
1978         Reviewed by Eric Seidel.
1979
1980         Create LayerOffset class
1981         https://bugs.webkit.org/show_bug.cgi?id=60490
1982
1983         Adding a LayerOffset class that will replace existing usage of tx/ty.
1984         LayerOffset is necessary since these values are commonly used as both
1985         a size and a point. Updating paintIntoRect to use this new class.
1986
1987         No new tests since this doesn't change any behavior.
1988
1989         * GNUmakefile.list.am:
1990         * WebCore.gypi:
1991         * WebCore.pro:
1992         * WebCore.vcproj/WebCore.vcproj:
1993         * WebCore.xcodeproj/project.pbxproj:
1994         * page/FrameView.cpp:
1995         (WebCore::FrameView::paintScrollCorner):
1996         * platform/graphics/LayerOffset.h: Added.
1997         (WebCore::LayerOffset::LayerOffset):
1998         (WebCore::LayerOffset::x):
1999         (WebCore::LayerOffset::y):
2000         (WebCore::LayerOffset::setX):
2001         (WebCore::LayerOffset::setY):
2002         (WebCore::LayerOffset::toSize):
2003         (WebCore::LayerOffset::toPoint):
2004         (WebCore::operator+=):
2005         (WebCore::operator-=):
2006         (WebCore::operator+):
2007         (WebCore::operator-):
2008         (WebCore::operator==):
2009         (WebCore::operator!=):
2010         * rendering/RenderLayer.cpp:
2011         (WebCore::RenderLayer::paintScrollCorner):
2012         (WebCore::RenderLayer::paintResizer):
2013         * rendering/RenderScrollbar.cpp:
2014         (WebCore::RenderScrollbar::paintPart):
2015         * rendering/RenderScrollbarPart.cpp:
2016         (WebCore::RenderScrollbarPart::paintIntoRect):
2017         * rendering/RenderScrollbarPart.h:
2018
2019 2011-05-10  Ryosuke Niwa  <rniwa@webkit.org>
2020
2021         Reviewed by Darin Adler.
2022
2023         Make member variables of CaretBase private
2024         https://bugs.webkit.org/show_bug.cgi?id=60454
2025
2026         Moved m_absCaretBounds, m_absoluteCaretRepaintBounds, m_absCaretBoundsDirty, and m_caretPaint back
2027         from CaretBase to FrameSelection because they are only used in FrameSelection, and made the rest
2028         of member variables in CaretBase private.
2029
2030         * editing/FrameSelection.cpp:
2031         (WebCore::CaretBase::CaretBase): Takes CaretVisibility as an argument.
2032         (WebCore::DragCaretController::DragCaretController):
2033         (WebCore::FrameSelection::FrameSelection): Initializes m_absCaretBoundsDirty and m_caretPaint
2034         now that they are part of FrameSelection again.
2035         (WebCore::DragCaretController::setCaretPosition):
2036         (WebCore::FrameSelection::setSelection):
2037         (WebCore::CaretBase::clearCaretRect): Extracted from updateCaretRect.
2038         (WebCore::CaretBase::updateCaretRect): No longer clears caret; all call sites (namely setCaretPosition
2039         and localCaretRect) that used to call updateCaretRect now need to call clearCaretRect or updateCaretRect
2040         based on some conditions.
2041         (WebCore::FrameSelection::localCaretRect):
2042         (WebCore::CaretBase::caretRepaintRect):
2043         (WebCore::FrameSelection::recomputeCaretRect):
2044         (WebCore::FrameSelection::paintCaret): Only calls CaretBase::paintCaret if m_caretPaint is true.
2045         (WebCore::CaretBase::paintCaret): Removed an early exit for when m_caretPaint is false since m_caretPaint
2046         has been moved from CaretBase to FrameSelection.
2047         (WebCore::FrameSelection::focusedOrActiveStateChanged):
2048         (WebCore::FrameSelection::updateAppearance):
2049         (WebCore::FrameSelection::setCaretVisibility): Takes CaretVisibility instead of bool.
2050         (WebCore::FrameSelection::caretBlinkTimerFired):
2051         * editing/FrameSelection.h:
2052         (WebCore::CaretBase::fastLocalCaretRect): Added; replaces localCaretRectForPainting.
2053         (WebCore::CaretBase::shouldUpdateCaretRect): Added.
2054         (WebCore::CaretBase::setCaretRectNeedsUpdate): Added.
2055         (WebCore::CaretBase::setCaretVisibility): Added.
2056         (WebCore::CaretBase::caretIsVisible): Added.
2057         (WebCore::FrameSelection::setCaretRectNeedsUpdate): Added.
2058
2059 2011-05-10  James Robinson  <jamesr@chromium.org>
2060
2061         Reviewed by Nate Chapin.
2062
2063         [chromium] Use parent/child terms for compositor tree structures consistently instead of superlayer/sublayer
2064         https://bugs.webkit.org/show_bug.cgi?id=60588
2065
2066         GraphicsLayer uses parent/child terminology for tree structure, as does CCLayerImpl.  LayerChromium was using
2067         superlayer/sublayer terms, inherited from this code's branching from the platform/graphics/win/CACF code.  The
2068         mixed terminology is confusing and parent/child is more common, so this unifies everything to use parent/child.
2069
2070         No new tests, refactor only.
2071
2072         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2073         (WebCore::GraphicsLayerChromium::setChildren):
2074         (WebCore::GraphicsLayerChromium::addChild):
2075         (WebCore::GraphicsLayerChromium::addChildAtIndex):
2076         (WebCore::GraphicsLayerChromium::addChildBelow):
2077         (WebCore::GraphicsLayerChromium::addChildAbove):
2078         (WebCore::GraphicsLayerChromium::replaceChild):
2079         (WebCore::GraphicsLayerChromium::removeFromParent):
2080         (WebCore::GraphicsLayerChromium::setContentsToImage):
2081         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2082         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2083         (WebCore::GraphicsLayerChromium::hostLayerForChildren):
2084         (WebCore::GraphicsLayerChromium::layerForParent):
2085         (WebCore::GraphicsLayerChromium::updateChildList):
2086         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2087         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2088         * platform/graphics/chromium/GraphicsLayerChromium.h:
2089         * platform/graphics/chromium/LayerChromium.cpp:
2090         (WebCore::LayerChromium::LayerChromium):
2091         (WebCore::LayerChromium::~LayerChromium):
2092         (WebCore::LayerChromium::addChild):
2093         (WebCore::LayerChromium::insertChild):
2094         (WebCore::LayerChromium::removeFromParent):
2095         (WebCore::LayerChromium::removeChild):
2096         (WebCore::LayerChromium::replaceChild):
2097         (WebCore::LayerChromium::indexOfChild):
2098         (WebCore::LayerChromium::rootLayer):
2099         (WebCore::LayerChromium::removeAllChildren):
2100         (WebCore::LayerChromium::setChildren):
2101         (WebCore::LayerChromium::parent):
2102         (WebCore::LayerChromium::dumpLayer):
2103         * platform/graphics/chromium/LayerChromium.h:
2104         (WebCore::LayerChromium::children):
2105         (WebCore::LayerChromium::setParent):
2106         (WebCore::LayerChromium::numChildren):
2107         * platform/graphics/chromium/LayerRendererChromium.cpp:
2108         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
2109         (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
2110         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
2111         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2112         (WebCore::CCLayerImpl::parent):
2113         (WebCore::CCLayerImpl::descendantsDrawsContent):
2114         * platform/graphics/chromium/cc/CCLayerImpl.h:
2115
2116 2011-05-10  Levi Weintraub  <leviw@chromium.org>
2117
2118         Reviewed by Darin Adler.
2119
2120         Switch RenderBoxModelObject::paintNinePieceImage to use IntRect instead of four ints
2121         https://bugs.webkit.org/show_bug.cgi?id=60586
2122
2123         Switch paintNinePieceImage to take an IntRect instead of four ints representing an IntRect!
2124
2125         No new tests as this is simply refactoring.
2126
2127         * rendering/InlineFlowBox.cpp:
2128         (WebCore::InlineFlowBox::paintMask):
2129         * rendering/RenderBox.cpp:
2130         (WebCore::RenderBox::paintMaskImages):
2131         * rendering/RenderBoxModelObject.cpp:
2132         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2133         (WebCore::RenderBoxModelObject::paintBorder):
2134         * rendering/RenderBoxModelObject.h:
2135
2136 2011-05-05  Jer Noble  <jer.noble@apple.com>
2137
2138         Reviewed by Maciej Stachowiak.
2139
2140         Removing the full screen element via parent.innerHTML="" does not result in a webkitfullscreenchange event.
2141         https://bugs.webkit.org/show_bug.cgi?id=60278
2142
2143         Handle the removal of a full screen element from within Node::willRemove() instead
2144         of Document::nodeWillBeRemoved().  The new function Document::fullScreenElementWillBeRemoved() will
2145         be called by Node::willRemove() to handle those changes which used to occur in nodeWillBeRemoved().
2146
2147         Test: fullscreen/full-screen-remove-children.html
2148
2149         * dom/Document.cpp:
2150         (WebCore::Document::nodeWillBeRemoved): Removed the code checking for the full screen element.
2151         (WebCore::Document::fullScreenElementWillBeRemoved): Added, moved from nodeWillBeRemoved.
2152         * dom/Document.h:
2153         * dom/Node.cpp:
2154         (WebCore::Node::willRemove): Check to see if this is the current full screen element.
2155
2156 2011-05-10  Beth Dakin  <bdakin@apple.com>
2157
2158         Reviewed by Darin Adler.
2159
2160         https://bugs.webkit.org/show_bug.cgi?id=60582
2161         Crash switching overlay/non-overlay scrollbar preference still possible
2162         -and corresponding-
2163         <rdar://problem/9323983>
2164
2165         This patch prevents any work from being done on pages that are in the page cache 
2166         when the preference is switched.
2167
2168         When the Document is going into or coming out of the page cache, have the 
2169         FrameView inactivate or activate the Page's ScrollAnimators as appropriate.
2170         * dom/Document.cpp:
2171         (WebCore::Document::setInPageCache):
2172
2173         Iterate through the Page's ScrollableAreas setting the active state of the 
2174         ScrollAnimators.
2175         * page/FrameView.cpp:
2176         (WebCore::FrameView::setAnimatorsAreActive):
2177         * page/FrameView.h:
2178
2179         ScrollAnimator has a new bit -- m_isActive. Right now m_isActive is always true 
2180         unless the ScrollAnimator belongs to a ScrollableArea that is in the page cache.
2181         * platform/ScrollAnimator.cpp:
2182         (WebCore::ScrollAnimator::ScrollAnimator):
2183         * platform/ScrollAnimator.h:
2184         (WebCore::ScrollAnimator::setIsActive):
2185         (WebCore::ScrollAnimator::isActive):
2186
2187         ScrollAnimatorMac has a new bit -- m_needsScrollerStyleUpdate. This is set to true 
2188         when a ScrollAnimator is inactive and has received the 
2189         updateScrollerStyleForNewRecommendedScrollerStyle delegate notification. It 
2190         prevents any work from being done for this delegate until the ScrollAnimator 
2191         becomes active again.
2192         * platform/mac/ScrollAnimatorMac.h:
2193         (WebCore::ScrollAnimatorMac::setNeedsScrollerStyleUpdate):
2194         (WebCore::ScrollAnimatorMac::needsScrollerStyleUpdate):
2195
2196         This delegate method has been re-factored into ScrollAnimatorMac:: 
2197         updateScrollerStyle(). This way the meat of the function can be called by both the 
2198         delegate and ScrollAnimatorMac::setIsActive()
2199         * platform/mac/ScrollAnimatorMac.mm:
2200         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2201         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2202
2203         This override of ScrollAnimator::setIsActive() calls the base class, and then calls updateScrollerStyle() if needsScrollerStyleUpdate() is set to true.
2204         (WebCore::ScrollAnimatorMac::setIsActive):
2205
2206         This is mostly the same as the old delegate method. Key differences are that if 
2207         the ScrollAnimator is inactive, we now setNeedsScrollerStyleUpdate(true) and 
2208         return early. We also only call scrollableArea()->scrollbarStyleChanged() if 
2209         needsScrollerStyleUpdate() is false since in the true case when we are restoring 
2210         from the page cache, this would be duplicated work.
2211         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2212
2213         New WKSystemInterface function is needed to retrieve the scrollbar style.
2214         * WebCore.exp.in:
2215         * platform/mac/WebCoreSystemInterface.h:
2216         * platform/mac/WebCoreSystemInterface.mm:
2217
2218 2011-05-10  Adam Barth  <abarth@webkit.org>
2219
2220         Reviewed by David Levin.
2221
2222         Enable strict PassOwnPtr on Chromium
2223         https://bugs.webkit.org/show_bug.cgi?id=60502
2224
2225         Technically there are a few bits in here that weren't reviewed by Dave,
2226         but close enough for government work.  This patch all fixes  the
2227         remaining strict PassOwnPtr violations on Chromium Linux.
2228
2229         * platform/graphics/chromium/PlatformCanvas.cpp:
2230         (WebCore::PlatformCanvas::resize):
2231         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2232         * platform/graphics/skia/ImageBufferSkia.cpp:
2233         (WebCore::ImageBuffer::ImageBuffer):
2234         * platform/graphics/skia/PlatformContextSkia.cpp:
2235         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
2236
2237 2011-05-10  Brady Eidson  <beidson@apple.com>
2238
2239         Reviewed by Alice Liu.
2240
2241         <rdar://problem/9343191> and https://bugs.webkit.org/show_bug.cgi?id=60572
2242         REGRESSION - Canon On-screen Manual.app crashes after a search
2243
2244         No new tests - There's no way to reproduce the truly bizarre things Canon does in their app
2245         that would reasonably fit in to our testing infrastructure.
2246
2247         In r66577 a new behavior was added where changing the "setLoadsImagesAutomatically" setting to "true" would immediately
2248         start loading those images that had been disabled.
2249
2250         If this happens while a WebView is being dealloc'ed, and we don't know the WebView is being dealloc'ed, these new loads
2251         can cause crashes downstream when the WebView memory has actually been free'd.
2252
2253         One example where this can happen is in Mac apps that subclass WebView then do work in their overridden dealloc methods.
2254         And the Canon Onscreen Manual is one such app.
2255
2256         Starting these loads synchronously is not important.  By putting it on a 0-delay, properly closing the Page cancels them
2257         before they have a chance to really start.
2258
2259         See http://webkit.org/b/60572 for more discussion.
2260
2261
2262         Add a timer to Settings and instead of calling setLoadsImagesAutomaticallyInAllFrames right
2263         away when this pref changes, call it on a 0-delay:
2264         * page/Settings.cpp:
2265         (WebCore::Settings::Settings):
2266         (WebCore::Settings::setLoadsImagesAutomatically):
2267         (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
2268         * page/Settings.h:
2269
2270 2011-05-10  Martin Robinson  <mrobinson@igalia.com>
2271
2272         Reviewed by Xan Lopez.
2273
2274         [GTK][WebKit2] GTK+ 2.x widget rendering fails after r85480
2275         https://bugs.webkit.org/show_bug.cgi?id=59990
2276
2277         No new tests. This is covered by existing pixel tests.
2278
2279         * platform/gtk/GtkVersioning.c:
2280         (getGdkDrawableSize): Added this helper method.
2281         * platform/gtk/GtkVersioning.h: Added helper method declaration.
2282         * platform/gtk/WidgetRenderingContext.cpp:
2283         (WebCore::WidgetRenderingContext::WidgetRenderingContext): Call into the helper if
2284         there is actually a GdkDrawable. If not, disable the sanity check.
2285
2286 2011-05-10  Martin Robinson  <mrobinson@igalia.com>
2287
2288         Fix the GTK+ WebKit2 build. Add a CredentialsStorage stub for libsoup.
2289
2290         * GNUmakefile.list.am: Add stub to source list.
2291         * platform/network/soup/CredentialStorageSoup.cpp: Added.
2292         (WebCore::CredentialStorage::getFromPersistentStorage):  Added stub.
2293         (WebCore::CredentialStorage::get):
2294
2295 2011-05-09  David Hyatt  <hyatt@apple.com>
2296
2297         Reviewed by Dan Bernstein.
2298
2299         <rdar://problem/9354979> REGRESSION (r83070-r83126): This conversation takes 10 seconds to load and makes mail unresponsive
2300         
2301         Second attempts at a fix for this bug.  Instead of removing the dirtying (which turned out to be needed in a few cases),
2302         make dirtyLinesFromChangedChild mark a child as needing layout when it has to recur to the parent.  Because the method already
2303         aborts the recursion if selfNeedsLayout() is set on the parent, this has the effect of stopping the O(n^2) pathological
2304         behavior, since you can use the selfNeedsLayout() bit to understand that you've dirtied the lines already.
2305
2306         * rendering/RenderLineBoxList.cpp:
2307         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2308
2309 2011-05-05  Brent Fulgham  <bfulgham@webkit.org> and Martin Robinson  <mrobinson@igalia.com>
2310
2311         Reviewed by Anders Carlsson.
2312
2313         [Cairo][WebKit2] Add an implementation of ShareableBitmap for Cairo
2314         https://bugs.webkit.org/show_bug.cgi?id=60293
2315
2316         No new tests. This is covered by current pixel tests.
2317
2318         * platform/graphics/cairo/CairoUtilities.cpp:
2319         (WebCore::copyCairoImageSurface): Abstract the code from WebCore::ImageBuffer::copyImage
2320         into this helper which creates a deep copy of a Cairo image surface.
2321         * platform/graphics/cairo/CairoUtilities.h: Added declaration.
2322         * platform/graphics/cairo/ImageBufferCairo.cpp:
2323         (WebCore::ImageBuffer::copyImage): Use the new helper.
2324         * platform/graphics/cairo/ImageCairo.cpp: Abstract some of this logic
2325         into the new drawSurfaceToContext method on PlatformContextCairo.
2326         (WebCore::BitmapImage::draw):
2327         * platform/graphics/cairo/PlatformContextCairo.cpp:
2328         (WebCore::drawPatternToCairoContext): Added.
2329         (WebCore::PlatformContextCairo::drawSurfaceToContext): Added.
2330         * platform/graphics/cairo/PlatformContextCairo.h: Added declarations.
2331
2332 2011-05-10  Anders Carlsson  <andersca@apple.com>
2333
2334         Attempt to fix Qt build.
2335
2336         * platform/network/qt/CredentialStorageQt.cpp:
2337         (WebCore::CredentialStorage::get):
2338         Add stub.
2339
2340 2011-05-10  Kenichi Ishibashi  <bashi@chromium.org>
2341
2342         Reviewed by Tony Chang.
2343
2344         REGRESSION(r85013): platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html is failing
2345         https://bugs.webkit.org/show_bug.cgi?id=60079
2346
2347         Set resultingNumPoints = 0 so that harfbuzz uses the design coordinate
2348         value pair.
2349
2350         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2351         (WebCore::getOutlinePoint): Just return HB_Err_Ok with resultingNumPoints = 0.
2352
2353 2011-05-10  Anders Carlsson  <andersca@apple.com>
2354
2355         Reviewed by Sam Weinig.
2356
2357         Extra sign in required to view video on MobileMe Gallery album
2358         https://bugs.webkit.org/show_bug.cgi?id=60560
2359         <rdar://problem/9338693>
2360
2361         Add symbols required by WebKit2.
2362
2363         * WebCore.exp.in:
2364
2365 2011-05-10  Alexander Pavlov  <apavlov@chromium.org>
2366
2367         Reviewed by Pavel Feldman.
2368
2369         Web Inspector: Styles sidebar is not updated upon changes in the Resources panel.
2370         https://bugs.webkit.org/show_bug.cgi?id=60320
2371
2372         * inspector/front-end/ElementsPanel.js:
2373         (WebInspector.ElementsPanel):
2374
2375 2011-05-06  Brett Wilson  <brettw@chromium.org>
2376
2377         Reviewed by Adam Barth.
2378
2379         Use a File object to store the downloaded file reference rather than
2380         just the path. This keeps the file and permissions in scope (using the
2381         already-existing blob system) so the browser won't delete the file
2382         when the load is complete. Instead, the file will be cleaned up when
2383         the request objects are deleted.
2384         https://bugs.webkit.org/show_bug.cgi?id=60281
2385
2386         * platform/network/chromium/ResourceResponse.cpp:
2387         (WebCore::ResourceResponse::doPlatformCopyData):
2388         (WebCore::ResourceResponse::doPlatformAdopt):
2389         * platform/network/chromium/ResourceResponse.h:
2390         (WebCore::ResourceResponse::downloadedFile):
2391         (WebCore::ResourceResponse::setDownloadedFile):
2392
2393 2011-05-10  Eric Carlson  <eric.carlson@apple.com>
2394
2395         Reviewed by Darin Adler.
2396
2397         Files that load quickly sometimes won't play.
2398         https://bugs.webkit.org/show_bug.cgi?id=60556
2399         <rdar://problem/9330567>
2400
2401         No new tests, this failure is very difficult to reproduce on some machines. The fix was
2402         verified manually.
2403
2404         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2405         (WebCore::MediaPlayerPrivateAVFoundation::playabilityKnown): Move the call to updateStates
2406             to dispatchNotification so it is more obvious which state changes call it.
2407         (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Correct logging typo.
2408         (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Move updateStates call to 
2409             dispatchNotification.
2410         (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Ditto.
2411         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Ditto.
2412         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call updateStates after
2413             processing "size changed" notification so we detect all state changes. Consolidate
2414             calls to updateStates here.
2415
2416         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2417         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Name the video layer in
2418             a debug build.
2419
2420 2011-05-10  Abhishek Arya  <inferno@chromium.org>
2421
2422         Reviewed by Simon Fraser.
2423
2424         Add containsFloats call to hasOverhangingFloats.
2425         https://bugs.webkit.org/show_bug.cgi?id=60537
2426
2427         Test: fast/block/float/no-overhanging-float-crash.html
2428
2429         * rendering/RenderBlock.cpp:
2430         (WebCore::RenderBlock::repaintOverhangingFloats):
2431         * rendering/RenderBlock.h:
2432         (WebCore::RenderBlock::hasOverhangingFloats):
2433
2434 2011-05-10  Alexis Menard  <alexis.menard@openbossa.org>
2435
2436         Reviewed by Antonio Gomes.
2437
2438         Warning fix on PluginPackage.cpp.
2439         https://bugs.webkit.org/show_bug.cgi?id=60371
2440
2441         Warning fix on conversion from time_t to unsigned on Linux with GCC 4.6.0.
2442         Let's use a struct rather than an array so we can pass everything to StringHasher.
2443
2444         * plugins/PluginPackage.cpp:
2445         (WebCore::PluginPackage::hash):
2446
2447 2011-05-10  Andreas Kling  <andreas.kling@nokia.com>
2448
2449         Rubber-stamped by Csaba Osztrogonác.
2450
2451         [Qt] Disable HAVE_QRAWFONT until Qt API stabilizes.
2452         https://bugs.webkit.org/show_bug.cgi?id=60551
2453
2454         * WebCore.pro: Disable the line that enables HAVE_QRAWFONT
2455         if the feature is found. Added a comment about why.
2456
2457 2011-05-10  Andrey Kosyakov  <caseq@chromium.org>
2458
2459         Reviewed by Sam Weinig.
2460
2461         Web Inspector: inspector/console/console-shadow-dom-access.html crashes on mac debug
2462         https://bugs.webkit.org/show_bug.cgi?id=60266
2463
2464         * bindings/objc/DOM.mm:
2465         (kitClass): return DOMNode class for shadow root node
2466
2467
2468 2011-05-10  Ben Murdoch  <benm@google.com>
2469
2470         Reviewed by Steve Block.
2471
2472         Fix build in WebCore/xml/XSLTProcessorLibxslt.cpp
2473         https://bugs.webkit.org/show_bug.cgi?id=60478
2474
2475         No new tests), build fix only.
2476
2477         * xml/XSLTProcessorLibxslt.cpp: Add CString.h include.
2478
2479 2011-05-10  Keith Kyzivat  <keith.kyzivat@nokia.com>
2480
2481         Reviewed by Kenneth Rohde Christiansen.
2482
2483         [Qt] QtRawFont support should check based on feature, not version
2484         https://bugs.webkit.org/show_bug.cgi?id=60513
2485
2486         Build fix - no tests added.
2487
2488         * WebCore.pro:
2489
2490 2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
2491
2492         Build fix: include ExceptionCode
2493         https://bugs.webkit.org/show_bug.cgi?id=60538
2494
2495         * bindings/js/JSDOMBinding.cpp:
2496
2497 2011-05-06  Tony Gentilcore  <tonyg@chromium.org>
2498
2499         Reviewed by Darin Adler.
2500
2501         Fix some unnecessary includes in headers
2502         https://bugs.webkit.org/show_bug.cgi?id=60388
2503
2504         These were all found using the include-what-you-use clang plugin.
2505
2506         * css/CSSFontFaceSrcValue.h:
2507         * css/CSSImageGeneratorValue.h:
2508         * css/CSSParser.h:
2509         * css/CSSPrimitiveValueCache.cpp:
2510         * css/CSSPrimitiveValueCache.h:
2511         * css/CSSStyleSelector.cpp:
2512         * css/CSSStyleSelector.h:
2513         * css/RGBColor.cpp:
2514         * css/RGBColor.h:
2515         * dom/EventTarget.h:
2516         * dom/ExceptionBase.cpp:
2517         * dom/ExceptionBase.h:
2518         * dom/MessagePort.cpp:
2519         * dom/Range.cpp:
2520         * dom/Range.h:
2521         * dom/SelectElement.cpp:
2522         * dom/SelectElement.h:
2523         * dom/TextEvent.cpp:
2524         * dom/TextEvent.h:
2525         * dom/Touch.cpp:
2526         * dom/Touch.h:
2527         * dom/TouchEvent.cpp:
2528         * dom/TouchEvent.h:
2529         * dom/XMLDocumentParser.h:
2530         * dom/XMLDocumentParserScope.h:
2531         * editing/AppendNodeCommand.cpp:
2532         * editing/ApplyBlockElementCommand.h:
2533         * editing/DeleteFromTextNodeCommand.cpp:
2534         * editing/EditCommand.h:
2535         * editing/Editor.h:
2536         * editing/FormatBlockCommand.h:
2537         * editing/IndentOutdentCommand.h:
2538         * editing/InsertIntoTextNodeCommand.cpp:
2539         * editing/InsertNodeBeforeCommand.cpp:
2540         * editing/ReplaceSelectionCommand.h:
2541         * editing/SetNodeAttributeCommand.h:
2542         * html/HTMLSelectElement.h:
2543         * html/canvas/CanvasRenderingContext2D.cpp:
2544         * loader/appcache/DOMApplicationCache.cpp:
2545         * page/EventSource.cpp:
2546         * rendering/RenderListBox.cpp:
2547         * rendering/RenderMenuList.cpp:
2548         * rendering/RenderTextControlSingleLine.cpp:
2549         * rendering/svg/RenderSVGInlineText.cpp:
2550         * svg/SVGMatrix.h:
2551         * websockets/WebSocket.cpp:
2552         * workers/AbstractWorker.cpp:
2553         * xml/XMLHttpRequest.cpp:
2554         * xml/XPathExpression.cpp:
2555
2556 2011-05-10  MORITA Hajime  <morrita@google.com>
2557
2558         Reviewed by Ryosuke Niwa.
2559
2560         REGRESSION(r73886): Frequent crashes in replaceSelectionWithFragment
2561         https://bugs.webkit.org/show_bug.cgi?id=60090
2562
2563         SpellChecker uses TextCheckerClient, which belongs Page object,
2564         which is possibly destroyed during SpellChecker's lifetime.
2565         This change added to a guard before using TextCheckerClient to
2566         ensure it being live.
2567         
2568         No new tests, this is a speculative fix for a real crash.
2569
2570         * editing/Editor.cpp:
2571         (WebCore::Editor::Editor):
2572         * editing/SpellChecker.cpp:
2573         (WebCore::SpellChecker::SpellChecker):
2574         (WebCore::SpellChecker::client):
2575         (WebCore::SpellChecker::canCheckAsynchronously):
2576         (WebCore::SpellChecker::requestCheckingFor):
2577         * editing/SpellChecker.h:
2578
2579 2011-05-09  Dan Bernstein  <mitz@apple.com>
2580
2581         Try to fix the LLVM Compiler build.
2582
2583         * page/EventHandler.h:
2584
2585 2011-05-09  Daniel Cheng  <dcheng@chromium.org>
2586
2587         Fix the build.
2588
2589         Really add the file this time.
2590
2591         * page/DragState.h: Added.
2592         (WebCore::DragState::DragState):
2593
2594 2011-05-09  Daniel Cheng  <dcheng@chromium.org>
2595
2596         Reviewed by Tony Chang.
2597
2598         Refactor RenderObject::draggableNode.
2599         https://bugs.webkit.org/show_bug.cgi?id=60503
2600
2601         This patch lays the ground for refactoring the drag start logic. It moves draggableNode to
2602         DragController to avoid the awkward plumbing of calling DragController from RenderObject and
2603         also moves EventHandlerDragState out from EventHandler so it can be shared between
2604         EventHandler and DragController where appropriate.
2605
2606         No new tests since there should be no behavior change.
2607
2608         * GNUmakefile.list.am:
2609         * WebCore.gypi:
2610         * WebCore.pro:
2611         * WebCore.vcproj/WebCore.vcproj:
2612         * WebCore.xcodeproj/project.pbxproj:
2613         * page/DragController.cpp:
2614         (WebCore::DragController::draggableNode):
2615         (WebCore::DragController::mayStartDragAtEventLocation):
2616         * page/DragController.h:
2617         * page/DragState.h: Added.
2618         (WebCore::DragState::DragState):
2619         * page/EventHandler.cpp:
2620         (WebCore::EventHandler::dragState):
2621         (WebCore::EventHandler::eventMayStartDrag):
2622         (WebCore::EventHandler::handleDrag):
2623         * page/EventHandler.h:
2624         * rendering/RenderObject.cpp:
2625         * rendering/RenderObject.h:
2626
2627 2011-05-09  Luke Macpherson   <macpherson@chromium.org>
2628
2629         Reviewed by Darin Adler.
2630
2631         Enable casting between CSSPrimitiveValue and FontWeight enum
2632         https://bugs.webkit.org/show_bug.cgi?id=60516
2633
2634         No new tests added as no functionality changed.
2635
2636         * css/CSSPrimitiveValueMappings.h:
2637         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2638         Implement cast from FontWeight to CSSPrimitiveValue.
2639         (WebCore::CSSPrimitiveValue::operator FontWeight):
2640         Implement cast from CSSPrimitiveValue to FontWeight
2641         * css/CSSStyleSelector.cpp:
2642         (WebCore::CSSStyleSelector::applyProperty):
2643         Use new cast to reduce code size.
2644         Flatten switch inside if.
2645
2646 2011-05-09  Simon Fraser  <simon.fraser@apple.com>
2647
2648         Move IconURL.* into the dom grouping.
2649
2650         * WebCore.xcodeproj/project.pbxproj:
2651
2652 2011-05-08  Jeremy Noble  <jer.noble@apple.com>
2653
2654         Reviewed by Dan Bernstein.
2655
2656         Full-screen video disappears behind black screen with scrollbar, followed by crash at jerryseinfeld.com
2657         https://bugs.webkit.org/show_bug.cgi?id=60449
2658
2659         Make RenderFullScreen a non-anonymous block, so that it does not get deleted when a parent attempts to 
2660         coalesce anonymous children.
2661
2662         Test: fullscreen/full-screen-remove-sibling.html
2663
2664         * rendering/RenderObject.h:
2665         (WebCore::RenderObject::isAnonymousBlock):
2666
2667 2011-05-09  Jeremy Noble  <jer.noble@apple.com>
2668
2669         Reviewed by Simon Fraser.
2670
2671         REGRESSION (r84706): Crazy rendering of vimeo.com after exiting fullscreen video
2672         https://bugs.webkit.org/show_bug.cgi?id=60512
2673
2674         Initialize m_containsFullScreenElement.
2675
2676         * html/HTMLFrameElementBase.cpp:
2677         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
2678
2679 2011-05-09  Ryosuke Niwa  <rniwa@webkit.org>
2680
2681         Reviewed by Darin Adler.
2682
2683         REGRESSION(r86039): DragCaretController doesn't draw caret
2684         https://bugs.webkit.org/show_bug.cgi?id=60505
2685
2686         Removed an early exit in setCaretPosition introduced by r86039.
2687         Also replaced calls to containerNode by deprecatedNode since rendering code doesn't
2688         support container node for rendering caret.
2689
2690         * editing/FrameSelection.cpp:
2691         (WebCore::DragCaretController::setCaretPosition):
2692
2693 2011-04-29  Martin Robinson  <mrobinson@igalia.com>
2694
2695         Reviewed by Gustavo Noronha Silva.
2696
2697         [GTK] Untangle GtkAdjustments from WebCore
2698         https://bugs.webkit.org/show_bug.cgi?id=59821
2699
2700         Completely remove the ability for WebKit to set GtkAdjustments on ScrollViews
2701         and, consequently, Scrollbars. Handling adjustment updates can now be managed
2702         in WebKit.
2703
2704         No new tests. This is covered by existing Scrollbar tests.
2705
2706         * platform/ScrollView.cpp: platformInit and platformDestroy can now be shared
2707         between ScrollView.cpp and ScrollViewGtk.cpp.
2708         * platform/ScrollView.h: Remove unused methods.
2709         * platform/gtk/MainFrameScrollbarGtk.cpp:
2710         (MainFrameScrollbarGtk::create): No longer need to pass in the adjustment.
2711         (MainFrameScrollbarGtk::MainFrameScrollbarGtk): Update the comments here.
2712         * platform/gtk/MainFrameScrollbarGtk.h: Lots of code removal.
2713         * platform/gtk/ScrollViewGtk.cpp: Ditto.
2714         (WebCore::ScrollView::createScrollbar): Ditto.
2715         (WebCore::ScrollView::setScrollbarModes): Ditto.
2716         * plugins/gtk/PluginViewGtk.cpp: This file needs the GRefPtrGtk.h include now
2717         that it doesn't receive it transitively.
2718
2719 2011-05-09  Adam Barth  <abarth@webkit.org>
2720
2721         Reviewed by Eric Seidel.
2722
2723         CSP should block Function constructor
2724         https://bugs.webkit.org/show_bug.cgi?id=60240
2725
2726         Tests: http/tests/security/contentSecurityPolicy/function-constructor-allowed.html
2727                http/tests/security/contentSecurityPolicy/function-constructor-blocked.html
2728
2729         * bindings/js/JSLazyEventListener.cpp:
2730         (WebCore::JSLazyEventListener::initializeJSFunction):
2731             - Update call site to the new entrypoint.
2732         * bindings/v8/V8LazyEventListener.cpp:
2733         (WebCore::V8LazyEventListener::prepareListenerObject):
2734             - Add some comments about the rediculousness of this implementation.
2735
2736 2011-05-09  Chris Rogers  <crogers@google.com>
2737
2738         Reviewed by Kenneth Russell.
2739
2740         Add RAII-style DenormalDisabler class to disable denormals which hurt audio performance
2741         https://bugs.webkit.org/show_bug.cgi?id=60396
2742
2743         No new tests since audio API is not yet implemented.
2744
2745         * WebCore.gypi:
2746         * WebCore.xcodeproj/project.pbxproj:
2747         * platform/audio/DenormalDisabler.h: Added.
2748         (WebCore::DenormalDisabler::DenormalDisabler):
2749         (WebCore::DenormalDisabler::~DenormalDisabler):
2750         (WebCore::DenormalDisabler::getCSR):
2751         (WebCore::DenormalDisabler::setCSR):
2752         * webaudio/AudioDestinationNode.cpp:
2753         (WebCore::AudioDestinationNode::provideInput):
2754
2755 2011-05-09  Tony Chang  <tony@chromium.org>
2756
2757         Reviewed by Eric Seidel.
2758
2759         Style cleanups in RenderFlexibleBox.cpp
2760         https://bugs.webkit.org/show_bug.cgi?id=60504
2761
2762         No new tests, just refactoring.
2763
2764         * rendering/RenderFlexibleBox.cpp:
2765         (WebCore::FlexBoxIterator::FlexBoxIterator): Use m_ for member variables, and
2766             use class initializer list.
2767         (WebCore::FlexBoxIterator::reset):
2768         (WebCore::FlexBoxIterator::next):
2769         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
2770         (WebCore::marginWidthForChild): Pull out common code used in calc*PrefWidths
2771         (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
2772         (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
2773         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
2774         (WebCore::RenderFlexibleBox::layoutBlock):
2775         (WebCore::gatherFlexChildrenInfo): Rewrite uses of FlexBoxIterator into for statements
2776             rather than while loops.
2777         (WebCore::RenderFlexibleBox::layoutHorizontalBox): ditto
2778         (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto
2779         (WebCore::RenderFlexibleBox::applyLineClamp):
2780         (WebCore::RenderFlexibleBox::allowedChildFlex): Rename variables w/h to width/height.
2781
2782 2011-05-09  Eric Seidel  <eric@webkit.org>
2783
2784         Reviewed by Ryosuke Niwa.
2785
2786         Abstract line deletion code into a function
2787         https://bugs.webkit.org/show_bug.cgi?id=60501
2788
2789         No change in behavior, thus no testing.
2790
2791         * rendering/RenderBlockLineLayout.cpp:
2792         (WebCore::deleteLineRange):
2793         (WebCore::RenderBlock::layoutRunsAndFloats):
2794         (WebCore::RenderBlock::determineStartPosition):
2795         (WebCore::RenderBlock::matchedEndLine):
2796
2797 2011-05-09  Darin Adler  <darin@apple.com>
2798
2799         Cleared some stray executable bits on source files.
2800
2801         * bindings/js/WorkerScriptDebugServer.cpp: Removed property svn:executable.
2802         * bindings/js/WorkerScriptDebugServer.h: Removed property svn:executable.
2803
2804 2011-05-09  Erik Arvidsson  <arv@chromium.org>
2805
2806         Reviewed by Darin Adler.
2807
2808         radiogroup: onchange not detected when triggered by keyboard
2809         https://bugs.webkit.org/show_bug.cgi?id=32013
2810
2811         Test: fast/forms/radio-group-keyboard-change-event.html
2812
2813         * html/RadioInputType.cpp:
2814         (WebCore::RadioInputType::handleKeydownEvent): Ensure that we do not check the radio input before we simulate the click
2815             event. The simulated click event will check it for us but more importantly it will fire the "change" event as
2816             expected.
2817
2818 2011-05-09  Adam Barth  <abarth@webkit.org>
2819
2820         Reviewed by Daniel Bates.
2821
2822         XSSAuditor should be more selective about the <meta http-equivs> that it blocks
2823         https://bugs.webkit.org/show_bug.cgi?id=60489
2824
2825         We don't need to filter most http-equiv attributes.  This patch
2826         introduces a blacklist for two that we probably do want to filter.
2827         It's possible a whitelist would be more appropriate, but I'm inclined
2828         to start with a blacklist and see how it works.
2829
2830         This patch will hopefully fix a false positive that is causing errors
2831         with copy-and-pasted text in Gmail in some configurations (due to using
2832         the <meta> tag to request UTF-8 encoding both in the pasted text and in
2833         the page itself).
2834
2835         * html/parser/XSSFilter.cpp:
2836         (WebCore::isNonCanonicalCharacter):
2837         (WebCore::canonicalize):
2838         (WebCore::isRequiredForInjection):
2839         (WebCore::hasName):
2840         (WebCore::findAttributeWithName):
2841         (WebCore::isNameOfInlineEventHandler):
2842         (WebCore::isDangerousHTTPEquiv):
2843             - This function is new in the patch and includes a blacklist of
2844               dangerous http-equivs.  Many of the other functions listed here
2845               are just being moved from an anonymous namespace to use static
2846               for internal linkage.
2847         (WebCore::containsJavaScriptURL):
2848         (WebCore::decodeURL):
2849         (WebCore::XSSFilter::eraseAttributeIfInjected):
2850
2851 2011-05-05  Matthew Delaney  <mdelaney@apple.com>
2852
2853         Reviewed by Simon Fraser.
2854
2855         Remove canvas usage of roundToDevicePixels
2856         https://bugs.webkit.org/show_bug.cgi?id=60331
2857
2858         No new tests. This could only affect canvases at non-integral scale factors. Our tests only run in 1.0x.
2859
2860         * html/canvas/CanvasRenderingContext2D.cpp:
2861         (WebCore::CanvasRenderingContext2D::drawImage):
2862
2863 2011-05-09  Alexis Menard  <alexis.menard@openbossa.org>
2864
2865         Reviewed by Andreas Kling.
2866
2867         [Qt] Fix the build on Embedded Linux.
2868         https://bugs.webkit.org/show_bug.cgi?id=60347        
2869
2870         qpa is the name for lighthouse but the old name for Qt for Embedded Linux should
2871         still be used in order to build properly.
2872
2873         * WebCore.pri:
2874
2875 2011-05-09  Andreas Kling  <kling@webkit.org>
2876
2877         Reviewed by Kenneth Rohde Christiansen.
2878
2879         [Qt] Simple small-caps text is displayed in uniform size.
2880         https://bugs.webkit.org/show_bug.cgi?id=60492
2881
2882         Covered by existing tests.
2883
2884         * platform/graphics/qt/FontPlatformDataQt.cpp:
2885         (WebCore::FontPlatformData::FontPlatformData): In the FontPlatformData constructor
2886         used by SimpleFontData::scaledFontData(), pass the pixel size to both QFont and QRawFont
2887         to make small caps and emphasis marks have the correct size when rendered through
2888         the fast font path.
2889
2890 2011-05-09  Andreas Kling  <kling@webkit.org>
2891
2892         Reviewed by Tor Arne Vestbø.
2893
2894         [Qt] Remove unused FontPlatformData functions.
2895         https://bugs.webkit.org/show_bug.cgi?id=60485
2896
2897         * platform/graphics/qt/FontPlatformData.h:
2898         (WebCore::FontPlatformData::bold): Removed.
2899         (WebCore::FontPlatformData::family): Removed.
2900         (WebCore::FontPlatformData::italic): Removed.
2901         (WebCore::FontPlatformData::smallCaps): Removed.
2902
2903 2011-05-09  Robin Dunn  <robin@alldunn.com>
2904
2905         Reviewed by Kevin Ollivier.
2906
2907         [wx] Add invalid file handle check.
2908         
2909         https://bugs.webkit.org/show_bug.cgi?id=60483
2910
2911         * platform/wx/FileSystemWx.cpp:
2912         (WebCore::closeFile):
2913
2914 2011-05-09  Robin Dunn  <robin@alldunn.com>
2915
2916         Reviewed by Kevin Ollivier.
2917
2918         [wx] Update the popup menu code to grab the native control and initialize the
2919         event handler properly.
2920         
2921         https://bugs.webkit.org/show_bug.cgi?id=60482
2922
2923         * platform/wx/PopupMenuWx.cpp:
2924         (WebCore::PopupMenuWx::PopupMenuWx):
2925         (WebCore::PopupMenuWx::~PopupMenuWx):
2926         (WebCore::PopupMenuWx::show):
2927
2928 2011-05-09  Robin Dunn  <robin@alldunn.com>
2929
2930         Reviewed by Kevin Ollivier.
2931
2932         [wx] Make sure other controls adjust the rect to handle transforms, and turn off the
2933         adjustment in 2.9.2+ where it is handled internally by wx.
2934         
2935         Also add a couple drawing and focus handling fixes for text fields and menulist controls.
2936         
2937         https://bugs.webkit.org/show_bug.cgi?id=60481
2938
2939         * platform/wx/RenderThemeWx.cpp:
2940         (WebCore::getAdjustedRect):
2941         (WebCore::RenderThemeWx::supportsFocus):
2942         (WebCore::RenderThemeWx::paintButton):
2943         (WebCore::RenderThemeWx::adjustTextFieldStyle):
2944         (WebCore::RenderThemeWx::paintTextField):
2945         (WebCore::RenderThemeWx::adjustMenuListStyle):
2946         (WebCore::RenderThemeWx::paintMenuList):
2947         (WebCore::RenderThemeWx::paintMenuListButton):
2948
2949 2011-05-09  Tony Gentilcore  <tonyg@chromium.org>
2950
2951         Reviewed by Darin Adler.
2952
2953         Style fix: Function names must begin with lowercase letter and should not use "get".
2954         https://bugs.webkit.org/show_bug.cgi?id=60475
2955
2956         * dom/Document.cpp:
2957         (WebCore::Document::webkitVisibilityState):
2958         * page/PageVisibilityState.cpp:
2959         (WebCore::pageVisibilityStateString): Renamed.
2960         * page/PageVisibilityState.h:
2961
2962 2011-05-09  Adam Barth  <abarth@webkit.org>
2963
2964         Reviewed by Tony Gentilcore.
2965
2966         Make Chromium build with strict PassOwnPtr
2967         https://bugs.webkit.org/show_bug.cgi?id=60461
2968
2969         Fix many, many PassOwnPtr nits.
2970
2971         * bindings/v8/V8Proxy.cpp:
2972         (WebCore::V8Proxy::precompileScript):
2973         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2974         (WebCore::WindowSetTimeoutImpl):
2975         * bindings/v8/custom/V8MessageEventCustom.cpp:
2976         (WebCore::V8MessageEvent::initMessageEventCallback):
2977         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2978         (WebCore::SetTimeoutOrInterval):
2979         * dom/Document.cpp:
2980         (WebCore::Document::removedLastRef):
2981         (WebCore::Document::detach):
2982         * fileapi/DOMFileSystem.h:
2983         (WebCore::DOMFileSystem::scheduleCallback):
2984         * fileapi/FileSystemCallbacks.cpp:
2985         (WebCore::FileSystemCallbacks::didOpenFileSystem):
2986         (WebCore::ResolveURICallbacks::didOpenFileSystem):
2987         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2988         (WebCore::GraphicsLayer::create):
2989         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2990         (WebCore::CCLayerImpl::createRenderSurface):
2991         * platform/graphics/gpu/BicubicShader.cpp:
2992         (WebCore::BicubicShader::create):
2993         * platform/graphics/gpu/ConvolutionShader.cpp:
2994         (WebCore::ConvolutionShader::create):
2995         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
2996         (WebCore::LoopBlinnSolidFillShader::create):
2997         * platform/graphics/gpu/SolidFillShader.cpp:
2998         (WebCore::SolidFillShader::create):
2999         * platform/graphics/gpu/TexShader.cpp:
3000         (WebCore::TexShader::create):
3001         * platform/graphics/gpu/Texture.cpp:
3002         (WebCore::Texture::create):
3003         * storage/chromium/DatabaseTrackerChromium.cpp:
3004         (WebCore::TrackerRemoveOpenDatabaseTask::create):
3005         * storage/chromium/SQLTransactionClientChromium.cpp:
3006         (WebCore::NotifyDatabaseChangedTask::create):
3007
3008 2011-05-07  Martin Robinson  <mrobinson@igalia.com>
3009
3010         Reviewed by Daniel Bates.
3011
3012         [Soup] Clean up error handling in ResourceHandleSoup
3013         https://bugs.webkit.org/show_bug.cgi?id=60436
3014
3015         Instead of repeating the ResourceError creation twice, abstract
3016         it into a helper method.
3017
3018         No new tests. This is a code cleanup.
3019
3020         * platform/network/soup/ResourceHandleSoup.cpp:
3021         (WebCore::soupErrorShouldCauseLoadFailure): Added.
3022         (WebCore::convertSoupErrorToResourceError): Added.
3023         (WebCore::sendRequestCallback): Use the new helpers.
3024         (WebCore::readCallback): Ditto.
3025
3026 2011-05-09  Abhishek Arya  <inferno@chromium.org>
3027
3028         Reviewed by Dave Hyatt.
3029
3030         Regression(r85869): Restore dirty line logic in RenderInline::destroy.
3031         https://bugs.webkit.org/show_bug.cgi?id=60448
3032
3033         Test: fast/inline/inline-destroy-dirty-lines-crash.html
3034
3035         * rendering/RenderInline.cpp:
3036         (WebCore::RenderInline::destroy):
3037
3038 2011-05-09  Alejandro G. Castro  <alex@igalia.com>
3039
3040         Reviewed by Martin Robinson.
3041
3042         [GTK] WidgetGtk setFocus can not access directly the widget in WK2
3043         https://bugs.webkit.org/show_bug.cgi?id=60016
3044
3045         Added code to check the situation where we do not have direct
3046         access to the widget. We use the page to grab the focus which
3047         would send a request to the UIProcess in WK2.
3048
3049         * platform/gtk/WidgetGtk.cpp:
3050         (WebCore::Widget::setFocus):
3051
3052 2011-05-09  Leandro Gracia Gil  <leandrogracia@chromium.org>
3053
3054         Reviewed by Tony Gentilcore.
3055
3056         Media Stream API: add exception raising to the getUserMedia method.
3057         https://bugs.webkit.org/show_bug.cgi?id=60387
3058
3059         Perform the required changes to support rising exceptions in the
3060         navigator.getUserMedia method. This is required by the latest changes in the spec:
3061         http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dom-navigator-getusermedia
3062
3063         Test: fast/dom/MediaStream/argument-types.html
3064
3065         * bindings/js/JSNavigatorCustom.cpp:
3066         (WebCore::JSNavigator::webkitGetUserMedia):
3067         * bindings/v8/custom/V8NavigatorCustom.cpp:
3068         (WebCore::V8Navigator::webkitGetUserMediaCallback):
3069         * page/Navigator.cpp:
3070         (WebCore::Navigator::webkitGetUserMedia):
3071         * page/Navigator.h:
3072         * page/Navigator.idl:
3073
3074 2011-05-09  Csaba Osztrogonác  <ossy@webkit.org>
3075
3076         Unreviewed Qt 4.8 fix.
3077
3078         * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now.
3079
3080 2011-05-09  Adam Roben  <aroben@apple.com>
3081
3082         Windows project file fix after r86047
3083
3084         * WebCore.vcproj/WebCore.vcproj: Added missing closing tags.
3085
3086 2011-05-06  Chris Marrin  <cmarrin@apple.com>
3087
3088         Reviewed by Darin Adler.
3089
3090         Fix layer names to say "tiled" and show CALayer addresses, not PlatformCALayer addresses
3091         https://bugs.webkit.org/show_bug.cgi?id=60417
3092
3093         Layer name now has "Tiled" prepended if it is a TiledLayer. This is true on Mac where
3094         the layer is a CATiledLayer and on Win where the layer is actually still a CACFLayer
3095         but implements a tiled layer. I also now print the address of the CALayer or CACFLayer
3096         instead of the PlatformCALayer everywhere.
3097
3098         * platform/graphics/ca/GraphicsLayerCA.cpp:
3099         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3100
3101 2011-05-09  Rob Buis  <rbuis@rim.com>
3102
3103         Reviewed by Dirk Schulze.
3104
3105         Elements should assert that the QualifiedName given to their constructor corresponds to the Element constructed
3106         https://bugs.webkit.org/show_bug.cgi?id=22576
3107
3108         Add tag name ASSERTs in SVG Element constructors.
3109
3110         No new tests, since no change in behaviour.
3111
3112         * svg/SVGAElement.cpp:
3113         (WebCore::SVGAElement::SVGAElement):
3114         * svg/SVGAltGlyphElement.cpp:
3115         (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
3116         * svg/SVGAnimateColorElement.cpp:
3117         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
3118         * svg/SVGAnimateElement.cpp:
3119         (WebCore::SVGAnimateElement::SVGAnimateElement):
3120         * svg/SVGAnimateMotionElement.cpp:
3121         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
3122         * svg/SVGAnimateTransformElement.cpp:
3123         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
3124         * svg/SVGCircleElement.cpp:
3125         (WebCore::SVGCircleElement::SVGCircleElement):
3126         * svg/SVGClipPathElement.cpp:
3127         (WebCore::SVGClipPathElement::SVGClipPathElement):
3128         * svg/SVGCursorElement.cpp:
3129         (WebCore::SVGCursorElement::SVGCursorElement):
3130         * svg/SVGDefsElement.cpp:
3131         (WebCore::SVGDefsElement::SVGDefsElement):
3132         * svg/SVGDescElement.cpp:
3133         (WebCore::SVGDescElement::SVGDescElement):
3134         * svg/SVGEllipseElement.cpp:
3135         (WebCore::SVGEllipseElement::SVGEllipseElement):
3136         * svg/SVGFEBlendElement.cpp:
3137         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
3138         * svg/SVGFEColorMatrixElement.cpp:
3139         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3140         * svg/SVGFEComponentTransferElement.cpp:
3141         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
3142         * svg/SVGFECompositeElement.cpp:
3143         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
3144         * svg/SVGFEConvolveMatrixElement.cpp:
3145         (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
3146         * svg/SVGFEDiffuseLightingElement.cpp:
3147         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
3148         * svg/SVGFEDisplacementMapElement.cpp:
3149         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
3150         * svg/SVGFEDistantLightElement.cpp:
3151         (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
3152         * svg/SVGFEDropShadowElement.cpp:
3153         (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
3154         * svg/SVGFEFloodElement.cpp:
3155         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
3156         * svg/SVGFEFuncAElement.cpp:
3157         (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
3158         * svg/SVGFEFuncBElement.cpp:
3159         (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
3160         * svg/SVGFEFuncGElement.cpp:
3161         (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
3162         * svg/SVGFEFuncRElement.cpp:
3163         (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
3164         * svg/SVGFEGaussianBlurElement.cpp:
3165         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
3166         * svg/SVGFEImageElement.cpp:
3167         (WebCore::SVGFEImageElement::SVGFEImageElement):
3168         * svg/SVGFEMergeElement.cpp:
3169         (WebCore::SVGFEMergeElement::SVGFEMergeElement):
3170         * svg/SVGFEMergeNodeElement.cpp:
3171         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
3172         * svg/SVGFEMorphologyElement.cpp:
3173         (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
3174         * svg/SVGFEOffsetElement.cpp:
3175         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
3176         * svg/SVGFEPointLightElement.cpp:
3177         (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
3178         * svg/SVGFESpecularLightingElement.cpp:
3179         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
3180         * svg/SVGFESpotLightElement.cpp:
3181         (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
3182         * svg/SVGFETileElement.cpp:
3183         (WebCore::SVGFETileElement::SVGFETileElement):
3184         * svg/SVGFETurbulenceElement.cpp:
3185         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
3186         * svg/SVGFilterElement.cpp:
3187         (WebCore::SVGFilterElement::SVGFilterElement):
3188         * svg/SVGFontElement.cpp:
3189         (WebCore::SVGFontElement::SVGFontElement):
3190         * svg/SVGFontFaceElement.cpp:
3191         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3192         * svg/SVGFontFaceFormatElement.cpp:
3193         (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
3194         * svg/SVGFontFaceNameElement.cpp:
3195         (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
3196         * svg/SVGFontFaceSrcElement.cpp:
3197         (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
3198         * svg/SVGFontFaceUriElement.cpp:
3199         (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
3200         * svg/SVGForeignObjectElement.cpp:
3201         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3202         * svg/SVGGElement.cpp:
3203         (WebCore::SVGGElement::SVGGElement):
3204         * svg/SVGGlyphElement.cpp:
3205         (WebCore::SVGGlyphElement::SVGGlyphElement):
3206         * svg/SVGHKernElement.cpp:
3207         (WebCore::SVGHKernElement::SVGHKernElement):
3208         * svg/SVGImageElement.cpp:
3209         (WebCore::SVGImageElement::SVGImageElement):
3210         * svg/SVGLineElement.cpp:
3211         (WebCore::SVGLineElement::SVGLineElement):
3212         * svg/SVGLinearGradientElement.cpp:
3213         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
3214         * svg/SVGMPathElement.cpp:
3215         (WebCore::SVGMPathElement::SVGMPathElement):
3216         * svg/SVGMarkerElement.cpp:
3217         (WebCore::SVGMarkerElement::SVGMarkerElement):
3218         * svg/SVGMaskElement.cpp:
3219         (WebCore::SVGMaskElement::SVGMaskElement):
3220         * svg/SVGMetadataElement.cpp:
3221         (WebCore::SVGMetadataElement::SVGMetadataElement):
3222         * svg/SVGMissingGlyphElement.cpp:
3223         (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
3224         * svg/SVGPathElement.cpp:
3225         (WebCore::SVGPathElement::SVGPathElement):
3226         * svg/SVGPatternElement.cpp:
3227         (WebCore::SVGPatternElement::SVGPatternElement):
3228         * svg/SVGPolygonElement.cpp:
3229         (WebCore::SVGPolygonElement::SVGPolygonElement):
3230         * svg/SVGPolylineElement.cpp:
3231         (WebCore::SVGPolylineElement::SVGPolylineElement):
3232         * svg/SVGRadialGradientElement.cpp:
3233         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3234         * svg/SVGRectElement.cpp:
3235         (WebCore::SVGRectElement::SVGRectElement):
3236         * svg/SVGSVGElement.cpp:
3237         (WebCore::SVGSVGElement::SVGSVGElement):
3238         * svg/SVGScriptElement.cpp:
3239         (WebCore::SVGScriptElement::SVGScriptElement):
3240         * svg/SVGSetElement.cpp:
3241         (WebCore::SVGSetElement::SVGSetElement):
3242         * svg/SVGStopElement.cpp:
3243         (WebCore::SVGStopElement::SVGStopElement):
3244         * svg/SVGStyleElement.cpp:
3245         (WebCore::SVGStyleElement::SVGStyleElement):
3246         * svg/SVGSwitchElement.cpp:
3247         (WebCore::SVGSwitchElement::SVGSwitchElement):
3248         * svg/SVGSymbolElement.cpp:
3249         (WebCore::SVGSymbolElement::SVGSymbolElement):
3250         * svg/SVGTRefElement.cpp:
3251         (WebCore::SVGTRefElement::SVGTRefElement):
3252         * svg/SVGTSpanElement.cpp:
3253         (WebCore::SVGTSpanElement::SVGTSpanElement):
3254         * svg/SVGTextElement.cpp:
3255         (WebCore::SVGTextElement::SVGTextElement):
3256         * svg/SVGTextPathElement.cpp:
3257         (WebCore::SVGTextPathElement::SVGTextPathElement):
3258         * svg/SVGTitleElement.cpp:
3259         (WebCore::SVGTitleElement::SVGTitleElement):
3260         * svg/SVGUseElement.cpp:
3261         (WebCore::SVGUseElement::SVGUseElement):
3262         * svg/SVGVKernElement.cpp:
3263         (WebCore::SVGVKernElement::SVGVKernElement):
3264         * svg/SVGViewElement.cpp:
3265         (WebCore::SVGViewElement::SVGViewElement):
3266
3267 2011-05-09  Shishir Agrawal  <shishir@chromium.org>
3268
3269         Reviewed by Tony Gentilcore.
3270
3271         Implement Page Visibility API.
3272         https://bugs.webkit.org/show_bug.cgi?id=54181
3273
3274         Tests: fast/events/page-visibility-iframe-delete-test.html
3275                fast/events/page-visibility-iframe-move-test.html
3276                fast/events/page-visibility-iframe-propagation-test.html
3277                fast/events/page-visibility-transition-test.html
3278
3279         * CMakeLists.txt:
3280         * GNUmakefile.list.am:
3281         * WebCore.gypi:
3282         * WebCore.pro:
3283         * WebCore.vcproj/WebCore.vcproj:
3284         * WebCore.xcodeproj/project.pbxproj:
3285         * dom/Document.cpp:
3286         (WebCore::Document::visibilityState):
3287         (WebCore::Document::webkitVisibilityState):
3288         (WebCore::Document::webkitIsVisible):
3289         (WebCore::Document::dispatchVisibilityStateChangeEvent):
3290         * dom/Document.h:
3291         * dom/Document.idl:
3292         * dom/EventNames.h:
3293         * page/Frame.cpp:
3294         (WebCore::Frame::dispatchVisibilityStateChangeEvent):
3295         * page/Frame.h:
3296         * page/Page.cpp:
3297         (WebCore::Page::Page):
3298         (WebCore::Page::setVisibilityState):
3299         (WebCore::Page::visibilityState):
3300         * page/Page.h:
3301         * page/PageVisibilityState.cpp: Added.
3302         (WebCore::GetPageVisibilityStateString):
3303         * page/PageVisibilityState.h: Added.
3304
3305 2011-05-09  Luke Macpherson   <macpherson@chromium.org>
3306
3307         Reviewed by Eric Seidel.
3308
3309         Implement expanding CSS border properties in CSSStyleApplyProperty.
3310         https://bugs.webkit.org/show_bug.cgi?id=60456
3311
3312         No new tests added as no functionality changed.
3313
3314         * css/CSSStyleApplyProperty.cpp:
3315         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3316         Create CSS border expanding property handlers.
3317         * css/CSSStyleSelector.cpp:
3318         (WebCore::CSSStyleSelector::applyProperty):
3319         Remove property handlers that are no longer needed.
3320
3321 2011-05-08  Ryosuke Niwa  <rniwa@webkit.org>
3322
3323         Reviewed by Kent Tamura.
3324
3325         selectstart event does not fire when selection is made via select all
3326         https://bugs.webkit.org/show_bug.cgi?id=60376
3327
3328         Fire selectstart event when a user selects all contents (i.e. document.execCommand('SelectAll')) in
3329         document, editable region, or text control.
3330
3331         Tests: editing/selection/selectstart-on-selectall.html
3332                editing/selection/selectstart-prevent-selectall.html
3333
3334         * dom/Node.h: Removed canSelectAll and selectAll as they are left over from WMLSelectElement.
3335         * editing/FrameSelection.cpp:
3336         (WebCore::FrameSelection::selectAll): Dispatch selectstart event on selectStartTarget, which is
3337         input element or textarea element when the current selection is inside a shadow DOM, and the root
3338         editable element if it's inside a non-shadow editable region, and the body element otherwise.
3339         * html/HTMLSelectElement.h: Made canSelectAll and selectAll public since they are no longer
3340         declared in Node.
3341
3342 2011-05-08  Luke Macpherson   <macpherson@chromium.org>
3343
3344         Reviewed by Eric Seidel.
3345
3346         Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
3347         https://bugs.webkit.org/show_bug.cgi?id=60249
3348
3349         No new tests added as no functionality changed.
3350
3351         * css/CSSStyleSelector.cpp:
3352         (WebCore::CSSStyleSelector::applyProperty):
3353         Remove special-case code and use appropriate macro.
3354         * rendering/style/RenderStyle.h:
3355         (WebCore::InheritedFlags::setColumnBreakInside):
3356         Assert that supported values are used.
3357
3358 2011-05-08  Ryosuke Niwa  <rniwa@webkit.org>
3359
3360         Reviewed by Darin Adler.
3361
3362         Extract a DragCaretController from FrameSelection
3363         https://bugs.webkit.org/show_bug.cgi?id=60273
3364
3365         Extracted CaretBase and DragCaretController from FrameSelection. CaretBase is a base class for
3366         DragCaretController and FrameSelection and provides functions to paint caret.
3367
3368         Since DragCaretController doesn't need to store selection, it only holds one VisiblePosition.
3369
3370         * WebCore.exp.in:
3371         * editing/FrameSelection.cpp:
3372         (WebCore::CaretBase::CaretBase): Added.
3373         (WebCore::DragCaretController::DragCaretController): Added; Set m_caretVisible true.
3374         (WebCore::DragCaretController::isContentRichlyEditable): Added.
3375         (WebCore::FrameSelection::FrameSelection): Several member variables are move to CaretBase.
3376         (WebCore::DragCaretController::setCaretPosition): Extracted from FrameSelection::setSelection.
3377         (WebCore::FrameSelection::setSelection): Removed an early exit for DragCaretController.
3378         (WebCore::clearRenderViewSelection): Extracted from FrameSelection::respondToNodeModification.
3379         (WebCore::DragCaretController::nodeWillBeRemoved): Extracted from FrameSelection::nodeWillBeRemoved
3380         and respondToNodeModification. Note that the position DragCaretController holds is equivalent to
3381         FrameSelection's base or start so when removingNodeRemovesPosition returns true for m_position,
3382         we used to execute the first if clause and cleared render tree selection and DOM tree selection.
3383         This is exactly what new DragCaretController::nodeWillBeRemoved does.
3384         (WebCore::FrameSelection::nodeWillBeRemoved): Simplified early exist conditions.
3385         (WebCore::FrameSelection::respondToNodeModification): Calls clearRenderViewSelection.
3386         (WebCore::CaretBase::updateCaretRect): Takes document, caretPosition, selection type, and boolean isOrphaned.
3387         Note that we can't obtain the document from caretPosition because VisiblePosition can be null even if
3388         FrameSelection's start was not null.
3389         (WebCore::caretRendersInsideNode): Moved; Made static local.
3390         (WebCore::CaretBase::caretRenderer): Extracted from FrameSelection::caretRenderer.
3391         (WebCore::FrameSelection::caretRenderer): Calls CaretBase::caretRenderer.
3392         (WebCore::DragCaretController::caretRenderer): Ditto.
3393         (WebCore::FrameSelection::localCaretRect): Calls updateCaretRect with extra arguments.
3394         (WebCore::CaretBase::absoluteBoundsForLocalRect): Moved from FrameSelection; Takes Node*.
3395         (WebCore::CaretBase::caretRepaintRect): Ditto.
3396         (WebCore::FrameSelection::recomputeCaretRect): Calls absoluteBoundsForLocalRect, caretRepaintRect,
3397         and shouldRepaintCaret with extra arguments.
3398         (WebCore::CaretBase::shouldRepaintCaret): Takes a boolean isContentEditable.
3399         (WebCore::FrameSelection::invalidateCaretRect): Calls CaretBase::invalidateCaretRect.
3400         (WebCore::CaretBase::invalidateCaretRect): Extracted from FrameSelection::invalidateCaretRect.
3401         (WebCore::FrameSelection::paintCaret): Calls CaretBase::paintCaret.
3402         (WebCore::CaretBase::paintCaret): Extracted from FrameSelection::paintCaret.
3403         (WebCore::FrameSelection::updateAppearance): Removed an assertion that this function is never called for
3404         DragCaretController.
3405         (WebCore::DragCaretController::paintDragCaret): Moved from FrameSelection::paintDragCaret.
3406         * editing/FrameSelection.h:
3407         (WebCore::CaretBase::localCaretRectForPainting): Added.
3408         (WebCore::DragCaretController::isContentEditable): Added.
3409         (WebCore::DragCaretController::hasCaret): Added.
3410         (WebCore::DragCaretController::caretPosition): Added.
3411         (WebCore::DragCaretController::clear): Added.
3412         * page/DragController.cpp:
3413         (WebCore::DragController::tryDocumentDrag): Uses DragCaretController.
3414         (WebCore::DragController::dispatchTextInputEventFor): Ditto.
3415         (WebCore::DragController::concludeEditDrag): Ditto.
3416         (WebCore::DragController::placeDragCaret): Ditto.
3417         * page/Page.cpp:
3418         (WebCore::Page::Page): Instantiates DragCaretController instead of FrameSelection.
3419         * page/Page.h:
3420         (WebCore::Page::dragCaretController): Returns DragCaretController* instead of FrameSelection*.
3421         * rendering/RenderBlock.cpp:
3422         (WebCore::RenderBlock::paintCaret): Uses FrameSelection and DragCaretController.
3423
3424 2011-05-08  Dan Bernstein  <mitz@apple.com>
3425
3426         Reviewed by Darin Adler.
3427
3428         <rdar://problem/9401853> REGRESSION (r78846): Insufficient expansion for justification when there are multiple inline boxes
3429         https://bugs.webkit.org/show_bug.cgi?id=60432
3430
3431         * rendering/InlineTextBox.h:
3432         (WebCore::InlineTextBox::setExpansion): Changed back to take a int, since the m_expansion member
3433         variable is a (truncated) int anyway.
3434         * rendering/RenderBlockLineLayout.cpp:
3435         (WebCore::computeExpansionForJustifiedText): Changed the expansion local variable into an int
3436         so that the right amount is added to the total width. Also changed to use an early return.
3437
3438 2011-05-08  Pavel Feldman  <pfeldman@chromium.org>
3439
3440         Not reviewed: ignore 0 responses in the inspector network instrumentation.
3441
3442         * inspector/front-end/NetworkManager.js:
3443
3444 2011-05-08  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
3445
3446         Reviewed by Kenneth Rohde Christiansen.
3447
3448         [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly
3449         https://bugs.webkit.org/show_bug.cgi?id=58556
3450
3451         Tests: fast/canvas/webgl/gl-teximage.html
3452
3453         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3454         (WebCore::GraphicsContext3D::getImageData):
3455
3456 2011-05-07  Dan Bernstein  <mitz@apple.com>
3457
3458         Reviewed by Maciej Stachowiak.
3459
3460         <rdar://problem/9403055> REGRESSION (r85499): Inline images in iChat overflow their chat bubbles
3461         https://bugs.webkit.org/show_bug.cgi?id=60443
3462
3463         Test: fast/replaced/table-percent-height-positioned.html
3464
3465         * rendering/RenderBox.cpp:
3466         (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Do not apply the logic to prevent precent-height
3467         replaced elements from being squeezed by table cells when the replaced element is positioned (and thus
3468         doesn’t affect the table cell’s height).
3469
3470 2011-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
3471
3472         Unreviewed, rolling out r86016.
3473         http://trac.webkit.org/changeset/86016
3474         https://bugs.webkit.org/show_bug.cgi?id=60445
3475
3476         caused crashes on the WK2 Windows bots (Requested by
3477         jessieberlin on #webkit).
3478
3479         * platform/network/ResourceHandle.h:
3480         * platform/network/cf/CookieStorageCFNet.cpp:
3481         (WebCore::currentCookieStorage):
3482         (WebCore::defaultCookieStorage):
3483         * platform/network/cf/ResourceHandleCFNet.cpp:
3484         (WebCore::willSendRequest):
3485         (WebCore::makeFinalRequest):
3486         (WebCore::ResourceHandle::willSendRe