Paint directly into a GraphicsLayer when using accelerated compositing
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-17  Adam Roben  <aroben@apple.com>
2
3         Remove special-cased support for providing content for the root layer
4
5         Clients will just have to provide content through the normal
6         GraphicsLayer channels now!
7
8         Support for <http://webkit.org/b/52582> WebView should paint directly
9         into a GraphicsLayer when in accelerated compositing mode
10
11         Reviewed by Simon Fraser and Chris Marrin.
12
13         * platform/graphics/win/WKCACFLayerRenderer.cpp:
14         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed
15         initialization of m_backingStoreDirty, which has itself been removed.
16         (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule
17         a sync from here to syncCompositingStateSoon. We only need to call
18         renderSoon if we don't call syncCompositingStateSoon; the latter
19         function calls the former.
20         (WebCore::WKCACFLayerRenderer::paint): Removed code to handle
21         m_backingStoreDirty. We don't want to know anything about clients'
22         backing stores.
23         (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
24         came from setNeedsDisplay.
25
26         * platform/graphics/win/WKCACFLayerRenderer.h:
27         Removed setRootContents[AndDisplay], setBackingStoreDirty, and
28         m_backingStoreDirty. Made paint() public so that clients can force a
29         synchronous render (e.g., when handling WM_PAINT).
30
31 2011-01-17  Adam Roben  <aroben@apple.com>
32
33         Remove contexts from WKCACFContextFlusher before destroying them
34
35         We aren't really using WKCACFContextFlusher for anything useful at the
36         moment, but that will probably change in the near future.
37
38         I couldn't come up with a way to test this because it isn't possible to
39         resize a window in DumpRenderTree.
40
41         Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
42         WKCACFContextFlusher::flushAllContexts when resizing window on page
43         that uses accelerated compositing
44
45         Reviewed by Simon Fraser.
46
47         * platform/graphics/win/WKCACFLayerRenderer.cpp:
48         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our
49         context from WKCACFContextFlusher. (This code was erroneously removed
50         from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more
51         sensible place for it.)
52
53 2011-01-17  Adam Roben  <aroben@apple.com>
54
55         Don't access the CACFLayerRef's sublayers directly from PlatformCALayer
56
57         There might be a secret extra sublayer (the tile parent layer) that
58         PlatformCALayer doesn't know about. When PlatformCALayer would
59         encounter this, it would try to use the tile parent layer's
60         PlatformCALayer wrapper, which was null, and then would crash. We now
61         ask PlatformCALayerWinInternal for the sublayer list, since that class
62         knows about the tile parent layer and can exclude it from the sublayer
63         list.
64
65         Covered by compositing/tiling/huge-layer-resize.html.
66
67         Fixes <http://webkit.org/b/52597> Crash beneath
68         PlatformCALayer::adoptSublayers when switching out of tiling mode
69         (null-dereference of a PlatformCALayer)
70
71         Reviewed by Darin Adler and Chris Marrin.
72
73         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
74         (PlatformCALayer::adoptSublayers):
75         (printLayer):
76         Changed to use PlatformCALayerWinInternal::getSublayers.
77
78         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
79         (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list
80         of PlatformCALayers that represent our sublayers. Significantly, this
81         code knows about the tile parent layer and can thus exclude it.
82
83         * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
84         getSublayers.
85
86 2011-01-17  Naoki Takano  <takano.naoki@gmail.com>
87
88         Reviewed by Kent Tamura.
89
90         [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
91         https://bugs.webkit.org/show_bug.cgi?id=51382
92         http://crbug.com/60427
93
94         Calculate correct location of popup window whenever the items in the window change.
95
96         No new tests, because this fix is for Chromium project and hard to test only in WebKit project
97
98         * platform/chromium/PopupMenuChromium.cpp:
99         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect.
100         (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect().
101         (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location.
102         * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh().
103
104 2011-01-17  Mark Rowe  <mrowe@apple.com>
105
106         Fix the 32-bit build.
107
108         * WebCore.exp.in:
109
110 2011-01-17  Dan Bernstein  <mitz@apple.com>
111
112         Reviewed by Darin Adler.
113
114         Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font
115         https://bugs.webkit.org/show_bug.cgi?id=52598
116
117         Test: fast/css/font-face-zero-hash-key.html
118
119         * css/CSSFontFaceSource.cpp:
120         (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key.
121         * css/CSSSegmentedFontFace.cpp:
122         (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
123
124 2011-01-17  David Kilzer  <ddkilzer@apple.com>
125
126         <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
127
128         Reviewed by Dan Bernstein.
129
130         This fixes two issues:
131
132         Add missing DOMDocumentFragmentPrivate.h and
133         DOMDocumentPrivate.h files to the project.  These files were
134         never added to the the project although their *Internal.h
135         counterparts were added in r16548 and r17390.
136
137         Add missing DOMDocumentFragmentInternal.h to the Headers
138         section.  It was moved from Headers to "Copy Generated Headers"
139         in r31045, but it should have an entry in both sections.
140
141         * WebCore.xcodeproj/project.pbxproj:
142
143 2011-01-17  Helder Correia  <helder@sencha.com>
144
145         Reviewed by Andreas Kling.
146
147         [Qt] Incorrect shadow alpha with pattern fillStyle
148         https://bugs.webkit.org/show_bug.cgi?id=52559
149
150         The shadow color opacity needs to be set on the shadow painter.
151         This is related to bug 52556.
152
153         Test: fast/canvas/canvas-fillPath-pattern-shadow.html
154
155         * platform/graphics/qt/GraphicsContextQt.cpp:
156         (WebCore::GraphicsContext::fillPath):
157
158 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
159
160         Reviewed by Andreas Kling.
161
162         [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
163         https://bugs.webkit.org/show_bug.cgi?id=52586
164
165         No new tests. This is just a merge from upstream.
166
167         * platform/network/soup/cache/soup-http-input-stream.c:
168         (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.
169
170 2011-01-17  Tony Gentilcore  <tonyg@chromium.org>
171
172         Reviewed by Alexey Proskuryakov.
173
174         Fix some headers with missing or misspelled #ifndef guards
175         https://bugs.webkit.org/show_bug.cgi?id=52545
176
177         No new tests because no new functionality.
178
179         * ForwardingHeaders/runtime/InitializeThreading.h:
180         * editing/SmartReplace.h:
181         * loader/CrossOriginAccessControl.h:
182         * loader/NetscapePlugInStreamLoader.h:
183         * platform/chromium/ClipboardUtilitiesChromium.h:
184         * platform/graphics/cairo/DrawErrorUnderline.h:
185         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
186         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
187         * platform/graphics/cg/PDFDocumentImage.h:
188         * platform/win/WebCoreTextRenderer.h:
189
190 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
191
192         Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.
193
194         * inspector/front-end/NetworkPanel.js:
195         (WebInspector.NetworkPanel.prototype.clear):
196         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
197
198 2011-01-17  Sergio Villar Senin  <svillar@igalia.com>
199
200         Reviewed by Martin Robinson.
201
202         [Gtk] No need to content sniff 304 Not Modified responses
203         https://bugs.webkit.org/show_bug.cgi?id=52570
204
205         Makes no sense to wait for the outcome of content sniffing when WebCore
206         is validating resources. If we get a 304 Not Modified it means that we can
207         safely use the cached version of the resource we're asking for.
208
209         No new tests because it does not change functionality, it just
210         calls didReceiveResponse sooner for 304 Not Modified responses.
211
212         * platform/network/soup/ResourceHandleSoup.cpp:
213         (WebCore::gotHeadersCallback):
214
215 2011-01-17  Jessie Berlin  <jberlin@apple.com>
216
217         Reviewed by Anders Carlsson.
218
219         REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when
220         navigating back to an unreachable URL
221         https://bugs.webkit.org/show_bug.cgi?id=52388
222
223         Test: http/tests/navigation/go-back-to-error-page.html
224
225         * history/PageCache.cpp:
226         (WebCore::PageCache::canCachePageContainingThisFrame):
227         Do not cache any error pages (which we can recognize as having substitute data and/or an
228         unreachableURL).
229
230 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
231
232         Not reviewed: fixing typo in r75952.
233
234         * inspector/front-end/NetworkPanel.js:
235         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
236
237 2011-01-17  Enrica Casucci  <enrica@apple.com>
238
239         Reviewed by Alexey Proskuryakov.
240
241         Drag and drop support: refactoring of image from link and image from selection
242         https://bugs.webkit.org/show_bug.cgi?id=52496
243
244         This work cleans up the Mac code and makes it more similar to the Windows implementation,
245         avoiding the use of an NSView when the FrameView can be used.
246         The refactoring is a necessary step towards the complete support of drag and drop
247         in WebKit2.
248         
249         * page/mac/FrameMac.mm:
250         (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
251         to generate the image for drag.
252
253 2011-01-17  Dan Bernstein  <mitz@apple.com>
254
255         Rubber-stamped by Mark Rowe.
256
257         Update xcodeproj svn:ignore to include xcuserdata.
258
259         * WebCore.xcodeproj: Modified property svn:ignore.
260         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
261
262 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
263
264         Leopard build fix.
265
266         * page/PrintContext.cpp: GCC complained about shortening a double value to float.
267
268 2011-01-17  Alexey Proskuryakov  <ap@apple.com>
269
270         Reviewed by Dan Bernstein.
271
272         https://bugs.webkit.org/show_bug.cgi?id=52495
273
274         No change in behavior, so no tests.
275
276         * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.
277
278         * page/PrintContext.cpp:
279         (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
280         destroyed already.
281         (WebCore::PrintContext::pageCount): Changed page count from int to size_t.
282         (WebCore::PrintContext::pageRect): Ditto.
283         (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument.
284         PrintContext already has code to calculate scale factor, so it makes sense to make methods
285         that contain it universal (allowHorizontalTiling is always true for Safari).
286         Round page height to an integer, because Mac code does that, and because page height is
287         treated as integer almost everywhere else in code.
288         (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need
289         to return to screen mode if e.g. "print backgounds" option changes.
290         (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so
291         that clients don't have to copy it.
292         (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request
293         comes from code that doesn't have page number.
294         (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t.
295
296         * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that
297         depends on deciding how it really needs to work (e.g. whether computePageRects() should
298         cause relayout).
299
300 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
301
302         Reviewed by Yury Semikhatsky.
303
304         Web Inspector: unify image data source assignment, add image url
305         to the image view properties list.
306         https://bugs.webkit.org/show_bug.cgi?id=52584
307
308         * English.lproj/localizedStrings.js:
309         * inspector/front-end/ImageView.js:
310         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
311         (WebInspector.ImageView.prototype._createContentIfNeeded):
312         * inspector/front-end/NetworkPanel.js:
313         (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
314         * inspector/front-end/Resource.js:
315         (WebInspector.Resource.prototype.populateImageSource):
316         (WebInspector.Resource.prototype._contentURL):
317         * inspector/front-end/ResourcesPanel.js:
318         (WebInspector.FrameResourceTreeElement.prototype.onattach):
319
320 2011-01-17  Andrey Kosyakov  <caseq@chromium.org>
321
322         Reviewed by Pavel Feldman.
323
324         Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources
325         Make resource start/finish hanlding more consistent.
326         https://bugs.webkit.org/show_bug.cgi?id=52452
327
328         * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator
329         (WebInspector.AuditLauncherView.prototype._resetResourceCount):
330         (WebInspector.AuditLauncherView.prototype.resourceStarted):
331         (WebInspector.AuditLauncherView.prototype.resourceFinished):
332         * inspector/front-end/NetworkManager.js:
333         (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource()
334         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
335         (WebInspector.NetworkManager.prototype.willSendRequest):
336         (WebInspector.NetworkManager.prototype.markResourceAsCached):
337         (WebInspector.NetworkManager.prototype.didReceiveResponse):
338         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
339         (WebInspector.NetworkManager.prototype.didFinishLoading):
340         (WebInspector.NetworkManager.prototype.didFailLoading):
341         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
342         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
343         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
344         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
345         (WebInspector.NetworkManager.prototype.didCloseWebSocket):
346         (WebInspector.NetworkManager.prototype._appendRedirect):
347         (WebInspector.NetworkManager.prototype._startResource):
348         (WebInspector.NetworkManager.prototype._finishResource):
349
350 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
351
352         Reviewed by Yury Semikhatsky.
353
354         Web Inspector: restore dom and network state upon frontend reuse.
355         https://bugs.webkit.org/show_bug.cgi?id=52574
356
357         * inspector/Inspector.idl:
358         * inspector/InspectorController.cpp:
359         (WebCore::InspectorController::restoreInspectorStateFromCookie):
360         (WebCore::InspectorController::populateScriptObjects):
361         (WebCore::InspectorController::pushDataCollectedOffline):
362         (WebCore::InspectorController::didCommitLoad):
363         * inspector/InspectorController.h:
364         * inspector/front-end/NetworkManager.js:
365         (WebInspector.NetworkManager.prototype.reset):
366         * inspector/front-end/NetworkPanel.js:
367         (WebInspector.NetworkPanel.prototype.clear):
368         (WebInspector.NetworkPanel.prototype.mainResourceChanged):
369         * inspector/front-end/ResourceTreeModel.js:
370         (WebInspector.ResourceTreeModel):
371         (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
372         * inspector/front-end/ResourcesPanel.js:
373         (WebInspector.ResourcesPanel.prototype.clear):
374         * inspector/front-end/inspector.js:
375         (WebInspector.frontendReused):
376
377 2011-01-17  Csaba Osztrogonác  <ossy@webkit.org>
378
379         Unreviewed buildfix after r75944.
380
381         * WebCore.pro:
382
383 2011-01-17  Yi Shen  <yi.4.shen@nokia.com>
384
385         Reviewed by Andreas Kling.
386
387         [Qt] Extend the Platform Plugin to support full screen video handler
388         https://bugs.webkit.org/show_bug.cgi?id=51249
389
390         Make MediaPlayerPrivateQt support a fullscreen player.
391
392         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
393         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
394         So, still skip it for Qt.
395
396         * WebCore.pro:
397         * features.pri:
398         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
399         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
400         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
401         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
402         * platform/graphics/qt/MediaPlayerPrivateQt.h:
403         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
404         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
405
406 2011-01-17  Anthony Ricaud  <rik@webkit.org>
407
408         Reviewed by Kent Tamura.
409
410         [HTML5] Revert display:none on datalist
411         https://bugs.webkit.org/show_bug.cgi?id=52214
412
413         * css/html.css:
414
415 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
416
417         Reviewed by Yury Semikhatsky.
418
419         Web Inspector: simplify debugger enabling routine.
420         https://bugs.webkit.org/show_bug.cgi?id=52472
421
422         * inspector/Inspector.idl:
423         * inspector/InspectorController.cpp:
424         (WebCore::InspectorController::restoreDebugger):
425         (WebCore::InspectorController::showAndEnableDebugger):
426         (WebCore::InspectorController::enableDebugger):
427         * inspector/InspectorController.h:
428         * inspector/front-end/DebuggerModel.js:
429         * inspector/front-end/ScriptsPanel.js:
430         (WebInspector.ScriptsPanel.prototype.show):
431         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
432
433 2011-01-17  Pavel Podivilov  <podivilov@chromium.org>
434
435         Reviewed by Pavel Feldman.
436
437         Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
438         https://bugs.webkit.org/show_bug.cgi?id=51738
439
440         Extract content loading logic from SourceView and ScriptView to ContentProvider implementations.
441         Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization.
442
443         * inspector/front-end/ScriptView.js:
444         (WebInspector.ScriptView):
445         (WebInspector.SourceFrameContentProviderForScript):
446         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource):
447         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
448         (WebInspector.SourceFrameContentProviderForScript.prototype.scripts):
449         * inspector/front-end/ScriptsPanel.js:
450         (WebInspector.ScriptsPanel.prototype._addScript):
451         (WebInspector.ScriptsPanel.prototype.sourceFrameForScript):
452         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
453         * inspector/front-end/SourceFrame.js:
454         (WebInspector.SourceFrame):
455         (WebInspector.SourceFrame.prototype.set visible):
456         (WebInspector.SourceFrame.prototype._createTextViewer):
457         (WebInspector.SourceFrame.prototype._breakpointAdded):
458         (WebInspector.SourceFrame.prototype._breakpoints):
459         (WebInspector.SourceFrame.prototype._sourceIDForLine):
460         (WebInspector.SourceFrame.prototype._sourceIDSet):
461         (WebInspector.SourceFrameContentProvider):
462         (WebInspector.SourceFrameContentProvider.prototype.requestContent):
463         (WebInspector.SourceFrameContentProvider.prototype.scripts):
464         * inspector/front-end/SourceView.js:
465         (WebInspector.SourceView):
466         (WebInspector.SourceView.prototype.show):
467         (WebInspector.SourceView.prototype.resize):
468         (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
469         (WebInspector.SourceView.prototype.performSearch):
470         (WebInspector.SourceView.prototype.revealLine):
471         (WebInspector.SourceView.prototype.highlightLine):
472         (WebInspector.SourceView.prototype._jumpToSearchResult):
473         (WebInspector.SourceFrameContentProviderForResource):
474         (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
475         (WebInspector.SourceFrameContentProviderForResource.prototype.scripts):
476
477 2011-01-17  John Knottenbelt  <jknotten@chromium.org>
478
479         Reviewed by Jeremy Orlow.
480
481         GeolocationController should call stopUpdating on destruction
482         https://bugs.webkit.org/show_bug.cgi?id=52216
483
484         Test: fast/dom/Geolocation/window-close-crash.html
485
486         * page/GeolocationController.cpp:
487         (WebCore::GeolocationController::~GeolocationController):
488
489 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
490
491         Not reviewed: Qt build fix.
492
493         * inspector/InspectorInstrumentation.h:
494
495 2011-01-16  Pavel Feldman  <pfeldman@chromium.org>
496
497         Reviewed by Yury Semikhatsky.
498
499         Web Inspector: make WebCore use InspectorInstrumentation
500         for instrumentation calls.
501         https://bugs.webkit.org/show_bug.cgi?id=52532
502
503         This change makes WebCore classes issue instrumentation signals
504         by means of InspectorInstrumentation interface. It covered migration
505         for Document, FrameLoader, Database, DOMStorage, etc. It fixed
506         instrumentation handling for Console as well. This all is a part
507         of story described in the bug 52510.
508
509         * dom/Document.cpp:
510         (WebCore::Document::finishedParsing):
511         * dom/Document.h:
512         * dom/ScriptExecutionContext.h:
513         * inspector/InspectorBrowserDebuggerAgent.cpp:
514         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
515         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
516         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
517         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
518         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
519         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
520         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
521         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
522         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
523         * inspector/InspectorBrowserDebuggerAgent.h:
524         (WebCore::InspectorBrowserDebuggerAgent::create):
525         * inspector/InspectorConsoleAgent.cpp:
526         (WebCore::InspectorConsoleAgent::stopTiming):
527         (WebCore::InspectorConsoleAgent::count):
528         * inspector/InspectorConsoleAgent.h:
529         * inspector/InspectorController.cpp:
530         (WebCore::InspectorController::InspectorController):
531         (WebCore::InspectorController::~InspectorController):
532         (WebCore::InspectorController::handleMousePress):
533         (WebCore::InspectorController::didClearWindowObjectInWorld):
534         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
535         * inspector/InspectorController.h:
536         * inspector/InspectorDOMAgent.h:
537         * inspector/InspectorDOMStorageAgent.h:
538         * inspector/InspectorDatabaseAgent.cpp:
539         * inspector/InspectorDatabaseAgent.h:
540         * inspector/InspectorFrontendHost.cpp:
541         * inspector/InspectorFrontendHost.h:
542         * inspector/InspectorInstrumentation.cpp:
543         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
544         (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
545         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
546         (WebCore::InspectorInstrumentation::handleMousePressImpl):
547         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl):
548         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl):
549         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
550         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
551         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
552         (WebCore::InspectorInstrumentation::consoleCountImpl):
553         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
554         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
555         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
556         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
557         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
558         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
559         (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
560         (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
561         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
562         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
563         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
564         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
565         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
566         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
567         * inspector/InspectorInstrumentation.h:
568         (WebCore::InspectorInstrumentation::inspectorControllerCreated):
569         (WebCore::InspectorInstrumentation::inspectorControllerDeleted):
570         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
571         (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
572         (WebCore::InspectorInstrumentation::willInsertDOMNode):
573         (WebCore::InspectorInstrumentation::didInsertDOMNode):
574         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
575         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
576         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
577         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
578         (WebCore::InspectorInstrumentation::handleMousePress):
579         (WebCore::InspectorInstrumentation::characterDataModified):
580         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
581         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
582         (WebCore::InspectorInstrumentation::didInstallTimer):
583         (WebCore::InspectorInstrumentation::didRemoveTimer):
584         (WebCore::InspectorInstrumentation::willCallFunction):
585         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
586         (WebCore::InspectorInstrumentation::willDispatchEvent):
587         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
588         (WebCore::InspectorInstrumentation::willEvaluateScript):
589         (WebCore::InspectorInstrumentation::willFireTimer):
590         (WebCore::InspectorInstrumentation::willLayout):
591         (WebCore::InspectorInstrumentation::willLoadXHR):
592         (WebCore::InspectorInstrumentation::willPaint):
593         (WebCore::InspectorInstrumentation::willRecalculateStyle):
594         (WebCore::InspectorInstrumentation::identifierForInitialRequest):
595         (WebCore::InspectorInstrumentation::willSendRequest):
596         (WebCore::InspectorInstrumentation::markResourceAsCached):
597         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
598         (WebCore::InspectorInstrumentation::willReceiveResourceData):
599         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
600         (WebCore::InspectorInstrumentation::didReceiveContentLength):
601         (WebCore::InspectorInstrumentation::didFinishLoading):
602         (WebCore::InspectorInstrumentation::didFailLoading):
603         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
604         (WebCore::InspectorInstrumentation::scriptImported):
605         (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent):
606         (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent):
607         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
608         (WebCore::InspectorInstrumentation::didCommitLoad):
609         (WebCore::InspectorInstrumentation::willWriteHTML):
610         (WebCore::InspectorInstrumentation::didOpenDatabase):
611         (WebCore::InspectorInstrumentation::didUseDOMStorage):
612         (WebCore::InspectorInstrumentation::didCreateWorker):
613         (WebCore::InspectorInstrumentation::didDestroyWorker):
614         (WebCore::InspectorInstrumentation::didCreateWebSocket):
615         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
616         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
617         (WebCore::InspectorInstrumentation::didCloseWebSocket):
618         (WebCore::InspectorInstrumentation::networkStateChanged):
619         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
620         (WebCore::InspectorInstrumentation::addMessageToConsole):
621         (WebCore::InspectorInstrumentation::consoleCount):
622         (WebCore::InspectorInstrumentation::startConsoleTiming):
623         (WebCore::InspectorInstrumentation::stopConsoleTiming):
624         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
625         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
626         (WebCore::InspectorInstrumentation::inspectorControllerForContext):
627         (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
628         (WebCore::InspectorInstrumentation::inspectorControllerForPage):
629         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext):
630         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument):
631         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame):
632         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
633         * inspector/InspectorState.cpp:
634         * loader/FrameLoader.cpp:
635         (WebCore::FrameLoader::detachFromParent):
636         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
637         (WebCore::FrameLoader::dispatchDidCommitLoad):
638         * page/Chrome.cpp:
639         (WebCore::Chrome::mouseDidMoveOverElement):
640         * page/Console.cpp:
641         (WebCore::Console::addMessage):
642         (WebCore::Console::count):
643         (WebCore::Console::markTimeline):
644         (WebCore::Console::profile):
645         (WebCore::Console::time):
646         (WebCore::Console::timeEnd):
647         (WebCore::Console::group):
648         (WebCore::Console::groupCollapsed):
649         (WebCore::Console::groupEnd):
650         * page/DOMWindow.cpp:
651         (WebCore::DOMWindow::sessionStorage):
652         (WebCore::DOMWindow::localStorage):
653         (WebCore::DOMWindow::dispatchLoadEvent):
654         * page/EventHandler.cpp:
655         (WebCore::EventHandler::handleMousePressEvent):
656         * page/Page.cpp:
657         (WebCore::Page::~Page):
658         * storage/Database.cpp:
659         (WebCore::Database::openDatabase):
660         * workers/AbstractWorker.cpp:
661         (WebCore::AbstractWorker::onDestroyWorker):
662         * workers/SharedWorker.cpp:
663         (WebCore::SharedWorker::create):
664         * workers/Worker.cpp:
665         (WebCore::Worker::create):
666         * workers/WorkerMessagingProxy.cpp:
667
668 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
669
670         Unreviewed, rolling out r75923.
671
672         GTK guy rolls out the r75914.
673
674         * platform/efl/ScrollViewEfl.cpp:
675         (WebCore::ScrollView::platformInit):
676
677 2011-01-17  Helder Correia  <helder@sencha.com>
678
679         Reviewed by Kenneth Rohde Christiansen.
680
681         [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
682         https://bugs.webkit.org/show_bug.cgi?id=52556
683
684         The shadow color opacity needs to be set on the shadow painter.
685         Additionally, the gradient brush should be transformed.
686
687         * platform/graphics/qt/GraphicsContextQt.cpp:
688         (WebCore::GraphicsContext::fillPath):
689
690 2011-01-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
691
692         Reviewed by Kenneth Rohde Christiansen.
693
694         [Qt] Background image rendering is slow
695         https://bugs.webkit.org/show_bug.cgi?id=50527
696
697         When tiling a scaled pixmap in Image::drawPattern, scale the tile
698         first and only then draw it to the target. Do so only when drawing
699         more than one tile.
700
701         Tests in fast/backgrounds/size cover this.
702
703         * platform/graphics/qt/ImageQt.cpp:
704         (WebCore::Image::drawPattern):
705
706 2011-01-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
707
708         Reviewed by Simon Hausmann.
709
710         [Qt] [Symbian] Fix building NPAPI support
711         https://bugs.webkit.org/show_bug.cgi?id=51981
712
713         Make sure that npapi.h is always included outside of the extern "C"
714         linkage declaration block.
715
716         No new tests as there is no new functionality.
717
718         * bridge/npruntime.h:
719
720 2011-01-17  Philippe Normand  <pnormand@igalia.com>
721
722         Unreviewed, rolling out r75914.
723         http://trac.webkit.org/changeset/75914
724         https://bugs.webkit.org/show_bug.cgi?id=49177
725
726         multiple crashes on GTK
727
728         * platform/ScrollView.cpp:
729         (WebCore::ScrollView::removeChild):
730         (WebCore::ScrollView::wheelEvent):
731         * platform/gtk/MainFrameScrollbarGtk.cpp:
732         (MainFrameScrollbarGtk::attachAdjustment):
733         (MainFrameScrollbarGtk::gtkValueChanged):
734         * platform/gtk/ScrollViewGtk.cpp:
735         (WebCore::ScrollView::platformInit):
736         (WebCore::ScrollView::platformAddChild):
737         (WebCore::ScrollView::platformRemoveChild):
738
739 2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
740
741         Unreviewed build fix.
742
743         Bug 49177's patch enabled platformInit() in super class(ScrollView).
744         But, it didn't removed the function in ScrollViewEfl.cpp.
745
746         * platform/efl/ScrollViewEfl.cpp:
747
748 2011-01-16  Dan Bernstein  <mitz@apple.com>
749
750         Reviewed by Sam Weinig.
751
752         <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView
753
754         Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
755         quad to a non-empty rect.
756
757         * rendering/RenderWidget.cpp:
758         (WebCore::RenderWidget::setWidget):
759         (WebCore::RenderWidget::updateWidgetPosition):
760
761 2011-01-16  Martin Robinson  <mrobinson@igalia.com>
762
763         Reviewed by Xan Lopez.
764
765         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
766         https://bugs.webkit.org/show_bug.cgi?id=49177
767
768         * platform/ScrollView.cpp: Move the platform guards around a little. GTK+
769         now shares the implementation of platformAddChild and platformRemoveChild,
770         but has its own implementation of removeChild, which knows how to inform
771         main frame scrollbars that they no longer control the WebCore scrollbar.
772         * platform/gtk/MainFrameScrollbarGtk.cpp:
773         (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment
774         that we already have, bail out early. Apply the value changed signal handler
775         after configuring the adjustment. We don't want our reset of the adjustment to
776         stomp on WebCore values.
777         (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore
778         state already matches ours. This prevents some unnecessary recursion
779         * platform/gtk/ScrollViewGtk.cpp:
780         (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars
781         which need their adjustments detached.
782
783 2011-01-13  Yuzo Fujishima  <yuzo@google.com>
784
785         Reviewed by Antti Koivisto.
786
787         Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
788         https://bugs.webkit.org/show_bug.cgi?id=52427
789
790         In constructor/destructor of CachedResourceLoader, m_cache has been
791         used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
792         while cache() is used everywhere else.
793
794         Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
795         Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.
796
797         No new tests because the behavior remains the same.
798
799         * loader/cache/CachedResourceLoader.cpp:
800         (WebCore::CachedResourceLoader::CachedResourceLoader):
801         (WebCore::CachedResourceLoader::~CachedResourceLoader):
802         * loader/cache/CachedResourceLoader.h:
803         * loader/cache/MemoryCache.cpp:
804         * loader/cache/MemoryCache.h:
805
806 2011-01-16  Adam Barth  <abarth@webkit.org>
807
808         Rubber-stamped by Eric Seidel.
809
810         Move WebKit into Source
811         https://bugs.webkit.org/show_bug.cgi?id=52530
812
813         * WebCore.gyp/WebCore.gyp:
814         * WebCore.pri:
815         * WebCore.pro:
816
817 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
818
819         Reviewed by Dan Bernstein.
820
821         frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
822         https://bugs.webkit.org/show_bug.cgi?id=52549
823
824         Fix regression from r75900; m_widget->setFrameRect() can run script that
825         clears m_widget, so null-check it before calling setBoundsSize().
826         
827         Tested by fast/replaced/frame-removed-during-resize.html
828
829         * rendering/RenderWidget.cpp:
830         (WebCore::RenderWidget::setWidgetGeometry):
831
832 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
833
834         Keep Leopard build happy.
835
836         * platform/mac/WidgetMac.mm:
837         (WebCore::Widget::setBoundsSize):
838
839 2011-01-16  Robert Hogan  <robert@webkit.org>
840
841         Reviewed by Andreas Kling.
842
843         [Qt] plugins/keyboard-events.html fails after r72717
844         https://bugs.webkit.org/show_bug.cgi?id=50050
845
846         * plugins/qt/PluginViewQt.cpp:
847         (WebCore::setXKeyEventSpecificFields): map event text to keycode
848
849 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
850
851         Reviewed by Dan Bernstein.
852
853         Issues with iframes and plugins when the WebView is scaled.
854         <rdar://problem/6213380>
855         
856         When _scaleWebView has been called on a WebView, iframes
857         in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
858         This is caused by AppKit NSViews not playing nicely with the scale
859         applied through style.
860         
861         Work around most of these issues by adjusting the bounds size
862         of widgets to allow iframe contents to paint with the correct scale,
863         and fix various places in the code where we relied on coordinate
864         transforms via NSViews (which ignore CSS transforms).
865
866         * WebCore.exp.in:
867         * platform/Widget.cpp:
868         (WebCore::Widget::setBoundsSize):
869         * platform/Widget.h:
870         * platform/mac/WidgetMac.mm:
871         (WebCore::Widget::setBoundsSize):
872         (WebCore::Widget::paint):
873         * rendering/RenderLayerCompositor.cpp:
874         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
875         * rendering/RenderWidget.cpp:
876         (WebCore::RenderWidget::setWidgetGeometry):
877         (WebCore::RenderWidget::setWidget):
878         (WebCore::RenderWidget::updateWidgetPosition):
879         * rendering/RenderWidget.h:
880
881 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
882
883         Reviewed by Dan Bernstein.
884
885         RenderView needs to take transforms on its layer into account
886         https://bugs.webkit.org/show_bug.cgi?id=52536
887         
888         The RenderView's coordinate mapping methods failed to
889         take into account a transform on the RenderView's layer.
890
891         No tests because it's not possible to get a transform
892         on the RenderView's layer through content.
893
894         * rendering/RenderView.cpp:
895         (WebCore::RenderView::mapLocalToContainer):
896         (WebCore::RenderView::mapAbsoluteToLocalPoint):
897
898 2011-01-15  Sheriff Bot  <webkit.review.bot@gmail.com>
899
900         Unreviewed, rolling out r75708.
901         http://trac.webkit.org/changeset/75708
902         https://bugs.webkit.org/show_bug.cgi?id=52521
903
904         Breaks Qt build if mobility is not installed. (Requested by
905         benjaminp on #webkit).
906
907         * WebCore.pro:
908         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
909         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
910         * platform/graphics/qt/MediaPlayerPrivateQt.h:
911         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
912
913 2011-01-15  David Kilzer  <ddkilzer@apple.com>
914
915         <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset
916
917         Reviewed by Adele Peterson.
918
919         The fix for Bug 50710 in r73799 introduced an off-by-one error
920         when copying nodes to a local NodeVector for processing.  A fix
921         was attempted for Bug 50854 in r73818, but instead of stopping
922         at the end offset, it iterates through all the sibling nodes
923         because the loop variable (i) is never incremented.  To clean
924         this up, revert back to the code in r73799 and fix the
925         off-by-one error.
926
927         Test: fast/dom/Range/range-clone-contents.html
928
929         * dom/Range.cpp:
930         (WebCore::Range::processContents): Fix the loop that copies
931         nodes to a local NodeVector by restoring the code from r73799
932         and fixing the off-by-one error.
933
934 2011-01-15  Adam Barth  <abarth@webkit.org>
935
936         Rubber-stamped by Eric Seidel.
937
938         Move WebKit2 into Source
939         https://bugs.webkit.org/show_bug.cgi?id=52438
940
941         * WebCore.pro:
942
943 2011-01-15  Joone Hur  <joone.hur@collabora.co.uk>
944
945         Reviewed by Martin Robinson.
946
947         [GTK] Linux build with FileSystem API enabled fails
948         https://bugs.webkit.org/show_bug.cgi?id=43878
949
950         This patch allows WebKitGtk+ to build with FileSystem API option.
951
952         No new tests because no new functionality.
953
954         * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
955         * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.
956
957 2011-01-14  Sam Magnuson  <smagnuso@gmail.com>
958
959         Reviewed by Kenneth Rohde Christiansen.
960
961         [Qt] Compile with QT_NO_GRAPHICSVIEW
962         https://bugs.webkit.org/show_bug.cgi?id=49750
963
964         * platform/graphics/qt/GraphicsLayerQt.cpp:
965         * platform/graphics/qt/GraphicsLayerQt.h:
966         * platform/qt/PlatformMouseEventQt.cpp:
967
968 2011-01-14  Tony Chang  <tony@chromium.org>
969
970         Reviewed by Alexey Proskuryakov.
971
972         Strip NUL character when copying text on Windows
973         https://bugs.webkit.org/show_bug.cgi?id=52236
974
975         Test: editing/pasteboard/copy-null-characters.html
976
977         * editing/Editor.cpp:
978         (WebCore::Editor::selectedText):
979         * platform/mac/PasteboardMac.mm:
980         (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms.
981
982 2011-01-14  Yuzo Fujishima  <yuzo@google.com>
983
984         Reviewed by Antti Koivisto.
985
986         Rename cache() to memoryCache()
987         https://bugs.webkit.org/show_bug.cgi?id=52433
988
989         No new tests because the behavior remains the same.
990
991         * WebCore.exp.in:
992         * WebCore.order:
993         * history/PageCache.cpp:
994         (WebCore::PageCache::releaseAutoreleasedPagesNow):
995         * inspector/InspectorResourceAgent.cpp:
996         (WebCore::InspectorResourceAgent::cachedResource):
997         * loader/FrameLoader.cpp:
998         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
999         * loader/archive/cf/LegacyWebArchive.cpp:
1000         (WebCore::LegacyWebArchive::create):
1001         * loader/cache/CachedImage.cpp:
1002         (WebCore::CachedImage::allClientsRemoved):
1003         (WebCore::CachedImage::data):
1004         * loader/cache/CachedResource.cpp:
1005         (WebCore::CachedResource::~CachedResource):
1006         (WebCore::CachedResource::addClientToSet):
1007         (WebCore::CachedResource::removeClient):
1008         (WebCore::CachedResource::setDecodedSize):
1009         (WebCore::CachedResource::setEncodedSize):
1010         (WebCore::CachedResource::didAccessDecodedData):
1011         * loader/cache/CachedResourceLoader.cpp:
1012         (WebCore::CachedResourceLoader::CachedResourceLoader):
1013         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1014         (WebCore::CachedResourceLoader::requestResource):
1015         (WebCore::CachedResourceLoader::revalidateResource):
1016         (WebCore::CachedResourceLoader::loadResource):
1017         (WebCore::CachedResourceLoader::clearPreloads):
1018         (WebCore::CachedResourceLoader::printPreloadStats):
1019         * loader/cache/CachedResourceRequest.cpp:
1020         (WebCore::CachedResourceRequest::load):
1021         (WebCore::CachedResourceRequest::didFail):
1022         (WebCore::CachedResourceRequest::didReceiveResponse):
1023         * loader/cache/MemoryCache.cpp:
1024         (WebCore::memoryCache):
1025         * loader/cache/MemoryCache.h:
1026
1027 2011-01-14  Dan Bernstein  <mitz@apple.com>
1028
1029         Reviewed by Simon Fraser.
1030
1031         WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
1032
1033         * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and
1034         RenderWidget::resumeWidgetHierarchyUpdates().
1035         * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added.
1036         * rendering/RenderWidget.cpp:
1037         (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates
1038         are disabled. When this assertion was added, this condition was a subset of the “calling out to
1039         plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this
1040         change now suspends widget hierarchy updates even at times where plug-in code is expected to be
1041         called, which invalidates the assertion.
1042
1043 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1044
1045         Unreviewed build fix.
1046
1047         Fix Qt build after r75837
1048         https://bugs.webkit.org/show_bug.cgi?id=52494
1049
1050         * rendering/style/StyleRareInheritedData.cpp:
1051         * rendering/style/StyleRareNonInheritedData.cpp:
1052
1053 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1054
1055         Unreviewed build fix.
1056
1057         Fix Qt build after r75837
1058         https://bugs.webkit.org/show_bug.cgi?id=52494
1059
1060         * rendering/style/RenderStyle.cpp:
1061
1062 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1063
1064         Unreviewed build fix.
1065
1066         Fix Qt build after r75837
1067         https://bugs.webkit.org/show_bug.cgi?id=52494
1068
1069         * editing/EditorCommand.cpp:
1070
1071 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1072
1073         Unreviewed build fix.
1074
1075         Fix Qt build after r75837
1076         https://bugs.webkit.org/show_bug.cgi?id=52494
1077
1078         * editing/ApplyStyleCommand.cpp:
1079
1080 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1081
1082         Unreviewed build fix.
1083
1084         Fix Qt build after r75837
1085         https://bugs.webkit.org/show_bug.cgi?id=52494
1086
1087         * css/CSSStyleSelector.cpp:
1088
1089 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1090
1091         Unreviewed build fix.
1092
1093         Fix Qt build after r75837
1094         https://bugs.webkit.org/show_bug.cgi?id=52494
1095
1096         * rendering/InlineFlowBox.h:
1097         * rendering/RenderBoxModelObject.h:
1098
1099 2011-01-14  Tony Gentilcore  <tonyg@chromium.org>
1100
1101         Reviewed by David Levin.
1102
1103         Do some forward declaration in RenderStyle.h
1104         https://bugs.webkit.org/show_bug.cgi?id=52453
1105
1106         No new tests because no new functionality.
1107
1108         * css/CSSComputedStyleDeclaration.cpp:
1109         * css/CSSStyleSelector.cpp:
1110         * editing/Editor.cpp:
1111         * page/EventHandler.cpp:
1112         * rendering/EllipsisBox.cpp:
1113         * rendering/InlineBox.cpp:
1114         * rendering/InlineTextBox.cpp:
1115         * rendering/RenderBlock.cpp:
1116         * rendering/RenderBlock.h:
1117         * rendering/RenderBox.cpp:
1118         * rendering/RenderBox.h:
1119         * rendering/RenderEmbeddedObject.cpp:
1120         * rendering/RenderFieldset.cpp:
1121         * rendering/RenderFileUploadControl.cpp:
1122         * rendering/RenderFrameSet.cpp:
1123         * rendering/RenderHTMLCanvas.cpp:
1124         * rendering/RenderImageResource.cpp:
1125         * rendering/RenderInputSpeech.cpp:
1126         * rendering/RenderLayer.h:
1127         * rendering/RenderLineBoxList.cpp:
1128         * rendering/RenderListBox.cpp:
1129         * rendering/RenderMediaControlsChromium.cpp:
1130         * rendering/RenderObject.cpp:
1131         * rendering/RenderObject.h:
1132         * rendering/RenderObjectChildList.cpp:
1133         * rendering/RenderProgress.cpp:
1134         * rendering/RenderScrollbarPart.cpp:
1135         * rendering/RenderTable.cpp:
1136         * rendering/RenderTable.h:
1137         * rendering/RenderTableCell.cpp:
1138         * rendering/RenderTableRow.cpp:
1139         * rendering/RenderTableSection.cpp:
1140         * rendering/RenderTheme.cpp:
1141         * rendering/RenderThemeChromiumSkia.cpp:
1142         * rendering/RenderThemeChromiumWin.cpp:
1143         * rendering/RootInlineBox.cpp:
1144         * rendering/style/RenderStyle.cpp:
1145         * rendering/style/RenderStyle.h:
1146         * rendering/style/StyleRareInheritedData.cpp:
1147
1148 2011-01-14  Ryosuke Niwa  <rniwa@webkit.org>
1149
1150         Reviewed by Eric Seidel.
1151
1152         Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp,
1153         BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp
1154         https://bugs.webkit.org/show_bug.cgi?id=52481
1155
1156         Removed instantiation of legacy editing positions.
1157         Calls to Position::Position are replaced by calls to Position's convenience functions.
1158         
1159         Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
1160         they instantiate right positions for text nodes.
1161
1162         * accessibility/AccessibilityRenderObject.cpp:
1163         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
1164         * dom/Element.cpp:
1165         (WebCore::Element::updateFocusAppearance):
1166         * editing/BreakBlockquoteCommand.cpp:
1167         (WebCore::BreakBlockquoteCommand::doApply):
1168         * editing/CompositeEditCommand.cpp:
1169         (WebCore::CompositeEditCommand::inputText):
1170         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
1171         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1172         (WebCore::CompositeEditCommand::moveParagraphs):
1173         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1174         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
1175         (WebCore::CompositeEditCommand::splitTreeToNode):
1176         * editing/DeleteButtonController.cpp:
1177         (WebCore::enclosingDeletableElement):
1178         * editing/htmlediting.h:
1179         (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of
1180         positionBeforeNode for a text node.
1181         (WebCore::lastPositionInOrAfterNode): Ditto.
1182
1183 2011-01-14  Helder Correia  <helder@sencha.com>
1184
1185         Reviewed by Simon Fraser.
1186
1187         Shadow is not drawn when filling a path with a gradient
1188         https://bugs.webkit.org/show_bug.cgi?id=51982
1189
1190         This happens in CG and is related to bug 51869, this time to be fixed
1191         in GraphicsContext::fillPath(const Path& path). We need to draw the
1192         gradient clipped to the path on a CGLayer first, and then draw the
1193         layer on the GraphicsContext.
1194
1195         Test: fast/canvas/canvas-fillPath-gradient-shadow.html
1196
1197         * platform/graphics/cg/GraphicsContextCG.cpp:
1198         (WebCore::GraphicsContext::fillPath):
1199
1200 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
1201
1202         Reviewed by Adam Roben.
1203
1204         Layer syncing should go through the compositor
1205         https://bugs.webkit.org/show_bug.cgi?id=52486
1206
1207         Rather than have FrameView go directly to GraphicsLayer to
1208         sync pending changes, route the call through RenderLayerCompositor.
1209         
1210         Add a FIXME about an existing issue with flushing and subframes.
1211         
1212         No behavior change, so no tests.
1213
1214         * page/FrameView.cpp:
1215         (WebCore::FrameView::syncCompositingStateForThisFrame):
1216         * rendering/RenderLayerBacking.cpp:
1217         (WebCore::RenderLayerBacking::notifySyncRequired):
1218         * rendering/RenderLayerCompositor.cpp:
1219         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
1220         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1221         * rendering/RenderLayerCompositor.h:
1222         (WebCore::RenderLayerCompositor::notifySyncRequired):
1223
1224 2011-01-14  Abhishek Arya  <inferno@chromium.org>
1225
1226         Reviewed by David Hyatt.
1227
1228         Fix parent block calculation when trying to find top most node
1229         containing "this" float.
1230         https://bugs.webkit.org/show_bug.cgi?id=51711
1231
1232         Replace use of containingBlock and traverse the parents directly
1233         to check for float existence. containingBlock can skip parents and
1234         jump to the RenderView directly which will cause floats to not get
1235         cleared from intermediate parents.
1236
1237         Test: fast/block/float/floats-not-cleared-crash.html
1238
1239         * rendering/RenderBox.cpp:
1240         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1241
1242 2011-01-14  Adam Klein  <adamk@chromium.org>
1243
1244         Reviewed by Darin Fisher.
1245
1246         [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
1247         https://bugs.webkit.org/show_bug.cgi?id=42237
1248
1249         Remove Chromium-specific implementation from WebCore.
1250
1251         No tests added; this refactor should be covered by existing history-exercising tests.
1252
1253         * WebCore.gyp/WebCore.gyp:
1254         * WebCore.gypi:
1255         * history/BackForwardListChromium.cpp: Removed.
1256         * history/BackForwardListImpl.h:
1257
1258 2011-01-12  Satish Sampath  <satish@chromium.org>
1259
1260         Reviewed by Dimitri Glazkov.
1261
1262         Fix a crash when accessing speech input from script.
1263         https://bugs.webkit.org/show_bug.cgi?id=52325
1264
1265         Test: fast/speech/speech-input-scripting.html
1266
1267         * html/HTMLInputElement.cpp:
1268         (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled.
1269         * rendering/RenderTextControlSingleLine.cpp: Remove unused code.
1270         * rendering/RenderTextControlSingleLine.h:
1271         * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after.
1272         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1273         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
1274         (WebCore::InputFieldSpeechButtonElement::detach):
1275
1276 2011-01-14  Abhishek Arya  <inferno@chromium.org>
1277
1278         Reviewed by David Hyatt.
1279
1280         Prevent merging of anonymous blocks if one of them is already getting
1281         destroyed.
1282         https://bugs.webkit.org/show_bug.cgi?id=52402
1283
1284         Test: fast/block/merge-anonymous-block-remove-child-crash2.html
1285
1286         * rendering/RenderBlock.cpp:
1287         (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false.
1288         (WebCore::RenderBlock::destroy): set m_beingDestroyed to true.
1289         (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed.
1290         (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling.
1291         * rendering/RenderBlock.h:
1292         (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed.
1293
1294 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1295
1296         Not reviewed. Follow up to r75791: fix missing dispatch.
1297         https://bugs.webkit.org/show_bug.cgi?id=52442
1298
1299         * inspector/front-end/DebuggerModel.js:
1300         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
1301
1302 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
1303
1304         Reviewed by Adam Roben.
1305
1306         Issues with contentsScale in GraphicsLayerCA
1307         https://bugs.webkit.org/show_bug.cgi?id=52463
1308
1309         Fix various issues with the recent contentsScale changes:
1310
1311         * platform/graphics/ca/GraphicsLayerCA.cpp:
1312         (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1.
1313         (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay()
1314         if the layer draws content, otherwise we'll create backing store for empty layers.
1315         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale
1316         on the new (tiled or untiled) layer.
1317         (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too.
1318
1319 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
1320
1321         Let Xcode have it's way with the project file.
1322
1323         * WebCore.xcodeproj/project.pbxproj:
1324
1325 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
1326
1327         Reviewed by Anders Carlsson.
1328
1329         Refactor some FrameView::syncCompositingState code
1330         https://bugs.webkit.org/show_bug.cgi?id=52459
1331
1332         Refactor some code in FrameView related to synchronizing
1333         compositing layer state.
1334         
1335         * page/FrameView.cpp:
1336         (WebCore::FrameView::syncCompositingStateForThisFrame):
1337         (WebCore::FrameView::syncCompositingStateRecursive):
1338         (WebCore::FrameView::paintContents):
1339         * page/FrameView.h:
1340
1341 2011-01-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1342
1343         Reviewed by Eric Seidel.
1344
1345         [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
1346         https://bugs.webkit.org/show_bug.cgi?id=30179
1347
1348         * plugins/symbian/PluginViewSymbian.cpp:
1349
1350 2011-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1351
1352         Reviewed by Martin Robinson.
1353
1354         [GTK] Add volume slider to media player
1355         https://bugs.webkit.org/show_bug.cgi?id=51532
1356
1357         * css/mediaControlsGtk.css:
1358         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1359         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1360         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1361         * platform/gtk/RenderThemeGtk.cpp:
1362         (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
1363         (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
1364         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
1365         (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
1366         * platform/gtk/RenderThemeGtk.h:
1367         * platform/gtk/RenderThemeGtk2.cpp:
1368         (WebCore::RenderThemeGtk::paintSliderTrack):
1369         (WebCore::RenderThemeGtk::paintSliderThumb):
1370         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1371         * platform/gtk/RenderThemeGtk3.cpp:
1372         (WebCore::RenderThemeGtk::paintSliderTrack):
1373         (WebCore::RenderThemeGtk::paintSliderThumb):
1374         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
1375
1376 2011-01-14  Joone Hur  <joone.hur@collabora.co.uk>
1377
1378         Reviewed by David Levin.
1379
1380         [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
1381         https://bugs.webkit.org/show_bug.cgi?id=52434
1382
1383         No new tests. This code will be tested when an implementation 
1384         of beginDragWithFiles is complete. 
1385
1386         * platform/gtk/FileSystemGtk.cpp:
1387         (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer.
1388         (WebCore::fileSystemRepresentation): Ditto.
1389         (WebCore::filenameForDisplay): Ditto.
1390         (WebCore::pathGetFileName): Ditto.
1391
1392 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
1393
1394         Reviewed by Yury Semikhatsky.
1395
1396         Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
1397         https://bugs.webkit.org/show_bug.cgi?id=52215
1398
1399         * inspector/front-end/Breakpoint.js:
1400         (WebInspector.Breakpoint):
1401         (WebInspector.Breakpoint.prototype.populateLabelElement):
1402         * inspector/front-end/Script.js:
1403         (WebInspector.Script.prototype.get linesCount):
1404         (WebInspector.Script.prototype.sourceLine):
1405         (WebInspector.Script.prototype.sourceLine.didRequestSource):
1406         (WebInspector.Script.prototype.set source):
1407         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
1408         (WebInspector.Script.prototype.requestSource):
1409         * inspector/front-end/ScriptView.js:
1410         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource):
1411         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
1412         * inspector/front-end/SourceFrame.js:
1413         (WebInspector.SourceFrame.prototype._addBreakpoint):
1414         * inspector/front-end/utilities.js:
1415         (String.prototype.findAll):
1416
1417 2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
1418
1419         Reviewed by Yury Semikhatsky.
1420
1421         Web Inspector: provide script column offset to frontend.
1422         https://bugs.webkit.org/show_bug.cgi?id=52377
1423
1424         * bindings/js/ScriptDebugServer.cpp:
1425         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1426         * bindings/js/ScriptSourceCode.h:
1427         (WebCore::ScriptSourceCode::ScriptSourceCode):
1428         * bindings/v8/DebuggerScript.js:
1429         ():
1430         * bindings/v8/ScriptDebugServer.cpp:
1431         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1432         * inspector/Inspector.idl:
1433         * inspector/InspectorDebuggerAgent.cpp:
1434         (WebCore::InspectorDebuggerAgent::didParseSource):
1435         * inspector/InspectorDebuggerAgent.h:
1436         * inspector/ScriptDebugListener.h:
1437         * inspector/front-end/DebuggerModel.js:
1438         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
1439         * inspector/front-end/Script.js:
1440         (WebInspector.Script):
1441
1442 2011-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
1443
1444         Unreviewed one line fix for console-xhr-logging test.
1445
1446         The problem was introduced at r75788.
1447
1448         * inspector/InspectorBrowserDebuggerAgent.cpp:
1449         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1450
1451 2011-01-13  Yury Semikhatsky  <yurys@chromium.org>
1452
1453         Reviewed by Pavel Feldman.
1454
1455         Web Inspector: extract console related functionality into InspectorConsoleAgent
1456         https://bugs.webkit.org/show_bug.cgi?id=52282
1457
1458         * CMakeLists.txt:
1459         * GNUmakefile.am:
1460         * WebCore.gypi:
1461         * WebCore.pro:
1462         * inspector/CodeGeneratorInspector.pm:
1463         * inspector/ConsoleMessage.cpp:
1464         (WebCore::ConsoleMessage::~ConsoleMessage):
1465         * inspector/ConsoleMessage.h:
1466         * inspector/Inspector.idl:
1467         * inspector/InspectorConsoleAgent.cpp: Added.
1468         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1469         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1470         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1471         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1472         (WebCore::InspectorConsoleAgent::reset):
1473         (WebCore::InspectorConsoleAgent::setFrontend):
1474         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1475         (WebCore::InspectorConsoleAgent::startTiming):
1476         (WebCore::InspectorConsoleAgent::stopTiming):
1477         (WebCore::InspectorConsoleAgent::count):
1478         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1479         (WebCore::InspectorConsoleAgent::didReceiveResponse):
1480         (WebCore::InspectorConsoleAgent::didFailLoading):
1481         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1482         * inspector/InspectorConsoleAgent.h: Added.
1483         * inspector/InspectorController.cpp:
1484         (WebCore::InspectorController::InspectorController):
1485         (WebCore::InspectorController::clearConsoleMessages):
1486         (WebCore::InspectorController::connectFrontend):
1487         (WebCore::InspectorController::disconnectFrontend):
1488         (WebCore::InspectorController::didCommitLoad):
1489         * inspector/InspectorController.h:
1490         (WebCore::InspectorController::consoleAgent):
1491         * inspector/InspectorInstrumentation.cpp:
1492         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1493         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
1494         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
1495         (WebCore::InspectorInstrumentation::addMessageToConsole):
1496         (WebCore::InspectorInstrumentation::count):
1497         (WebCore::InspectorInstrumentation::startTiming):
1498         (WebCore::InspectorInstrumentation::stopTiming):
1499         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
1500         * inspector/InspectorInstrumentation.h:
1501         * inspector/InspectorProfilerAgent.cpp:
1502         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
1503         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
1504         * inspector/front-end/ConsoleView.js:
1505         (WebInspector.ConsoleView):
1506         (WebInspector.ConsoleView.prototype.addConsoleMessage):
1507         (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount):
1508         (WebInspector.ConsoleView.prototype.consoleMessagesCleared):
1509         * inspector/front-end/inspector.js:
1510         * page/Console.cpp:
1511         (WebCore::Console::addMessage):
1512         (WebCore::Console::count):
1513         (WebCore::Console::profile):
1514         (WebCore::Console::time):
1515         (WebCore::Console::timeEnd):
1516         (WebCore::Console::group):
1517         (WebCore::Console::groupCollapsed):
1518         (WebCore::Console::groupEnd):
1519         * page/Console.h:
1520         * page/Console.idl:
1521
1522 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1523
1524         Reviewed by Yury Semikhatsky.
1525
1526         Web Inspector: do not use this as protocol message
1527         dispatcher in models / agents.
1528         https://bugs.webkit.org/show_bug.cgi?id=52442
1529
1530         Models should never for InspectorBackend.registerDomainDispatcher("foo", this).
1531         There should be a clear way to tell whether method is being called
1532         from within front-end or by the backend.
1533
1534         * inspector/front-end/DOMAgent.js:
1535         (WebInspector.DOMAgent):
1536         (WebInspector.DOMAgent.prototype.nodeForId):
1537         (WebInspector.DOMAgent.prototype._bindNodes):
1538         (WebInspector.DOMAgent.prototype._removeBreakpoints):
1539         (WebInspector.DOMDispatcher):
1540         (WebInspector.DOMDispatcher.prototype.setDocument):
1541         (WebInspector.DOMDispatcher.prototype.attributesUpdated):
1542         (WebInspector.DOMDispatcher.prototype.characterDataModified):
1543         (WebInspector.DOMDispatcher.prototype.setChildNodes):
1544         (WebInspector.DOMDispatcher.prototype.setDetachedRoot):
1545         (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
1546         (WebInspector.DOMDispatcher.prototype.childNodeInserted):
1547         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
1548         (WebInspector.DOMDispatcher.prototype.didCommitLoad):
1549         (WebInspector.ApplicationCacheDispatcher):
1550         (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync):
1551         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
1552         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
1553         * inspector/front-end/DOMStorage.js:
1554         (WebInspector.DOMStorageDispatcher):
1555         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
1556         (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage):
1557         (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage):
1558         * inspector/front-end/Database.js:
1559         (WebInspector.Database.prototype.executeSql):
1560         (WebInspector.DatabaseDispatcher):
1561         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
1562         (WebInspector.DatabaseDispatcher.prototype.selectDatabase):
1563         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
1564         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
1565         * inspector/front-end/DebuggerModel.js:
1566         (WebInspector.DebuggerModel):
1567         (WebInspector.DebuggerModel.prototype._pausedScript):
1568         (WebInspector.DebuggerModel.prototype._resumedScript):
1569         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1570         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
1571         (WebInspector.DebuggerDispatcher):
1572         (WebInspector.DebuggerDispatcher.prototype.pausedScript):
1573         (WebInspector.DebuggerDispatcher.prototype.resumedScript):
1574         (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
1575         (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource):
1576         * inspector/front-end/FileSystemView.js:
1577         (WebInspector.FileSystemDispatcher):
1578         (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync):
1579         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath):
1580         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError):
1581         (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled):
1582         * inspector/front-end/ProfilesPanel.js:
1583         (WebInspector.ProfilesPanel):
1584         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1585         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
1586         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
1587         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1588         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
1589         (WebInspector.ProfilerDispatcher):
1590         (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled):
1591         (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled):
1592         (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
1593         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
1594         (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk):
1595         (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot):
1596         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
1597         (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
1598         * inspector/front-end/ResourceTreeModel.js:
1599         (WebInspector.ResourceTreeModel):
1600         * inspector/front-end/TimelinePanel.js:
1601         (WebInspector.TimelinePanel):
1602         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted):
1603         (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped):
1604         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
1605         (WebInspector.TimelineDispatcher):
1606         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted):
1607         (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped):
1608         (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline):
1609
1610 2011-01-14  Csaba Osztrogonác  <ossy@webkit.org>
1611
1612         [Qt][V8] Unreviewed buildfix after r75788.
1613
1614         * inspector/InspectorBrowserDebuggerAgent.cpp:
1615
1616 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1617
1618         Reviewed by Yury Semikhatsky.
1619
1620         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
1621         We have some methods of Debugger which are related to DOM.
1622         Lets extract these methods to BrowserDebugger agent.
1623
1624         http://bugs.webkit.org/show_bug.cgi?id=52294
1625
1626         * CMakeLists.txt:
1627         * WebCore.gypi:
1628         * WebCore.pro:
1629         * WebCore.vcproj/WebCore.vcproj:
1630         * WebCore.xcodeproj/project.pbxproj:
1631         * inspector/CodeGeneratorInspector.pm:
1632         * inspector/Inspector.idl:
1633         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
1634         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1635         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1636         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1637         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1638         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1639         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1640         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1641         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1642         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1643         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1644         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1645         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1646         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1647         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1648         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1649         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1650         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
1651         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
1652         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1653         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
1654         * inspector/InspectorBrowserDebuggerAgent.h: Added.
1655         (WebCore::InspectorBrowserDebuggerAgent::create):
1656         * inspector/InspectorController.cpp:
1657         (WebCore::InspectorController::InspectorController):
1658         (WebCore::InspectorController::inspectedPageDestroyed):
1659         (WebCore::InspectorController::didCommitLoad):
1660         (WebCore::InspectorController::enableDebuggerFromFrontend):
1661         (WebCore::InspectorController::disableDebugger):
1662         (WebCore::InspectorController::restoreStickyBreakpoints):
1663         (WebCore::InspectorController::restoreStickyBreakpoint):
1664         * inspector/InspectorController.h:
1665         * inspector/InspectorDOMAgent.cpp:
1666         (WebCore::InspectorDOMAgent::discardBindings):
1667         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1668         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1669         * inspector/InspectorDOMAgent.h:
1670         * inspector/InspectorInstrumentation.cpp:
1671         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1672         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1673         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1674         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1675         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1676         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1677         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1678
1679 2011-01-14  Andrey Kosyakov  <caseq@chromium.org>
1680
1681         Reviewed by Pavel Feldman.
1682
1683         Web Inspector: redirected resources not handled properly in Network panel
1684         https://bugs.webkit.org/show_bug.cgi?id=52292
1685
1686         * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load)
1687         * inspector/InspectorInstrumentation.cpp: Ditto.
1688         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
1689         * inspector/InspectorResourceAgent.cpp: Ditto.
1690         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
1691         * inspector/InspectorResourceAgent.h: Ditto.
1692         * inspector/InspectorInstrumentation.cpp: Ditto.
1693         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection.
1694         * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map.
1695         * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource
1696         (WebInspector.ConsoleMessage.prototype._formatMessage):
1697         * inspector/front-end/ExtensionServer.js: Ditto.
1698         (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
1699         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1700         * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map
1701         (WebInspector.HARLog.prototype.build):
1702         (WebInspector.HARLog.prototype._convertResource):
1703         * inspector/front-end/NetworkManager.js:
1704         (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource.
1705         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
1706         (WebInspector.NetworkManager.prototype.willSendRequest):
1707         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
1708         (WebInspector.NetworkManager.prototype.setInitialContent):
1709         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
1710         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
1711         (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel
1712         (WebInspector.NetworkManager.prototype._appendRedirect):
1713         * inspector/front-end/NetworkPanel.js:
1714         (WebInspector.NetworkPanel):
1715         (WebInspector.NetworkPanel.prototype.get resources):
1716         (WebInspector.NetworkPanel.prototype.resourceById):
1717         (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added.
1718         (WebInspector.NetworkPanel.prototype.refreshResource): ditto.
1719         (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource.
1720         * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation.
1721         (WebInspector.ResourceTreeModel.prototype._clearResources):
1722         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
1723         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
1724         (WebInspector.ResourceTreeModel.prototype.createResource):
1725         * inspector/front-end/inspector.js:
1726         (WebInspector.resourceById):
1727
1728 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1729
1730         Unreviewed, rolling out r75783.
1731         http://trac.webkit.org/changeset/75783
1732         https://bugs.webkit.org/show_bug.cgi?id=52439
1733
1734         a bit strange but the same patch have broken mac builds at
1735         linking stage. (Requested by loislo2 on #webkit).
1736
1737         * CMakeLists.txt:
1738         * GNUmakefile.am:
1739         * WebCore.gypi:
1740         * WebCore.pro:
1741         * WebCore.vcproj/WebCore.vcproj:
1742         * WebCore.xcodeproj/project.pbxproj:
1743         * inspector/CodeGeneratorInspector.pm:
1744         * inspector/Inspector.idl:
1745         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
1746         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
1747         * inspector/InspectorController.cpp:
1748         (WebCore::InspectorController::InspectorController):
1749         (WebCore::InspectorController::inspectedPageDestroyed):
1750         (WebCore::InspectorController::didCommitLoad):
1751         (WebCore::InspectorController::enableDebuggerFromFrontend):
1752         (WebCore::InspectorController::disableDebugger):
1753         (WebCore::InspectorController::restoreStickyBreakpoints):
1754         (WebCore::InspectorController::restoreStickyBreakpoint):
1755         (WebCore::InspectorController::setEventListenerBreakpoint):
1756         (WebCore::InspectorController::removeEventListenerBreakpoint):
1757         (WebCore::InspectorController::hasEventListenerBreakpoint):
1758         (WebCore::InspectorController::setXHRBreakpoint):
1759         (WebCore::InspectorController::removeXHRBreakpoint):
1760         (WebCore::InspectorController::hasXHRBreakpoint):
1761         * inspector/InspectorController.h:
1762         * inspector/InspectorDOMAgent.cpp:
1763         (WebCore::InspectorDOMAgent::discardBindings):
1764         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
1765         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
1766         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
1767         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
1768         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
1769         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
1770         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1771         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1772         (WebCore::InspectorDOMAgent::hasBreakpoint):
1773         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
1774         * inspector/InspectorDOMAgent.h:
1775         * inspector/InspectorInstrumentation.cpp:
1776         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1777         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1778         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1779         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1780         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1781         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1782         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1783
1784 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1785
1786         Reviewed by Yury Semikhatsky.
1787
1788         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
1789         We have some methods of Debugger which are related to DOM.
1790         Lets extract these methods to BrowserDebugger agent.
1791
1792         http://bugs.webkit.org/show_bug.cgi?id=52294
1793
1794         * CMakeLists.txt:
1795         * WebCore.gypi:
1796         * WebCore.pro:
1797         * WebCore.vcproj/WebCore.vcproj:
1798         * WebCore.xcodeproj/project.pbxproj:
1799         * inspector/CodeGeneratorInspector.pm:
1800         * inspector/Inspector.idl:
1801         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
1802         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1803         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1804         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1805         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1806         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1807         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1808         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1809         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1810         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1811         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1812         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1813         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1814         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1815         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1816         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1817         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1818         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
1819         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
1820         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1821         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
1822         * inspector/InspectorBrowserDebuggerAgent.h: Added.
1823         (WebCore::InspectorBrowserDebuggerAgent::create):
1824         * inspector/InspectorController.cpp:
1825         (WebCore::InspectorController::InspectorController):
1826         (WebCore::InspectorController::inspectedPageDestroyed):
1827         (WebCore::InspectorController::didCommitLoad):
1828         (WebCore::InspectorController::enableDebuggerFromFrontend):
1829         (WebCore::InspectorController::disableDebugger):
1830         (WebCore::InspectorController::restoreStickyBreakpoints):
1831         (WebCore::InspectorController::restoreStickyBreakpoint):
1832         * inspector/InspectorController.h:
1833         * inspector/InspectorDOMAgent.cpp:
1834         (WebCore::InspectorDOMAgent::discardBindings):
1835         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1836         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1837         * inspector/InspectorDOMAgent.h:
1838         * inspector/InspectorInstrumentation.cpp:
1839         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1840         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1841         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1842         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1843         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1844         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1845         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1846
1847 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1848
1849         Not reviewed: build fix.
1850
1851         * WebCore.vcproj/WebCore.vcproj:
1852
1853 2011-01-14  Pavel Feldman  <pfeldman@chromium.org>
1854
1855         Reviewed by Yury Semikhatsky.
1856
1857         Web Inspector: extract InspectorSettings from InspectorState,
1858         simplify it.
1859         https://bugs.webkit.org/show_bug.cgi?id=52429
1860
1861         * CMakeLists.txt:
1862         * GNUmakefile.am:
1863         * WebCore.gypi:
1864         * WebCore.pro:
1865         * WebCore.xcodeproj/project.pbxproj:
1866         * inspector/InspectorClient.h:
1867         * inspector/InspectorController.cpp:
1868         (WebCore::InspectorController::InspectorController):
1869         (WebCore::InspectorController::inspectorStartsAttached):
1870         (WebCore::InspectorController::setInspectorStartsAttached):
1871         (WebCore::InspectorController::setInspectorAttachedHeight):
1872         (WebCore::InspectorController::inspectorAttachedHeight):
1873         (WebCore::InspectorController::setMonitoringXHREnabled):
1874         (WebCore::InspectorController::restoreDebugger):
1875         (WebCore::InspectorController::restoreProfiler):
1876         (WebCore::InspectorController::ensureSettingsLoaded):
1877         (WebCore::InspectorController::enableProfiler):
1878         (WebCore::InspectorController::disableProfiler):
1879         (WebCore::InspectorController::enableDebuggerFromFrontend):
1880         (WebCore::InspectorController::disableDebugger):
1881         * inspector/InspectorController.h:
1882         * inspector/InspectorSettings.cpp: Added.
1883         (WebCore::InspectorSettings::InspectorSettings):
1884         (WebCore::InspectorSettings::getBoolean):
1885         (WebCore::InspectorSettings::setBoolean):
1886         (WebCore::InspectorSettings::getLong):
1887         (WebCore::InspectorSettings::setLong):
1888         (WebCore::InspectorSettings::registerBoolean):
1889         (WebCore::InspectorSettings::registerLong):
1890         * inspector/InspectorSettings.h: Added.
1891         * inspector/InspectorState.cpp:
1892         (WebCore::InspectorState::InspectorState):
1893         (WebCore::InspectorState::setValue):
1894         (WebCore::InspectorState::setObject):
1895         (WebCore::InspectorState::registerBoolean):
1896         (WebCore::InspectorState::registerString):
1897         (WebCore::InspectorState::registerLong):
1898         (WebCore::InspectorState::registerObject):
1899         (WebCore::InspectorState::Property::create):
1900         * inspector/InspectorState.h:
1901         (WebCore::InspectorState::setBoolean):
1902         (WebCore::InspectorState::setString):
1903         (WebCore::InspectorState::setLong):
1904
1905 2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1906
1907         Unreviewed, rolling out r75774.
1908         http://trac.webkit.org/changeset/75774
1909         https://bugs.webkit.org/show_bug.cgi?id=52431
1910
1911         gtk builds were broken (Requested by loislo2 on #webkit).
1912
1913         * CMakeLists.txt:
1914         * WebCore.gypi:
1915         * WebCore.pro:
1916         * WebCore.vcproj/WebCore.vcproj:
1917         * WebCore.xcodeproj/project.pbxproj:
1918         * inspector/CodeGeneratorInspector.pm:
1919         * inspector/Inspector.idl:
1920         * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
1921         * inspector/InspectorBrowserDebuggerAgent.h: Removed.
1922         * inspector/InspectorController.cpp:
1923         (WebCore::InspectorController::InspectorController):
1924         (WebCore::InspectorController::inspectedPageDestroyed):
1925         (WebCore::InspectorController::didCommitLoad):
1926         (WebCore::InspectorController::enableDebuggerFromFrontend):
1927         (WebCore::InspectorController::disableDebugger):
1928         (WebCore::InspectorController::restoreStickyBreakpoints):
1929         (WebCore::InspectorController::restoreStickyBreakpoint):
1930         (WebCore::InspectorController::setEventListenerBreakpoint):
1931         (WebCore::InspectorController::removeEventListenerBreakpoint):
1932         (WebCore::InspectorController::hasEventListenerBreakpoint):
1933         (WebCore::InspectorController::setXHRBreakpoint):
1934         (WebCore::InspectorController::removeXHRBreakpoint):
1935         (WebCore::InspectorController::hasXHRBreakpoint):
1936         * inspector/InspectorController.h:
1937         * inspector/InspectorDOMAgent.cpp:
1938         (WebCore::InspectorDOMAgent::discardBindings):
1939         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
1940         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
1941         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
1942         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
1943         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
1944         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
1945         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1946         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1947         (WebCore::InspectorDOMAgent::hasBreakpoint):
1948         (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
1949         * inspector/InspectorDOMAgent.h:
1950         * inspector/InspectorInstrumentation.cpp:
1951         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1952         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1953         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1954         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1955         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1956         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1957         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1958
1959 2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
1960
1961         Reviewed by Yury Semikhatsky.
1962
1963         Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
1964         We have some methods of Debugger which are related to DOM.
1965         Lets extract these methods to BrowserDebugger agent.
1966
1967         http://bugs.webkit.org/show_bug.cgi?id=52294
1968
1969         * CMakeLists.txt:
1970         * WebCore.gypi:
1971         * WebCore.pro:
1972         * WebCore.vcproj/WebCore.vcproj:
1973         * WebCore.xcodeproj/project.pbxproj:
1974         * inspector/CodeGeneratorInspector.pm:
1975         * inspector/Inspector.idl:
1976         * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
1977         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1978         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1979         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
1980         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1981         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1982         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
1983         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
1984         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1985         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1986         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1987         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1988         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1989         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1990         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
1991         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
1992         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1993         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
1994         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
1995         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1996         (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
1997         * inspector/InspectorBrowserDebuggerAgent.h: Added.
1998         (WebCore::InspectorBrowserDebuggerAgent::create):
1999         * inspector/InspectorController.cpp:
2000         (WebCore::InspectorController::InspectorController):
2001         (WebCore::InspectorController::inspectedPageDestroyed):
2002         (WebCore::InspectorController::didCommitLoad):
2003         (WebCore::InspectorController::enableDebuggerFromFrontend):
2004         (WebCore::InspectorController::disableDebugger):
2005         (WebCore::InspectorController::restoreStickyBreakpoints):
2006         (WebCore::InspectorController::restoreStickyBreakpoint):
2007         * inspector/InspectorController.h:
2008         * inspector/InspectorDOMAgent.cpp:
2009         (WebCore::InspectorDOMAgent::discardBindings):
2010         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2011         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2012         * inspector/InspectorDOMAgent.h:
2013         * inspector/InspectorInstrumentation.cpp:
2014         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2015         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2016         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2017         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2018         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2019         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2020         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2021
2022 2011-01-13  Kent Tamura  <tkent@chromium.org>
2023
2024         Reviewed by Dimitri Glazkov.
2025
2026         Implement form validation message UI
2027         https://bugs.webkit.org/show_bug.cgi?id=48980
2028
2029         * Add four internal pseudo selectors:
2030           - -webkit-validation-bubble
2031           - -webkit-validation-bubble-message
2032           - -webkit-validation-bubble-top-outer-arrow
2033           - -webkit-validation-bubble-top-inner-arrow
2034
2035         * Implement ValidationMessage functions
2036           Show the message for <the number of characters> / 20.0 seconds.
2037
2038         No new tests because the feature is disabled by default for now and the
2039         new behavior is strongly timing-dependent.
2040
2041         * css/CSSStyleSelector.cpp:
2042         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2043           Do not share a style with elements with different shadowPseudoId().
2044         * css/html.css: Define appearance for the internal selectors.
2045         (::-webkit-validation-bubble):
2046         (::-webkit-validation-bubble-message):
2047         (::-webkit-validation-bubble-top-outer-arrow):
2048         (::-webkit-validation-bubble-top-inner-arrow):
2049         * dom/Node.cpp:
2050         (WebCore::Node::createRendererIfNeeded):
2051           Allow to add shadow renderers even if canHaveChildren() returns false.
2052         * html/HTMLFormControlElement.cpp:
2053         (WebCore::HTMLFormControlElement::detach):
2054           Remove m_validationMessage immediately because we can't use
2055           hideVisibleValidationMessage(), which calls a ValidationMessage function later.
2056         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
2057           - Don't create ValidationMessage if the message is empty.
2058           - Remove the check for message equality.
2059         (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
2060           Don't remove m_validationMessage immediately. We shouldn't make the
2061           element needsLayout() state in this context.
2062         * html/ValidationMessage.cpp:
2063         (WebCore::ValidationMessage::~ValidationMessage):
2064           hideMessage() -> deleteBubbleTree() renaming.
2065         (WebCore::ValidationMessage::setMessage): Implemented.
2066         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2067           Added. This updates the validation message and starts the timer to hide it.
2068         (WebCore::ElementWithPseudoId):
2069           Added to help implementations of styled shadow nodes.
2070         (WebCore::ValidationMessage::buildBubbleTree): Added.
2071         (WebCore::ValidationMessage::requestToHideMessage): Added.
2072         (WebCore::ValidationMessage::deleteBubbleTree):
2073           Renamed from hideMessage(), and implemented.
2074         * html/ValidationMessage.h: Add declarations.
2075
2076 2011-01-13  Dan Bernstein  <mitz@apple.com>
2077
2078         Reviewed by Alexey Proskuryakov.
2079
2080         <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL
2081         https://bugs.webkit.org/show_bug.cgi?id=52419
2082
2083         Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html
2084
2085         * loader/ResourceLoader.cpp:
2086         (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after
2087         willSendRequest(). Otherwise, willSendRequest() ends up calling into
2088         ThreadableDocumentRequest::willSendRequest(), which cancels the request.
2089
2090 2011-01-13  Dan Bernstein  <mitz@apple.com>
2091
2092         Reviewed by Mark Rowe.
2093
2094         Don’t try to compile InjectedScriptSource.js into WebCore.
2095
2096         * WebCore.xcodeproj/project.pbxproj:
2097
2098 2011-01-13  Mike Thole  <mthole@apple.com>
2099
2100         Reviewed by Darin Adler and Brady Eidson.
2101
2102         The pageScaleFactor() should be saved/restored along with the scroll position
2103         https://bugs.webkit.org/show_bug.cgi?id=52406
2104         <rdar://problem/8714412>
2105
2106         * history/HistoryItem.cpp:
2107         (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor.
2108         (WebCore::HistoryItem::pageScaleFactor): Added getter.
2109         (WebCore::HistoryItem::setPageScaleFactor): Added setter.
2110         (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor.
2111         (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor.
2112         * history/HistoryItem.h:
2113         * loader/HistoryController.cpp:
2114         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor...
2115         (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here.
2116
2117 2011-01-13  Evan Martin  <evan@chromium.org>
2118
2119         Reviewed by Tony Chang.
2120
2121         [chromium] drop backwards iteration in Linux complex text code
2122         https://bugs.webkit.org/show_bug.cgi?id=52403
2123
2124         ComplexTextController previously supported iterating through the text in
2125         both directions, but this resulted in duplicate code for each path.
2126         Instead, by being more careful about flipping signs where appropriate,
2127         we can refactor the code into one code path.
2128
2129         No tests, just a refactoring; should be covered by existing tests.
2130
2131         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2132         (WebCore::ComplexTextController::ComplexTextController):
2133         (WebCore::ComplexTextController::reset):
2134         (WebCore::ComplexTextController::nextScriptRun):
2135         * platform/graphics/chromium/ComplexTextControllerLinux.h:
2136         * platform/graphics/chromium/FontLinux.cpp:
2137         (WebCore::glyphIndexForXPositionInScriptRun):
2138         (WebCore::Font::selectionRectForComplexText):
2139
2140 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
2141
2142         Reviewed by Darin Adler.
2143
2144         Flip input[type=range] to use the new shadow DOM model.
2145         https://bugs.webkit.org/show_bug.cgi?id=52317
2146
2147         This is a straight-up flip, minimal change to the logic, which will be
2148         refactored in a follow-up patch.
2149
2150         Covered by existing tests.
2151
2152         * css/CSSStyleSelector.cpp:
2153         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
2154             host or parent node to find parent.
2155         * html/HTMLInputElement.cpp:
2156         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
2157             shadow DOM subtree.
2158         * html/InputType.cpp:
2159         (WebCore::InputType::createShadowSubtree): Added empty decl.
2160         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
2161             shadow subtree.
2162         * html/InputType.h: Added defs.
2163         * html/RangeInputType.cpp:
2164         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
2165             slider thumb.
2166         * html/RangeInputType.h: Adde def.
2167         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
2168             to handle cascading appearance.
2169         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
2170         (WebCore::RenderSliderThumb::layout): Moved here the logic from
2171             RenderSlider::createThumbStyle.
2172         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
2173             create RenderSliderThumb instance.
2174         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
2175             as base class.
2176         (WebCore::SliderThumbElement::detach): Ditto.
2177         * html/shadow/SliderThumbElement.h:
2178         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
2179         (WebCore::SliderThumbElement::create): Ditto.
2180         (WebCore::toSliderThumbElement): Added a casting helper.
2181         * rendering/MediaControlElements.cpp:
2182         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
2183             since the whole method is hand-rolled.
2184         (WebCore::MediaControlInputElement::updateStyle): Ditto.
2185         * rendering/RenderSlider.cpp:
2186         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
2187         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
2188         (WebCore::RenderSlider::layout): Ditto.
2189         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
2190             SliderThumbElement.
2191         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
2192         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
2193         (WebCore::RenderSlider::setValueForPosition): Ditto.
2194         (WebCore::RenderSlider::positionForOffset): Ditto.
2195         (WebCore::RenderSlider::currentPosition): Ditto.
2196         (WebCore::RenderSlider::trackSize): Ditto.
2197         (WebCore::RenderSlider::forwardEvent): Ditto.
2198         (WebCore::RenderSlider::inDragMode): Ditto.
2199         * rendering/RenderSlider.h: Added def.
2200
2201 2011-01-13  Adam Barth  <abarth@webkit.org>
2202
2203         Reviewed by Eric Seidel.
2204
2205         Rename RGBA32Buffer to ImageFrame
2206         https://bugs.webkit.org/show_bug.cgi?id=52363
2207
2208         RGBA32Buffer is a terrible misnomer.  ImageFrame is vastly
2209         more accurate.  More cleanup to come.
2210
2211         * WebCore.pro:
2212         * platform/graphics/ImageSource.cpp:
2213         (WebCore::ImageSource::createFrameAtIndex):
2214         (WebCore::ImageSource::frameDurationAtIndex):
2215         (WebCore::ImageSource::frameIsCompleteAtIndex):
2216         * platform/graphics/qt/ImageDecoderQt.cpp:
2217         (WebCore::ImageDecoderQt::frameBufferAtIndex):
2218         (WebCore::ImageDecoderQt::internalReadImage):
2219         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
2220         * platform/graphics/qt/ImageDecoderQt.h:
2221         * platform/graphics/wince/ImageWinCE.cpp:
2222         (WebCore::ImageFrame::asNewNativeImage):
2223         * platform/image-decoders/ImageDecoder.cpp:
2224         (WebCore::ImageFrame::ImageFrame):
2225         (WebCore::ImageFrame::operator=):
2226         (WebCore::ImageFrame::clear):
2227         (WebCore::ImageFrame::zeroFill):
2228         (WebCore::ImageFrame::copyReferenceToBitmapData):
2229         (WebCore::ImageFrame::copyBitmapData):
2230         (WebCore::ImageFrame::setSize):
2231         (WebCore::ImageFrame::hasAlpha):
2232         (WebCore::ImageFrame::setHasAlpha):
2233         (WebCore::ImageFrame::setColorProfile):
2234         (WebCore::ImageFrame::setStatus):
2235         (WebCore::ImageFrame::width):
2236         (WebCore::ImageFrame::height):
2237         * platform/image-decoders/ImageDecoder.h:
2238         (WebCore::ImageFrame::ImageFrame):
2239         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2240         (WebCore::BMPImageDecoder::frameBufferAtIndex):
2241         (WebCore::BMPImageDecoder::decode):
2242         * platform/image-decoders/bmp/BMPImageDecoder.h:
2243         * platform/image-decoders/bmp/BMPImageReader.cpp:
2244         (WebCore::BMPImageReader::decodeBMP):
2245         * platform/image-decoders/bmp/BMPImageReader.h:
2246         (WebCore::BMPImageReader::setBuffer):
2247         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
2248         (WebCore::ImageFrame::asNewNativeImage):
2249         * platform/image-decoders/cg/ImageDecoderCG.cpp:
2250         (WebCore::getPtrAsPixelData):
2251         (WebCore::ImageFrame::copyReferenceToBitmapData):
2252         (WebCore::ImageFrame::copyBitmapData):
2253         (WebCore::ImageFrame::setSize):
2254         (WebCore::ImageFrame::asNewNativeImage):
2255         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2256         (WebCore::GIFImageDecoder::frameBufferAtIndex):
2257         (WebCore::GIFImageDecoder::clearFrameBufferCache):
2258         (WebCore::GIFImageDecoder::haveDecodedRow):
2259         (WebCore::GIFImageDecoder::frameComplete):
2260         (WebCore::GIFImageDecoder::initFrameBuffer):
2261         * platform/image-decoders/gif/GIFImageDecoder.h:
2262         * platform/image-decoders/gif/GIFImageReader.cpp:
2263         (GIFImageReader::read):
2264         * platform/image-decoders/gif/GIFImageReader.h:
2265         (GIFFrameReader::GIFFrameReader):
2266         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
2267         (WebCore::ImageFrame::asNewNativeImage):
2268         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2269         (WebCore::ICOImageDecoder::frameBufferAtIndex):
2270         (WebCore::ICOImageDecoder::decode):
2271         * platform/image-decoders/ico/ICOImageDecoder.h:
2272         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2273         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
2274         (WebCore::JPEGImageDecoder::outputScanlines):
2275         (WebCore::JPEGImageDecoder::jpegComplete):
2276         (WebCore::JPEGImageDecoder::decode):
2277         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2278         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
2279         (WebCore::ImageFrame::asNewNativeImage):
2280         * platform/image-decoders/png/PNGImageDecoder.cpp:
2281         (WebCore::PNGImageDecoder::frameBufferAtIndex):
2282         (WebCore::PNGImageDecoder::rowAvailable):
2283         (WebCore::PNGImageDecoder::pngComplete):
2284         * platform/image-decoders/png/PNGImageDecoder.h:
2285         (WebCore::PNGImageDecoder::isComplete):
2286         * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp.
2287         (WebCore::ImageFrame::ImageFrame):
2288         (WebCore::ImageFrame::operator=):
2289         (WebCore::ImageFrame::clear):
2290         (WebCore::ImageFrame::zeroFill):
2291         (WebCore::ImageFrame::copyBitmapData):
2292         (WebCore::ImageFrame::setSize):
2293         (WebCore::ImageFrame::asNewNativeImage):
2294         (WebCore::ImageFrame::hasAlpha):
2295         (WebCore::ImageFrame::setHasAlpha):
2296         (WebCore::ImageFrame::setColorProfile):
2297         (WebCore::ImageFrame::setStatus):
2298         (WebCore::ImageFrame::setPixmap):
2299         (WebCore::ImageFrame::width):
2300         (WebCore::ImageFrame::height):
2301         * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed.
2302         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
2303         (WebCore::ImageFrame::ImageFrame):
2304         (WebCore::ImageFrame::operator=):
2305         (WebCore::ImageFrame::clear):
2306         (WebCore::ImageFrame::zeroFill):
2307         (WebCore::ImageFrame::copyBitmapData):
2308         (WebCore::ImageFrame::setSize):
2309         (WebCore::ImageFrame::asNewNativeImage):
2310         (WebCore::ImageFrame::hasAlpha):
2311         (WebCore::ImageFrame::setHasAlpha):
2312         (WebCore::ImageFrame::setColorProfile):
2313         (WebCore::ImageFrame::setStatus):
2314         (WebCore::ImageFrame::width):
2315         (WebCore::ImageFrame::height):
2316         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
2317         (WebCore::WEBPImageDecoder::frameBufferAtIndex):
2318         (WebCore::WEBPImageDecoder::decode):
2319         * platform/image-decoders/webp/WEBPImageDecoder.h:
2320         * platform/image-decoders/wx/ImageDecoderWx.cpp:
2321         (WebCore::ImageFrame::asNewNativeImage):
2322
2323 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
2324
2325         Reviewed by Darin Adler.
2326
2327         Transferring nodes between documents should be aware of the shadow DOM.
2328         https://bugs.webkit.org/show_bug.cgi?id=52399
2329
2330         No visible change in behavior at the moment.
2331
2332         Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following
2333         tests should no longer crash:
2334         * fast/css/pseudo-in-range-invalid-value.html
2335         * fast/css/pseudo-in-range.html
2336         * fast/forms/form-collection-elements.html
2337         * fast/forms/range-keyoperation.html
2338
2339         * dom/Document.cpp:
2340         (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively.
2341         * dom/Node.cpp:
2342         (WebCore::Node::setDocumentRecursively): Added new method, taking existing
2343             logic and adding shadow DOM traversal.
2344         (WebCore::Node::traverseNextNode): Style fix.
2345         (WebCore::Node::traverseNextSibling): Ditto.
2346         (WebCore::Node::traversePreviousNode): Ditto.
2347         (WebCore::Node::traversePreviousNodePostOrder): Ditto.
2348         (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively.
2349         (WebCore::Node::checkAddChild): Ditto.
2350         * dom/Node.h: Added def.
2351
2352 2011-01-12  Enrica Casucci  <enrica@apple.com>
2353
2354         Reviewed by Darin Adler.
2355
2356         WebKit2: Add support for drag and drop
2357         https://bugs.webkit.org/show_bug.cgi?id=52343
2358         <rdar://problem/7660558>
2359                
2360         This patch contains the changes required to support dropping content
2361         in WebKit on the Mac. The DragData class has been extended to provide
2362         additional context from the application (keyboard state, modal windows, etc.)
2363         as well as information of the drag pasteboard being used.
2364         The support for WebKit as drag source will be added with a separate patch.
2365
2366         * WebCore.exp.in:
2367         * page/DragController.cpp:
2368         (WebCore::DragController::dragIsMove): Added DragData parameter.
2369         (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove.
2370         (WebCore::DragController::concludeEditDrag): Same as above.
2371         * page/DragController.h: Added parameter to isCopyKeyDown.
2372         * page/mac/DragControllerMac.mm:
2373         The following methods have been modified to use the information stored
2374         in the DragData class.
2375         (WebCore::DragController::isCopyKeyDown):
2376         (WebCore::DragController::dragOperation):
2377         * platform/DragData.h:
2378         (WebCore::DragData::flags):
2379         * platform/DragData.cpp: Added default flags parameter to the constructor.
2380         * platform/mac/DragDataMac.mm:
2381         (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use.
2382         (WebCore::DragData::canSmartReplace):
2383         (WebCore::DragData::containsColor):
2384         (WebCore::DragData::containsFiles):
2385         (WebCore::DragData::asFilenames):
2386         (WebCore::DragData::containsPlainText):
2387         (WebCore::DragData::asPlainText):
2388         (WebCore::DragData::containsCompatibleContent):
2389         (WebCore::DragData::asURL):
2390         (WebCore::DragData::asFragment):
2391         All the following files have been modified to add the DragData
2392         parameter to isCopyKeyDown. I plan to improve this in the future
2393         and make isCopyKeyDown not platform specific.
2394         * page/android/DragControllerAndroid.cpp:
2395         (WebCore::DragController::isCopyKeyDown):
2396         * page/brew/DragControllerBrew.cpp:
2397         (WebCore::DragController::isCopyKeyDown):
2398         * page/chromium/DragControllerChromium.cpp:
2399         (WebCore::DragController::isCopyKeyDown):
2400         * page/efl/DragControllerEfl.cpp:
2401         (WebCore::DragController::isCopyKeyDown):
2402         * page/gtk/DragControllerGtk.cpp:
2403         (WebCore::DragController::isCopyKeyDown):
2404         * page/haiku/DragControllerHaiku.cpp:
2405         (WebCore::DragController::isCopyKeyDown):
2406         * page/mac/DragControllerMac.mm:
2407         (WebCore::DragController::isCopyKeyDown):
2408         (WebCore::DragController::dragOperation):
2409         * page/qt/DragControllerQt.cpp:
2410         (WebCore::DragController::isCopyKeyDown):
2411         * page/win/DragControllerWin.cpp:
2412         (WebCore::DragController::isCopyKeyDown):
2413         * page/wx/DragControllerWx.cpp:
2414         (WebCore::DragController::isCopyKeyDown):
2415
2416 2011-01-13  David Kilzer  <ddkilzer@apple.com>
2417
2418         Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project
2419
2420         Not reviewed.
2421
2422         * WebCore.xcodeproj/project.pbxproj: Add missing headers.  Note
2423         that the corresponding source files were originally added to the
2424         project in r48559.
2425
2426 2011-01-12  Zhenyao Mo  <zmo@google.com>
2427
2428         Reviewed by Kenneth Russell.
2429
2430         Use GC3D types in WebGLRenderingContext and related WebGL classes
2431         https://bugs.webkit.org/show_bug.cgi?id=51908
2432
2433         * html/canvas/WebGLActiveInfo.h:
2434         (WebCore::WebGLActiveInfo::create):
2435         (WebCore::WebGLActiveInfo::type):
2436         (WebCore::WebGLActiveInfo::size):
2437         (WebCore::WebGLActiveInfo::WebGLActiveInfo):
2438         * html/canvas/WebGLBuffer.cpp:
2439         (WebCore::WebGLBuffer::associateBufferDataImpl):
2440         (WebCore::WebGLBuffer::associateBufferData):
2441         (WebCore::WebGLBuffer::associateBufferSubDataImpl):
2442         (WebCore::WebGLBuffer::associateBufferSubData):
2443         (WebCore::WebGLBuffer::byteLength):
2444         (WebCore::WebGLBuffer::getCachedMaxIndex):
2445         (WebCore::WebGLBuffer::setCachedMaxIndex):
2446         (WebCore::WebGLBuffer::setTarget):
2447         * html/canvas/WebGLBuffer.h:
2448         (WebCore::WebGLBuffer::getTarget):
2449         * html/canvas/WebGLFramebuffer.cpp:
2450         (WebCore::WebGLFramebuffer::setAttachment):
2451         (WebCore::WebGLFramebuffer::getAttachment):
2452         (WebCore::WebGLFramebuffer::getWidth):
2453         (WebCore::WebGLFramebuffer::getHeight):
2454         (WebCore::WebGLFramebuffer::getColorBufferFormat):
2455         (WebCore::WebGLFramebuffer::initializeRenderbuffers):
2456         * html/canvas/WebGLFramebuffer.h:
2457         * html/canvas/WebGLProgram.cpp:
2458         (WebCore::WebGLProgram::cacheActiveAttribLocations):
2459         (WebCore::WebGLProgram::numActiveAttribLocations):
2460         (WebCore::WebGLProgram::getActiveAttribLocation):
2461         (WebCore::WebGLProgram::isUsingVertexAttrib0):
2462         * html/canvas/WebGLProgram.h:
2463         (WebCore::WebGLProgram::getLinkCount):
2464         * html/canvas/WebGLRenderbuffer.h:
2465         (WebCore::WebGLRenderbuffer::setInternalFormat):
2466         (WebCore::WebGLRenderbuffer::getInternalFormat):
2467         (WebCore::WebGLRenderbuffer::setSize):
2468         (WebCore::WebGLRenderbuffer::getWidth):
2469         (WebCore::WebGLRenderbuffer::getHeight):
2470         * html/canvas/WebGLRenderingContext.cpp:
2471         (WebCore::WebGLRenderingContext::initializeNewContext):
2472         (WebCore::WebGLRenderingContext::sizeInBytes):
2473         (WebCore::WebGLRenderingContext::activeTexture):
2474         (WebCore::WebGLRenderingContext::bindAttribLocation):
2475         (WebCore::WebGLRenderingContext::bindBuffer):
2476         (WebCore::WebGLRenderingContext::bindFramebuffer):
2477         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2478         (WebCore::WebGLRenderingContext::bindTexture):
2479         (WebCore::WebGLRenderingContext::blendColor):
2480         (WebCore::WebGLRenderingContext::blendEquation):
2481         (WebCore::WebGLRenderingContext::blendEquationSeparate):
2482         (WebCore::WebGLRenderingContext::blendFunc):
2483         (WebCore::WebGLRenderingContext::blendFuncSeparate):
2484         (WebCore::WebGLRenderingContext::bufferData):
2485         (WebCore::WebGLRenderingContext::bufferSubData):
2486         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
2487         (WebCore::WebGLRenderingContext::clear):
2488         (WebCore::WebGLRenderingContext::clearColor):
2489         (WebCore::WebGLRenderingContext::clearDepth):
2490         (WebCore::WebGLRenderingContext::clearStencil):
2491         (WebCore::WebGLRenderingContext::colorMask):
2492         (WebCore::WebGLRenderingContext::copyTexImage2D):
2493         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2494         (WebCore::WebGLRenderingContext::createShader):
2495         (WebCore::WebGLRenderingContext::cullFace):
2496         (WebCore::WebGLRenderingContext::deleteBuffer):
2497         (WebCore::WebGLRenderingContext::depthFunc):
2498         (WebCore::WebGLRenderingContext::depthMask):
2499         (WebCore::WebGLRenderingContext::depthRange):
2500         (WebCore::WebGLRenderingContext::disable):
2501         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2502         (WebCore::WebGLRenderingContext::validateElementArraySize):
2503         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
2504         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
2505         (WebCore::WebGLRenderingContext::validateRenderingState):
2506         (WebCore::WebGLRenderingContext::drawArrays):
2507         (WebCore::WebGLRenderingContext::drawElements):
2508         (WebCore::WebGLRenderingContext::enable):
2509         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2510         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2511         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2512         (WebCore::WebGLRenderingContext::frontFace):
2513         (WebCore::WebGLRenderingContext::generateMipmap):
2514         (WebCore::WebGLRenderingContext::getActiveAttrib):
2515         (WebCore::WebGLRenderingContext::getActiveUniform):
2516         (WebCore::WebGLRenderingContext::getAttachedShaders):
2517         (WebCore::WebGLRenderingContext::getAttribLocation):
2518         (WebCore::WebGLRenderingContext::getBufferParameter):
2519         (WebCore::WebGLRenderingContext::getError):
2520         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2521         (WebCore::WebGLRenderingContext::getParameter):
2522         (WebCore::WebGLRenderingContext::getProgramParameter):
2523         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2524         (WebCore::WebGLRenderingContext::getShaderParameter):
2525         (WebCore::WebGLRenderingContext::getTexParameter):
2526         (WebCore::WebGLRenderingContext::getUniform):
2527         (WebCore::WebGLRenderingContext::getUniformLocation):
2528         (WebCore::WebGLRenderingContext::getVertexAttrib):
2529         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
2530         (WebCore::WebGLRenderingContext::hint):
2531         (WebCore::WebGLRenderingContext::isBuffer):
2532         (WebCore::WebGLRenderingContext::isEnabled):
2533         (WebCore::WebGLRenderingContext::isFramebuffer):
2534         (WebCore::WebGLRenderingContext::isProgram):
2535         (WebCore::WebGLRenderingContext::isRenderbuffer):
2536         (WebCore::WebGLRenderingContext::isShader):
2537         (WebCore::WebGLRenderingContext::isTexture):
2538         (WebCore::WebGLRenderingContext::lineWidth):
2539         (WebCore::WebGLRenderingContext::linkProgram):
2540         (WebCore::WebGLRenderingContext::pixelStorei):
2541         (WebCore::WebGLRenderingContext::polygonOffset):
2542         (WebCore::WebGLRenderingContext::readPixels):
2543         (WebCore::WebGLRenderingContext::renderbufferStorage):
2544         (WebCore::WebGLRenderingContext::sampleCoverage):
2545         (WebCore::WebGLRenderingContext::scissor):
2546         (WebCore::WebGLRenderingContext::stencilFunc):
2547         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
2548         (WebCore::WebGLRenderingContext::stencilMask):
2549         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
2550         (WebCore::WebGLRenderingContext::stencilOp):
2551         (WebCore::WebGLRenderingContext::stencilOpSeparate):
2552         (WebCore::WebGLRenderingContext::texImage2DBase):
2553         (WebCore::WebGLRenderingContext::texImage2DImpl):
2554         (WebCore::WebGLRenderingContext::texImage2D):
2555         (WebCore::WebGLRenderingContext::texParameter):
2556         (WebCore::WebGLRenderingContext::texParameterf):
2557         (WebCore::WebGLRenderingContext::texParameteri):
2558         (WebCore::WebGLRenderingContext::texSubImage2DBase):
2559         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
2560         (WebCore::WebGLRenderingContext::texSubImage2D):
2561         (WebCore::WebGLRenderingContext::uniform1f):
2562         (WebCore::WebGLRenderingContext::uniform1fv):
2563         (WebCore::WebGLRenderingContext::uniform1i):
2564         (WebCore::WebGLRenderingContext::uniform1iv):
2565         (WebCore::WebGLRenderingContext::uniform2f):
2566         (WebCore::WebGLRenderingContext::uniform2fv):
2567         (WebCore::WebGLRenderingContext::uniform2i):
2568         (WebCore::WebGLRenderingContext::uniform2iv):
2569         (WebCore::WebGLRenderingContext::uniform3f):
2570         (WebCore::WebGLRenderingContext::uniform3fv):
2571         (WebCore::WebGLRenderingContext::uniform3i):
2572         (WebCore::WebGLRenderingContext::uniform3iv):
2573         (WebCore::WebGLRenderingContext::uniform4f):
2574         (WebCore::WebGLRenderingContext::uniform4fv):
2575         (WebCore::WebGLRenderingContext::uniform4i):
2576         (WebCore::WebGLRenderingContext::uniform4iv):
2577         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2578         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2579         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2580         (WebCore::WebGLRenderingContext::vertexAttrib1f):
2581         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
2582         (WebCore::WebGLRenderingContext::vertexAttrib2f):
2583         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
2584         (WebCore::WebGLRenderingContext::vertexAttrib3f):
2585         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
2586         (WebCore::WebGLRenderingContext::vertexAttrib4f):
2587         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
2588         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2589         (WebCore::WebGLRenderingContext::viewport):
2590         (WebCore::WebGLRenderingContext::getBooleanParameter):
2591         (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
2592         (WebCore::WebGLRenderingContext::getFloatParameter):
2593         (WebCore::WebGLRenderingContext::getIntParameter):
2594         (WebCore::WebGLRenderingContext::getLongParameter):
2595         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
2596         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
2597         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
2598         (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
2599         (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat):
2600         (WebCore::WebGLRenderingContext::validateTextureBinding):
2601         (WebCore::WebGLRenderingContext::validateSize):
2602         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
2603         (WebCore::WebGLRenderingContext::validateTexFuncLevel):
2604         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
2605         (WebCore::WebGLRenderingContext::validateTexFuncData):
2606         (WebCore::WebGLRenderingContext::validateDrawMode):
2607         (WebCore::WebGLRenderingContext::validateStencilFunc):
2608         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
2609         (WebCore::WebGLRenderingContext::validateBlendEquation):
2610         (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
2611         (WebCore::WebGLRenderingContext::validateCapability):
2612         (WebCore::WebGLRenderingContext::validateUniformParameters):
2613         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
2614         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
2615         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2616         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2617         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
2618         * html/canvas/WebGLRenderingContext.h:
2619         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
2620         * html/canvas/WebGLShader.cpp:
2621         (WebCore::WebGLShader::create):
2622         (WebCore::WebGLShader::WebGLShader):
2623         * html/canvas/WebGLShader.h:
2624         (WebCore::WebGLShader::getType):
2625         * html/canvas/WebGLTexture.cpp:
2626         (WebCore::WebGLTexture::setTarget):
2627         (WebCore::WebGLTexture::setParameteri):
2628         (WebCore::WebGLTexture::setParameterf):
2629         (WebCore::WebGLTexture::setLevelInfo):
2630         (WebCore::WebGLTexture::generateMipmapLevelInfo):
2631         (WebCore::WebGLTexture::getInternalFormat):
2632         (WebCore::WebGLTexture::getType):
2633         (WebCore::WebGLTexture::getWidth):
2634         (WebCore::WebGLTexture::getHeight):
2635         (WebCore::WebGLTexture::isNPOT):
2636         (WebCore::WebGLTexture::mapTargetToIndex):
2637         (WebCore::WebGLTexture::computeLevelCount):
2638         (WebCore::WebGLTexture::update):
2639         (WebCore::WebGLTexture::getLevelInfo):
2640         * html/canvas/WebGLTexture.h:
2641         (WebCore::WebGLTexture::LevelInfo::setInfo):
2642         * html/canvas/WebGLUniformLocation.cpp:
2643         (WebCore::WebGLUniformLocation::create):
2644         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
2645         (WebCore::WebGLUniformLocation::location):
2646         * html/canvas/WebGLUniformLocation.h:
2647         * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char.
2648
2649 2011-01-13  Jian Li  <jianli@chromium.org>
2650
2651         Reviewed by Darin Fisher.
2652
2653         Change createObjectURL and revokeObjectURL to put under webkitURL.
2654         https://bugs.webkit.org/show_bug.cgi?id=52257
2655
2656         Note that we add "webkit" vendor prefix to URL that is introduced in
2657         the latest File API spec.
2658
2659         For the time being, we implement webkitURL as a readonly attribute
2660         instead of a constructor so that we will not expose prototype property,
2661         as required by the spec.
2662
2663         * Android.derived.jscbindings.mk:
2664         * Android.derived.v8bindings.mk:
2665         * Android.mk:
2666         * CMakeLists.txt:
2667         * DerivedSources.cpp:
2668         * DerivedSources.make:
2669         * GNUmakefile.am:
2670         * WebCore.gypi:
2671         * WebCore.pri:
2672         * WebCore.pro:
2673         * WebCore.vcproj/WebCore.vcproj:
2674         * WebCore.xcodeproj/project.pbxproj:
2675         * html/DOMURL.cpp: Added.
2676         * html/DOMURL.h: Added.
2677         * html/DOMURL.idl: Added.
2678         * inspector/front-end/NetworkPanel.js:
2679         * inspector/front-end/utilities.js:
2680         * page/DOMWindow.cpp:
2681         (WebCore::DOMWindow::webkitURL):
2682         * page/DOMWindow.h:
2683         * page/DOMWindow.idl:
2684         * workers/WorkerContext.cpp:
2685         (WebCore::WorkerContext::webkitURL):
2686         * workers/WorkerContext.h:
2687         * workers/WorkerContext.idl:
2688
2689 2011-01-13  Emil Eklund  <eae@chromium.org>
2690
2691         Reviewed by Dimitri Glazkov.
2692
2693         Setting outerText should convert CR/LF to <br>
2694         https://bugs.webkit.org/show_bug.cgi?id=52268
2695
2696         Make set outerText support line breaks (sharing the text to fragment code
2697         with setInnerText) and handle empty text nodes the same way IE does.
2698
2699         Test: fast/dom/set-outer-text.html
2700
2701         * html/HTMLElement.cpp:
2702         (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText
2703         (WebCore::HTMLElement::setInnerText): Split out text parsing code.
2704         (WebCore::mergeWithNextTextNode): Split out text node merging code.
2705         (WebCore::HTMLElement::setOuterText): Added support for line breaks.
2706         * html/HTMLElement.h:
2707
2708 2011-01-13  Zhenyao Mo  <zmo@google.com>
2709
2710         Reviewed by Kenneth Russell.
2711
2712         Relax the ESSL valid charset a little bit to include " ' `
2713         https://bugs.webkit.org/show_bug.cgi?id=52396
2714
2715         * html/canvas/WebGLRenderingContext.cpp:
2716
2717 >>>>>>> .r75740
2718 2011-01-13  Adrienne Walker  <enne@google.com>
2719
2720         Reviewed by Kenneth Russell.
2721
2722         [chromium] Attempt to fix crash in tiled compositor memcpy
2723         https://bugs.webkit.org/show_bug.cgi?id=52379
2724
2725         * platform/graphics/chromium/LayerTilerChromium.cpp:
2726         (WebCore::LayerTilerChromium::update):
2727
2728 2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>
2729
2730         Unreviewed, rolling out r75725.
2731         http://trac.webkit.org/changeset/75725
2732         https://bugs.webkit.org/show_bug.cgi?id=52317
2733
2734         Caused crashes in layout tests.
2735
2736         * css/CSSStyleSelector.cpp:
2737         (WebCore::CSSStyleSelector::initForStyleResolve):
2738         * html/HTMLInputElement.cpp:
2739         (WebCore::HTMLInputElement::updateType):
2740         * html/InputType.cpp:
2741         * html/InputType.h:
2742         * html/RangeInputType.cpp:
2743         * html/RangeInputType.h:
2744         * html/shadow/SliderThumbElement.cpp:
2745         (WebCore::SliderThumbElement::defaultEventHandler):
2746         (WebCore::SliderThumbElement::detach):
2747         * html/shadow/SliderThumbElement.h:
2748         (WebCore::SliderThumbElement::SliderThumbElement):
2749         (WebCore::SliderThumbElement::create):
2750         * rendering/MediaControlElements.cpp:
2751         (WebCore::MediaControlInputElement::attach):
2752         (WebCore::MediaControlInputElement::updateStyle):
2753         * rendering/RenderSlider.cpp:
2754         (WebCore::RenderSlider::~RenderSlider):
2755         (WebCore::RenderSlider::styleDidChange):
2756         (WebCore::RenderSlider::createThumbStyle):
2757         (WebCore::RenderSlider::thumbRect):
2758         (WebCore::RenderSlider::layout):
2759         (WebCore::RenderSlider::updateFromElement):
2760         (WebCore::RenderSlider::mouseEventIsInThumb):
2761         (WebCore::RenderSlider::mouseEventOffsetToThumb):
2762         (WebCore::RenderSlider::setValueForPosition):
2763         (WebCore::RenderSlider::positionForOffset):
2764         (WebCore::RenderSlider::currentPosition):
2765         (WebCore::RenderSlider::trackSize):
2766         (WebCore::RenderSlider::forwardEvent):
2767         (WebCore::RenderSlider::inDragMode):
2768         * rendering/RenderSlider.h:
2769
2770 2011-01-12  Dimitri Glazkov  <dglazkov@chromium.org>
2771
2772         Reviewed by Darin Adler.
2773
2774         Flip input[type=range] to use the new shadow DOM model.
2775         https://bugs.webkit.org/show_bug.cgi?id=52317
2776
2777         This is a straight-up flip, minimal change to the logic, which will be
2778         refactored in a follow-up patch.
2779
2780         Covered by existing tests.
2781
2782         * css/CSSStyleSelector.cpp:
2783         (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
2784             host or parent node to find parent.
2785         * html/HTMLInputElement.cpp:
2786         (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
2787             shadow DOM subtree.
2788         * html/InputType.cpp:
2789         (WebCore::InputType::createShadowSubtree): Added empty decl.
2790         (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
2791             shadow subtree.
2792         * html/InputType.h: Added defs.
2793         * html/RangeInputType.cpp:
2794         (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
2795             slider thumb.
2796         * html/RangeInputType.h: Adde def.
2797         * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
2798             to handle cascading appearance.
2799         (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
2800         (WebCore::RenderSliderThumb::layout): Moved here the logic from
2801             RenderSlider::createThumbStyle.
2802         (WebCore::SliderThumbElement::createRenderer): Added virtual method to
2803             create RenderSliderThumb instance.
2804         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
2805             as base class.
2806         (WebCore::SliderThumbElement::detach): Ditto.
2807         * html/shadow/SliderThumbElement.h:
2808         (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
2809         (WebCore::SliderThumbElement::create): Ditto.
2810         (WebCore::toSliderThumbElement): Added a casting helper.
2811         * rendering/MediaControlElements.cpp:
2812         (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
2813             since the whole method is hand-rolled.
2814         (WebCore::MediaControlInputElement::updateStyle): Ditto.
2815         * rendering/RenderSlider.cpp:
2816         (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
2817         (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
2818         (WebCore::RenderSlider::layout): Ditto.
2819         (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
2820             SliderThumbElement.
2821         (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
2822         (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
2823         (WebCore::RenderSlider::setValueForPosition): Ditto.
2824         (WebCore::RenderSlider::positionForOffset): Ditto.
2825         (WebCore::RenderSlider::currentPosition): Ditto.
2826         (WebCore::RenderSlider::trackSize): Ditto.
2827         (WebCore::RenderSlider::forwardEvent): Ditto.
2828         (WebCore::RenderSlider::inDragMode): Ditto.
2829         * rendering/RenderSlider.h: Added def.
2830
2831 2011-01-13  Dan Bernstein  <mitz@apple.com>
2832
2833         Reviewed by Simon Fraser.
2834
2835         <rdar://problem/8098442> Crash in Widget::setFrameRect()
2836         https://bugs.webkit.org/show_bug.cgi?id=52375
2837
2838         Test: plugins/destroy-on-setwindow.html
2839
2840         * platform/mac/WidgetMac.mm:
2841         (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
2842         out to the view.
2843         (WebCore::Widget::getOuterView): Coding style fix.
2844         (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to
2845         the views. This is precautionary, since this function does not applear to access member variables
2846         after such calls.
2847         * platform/wx/WidgetWx.cpp:
2848         (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
2849         out to the platform widget.
2850
2851 2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
2852
2853         Unreviewed buildfix after r75715.
2854
2855         * WebCore.pri:
2856         * WebCore.pro:
2857
2858 2011-01-13  Pavel Feldman  <pfeldman@chromium.org>
2859
2860         Not reviewed: Qt build fix.
2861
2862         * WebCore.pri:
2863
2864 2011-01-12  Pavel Feldman  <pfeldman@chromium.org>
2865
2866         Reviewed by Yury Semikhatsky.
2867
2868         Web Inspector: embed injected script into the backend.
2869         https://bugs.webkit.org/show_bug.cgi?id=52312
2870
2871         InjectedScript belongs to the backend of the system and
2872         should be exposed by means of protocol, not InjectedScriptAccess.
2873         This patch makes injected script a part of the backend.
2874         It introduces single manual generation step (xxd -i) that should be
2875         automated by the build scripts for all the platforms.
2876
2877         * CMakeLists.txt:
2878         * DerivedSources.make:
2879         * GNUmakefile.am:
2880         * WebCore.gyp/WebCore.gyp:
2881         * WebCore.gypi:
2882         * WebCore.pro:
2883         * WebCore.vcproj/WebCore.vcproj:
2884         * WebCore.xcodeproj/project.pbxproj:
2885         * bindings/js/JSInjectedScriptHostCustom.cpp:
2886         (WebCore::InjectedScriptHost::injectedScriptFor):
2887         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2888         (WebCore::InjectedScriptHost::injectedScriptFor):
2889         * inspector/InjectedScriptHost.cpp:
2890         (WebCore::InjectedScriptHost::injectedScriptSource):
2891         * inspector/InjectedScriptHost.h:
2892         * inspector/Inspector.idl:
2893         * inspector/InspectorController.cpp:
2894         (WebCore::InspectorController::restoreInspectorStateFromCookie):
2895         * inspector/InspectorState.cpp:
2896         (WebCore::InspectorState::InspectorState):
2897         * inspector/InspectorState.h:
2898         * inspector/front-end/InjectedScript.js: Removed.
2899         * inspector/front-end/WebKit.qrc:
2900         * inspector/front-end/inspector.html:
2901         * inspector/front-end/inspector.js:
2902         (WebInspector.doLoadedDone.propertyNamesCallback):
2903         (WebInspector.doLoadedDone):
2904         * inspector/xxd.pl: Added.
2905
2906 2011-01-13  Mikhail Naganov  <mnaganov@chromium.org>
2907
2908         Reviewed by Timothy Hatcher.
2909
2910         Web Inspector: Cleanup after r75613 -- make all UI-facing strings
2911         to be passed directly to WebInspector.UIString
2912
2913         https://bugs.webkit.org/show_bug.cgi?id=52365
2914
2915         * English.lproj/localizedStrings.js:
2916         * inspector/front-end/ApplicationCacheItemsView.js:
2917         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
2918         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
2919         * inspector/front-end/AuditRules.js:
2920         (WebInspector.AuditRules.GzipRule.prototype.doRun):
2921         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
2922         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
2923         * inspector/front-end/BreakpointsSidebarPane.js:
2924         (WebInspector.EventListenerBreakpointsSidebarPane):
2925         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
2926         * inspector/front-end/CookieItemsView.js:
2927         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2928         * inspector/front-end/ImageView.js:
2929         (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
2930         (WebInspector.ImageView.prototype._createContentIfNeeded):
2931         * inspector/front-end/NetworkPanel.js:
2932         (WebInspector.NetworkTimeCalculator.prototype.formatValue):
2933         (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue):
2934         (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue):
2935         * inspector/front-end/ProfileDataGridTree.js:
2936         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
2937         (WebInspector.ProfileDataGridNode.prototype.get data):
2938         * inspector/front-end/Resource.js:
2939         (WebInspector.Resource.Type.toUIString):
2940         (WebInspector.Resource.Type.toString):
2941         * inspector/front-end/TimelineOverviewPane.js:
2942         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
2943         * inspector/front-end/TimelinePanel.js:
2944         (WebInspector.TimelinePanel):
2945         (WebInspector.TimelineCalculator.prototype.formatValue):
2946         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
2947         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2948         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2949         * inspector/front-end/utilities.js:
2950         ():
2951
2952 2011-01-13  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2953
2954         Reviewed by Simon Hausmann.
2955
2956         [Qt] Need a way to inform the application when a Netscape plugin is created.
2957         https://bugs.webkit.org/show_bug.cgi?id=30179
2958
2959         Added "c" style static method for the application to hook up for
2960         receiving notifications when a plugin is created.
2961
2962         * plugins/symbian/PluginViewSymbian.cpp:
2963         (qtwebkit_setPluginCreatedCallback):
2964         (WebCore::PluginView::platformStart):
2965
2966 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
2967
2968         Reviewed by Eric Seidel.
2969
2970         [Qt] Use a black background color for the video element on Qt Mobile
2971         https://bugs.webkit.org/show_bug.cgi?id=52252
2972
2973         Use black as the background color for the video element on Qt Mobile.
2974
2975         * css/themeQtMobile.css:
2976         (video):
2977
2978 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
2979
2980         Reviewed by Eric Seidel.
2981
2982         [Qt] Use a big central media play control button for video element 
2983         https://bugs.webkit.org/show_bug.cgi?id=52315
2984
2985         When ChromeClient::requiresFullscreenForVideoPlayback() returns true,
2986         all other control buttons for the video element are hidden, except 
2987         a big centralized play button.
2988
2989         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
2990
2991         * WebCore.pri:
2992         * css/mediaControlsQtFullscreen.css: Added.
2993         (audio):
2994         (audio::-webkit-media-controls-panel):
2995         (video::-webkit-media-controls-panel):
2996         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2997         (audio::-webkit-media-controls-mute-button):
2998         (video::-webkit-media-controls-mute-button):
2999         (audio::-webkit-media-controls-play-button):
3000         (video::-webkit-media-controls-play-button):
3001         (audio::-webkit-media-controls-timeline-container):
3002         (video::-webkit-media-controls-timeline-container):
3003         (audio::-webkit-media-controls-current-time-display):
3004         (video::-webkit-media-controls-current-time-display):
3005         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
3006         (audio::-webkit-media-controls-timeline):
3007         (video::-webkit-media-controls-timeline):
3008         (audio::-webkit-media-controls-volume-slider-container):
3009         (video::-webkit-media-controls-volume-slider-container):
3010         (audio::-webkit-media-controls-volume-slider):
3011         (video::-webkit-media-controls-volume-slider):
3012         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
3013         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
3014         (audio::-webkit-media-controls-fullscreen-button):
3015         (video::-webkit-media-controls-fullscreen-button):
3016         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
3017         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
3018         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
3019         * platform/qt/RenderThemeQt.cpp:
3020         (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
3021
3022 2011-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
3023
3024         Reviewed by Xan Lopez.
3025
3026         [GTK] Paint toggle buttons inconsistent when the object state is indeterminate
3027         https://bugs.webkit.org/show_bug.cgi?id=52361
3028
3029         Check whether the object state is indeterminate to set the flag
3030         GTK_STATE_FLAG_INCONSISTENT before rendering check and radio
3031         buttons.
3032
3033         * platform/gtk/RenderThemeGtk3.cpp:
3034         (WebCore::paintToggle):
3035
3036 2011-01-13  Yi Shen  <yi.4.shen@nokia.com>
3037
3038         Reviewed by Simon Hausmann.
3039
3040         [Qt] Extend the Platform Plugin to support full screen video handler
3041         https://bugs.webkit.org/show_bug.cgi?id=51249
3042
3043         Make MediaPlayerPrivateQt support a fullscreen player.
3044
3045         No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
3046         However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
3047         So, still skip it for Qt.
3048
3049         * WebCore.pro:
3050         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3051         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
3052         (WebCore::MediaPlayerPrivateQt::removeVideoItem):
3053         (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
3054         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3055         (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
3056         (WebCore::MediaPlayerPrivateQt::mediaPlayer):
3057
3058 2011-01-13  Dan Bernstein  <mitz@apple.com>
3059
3060         Reviewed by Dave Hyatt.
3061
3062         <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text
3063         https://bugs.webkit.org/show_bug.cgi?id=52359
3064
3065         Test: fast/ruby/text-emphasis.html
3066
3067         * css/html.css:
3068         (rt):
3069
3070 2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>
3071
3072         Rubber-stamped by David Levin.
3073
3074         Trivial fix after r75682.
3075
3076         * loader/FrameLoader.cpp: Remove accidentally committed debug code.
3077         (WebCore::FrameLoader::shouldClose):
3078
3079 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
3080
3081         Reviewed by Eric Seidel.
3082
3083         REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com)
3084         https://bugs.webkit.org/show_bug.cgi?id=52241
3085
3086         The bug was caused by RenderTextControl::selection's creating a Range with m_insertText
3087         which is a shadow DOM div as both start and end containers. Fixed the bug by traversing
3088         through the descendents of m_innerText and using the right start and end containers to
3089         create a Range.
3090
3091         Test: fast/forms/focus-change-on-keypress.html
3092
3093         * rendering/RenderTextControl.cpp:
3094         (WebCore::setContainerAndOffsetForRange): Added; a helper function.
3095         (WebCore::RenderTextControl::selection): See above.
3096
3097 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
3098
3099         Reviewed by Kent Tamura.
3100
3101         M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed.
3102         https://bugs.webkit.org/show_bug.cgi?id=51905
3103
3104         Calls unregisterFormElementWithFormAttribute() when 'form' attribute
3105         is removed.
3106
3107         Tests: fast/forms/form-associated-element-crash.html
3108                fast/forms/form-associated-element-crash2.html
3109
3110         * html/FormAssociatedElement.cpp:
3111         (WebCore::FormAssociatedElement::formAttributeChanged):
3112
3113 2011-01-12  Kenichi Ishibashi  <bashi@google.com>
3114
3115         Reviewed by Kent Tamura.
3116
3117         M_formElementsWithFormAttribute not cleared when Node is moved to another document.
3118         https://bugs.webkit.org/show_bug.cgi?id=51418
3119
3120         Calls unregisterFormElementWithFormAttribute() when form associated elements
3121         are moved to another document.
3122
3123         Test: fast/forms/change-form-element-document-crash.html
3124
3125         * html/FormAssociatedElement.cpp:
3126         (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added.
3127         * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument().
3128         * html/HTMLFormControlElement.cpp:
3129         (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added.
3130         * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument().
3131         * html/HTMLObjectElement.cpp:
3132         (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added.
3133         * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument().
3134         * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected.
3135
3136 2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>
3137
3138         Reviewed by Eric Seidel.
3139
3140         Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand
3141         https://bugs.webkit.org/show_bug.cgi?id=52250
3142
3143         Removed instantiation of legacy editing positions.
3144         Calls to Position::Position are replaced by calls to Position's convenience functions.
3145
3146         Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode,
3147         which are functions that return firstPositionInNode and lastPositionInNode respectively
3148         when the specified node can have children for editing purpose and return positionBeforeNode
3149         and positionAfterNode respectively otherwise. They can be used to guarantee that we never
3150         create a bogus position like [img, 0] or [br, 0].
3151
3152         No tests are added since this is a cleanup.
3153
3154         * editing/ApplyBlockElementCommand.cpp:
3155         (WebCore::ApplyBlockElementCommand::formatSelection):
3156         * editing/ApplyStyleCommand.cpp:
3157         (WebCore::ApplyStyleCommand::applyBlockStyle):
3158         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
3159         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
3160         (WebCore::ApplyStyleCommand::removeInlineStyle):
3161         (WebCore::ApplyStyleCommand::nodeFullySelected):
3162         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
3163         (WebCore::ApplyStyleCommand::splitTextAtStart):
3164         (WebCore::ApplyStyleCommand::splitTextAtEnd):
3165         (WebCore::ApplyStyleCommand::splitTextElementAtStart):
3166         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
3167         (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode):
3168         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
3169         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
3170         (WebCore::ApplyStyleCommand::computedFontSize):
3171         (WebCore::ApplyStyleCommand::joinChildTextNodes):
3172         * editing/ApplyStyleCommand.h:
3173         * editing/htmlediting.h:
3174         (WebCore::firstPositionInOrBeforeNode): Added.
3175         (WebCore::lastPositionInOrAfterNode): Added.
3176
3177 2011-01-12  Sam Weinig  <sam@webkit.org>
3178
3179         Another build fix.
3180
3181         * platform/mac/WheelEventMac.mm:
3182         (WebCore::phaseForEvent):
3183
3184 2011-01-12  Sam Weinig  <sam@webkit.org>
3185
3186         Fix build.
3187
3188         * platform/mac/WheelEventMac.mm:
3189         (WebCore::phaseForEvent):
3190
3191 2011-01-12  Adam Barth  <abarth@webkit.org>
3192
3193         Reviewed by Darin Adler.
3194
3195         Remove premature optimization from SchemeRegistry
3196         https://bugs.webkit.org/show_bug.cgi?id=52283
3197
3198         As far as I can tell, this optimization isn't necessary.  I'm slightly
3199         unsure which benchmarks to run to demonstrate this numerically, but
3200         none of the benchmarks Chromium tracks were affected by adding a
3201         similar check for "display-isolated" schemes.
3202
3203         * platform/SchemeRegistry.cpp:
3204         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
3205
3206 2011-01-12  Beth Dakin  <bdakin@apple.com>
3207
3208         Reviewed by Anders Carlsson.
3209
3210         Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 
3211         Expose fixed layout through WebKit SPI
3212         -and corresponding-
3213         <rdar://problem/8844464>
3214
3215         And now with getters!
3216         * WebCore.exp.in:
3217
3218 2011-01-12  Sam Weinig  <sam@webkit.org>
3219
3220         Reviewed by Anders Carlsson.
3221
3222         https://bugs.webkit.org/show_bug.cgi?id=52337
3223         PlatformWheelEvent should know about the scroll phase on the Mac
3224
3225         Add a phase parameter on Mac PlatformWheelEvents.
3226
3227         * platform/PlatformWheelEvent.h:
3228         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3229         (WebCore::PlatformWheelEvent::phase):
3230         * platform/mac/WheelEventMac.mm:
3231         (WebCore::phaseForEvent):
3232         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3233
3234 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3235
3236         Unreviewed.
3237
3238         A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321
3239         were omitted. 
3240
3241         * platform/graphics/ca/GraphicsLayerCA.cpp:
3242         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
3243
3244 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3245
3246         Unreviewed.
3247
3248         Getting rid of an assert that was causing build failures that turns out not to be needed.
3249
3250         * rendering/RenderLayer.cpp:
3251         (WebCore::RenderLayer::paintsWithTransform):
3252
3253 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3254
3255         Unreviewed.
3256
3257         Another fix for Gtk
3258
3259         * rendering/RenderLayer.cpp:
3260         (WebCore::RenderLayer::paintsWithTransform):
3261
3262 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3263
3264         Unreviewed.
3265
3266         Fix for Gtk and Windows builds
3267
3268         * page/Frame.cpp:
3269         (WebCore::Frame::scalePage):
3270         * page/Frame.h:
3271         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3272         (PlatformCALayer::contentsScale):
3273         (PlatformCALayer::setContentsScale):
3274
3275 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3276
3277         UNreviewed.
3278
3279         Fix for the Windows build
3280
3281         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3282         (contentsScale):
3283         (setContentsScale):
3284
3285 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3286
3287         Unreviewed.
3288
3289         Another build fix
3290
3291         * platform/graphics/ca/GraphicsLayerCA.cpp:
3292         (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
3293         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3294         (PlatformCALayer::setContentsScale):
3295
3296 2011-01-11  Matthew Delaney  <mdelaney@apple.com>
3297
3298         Reviewed by Simon Fraser.
3299
3300         Max area bound needed in creation of IOSurface in ImageBufferCG.cpp
3301         https://bugs.webkit.org/show_bug.cgi?id=52172
3302
3303         Tests: fast/canvas/canvas-large-dimensions.html
3304
3305         * platform/graphics/cg/ImageBufferCG.cpp:
3306         (WebCore::ImageBuffer::ImageBuffer):
3307
3308 2011-01-12  Daniel Bates  <dbates@rim.com>
3309             And Benjamin C Meyer  <bmeyer@rim.com>
3310
3311         Build fix when building with Inspector disabled
3312         https://bugs.webkit.org/show_bug.cgi?id=52313
3313
3314         After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not
3315         possible to build when the Inspector is disabled.
3316
3317         * inspector/InspectorInstrumentation.h:
3318         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building
3319         with Inspector disabled and Offline Web Applications enabled by moving macro guard condition
3320         ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also
3321         consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other
3322         InspectorInstrumentation functions.
3323         * loader/appcache/ApplicationCacheGroup.cpp:
3324         (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector
3325         disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable
3326         ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building
3327         with the Inspector.
3328         (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto.
3329         (WebCore::ApplicationCacheGroup::didFail): Ditto.
3330
3331 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3332
3333         Unreviewed.
3334
3335         Fix a build issue from http://trac.webkit.org/changeset/75639.
3336
3337         * platform/graphics/GraphicsLayer.h:
3338         (WebCore::GraphicsLayer::contentsScale):
3339         (WebCore::GraphicsLayer::setContentsScale):
3340
3341 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3342
3343         Reviewed by Kevin Decker.
3344
3345         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
3346         rdar://problem/8824974
3347
3348         This prevents the rootLayer (with the WebKit rendered content) from going becoming
3349         a tiled layer when zoomed, and when there is other layered content on the page.
3350         This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
3351         number of layers.
3352         
3353         * rendering/RenderLayer.cpp:
3354         (WebCore::RenderLayer::paintsWithTransform):
3355         * rendering/RenderLayer.h:
3356         * rendering/RenderLayerBacking.cpp:
3357         (WebCore::RenderLayerBacking::paintingGoesToWindow):
3358
3359 2011-01-12  Chris Marrin  <cmarrin@apple.com>
3360
3361         Reviewed by Simon Fraser.
3362         
3363         Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
3364         rdar://problem/8824974
3365
3366         When scaled, WebKit renders the page content at the scaled up size, so there are no
3367         scaling artifacts. But content drawn into a layer's backing store does not scale up.
3368         This is made worse by the fact that the root page contents become layered when there
3369         are other accelerated compositing layers present (video, plugins, etc.).
3370         
3371         Plumb scaling factor from Frame::scalePage() down into all layers with content. It
3372         eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions
3373         are scaled, causing them to render larger and appear pixel perfect at the scaled
3374         page size.
3375  
3376          * page/Frame.cpp:
3377          (WebCore::Frame::updateContentsScale):
3378          (WebCore::Frame::scalePage):
3379          * page/Frame.h:
3380          * platform/graphics/GraphicsLayer.h:
3381          * platform/graphics/ca/GraphicsLayerCA.cpp:
3382          (WebCore::GraphicsLayerCA::setContentsScale):
3383          (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
3384          * platform/graphics/ca/GraphicsLayerCA.h:
3385          (WebCore::GraphicsLayerCA::contentsScale):
3386          * platform/graphics/ca/PlatformCALayer.h:
3387          * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3388          (PlatformCALayer::contentsScale):
3389          (PlatformCALayer::setContentsScale):
3390          * rendering/RenderLayer.cpp:
3391          (WebCore::RenderLayer::updateContentsScale):
3392          * rendering/RenderLayer.h:
3393          * rendering/RenderLayerBacking.cpp:
3394          (WebCore::RenderLayerBacking::createGraphicsLayer):
3395          (WebCore::RenderLayerBacking::updateForegroundLayer):
3396          (WebCore::RenderLayerBacking::updateMaskLayer):
3397          (WebCore::RenderLayerBacking::updateContentsScale):
3398          * rendering/RenderLayerBacking.h:
3399          * rendering/RenderLayerCompositor.cpp:
3400          (WebCore::RenderLayerCompositor::updateContentsScale):
3401          * rendering/RenderLayerCompositor.h:
3402  
3403 2011-01-12  Stephen White  <senorblanco@chromium.org>
3404
3405         Reviewed by James Robinson.
3406
3407         Fix DrawingBuffer issues for depth/stencil, extensions, etc.
3408         https://bugs.webkit.org/show_bug.cgi?id=52310
3409
3410         1)  GL_TEXTURE is not a valid argument to glFramebufferTexture2D()
3411         (should be GL_TEXTURE_2D).
3412         2)  Support for the multisampling extension was being checked after
3413         the DrawingBuffer constructor was called, which calls multisample()
3414         to check for the extension.
3415         3)  If depth or stencil is set, the corresponding framebuffers must
3416         be created in the DrawingBuffer constructor.
3417         4)  GL_DEPTH_STENCIL is not a valid framebuffer internal type in
3418         GLES2.  Must use GL_OES_DEPTH24_STENCIL8, and check for the
3419         OES_packed_depth_stencil extension.
3420
3421         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3422         (WebCore::DrawingBuffer::DrawingBuffer):
3423         Record the extension support in the constructor.  Create all the
3424         secondary drawing buffers (for multisampling, depth/stencil).
3425         * platform/graphics/gpu/DrawingBuffer.cpp:
3426         (WebCore::DrawingBuffer::create):
3427         Check for the extensions before calling the DrawingBuffer constructor.
3428         (WebCore::DrawingBuffer::createSecondaryBuffers):
3429         Refactor creation of the secondary buffers from DrawingBufferMac.mm to
3430         here.
3431         (WebCore::DrawingBuffer::reset):
3432         Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL.  Use
3433         DEPTH_COMPONENT16, not DEPTH_COMPONENT.
3434         Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D).
3435         * platform/graphics/gpu/DrawingBuffer.h:
3436         Refactor createSecondaryBuffers().  Add extension support arguments to
3437         constructor.  Add support for packed_depth_stencil extension.
3438         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3439         (WebCore::DrawingBuffer::DrawingBuffer):
3440         Record extension support in constructor.  Refactor out creation of
3441         secondary buffers.
3442
3443 2011-01-12  Beth Dakin  <bdakin@apple.com>
3444
3445         Reviewed by Anders Carlsson.
3446
3447         Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
3448         fixed layout through WebKit SPI
3449         -and corresponding-
3450         <rdar://problem/8844464>
3451
3452         Export symbols for ScrollView::setUseFixedLayout() and 
3453         ScrollView::setFixedLayoutSize()
3454         * WebCore.exp.in:
3455
3456 2011-01-12  Robert Hogan  <robert@webkit.org>
3457
3458         Reviewed by Kenneth Rohde Christiansen.
3459
3460         [Qt] Search input field doesn't have cancel button
3461
3462         Add a cancel button to the search field and make it customizable
3463         by the client. For now, use the close dialog button associated
3464         with the application's style as the default.
3465
3466         Unskip a bunch of search field related tests that pass now:
<